NAME

Langertha::Knarr::Protocol::A2A - Google Agent2Agent (A2A) wire protocol for Knarr

VERSION

version 1.102

DESCRIPTION

Implements the Google A2A protocol on top of Langertha::Knarr::Protocol. Loaded by default.

  • GET /.well-known/agent.json — agent card discovery (anonymous)

  • POST / — JSON-RPC 2.0 method bus

Supported methods: tasks/send (sync) and tasks/sendSubscribe (streaming). Streaming wraps every chunk in a JSON-RPC envelope with the original id preserved, transitions status.state from working to completed, and emits artifact append events for the text deltas.

agent_name

The name in the default "agent_card". Default Langertha Knarr Agent. Configured as a2a.name in the config file or KNARR_A2A_NAME (see "a2a_name" in Langertha::Knarr::Config); knarr start passes it through "protocol_args" in Langertha::Knarr.

agent_description

The description in the default "agent_card". Default LLM agent served through Langertha Knarr. Configured as a2a.description or KNARR_A2A_DESCRIPTION.

agent_card

The HashRef returned by the discovery endpoint. Defaults to a card with "agent_name", "agent_description", Knarr's own version ($Langertha::Knarr::VERSION, dev when it has none) and streaming: true; pass a whole card to advertise specific skills, version, etc. ("agent_name" and "agent_description" are then not used).

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/langertha-knarr/issues.

IRC

Join #langertha on irc.perl.org or message Getty directly.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.