Skip to content

v0.10.0

Choose a tag to compare

@benoitc benoitc released this 20 Sep 19:42
· 17 commits to main since this release
2508e1f

Added

  • livery_a2a: serve an A2A agent, its agent card, the JSON-RPC and HTTP+JSON bindings and SSE streams, from a Livery service. livery_a2a:router/1,2 mounts the routes and handler/1 delegates to barrel_a2a_http_engine:handle/6. Livery owns the wire, the engine owns the protocol.

    {ok, Server} = barrel_a2a_server:start(Card, #{
        handler => my_agent,
        listen => false,
        url => <<"https://agent.example">>
    }),
    livery:start_service(#{https => #{...}, router => livery_a2a:router(Server)}).

    See Serve A2A agents. For A2A over gRPC, use livery_grpc_a2a.

Changed

  • barrel_mcp and barrel_a2a are now optional applications. Nothing in livery's core calls livery_mcp or livery_a2a, so a release that only serves HTTP is no longer forced to start two protocol stacks it never uses. OTP requires an optional application to appear in applications as well, so both lists name them; an application that does use an adapter lists the library itself.

Full detail in CHANGELOG.md.