diff --git a/internal/cli/cli_test.go b/internal/cli/cli_test.go index 9af68ba..da2e582 100644 --- a/internal/cli/cli_test.go +++ b/internal/cli/cli_test.go @@ -981,6 +981,7 @@ func TestUsageErrors(t *testing.T) { {"--endpoint without --transport", []string{"send", "-e", "http://x", "hi"}}, {"--endpoint with two --transport", []string{"send", "-e", "http://x", "--transport", "rest", "--transport", "grpc", "hi"}}, {"empty --transport", []string{"send", "-a", "http://x", "--transport", "", "hi"}}, + {"unknown --a2a-version", []string{"send", "-a", "http://x", "--a2a-version", "1", "hi"}}, {"unknown server --protocol", []string{"server", "--echo", "--port", "0", "--protocol", "bogus"}}, {"unknown server --serve-transport", []string{"server", "--echo", "--port", "0", "--serve-transport", "bogus"}}, {"missing server --card file", []string{"server", "--echo", "--port", "0", "--card", "/no/such/card.json"}}, diff --git a/internal/cli/client.go b/internal/cli/client.go index 801dd64..311f73c 100644 --- a/internal/cli/client.go +++ b/internal/cli/client.go @@ -53,6 +53,11 @@ func newAgentClient(ctx context.Context, cfg *globalConfig, extraOpts ...a2aclie if err := cfg.initTLS(); err != nil { return nil, err } + switch cfg.a2aVersion { + case "", "1.0", "0.3": + default: + return nil, clierr.Usage(fmt.Sprintf("invalid --a2a-version %q (want 1.0 or 0.3)", cfg.a2aVersion)) + } switch { case cfg.url != "" && cfg.agentCard.IsSet(): return nil, clierr.Usage("--endpoint and --agent-card are mutually exclusive")