From 99e9a1aebfc19ab6db1290fb95c4cd715ec4917d Mon Sep 17 00:00:00 2001 From: David Gageot Date: Sat, 22 Nov 2025 09:29:14 +0100 Subject: [PATCH] Make it easier to bump the schema version Signed-off-by: David Gageot --- examples/golibrary/builtintool/main.go | 2 +- examples/golibrary/multi/main.go | 2 +- examples/golibrary/simple/main.go | 2 +- examples/golibrary/stream/main.go | 2 +- examples/golibrary/tool/main.go | 2 +- pkg/acp/registry.go | 2 +- pkg/agentfile/resolver_test.go | 3 +- pkg/api/types.go | 2 +- pkg/config/auto.go | 2 +- pkg/config/config.go | 59 ++++--------------- pkg/config/config_test.go | 2 +- pkg/config/examples_test.go | 2 +- pkg/config/gather.go | 2 +- pkg/config/latest/parse.go | 9 +++ pkg/config/{v3 => latest}/types.go | 2 +- pkg/config/{v3 => latest}/types_test.go | 2 +- pkg/config/latest/upgrade.go | 17 ++++++ pkg/config/{v3 => latest}/validate.go | 2 +- pkg/config/overrides.go | 2 +- pkg/config/v0/parse.go | 9 +++ pkg/config/v0/upgrade.go | 5 ++ pkg/config/v1/parse.go | 9 +++ pkg/config/v1/upgrade.go | 9 ++- pkg/config/v2/parse.go | 9 +++ pkg/config/v2/upgrade.go | 9 ++- pkg/config/v3/upgrade.go | 12 ---- pkg/config/versions.go | 28 +++++++++ pkg/creator/agent.go | 2 +- pkg/model/provider/anthropic/client.go | 2 +- pkg/model/provider/base/base.go | 2 +- pkg/model/provider/dmr/client.go | 2 +- pkg/model/provider/dmr/client_test.go | 2 +- pkg/model/provider/gemini/client.go | 2 +- pkg/model/provider/openai/client.go | 2 +- .../provider/openai/thinking_budget_test.go | 2 +- pkg/model/provider/options/options.go | 2 +- pkg/model/provider/provider.go | 2 +- pkg/oci/package.go | 2 +- pkg/rag/builder.go | 2 +- pkg/rag/strategy/bm25.go | 2 +- pkg/rag/strategy/chunked_embeddings.go | 2 +- pkg/rag/strategy/helpers.go | 2 +- pkg/rag/strategy/strategy.go | 2 +- pkg/runtime/client.go | 2 +- pkg/runtime/remote_runtime.go | 2 +- pkg/server/server.go | 2 +- pkg/server/server_test.go | 2 +- pkg/teamloader/registry.go | 2 +- pkg/teamloader/teamloader.go | 2 +- pkg/teamloader/teamloader_test.go | 2 +- pkg/tools/builtin/api.go | 2 +- pkg/tools/builtin/api_test.go | 2 +- pkg/tools/builtin/script_shell.go | 2 +- pkg/tools/builtin/script_shell_test.go | 2 +- 54 files changed, 155 insertions(+), 107 deletions(-) create mode 100644 pkg/config/latest/parse.go rename pkg/config/{v3 => latest}/types.go (99%) rename pkg/config/{v3 => latest}/types_test.go (97%) create mode 100644 pkg/config/latest/upgrade.go rename pkg/config/{v3 => latest}/validate.go (99%) create mode 100644 pkg/config/v0/parse.go create mode 100644 pkg/config/v0/upgrade.go create mode 100644 pkg/config/v1/parse.go create mode 100644 pkg/config/v2/parse.go delete mode 100644 pkg/config/v3/upgrade.go create mode 100644 pkg/config/versions.go diff --git a/examples/golibrary/builtintool/main.go b/examples/golibrary/builtintool/main.go index be7f37bbb..8c1ca3240 100644 --- a/examples/golibrary/builtintool/main.go +++ b/examples/golibrary/builtintool/main.go @@ -9,7 +9,7 @@ import ( "syscall" "github.com/docker/cagent/pkg/agent" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider/openai" "github.com/docker/cagent/pkg/runtime" diff --git a/examples/golibrary/multi/main.go b/examples/golibrary/multi/main.go index 1d1ed61dd..08196ec96 100644 --- a/examples/golibrary/multi/main.go +++ b/examples/golibrary/multi/main.go @@ -8,7 +8,7 @@ import ( "syscall" "github.com/docker/cagent/pkg/agent" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider/openai" "github.com/docker/cagent/pkg/runtime" diff --git a/examples/golibrary/simple/main.go b/examples/golibrary/simple/main.go index bab04b181..8608325cd 100644 --- a/examples/golibrary/simple/main.go +++ b/examples/golibrary/simple/main.go @@ -8,7 +8,7 @@ import ( "syscall" "github.com/docker/cagent/pkg/agent" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider/openai" "github.com/docker/cagent/pkg/runtime" diff --git a/examples/golibrary/stream/main.go b/examples/golibrary/stream/main.go index 3099458bc..1d54d26a3 100644 --- a/examples/golibrary/stream/main.go +++ b/examples/golibrary/stream/main.go @@ -7,7 +7,7 @@ import ( "syscall" "github.com/docker/cagent/pkg/agent" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider/openai" "github.com/docker/cagent/pkg/runtime" diff --git a/examples/golibrary/tool/main.go b/examples/golibrary/tool/main.go index e39d82e7d..2ffa2a86f 100644 --- a/examples/golibrary/tool/main.go +++ b/examples/golibrary/tool/main.go @@ -9,7 +9,7 @@ import ( "syscall" "github.com/docker/cagent/pkg/agent" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider/openai" "github.com/docker/cagent/pkg/runtime" diff --git a/pkg/acp/registry.go b/pkg/acp/registry.go index dec6f6cb2..61501c1f1 100644 --- a/pkg/acp/registry.go +++ b/pkg/acp/registry.go @@ -5,7 +5,7 @@ import ( "os" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/teamloader" "github.com/docker/cagent/pkg/tools" ) diff --git a/pkg/agentfile/resolver_test.go b/pkg/agentfile/resolver_test.go index 2eda98e3e..538ac8d0d 100644 --- a/pkg/agentfile/resolver_test.go +++ b/pkg/agentfile/resolver_test.go @@ -13,6 +13,7 @@ import ( "github.com/docker/cagent/pkg/aliases" "github.com/docker/cagent/pkg/cli" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/content" "github.com/docker/cagent/pkg/oci" ) @@ -489,7 +490,7 @@ func TestResolveAgentFile_OCIRef_HasAVersion(t *testing.T) { storedContent, err := os.ReadFile(resolved) require.NoError(t, err) - assert.Equal(t, `version: "3" + assert.Equal(t, `version: "`+latest.Version+`" agents: root: model: auto diff --git a/pkg/api/types.go b/pkg/api/types.go index 1cf69b857..c3417952b 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -4,7 +4,7 @@ import ( "time" "github.com/docker/cagent/pkg/chat" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/session" ) diff --git a/pkg/config/auto.go b/pkg/config/auto.go index f05b69fe6..34a4675f5 100644 --- a/pkg/config/auto.go +++ b/pkg/config/auto.go @@ -3,7 +3,7 @@ package config import ( "context" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" ) diff --git a/pkg/config/config.go b/pkg/config/config.go index ce1891561..d68a9cf64 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -7,11 +7,7 @@ import ( "github.com/goccy/go-yaml" - v0 "github.com/docker/cagent/pkg/config/v0" - v1 "github.com/docker/cagent/pkg/config/v1" - v2 "github.com/docker/cagent/pkg/config/v2" - latest "github.com/docker/cagent/pkg/config/v3" //nolint:staticcheck // This is used everywhere we reference the latest version - v3 "github.com/docker/cagent/pkg/config/v3" //nolint:staticcheck // This is used for migrations to v3 + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/filesystem" ) @@ -76,57 +72,24 @@ func CheckRequiredEnvVars(ctx context.Context, cfg *latest.Config, modelsGateway } func parseCurrentVersion(data []byte, version string) (any, error) { - options := []yaml.DecodeOption{yaml.Strict()} - - switch version { - case v0.Version: - var cfg v0.Config - err := yaml.UnmarshalWithOptions(data, &cfg, options...) - return cfg, err - case v1.Version: - var cfg v1.Config - err := yaml.UnmarshalWithOptions(data, &cfg, options...) - return cfg, err - case v2.Version: - var cfg v2.Config - err := yaml.UnmarshalWithOptions(data, &cfg, options...) - return cfg, err - case v3.Version: - var cfg v3.Config - err := yaml.UnmarshalWithOptions(data, &cfg, options...) - return cfg, err - default: + parser, found := Parsers()[version] + if !found { return nil, fmt.Errorf("unsupported config version: %v", version) } + return parser(data) } func migrateToLatestConfig(c any) (latest.Config, error) { var err error - for { - if old, ok := c.(v0.Config); ok { - c, err = v1.UpgradeFrom(old) - if err != nil { - return latest.Config{}, err - } - continue - } - if old, ok := c.(v1.Config); ok { - c, err = v2.UpgradeFrom(old) - if err != nil { - return latest.Config{}, err - } - continue - } - if old, ok := c.(v2.Config); ok { - c, err = v3.UpgradeFrom(old) - if err != nil { - return latest.Config{}, err - } - continue - } - return c.(latest.Config), nil + for _, upgrade := range Upgrades() { + c, err = upgrade(c) + if err != nil { + return latest.Config{}, err + } } + + return c.(latest.Config), nil } func validateConfig(cfg *latest.Config) error { diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index cfd1d1073..2ded43fab 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" ) diff --git a/pkg/config/examples_test.go b/pkg/config/examples_test.go index b1c098ed8..5ac9e9b8f 100644 --- a/pkg/config/examples_test.go +++ b/pkg/config/examples_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/require" "github.com/xeipuuv/gojsonschema" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/filesystem" "github.com/docker/cagent/pkg/modelsdev" ) diff --git a/pkg/config/gather.go b/pkg/config/gather.go index ffe4a5dc6..0a337ae9a 100644 --- a/pkg/config/gather.go +++ b/pkg/config/gather.go @@ -7,7 +7,7 @@ import ( "sort" "strings" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/gateway" "github.com/docker/cagent/pkg/model/provider" diff --git a/pkg/config/latest/parse.go b/pkg/config/latest/parse.go new file mode 100644 index 000000000..2cc8559b9 --- /dev/null +++ b/pkg/config/latest/parse.go @@ -0,0 +1,9 @@ +package latest + +import "github.com/goccy/go-yaml" + +func Parse(data []byte) (Config, error) { + var cfg Config + err := yaml.UnmarshalWithOptions(data, &cfg, yaml.Strict()) + return cfg, err +} diff --git a/pkg/config/v3/types.go b/pkg/config/latest/types.go similarity index 99% rename from pkg/config/v3/types.go rename to pkg/config/latest/types.go index 65aad830e..ecc691cd6 100644 --- a/pkg/config/v3/types.go +++ b/pkg/config/latest/types.go @@ -1,4 +1,4 @@ -package v3 +package latest import ( "fmt" diff --git a/pkg/config/v3/types_test.go b/pkg/config/latest/types_test.go similarity index 97% rename from pkg/config/v3/types_test.go rename to pkg/config/latest/types_test.go index e61b073c0..c4b0c6b83 100644 --- a/pkg/config/v3/types_test.go +++ b/pkg/config/latest/types_test.go @@ -1,4 +1,4 @@ -package v3 +package latest import ( "testing" diff --git a/pkg/config/latest/upgrade.go b/pkg/config/latest/upgrade.go new file mode 100644 index 000000000..62fc4c297 --- /dev/null +++ b/pkg/config/latest/upgrade.go @@ -0,0 +1,17 @@ +package latest + +import ( + "github.com/docker/cagent/pkg/config/types" + previous "github.com/docker/cagent/pkg/config/v2" +) + +func UpgradeIfNeeded(c any) (any, error) { + old, ok := c.(previous.Config) + if !ok { + return c, nil + } + + var config Config + types.CloneThroughJSON(old, &config) + return config, nil +} diff --git a/pkg/config/v3/validate.go b/pkg/config/latest/validate.go similarity index 99% rename from pkg/config/v3/validate.go rename to pkg/config/latest/validate.go index 172e083a2..968b1a224 100644 --- a/pkg/config/v3/validate.go +++ b/pkg/config/latest/validate.go @@ -1,4 +1,4 @@ -package v3 +package latest import ( "errors" diff --git a/pkg/config/overrides.go b/pkg/config/overrides.go index 33f4c2ba4..ca9f10571 100644 --- a/pkg/config/overrides.go +++ b/pkg/config/overrides.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" ) // ApplyModelOverrides applies CLI model overrides to the configuration diff --git a/pkg/config/v0/parse.go b/pkg/config/v0/parse.go new file mode 100644 index 000000000..44ac4e45b --- /dev/null +++ b/pkg/config/v0/parse.go @@ -0,0 +1,9 @@ +package v0 + +import "github.com/goccy/go-yaml" + +func Parse(data []byte) (Config, error) { + var cfg Config + err := yaml.UnmarshalWithOptions(data, &cfg, yaml.Strict()) + return cfg, err +} diff --git a/pkg/config/v0/upgrade.go b/pkg/config/v0/upgrade.go new file mode 100644 index 000000000..e0a837e03 --- /dev/null +++ b/pkg/config/v0/upgrade.go @@ -0,0 +1,5 @@ +package v0 + +func UpgradeIfNeeded(old any) (any, error) { + return old, nil +} diff --git a/pkg/config/v1/parse.go b/pkg/config/v1/parse.go new file mode 100644 index 000000000..8a1374e88 --- /dev/null +++ b/pkg/config/v1/parse.go @@ -0,0 +1,9 @@ +package v1 + +import "github.com/goccy/go-yaml" + +func Parse(data []byte) (Config, error) { + var cfg Config + err := yaml.UnmarshalWithOptions(data, &cfg, yaml.Strict()) + return cfg, err +} diff --git a/pkg/config/v1/upgrade.go b/pkg/config/v1/upgrade.go index c2f843c71..7f7c8ee0b 100644 --- a/pkg/config/v1/upgrade.go +++ b/pkg/config/v1/upgrade.go @@ -2,10 +2,15 @@ package v1 import ( "github.com/docker/cagent/pkg/config/types" - v0 "github.com/docker/cagent/pkg/config/v0" + previous "github.com/docker/cagent/pkg/config/v0" ) -func UpgradeFrom(old v0.Config) (Config, error) { +func UpgradeIfNeeded(c any) (any, error) { + old, ok := c.(previous.Config) + if !ok { + return c, nil + } + var config Config types.CloneThroughJSON(old, &config) diff --git a/pkg/config/v2/parse.go b/pkg/config/v2/parse.go new file mode 100644 index 000000000..d7778fd1f --- /dev/null +++ b/pkg/config/v2/parse.go @@ -0,0 +1,9 @@ +package v2 + +import "github.com/goccy/go-yaml" + +func Parse(data []byte) (Config, error) { + var cfg Config + err := yaml.UnmarshalWithOptions(data, &cfg, yaml.Strict()) + return cfg, err +} diff --git a/pkg/config/v2/upgrade.go b/pkg/config/v2/upgrade.go index 5c3498654..b107c3579 100644 --- a/pkg/config/v2/upgrade.go +++ b/pkg/config/v2/upgrade.go @@ -4,10 +4,15 @@ import ( "errors" "github.com/docker/cagent/pkg/config/types" - v1 "github.com/docker/cagent/pkg/config/v1" + previous "github.com/docker/cagent/pkg/config/v1" ) -func UpgradeFrom(old v1.Config) (Config, error) { +func UpgradeIfNeeded(c any) (any, error) { + old, ok := c.(previous.Config) + if !ok { + return c, nil + } + if len(old.Env) > 0 { return Config{}, errors.New("top-level Env is not supported anymore") } diff --git a/pkg/config/v3/upgrade.go b/pkg/config/v3/upgrade.go deleted file mode 100644 index e62193915..000000000 --- a/pkg/config/v3/upgrade.go +++ /dev/null @@ -1,12 +0,0 @@ -package v3 - -import ( - "github.com/docker/cagent/pkg/config/types" - v2 "github.com/docker/cagent/pkg/config/v2" -) - -func UpgradeFrom(old v2.Config) (Config, error) { - var config Config - types.CloneThroughJSON(old, &config) - return config, nil -} diff --git a/pkg/config/versions.go b/pkg/config/versions.go new file mode 100644 index 000000000..b7df227a7 --- /dev/null +++ b/pkg/config/versions.go @@ -0,0 +1,28 @@ +package config + +import ( + "github.com/docker/cagent/pkg/config/latest" + v0 "github.com/docker/cagent/pkg/config/v0" + v1 "github.com/docker/cagent/pkg/config/v1" + v2 "github.com/docker/cagent/pkg/config/v2" +) + +func Parsers() map[string]func([]byte) (any, error) { + return map[string]func([]byte) (any, error){ + v0.Version: func(d []byte) (any, error) { return v0.Parse(d) }, + v1.Version: func(d []byte) (any, error) { return v1.Parse(d) }, + v2.Version: func(d []byte) (any, error) { return v2.Parse(d) }, + + latest.Version: func(d []byte) (any, error) { return latest.Parse(d) }, + } +} + +func Upgrades() []func(any) (any, error) { + return []func(any) (any, error){ + v0.UpgradeIfNeeded, + v1.UpgradeIfNeeded, + v2.UpgradeIfNeeded, + + latest.UpgradeIfNeeded, + } +} diff --git a/pkg/creator/agent.go b/pkg/creator/agent.go index 39d324792..a2bcc9dfa 100644 --- a/pkg/creator/agent.go +++ b/pkg/creator/agent.go @@ -12,7 +12,7 @@ import ( "github.com/docker/cagent/pkg/agent" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider/anthropic" "github.com/docker/cagent/pkg/model/provider/options" diff --git a/pkg/model/provider/anthropic/client.go b/pkg/model/provider/anthropic/client.go index 91277ecae..47cb49f08 100644 --- a/pkg/model/provider/anthropic/client.go +++ b/pkg/model/provider/anthropic/client.go @@ -14,7 +14,7 @@ import ( "github.com/anthropics/anthropic-sdk-go/packages/param" "github.com/docker/cagent/pkg/chat" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/httpclient" "github.com/docker/cagent/pkg/model/provider/base" diff --git a/pkg/model/provider/base/base.go b/pkg/model/provider/base/base.go index a7abd7c1c..cb9a7c288 100644 --- a/pkg/model/provider/base/base.go +++ b/pkg/model/provider/base/base.go @@ -1,7 +1,7 @@ package base import ( - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider/options" ) diff --git a/pkg/model/provider/dmr/client.go b/pkg/model/provider/dmr/client.go index c72c3b7dd..8137822a3 100644 --- a/pkg/model/provider/dmr/client.go +++ b/pkg/model/provider/dmr/client.go @@ -25,7 +25,7 @@ import ( "golang.org/x/term" "github.com/docker/cagent/pkg/chat" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/input" "github.com/docker/cagent/pkg/model/provider/base" "github.com/docker/cagent/pkg/model/provider/options" diff --git a/pkg/model/provider/dmr/client_test.go b/pkg/model/provider/dmr/client_test.go index 022ad47bf..198e9015d 100644 --- a/pkg/model/provider/dmr/client_test.go +++ b/pkg/model/provider/dmr/client_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" ) func TestNewClientWithExplicitBaseURL(t *testing.T) { diff --git a/pkg/model/provider/gemini/client.go b/pkg/model/provider/gemini/client.go index ab77db128..73c82d3c6 100644 --- a/pkg/model/provider/gemini/client.go +++ b/pkg/model/provider/gemini/client.go @@ -14,7 +14,7 @@ import ( "google.golang.org/genai" "github.com/docker/cagent/pkg/chat" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/httpclient" "github.com/docker/cagent/pkg/model/provider/base" diff --git a/pkg/model/provider/openai/client.go b/pkg/model/provider/openai/client.go index ba23946cd..262985ae0 100644 --- a/pkg/model/provider/openai/client.go +++ b/pkg/model/provider/openai/client.go @@ -16,7 +16,7 @@ import ( "github.com/openai/openai-go/v3/shared" "github.com/docker/cagent/pkg/chat" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/httpclient" "github.com/docker/cagent/pkg/model/provider/base" diff --git a/pkg/model/provider/openai/thinking_budget_test.go b/pkg/model/provider/openai/thinking_budget_test.go index 873ecd950..c19f01656 100644 --- a/pkg/model/provider/openai/thinking_budget_test.go +++ b/pkg/model/provider/openai/thinking_budget_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" ) func TestIsOpenAIReasoningModel(t *testing.T) { diff --git a/pkg/model/provider/options/options.go b/pkg/model/provider/options/options.go index 97d4a136e..73519165a 100644 --- a/pkg/model/provider/options/options.go +++ b/pkg/model/provider/options/options.go @@ -1,7 +1,7 @@ package options import ( - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" ) type ModelOptions struct { diff --git a/pkg/model/provider/provider.go b/pkg/model/provider/provider.go index aef1461c6..f69c1b10b 100644 --- a/pkg/model/provider/provider.go +++ b/pkg/model/provider/provider.go @@ -6,7 +6,7 @@ import ( "log/slog" "github.com/docker/cagent/pkg/chat" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider/anthropic" "github.com/docker/cagent/pkg/model/provider/base" diff --git a/pkg/oci/package.go b/pkg/oci/package.go index af12a6c88..dc59ef237 100644 --- a/pkg/oci/package.go +++ b/pkg/oci/package.go @@ -16,7 +16,7 @@ import ( "github.com/google/go-containerregistry/pkg/v1/types" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/content" "github.com/docker/cagent/pkg/path" "github.com/docker/cagent/pkg/version" diff --git a/pkg/rag/builder.go b/pkg/rag/builder.go index 6954fc389..d6f8ff77b 100644 --- a/pkg/rag/builder.go +++ b/pkg/rag/builder.go @@ -5,7 +5,7 @@ import ( "fmt" "log/slog" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/model/provider" "github.com/docker/cagent/pkg/rag/rerank" diff --git a/pkg/rag/strategy/bm25.go b/pkg/rag/strategy/bm25.go index 01de7f0fa..34feeae81 100644 --- a/pkg/rag/strategy/bm25.go +++ b/pkg/rag/strategy/bm25.go @@ -13,7 +13,7 @@ import ( "github.com/fsnotify/fsnotify" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/rag/chunk" "github.com/docker/cagent/pkg/rag/database" "github.com/docker/cagent/pkg/rag/types" diff --git a/pkg/rag/strategy/chunked_embeddings.go b/pkg/rag/strategy/chunked_embeddings.go index cdb727774..d1b17f867 100644 --- a/pkg/rag/strategy/chunked_embeddings.go +++ b/pkg/rag/strategy/chunked_embeddings.go @@ -12,7 +12,7 @@ import ( "github.com/fsnotify/fsnotify" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/model/provider" "github.com/docker/cagent/pkg/model/provider/options" "github.com/docker/cagent/pkg/modelsdev" diff --git a/pkg/rag/strategy/helpers.go b/pkg/rag/strategy/helpers.go index 2e19de5f8..56c9159f5 100644 --- a/pkg/rag/strategy/helpers.go +++ b/pkg/rag/strategy/helpers.go @@ -5,7 +5,7 @@ import ( "path/filepath" "strings" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/paths" "github.com/docker/cagent/pkg/rag/types" ) diff --git a/pkg/rag/strategy/strategy.go b/pkg/rag/strategy/strategy.go index 9d8121959..d1ca7cbec 100644 --- a/pkg/rag/strategy/strategy.go +++ b/pkg/rag/strategy/strategy.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/rag/types" ) diff --git a/pkg/runtime/client.go b/pkg/runtime/client.go index 6bb5173eb..6943da4b6 100644 --- a/pkg/runtime/client.go +++ b/pkg/runtime/client.go @@ -14,7 +14,7 @@ import ( "time" "github.com/docker/cagent/pkg/api" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/session" "github.com/docker/cagent/pkg/tools" ) diff --git a/pkg/runtime/remote_runtime.go b/pkg/runtime/remote_runtime.go index 0eaacd3c8..fe2cdd9e2 100644 --- a/pkg/runtime/remote_runtime.go +++ b/pkg/runtime/remote_runtime.go @@ -11,7 +11,7 @@ import ( "github.com/docker/cagent/pkg/api" "github.com/docker/cagent/pkg/chat" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/session" "github.com/docker/cagent/pkg/team" "github.com/docker/cagent/pkg/tools" diff --git a/pkg/server/server.go b/pkg/server/server.go index 685bf6549..f74d343b0 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -25,7 +25,7 @@ import ( "github.com/docker/cagent/pkg/api" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/content" "github.com/docker/cagent/pkg/creator" "github.com/docker/cagent/pkg/desktop" diff --git a/pkg/server/server_test.go b/pkg/server/server_test.go index 98a01f269..2ee715fc1 100644 --- a/pkg/server/server_test.go +++ b/pkg/server/server_test.go @@ -18,7 +18,7 @@ import ( "github.com/docker/cagent/pkg/api" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/session" "github.com/docker/cagent/pkg/teamloader" ) diff --git a/pkg/teamloader/registry.go b/pkg/teamloader/registry.go index a660da99d..3f46c75cf 100644 --- a/pkg/teamloader/registry.go +++ b/pkg/teamloader/registry.go @@ -8,7 +8,7 @@ import ( "time" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" "github.com/docker/cagent/pkg/gateway" "github.com/docker/cagent/pkg/js" diff --git a/pkg/teamloader/teamloader.go b/pkg/teamloader/teamloader.go index 1c3f1dde5..3c4510bcf 100644 --- a/pkg/teamloader/teamloader.go +++ b/pkg/teamloader/teamloader.go @@ -11,7 +11,7 @@ import ( "github.com/docker/cagent/pkg/agent" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/js" "github.com/docker/cagent/pkg/model/provider" "github.com/docker/cagent/pkg/model/provider/options" diff --git a/pkg/teamloader/teamloader_test.go b/pkg/teamloader/teamloader_test.go index 67bd0b214..6c21221fb 100644 --- a/pkg/teamloader/teamloader_test.go +++ b/pkg/teamloader/teamloader_test.go @@ -10,7 +10,7 @@ import ( "github.com/stretchr/testify/require" "github.com/docker/cagent/pkg/config" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/environment" ) diff --git a/pkg/tools/builtin/api.go b/pkg/tools/builtin/api.go index f87232a8b..71ea4d36f 100644 --- a/pkg/tools/builtin/api.go +++ b/pkg/tools/builtin/api.go @@ -10,7 +10,7 @@ import ( "net/url" "time" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/js" "github.com/docker/cagent/pkg/tools" ) diff --git a/pkg/tools/builtin/api_test.go b/pkg/tools/builtin/api_test.go index a88c51250..272a10d2c 100644 --- a/pkg/tools/builtin/api_test.go +++ b/pkg/tools/builtin/api_test.go @@ -10,7 +10,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/tools" ) diff --git a/pkg/tools/builtin/script_shell.go b/pkg/tools/builtin/script_shell.go index 61b610a10..947edb256 100644 --- a/pkg/tools/builtin/script_shell.go +++ b/pkg/tools/builtin/script_shell.go @@ -9,7 +9,7 @@ import ( "slices" "strings" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" "github.com/docker/cagent/pkg/tools" ) diff --git a/pkg/tools/builtin/script_shell_test.go b/pkg/tools/builtin/script_shell_test.go index 852cd952e..211419e4c 100644 --- a/pkg/tools/builtin/script_shell_test.go +++ b/pkg/tools/builtin/script_shell_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - latest "github.com/docker/cagent/pkg/config/v3" + "github.com/docker/cagent/pkg/config/latest" ) func TestNewScriptShellTool_Empty(t *testing.T) {