Skip to content

Clarify tool event behavior of fronted and backend #381

@NiuBlibing

Description

@NiuBlibing

The current AG-UI tool calling protocol mixes two distinct modes:

  1. The tool call is actually executed by the backend/remote side, and events are synchronized to the frontend for display purposes only.
  2. The tool call is executed by the frontend/client side, with results returned to the backend/remote side — similar to Human-in-the-Loop (HITL).

However, the current protocol specification does not clearly distinguish between these two modes. How should developers differentiate between them? The documentation should be improved to clarify this.

Additionally, for function calls, parameters should support the dict type for greater clarity and precision. Relying solely on string types introduces unnecessary serialization/deserialization overhead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions