You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Drive multi-agent orchestrators (Graph/Swarm) from the Python bridge; agent now accepts a callable invoked per run for isolation.
Delegate frontend waits to native interrupts by default; report the pause; make retries idempotent.
Surface RunAgentInput.context to the model as a separate leading user message.
Refuse a second concurrent run per thread with RUN_ERROR { code: "THREAD_BUSY" } on the Python single-agent path.
Emit RUN_ERROR CONTINUATION_TOOL_NAME_UNRESOLVED when a continuation tool result cannot be named; fail closed instead of empty prompt.
Emit hook_error CustomEvent when a developer callback throws.
Validate URL sources before server-side fetch: restrict schemes to http/https, refuse redirect downgrades, prevent DNS rebinding, apply byte/timeout ceilings across redirect hops.
Harden HTTP endpoints: strict JSON content-type validation, auth hook, CORS opt-out; apply dojo CORS allowlist to mounted demos.
Preserve attachments, multi-block and non-text tool results; report media drops.
Fix text/tool-call wire ordering so text is closed before a tool call opens.
Read parked tool batch across Strands 1.54 and 1.55+ checkpoint shapes.
Unify terminal error codes, message text, resume contract, and events across Python and TypeScript bridges.
Emit RAW events for unmapped stream events; forward inner agent events; sanitize RAW payloads.
Report force stops as run errors with the actual reason; emit error message on force_stop with no content.
Exclude template-bound management tools from forwarding.
Breaking changes
CORS: an empty allow-list now denies all origins on the TypeScript side instead of defaulting to wildcard; choose an explicit policy.
URL fetch now refuses schemes outside http/https at construction and enforces byte/timeout ceilings across redirect hops.
Frontend waits now use native interrupts by default; absence of ToolBehavior(continue_after_frontend_call=False) no longer selects the legacy placeholder-and-halt path.
Terminal RUN_ERROR codes and message text changed to a unified set; clients matching codes/messages literally must re-verify.
Concurrent second run on one thread now rejected with RUN_ERROR { code: "THREAD_BUSY" } on the Python single-agent path.
RUN_FINISHED/RUN_ERROR now carry usage and outcome; clients must tolerate these fields.
Citations now ride assistant message metadata rather than only the RAW fallback.
Content-type validation on HTTP endpoints is now strict JSON.
TypeScript (npm) - published at 18:19:37 UTC
Package
Version
Install
@ag-ui/mcp-apps-middleware
0.1.1
npm install @ag-ui/mcp-apps-middleware@0.1.1
@ag-ui/mcp-apps-middleware@0.1.1
Advertise the standard HTML MIME type for served content.
Breaking changes
None.
TypeScript (npm) - published at 20:03:20 UTC
Package
Version
Install
@ag-ui/mcp-middleware
0.0.2
npm install @ag-ui/mcp-middleware@0.0.2
@ag-ui/mcp-middleware@0.0.2
Lists tools from MCP servers, injects them namespaced as mcp__{server}__{tool} (truncated to 64 chars, deduped), and executes tool calls server-side.
Multi-iteration tool loops now present as a single run: RUN_STARTED suppressed on continuations, RUN_FINISHED flushed only when the loop stops.
Forwards serverConfig.headers to both transports via requestInit for per-request auth; caches listTools results per instance.
Syncs tool results into downstream agent.messages so subsequent iterations consume results instead of re-emitting the call.
Buffers RUN_FINISHED until tool results are emitted to avoid post-RUN_FINISHED validation failures.
Routes onRunComplete rejections to subscriber.error and guards client.close() so failures cannot hang the stream.
SSE transport now imported lazily, avoiding an eventsource load-time failure under Bun.
Logs tool-execution and per-server listing failures server-side.
Added MIT LICENSE file and license field for published package.
Breaking changes
@ag-ui/client moved from dependencies to a peer dependency (>=0.0.40); consumers must install it themselves.