a2aproject / a2aproject/a2a-samples

Python `helloworld` sample README expected output does not match `test_client.py`

Offen
#686 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Jupyter Notebook
Sterne
1.8k
Forks
751
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The expected output documented in `samples/python/agents/helloworld/README.md` does not match the behavior of the current Python `helloworld` sample.

The README's Expected Output Snippet shows output for:

- displaying the public AgentCard
- a non-streaming call
- a streaming call
- an extended AgentCard
- task history and artifacts

However, running the documented command:

`python test_client.py
`

currently starts an interactive session and only performs the non-streaming send_message() flow for each user input.

```
Starting an interactive session with A2A Server [http://127.0.0.1:9999]
Use `exit` to quit.
user > hi
Initializes the A2ACardResolver instance with an HTTP client

Successfully fetched the public agent card:

--- Public Agent Card - Non-Streaming Call ---

Initializing a non-streaming client.
Response:
task {
id: "..."
...
artifacts {
parts {
text: "Hello, World! I have received your request (hi)"
media_type: "text/plain"
}
}
...
}

--
user >
```

In particular, the public AgentCard details are not displayed

### Relevant Code

Also, in `test_client.py` already contains functions for the broader workflow:
```python
async def show_agent_card():
...

async def send_message(...):
...

async def send_steaming_message(...):
...

async def show_extended_card():
...

def test_client_workflow(...):
asyncio.run(show_agent_card())
asyncio.run(send_message(text_query))
asyncio.run(send_steaming_message(text_query))
asyncio.run(show_extended_card())

However, the executable entry point currently calls main(), whose interactive loop only invokes send_message():

def main():
...
while prompt and prompt != 'exit':
asyncio.run(send_message(prompt))
prompt = input('--\nuser > ')
```

The Expected snippet output appears to correspond more closely to `samples/go/agents/helloworld/test_client.go` demonstration

## Expected Behaviour

Could we clarify which behavior is intended for `python test_client.py`?

1. update the README to document the current interactive send_message() behavior, or
2. update test_client.py so that the public AgentCard, streaming call, and extended AgentCard workflow described in the README is executed?

I'd be happy to contribute a fix in either direction once the intended behavior is clarified.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.