mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-04-15 21:27:30 +08:00
44 lines
1.5 KiB
Go
44 lines
1.5 KiB
Go
package config
|
|
|
|
import "testing"
|
|
|
|
func TestNormalizedViewProjectsCoreAndRuntime(t *testing.T) {
|
|
cfg := DefaultConfig()
|
|
cfg.Agents.Router.Enabled = true
|
|
cfg.Models.Providers["openai"] = ProviderConfig{
|
|
APIBase: "https://api.openai.com/v1",
|
|
Models: []string{"gpt-5.4"},
|
|
MaxTokens: 12288,
|
|
Temperature: 0.35,
|
|
TimeoutSec: 90,
|
|
}
|
|
cfg.Agents.Subagents["coder"] = SubagentConfig{
|
|
Enabled: true,
|
|
Role: "coding",
|
|
SystemPromptFile: "agents/coder/AGENT.md",
|
|
Tools: SubagentToolsConfig{Allowlist: []string{"shell"}},
|
|
Runtime: SubagentRuntimeConfig{Provider: "openai"},
|
|
}
|
|
|
|
view := cfg.NormalizedView()
|
|
if view.Core.DefaultProvider != "openai" || view.Core.DefaultModel != "gpt-5.4" {
|
|
t.Fatalf("unexpected default model projection: %+v", view.Core)
|
|
}
|
|
subcfg, ok := view.Core.Subagents["coder"]
|
|
if !ok {
|
|
t.Fatalf("expected normalized subagent")
|
|
}
|
|
if subcfg.Prompt != "agents/coder/AGENT.md" || subcfg.Provider != "openai" {
|
|
t.Fatalf("unexpected normalized subagent: %+v", subcfg)
|
|
}
|
|
if !view.Runtime.Router.Enabled || view.Runtime.Router.Strategy != "rules_first" {
|
|
t.Fatalf("unexpected runtime router: %+v", view.Runtime.Router)
|
|
}
|
|
if got := view.Runtime.Providers["openai"].MaxTokens; got != 12288 {
|
|
t.Fatalf("expected provider max_tokens in normalized runtime view, got %d", got)
|
|
}
|
|
if got := view.Runtime.Providers["openai"].Temperature; got != 0.35 {
|
|
t.Fatalf("expected provider temperature in normalized runtime view, got %v", got)
|
|
}
|
|
}
|