Files
tutti/services/tuttid/service/agent/composer_runtime_model_options_test.go
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

38 lines
1.1 KiB
Go

package agent
import (
"testing"
"github.com/tutti-os/tutti/packages/agent/daemon/modelcatalog"
)
func TestComposerModelOptionsFromCanonicalCatalogDeduplicatesModelIDs(t *testing.T) {
t.Parallel()
options := composerModelOptionsFromCanonicalCatalog([]modelcatalog.ModelOption{
{ID: "gpt-5.6-sol", DisplayName: "GPT-5.6-Sol"},
{ID: "gpt-5.6-sol", DisplayName: "Duplicate"},
})
if len(options) != 1 || options[0].Label != "GPT-5.6-Sol" {
t.Fatalf("composer model options = %#v, want first canonical model only", options)
}
}
func TestExtractRuntimeModelValues(t *testing.T) {
t.Parallel()
runtimeContext := map[string]any{
"configOptions": []map[string]any{{
"id": "model",
"currentValue": "provider-current",
"effectiveValue": "resolved-alias",
}},
}
if got := extractEffectiveModelFromRuntimeContext(runtimeContext); got != "resolved-alias" {
t.Fatalf("effective model = %q, want resolved-alias", got)
}
if got := extractCurrentModelFromRuntimeContext(runtimeContext); got != "provider-current" {
t.Fatalf("current model = %q, want provider-current", got)
}
}