Skip to content

Google ADK

Project ordered ADK events without moving session execution into the browser.

Render native events

The checked TypeScript package is @google/adk@2.4.0. ADK's Runner and session service stay on your server. Deliver its events through an application transport, then render the ordered snapshot with the same Ghost views. See view installation.

adk-transcript.tsx
adk-run.ts

Configure the runner's agent, session service and model on the server following the ADK event loop. The application transport owns authentication, serialization, backpressure and cancellation propagation. An existing ADK AG-UI bridge can instead use the AG-UI client path.

Partial content and richer events

ADK partial text contains new fragments; the authoritative non-partial segment contains the assembled text. Ghost groups previews within native invocation/author/branch scope and replaces them with that segment. It does not append the final text a second time. Pass the ordered log with stable event IDs; preserve ordering in your delivery/store layer.

Function calls and responses retain native call IDs; an input-ready call is not proof of execution. adk-actions and adk-grounding data retain transfers, state changes and grounding for an application renderer. Thought text is withheld by default. mapPart and explicit reasoning-summary classification are available through normalizer options.

Boundaries and troubleshooting

ADK owns session state and tool execution. Keep native session/user/invocation IDs and actions rather than flattening a transfer into another assistant label. If replay duplicates text, check that partials and authoritative events arrived in order. If your server emits snake_case JSON rather than TypeScript objects, the projection accepts the documented event aliases, but validate the transport schema at your boundary.