> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentium.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Durable protocol bridges

> Expose admitted durable tasks through an Agentium control router, A2A 1.0, or MCP Tasks.

Durable bridges from `@agentium/transport` use an explicitly configured durable supervisor. Mounting them beside an ordinary process-local server does not make that server restart-safe.

## HTTP control router

`createDurableTaskRouter({ supervisor, records, authenticate, authorize, wake })` serves already-admitted tasks under a host-selected prefix. The supervisor and records must share one `JournaledDurableTaskStore`.

| Route | Behavior |
| - | - |
| `GET /:taskId` | Read task ID, state, revision, and update timestamp |
| `POST /:taskId/cancel` | Persist cancellation and request a worker wake; 202 does not mean the effect has stopped |
| `GET /:taskId/events` | Return one bounded SSE replay batch and close |

Reconnect with `Last-Event-ID`. Malformed cursors return 400; retention or future-cursor gaps return 409 with retained bounds. Authentication and current policy are checked again on reconnect. Inaccessible tasks return 404. Internal inputs, action arguments, failure bodies, and blob keys are not public task fields.

If Redis or another delivery service is unavailable, cancellation may return `deliveryPending`. Retry wake through host recovery.

## A2A and MCP Tasks

`createDurableA2AV1Server` and `createDurableMCPTaskHandler` require a `DurableProtocolHost` with `supervisor`, `admit`, `authorize`, and `wake`. Authentication verifies credentials for an explicit audience and returns `{ tenantId, actorId }`.

Install the optional selected SDK peer: `@a2a-js/sdk` or `@modelcontextprotocol/server`. The working-tree fixtures use 1.3.0 and 2.3.0 respectively.

Host authorization covers `read`, `cancel`, `input`, and `wake`. Protocol metadata never supplies authoritative identity, policy revisions, grants, manifests, or executable driver registrations. A task store owns execution; protocol clients receive a projection of its state.

See [A2A 1.0](/a2a/v1) and [MCP v2](/mcp/v2) for the separate process-local adapters.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.