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.
28 lines
737 B
Go
28 lines
737 B
Go
package llm
|
|
|
|
import "strings"
|
|
|
|
// Route maps a model string to its provider. Pure function.
|
|
func Route(model string) ProviderID {
|
|
switch {
|
|
case model == "claude-code" || strings.HasPrefix(model, "claude-code/"):
|
|
return ProviderClaudeCode
|
|
case strings.HasPrefix(model, "claude"):
|
|
return ProviderAnthropic
|
|
case strings.HasPrefix(model, "gpt"), strings.HasPrefix(model, "o1"), strings.HasPrefix(model, "o3"):
|
|
return ProviderOpenAI
|
|
case strings.HasPrefix(model, "ollama/"):
|
|
return ProviderOllama
|
|
default:
|
|
return ProviderOpenAI
|
|
}
|
|
}
|
|
|
|
// ModelName strips the provider prefix from a model string.
|
|
func ModelName(model string) string {
|
|
if after, ok := strings.CutPrefix(model, "ollama/"); ok {
|
|
return after
|
|
}
|
|
return model
|
|
}
|