fc644ecd6e
Reemplaza el scaffold del echobot por la plataforma completa de bots traida desde ~/DataProyects/Github/agents_and_robots tras la operacion Matrix-out: los bots ya no hablan por Matrix sino por el bus unibus (modelo todo-rooms + E2E via shell/transportunibus sobre github.com/enmanuel/unibus/pkg/client). - go.mod: replace de unibus -> ../unibus y de fn-registry -> ../../../.. (paths relativos reajustados a la nueva ubicacion dentro de fn_registry). - app.md: bump a 0.2.0, descripcion + arquitectura + comandos + gotchas reales. - modulo Go conservado como github.com/enmanuel/agents (sin reescribir imports). agents_and_robots queda archivado como museo de la era Matrix.
49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package llm
|
|
|
|
import "testing"
|
|
|
|
func TestRoute(t *testing.T) {
|
|
tests := []struct {
|
|
model string
|
|
want ProviderID
|
|
}{
|
|
{"claude-code", ProviderClaudeCode},
|
|
{"claude-code/custom", ProviderClaudeCode},
|
|
{"claude-sonnet-4-5-20250929", ProviderAnthropic},
|
|
{"claude-opus-4", ProviderAnthropic},
|
|
{"gpt-4o", ProviderOpenAI},
|
|
{"o1-preview", ProviderOpenAI},
|
|
{"o3-mini", ProviderOpenAI},
|
|
{"ollama/mistral", ProviderOllama},
|
|
{"unknown-model", ProviderOpenAI}, // default
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.model, func(t *testing.T) {
|
|
got := Route(tt.model)
|
|
if got != tt.want {
|
|
t.Errorf("Route(%q) = %q, want %q", tt.model, got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestModelName(t *testing.T) {
|
|
tests := []struct {
|
|
input, want string
|
|
}{
|
|
{"ollama/mistral", "mistral"},
|
|
{"gpt-4o", "gpt-4o"},
|
|
{"claude-sonnet-4-5-20250929", "claude-sonnet-4-5-20250929"},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.input, func(t *testing.T) {
|
|
got := ModelName(tt.input)
|
|
if got != tt.want {
|
|
t.Errorf("ModelName(%q) = %q, want %q", tt.input, got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|