github assistant-ui/assistant-ui @assistant-ui/react-native@0.1.44

latest releases: @assistant-ui/react-ag-ui@0.0.62, @assistant-ui/react-a2a@0.2.38, @assistant-ui/react-generative-ui@0.0.21...
5 hours ago

Patch Changes

  • #7849 6e128be - fix: expose the current thread to assistive technology on react-native-web (@rupic-app)

  • #8030 e8fac8d - feat: show a message with uploading attachments in the thread while it is being sent (@okisdev)

    MessagePrimitive.Attachments now hands its render function Attachment rather than CompleteAttachment, because the row of a message that is still being sent shows attachments that are still uploading. a render function that reads attachment.content should check attachment.status.type === "complete" first.

  • #7877 83f5354 - fix: honor registered data-part fallbacks on native MessageContent and grouped parts (@Kinfe123)

  • #7760 84e0cf4 - fix: emit declarations from one TypeScript program so two builds of the same commit produce the same .d.ts (@okisdev)

    aui-build now emits the unbundled .d.ts output in one TypeScript pass over the whole package, so two builds of the same commit produce identical declarations; the per-module emit it replaced followed the bundler's load order and let union member order, alias visibility and import specifiers move between builds. Declarations import barrels as the source does and keep import type; the exported types are unchanged. A /// <reference> directive that must reach the published declarations now carries preserve="true" in the source.

  • #7838 3d01501 - fix: every distribution re-exports the same shared surface from @assistant-ui/core. @assistant-ui/react-ink gains ReadonlyThreadProvider, ToolCallMessagePartStatus, groupPartByType, GroupByContext, VoiceSessionState, the external store runtime (useExternalStoreRuntime, useExternalMessageConverter, their adapters and options), the message queue, the tool approval types, the generative UI renderer and the cloud thread list hooks; @assistant-ui/react-native gains VoiceSessionState, the cloud thread list hooks, the generative UI renderer and the runtime state and adapter types the web package already carried; @assistant-ui/react gains MessageRole, RunConfig, RuntimeCapabilities, RemoteThreadListOptions, ThreadsState, JoinStrategy, TitleGenerationAdapter, createSimpleTitleAdapter and ChainOfThoughtPartByIndexProvider. (@okisdev)

  • #7736 5e238ee - fix: prevent duplicate history requests at the start of a message list (@Kinfe123)

  • #7780 2d91835 - feat: export ReadonlyThreadProvider and ToolCallMessagePartStatus (@okisdev)

  • #7725 258ad13 - fix: expose feedback submission state to assistive technology (@rupic-app)

  • #7979 35a58a0 - fix: type the ThreadPrimitive.Messages children message as the MessageState the package exports, which is the store state the primitive passes at runtime (@okisdev)

  • #7981 0252c69 - feat: name the runtime state types ThreadRuntimeState, MessageRuntimeState, ComposerRuntimeState, AttachmentRuntimeState and ThreadListItemRuntimeState (@okisdev)

    these are the states ThreadRuntime, MessageRuntime, ComposerRuntime, AttachmentRuntime and ThreadListItemRuntime return from getState(), now exported by all three distributions; @assistant-ui/react-native and @assistant-ui/react-ink had no name for them. in @assistant-ui/react, ThreadState, MessageState, ComposerState, AttachmentState and ThreadListItemState still name these runtime states but are deprecated: from 0.16 they name the store states useAuiState reads, as they already do in @assistant-ui/react-native and @assistant-ui/react-ink. code that annotates a runtime's getState() result should move to the new names.

  • #8065 2caacad - feat: a tool UI can record what the user did on its tool call with unstable_recordInteraction, kept on the part as unstable_interactions and stored in cloud history; the answer to a human input request is recorded once the runtime accepts it, the local runtime persists records and keeps them out of model input, external stores receive them through unstable_onRecordToolInteraction, and readonly threads ignore them (@okisdev)

  • #7777 c51ba8f - feat(core): let typed text enter a connected voice session through sendText (@okisdev)

    a RealtimeVoiceAdapter.Session (and the VoiceSessionControls returned to createVoiceSession) can implement sendText(text). while a running session takes typed text, VoiceSessionState.canSendText is true, the thread composer can send, and thread.append with a plain text user message hands the text to the session and commits it once as a typed turn (no metadata.modality) through the same path as a finalized transcript: the local runtime writes it to the repository and history, an external store receives it through onVoiceTranscript. the session must not echo the typed text through onTranscript. a session without sendText keeps rejecting typed sends as before. while a session is connected the send button and the Enter key follow canSend alone, so a reply being spoken no longer blocks them. the ai-sdk runtime keeps the message's own modality when it persists a voice session message, so a typed turn is no longer marked as spoken.

  • Updated dependencies [b4f5153, aa83d87, d096801, 9b902fa, aa0f338, d8394bc, 63f3236, 6b93933, eb034f6, 5a8ff94, 2e3fd9e, 9f286dc, 920422c, 02043de, 9cb7aa4, 40ba7f0, 967de5d, b649669, 0ce62a8, 5d33fca, 92d16d7, a88fa97, 96e11d9, 3af3b61, e8fac8d, d403574, f71c285, 0ad784f, bbd01b5, 84e0cf4, fc3aa3e, 9eafe31, d97af06, e0b7805, 1c58865, 9619b42, 5496fce, f04c7f0, a4a2739, fdf5706, 443b0a5, 178e340, 1afdc46, dea2462, c45ae5a, 7face86, 0a9ed7b, 6407760, 4bed51f, 819c065, 21f8bdf, 8e1508a, e9c1ccd, 4928364, 5c5eb45, 11f9648, c5b5d3a, 7725cbd, 777df32, dcd43fd, a486a13, 0ee58d8, 0252c69, 75bd488, 7260270, 0cfd31e, c2e125e, 1790780, 662b607, f270950, 84cdbb0, 92e991a, 534e11f, 9da3697, e046327, 2caacad, e525f14, c171588, a5c9c5a, 4b069f9, d9e4086, 89c0f55, c51ba8f, e6aa5df]:

    • @assistant-ui/core@0.3.21
    • assistant-cloud@0.2.3
    • assistant-stream@0.3.45
    • @assistant-ui/store@0.3.15
    • @assistant-ui/tap@0.9.19

Don't miss a new assistant-ui release

NewReleases is sending notifications on new releases.