assistant-ui logoassistant-ui

Changelog

Release history

All releases published from the assistant-ui monorepo, grouped by date.

Apr 30, 2026

3 packages

@assistant-ui/core@0.1.17patchGitHub →

Features

2
featenrich composer.attachmentAddError event with typed payload

The event now carries { reason, message, attachmentId?, error? } so subscribers can branch on the failure mode (no-adapter / not-accepted / adapter-error). The bridge no longer relies on a findLast heuristic to recover the failed attachment id.

Several state-derivable events are now annotated @deprecated because they duplicate state observation: composer.send, composer.attachmentAdd, thread.runStart, thread.runEnd, thread.initialize, threadListItem.switchedTo, threadListItem.switchedAway. They continue to fire for backward compatibility; new code should observe state via useAuiState instead.

featadd <MessagePrimitive.GroupedParts> for hierarchical adjacent grouping of message parts

Introduces a new primitive that coalesces adjacent parts into groups via a user-supplied groupBy(part) → "group-…" | readonly "group-…"[] | null. Adjacent parts sharing a key-path prefix coalesce up to that prefix; ungrouped parts render as direct leaves.

The render function takes { part, children } and dispatches on a single switch (part.type). "group-…" cases wrap children (the recursively-rendered subtree); real part types ("text", "tool-call", "reasoning", …) render the part directly with the same EnrichedPartState enrichments (toolUI, addResult, resume, dataRendererUI) that <MessagePrimitive.Parts> provides.

GroupPart is intentionally minimal: { type, status, indices }. The render function is invoked once per group node and once per individual leaf part, so users never have to nest a <MessagePrimitive.Parts> call.

The groupBy return type is constrained to `group-${string}` so the unified switch can never collide with a real part type. The component infers a literal TKey per call site, so part.type narrows to the exact union of group keys plus part types.

For leaf parts, children is a sentinel that throws if rendered — accidental fall-through like default: return children; errors loudly instead of silently rendering nothing. Returning null from a leaf case is fine.

Deprecates the legacy components.ToolGroup, components.ReasoningGroup, and components.ChainOfThought props on <Parts>, and <MessagePrimitive.Unstable_PartsGrouped> for adjacent grouping — all still work for backwards compatibility.

Fixes

1
fixadd typesVersions to support moduleResolution: node

Users with moduleResolution: node in their tsconfig were seeing Property 'message' does not exist on type 'AssistantState' because the exports map sub-paths (e.g. @assistant-ui/core/react) are ignored by legacy node module resolution. Adding typesVersions makes TypeScript resolve sub-path types correctly under all moduleResolution modes.

Chores

1
choredrop ./* wildcard export and surface internal attachment status types

The ./* wildcard in exports was exposing the entire dist tree as importable subpaths, which inadvertently leaked internal modules (e.g. @assistant-ui/core/tests/*, @assistant-ui/core/types/*) as public API. Removing it.

Two attachment status types that were previously only reachable through the wildcard (PendingAttachmentStatus, CompleteAttachmentStatus) are now re-exported from the package root so that consumers' inferred types remain portable.

@assistant-ui/react@0.12.28patchGitHub →

Features

1
featadd <MessagePrimitive.GroupedParts> for hierarchical adjacent grouping of message parts

Introduces a new primitive that coalesces adjacent parts into groups via a user-supplied groupBy(part) → "group-…" | readonly "group-…"[] | null. Adjacent parts sharing a key-path prefix coalesce up to that prefix; ungrouped parts render as direct leaves.

The render function takes { part, children } and dispatches on a single switch (part.type). "group-…" cases wrap children (the recursively-rendered subtree); real part types ("text", "tool-call", "reasoning", …) render the part directly with the same EnrichedPartState enrichments (toolUI, addResult, resume, dataRendererUI) that <MessagePrimitive.Parts> provides.

GroupPart is intentionally minimal: { type, status, indices }. The render function is invoked once per group node and once per individual leaf part, so users never have to nest a <MessagePrimitive.Parts> call.

The groupBy return type is constrained to `group-${string}` so the unified switch can never collide with a real part type. The component infers a literal TKey per call site, so part.type narrows to the exact union of group keys plus part types.

For leaf parts, children is a sentinel that throws if rendered — accidental fall-through like default: return children; errors loudly instead of silently rendering nothing. Returning null from a leaf case is fine.

Deprecates the legacy components.ToolGroup, components.ReasoningGroup, and components.ChainOfThought props on <Parts>, and <MessagePrimitive.Unstable_PartsGrouped> for adjacent grouping — all still work for backwards compatibility.

@assistant-ui/react-native@0.1.13patchGitHub →

Features

1
featadd <MessagePrimitive.GroupedParts> for hierarchical adjacent grouping of message parts

Introduces a new primitive that coalesces adjacent parts into groups via a user-supplied groupBy(part) → "group-…" | readonly "group-…"[] | null. Adjacent parts sharing a key-path prefix coalesce up to that prefix; ungrouped parts render as direct leaves.

The render function takes { part, children } and dispatches on a single switch (part.type). "group-…" cases wrap children (the recursively-rendered subtree); real part types ("text", "tool-call", "reasoning", …) render the part directly with the same EnrichedPartState enrichments (toolUI, addResult, resume, dataRendererUI) that <MessagePrimitive.Parts> provides.

GroupPart is intentionally minimal: { type, status, indices }. The render function is invoked once per group node and once per individual leaf part, so users never have to nest a <MessagePrimitive.Parts> call.

The groupBy return type is constrained to `group-${string}` so the unified switch can never collide with a real part type. The component infers a literal TKey per call site, so part.type narrows to the exact union of group keys plus part types.

For leaf parts, children is a sentinel that throws if rendered — accidental fall-through like default: return children; errors loudly instead of silently rendering nothing. Returning null from a leaf case is fine.

Deprecates the legacy components.ToolGroup, components.ReasoningGroup, and components.ChainOfThought props on <Parts>, and <MessagePrimitive.Unstable_PartsGrouped> for adjacent grouping — all still work for backwards compatibility.

Apr 29, 2026

19 packages

@assistant-ui/cloud-ai-sdk@0.1.13patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/core@0.1.16patchGitHub →

Features

1
featadd custom slot to RemoteThreadMetadata and ThreadListItemState

allows adapter authors to carry arbitrary backend session data through list() / fetch() and surface it on the thread list item state. matches the existing custom: Record<string, unknown> convention used on ThreadMessage, RunConfig, and ChatModelRunResult. consumers can intersect a typed shape at their own boundary, e.g. RemoteThreadMetadata & { custom: { workspaceId: string } }.

Fixes

4
fix· coreemit attachmentAddError when no adapter is configured or file type is rejected
fix· corerespect adapter.accept when adding external CreateAttachment

composer.addAttachment previously bypassed the configured AttachmentAdapter for CreateAttachment descriptors, including the adapter.accept content-type check. It now validates the descriptor's contentType (or filename extension) against adapter.accept when an adapter is configured, throwing and emitting composer.attachmentAddError on mismatch. Without an adapter, external attachments are still added as-is, preserving the existing "no adapter required" guarantee for external sources.

fix· coreshow loading state for empty parts children API
fix· corehoist remote thread runtime binder out of unstable_Provider

RemoteThreadListAdapter.unstable_Provider is now allowed to render any subtree it likes; the runtime binding (composer state, __internal_setGetInitializePromise, runEnd → generateTitle listener) executes outside it. This fixes EMPTY_THREAD_ERROR when the Provider defers children (e.g. behind a history-loading state) and avoids the history-switch regression seen when only the binder, but not the init listeners, were hoisted. Adds a dev-mode warning when the Provider does not render children within ~100ms.

@assistant-ui/react@0.12.27patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ai-sdk@1.3.21patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-google-adk@0.0.8patchGitHub →

Fixes

2
fix· react-google-adkadd missing DictationAdapter to UseAdkRuntimeOptions
fix· react-google-adkpreserve file attachment data on the wire

useAdkRuntime.getMessageContent previously collapsed file message parts into a [File: <name>] text marker before sending to ADK, dropping the base64 payload entirely. new file and file_url variants on AdkMessageContentPart carry the binary through AdkClient and useAdkMessages.contentToParts, which serialize them as inlineData and fileData on the wire. inbound, AdkEventAccumulator sniffs MIME type so non-image inlineData produces a file part (rather than being silently coerced into image), and explicitly non-image fileData produces file_url; fileData with no MIME type falls back to image_url to preserve the legacy round-trip. convertAdkMessage maps file to a core FileMessagePart and file_url to a data part named "file_url".

@assistant-ui/react-hook-form@0.12.12patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ink@0.0.13patchGitHub →

Features

1
feat· react-inkrewrite react-ink composer input into a cursor aware terminal editor
@assistant-ui/react-ink-markdown@0.0.12patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-langchain@0.0.4patchGitHub →

Chores

2
choreupdate dependencies
choreupdate dependencies
@assistant-ui/react-langgraph@0.13.12patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-lexical@0.0.8patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-o11y@0.0.12patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-opencode@0.0.4patchGitHub →

Chores

2
choreupdate dependencies
choreupdate dependencies
@assistant-ui/store@0.2.9patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/tap@0.5.10patchGitHub →

Chores

1
choreupdate dependencies
heat-graph@0.0.7patchGitHub →

Chores

1
choreupdate dependencies
mcp-app-studio@0.7.12patchGitHub →

Chores

1
choreupdate dependencies
pypi/assistant-stream@0.0.32GitHub →

First assistant-stream release published via this workflow.

safe-content-frame@0.0.18patchGitHub →

Chores

1
choreupdate dependencies

Apr 24, 2026

31 packages

@assistant-ui/cloud-ai-sdk@0.1.12patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/core@0.1.15patchGitHub →

Features

3
feat· react-langgraphadd uiComponents option for static and dynamic data renderers

Add uiComponents option to useLangGraphRuntime for registering static data renderers by name and a fallback renderer for dynamic loading (e.g. LangSmith's LoadExternalComponent), directly from the runtime hook.

Core DataRenderers scope also gains a fallbacks stack (plus setFallbackDataUI method) that the adapter registers into; resolution is renderers[name][0]fallbacks[0] → inline Fallback.

feat· coreadd reload method on ThreadListRuntime and aui.threads that re-invokes the remote adapter's list and refreshes the thread list. Use this after asynchronous auth (e.g. OIDC, better-auth) completes to recover from an initial load that ran before the authenticated user was available. A generation counter ensures a mid-flight response from a superseded load cannot overwrite a newer reload's state.
feat· corelet runtimes provide an explicit isRunning that overrides the last-message-status heuristic. ExternalStoreAdapter.isRunning now flows through to thread.isRunning directly, so applications can keep the thread in a running state even after the last assistant message has completed (e.g. while non-message stream chunks like suggestions, step-finish, or metadata updates are still arriving). When a runtime does not provide isRunning, the previous last-message-based behavior is preserved.

Fixes

4
fix· coreedit composer no longer re-injects original file parts when user message attachments are modified. Non-text content parts on user messages are lifted into _attachments so attachment removals take effect and files aren't duplicated on resend; non-user messages keep the existing content pass-through.
fixuseExternalStoreRuntime now correctly initializes mainThreadId, threadIds, and archivedThreadIds from the adapter on first render. Previously they stayed at DEFAULT_THREAD_ID until the user switched threads, so isMain was false on initial load. Closes #2577.
fix· coreswitchToThread could duplicate a thread or leave it in both threadIds and archivedThreadIds when it raced with list. Both arrays are now filtered before the status-keyed append, matching the updateStatusReducer pattern.
fixuseAISDKRuntime now throws when the supplied ThreadHistoryAdapter omits withFormat, instead of silently dropping all history load/append/update calls. The optional-call chain historyAdapter.withFormat?.(…).load previously short-circuited to undefined. The withFormat-wrapped adapter is now memoized, and the persist effect short-circuits when no adapter is supplied (avoiding a redundant thread subscription). ThreadHistoryAdapter.withFormat gains a JSDoc note clarifying that it is required on the AI SDK path.

Refactors

1
refactorunify mention/slash under behavior sub-primitives; delete Mention/SlashCommand aliases and the execute field on Unstable_TriggerItem; split TriggerPopoverResource; rename react-lexical MentionNode/MentionPlugin/MentionChipProvider/mentionChip prop to DirectiveNode/DirectivePlugin/DirectiveChipProvider/directiveChip; fix IME/Unicode/copy-paste/undo bugs. Breaking (Unstable_ APIs): replace onSelect={{type:"insertDirective",formatter}} with <Unstable_TriggerPopover.Directive formatter={...}>; replace onSelect={{type:"action",handler}} with <Unstable_TriggerPopover.Action onExecute={...}>. Rename unstable_useToolMentionAdapterunstable_useMentionAdapter with new items/categories/includeModelContextTools options. unstable_useSlashCommandAdapter now returns { adapter, action }execute stays in the hook closure instead of on the item. Rename CSS class aui-mention-chipaui-directive-chip and attributes data-mention-*data-directive-*.

Chores

2
choreupdate dependencies
choreremove decorative separator comments across packages
@assistant-ui/mcp-docs-server@0.1.30patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react@0.12.26patchGitHub →

Features

2
feat· coreadd reload method on ThreadListRuntime and aui.threads that re-invokes the remote adapter's list and refreshes the thread list. Use this after asynchronous auth (e.g. OIDC, better-auth) completes to recover from an initial load that ran before the authenticated user was available. A generation counter ensures a mid-flight response from a superseded load cannot overwrite a newer reload's state.
featunify mention and slash command primitives under Unstable_TriggerPopover

Fixes

3
fixadd render prop support to dropdown menu primitives
fixprocess dropped attachments in parallel

Align drag-and-drop attachment handling with paste so multiple files appear together instead of appearing one by one.

fix· composersync mouse hover with keyboard highlight in TriggerPopover. Items and categories now update highlightedIndex on mouse move, keeping data-highlighted, aria-selected, and aria-activedescendant consistent with the hovered element. A new highlightIndex(index) method is exposed on the popover scope. Closes #3868.

Refactors

1
refactorunify mention/slash under behavior sub-primitives; delete Mention/SlashCommand aliases and the execute field on Unstable_TriggerItem; split TriggerPopoverResource; rename react-lexical MentionNode/MentionPlugin/MentionChipProvider/mentionChip prop to DirectiveNode/DirectivePlugin/DirectiveChipProvider/directiveChip; fix IME/Unicode/copy-paste/undo bugs. Breaking (Unstable_ APIs): replace onSelect={{type:"insertDirective",formatter}} with <Unstable_TriggerPopover.Directive formatter={...}>; replace onSelect={{type:"action",handler}} with <Unstable_TriggerPopover.Action onExecute={...}>. Rename unstable_useToolMentionAdapterunstable_useMentionAdapter with new items/categories/includeModelContextTools options. unstable_useSlashCommandAdapter now returns { adapter, action }execute stays in the hook closure instead of on the item. Rename CSS class aui-mention-chipaui-directive-chip and attributes data-mention-*data-directive-*.

Chores

2
choreupdate dependencies
choreremove decorative separator comments across packages
@assistant-ui/react-a2a@0.2.12patchGitHub →

Chores

2
choreupdate dependencies
choreremove decorative separator comments across packages
@assistant-ui/react-ag-ui@0.0.27patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ai-sdk@1.3.20patchGitHub →

Fixes

2
fixrequest body id in useChatRuntime is now the real thread id instead of the literal "DEFAULT_THREAD_ID". AssistantChatTransport was resolving remoteId from the inner ExternalStoreThreadListRuntimeCore (which only echoes its default id); it now uses the outer RemoteThreadListRuntimeCore that actually calls the adapter.
fixuseAISDKRuntime now throws when the supplied ThreadHistoryAdapter omits withFormat, instead of silently dropping all history load/append/update calls. The optional-call chain historyAdapter.withFormat?.(…).load previously short-circuited to undefined. The withFormat-wrapped adapter is now memoized, and the persist effect short-circuits when no adapter is supplied (avoiding a redundant thread subscription). ThreadHistoryAdapter.withFormat gains a JSDoc note clarifying that it is required on the AI SDK path.

Chores

1
choreupdate dependencies
@assistant-ui/react-google-adk@0.0.7patchGitHub →

Fixes

1
fix· react-google-adkreturn the ADK session id as remoteId from createAdkSessionAdapter.initialize. Previously the input threadId (an internal __LOCALID_*) was returned, so later delete(remoteId) calls hit /sessions/__LOCALID_* and 404'd — masked by the adapter's tolerated 404 on delete.

Chores

1
choreupdate dependencies
@assistant-ui/react-hook-form@0.12.11patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ink@0.0.12patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-ink-markdown@0.0.11patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-langchain@0.0.3patchGitHub →

Features

1
featadd useLangChainState<T>(key) hook to read arbitrary LangGraph custom state keys (e.g. todos, files) from the current thread, mirroring upstream useStream.values[key].

Chores

1
choreupdate dependencies
@assistant-ui/react-langgraph@0.13.11patchGitHub →

Features

4
feat· react-langgraphadd uiComponents option for static and dynamic data renderers

Add uiComponents option to useLangGraphRuntime for registering static data renderers by name and a fallback renderer for dynamic loading (e.g. LangSmith's LoadExternalComponent), directly from the runtime hook.

Core DataRenderers scope also gains a fallbacks stack (plus setFallbackDataUI method) that the adapter registers into; resolution is renderers[name][0]fallbacks[0] → inline Fallback.

featadd unstable_createLangGraphStream helper that builds a stream callback for useLangGraphRuntime with config.abortSignal and onDisconnect: "cancel" wired to client.runs.stream.
featadd unstable_threadListAdapter option to useLangGraphRuntime for backing the thread list with a custom RemoteThreadListAdapter (e.g. one backed by client.threads.search) without requiring assistant-cloud
featexpose subgraph (namespaced) events to useLangGraphRuntime / useLangGraphMessages callers. onMessageChunk now receives a namespace field in tupleMetadata for pipe-namespaced messages|<subgraph> events, and three new eventHandlers are available: onSubgraphValues(namespace, values), onSubgraphUpdates(namespace, updates), and onSubgraphError(namespace, error). Previously values|<ns> and updates|<ns> events were silently dropped, and error|<ns> events could not be attributed to a specific subgraph. Fully additive: top-level onValues / onUpdates / onError behaviour is unchanged (including the existing guarantee that subgraph errors do not mark the parent message as incomplete).

Fixes

3
fixset thread.isLoading during load handler in useLangGraphRuntime
fixprevent duplicate "Used tool" cards when LangGraph emits tool_call_chunks with an empty id followed by a chunk with the real id at the same index. appendLangChainChunk now also merges by index when either side has an empty id, and the resulting entry keeps whichever id is non-empty. As a defense-in-depth, convertLangChainMessages also synthesizes a stable lc-toolcall-${messageId}-${index} id when a tool_call still arrives at the converter with an empty id.
fixtool call status briefly flickers requires-action (error icon) before settling on complete during LangGraph streaming with subgraphs. The final reconcile now merges the values snapshot with tuple-accumulated state instead of replacing it, so tool results and subgraph-internal messages aren't dropped; metadata survives reconcile; isRunning flips to false atomically with the final message update (via new onComplete callback); and subgraph-level error events (pipe-namespaced) no longer mark parent AI messages as incomplete. Pipe-separated subgraph event names (e.g. messages|tools:call_abc) are now handled by stripping the namespace before matching.

Chores

1
choreupdate dependencies
@assistant-ui/react-lexical@0.0.7patchGitHub →

Features

1
featunify mention and slash command primitives under Unstable_TriggerPopover

Fixes

1
fixlexical composer scroll overflow

Refactors

1
refactorunify mention/slash under behavior sub-primitives; delete Mention/SlashCommand aliases and the execute field on Unstable_TriggerItem; split TriggerPopoverResource; rename react-lexical MentionNode/MentionPlugin/MentionChipProvider/mentionChip prop to DirectiveNode/DirectivePlugin/DirectiveChipProvider/directiveChip; fix IME/Unicode/copy-paste/undo bugs. Breaking (Unstable_ APIs): replace onSelect={{type:"insertDirective",formatter}} with <Unstable_TriggerPopover.Directive formatter={...}>; replace onSelect={{type:"action",handler}} with <Unstable_TriggerPopover.Action onExecute={...}>. Rename unstable_useToolMentionAdapterunstable_useMentionAdapter with new items/categories/includeModelContextTools options. unstable_useSlashCommandAdapter now returns { adapter, action }execute stays in the hook closure instead of on the item. Rename CSS class aui-mention-chipaui-directive-chip and attributes data-mention-*data-directive-*.

Chores

2
choreupdate dependencies
choreremove decorative separator comments across packages
@assistant-ui/react-markdown@0.12.11patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-native@0.1.12patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-o11y@0.0.11patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-opencode@0.0.3patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/react-streamdown@0.1.11patchGitHub →

Fixes

1
fixpass memoized code component to streamdown instead of invoking it as a function, and render CodeHeader when no SyntaxHighlighter is configured for a block

Chores

1
choreupdate dependencies
@assistant-ui/store@0.2.8patchGitHub →

Chores

1
choreupdate dependencies
@assistant-ui/tap@0.5.9patchGitHub →

Fixes

1
fixtapEffectEvent returned a frozen callback in production, breaking consumers that stored the reference externally (e.g. trigger popover plugin registry). Both dev and prod now use the same wrapper that reads the latest callback from the ref at call time — matching the documented "stable reference that always calls the most recent version" contract.

Chores

2
choreupdate dependencies
choreremove decorative separator comments across packages
@assistant-ui/x-buildutils@0.0.6patchGitHub →

Chores

1
choreupdate dependencies
assistant-cloud@0.1.27patchGitHub →

Chores

1
choreupdate dependencies
assistant-stream@0.3.12patchGitHub →

Chores

1
choreupdate dependencies
assistant-ui@0.0.90patchGitHub →

Chores

2
choreupdate dependencies
choreremove decorative separator comments across packages
create-assistant-ui@0.0.53patchGitHub →
heat-graph@0.0.6patchGitHub →

Chores

1
choreupdate dependencies
mcp-app-studio@0.7.11patchGitHub →

Chores

1
choreupdate dependencies
safe-content-frame@0.0.17patchGitHub →

Chores

1
choreupdate dependencies
tw-glass@0.0.5patchGitHub →

Other

1
misc1083599: fix: add "style" export condition for CSS entries so Tailwind CSS v4 @import can resolve packages
tw-shimmer@0.4.11patchGitHub →

Other

1
misc1083599: fix: add "style" export condition for CSS entries so Tailwind CSS v4 @import can resolve packages

Apr 13, 2026

33 packages

@assistant-ui/agent-launcher@0.1.4patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/cloud-ai-sdk@0.1.11patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/core@0.1.14patchGitHub →

Other

2
miscf20b9ca: feat: add ExportedMessageRepository.fromBranchableArray for constructing branching message trees from ThreadMessageLike messages
miscc988db8: chore: update dependencies
@assistant-ui/mcp-docs-server@0.1.29patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react@0.12.25patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-a2a@0.2.11patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-ag-ui@0.0.26patchGitHub →

Other

2
misc43fb4f7: fix(react-ag-ui): preserve user message attachments when converting to AG-UI format
  • toAgUiMessages() previously called extractText() for user messages, silently dropping image and file attachments
  • User messages with attachments now emit AG-UI InputContent[]: images map to the image variant with a data or url source, files map to the binary variant preserving filename
  • Falls back to plain string content when no binary parts are present, preserving backward compatibility
miscc988db8: chore: update dependencies
@assistant-ui/react-ai-sdk@1.3.19patchGitHub →

Other

2
miscc988db8: chore: update dependencies
misca5bce86: fix: preserve latest thread token usage during pending turns
@assistant-ui/react-data-stream@0.12.11patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-devtools@1.0.6patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-google-adk@0.0.6patchGitHub →

Other

4
misc147c1b8: fix(react-google-adk): render user-authored events as human messages

AdkEventAccumulator.processEvent previously routed author: "user" events through getOrCreateAiMessage, producing type: "ai" messages that convertAdkMessage mapped to role: "assistant" — so user text rendered as assistant bubbles. With Workflow agents this caused full multi-turn conversations to merge into a single assistant block. User events now create type: "human" messages, preserving text, inline images, and file references.

misc9abb15c: fix(react-google-adk): allow HITL interrupt tool UIs to render with requires-action status
  • makeAssistantToolUI for HITL tools (adk_request_input, etc.) can now use status.type === "requires-action" to render input forms
  • Non-HITL final events still receive their manual complete status
misc4d2531e: fix(react-google-adk): don't auto-cancel HITL interrupts when user sends a new message
  • useAdkRuntime.onNew now filters pending tool calls whose id is tracked in long_running_tool_ids, so ADK HITL interrupts (adk_request_input, adk_request_confirmation, adk_request_credential) are no longer overwritten with {cancelled: true} when the user types a new message
  • Add useAdkSubmitInput(toolCallId, result) to submit the user's answer as a {result} FunctionResponse, matching ADK's unwrap_response contract so Workflow RequestInput nodes resume with the unwrapped value
  • AdkEventAccumulator unions long_running_tool_ids across events instead of replacing, so multiple HITL interrupts in the same turn are all tracked
  • onEdit / onReload / session load paths now reset derived HITL state (longRunningToolIds, toolConfirmations, authRequests, escalated) via a new replaceMessages helper on useAdkMessages, so stale interrupt markers don't leak into the next turn

Behavior change: HITL interrupts must now be answered through a tool UI using the dedicated submit helpers (useAdkSubmitInput, useAdkConfirmTool, useAdkSubmitAuth). Typing in the composer while an interrupt is pending no longer sends a spurious cancellation.

miscc988db8: chore: update dependencies
@assistant-ui/react-hook-form@0.12.10patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-ink@0.0.11patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-ink-markdown@0.0.10patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-langchain@0.0.2patchGitHub →

Other

2
miscc988db8: chore: update dependencies
misc0ec6bcf: feat: add react-langchain package with useStreamRuntime hook for @langchain/react integration
@assistant-ui/react-langgraph@0.13.10patchGitHub →

Other

3
misc01d0dbe: feat(react-langgraph): support LangSmith Generative UI ui_message
  • Translate UI messages into DataMessageParts on the associated assistant message, rendered via the existing makeAssistantDataUI({ name, render }) API
  • Accumulate UI messages from both custom stream events (raw {type:"ui"} / {type:"remove-ui"}) and the values.ui state snapshot
  • Key UI entries by ui.id, shallow-merge props when metadata.merge === true, delete on type:"remove-ui"
  • Expose uiStateKey config option for graphs that customize the typedUi state key
  • Extend the load callback return type with uiMessages so persisted UI state can be restored on thread switch
  • Expose useLangGraphUIMessages() for accessing the raw UI message list
  • Export UIMessage, RemoveUIMessage, and UseLangGraphRuntimeOptions types

Behavior change: {type:"ui"} / {type:"remove-ui"} payloads received on the custom stream channel are now intercepted by the adapter before reaching eventHandlers.onCustomEvent. Other custom events still reach the handler unchanged.

miscc988db8: chore: update dependencies
misc8b51ffa: fix(react-langgraph): handle Bedrock tool_call_chunks with null id/name
@assistant-ui/react-lexical@0.0.6patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-markdown@0.12.9patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-native@0.1.11patchGitHub →

Other

2
misc0d2d2f3: fix: export ExportedMessageRepository and ExportedMessageRepositoryItem from react-native
miscc988db8: chore: update dependencies
@assistant-ui/react-o11y@0.0.10patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-opencode@0.0.2patchGitHub →

Other

2
miscc988db8: chore: update dependencies
misc11451c2: feat: initial experimental release of OpenCode runtime adapter
@assistant-ui/react-streamdown@0.1.10patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/react-syntax-highlighter@0.12.9patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/store@0.2.7patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/tap@0.5.8patchGitHub →

Other

1
miscc988db8: chore: update dependencies
@assistant-ui/x-buildutils@0.0.5patchGitHub →

Other

1
miscc988db8: chore: update dependencies
assistant-cloud@0.1.26patchGitHub →

Other

1
miscc988db8: chore: update dependencies
assistant-stream@0.3.11patchGitHub →

Other

1
miscc988db8: chore: update dependencies
assistant-ui@0.0.89patchGitHub →

Other

2
misc8d334f9: fix(cli): detect package manager from npm_config_user_agent before falling back to detect-package-manager
miscc988db8: chore: update dependencies
create-assistant-ui@0.0.52patchGitHub →
heat-graph@0.0.5patchGitHub →

Other

1
miscc988db8: chore: update dependencies
mcp-app-studio@0.7.10patchGitHub →

Other

1
miscc988db8: chore: update dependencies
safe-content-frame@0.0.16patchGitHub →

Other

1
miscc988db8: chore: update dependencies

Apr 6, 2026

27 packages

@assistant-ui/agent-launcher@0.1.3patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/cloud-ai-sdk@0.1.10patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/core@0.1.13patchGitHub →

Other

2
misc42bc640: feat: support edit lineage and startRun in EditComposer send flow
  • Add SendOptions with startRun flag to composer.send()
  • Expose parentId and sourceId on EditComposerState
  • Add EditComposerRuntimeCore interface extending ComposerRuntimeCore
  • Bypass text-unchanged guard when startRun is explicitly set
  • ComposerSendOptions extends SendOptions for consistent layering
misc87e7761: feat: generalize mention system into trigger popover architecture with slash command support
  • Introduce ComposerInputPlugin protocol to decouple ComposerInput from mention-specific code

  • Extract generic TriggerPopoverResource from MentionResource supporting multiple trigger characters

  • Add Unstable_TriggerItem, Unstable_TriggerCategory, Unstable_TriggerAdapter generic types

  • Add Unstable_SlashCommandAdapter, Unstable_SlashCommandItem types

  • Add ComposerPrimitive.Unstable_TriggerPopoverRoot and related primitives

  • Add ComposerPrimitive.Unstable_SlashCommandRoot and related primitives

  • Add unstable_useSlashCommandAdapter hook for building slash command adapters

  • Refactor MentionResource as thin wrapper around TriggerPopoverResource

  • Alias Unstable_MentionItem/Unstable_MentionAdapter to generic trigger types

  • Update react-lexical KeyboardPlugin to use plugin protocol

  • All existing Unstable_Mention* APIs remain unchanged

  • [email protected]

  • @assistant-ui/[email protected]

  • @assistant-ui/[email protected]

@assistant-ui/core@0.1.12patchGitHub →

Other

1
misc19b1024: fix(core): move initialThreadId/threadId handling from constructor to __internal_load to prevent SSR crash
@assistant-ui/mcp-docs-server@0.1.28patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react@0.12.24patchGitHub →

Other

4
misc42bc640: feat: support edit lineage and startRun in EditComposer send flow
  • Add SendOptions with startRun flag to composer.send()
  • Expose parentId and sourceId on EditComposerState
  • Add EditComposerRuntimeCore interface extending ComposerRuntimeCore
  • Bypass text-unchanged guard when startRun is explicitly set
  • ComposerSendOptions extends SendOptions for consistent layering
misce82726c: fix(react): forward viewport slack props from MessagePrimitive.Root
misc376bb00: chore: update dependencies
misc87e7761: feat: generalize mention system into trigger popover architecture with slash command support
  • Introduce ComposerInputPlugin protocol to decouple ComposerInput from mention-specific code

  • Extract generic TriggerPopoverResource from MentionResource supporting multiple trigger characters

  • Add Unstable_TriggerItem, Unstable_TriggerCategory, Unstable_TriggerAdapter generic types

  • Add Unstable_SlashCommandAdapter, Unstable_SlashCommandItem types

  • Add ComposerPrimitive.Unstable_TriggerPopoverRoot and related primitives

  • Add ComposerPrimitive.Unstable_SlashCommandRoot and related primitives

  • Add unstable_useSlashCommandAdapter hook for building slash command adapters

  • Refactor MentionResource as thin wrapper around TriggerPopoverResource

  • Alias Unstable_MentionItem/Unstable_MentionAdapter to generic trigger types

  • Update react-lexical KeyboardPlugin to use plugin protocol

  • All existing Unstable_Mention* APIs remain unchanged

  • @assistant-ui/[email protected]

  • [email protected]

  • @assistant-ui/[email protected]

@assistant-ui/react-a2a@0.2.10patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-ag-ui@0.0.25patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-ai-sdk@1.3.18patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-data-stream@0.12.10patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-devtools@1.0.5patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-google-adk@0.0.5patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-hook-form@0.12.9patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-ink@0.0.10patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-ink-markdown@0.0.9patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.9patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-lexical@0.0.5patchGitHub →

Other

1
misc87e7761: feat: generalize mention system into trigger popover architecture with slash command support
  • Introduce ComposerInputPlugin protocol to decouple ComposerInput from mention-specific code

  • Extract generic TriggerPopoverResource from MentionResource supporting multiple trigger characters

  • Add Unstable_TriggerItem, Unstable_TriggerCategory, Unstable_TriggerAdapter generic types

  • Add Unstable_SlashCommandAdapter, Unstable_SlashCommandItem types

  • Add ComposerPrimitive.Unstable_TriggerPopoverRoot and related primitives

  • Add ComposerPrimitive.Unstable_SlashCommandRoot and related primitives

  • Add unstable_useSlashCommandAdapter hook for building slash command adapters

  • Refactor MentionResource as thin wrapper around TriggerPopoverResource

  • Alias Unstable_MentionItem/Unstable_MentionAdapter to generic trigger types

  • Update react-lexical KeyboardPlugin to use plugin protocol

  • All existing Unstable_Mention* APIs remain unchanged

  • @assistant-ui/[email protected]

  • @assistant-ui/[email protected]

  • @assistant-ui/[email protected]

@assistant-ui/react-native@0.1.10patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/react-o11y@0.0.9patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/tap@0.5.7patchGitHub →

Other

1
misc376bb00: chore: update dependencies
@assistant-ui/x-buildutils@0.0.4patchGitHub →

Other

1
misc376bb00: chore: update dependencies
assistant-cloud@0.1.25patchGitHub →

Other

1
misc376bb00: chore: update dependencies
assistant-ui@0.0.88patchGitHub →

Other

1
misc376bb00: chore: update dependencies
create-assistant-ui@0.0.51patchGitHub →
mcp-app-studio@0.7.9patchGitHub →

Other

1
misc376bb00: chore: update dependencies
safe-content-frame@0.0.15patchGitHub →

Other

1
misc376bb00: chore: update dependencies
tw-shimmer@0.4.10patchGitHub →

Other

1
misc094fa56: fix: register shimmer-bg as standalone @utility for Tailwind v4 tooling recognition

Apr 5, 2026

4 packages

@assistant-ui/core@0.1.11patchGitHub →

Other

4
miscde29641: fix(core): start RemoteThreadList isLoading as true
misca8bf84b: feat(core): expose getLoadThreadsPromise on ThreadListRuntime public API
misc5fd5c3d: feat(core): add reactive threadId option to useRemoteThreadListRuntime for URL-based routing
miscec50e8a: fix(core): prevent resolved history tool calls from re-executing
@assistant-ui/react@0.12.23patchGitHub →

Other

3
misca8bf84b: feat(core): expose getLoadThreadsPromise on ThreadListRuntime public API
miscbdbd024: fix(core): set EMPTY_THREAD_CORE.isLoading to true to prevent Welcome page flash during thread switch
misc0958070: feat(core): add initialThreadId option to useRemoteThreadListRuntime
@assistant-ui/react-google-adk@0.0.4patchGitHub →

Other

1
misc5e23896: fix: skip partial functionCall events in AdkEventAccumulator to prevent incomplete tool calls from hanging the runtime
assistant-stream@0.3.10patchGitHub →

Other

1
misc2c5cd97: fix(assistant-stream): handle CRLF line endings in LineDecoderStream

Apr 2, 2026

30 packages

@assistant-ui/agent-launcher@0.1.2patchGitHub →

Other

1
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/cloud-ai-sdk@0.1.9patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/core@0.1.10patchGitHub →

Other

7
misc6554892: feat: add useAssistantContext for dynamic context injection

Register a callback-based context provider that injects computed text into the system prompt at evaluation time, ensuring the prompt always reflects current application state.

misc9103282: fix: resolve biome lint warnings (optional chaining, unused suppressions)
misc876f75d: feat: add interactable state persistence

Add persistence API to interactables with exportState/importState, debounced setPersistenceAdapter, per-id isPending/error tracking, flush() for immediate sync, and auto-flush on component unregister.

miscbdce66f: chore: update dependencies
misc4abb898: refactor: align interactables with codebase conventions
  • Rename useInteractable to useAssistantInteractable (registration only, returns id)
  • Add useInteractableState hook for reading/writing interactable state
  • Remove makeInteractable and related types
  • Rename UseInteractableConfig to AssistantInteractableProps
  • Extract buildInteractableModelContext from Interactables resource
  • Add with-interactables example to CLI
misc209ae81: chore: remove aui-source export condition from package.json exports
miscaf70d7f: feat: add useToolArgsStatus hook for per-prop streaming status

Add a convenience hook that derives per-property streaming completion status from tool call args using structural partial JSON analysis.

@assistant-ui/mcp-docs-server@0.1.27patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react@0.12.22patchGitHub →

Other

9
misc6554892: feat: add useAssistantContext for dynamic context injection

Register a callback-based context provider that injects computed text into the system prompt at evaluation time, ensuring the prompt always reflects current application state.

miscd726499: fix: unify assistant-transport request body format with AssistantChatTransport

callSettings and config are now sent as nested objects in the request body, aligned with the AI SDK transport. The old top-level spread is preserved for backward compatibility but deprecated and will be removed in a future version.

misc876f75d: feat: add interactable state persistence

Add persistence API to interactables with exportState/importState, debounced setPersistenceAdapter, per-id isPending/error tracking, flush() for immediate sync, and auto-flush on component unregister.

miscbdce66f: chore: update dependencies
miscc362685: feat: add RealtimeVoiceAdapter with VoiceOrb UI, mode/volume support, and ElevenLabs/LiveKit examples
misc4abb898: refactor: align interactables with codebase conventions
  • Rename useInteractable to useAssistantInteractable (registration only, returns id)
  • Add useInteractableState hook for reading/writing interactable state
  • Remove makeInteractable and related types
  • Rename UseInteractableConfig to AssistantInteractableProps
  • Extract buildInteractableModelContext from Interactables resource
  • Add with-interactables example to CLI
misc209ae81: chore: remove aui-source export condition from package.json exports
misc50b3100: feat: add render prop support to all primitives for shadcn "Base" component library compatibility
miscaf70d7f: feat: add useToolArgsStatus hook for per-prop streaming status

Add a convenience hook that derives per-property streaming completion status from tool call args using structural partial JSON analysis.

@assistant-ui/react-a2a@0.2.9patchGitHub →

Other

3
misc3344084: fix(react-a2a): align wire format with A2A v1.0 proto spec
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-ag-ui@0.0.24patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-ai-sdk@1.3.17patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-data-stream@0.12.9patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-devtools@1.0.4patchGitHub →

Other

1
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-google-adk@0.0.3patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-hook-form@0.12.8patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-ink@0.0.9patchGitHub →

Other

5
misc6554892: feat: add useAssistantContext for dynamic context injection

Register a callback-based context provider that injects computed text into the system prompt at evaluation time, ensuring the prompt always reflects current application state.

miscbdce66f: chore: update dependencies
misc4abb898: refactor: align interactables with codebase conventions
  • Rename useInteractable to useAssistantInteractable (registration only, returns id)
  • Add useInteractableState hook for reading/writing interactable state
  • Remove makeInteractable and related types
  • Rename UseInteractableConfig to AssistantInteractableProps
  • Extract buildInteractableModelContext from Interactables resource
  • Add with-interactables example to CLI
misc209ae81: chore: remove aui-source export condition from package.json exports
miscaf70d7f: feat: add useToolArgsStatus hook for per-prop streaming status

Add a convenience hook that derives per-property streaming completion status from tool call args using structural partial JSON analysis.

@assistant-ui/react-ink-markdown@0.0.8patchGitHub →

Other

3
misc9103282: fix: resolve biome lint warnings (optional chaining, unused suppressions)
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-langgraph@0.13.8patchGitHub →

Other

3
misc327e2ce: fix(react-langgraph): inject text part for attachment-only human messages
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-lexical@0.0.4patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-markdown@0.12.8patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-native@0.1.9patchGitHub →

Other

5
misc6554892: feat: add useAssistantContext for dynamic context injection

Register a callback-based context provider that injects computed text into the system prompt at evaluation time, ensuring the prompt always reflects current application state.

miscbdce66f: chore: update dependencies
misc4abb898: refactor: align interactables with codebase conventions
  • Rename useInteractable to useAssistantInteractable (registration only, returns id)
  • Add useInteractableState hook for reading/writing interactable state
  • Remove makeInteractable and related types
  • Rename UseInteractableConfig to AssistantInteractableProps
  • Extract buildInteractableModelContext from Interactables resource
  • Add with-interactables example to CLI
misc209ae81: chore: remove aui-source export condition from package.json exports
miscaf70d7f: feat: add useToolArgsStatus hook for per-prop streaming status

Add a convenience hook that derives per-property streaming completion status from tool call args using structural partial JSON analysis.

@assistant-ui/react-o11y@0.0.8patchGitHub →

Other

2
misc9103282: fix: resolve biome lint warnings (optional chaining, unused suppressions)
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-streamdown@0.1.9patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/react-syntax-highlighter@0.12.8patchGitHub →

Other

1
misc209ae81: chore: remove aui-source export condition from package.json exports
@assistant-ui/store@0.2.6patchGitHub →

Other

3
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
misc2dd0c9f: feat: add forwardTransformScopes utility
@assistant-ui/tap@0.5.6patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
assistant-cloud@0.1.24patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
assistant-stream@0.3.9patchGitHub →

Other

4
miscdffb6b4: feat: add data part type to streaming pipeline

Add DataPart as a new streamable content part type, enabling AI to send structured named data that renders via makeAssistantDataUI. Includes appendData() controller method and DataStream serialization support.

misc9103282: fix: resolve biome lint warnings (optional chaining, unused suppressions)
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
assistant-ui@0.0.87patchGitHub →

Other

4
misc69eb0c5: chore: add shipables.json for CLI plugin skills
misc9103282: fix: resolve biome lint warnings (optional chaining, unused suppressions)
miscbdce66f: chore: update dependencies
misc4abb898: refactor: align interactables with codebase conventions
  • Rename useInteractable to useAssistantInteractable (registration only, returns id)

  • Add useInteractableState hook for reading/writing interactable state

  • Remove makeInteractable and related types

  • Rename UseInteractableConfig to AssistantInteractableProps

  • Extract buildInteractableModelContext from Interactables resource

  • Add with-interactables example to CLI

  • @assistant-ui/[email protected]

create-assistant-ui@0.0.50patchGitHub →
heat-graph@0.0.4patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
mcp-app-studio@0.7.8patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports
safe-content-frame@0.0.14patchGitHub →

Other

2
miscbdce66f: chore: update dependencies
misc209ae81: chore: remove aui-source export condition from package.json exports

Mar 26, 2026

25 packages

@assistant-ui/cloud-ai-sdk@0.1.8patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/core@0.1.9patchGitHub →

Other

6
misc781f28d: feat: accept all file types and validate against adapter's accept constraint
misc3227e71: feat: add interactables with partial updates, multi-instance, and selection
  • useInteractable(name, config) hook and makeInteractable factory for registering AI-controllable UI
  • Interactables() scope resource with auto-generated update tools and system prompt injection
  • Partial updates — auto-generated tools use partial schemas so AI only sends changed fields
  • Multi-instance support — same name with different IDs get separate update_{name}_{id} tools
  • Selection — setSelected(true) marks an interactable as focused, surfaced as (SELECTED) in system prompt
misc0f55ce8: fix(core): hide phantom empty bubble when user message has no text content
misc83a15f7: feat(core): stream interactable state updates as tool args arrive
misc52403c3: chore: update dependencies
miscffa3a0f: feat(core): add attachmentAddError composer event
@assistant-ui/mcp-docs-server@0.1.26patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/react@0.12.21patchGitHub →

Other

2
misc3227e71: feat: add interactables with partial updates, multi-instance, and selection
  • useInteractable(name, config) hook and makeInteractable factory for registering AI-controllable UI
  • Interactables() scope resource with auto-generated update tools and system prompt injection
  • Partial updates — auto-generated tools use partial schemas so AI only sends changed fields
  • Multi-instance support — same name with different IDs get separate update_{name}_{id} tools
  • Selection — setSelected(true) marks an interactable as focused, surfaced as (SELECTED) in system prompt
misc52403c3: chore: update dependencies
@assistant-ui/react-a2a@0.2.8patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/react-ag-ui@0.0.23patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/react-ai-sdk@1.3.16patchGitHub →

Other

3
misc781f28d: feat: accept all file types and validate against adapter's accept constraint
misc0924711: fix(react-ai-sdk): convert assistant file parts to FileMessagePart instead of dropping them
misc52403c3: chore: update dependencies
@assistant-ui/react-google-adk@0.0.2patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/react-ink@0.0.8patchGitHub →

Other

2
misc3227e71: feat: add interactables with partial updates, multi-instance, and selection
  • useInteractable(name, config) hook and makeInteractable factory for registering AI-controllable UI
  • Interactables() scope resource with auto-generated update tools and system prompt injection
  • Partial updates — auto-generated tools use partial schemas so AI only sends changed fields
  • Multi-instance support — same name with different IDs get separate update_{name}_{id} tools
  • Selection — setSelected(true) marks an interactable as focused, surfaced as (SELECTED) in system prompt
misc52403c3: chore: update dependencies
@assistant-ui/react-ink-markdown@0.0.7patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/react-langgraph@0.13.7patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/react-lexical@0.0.3patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/react-markdown@0.12.7patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/react-native@0.1.8patchGitHub →

Other

2
misc3227e71: feat: add interactables with partial updates, multi-instance, and selection
  • useInteractable(name, config) hook and makeInteractable factory for registering AI-controllable UI
  • Interactables() scope resource with auto-generated update tools and system prompt injection
  • Partial updates — auto-generated tools use partial schemas so AI only sends changed fields
  • Multi-instance support — same name with different IDs get separate update_{name}_{id} tools
  • Selection — setSelected(true) marks an interactable as focused, surfaced as (SELECTED) in system prompt
misc52403c3: chore: update dependencies
@assistant-ui/react-o11y@0.0.7patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-streamdown@0.1.8patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/store@0.2.5patchGitHub →

Other

1
misc52403c3: chore: update dependencies
@assistant-ui/tap@0.5.5patchGitHub →

Other

1
misc52403c3: chore: update dependencies
assistant-cloud@0.1.23patchGitHub →

Other

1
misc52403c3: chore: update dependencies
assistant-stream@0.3.8patchGitHub →

Other

2
misc3227e71: feat: add toPartialJSONSchema utility for making JSON Schema properties optional
misc52403c3: chore: update dependencies
assistant-ui@0.0.86patchGitHub →

Other

1
misc52403c3: chore: update dependencies
create-assistant-ui@0.0.49patchGitHub →
heat-graph@0.0.3patchGitHub →

Other

1
misc52403c3: chore: update dependencies
mcp-app-studio@0.7.7patchGitHub →

Other

1
misc52403c3: chore: update dependencies
safe-content-frame@0.0.13patchGitHub →

Other

1
misc52403c3: chore: update dependencies

Mar 23, 2026

22 packages

@assistant-ui/cloud-ai-sdk@0.1.7patchGitHub →

Other

2
misc736344c: chore: update dependencies
miscc71cb58: chore: update dependencies
@assistant-ui/core@0.1.8patchGitHub →

Other

6
misc1406aed: fix(core): prevent stale list response from undoing concurrent delete/archive/unarchive in OptimisticState
misc9480f30: fix(core): stop thread runtime on delete to prevent store crash
misc28a987a: feat: SingleThreadList resource

refactor: attachTransformScopes should mutate the scopes instead of cloning it

misc736344c: chore: update dependencies
miscff3be2a: Add @-mention system with cursor-aware trigger detection, keyboard navigation, search, and Lexical rich editor support
misc70b19f3: feat: add native queue and steer support
  • Add queue adapter to ExternalThreadProps for runtimes that support message queuing

  • Add QueueItemPrimitive.Text, .Steer, .Remove primitives for rendering queue items

  • Add ComposerPrimitive.Queue for rendering the queue list within the composer

  • Add ComposerSendOptions with steer flag to composer.send()

  • Add capabilities.queue to RuntimeCapabilities

  • ComposerPrimitive.Send stays enabled during runs when queue is supported

  • Cmd/Ctrl+Shift+Enter hotkey sends with steer: true (interrupt current run)

  • Add queueItem scope to ScopeRegistry

  • Add queue field to ComposerState and queueItem() method to ComposerMethods

  • @assistant-ui/[email protected]

  • [email protected]

  • @assistant-ui/[email protected]

@assistant-ui/react@0.12.20patchGitHub →

Other

6
misc28a987a: feat: SingleThreadList resource

refactor: attachTransformScopes should mutate the scopes instead of cloning it

misc736344c: chore: update dependencies
miscff3be2a: Add @-mention system with cursor-aware trigger detection, keyboard navigation, search, and Lexical rich editor support
misc70b19f3: feat: add queue.clear callback, route thread.append through queue
  • Add clear(reason: "edit" | "reload" | "cancel-run") to ExternalThreadQueueAdapter
  • thread.append() now routes through queue.enqueue when a queue adapter is present
  • Cancel, edit, and reload operations call queue.clear with the appropriate reason
misc70b19f3: feat: add native queue and steer support
  • Add queue adapter to ExternalThreadProps for runtimes that support message queuing
  • Add QueueItemPrimitive.Text, .Steer, .Remove primitives for rendering queue items
  • Add ComposerPrimitive.Queue for rendering the queue list within the composer
  • Add ComposerSendOptions with steer flag to composer.send()
  • Add capabilities.queue to RuntimeCapabilities
  • ComposerPrimitive.Send stays enabled during runs when queue is supported
  • Cmd/Ctrl+Shift+Enter hotkey sends with steer: true (interrupt current run)
  • Add queueItem scope to ScopeRegistry
  • Add queue field to ComposerState and queueItem() method to ComposerMethods
miscc71cb58: chore: update dependencies
@assistant-ui/react-ag-ui@0.0.22patchGitHub →

Other

1
misc736344c: chore: update dependencies
@assistant-ui/react-ai-sdk@1.3.15patchGitHub →

Other

3
misc01a59da: fix(react-ai-sdk): preserve runConfig.custom metadata after tool call resume in human-in-the-loop tools
misc736344c: chore: update dependencies
miscc71cb58: chore: update dependencies
@assistant-ui/react-data-stream@0.12.8patchGitHub →

Other

1
misc736344c: chore: update dependencies
@assistant-ui/react-hook-form@0.12.7patchGitHub →

Other

2
misc736344c: chore: update dependencies
miscc71cb58: chore: update dependencies
@assistant-ui/react-ink@0.0.7patchGitHub →

Other

2
misc3247231: feat(react-ink): add DiffPrimitive and DiffView for terminal diff rendering
misc736344c: chore: update dependencies
@assistant-ui/react-ink-markdown@0.0.6patchGitHub →

Other

1
misc736344c: chore: update dependencies
@assistant-ui/react-langgraph@0.13.6patchGitHub →

Other

2
misc736344c: chore: update dependencies
miscc71cb58: chore: update dependencies
@assistant-ui/react-lexical@0.0.2patchGitHub →

Other

3
misc736344c: chore: update dependencies
miscff3be2a: Add @-mention system with cursor-aware trigger detection, keyboard navigation, search, and Lexical rich editor support
miscc71cb58: chore: update dependencies
@assistant-ui/react-native@0.1.7patchGitHub →

Other

1
misc736344c: chore: update dependencies
@assistant-ui/react-o11y@0.0.6patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-streamdown@0.1.7patchGitHub →

Other

2
misc736344c: chore: update dependencies
misc3bd38ed: fix(react-streamdown): preserve data-block in PreOverride for block code detection
@assistant-ui/store@0.2.4patchGitHub →

Other

3
misc28a987a: feat: SingleThreadList resource

refactor: attachTransformScopes should mutate the scopes instead of cloning it

misc736344c: chore: update dependencies
miscc71cb58: chore: update dependencies
@assistant-ui/tap@0.5.4patchGitHub →

Other

2
misc736344c: chore: update dependencies
miscc71cb58: chore: update dependencies
assistant-stream@0.3.7patchGitHub →

Other

1
misc736344c: chore: update dependencies
assistant-ui@0.0.85patchGitHub →

Other

2
misc6becd84: feat: add info command to print environment and package versions for bug reports
miscc71cb58: chore: update dependencies
create-assistant-ui@0.0.48patchGitHub →
heat-graph@0.0.2patchGitHub →

Other

2
misc736344c: chore: update dependencies
miscc71cb58: chore: update dependencies
mcp-app-studio@0.7.6patchGitHub →

Other

1
miscc71cb58: chore: update dependencies
safe-content-frame@0.0.12patchGitHub →

Other

1
miscc71cb58: chore: update dependencies

Mar 17, 2026

31 packages

@assistant-ui/agent-launcher@0.1.1patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/cloud-ai-sdk@0.1.6patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/core@0.1.7patchGitHub →

Other

1
misc7ecc497: feat: children API for primitives with part.toolUI, part.dataRendererUI, and MessagePrimitive.Quote
@assistant-ui/mcp-docs-server@0.1.25patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/react@0.12.19patchGitHub →

Other

1
misc7ecc497: feat: children API for primitives with part.toolUI, part.dataRendererUI, and MessagePrimitive.Quote
@assistant-ui/react-a2a@0.2.7patchGitHub →

Other

1
misca1b68b1: rewrite to align with A2A v1.0 protocol specification
@assistant-ui/react-ag-ui@0.0.21patchGitHub →

Other

2
misc349f3c7: chore: update deps
misc619d923: Depend on @assistant-ui/core instead of @assistant-ui/react
@assistant-ui/react-ai-sdk@1.3.14patchGitHub →

Other

2
misc349f3c7: chore: update deps
misc642bcda: Add quote.tsx registry components and injectQuoteContext helper
@assistant-ui/react-data-stream@0.12.7patchGitHub →

Other

2
misc349f3c7: chore: update deps
misc619d923: Depend on @assistant-ui/core instead of @assistant-ui/react
@assistant-ui/react-devtools@1.0.3patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/react-hook-form@0.12.6patchGitHub →

Other

2
misc349f3c7: chore: update deps
misc619d923: Depend on @assistant-ui/core instead of @assistant-ui/react
@assistant-ui/react-ink@0.0.6patchGitHub →

Other

2
misc7ecc497: feat: children API for primitives with part.toolUI, part.dataRendererUI, and MessagePrimitive.Quote
misc639792c: feat(react-ink): add ErrorPrimitive (Root, Message)
@assistant-ui/react-ink-markdown@0.0.5patchGitHub →

Other

1
misc@assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.5patchGitHub →

Other

1
misce4bc32e: fix(react-langgraph): support messages from non-LLM LangGraph nodes via updates and values events
@assistant-ui/react-markdown@0.12.6patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/react-native@0.1.6patchGitHub →

Other

1
misc7ecc497: feat: children API for primitives with part.toolUI, part.dataRendererUI, and MessagePrimitive.Quote
@assistant-ui/react-o11y@0.0.5patchGitHub →

Other

1
misc7ecc497: feat: children API for primitives with part.toolUI, part.dataRendererUI, and MessagePrimitive.Quote
@assistant-ui/react-streamdown@0.1.6patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/react-syntax-highlighter@0.12.7patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/store@0.2.3patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/tap@0.5.3patchGitHub →

Other

1
misc349f3c7: chore: update deps
@assistant-ui/x-buildutils@0.0.3patchGitHub →

Other

1
misc349f3c7: chore: update deps
assistant-cloud@0.1.22patchGitHub →

Other

1
misc349f3c7: chore: update deps
assistant-stream@0.3.6patchGitHub →

Other

3
misc427ffaa: refactor: drop all barrel files
misc349f3c7: chore: update deps
misc02614aa: feat: add multi-agent support
  • ReadonlyThreadProvider and MessagePartPrimitive.Messages for rendering sub-agent messages
  • assistant-stream: add messages field to tool-result chunks, ToolResponseLike, and ToolCallPart types, enabling sub-agent messages to flow through the streaming protocol
assistant-ui@0.0.84patchGitHub →

Other

2
misc349f3c7: chore: update deps
miscdbb2929: Improve CLI project creation error handling and transform sequencing in

assistant-ui.

create-assistant-ui@0.0.47patchGitHub →

Other

1
misc349f3c7: chore: update deps
heat-graph@0.0.1patchGitHub →

Other

1
misc349f3c7: chore: update deps
mcp-app-studio@0.7.5patchGitHub →

Other

1
misc349f3c7: chore: update deps
safe-content-frame@0.0.11patchGitHub →

Other

1
misc349f3c7: chore: update deps
tw-glass@0.0.4patchGitHub →

Other

1
misc349f3c7: chore: update deps
tw-shimmer@0.4.9patchGitHub →

Other

1
misc349f3c7: chore: update deps