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
2composer.attachmentAddError event with typed payloadThe 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.
<MessagePrimitive.GroupedParts> for hierarchical adjacent grouping of message partsIntroduces 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
1Users 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./* wildcard export and surface internal attachment status typesThe ./* 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<MessagePrimitive.GroupedParts> for hierarchical adjacent grouping of message partsIntroduces 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/[email protected]
@assistant-ui/react-native@0.1.13patchGitHub →
Features
1<MessagePrimitive.GroupedParts> for hierarchical adjacent grouping of message partsIntroduces 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/[email protected]
Apr 29, 2026
19 packages
@assistant-ui/core@0.1.16patchGitHub →
Features
1custom slot to RemoteThreadMetadata and ThreadListItemStateallows 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 } }.
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
Fixes
4adapter.accept when adding external CreateAttachmentcomposer.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.
unstable_ProviderRemoteThreadListAdapter.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- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ai-sdk@1.3.21patchGitHub →
Chores
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-google-adk@0.0.8patchGitHub →
Fixes
2useAdkRuntime.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/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-hook-form@0.12.12patchGitHub →
Chores
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.13patchGitHub →
Features
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.12patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langchain@0.0.4patchGitHub →
Chores
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.12patchGitHub →
Chores
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-lexical@0.0.8patchGitHub →
Chores
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.12patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-opencode@0.0.4patchGitHub →
@assistant-ui/store@0.2.9patchGitHub →
Chores
1pypi/assistant-stream@0.0.32GitHub →
First assistant-stream release published via this workflow.
Apr 24, 2026
31 packages
@assistant-ui/cloud-ai-sdk@0.1.12patchGitHub →
Chores
1@assistant-ui/core@0.1.15patchGitHub →
Features
3Add 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.
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.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_attachments so attachment removals take effect and files aren't duplicated on resend; non-user messages keep the existing content pass-through.useExternalStoreRuntime 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.switchToThread 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.useAISDKRuntime 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
1execute 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_useToolMentionAdapter → unstable_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-chip → aui-directive-chip and attributes data-mention-* → data-directive-*.- [email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/mcp-docs-server@0.1.30patchGitHub →
@assistant-ui/react@0.12.26patchGitHub →
Features
2reload 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.Unstable_TriggerPopover- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
Fixes
3Align drag-and-drop attachment handling with paste so multiple files appear together instead of appearing one by one.
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
1execute 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_useToolMentionAdapter → unstable_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-chip → aui-directive-chip and attributes data-mention-* → data-directive-*.@assistant-ui/react-a2a@0.2.12patchGitHub →
Chores
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ag-ui@0.0.27patchGitHub →
Chores
1@assistant-ui/react-ai-sdk@1.3.20patchGitHub →
Fixes
2id 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.useAISDKRuntime 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.- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-google-adk@0.0.7patchGitHub →
Fixes
1remoteId 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- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-hook-form@0.12.11patchGitHub →
Chores
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.12patchGitHub →
Chores
1- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.11patchGitHub →
Chores
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langchain@0.0.3patchGitHub →
Features
1useLangChainState<T>(key) hook to read arbitrary LangGraph custom state keys (e.g. todos, files) from the current thread, mirroring upstream useStream.values[key].- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.11patchGitHub →
Features
4Add 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.
unstable_createLangGraphStream helper that builds a stream callback for useLangGraphRuntime with config.abortSignal and onDisconnect: "cancel" wired to client.runs.stream.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-clouduseLangGraphRuntime / 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).- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
Fixes
3tool_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.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.@assistant-ui/react-lexical@0.0.7patchGitHub →
Features
1Unstable_TriggerPopover- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
Fixes
1Refactors
1execute 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_useToolMentionAdapter → unstable_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-chip → aui-directive-chip and attributes data-mention-* → data-directive-*.@assistant-ui/react-markdown@0.12.11patchGitHub →
Chores
1@assistant-ui/react-native@0.1.12patchGitHub →
Chores
1- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.11patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-opencode@0.0.3patchGitHub →
Chores
1@assistant-ui/react-streamdown@0.1.11patchGitHub →
@assistant-ui/store@0.2.8patchGitHub →
Chores
1@assistant-ui/tap@0.5.9patchGitHub →
Fixes
1assistant-cloud@0.1.27patchGitHub →
Chores
1assistant-ui@0.0.90patchGitHub →
create-assistant-ui@0.0.53patchGitHub →
Other
1tw-glass@0.0.5patchGitHub →
Other
1@import can resolve packagestw-shimmer@0.4.11patchGitHub →
Other
1@import can resolve packagesApr 13, 2026
33 packages
@assistant-ui/agent-launcher@0.1.4patchGitHub →
Other
1@assistant-ui/cloud-ai-sdk@0.1.11patchGitHub →
Other
1@assistant-ui/core@0.1.14patchGitHub →
Other
2- [email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/mcp-docs-server@0.1.29patchGitHub →
Other
1@assistant-ui/react@0.12.25patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-a2a@0.2.11patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ag-ui@0.0.26patchGitHub →
Other
2toAgUiMessages()previously calledextractText()for user messages, silently dropping image and file attachments- User messages with attachments now emit AG-UI
InputContent[]: images map to theimagevariant with adataorurlsource, files map to thebinaryvariant preservingfilename - Falls back to plain string
contentwhen no binary parts are present, preserving backward compatibility
- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-ai-sdk@1.3.19patchGitHub →
Other
2- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-data-stream@0.12.11patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
- [email protected]
@assistant-ui/react-devtools@1.0.6patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-google-adk@0.0.6patchGitHub →
Other
4AdkEventAccumulator.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.
requires-action statusmakeAssistantToolUIfor HITL tools (adk_request_input, etc.) can now usestatus.type === "requires-action"to render input forms- Non-HITL final events still receive their manual
completestatus
useAdkRuntime.onNewnow filters pending tool calls whose id is tracked inlong_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'sunwrap_responsecontract so WorkflowRequestInputnodes resume with the unwrapped value AdkEventAccumulatorunionslong_running_tool_idsacross events instead of replacing, so multiple HITL interrupts in the same turn are all trackedonEdit/onReload/ session load paths now reset derived HITL state (longRunningToolIds,toolConfirmations,authRequests,escalated) via a newreplaceMessageshelper onuseAdkMessages, 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.
- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-hook-form@0.12.10patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.11patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.10patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langchain@0.0.2patchGitHub →
Other
2- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.10patchGitHub →
Other
3ui_message- Translate UI messages into
DataMessageParts on the associated assistant message, rendered via the existingmakeAssistantDataUI({ name, render })API - Accumulate UI messages from both
customstream events (raw{type:"ui"}/{type:"remove-ui"}) and thevalues.uistate snapshot - Key UI entries by
ui.id, shallow-merge props whenmetadata.merge === true, delete ontype:"remove-ui" - Expose
uiStateKeyconfig option for graphs that customize thetypedUistate key - Extend the
loadcallback return type withuiMessagesso persisted UI state can be restored on thread switch - Expose
useLangGraphUIMessages()for accessing the raw UI message list - Export
UIMessage,RemoveUIMessage, andUseLangGraphRuntimeOptionstypes
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.
- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-lexical@0.0.6patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-markdown@0.12.9patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-native@0.1.11patchGitHub →
Other
2- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.10patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-opencode@0.0.2patchGitHub →
Other
2- @assistant-ui/[email protected]
@assistant-ui/react-streamdown@0.1.10patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-syntax-highlighter@0.12.9patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/store@0.2.7patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/tap@0.5.8patchGitHub →
Other
1@assistant-ui/x-buildutils@0.0.5patchGitHub →
Other
1assistant-cloud@0.1.26patchGitHub →
Other
1assistant-stream@0.3.11patchGitHub →
Other
1assistant-ui@0.0.89patchGitHub →
Other
2- @assistant-ui/[email protected]
create-assistant-ui@0.0.52patchGitHub →
Other
1heat-graph@0.0.5patchGitHub →
Other
1mcp-app-studio@0.7.10patchGitHub →
Other
1safe-content-frame@0.0.16patchGitHub →
Other
1Apr 6, 2026
27 packages
@assistant-ui/agent-launcher@0.1.3patchGitHub →
Other
1@assistant-ui/cloud-ai-sdk@0.1.10patchGitHub →
Other
1@assistant-ui/core@0.1.13patchGitHub →
Other
2- Add
SendOptionswithstartRunflag tocomposer.send() - Expose
parentIdandsourceIdonEditComposerState - Add
EditComposerRuntimeCoreinterface extendingComposerRuntimeCore - Bypass text-unchanged guard when
startRunis explicitly set ComposerSendOptionsextendsSendOptionsfor consistent layering
-
Introduce
ComposerInputPluginprotocol to decouple ComposerInput from mention-specific code -
Extract generic
TriggerPopoverResourcefromMentionResourcesupporting multiple trigger characters -
Add
Unstable_TriggerItem,Unstable_TriggerCategory,Unstable_TriggerAdaptergeneric types -
Add
Unstable_SlashCommandAdapter,Unstable_SlashCommandItemtypes -
Add
ComposerPrimitive.Unstable_TriggerPopoverRootand related primitives -
Add
ComposerPrimitive.Unstable_SlashCommandRootand related primitives -
Add
unstable_useSlashCommandAdapterhook for building slash command adapters -
Refactor
MentionResourceas thin wrapper aroundTriggerPopoverResource -
Alias
Unstable_MentionItem/Unstable_MentionAdapterto generic trigger types -
Update
react-lexicalKeyboardPluginto use plugin protocol -
All existing
Unstable_Mention*APIs remain unchanged -
@assistant-ui/[email protected]
-
@assistant-ui/[email protected]
@assistant-ui/core@0.1.12patchGitHub →
Other
1@assistant-ui/mcp-docs-server@0.1.28patchGitHub →
Other
1@assistant-ui/react@0.12.24patchGitHub →
Other
4- Add
SendOptionswithstartRunflag tocomposer.send() - Expose
parentIdandsourceIdonEditComposerState - Add
EditComposerRuntimeCoreinterface extendingComposerRuntimeCore - Bypass text-unchanged guard when
startRunis explicitly set ComposerSendOptionsextendsSendOptionsfor consistent layering
-
Introduce
ComposerInputPluginprotocol to decouple ComposerInput from mention-specific code -
Extract generic
TriggerPopoverResourcefromMentionResourcesupporting multiple trigger characters -
Add
Unstable_TriggerItem,Unstable_TriggerCategory,Unstable_TriggerAdaptergeneric types -
Add
Unstable_SlashCommandAdapter,Unstable_SlashCommandItemtypes -
Add
ComposerPrimitive.Unstable_TriggerPopoverRootand related primitives -
Add
ComposerPrimitive.Unstable_SlashCommandRootand related primitives -
Add
unstable_useSlashCommandAdapterhook for building slash command adapters -
Refactor
MentionResourceas thin wrapper aroundTriggerPopoverResource -
Alias
Unstable_MentionItem/Unstable_MentionAdapterto generic trigger types -
Update
react-lexicalKeyboardPluginto use plugin protocol -
All existing
Unstable_Mention*APIs remain unchanged -
@assistant-ui/[email protected]
-
@assistant-ui/[email protected]
@assistant-ui/react-a2a@0.2.10patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-ag-ui@0.0.25patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-ai-sdk@1.3.18patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-data-stream@0.12.10patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-devtools@1.0.5patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-google-adk@0.0.5patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-hook-form@0.12.9patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.10patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.9patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.9patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-lexical@0.0.5patchGitHub →
Other
1-
Introduce
ComposerInputPluginprotocol to decouple ComposerInput from mention-specific code -
Extract generic
TriggerPopoverResourcefromMentionResourcesupporting multiple trigger characters -
Add
Unstable_TriggerItem,Unstable_TriggerCategory,Unstable_TriggerAdaptergeneric types -
Add
Unstable_SlashCommandAdapter,Unstable_SlashCommandItemtypes -
Add
ComposerPrimitive.Unstable_TriggerPopoverRootand related primitives -
Add
ComposerPrimitive.Unstable_SlashCommandRootand related primitives -
Add
unstable_useSlashCommandAdapterhook for building slash command adapters -
Refactor
MentionResourceas thin wrapper aroundTriggerPopoverResource -
Alias
Unstable_MentionItem/Unstable_MentionAdapterto generic trigger types -
Update
react-lexicalKeyboardPluginto 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- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.9patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/tap@0.5.7patchGitHub →
Other
1@assistant-ui/x-buildutils@0.0.4patchGitHub →
Other
1assistant-cloud@0.1.25patchGitHub →
Other
1assistant-ui@0.0.88patchGitHub →
Other
1- @assistant-ui/[email protected]
create-assistant-ui@0.0.51patchGitHub →
Other
1mcp-app-studio@0.7.9patchGitHub →
Other
1safe-content-frame@0.0.15patchGitHub →
Other
1tw-shimmer@0.4.10patchGitHub →
Other
1Apr 5, 2026
4 packages
@assistant-ui/core@0.1.11patchGitHub →
Other
4getLoadThreadsPromise on ThreadListRuntime public APIthreadId option to useRemoteThreadListRuntime for URL-based routing@assistant-ui/react@0.12.23patchGitHub →
Other
3getLoadThreadsPromise on ThreadListRuntime public APIinitialThreadId option to useRemoteThreadListRuntime- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-google-adk@0.0.4patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
assistant-stream@0.3.10patchGitHub →
Other
1Apr 2, 2026
30 packages
@assistant-ui/agent-launcher@0.1.2patchGitHub →
Other
1@assistant-ui/cloud-ai-sdk@0.1.9patchGitHub →
Other
2@assistant-ui/core@0.1.10patchGitHub →
Other
7Register a callback-based context provider that injects computed text into the system prompt at evaluation time, ensuring the prompt always reflects current application state.
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.
- Rename
useInteractabletouseAssistantInteractable(registration only, returns id) - Add
useInteractableStatehook for reading/writing interactable state - Remove
makeInteractableand related types - Rename
UseInteractableConfigtoAssistantInteractableProps - Extract
buildInteractableModelContextfromInteractablesresource - Add
with-interactablesexample to CLI
Add a convenience hook that derives per-property streaming completion status from tool call args using structural partial JSON analysis.
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/mcp-docs-server@0.1.27patchGitHub →
Other
2@assistant-ui/react@0.12.22patchGitHub →
Other
9Register a callback-based context provider that injects computed text into the system prompt at evaluation time, ensuring the prompt always reflects current application state.
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.
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.
- Rename
useInteractabletouseAssistantInteractable(registration only, returns id) - Add
useInteractableStatehook for reading/writing interactable state - Remove
makeInteractableand related types - Rename
UseInteractableConfigtoAssistantInteractableProps - Extract
buildInteractableModelContextfromInteractablesresource - Add
with-interactablesexample to CLI
Add a convenience hook that derives per-property streaming completion status from tool call args using structural partial JSON analysis.
- [email protected]
- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-a2a@0.2.9patchGitHub →
Other
3- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ag-ui@0.0.24patchGitHub →
Other
2- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ai-sdk@1.3.17patchGitHub →
Other
2- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-data-stream@0.12.9patchGitHub →
Other
2- [email protected]
- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-devtools@1.0.4patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-google-adk@0.0.3patchGitHub →
Other
2- [email protected]
- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-hook-form@0.12.8patchGitHub →
Other
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.9patchGitHub →
Other
5Register a callback-based context provider that injects computed text into the system prompt at evaluation time, ensuring the prompt always reflects current application state.
- Rename
useInteractabletouseAssistantInteractable(registration only, returns id) - Add
useInteractableStatehook for reading/writing interactable state - Remove
makeInteractableand related types - Rename
UseInteractableConfigtoAssistantInteractableProps - Extract
buildInteractableModelContextfromInteractablesresource - Add
with-interactablesexample to CLI
Add a convenience hook that derives per-property streaming completion status from tool call args using structural partial JSON analysis.
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.8patchGitHub →
Other
3- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.8patchGitHub →
Other
3- [email protected]
- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-lexical@0.0.4patchGitHub →
Other
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-markdown@0.12.8patchGitHub →
Other
2- @assistant-ui/[email protected]
@assistant-ui/react-native@0.1.9patchGitHub →
Other
5Register a callback-based context provider that injects computed text into the system prompt at evaluation time, ensuring the prompt always reflects current application state.
- Rename
useInteractabletouseAssistantInteractable(registration only, returns id) - Add
useInteractableStatehook for reading/writing interactable state - Remove
makeInteractableand related types - Rename
UseInteractableConfigtoAssistantInteractableProps - Extract
buildInteractableModelContextfromInteractablesresource - Add
with-interactablesexample to CLI
Add a convenience hook that derives per-property streaming completion status from tool call args using structural partial JSON analysis.
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.8patchGitHub →
Other
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-streamdown@0.1.9patchGitHub →
Other
2- @assistant-ui/[email protected]
@assistant-ui/react-syntax-highlighter@0.12.8patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/store@0.2.6patchGitHub →
Other
3- @assistant-ui/[email protected]
@assistant-ui/tap@0.5.6patchGitHub →
Other
2assistant-cloud@0.1.24patchGitHub →
Other
2assistant-stream@0.3.9patchGitHub →
Other
4Add 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.
assistant-ui@0.0.87patchGitHub →
Other
4-
Rename
useInteractabletouseAssistantInteractable(registration only, returns id) -
Add
useInteractableStatehook for reading/writing interactable state -
Remove
makeInteractableand related types -
Rename
UseInteractableConfigtoAssistantInteractableProps -
Extract
buildInteractableModelContextfromInteractablesresource -
Add
with-interactablesexample to CLI -
@assistant-ui/[email protected]
create-assistant-ui@0.0.50patchGitHub →
Other
1heat-graph@0.0.4patchGitHub →
Other
2mcp-app-studio@0.7.8patchGitHub →
Other
2safe-content-frame@0.0.14patchGitHub →
Other
2Mar 26, 2026
25 packages
@assistant-ui/cloud-ai-sdk@0.1.8patchGitHub →
Other
1@assistant-ui/core@0.1.9patchGitHub →
Other
6useInteractable(name, config)hook andmakeInteractablefactory for registering AI-controllable UIInteractables()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
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/mcp-docs-server@0.1.26patchGitHub →
Other
1@assistant-ui/react@0.12.21patchGitHub →
Other
2useInteractable(name, config)hook andmakeInteractablefactory for registering AI-controllable UIInteractables()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
- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-a2a@0.2.8patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ag-ui@0.0.23patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-ai-sdk@1.3.16patchGitHub →
Other
3- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-google-adk@0.0.2patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.8patchGitHub →
Other
2useInteractable(name, config)hook andmakeInteractablefactory for registering AI-controllable UIInteractables()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
- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.7patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.7patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-lexical@0.0.3patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-markdown@0.12.7patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-native@0.1.8patchGitHub →
Other
2useInteractable(name, config)hook andmakeInteractablefactory for registering AI-controllable UIInteractables()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
- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.7patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-streamdown@0.1.8patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/store@0.2.5patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/tap@0.5.5patchGitHub →
Other
1assistant-cloud@0.1.23patchGitHub →
Other
1assistant-stream@0.3.8patchGitHub →
Other
2toPartialJSONSchema utility for making JSON Schema properties optionalassistant-ui@0.0.86patchGitHub →
Other
1create-assistant-ui@0.0.49patchGitHub →
Other
1heat-graph@0.0.3patchGitHub →
Other
1mcp-app-studio@0.7.7patchGitHub →
Other
1safe-content-frame@0.0.13patchGitHub →
Other
1Mar 23, 2026
22 packages
@assistant-ui/cloud-ai-sdk@0.1.7patchGitHub →
Other
2@assistant-ui/core@0.1.8patchGitHub →
Other
6refactor: attachTransformScopes should mutate the scopes instead of cloning it
-
Add
queueadapter toExternalThreadPropsfor runtimes that support message queuing -
Add
QueueItemPrimitive.Text,.Steer,.Removeprimitives for rendering queue items -
Add
ComposerPrimitive.Queuefor rendering the queue list within the composer -
Add
ComposerSendOptionswithsteerflag tocomposer.send() -
Add
capabilities.queuetoRuntimeCapabilities -
ComposerPrimitive.Sendstays enabled during runs when queue is supported -
Cmd/Ctrl+Shift+Enter hotkey sends with
steer: true(interrupt current run) -
Add
queueItemscope toScopeRegistry -
Add
queuefield toComposerStateandqueueItem()method toComposerMethods -
@assistant-ui/[email protected]
-
@assistant-ui/[email protected]
@assistant-ui/react@0.12.20patchGitHub →
Other
6refactor: attachTransformScopes should mutate the scopes instead of cloning it
- Add
clear(reason: "edit" | "reload" | "cancel-run")toExternalThreadQueueAdapter thread.append()now routes throughqueue.enqueuewhen a queue adapter is present- Cancel, edit, and reload operations call
queue.clearwith the appropriate reason
- Add
queueadapter toExternalThreadPropsfor runtimes that support message queuing - Add
QueueItemPrimitive.Text,.Steer,.Removeprimitives for rendering queue items - Add
ComposerPrimitive.Queuefor rendering the queue list within the composer - Add
ComposerSendOptionswithsteerflag tocomposer.send() - Add
capabilities.queuetoRuntimeCapabilities ComposerPrimitive.Sendstays enabled during runs when queue is supported- Cmd/Ctrl+Shift+Enter hotkey sends with
steer: true(interrupt current run) - Add
queueItemscope toScopeRegistry - Add
queuefield toComposerStateandqueueItem()method toComposerMethods
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ag-ui@0.0.22patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-ai-sdk@1.3.15patchGitHub →
Other
3- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-data-stream@0.12.8patchGitHub →
Other
1- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-hook-form@0.12.7patchGitHub →
Other
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.7patchGitHub →
Other
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.6patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.6patchGitHub →
Other
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-lexical@0.0.2patchGitHub →
Other
3- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-native@0.1.7patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.6patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-streamdown@0.1.7patchGitHub →
Other
2- @assistant-ui/[email protected]
@assistant-ui/store@0.2.4patchGitHub →
Other
3refactor: attachTransformScopes should mutate the scopes instead of cloning it
- @assistant-ui/[email protected]
@assistant-ui/tap@0.5.4patchGitHub →
Other
2assistant-stream@0.3.7patchGitHub →
Other
1assistant-ui@0.0.85patchGitHub →
Other
2info command to print environment and package versions for bug reportscreate-assistant-ui@0.0.48patchGitHub →
Other
1heat-graph@0.0.2patchGitHub →
Other
2mcp-app-studio@0.7.6patchGitHub →
Other
1safe-content-frame@0.0.12patchGitHub →
Other
1Mar 17, 2026
31 packages
@assistant-ui/agent-launcher@0.1.1patchGitHub →
Other
1@assistant-ui/cloud-ai-sdk@0.1.6patchGitHub →
Other
1@assistant-ui/core@0.1.7patchGitHub →
Other
1@assistant-ui/mcp-docs-server@0.1.25patchGitHub →
Other
1@assistant-ui/react@0.12.19patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-a2a@0.2.7patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-ag-ui@0.0.21patchGitHub →
Other
2- @assistant-ui/[email protected]
- [email protected]
@assistant-ui/react-ai-sdk@1.3.14patchGitHub →
Other
2quote.tsx registry components and injectQuoteContext helper- @assistant-ui/[email protected]
- [email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-data-stream@0.12.7patchGitHub →
Other
2- @assistant-ui/[email protected]
- [email protected]
- [email protected]
@assistant-ui/react-devtools@1.0.3patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-hook-form@0.12.6patchGitHub →
Other
2- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/react-ink@0.0.6patchGitHub →
Other
2- @assistant-ui/[email protected]
@assistant-ui/react-ink-markdown@0.0.5patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-langgraph@0.13.5patchGitHub →
Other
1updates and values events- @assistant-ui/[email protected]
@assistant-ui/react-markdown@0.12.6patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-native@0.1.6patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-o11y@0.0.5patchGitHub →
Other
1@assistant-ui/react-streamdown@0.1.6patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/react-syntax-highlighter@0.12.7patchGitHub →
Other
1- @assistant-ui/[email protected]
- @assistant-ui/[email protected]
@assistant-ui/store@0.2.3patchGitHub →
Other
1- @assistant-ui/[email protected]
@assistant-ui/tap@0.5.3patchGitHub →
Other
1@assistant-ui/x-buildutils@0.0.3patchGitHub →
Other
1assistant-cloud@0.1.22patchGitHub →
Other
1assistant-stream@0.3.6patchGitHub →
Other
3ReadonlyThreadProviderandMessagePartPrimitive.Messagesfor rendering sub-agent messagesassistant-stream: addmessagesfield totool-resultchunks,ToolResponseLike, andToolCallParttypes, enabling sub-agent messages to flow through the streaming protocol
assistant-ui@0.0.84patchGitHub →
Other
2assistant-ui.
- @assistant-ui/[email protected]