Remove llm factories

Change-Id: I87afaad65f299b79ceb447b99c464bfe5c7d68cd
diff --git a/server/agent/agent.go b/server/agent/agent.go
index 3c092d5..f189794 100644
--- a/server/agent/agent.go
+++ b/server/agent/agent.go
@@ -9,6 +9,7 @@
 
 	"github.com/iomodo/staff/config"
 	"github.com/iomodo/staff/llm"
+	"github.com/iomodo/staff/llm/provider"
 	"github.com/iomodo/staff/tm"
 )
 
@@ -43,19 +44,15 @@
 		return nil, fmt.Errorf("failed to load system prompt: %w", err)
 	}
 
-	provider, err := llm.CreateProvider(llmConfig)
-	if err != nil {
-		return nil, fmt.Errorf("failed to create LLM provider: %w", err)
-	}
-
-	thinker := NewThinker(provider, agentConfig.Model, systemPrompt, *agentConfig.MaxTokens, *agentConfig.Temperature, agentRoles, logger)
+	prov := provider.CreateProvider(llmConfig)
+	thinker := NewThinker(prov, agentConfig.Model, systemPrompt, *agentConfig.MaxTokens, *agentConfig.Temperature, agentRoles, logger)
 
 	agent := &Agent{
 		Name:         agentConfig.Name,
 		Role:         agentConfig.Role,
 		Model:        agentConfig.Model,
 		SystemPrompt: systemPrompt,
-		Provider:     provider,
+		Provider:     prov,
 		MaxTokens:    agentConfig.MaxTokens,
 		Temperature:  agentConfig.Temperature,
 		taskManager:  taskManager,