@@ -213,8 +213,9 @@ func TestEndToEnd(t *testing.T) {
213213 t .Run ("tools" , func (t * testing.T ) {
214214 // ListTools is tested in client_list_test.go.
215215 gotHi , err := cs .CallTool (ctx , & CallToolParams {
216- Name : "greet" ,
217- Arguments : map [string ]any {"name" : "user" },
216+ Name : "greet" ,
217+ }, map [string ]any {
218+ "name" : "user" ,
218219 })
219220 if err != nil {
220221 t .Fatal (err )
@@ -228,10 +229,7 @@ func TestEndToEnd(t *testing.T) {
228229 t .Errorf ("tools/call 'greet' mismatch (-want +got):\n %s" , diff )
229230 }
230231
231- gotFail , err := cs .CallTool (ctx , & CallToolParams {
232- Name : "fail" ,
233- Arguments : map [string ]any {},
234- })
232+ gotFail , err := cs .CallTool (ctx , & CallToolParams {Name : "fail" }, nil )
235233 // Counter-intuitively, when a tool fails, we don't expect an RPC error for
236234 // call tool: instead, the failure is embedded in the result.
237235 if err != nil {
@@ -605,16 +603,18 @@ func TestServerClosing(t *testing.T) {
605603 wg .Done ()
606604 }()
607605 if _ , err := cs .CallTool (ctx , & CallToolParams {
608- Name : "greet" ,
609- Arguments : map [string ]any {"name" : "user" },
606+ Name : "greet" ,
607+ }, map [string ]any {
608+ "name" : "user" ,
610609 }); err != nil {
611610 t .Fatalf ("after connecting: %v" , err )
612611 }
613612 ss .Close ()
614613 wg .Wait ()
615614 if _ , err := cs .CallTool (ctx , & CallToolParams {
616- Name : "greet" ,
617- Arguments : map [string ]any {"name" : "user" },
615+ Name : "greet" ,
616+ }, map [string ]any {
617+ "name" : "user" ,
618618 }); ! errors .Is (err , ErrConnectionClosed ) {
619619 t .Errorf ("after disconnection, got error %v, want EOF" , err )
620620 }
@@ -679,7 +679,7 @@ func TestCancellation(t *testing.T) {
679679 defer cs .Close ()
680680
681681 ctx , cancel := context .WithCancel (context .Background ())
682- go cs .CallTool (ctx , & CallToolParams {Name : "slow" })
682+ go cs .CallTool (ctx , & CallToolParams {Name : "slow" }, nil )
683683 <- start
684684 cancel ()
685685 select {
@@ -892,8 +892,9 @@ func TestKeepAlive(t *testing.T) {
892892
893893 // Test that the connection is still alive by making a call
894894 result , err := cs .CallTool (ctx , & CallToolParams {
895- Name : "greet" ,
896- Arguments : map [string ]any {"Name" : "user" },
895+ Name : "greet" ,
896+ }, map [string ]any {
897+ "Name" : "user" ,
897898 })
898899 if err != nil {
899900 t .Fatalf ("call failed after keepalive: %v" , err )
@@ -942,8 +943,9 @@ func TestKeepAliveFailure(t *testing.T) {
942943 deadline := time .Now ().Add (1 * time .Second )
943944 for time .Now ().Before (deadline ) {
944945 _ , err = cs .CallTool (ctx , & CallToolParams {
945- Name : "greet" ,
946- Arguments : map [string ]any {"Name" : "user" },
946+ Name : "greet" ,
947+ }, map [string ]any {
948+ "Name" : "user" ,
947949 })
948950 if errors .Is (err , ErrConnectionClosed ) {
949951 return // Test passed
@@ -1025,7 +1027,7 @@ func TestSynchronousNotifications(t *testing.T) {
10251027
10261028 t .Run ("from client" , func (t * testing.T ) {
10271029 client .AddRoots (& Root {Name : "myroot" , URI : "file://foo" })
1028- res , err := cs .CallTool (context .Background (), & CallToolParams {Name : "tool" })
1030+ res , err := cs .CallTool (context .Background (), & CallToolParams {Name : "tool" }, nil )
10291031 if err != nil {
10301032 t .Fatalf ("CallTool failed: %v" , err )
10311033 }
@@ -1058,7 +1060,7 @@ func TestNoDistributedDeadlock(t *testing.T) {
10581060 // delegates synchronization to the user.
10591061 clientOpts := & ClientOptions {
10601062 CreateMessageHandler : func (ctx context.Context , req * CreateMessageRequest ) (* CreateMessageResult , error ) {
1061- req .Session .CallTool (ctx , & CallToolParams {Name : "tool2" })
1063+ req .Session .CallTool (ctx , & CallToolParams {Name : "tool2" }, nil )
10621064 return & CreateMessageResult {Content : & TextContent {}}, nil
10631065 },
10641066 }
@@ -1077,7 +1079,7 @@ func TestNoDistributedDeadlock(t *testing.T) {
10771079
10781080 ctx , cancel := context .WithTimeout (context .Background (), 5 * time .Second )
10791081 defer cancel ()
1080- if _ , err := cs .CallTool (ctx , & CallToolParams {Name : "tool1" }); err != nil {
1082+ if _ , err := cs .CallTool (ctx , & CallToolParams {Name : "tool1" }, nil ); err != nil {
10811083 // should not deadlock
10821084 t .Fatalf ("CallTool failed: %v" , err )
10831085 }
@@ -1155,11 +1157,11 @@ func TestPointerArgEquivalence(t *testing.T) {
11551157
11561158 // Then, check that we handle empty input equivalently.
11571159 for _ , args := range []any {nil , struct {}{}} {
1158- r0 , err := cs .CallTool (ctx , & CallToolParams {Name : t0 .Name , Arguments : args } )
1160+ r0 , err := cs .CallTool (ctx , & CallToolParams {Name : t0 .Name }, args )
11591161 if err != nil {
11601162 t .Fatal (err )
11611163 }
1162- r1 , err := cs .CallTool (ctx , & CallToolParams {Name : t1 .Name , Arguments : args } )
1164+ r1 , err := cs .CallTool (ctx , & CallToolParams {Name : t1 .Name }, args )
11631165 if err != nil {
11641166 t .Fatal (err )
11651167 }
@@ -1171,11 +1173,11 @@ func TestPointerArgEquivalence(t *testing.T) {
11711173 // Then, check that we handle different types of output equivalently.
11721174 for _ , in := range []string {"nil" , "empty" , "ok" } {
11731175 t .Run (in , func (t * testing.T ) {
1174- r0 , err := cs .CallTool (ctx , & CallToolParams {Name : t0 .Name , Arguments : input {In : in } })
1176+ r0 , err := cs .CallTool (ctx , & CallToolParams {Name : t0 .Name }, input {In : in })
11751177 if err != nil {
11761178 t .Fatal (err )
11771179 }
1178- r1 , err := cs .CallTool (ctx , & CallToolParams {Name : t1 .Name , Arguments : input {In : in } })
1180+ r1 , err := cs .CallTool (ctx , & CallToolParams {Name : t1 .Name }, input {In : in })
11791181 if err != nil {
11801182 t .Fatal (err )
11811183 }
0 commit comments