a2aproject / a2aproject/a2a-samples

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

Ouverte
#686 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Jupyter Notebook
Étoiles
1.8k
Forks
751
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.