Add agent sub-package for composable LLM agents
Introduces v2/agent with a minimal API: Agent, New(), Run(), and AsTool(). Agents wrap a model + system prompt + tools. AsTool() turns an agent into a llm.Tool, enabling parent agents to delegate to sub-agents through the normal tool-call loop — no channels, pools, or orchestration needed. Also exports NewClient(provider.Provider) for custom provider integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -117,7 +117,7 @@ func TestModel_Complete_WithTools(t *testing.T) {
|
||||
|
||||
func TestClient_Model(t *testing.T) {
|
||||
mp := newMockProvider(provider.Response{Text: "hi"})
|
||||
client := newClient(mp)
|
||||
client := NewClient(mp)
|
||||
model := client.Model("test-model")
|
||||
|
||||
resp, err := model.Complete(context.Background(), []Message{UserMessage("test")})
|
||||
@@ -144,7 +144,7 @@ func TestClient_WithMiddleware(t *testing.T) {
|
||||
}
|
||||
|
||||
mp := newMockProvider(provider.Response{Text: "ok"})
|
||||
client := newClient(mp).WithMiddleware(mw)
|
||||
client := NewClient(mp).WithMiddleware(mw)
|
||||
model := client.Model("test-model")
|
||||
|
||||
_, err := model.Complete(context.Background(), []Message{UserMessage("test")})
|
||||
|
||||
Reference in New Issue
Block a user