a2aproject / a2aproject/a2a-cli
feat: implement an option for storing file parts as files
- Linguagem predominante
- Go
- Estrelas
- 95
- Forks
- 4
- Merge médio
- 3d 2h
- PRs com merge (30d)
- 24
Descrição
### Which area does this relate to?
- [x] CLI code
- [ ] SPEC or COMPLIANCE file
- [ ] Other doc files
### What kind of feature are you proposing?
New command or flag
### What would you like to see?
Add a flag `--save-fileparts ` or similar that if passed will instruct the CLI to look for filename in response Artifact and Message parts and store them under the provided directory as files.
If a filename doesn't have an extension we can try inferring it from mediaType.
The proposal is to append bytes to a file while they correspond to the same artifact. If the same filename is returned for a different artifact it's likely the agent is regenerating a response, so it's better to save it with (2) / (3) / (n) in the name if a file already exists.
### Why is this important?
Raw bytes printed to the terminal are hard to deal with.
### Who benefits from this feature?
a2a cli users, especially when connecting to media-producing agents.
### Would you be interested in helping build this feature?
Yes — I'd like to implement it
### Additional context
_No response_
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Guia de contribuição
Direção de pesquisa
Look for the CLI code that handles Artifact and Message parts, likely in a command or response parsing module. Identify where raw bytes are currently printed to the terminal. The flag should be added to the command structure, and logic to save files with deduplication (e.g., appending (2), (3)) needs to be implemented. Check existing tests for CLI commands to understand the testing pattern.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- cli, go
- Domínio
- cli
- Tipo de issue
- Funcionalidade
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Ativa
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 65/100