Skip to content

Commit 78e284a

Browse files
meguminnnnnnnnnhi-pender
authored andcommitted
feat: modify eino agent config, from Transport to A2AClient (#463)
1 parent b9265f9 commit 78e284a

File tree

2 files changed

+38
-13
lines changed

2 files changed

+38
-13
lines changed

a2a/extension/eino/client.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,11 @@ import (
2929

3030
"github.com/cloudwego/eino-ext/a2a/client"
3131
"github.com/cloudwego/eino-ext/a2a/models"
32-
"github.com/cloudwego/eino-ext/a2a/transport"
3332
"github.com/cloudwego/eino-ext/a2a/utils"
3433
)
3534

3635
type AgentConfig struct {
37-
Transport transport.ClientTransport
36+
Client *client.A2AClient
3837

3938
// optional, from AgentCard by default
4039
Name *string
@@ -50,16 +49,13 @@ type AgentConfig struct {
5049
}
5150

5251
func NewAgent(ctx context.Context, cfg AgentConfig) (adk.Agent, error) {
53-
cli, err := client.NewA2AClient(ctx, &client.Config{
54-
Transport: cfg.Transport,
55-
})
56-
if err != nil {
57-
return nil, fmt.Errorf("failed to create a2a client: %w", err)
52+
if cfg.Client == nil {
53+
return nil, errors.New("Client is required")
5854
}
5955
var name, desc string
6056
var streaming bool
6157
if cfg.Name == nil || cfg.Description == nil || cfg.Streaming == nil {
62-
card, err := cli.AgentCard(ctx)
58+
card, err := cfg.Client.AgentCard(ctx)
6359
if err != nil {
6460
return nil, err
6561
}
@@ -83,7 +79,7 @@ func NewAgent(ctx context.Context, cfg AgentConfig) (adk.Agent, error) {
8379
streaming: streaming,
8480
inputMessageConvertor: cfg.InputMessageConvertor,
8581
outputConvertor: cfg.OutputConvertor,
86-
cli: cli,
82+
cli: cfg.Client,
8783
}
8884
if a.inputMessageConvertor == nil {
8985
a.inputMessageConvertor = func(ctx context.Context, messages []*schema.Message) (models.Message, error) {

a2a/extension/eino/examples/client/client.go

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"github.com/cloudwego/eino/adk"
2929
"github.com/cloudwego/eino/schema"
3030

31+
"github.com/cloudwego/eino-ext/a2a/client"
3132
"github.com/cloudwego/eino-ext/a2a/extension/eino"
3233
"github.com/cloudwego/eino-ext/a2a/transport/jsonrpc"
3334
)
@@ -51,8 +52,15 @@ func nonStreamChat(ctx context.Context) {
5152
BaseURL: "http://127.0.0.1:8888",
5253
HandlerPath: "/test",
5354
})
55+
if err != nil {
56+
log.Fatal(err)
57+
}
58+
cli, err := client.NewA2AClient(ctx, &client.Config{Transport: t})
59+
if err != nil {
60+
log.Fatal(err)
61+
}
5462
a, err := eino.NewAgent(ctx, eino.AgentConfig{
55-
Transport: t,
63+
Client: cli,
5664
Name: nil,
5765
Description: nil,
5866
Streaming: &streaming,
@@ -80,8 +88,15 @@ func streamChat(ctx context.Context) {
8088
BaseURL: "http://127.0.0.1:8888",
8189
HandlerPath: "/test",
8290
})
91+
if err != nil {
92+
log.Fatal(err)
93+
}
94+
cli, err := client.NewA2AClient(ctx, &client.Config{Transport: t})
95+
if err != nil {
96+
log.Fatal(err)
97+
}
8398
a, err := eino.NewAgent(ctx, eino.AgentConfig{
84-
Transport: t,
99+
Client: cli,
85100
Streaming: &streaming,
86101
})
87102
if err != nil {
@@ -107,8 +122,15 @@ func humanInTheLoop(ctx context.Context) {
107122
BaseURL: "http://127.0.0.1:8888",
108123
HandlerPath: "/test",
109124
})
125+
if err != nil {
126+
log.Fatal(err)
127+
}
128+
cli, err := client.NewA2AClient(ctx, &client.Config{Transport: t})
129+
if err != nil {
130+
log.Fatal(err)
131+
}
110132
a, err := eino.NewAgent(ctx, eino.AgentConfig{
111-
Transport: t,
133+
Client: cli,
112134
})
113135
if err != nil {
114136
log.Fatal(err)
@@ -123,8 +145,15 @@ func streamHumanInTheLoop(ctx context.Context) {
123145
BaseURL: "http://127.0.0.1:8888",
124146
HandlerPath: "/test",
125147
})
148+
if err != nil {
149+
log.Fatal(err)
150+
}
151+
cli, err := client.NewA2AClient(ctx, &client.Config{Transport: t})
152+
if err != nil {
153+
log.Fatal(err)
154+
}
126155
a, err := eino.NewAgent(ctx, eino.AgentConfig{
127-
Transport: t,
156+
Client: cli,
128157
Streaming: &streaming,
129158
})
130159
if err != nil {

0 commit comments

Comments
 (0)