bf99fd4192
Wires cmd/mavend/voice.go to build the LLM router when the operator asks for it. Default false, so nothing changes on the deploy box. Look at pickLLMRouter: the flag on with no llama-server logs one line and keeps the classifier, it never fails a turn. The default stays off until the router can refuse (#359) and the extractor runs on LLM decisions — both noted as TODOs in config.go. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CGeSZxh1DCtRxmFVSYVGvJ
29 lines
745 B
Go
29 lines
745 B
Go
package main
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/kami/maven/internal/llm"
|
|
)
|
|
|
|
func TestPickLLMRouterOff(t *testing.T) {
|
|
if r := pickLLMRouter(false, llm.New("http://127.0.0.1:1", time.Second)); r != nil {
|
|
t.Error("flag off should give no LLM router")
|
|
}
|
|
}
|
|
|
|
// The operator can turn the flag on without an LLM phraser configured. That must
|
|
// leave the classifier running, not panic.
|
|
func TestPickLLMRouterOnWithoutClient(t *testing.T) {
|
|
if r := pickLLMRouter(true, nil); r != nil {
|
|
t.Error("no llama-server should give no LLM router")
|
|
}
|
|
}
|
|
|
|
func TestPickLLMRouterOn(t *testing.T) {
|
|
if r := pickLLMRouter(true, llm.New("http://127.0.0.1:1", time.Second)); r == nil {
|
|
t.Error("flag on with a client should give an LLM router")
|
|
}
|
|
}
|