a2aproject / a2aproject/a2a-cli

feat: implement an option for storing file parts as files

Aberta
#41 0 comentários 0 reações 0 responsáveis Ver no GitHub
enhancement
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

Abrir o 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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.