56 KiB
@assistant-ui/react-ai-sdk
1.3.40
Patch Changes
-
#4659
ea41c9c- fix: detect MCP tool name collisions with toolkit tools (@Kinfe123) -
#4687
f833bc1- feat: support server-side MCP connection timeouts (@Kinfe123) -
Updated dependencies [
523e0b5,f833bc1]:- @assistant-ui/core@0.2.20
- assistant-stream@0.3.25
1.3.39
Patch Changes
1.3.38
Patch Changes
-
#4551
49175f3- refactor: delegate useStreamingTiming to the shared core primitive, with no public API change (@okisdev) -
#4515
f5e94b7- feat: forwardonThreadIdChangethrough the adapter entry hooks (useLangGraphRuntime,useStreamRuntime,useChatRuntime,useAdkRuntime,useOpenCodeRuntime,usePiRuntime). the option already existed onuseRemoteThreadListRuntimebut every wrapper dropped it, so routing/persistence built on the settled remote thread id never fired from these hooks. only the settled remote id is emitted; the transient__LOCALID_*placeholder is never surfaced. (@okisdev) -
#4310
0c51b90- feat: addunstable_injectInteractableContextfor AI SDK route handlers (@AVGVSTVS96)When using AI SDK's
convertToModelMessages, callunstable_injectInteractableContext(messages)first so the model can read current interactable state:import { convertToModelMessages } from "ai"; +import { unstable_injectInteractableContext } from "@assistant-ui/react-ai-sdk"; - messages: await convertToModelMessages(messages), + messages: await convertToModelMessages(unstable_injectInteractableContext(messages)),Existing interactables apps using AI SDK need this call after upgrading.
-
Updated dependencies [
ddc40b7,ea52de0,29c6fdb,d0987a3,cefcf27,0c51b90,3a8f685,ec6adf4,4acd4c0]:- @assistant-ui/core@0.2.19
- assistant-stream@0.3.24
- assistant-cloud@0.1.34
- @assistant-ui/store@0.2.19
1.3.37
Patch Changes
1.3.36
Patch Changes
-
Updated dependencies [
434bba5,bb38d08,4cc7eaa,4cc7eaa]:- assistant-stream@0.3.23
- @assistant-ui/core@0.2.16
- assistant-cloud@0.1.33
- @assistant-ui/store@0.2.18
1.3.35
Patch Changes
-
#4344
d51fe1c- fix: attach partial-JSON meta to streaming tool args so consumers can tell which field is still mid-arrival (@Yonom) -
Updated dependencies [
ab8e5bc,59d252f,feecac3,3e58253,5a4f20e,f10b8ae,1fb5862]:- @assistant-ui/core@0.2.14
- @assistant-ui/store@0.2.16
1.3.34
Patch Changes
-
#4320
0e923b4- fix: declare assistant-stream as a regular dependency so it is externalized instead of bundled into dist (the bundled copy broke consumers on its transitive secure-json-parse import) (@Yonom) -
#4315
60ef0e9- feat: add runtime support for deleting messages (@Yonom) -
Updated dependencies [
60ef0e9,1b6a0d6,1b6a0d6,1b6a0d6]:- @assistant-ui/core@0.2.13
- @assistant-ui/store@0.2.15
1.3.33
Patch Changes
-
#4271
2a84174- feat: exposejoinStrategyonuseAISDKRuntime/useChatRuntime(@okisdev)the new AI SDK runtime always merged consecutive
role: "assistant"UIMessages into a single rendered turn, with no supported way to opt out (the converter acceptsjoinStrategybut the runtime never forwarded it, andAISDKMessageConverteris not exported). this follows up on #1633, where the same knob shipped on the legacyuseVercelUseChatRuntimeasunstable_joinStrategy. passjoinStrategy: "none"to keep proactive or history loaded consecutive assistant messages as separate turns.core now exports a shared
JoinStrategytype so the"concat-content" | "none"union has a single source of truth across the converter and the runtimes. -
#4266
906fae9- chore: deprecategenerativeToolsin favor ofAISDKToolkit(@Yonom)generativeTools({ toolkit, frontendTools })is deprecated. Usenew AISDKToolkit({ toolkit }).tools({ frontend })instead: it is a strict superset that also opens MCP server connections, so it replacesgenerativeToolsfor every toolkit. ThefrontendToolsoption is namedfrontendon.tools(), and.tools()is async.generativeToolskeeps working and will be removed in a future version. -
#4285
d4629c4- fix(react-ai-sdk): make the package metro-bundleable in react native / expo by serving a client-only entry under the react-native export condition (@okisdev)importing @assistant-ui/react-ai-sdk in an expo / react native app failed metro bundling because the root entry re-exports the server-only generativeTools / AISDKToolkit, which pull in @ai-sdk/mcp/mcp-stdio and node's child_process. react native now resolves a client-only entry that omits the server toolkit, so metro never reaches the node-only code. the node / server entry is unchanged and still exports the full api.
-
#4304
a18bdad- fix(react-ai-sdk): make the package root bundle on edge, cloudflare workers, deno, and browsers, not just react native. the node-only stdio MCP transport is now resolved through a package.json "imports" condition (#mcp-stdio), so importing@assistant-ui/react-ai-sdkat root carries the full server toolkit on every target with http/sse MCP working on edge, while stdio MCP throws a clear runtime error only where a subprocess cannot be spawned (browser, react native, edge, workers) instead of breaking the build via@ai-sdk/mcp/mcp-stdio->node:child_process. node, bun, and deno keep the real stdio transport. (@okisdev) -
Updated dependencies [
2a84174,a0a0769,19c5b5f,dbdfb15,ca191dc,15878d8,44ff4bf,01cf957,26a365b]:- @assistant-ui/core@0.2.11
- assistant-cloud@0.1.32
- @assistant-ui/store@0.2.14
1.3.32
Patch Changes
-
#4196
b3655bc- fix: strip stale approval object when cancelling a tool pending approval so the next request passes validateUIMessages (@ShobhitPatra) -
#4192
4f2e077- fix: support data message parts in toCreateMessage instead of throwing (@ShobhitPatra) -
#4216
d440594- fix: convert generative tooltoModelOutputto AI SDK content shape (@AVGVSTVS96) -
#4212
5fe118d- feat: add MCP server support to generative toolkits (@Yonom) -
#4213
dcd5897- feat: add provider-executed tool support to generative toolkits (@Yonom) -
#4199
d9b3119- feat: adefineToolkitentry may now be an already-formedToolDefinition(carrying its owntype), not only an inline definition whosetypethe compiler infers. This is what lets a factory likenew JSONGenerativeUI({ library }).present()be used directly as a tool. (@Yonom)Renames the authoring types to match
defineToolkit:ToolkitDeclaration→ToolkitDefinition, and addsToolkitDefinitionEntry(the union of an inline tool definition and a pre-formedToolDefinition). The per-tool inline type is now an internalToolkitDefinitionInputand is no longer exported. -
Updated dependencies [
4145caa,78ff336,5fe118d,dcd5897,0558db2,69540af,d9b3119,ae54c55,7640b31]:- @assistant-ui/core@0.2.10
- assistant-cloud@0.1.31
1.3.31
Patch Changes
-
#4172
1315789- feat: addgenerativeTools({ toolkit, frontendTools })— builds an AI SDKToolSetfrom an assistant-ui toolkit (server-sideexecute) merged with the frontend-uploaded tools, for use instreamText/generateText. Pairs with the"use generative"compiler so a backend tool'sexecuteruns on the server while itsrenderships to the client. (@Yonom) -
#4151
299d448- chore: drop stalebiome-ignorepragmas now that the repo lints with oxlint (@okisdev) -
#4169
8518a29- fix: don't abort the whole history load when a stored row fails to convert.toExportedMessageRepositorynow drops a row whosecontentcan't be decoded to a valid message (e.g. a hand-seeded{ "foo": "bar" }with norole), along with any descendants that referenced it, and discards aheadIdthat points at a dropped row. previously a single bad row emitted anundefinedmessage (or left a danglingparentId/headId) that threwCannot read properties of undefined (reading 'id')orParent message not foundduringthread.import, taking down the entire thread. the rest of the thread now loads, matching how the cloud adapter filters out rows it can't decode rather than throwing. (@okisdev) -
#4136
4429aa3- centralize thread-level shared options forwarding across runtime wrapper hooks. follow-up to #4135. (@okisdev)new public exports from
@assistant-ui/core(re-exported from@assistant-ui/react):ExternalStoreSharedOptions, a typedPickoverExternalStoreAdaptercovering the four thread-level optional fields every wrapper forwards:isDisabled,isSendDisabled,unstable_capabilities,suggestions.pickExternalStoreSharedOptions(options), plucks those four fields from a wider options object. the body usessatisfies Required<...>so adding a key to the type without copying it in the function is a compile error rather than a silent missing-field bug.useExternalStoreSharedOptions(options)(from@assistant-ui/core/react), a memoized variant for wrappers that wrap their store inuseMemo. lets the wrapper list a single stablesharedreference as a dep instead of enumerating the four fields. samesatisfiesguard internally so the destructure stays in sync with the type.
internal: every runtime wrapper hook (
useChatRuntime,useAISDKRuntime,useLangGraphRuntime,useA2ARuntime,useAgUiRuntime,useAdkRuntime,useStreamRuntime,useOpenCodeRuntime) now uses these helpers instead of inlining the conditional spreads added in #4135. each wrapper sheds 20 to 40 lines of duplicated declarations and conditional spreads; future additions to the shared option set propagate through a single edit inpickExternalStoreSharedOptionsinstead of touching every wrapper. no user-facing behavior change. -
#4162
eef724e- fix: drop phantom sibling messages when an external store swaps an optimistic message id mid-run (#4037). (@Yonom)Messages can now be flagged
metadata.isOptimistic. Optimistic messages are treated as ephemeral: they only ever live on the current head branch (the repository evicts off-branch optimistic messages whenever the head moves) and they are never written to persisted state (export()omits them). The AI SDK v6 adapter flags the streaming assistant message as optimistic, so when its client-generated id is replaced by a server-provided one mid-run, the stale placeholder no longer lingers as a phantom branch (e.g.BranchPickershowing2/2on a turn the user never branched). Unlike the reverted blanket id-diff (#4040), only explicitly-optimistic messages are affected, so legitimateonEdit/onReload/switchToBranchbranches are preserved. -
#4135
e7c2396- align the runtime wrapper hooks so every distribution forwards the same set of optional adapter-level fields touseExternalStoreRuntime. closes #4134. (@okisdev)useChatRuntimeanduseAISDKRuntime(which already acceptedsuggestions) gain three new options:isDisabled, disables the composer input entirely.isSendDisabled, keeps the input usable but makessend()a no-op (paired withcomposer.canSend).unstable_capabilities, per-thread capability overrides (currently{ copy?: boolean }).
useLangGraphRuntime,useA2ARuntime,useAgUiRuntime,useAdkRuntime,useStreamRuntime,useOpenCodeRuntimegain all four (the three above plussuggestions).adapter-level additions, where missing:
useChatRuntime/useAISDKRuntimealready accepteddictationandvoicethrough theExternalStoreAdapteradapter shape; this just confirms the typing.useLangGraphRuntime,useA2ARuntime,useAgUiRuntime,useAdkRuntime,useStreamRuntime,useOpenCodeRuntimenow acceptdictationandvoicein theiradaptersobject and forward them through.useOpenCodeRuntimegains anadaptersoption for the first time (attachments / speech / dictation / voice / feedback).
every new field is optional and defaults to the prior behavior, so existing call sites need no changes.
-
#4133
c4d3eea- forward per-toolproviderOptionsfromuseAssistantToolthroughtoToolsJSONSchemaandfrontendToolsinto the AI SDK request body, and emit tool entries in alphabetical order so identical tool sets produce byte-identical request bodies for stable prompt caching.react-ag-uiinherits the sort viatoAgUiTools, so identical tool sets reach the AG-UI runtime in a stable order regardless of mount order. (@okisdev)this lets you opt into provider-specific tool features (e.g. Anthropic's
defer_loading, Anthropic Tool Search Tool) without any provider-aware code in assistant-ui:useAssistantTool({ toolName: "get_weather", parameters: schema, providerOptions: { anthropic: { deferLoading: true } }, execute: async ({ city }) => fetchWeather(city), });the value is passed through verbatim; the AI SDK provider (
@ai-sdk/anthropic,@ai-sdk/openai, ...) interprets it. -
Updated dependencies [
1315789,299d448,4429aa3,e76611f,76f7d16,eef724e,2dec3ae,fcb6baf,331f2f7]:- @assistant-ui/core@0.2.8
- @assistant-ui/store@0.2.13
- assistant-cloud@0.1.30
1.3.30
Patch Changes
- #4125
e639a11- chore: drop tracker-behaviour explainer comments left behind in satellite runtimes (@Yonom)
1.3.29
Patch Changes
1.3.28
Patch Changes
-
#4107
32ae846- feat: surface AI SDK v6 tool approvals as a first-classrespondToApprovalprop on tool components. tool-call parts in theapproval-requestedstate now carrypart.approval = { id, isAutomatic? }; tool components callrespondToApproval({ approved, reason? })to ack the gate without threadingchatHelpersthrough application context. also fixes a transientrequires-actionflicker for theapproval-respondedstate and tightens the external-message converter so interrupt vs pending tool calls are distinguished by an actualinterrupt/approvalfield rather than byresult === undefined. (@okisdev) -
Updated dependencies [
372d4f0,32ae846]:- @assistant-ui/core@0.2.6
1.3.27
Patch Changes
-
Updated dependencies [
0a0c306,6a0ecb2,e4634a5,325de4c,01244a5,f2ec01c,1e21076]:- @assistant-ui/core@0.2.5
- assistant-cloud@0.1.29
- @assistant-ui/store@0.2.12
1.3.26
Patch Changes
- #4030
798a5ce- fix(react-ai-sdk): resolve MCP app metadata from tool output_meta["ui/resourceUri"]as a fallback when it isn't present incallProviderMetadata.mcp.app. MCP-UI tools (e.g. xmcp) surface the UI pointer in the call result, so the renderer previously never picked it up. (@Yonom)
1.3.25
Patch Changes
-
#4024
19d4d94- feat: add native MCP Apps renderer —McpAppRenderercomposes intoToolsto render MCP UI resources inline in chat over a JSON-RPC postMessage bridge onSafeContentFrame. Adds anmcpfield toToolCallMessagePartand forwardscallProviderMetadata.mcp.appthrough the AI SDK message converter. (@Yonom) -
Updated dependencies [
19d4d94]:- @assistant-ui/core@0.2.2
1.3.24
Patch Changes
-
#4003
717bed2- feat: exposesuggestionsonuseAISDKRuntimeanduseChatRuntime(@okisdev)both hooks now accept an optional
suggestions: readonly ThreadSuggestion[]option that is forwarded to the underlyinguseExternalStoreRuntime. this lets AI SDK callers drive follow up suggestions from application state, tool results, or backend responses without dropping down to the raw external store runtime. -
#4001
283c250- feat(react-ai-sdk): exposeonResumeonuseAISDKRuntimeanduseChatRuntime(@okisdev)AISDKRuntimeAdapterandUseChatRuntimeOptionsnow acceptonResume, which is forwarded to the underlyinguseExternalStoreRuntimeadapter.runtime.thread.resumeRun(config)previously threw"Runtime does not support resuming runs."because the inner adapter literal omitted the field; consumers had to monkey-patchruntime.thread.__internal_threadBinding.getState().resumeRunto bridge their own replay channels (e.g. SSE reconnect endpoints keyed by turn id). This is a thin pass-through; the existing transport-level resume onAssistantChatTransport(auto-fired byuseChatRuntimeon mount) is unchanged and complementary. -
#3979
9ecda1d- feat(react-ai-sdk): native resumable stream client integration (@okisdev)AssistantChatTransportaccepts aresumable: { storage, resumeApi, isFinishEvent? }option that captures the stream id from the response header, watches the SSE body for the AI SDKfinishmarker so the stored id is cleared on natural completion (cancellation leaves it intact for the next mount), and redirectschat.resumeStream()reconnects toresumeApi.createResumableSessionStorageis the defaultsessionStorage-backedResumableClientStorage.useChatRuntimeauto-fireschat.resumeStream()once on mount when storage already has an id, so adopters drop the manualuseEffect. -
#4008
fa4510a- feat: support multi-modal tool results viatoModelOutput(@okisdev)frontend tools can now project their execution output into multi-modal model content (text + image / pdf / arbitrary file parts), aligning with the AI SDK v6
toModelOutputcallback. previously, tool results were always serialized as a single JSON value, so a "read pdf" style tool had no way to send the PDF back to a multi-modal model.assistant-streamexports a newToolModelContentParttype ({ type: "text", text } | { type: "file", data, mediaType, filename? }) and aToolModelOutputFunction<TArgs, TResult>callback type.Tool.toModelOutputis wired throughunstable_runPendingToolsandToolExecutionStream, attaching the resultingmodelContentto thetool-callpart on the assistant message.@assistant-ui/corere-exportsToolModelContentPartand adds an optionalmodelContent?: readonly ToolModelContentPart[]field onToolCallMessagePart. existing tools and renderers are unchanged.@assistant-ui/react-ai-sdk'sfrontendTools(...)helper now also registers atoModelOutputon each forwarded tool. it transparently unwraps an envelope thatuseAISDKRuntimewrites when a frontend-executed tool producedmodelContent, turning it into AI SDK's{ type: "content", value: [...] }output. plain (non-envelope) outputs fall back to the existing{ type: "text" | "json", value }shape, so behavior for tools withouttoModelOutputis unchanged.
route handlers that adopt
toModelOutputalso need to passtoolstoconvertToModelMessages(this is the AI SDK's documented pattern):const aiSDKTools = { ...frontendTools(tools ?? {}) }; streamText({ messages: await convertToModelMessages(messages, { tools: aiSDKTools }), tools: aiSDKTools, });templates and existing examples are unchanged. they keep the simpler
convertToModelMessages(messages)form because none of the tools they ship with usetoModelOutput. the new tools guide page documents how to opt in.reserved key. when a frontend tool defines
toModelOutput, its result is persisted in the AI SDK chat as{ __aui_modelContent: ToolModelContentPart[], value: <your result> }. tools must not return objects whose top-level key is literally__aui_modelContent, orconvertMessagewill misread the result. the prefix is namespaced for this reason.read/write compatibility for persisted threads. the envelope is recognized by
@assistant-ui/react-ai-sdkfrom this version onward. if you persist UI messages and read them from multiple environments, upgrade every reader before any writer starts producingtoModelOutput; otherwise older readers will treat the envelope object as theresultand break the affected toolrenderfunctions. -
#4004
d3cf8cd- fix(react-ai-sdk): preserve tool args when AI SDK briefly emits null input (@okisdev)the AI SDK occasionally emits snapshots of an in-flight tool call where
inputis null/undefined, which previously collapsedargsTextto"{}"mid-stream and tripped the runtime's append-only invariant (warning + tool args stream restart, losing accumulated state).convertMessagenow caches the last good input per(message.id, toolCallId)via a newtoolLastInputCacheonAISDKMessageConverterMetadataand falls back to it when a later snapshot dropsinput. -
#3634
9c3d24d- Support AI SDKsource-documentparts by preserving them as assistant-ui (@sicko7947) document source message parts across conversion and cloud serialization, including the legacy React cloud encoder. -
Updated dependencies [
35d0146,fa4510a,c9dd16c,dea8bc7,9c3d24d]:- @assistant-ui/core@0.2.1
1.3.23
Patch Changes
- Updated dependencies [
040d469]:- @assistant-ui/core@0.2.0
1.3.22
Patch Changes
-
#3942
fbd7ce3- fix:aui.thread().append({ startRun: false })no longer triggers a run on AI SDK runtime (@Yonom)useAISDKRuntime'sonNewandonEditalways calledchatHelpers.sendMessage, ignoringmessage.startRun. The hook now appends the message viachatHelpers.setMessages(with a generated id when needed) and returns early whenstartRun: false, so the message lands in the chat without kicking off a model call. -
Updated dependencies [
7098bab,b090acb,5fdf17e]:- @assistant-ui/core@0.1.18
- @assistant-ui/store@0.2.10
1.3.21
Patch Changes
-
Updated dependencies [
549037a,005f83f,976aec5,25b97d5,2008fc9,88fcd35]:- @assistant-ui/core@0.1.16
- @assistant-ui/store@0.2.9
1.3.20
Patch Changes
-
#3841
435cfa0- fix: request bodyidinuseChatRuntimeis now the real thread id instead of the literal"DEFAULT_THREAD_ID".AssistantChatTransportwas resolvingremoteIdfrom the innerExternalStoreThreadListRuntimeCore(which only echoes its default id); it now uses the outerRemoteThreadListRuntimeCorethat actually calls the adapter. (@okisdev) -
#3858
da0f598- fix:useAISDKRuntimenow throws when the suppliedThreadHistoryAdapteromitswithFormat, instead of silently dropping all history load/append/update calls. The optional-call chainhistoryAdapter.withFormat?.(…).load()previously short-circuited toundefined. ThewithFormat-wrapped adapter is now memoized, and the persist effect short-circuits when no adapter is supplied (avoiding a redundant thread subscription).ThreadHistoryAdapter.withFormatgains a JSDoc note clarifying that it is required on the AI SDK path. (@okisdev) -
Updated dependencies [
c7a274e,ce865bc,ca8f526,c56f98f,974d15e,4b19d42,da0f598,d53ff4f,20f8404,17958c9]:- @assistant-ui/core@0.1.15
- assistant-cloud@0.1.27
- @assistant-ui/store@0.2.8
1.3.19
Patch Changes
- c988db8: chore: update dependencies
- a5bce86: fix: preserve latest thread token usage during pending turns
- Updated dependencies [f20b9ca]
- Updated dependencies [c988db8]
- @assistant-ui/core@0.1.14
- assistant-cloud@0.1.26
- @assistant-ui/store@0.2.7
1.3.18
Patch Changes
- 376bb00: chore: update dependencies
- Updated dependencies [42bc640]
- Updated dependencies [376bb00]
- Updated dependencies [87e7761]
- @assistant-ui/core@0.1.13
- assistant-cloud@0.1.25
1.3.17
Patch Changes
- bdce66f: chore: update dependencies
- 209ae81: chore: remove aui-source export condition from package.json exports
- Updated dependencies [6554892]
- Updated dependencies [9103282]
- Updated dependencies [876f75d]
- Updated dependencies [bdce66f]
- Updated dependencies [4abb898]
- Updated dependencies [209ae81]
- Updated dependencies [2dd0c9f]
- Updated dependencies [af70d7f]
- @assistant-ui/core@0.1.10
- assistant-cloud@0.1.24
- @assistant-ui/store@0.2.6
1.3.16
Patch Changes
- 781f28d: feat: accept all file types and validate against adapter's accept constraint
- 0924711: fix(react-ai-sdk): convert assistant file parts to FileMessagePart instead of dropping them
- 52403c3: chore: update dependencies
- Updated dependencies [781f28d]
- Updated dependencies [3227e71]
- Updated dependencies [0f55ce8]
- Updated dependencies [83a15f7]
- Updated dependencies [52403c3]
- Updated dependencies [ffa3a0f]
- @assistant-ui/core@0.1.9
- assistant-cloud@0.1.23
- @assistant-ui/store@0.2.5
1.3.15
Patch Changes
- 01a59da: fix(react-ai-sdk): preserve runConfig.custom metadata after tool call resume in human-in-the-loop tools
- 736344c: chore: update dependencies
- c71cb58: chore: update dependencies
- Updated dependencies [1406aed]
- Updated dependencies [9480f30]
- Updated dependencies [28a987a]
- Updated dependencies [736344c]
- Updated dependencies [ff3be2a]
- Updated dependencies [70b19f3]
- Updated dependencies [c71cb58]
- @assistant-ui/core@0.1.8
- @assistant-ui/store@0.2.4
1.3.14
Patch Changes
- 349f3c7: chore: update deps
- 642bcda: Add
quote.tsxregistry components andinjectQuoteContexthelper - Updated dependencies [1ed9867]
- Updated dependencies [427ffaa]
- Updated dependencies [349f3c7]
- Updated dependencies [02614aa]
- Updated dependencies [6cc4122]
- Updated dependencies [642bcda]
- @assistant-ui/core@0.1.6
- assistant-cloud@0.1.22
- @assistant-ui/store@0.2.3
1.3.13
Patch Changes
- 8ed9d6f: Refactor React Native component API: move shared runtime logic (remote thread list, external store, cloud adapters, message converter, tool invocations) into @assistant-ui/core for reuse across React and React Native
- Updated dependencies [5ae74fe]
- Updated dependencies [8ed9d6f]
- Updated dependencies [01bee2b]
- @assistant-ui/core@0.1.3
1.3.12
Patch Changes
- 57e26d2: chore: update dependencies
1.3.11
Patch Changes
- a845911: chore: update dependencies
- Updated dependencies [07dcce0]
- Updated dependencies [a845911]
- Updated dependencies [bc40eaf]
- Updated dependencies [be23d74]
- Updated dependencies [1eb059c]
- @assistant-ui/react@0.12.15
- assistant-cloud@0.1.21
1.3.10
Patch Changes
- 51de636: feat(react-ai-sdk): add thread token-usage extraction helpers and hook
- 7ad20d1: fix(react-ai-sdk): stabilize tool args key order to prevent duplicate toolCallId crash in tapResources
- Updated dependencies [17cf9a8]
- assistant-cloud@0.1.20
- @assistant-ui/react@0.12.13
1.3.9
Patch Changes
- 36ef3a2: chore: update dependencies
- Updated dependencies [36ef3a2]
- Updated dependencies [6692226]
- Updated dependencies [c31c0fa]
- Updated dependencies [1672be8]
- Updated dependencies [28f39fe]
- Updated dependencies [3a1cb66]
- Updated dependencies [14769af]
- Updated dependencies [7c360ce]
- Updated dependencies [a638f05]
- Updated dependencies [8a78cd2]
- assistant-cloud@0.1.19
- @assistant-ui/react@0.12.12
1.3.8
Patch Changes
- aeec3b9: fix: handle AI SDK v6 approval tool states (approval-requested, approval-responded, output-denied)
- 7836760: fix(assistant-cloud): expand joined messages for AI SDK v6 history export and telemetry reporting
- 61b54e9: Add message timing metadata:
AssistantMessageTimingtype, automatic timing tracking inAssistantMessageAccumulator,MessageTimingtype,useMessageTiming()hook, and client-side streaming timing for AI SDK runtime. - a247fc9: feat(assistant-cloud): allow save complete multi-step message
- 93910bd: Rename .tsx files to .ts where no JSX syntax is used
- Updated dependencies [d08a488]
- Updated dependencies [5bbe8a9]
- Updated dependencies [5e304ea]
- Updated dependencies [546c053]
- Updated dependencies [a7039e3]
- Updated dependencies [16c10fd]
- Updated dependencies [98c3d54]
- Updated dependencies [b181803]
- Updated dependencies [7836760]
- Updated dependencies [9276547]
- Updated dependencies [b65428e]
- Updated dependencies [af5b085]
- Updated dependencies [61b54e9]
- Updated dependencies [a094c45]
- Updated dependencies [4d7f712]
- Updated dependencies [ecc29ec]
- Updated dependencies [6e97999]
- Updated dependencies [a247fc9]
- Updated dependencies [f414af9]
- Updated dependencies [b48912c]
- Updated dependencies [93910bd]
- Updated dependencies [58a8472]
- assistant-cloud@0.1.18
- @assistant-ui/react@0.12.11
1.3.7
Patch Changes
- afaaf3b: fix: duplicate key toolCallId error in HITL tools (#3197)
- Updated dependencies [afaaf3b]
- Updated dependencies [afaaf3b]
- Updated dependencies [afaaf3b]
- Updated dependencies [afaaf3b]
- Updated dependencies [51d24be]
- Updated dependencies [afaaf3b]
1.3.6
Patch Changes
- a088518: chore: update dependencies
- Updated dependencies [a088518]
- Updated dependencies [d8122cc]
- assistant-cloud@0.1.17
- @assistant-ui/react@0.12.9
1.3.5
Patch Changes
- 39fefec: feat: importExternalState API
- Updated dependencies [39fefec]
1.3.4
Patch Changes
- d45b893: chore: update dependencies
- Updated dependencies [d45b893]
- Updated dependencies [fe71bfc]
- assistant-cloud@0.1.16
- @assistant-ui/react@0.12.5
1.3.3
Patch Changes
- acbaf07: feat: add framework-agnostic
toToolsJSONSchemaandtoGenericMessagesutilities toassistant-stream - Updated dependencies [07d1c65]
- Updated dependencies [b591d72]
- Updated dependencies [59a338a]
- Updated dependencies [acbaf07]
- Updated dependencies [c665612]
- Updated dependencies [0371d72]
- Updated dependencies [e8b3f34]
- @assistant-ui/react@0.12.3
- assistant-cloud@0.1.15
1.3.2
Patch Changes
- 605d825: chore: update dependencies
- Updated dependencies [1ea3e28]
- Updated dependencies [8cbf686]
- Updated dependencies [a8be364]
- Updated dependencies [605d825]
- @assistant-ui/react@0.12.2
- assistant-cloud@0.1.14
1.3.1
Patch Changes
- 5876c0f: feat(react-ai-sdk): propagate ModelContext config (modelName) through AssistantChatTransport
- Updated dependencies [8672695]
1.2.1
Patch Changes
- 083ed83: fix(cloud): serialize image and file parts across all formats
- Updated dependencies [6eab31e]
- Updated dependencies [9314b36]
- Updated dependencies [083ed83]
- Updated dependencies [6511990]
- Updated dependencies [a526e63]
1.2.0
Minor Changes
- 6fd744a: Upgrade to Vercel AI SDK v6
- Updated peer dependencies:
ai@^6.0.0,@ai-sdk/react@^3.0.0 - Renamed format adapter from
aiSDKV5FormatAdaptertoaiSDKV6FormatAdapter - Updated
@ai-sdk/providerto use LanguageModelV2 types
- Updated peer dependencies:
Patch Changes
- 3719567: chore: update deps
- Updated dependencies [3719567]
- assistant-cloud@0.1.13
- @assistant-ui/react@0.11.58
1.1.21
Patch Changes
- 5ce45bd: fix(react-ai-sdk): preserve metadata in message conversion
- Updated dependencies [3a0b9c8]
- Updated dependencies [b8f62e1]
- Updated dependencies [8d5c20c]
1.1.20
Patch Changes
- 57bd207: chore: update dependencies
- cce009d: chore: use tsc for building packages
- Updated dependencies [57bd207]
- Updated dependencies [cce009d]
- assistant-cloud@0.1.12
- @assistant-ui/react@0.11.53
1.1.19
Patch Changes
- e8ea57b: chore: update deps
- Updated dependencies [bae3aa2]
- Updated dependencies [e8ea57b]
- @assistant-ui/react@0.11.50
- assistant-stream@0.2.45
- assistant-cloud@0.1.11
1.1.18
Patch Changes
- 89aec17: feat: AI SDK frontend tool execution cancellation support fix: AI SDK isRunning status when running frontend tools
- Updated dependencies [89aec17]
- Updated dependencies [ee7040f]
- Updated dependencies [bd27465]
- Updated dependencies [a3e9549]
- Updated dependencies [206616b]
- Updated dependencies [7aa77b5]
- assistant-stream@0.2.44
- @assistant-ui/react@0.11.49
1.1.17
Patch Changes
- 01c31fe: chore: update dependencies
- Updated dependencies [ba26b22]
- Updated dependencies [d169e4f]
- Updated dependencies [da9f8a6]
- Updated dependencies [01c31fe]
- @assistant-ui/react@0.11.48
- assistant-stream@0.2.43
- assistant-cloud@0.1.10
1.1.16
Patch Changes
- c4142ac: fix(react-ai-sdk): pass runConfig metadata to backend API request
1.1.15
Patch Changes
- ab8953b: feat(react): add
allowNestingoption to allow wrapping runtimes with custom thread list adapters - Updated dependencies [ab8953b]
1.1.14
Patch Changes
- ec662cd: chore: update dependencies
- cdb5ea5: mark tool call as complete once user sends new message when tool calling
- 5dd925e: feat(ai-sdk): allow updates to headers/body
- Updated dependencies [ec662cd]
- assistant-stream@0.2.42
- assistant-cloud@0.1.9
- @assistant-ui/react@0.11.45
1.1.13
Patch Changes
- 4f6afef: feat: unified json schema
- Updated dependencies [4f6afef]
1.1.12
Patch Changes
- faed815: feat: AI SDK error toolOutput support
- 2c33091: chore: update deps
- Updated dependencies [2c33091]
- assistant-stream@0.2.41
- assistant-cloud@0.1.8
- @assistant-ui/react@0.11.40
1.1.11
Patch Changes
- 0bcbb58: feat: custom
toCreateMessagecallback fix: use AI SDK's idGenerator function for new messages - b408005: feat(react-ai-sdk): Integrate AI SDK v5 data parts in message content
- Updated dependencies [b408005]
- Updated dependencies [7a6d9ca]
- Updated dependencies [70d5966]
- Updated dependencies [3754bdd]
- Updated dependencies [0a4bdc1]
1.1.10
Patch Changes
- 34d1c78: fix(react-ai-sdk): correctly initialize history loading state
- Updated dependencies [66a13a0]
- Updated dependencies [4e3877e]
- Updated dependencies [eef682b]
- @assistant-ui/react@0.11.38
- assistant-cloud@0.1.7
1.1.9
Patch Changes
- 81b581f: feat: display AI SDK errors
- 6d2c134: feat: useChatRuntime should use the assistant ui thread id remote id as the threadid by default
- 2fc7e99: chore: update deps
- Updated dependencies [3ab9484]
- Updated dependencies [7a88ead]
- Updated dependencies [81b581f]
- Updated dependencies [2fc7e99]
- @assistant-ui/react@0.11.36
- assistant-stream@0.2.39
- assistant-cloud@0.1.6
1.1.8
Patch Changes
- 953db24: chore: update deps
- Updated dependencies [953db24]
- Updated dependencies
- assistant-stream@0.2.37
- assistant-cloud@0.1.5
- @assistant-ui/react@0.11.34
1.1.7
Patch Changes
- chore: update deps
- Updated dependencies
- assistant-stream@0.2.36
- assistant-cloud@0.1.4
- @assistant-ui/react@0.11.31
1.1.6
Patch Changes
- a5f9dd5: Export missing types for custom runtime integration
- Updated dependencies [92dfb0f]
1.1.5
Patch Changes
- e6a46e4: chore: update deps
- Updated dependencies [e6a46e4]
- assistant-stream@0.2.34
- assistant-cloud@0.1.3
- @assistant-ui/react@0.11.27
1.1.4
Patch Changes
- e81784b: feat: Tool Call interrupt() resume() API
- Updated dependencies [e8d6d7b]
- Updated dependencies [e81784b]
- @assistant-ui/react@0.11.22
- assistant-stream@0.2.32
1.1.3
Patch Changes
- e46e4d3: fix: guard threadItem access for useAISDKRuntime
- Updated dependencies [c0f5003]
- assistant-stream@0.2.31
1.1.2
Patch Changes
- 8812f86: chore: update deps
- Updated dependencies [8812f86]
- assistant-stream@0.2.30
- assistant-cloud@0.1.2
1.1.1
Patch Changes
- 68ef242: feat(ui): load external history only when thread has remote id
- Updated dependencies [2c6198a]
1.1.0
Patch Changes
- 39ac2f3: feat: AI SDK v5 import support
- Updated dependencies [39ac2f3]
- Updated dependencies [5437dbe]
1.0.7
Patch Changes
- d7d9058: fix: cloud chat history not loading in some configurations
1.0.6
Patch Changes
- 860bf42: feat: useAISDKRuntime cloud history support (without useChatRuntime)
- Updated dependencies [3498c99]
1.0.5
Patch Changes
- 90fc83b: fixes attachment naming
- e64b20c: fix: persistence only saving the first two messages
1.0.4
Patch Changes
- 9235fe1: update dep array in external history adapter
1.0.3
Patch Changes
- ceedf45: feat: pass run-config to ai-sdk metadata to let user decide what to do after
- 5504836: pass callsettings in extra body object to AI chat transport
- Updated dependencies [a80dcff]
1.0.2
Patch Changes
- 672db5a: feat: frontend function calling support
- 12e0a77: chore: update deps
- Updated dependencies [12e0a77]
- assistant-stream@0.2.23
- assistant-cloud@0.1.1
- @assistant-ui/react@0.10.42
1.0.1
Patch Changes
- eda5558: feat: AI SDK custom UIMessage type support
- Updated dependencies [eda5558]
1.0.0
Patch Changes
- de215fd: fix: history loading
- Updated dependencies [179f8b7]
- assistant-cloud@0.1.0
- @assistant-ui/react@0.10.40
0.11.5
Patch Changes
- a4389da: feat: AI SDK v5 assistant-cloud thread history support
- Updated dependencies [a4389da]
0.11.4
Patch Changes
- 979ee67: feat: forward system and tools to the backend for useChatRuntime
- 979ee67: feat: assistant cloud support for AI SDK v5
- 979ee67: feat: add AssistantChatTransport
- Updated dependencies [979ee67]
0.11.3
Patch Changes
- 2ef6cae: feat: Add useChatRuntime as new recommended entry point for AI-SDK V5
- Updated dependencies [f32b6a4]
0.11.1
Patch Changes
- 20ffa06: fix: Don't omit attachments from
AISDKRuntimeAdaptertype - Updated dependencies [ed78407]
- Updated dependencies [77ce337]
- Updated dependencies [f59959e]
0.11.0
Patch Changes
- 0f063e0: chore: update dependencies
- Updated dependencies [0f063e0]
- Updated dependencies [5d8b074]
- assistant-stream@0.2.22
- @assistant-ui/react@0.10.34