assistant-stream#
0.3.39#
Patch Changes#
- #6155
19e52c4- fix: decode AI SDK v6 tool-input/tool-output chunks in UIMessageStreamDecoder (@okisdev)
0.3.38#
Patch Changes#
-
#5938
0e91e27- fix: cancel invalid Gorp stream responses (@rupic-app) -
#5974
c5bc8ed- fix: release merged stream child readers after completion and cancellation (@Kinfe123) -
#5703
f0d1d48- fix: await merged stream cleanup during cancellation (@Kinfe123) -
#5524
ab7f49f- fix: keep partial tool-call args parseable when a negative number is cut before its digits (@VihaanAgarwal)fixJsontreated the-that opens an array element as a complete value, so a stream cut at{"a":[-repaired to{"a":[-]}. That is not valid JSON,parsePartialJsonObjectfell into its catch and returnedundefined, and callers that fall back to{}dropped every field streamed so far until the next delta landed.The
INSIDE_ARRAY_STARTdefault branch advancedlastValidIndexbefore delegating toprocessValueStart, which deliberately leaves it alone for-because a lone minus carries no value yet. Every other value-start site already letsprocessValueStartown that index, which is why{"a":-and{"a":[1,-truncated correctly and only the first element of an array did not. -
#5927
a2ab997- fix: isolate overlapping tool executions that reuse a toolCallId (@rupic-app) -
#5427
e8997d9- fix: cancel and release assistant message stream readers when iteration ends (@Kinfe123) -
#5975
44e574f- fix: release resumable producer readers after stream failures (@Kinfe123) -
#5515
14c3b5a- fix: prevent stale data from leaking into reacquired Redis streams (@Kinfe123)
0.3.37#
Patch Changes#
-
#5729
0ae51a8- feat: support ioredis 6 alongside 5 in the resumable stream store (@okisdev) -
#5734
e319574- fix: isolate tool execution lifecycle callback errors from stream settlement (@Kinfe123)
0.3.36#
Patch Changes#
0.3.35#
Patch Changes#
-
#5534
456b056- fix: preserve streamed tool arguments when other content is interleaved (@Kinfe123) -
#5700
a88751d- fix: carry a reasoning summary on the data stream. a reasoning part opened withunstable_summarypreviously lost it on that wire, and a summary-only part produced no frames at all, so it never reached the client. the encoder now emits a reasoning part-start frame when there is a summary to carry; a stream that does not use the field is unchanged, and one that does requires a decoder that understands the frame. (@okisdev) -
#5639
79253f2- feat: preserve app-authored reasoning summaries on message parts (@rupic-app)
0.3.34#
Patch Changes#
0.3.33#
Patch Changes#
- #5565
78943a3- feat: add opt-instrict: falsemode that reconciles malformed stream input instead of throwing (decoders, state accumulator); assistant-transport resume runs always decode leniently (@Yonom)
0.3.32#
Patch Changes#
-
#5521
01140bd- fix: prevent pending frontend tool output from enqueuing after stream cancellation (@Kinfe123) -
#5463
4c313cf- fix: carry a file part's filename through to the model message (@okisdev)GenericFileParthad nofilenamefield, so aFileMessagePartorImageMessagePartcarrying one arrived at the provider anonymous even thoughLanguageModelV2FilePartaccepts a filename. The field is now declared and forwarded by bothtoGenericMessagesand the react-data-stream converter, and omitted entirely when the source part has none. -
#5537
c868710- fix: keep a settled tool call distinguishable from an unfinished one, so a tool returning false, 0, "" or null no longer loses its result on the cloud round trip and no longer reads as never completed (@okisdev) -
#5535
5ececc1- fix: synthesize a result for tool calls that have none, so a thread holding a cancelled or abandoned tool call no longer breaks every later run (@okisdev)
0.3.31#
Patch Changes#
-
#5296
936c52c- fix: DataStreamDecoder drops tool-call args deltas for an already-closed args stream instead of crashing mid-decode when a text delta interleaves between a tool call's begin and its args (@Solaris-star) -
#5318
ee87dd9- fix: accept case-insensitivedata:URL schemes and normalize parsed mime types to lowercase (@ShobhitPatra)
0.3.30#
Patch Changes#
- #5284
a8cd1c9- fix: addToolCallPart({response}) settles the tool-call part so the stream closes (@ShobhitPatra)
0.3.29#
Patch Changes#
- #5278
f78e579- fix: PlainTextEncoder emits assistant text only. Reasoning and tool-call argument deltas no longer leak into the output, non-text chunks (result, annotations, data, update-state, tool-call-args-text-finish) are skipped instead of throwing mid-stream, and the incorrect x-vercel-ai-data-stream header is removed from the response headers. (@ShobhitPatra)
0.3.28#
Patch Changes#
-
#5236
f9c1b0f- fix: DataStreamChunkDecoder skips blank framing lines and drops colon-less lines with a warning instead of throwing (@Yonom) -
#5206
235c17e- fix: parse SSEDecoder and data-stream chunk frames with secure-json-parse, matching the transport and UIMessageStream decoders; a malformed or prototype-pollution frame is now dropped with a warning and the stream continues instead of erroring the whole stream (@rupic-app) -
#5208
a0ddc86- AdopterasableSyntaxOnly; public enums are nowas constobjects. (@Yonom) -
#5263
06f5266- Same-priority duplicate tool registrations throw again. TheTooltype gains an optionaloverwriteflag (discouraged escape hatch) that lets a later registration silently replace a same-priority tool of the same name; the flag is stripped from the merged output. (@Yonom) -
#5200
d319637- fix: parse UIMessageStream frames with secure-json-parse, matching the transport decoder (@ShobhitPatra)
0.3.27#
Patch Changes#
-
#5176
8630186- fix: dedupe accumulator drop warnings per instance and drop class (@ShobhitPatra) -
#5106
446a118- fix: isolate resumable stream observability hook errors (@Kinfe123) -
#5045
a081656- fix: prevent assistant stream task settlement from escaping as unhandled rejections (@Kinfe123) -
#5044
25a5be0- fix: avoid applying initial gorp stream operations twice (@Kinfe123)The first decoded chunk now represents its authoritative snapshot as a
synthetic rootset; later chunks preserve their incremental operations.
The deprecated object stream aliases share the same encoder and fix. -
#5141
47562fd- fix: clean up abort listeners after frontend tool execution settles (@Kinfe123) -
#5063
5e4dd9f- feat: add GorpStreamDeltaTracker, migrating gorp's delta-tracking (change frames, isChangedAt, getChangedKeys) into GorpStream (@Yonom) -
#5142
5da0d93- fix: guard gorp accumulator path navigation against inherited keys and prototype-polluting path segments (@Yonom) -
#5064
85d4976- refactor: consolidate on a single wire protocol name (assistant-transport). Remove the unpublished gorp-shaped exports, expose diff tracking as AssistantTransportDeltaTracker and the state operation type as AssistantTransportStateOperation, and keep the published ObjectStream aliases working as deprecated delegates. (@Yonom) -
#5061
5135400- feat: rename ObjectStream to GorpStream (old names remain as deprecated aliases) (@Yonom) -
#4988
9a343db- fix: guard object stream settlement after cancellation (@Kinfe123) -
#5107
666aaab- fix: prioritize backend tool results over stale argument parse errors (@Solaris-star) -
#5129
ba948d8- fix: cancel polyfilled async iterators when consumers stop early (@Kinfe123) -
#5152
44aac58- fix: validate assistant-transport chunk shape at the decode boundary and bounds-check accumulator part paths (@ShobhitPatra) -
#5172
9402648- fix: validate per-type required fields at the assistant-transport decode boundary and drop malformed chunks in the accumulator instead of aborting the response; an unsupported part-start now inserts an empty reasoning placeholder to keep later part indices aligned (@ShobhitPatra) -
#5155
4651ea5- fix: drop malformed UIMessageStream frames at the decode boundary and fix tool-result closing the active args stream (@ShobhitPatra) -
#5174
2bc6798- fix: only record firstTokenTime when a text-delta actually mutates a part (@rupic-app)
0.3.26#
Patch Changes#
-
#4883
43b8ce8- fix: accept parameterized event-stream content types (@Kinfe123) -
#4949
1e926b6- refactor: back the internal SSE pipelines with the shared SSEEventDecoder (@okisdev) -
#4880
d6c7571- feat: export a spec-complete SSE event decoder from assistant-stream/utils (@okisdev) -
#4876
4d7a447- fix: parse all standard SSE line endings (@Kinfe123) -
#4875
ca751f4- fix: discard unterminated SSE frames (@Kinfe123) -
#4755
38bf104- feat: detect data stream protocol from response headers (@Kinfe123) -
#4854
19b2a00- fix: accept the AI SDK v5+deltatext chunks,source-url, flatfile, and bare lifecycle chunks in UIMessageStreamDecoder (@ShobhitPatra) -
#4955
c2d2271- refactor: remove the dead is-json copy (@ShobhitPatra) -
#4842
84e8ddf- feat: optional code and severity metadata on error chunks (@okisdev)
0.3.25#
Patch Changes#
0.3.24#
Patch Changes#
0.3.23#
Patch Changes#
0.3.22#
Patch Changes#
- #4379
94cc028- feat: per-tool-call timing and stall detection.ToolCallMessagePartgains atimingfield ({ startedAt, completedAt? }in epoch ms), auto-populated by the assistant-stream accumulator at part start and result, and accepted onThreadMessageLikefor external-store hosts. NewuseToolCallElapsed()hook returns the call's elapsed milliseconds, ticking once per second while running;unstable_useMessageStallDetection({ thresholdMs })reports mid-run output stalls by watching a message content fingerprint. The kitToolFallbacktrigger renders the duration when timing is present. (@okisdev)
0.3.21#
Patch Changes#
0.3.20#
Patch Changes#
-
#4163
cba2b42- fix(assistant-stream): resolveargsReader.get()toundefinedonce args close (@Yonom)Awaiting an optional arg that the model never produced (
reader.args.get("optional")) previously hung forever, because the args stream was never closed and pending handles were never settled. The reader now closes when args streaming finishes, resolving outstandingget()calls toundefinedfor absent fields and closing openstreamValues/streamText/forEachstreams. -
#4226
58f80e0- fix: avoid uploading backend-default schemas for use-generative frontend and human tools (@Yonom) -
#4212
5fe118d- feat: add MCP server support to generative toolkits (@Yonom) -
#4213
dcd5897- feat: add provider-executed tool support to generative toolkits (@Yonom) -
#4236
ae54c55- feat: addstubTool()and experimentaluseAuiToolOverrides()for locally executed generative toolkit tools (@Yonom)
0.3.19#
Patch Changes#
- #4176
27ae936- feat: add theToolkitDeclaration/ToolkitDeclarationDefinitiontypes for authoring a toolkit permissively (a backend tool may declaredescription/parameters/execute); the canonicalToolkitkeeps those fields erased. Author withdefineToolkit()from@assistant-ui/react, which the"use generative"compiler strips per build. (@Yonom)
0.3.18#
Patch Changes#
-
#4172
1315789- feat: add theToolkitDeclaration/ToolkitDeclarationDefinitiontypes for authoring a toolkit permissively (a backend tool may declaredescription/parameters/execute); the canonicalToolkitkeeps those fields erased. Author withdefineToolkit()from@assistant-ui/next, which the"use generative"compiler strips per build. (@Yonom) -
#4151
299d448- chore: drop stalebiome-ignorepragmas now that the repo lints with oxlint (@okisdev) -
#4167
fcb6baf- feat: add adisplaypresentation hint to tools and a"standalone-tool-call"key togroupPartByType. (@Yonom)Tool UIs fall into three buckets: prompting the user (human-in-the-loop), informing the user (generative UI), and traces of what the model is doing (routine frontend/backend tool calls). The first two should be surfaced on their own; the last belongs folded into the chain-of-thought trace. The new
displayfield on a tool lets you place a tool in the right bucket without overloadingtype:const toolkit = { ask_user: { type: "human", render: AskUI }, // standalone (forced — can't opt out) search_web: { type: "frontend", render: SearchUI }, // inline trace (default) checkout: { type: "frontend", render: CheckoutUI, display: "standalone", // opt in }, } satisfies Toolkit;display?: "standalone" | "inline"is a client-only presentation hint (it never reaches the model). Defaults to"inline".humantools are always"standalone"and cannot opt out (the type only allows"standalone"). MCP-app tool calls and the built-in generative-UI tool are standalone too. Every other tool defaults to inline and opts in explicitly.groupPartByTypegains a synthetic"standalone-tool-call"key that matches all of the above.MessagePrimitive.GroupedPartspasses the live tool-UI registry to thegroupByfunction as a secondcontextargument ({ toolUIs }), and the helper reads it to resolve the registry-driven cases; MCP-app calls are detected from the part alone.- The
"mcp-app"key ongroupPartByTypeis deprecated in favor of"standalone-tool-call"(a superset). It still works for back-compat.
The shadcn
thread.tsxtemplate is updated to use"standalone-tool-call": []in place of"mcp-app": []. -
#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.
0.3.17#
Patch Changes#
-
#4116
d4f1db4- fix: preserve parentId on streamed text and reasoning parts (@ShobhitPatra)AssistantStreamControllerdroppedparentIdfor text/reasoning parts written through awithParentId(...)controller:addTextPart/addReasoningPartnever attached it, andappendText/appendReasoningreused the open append part across aparentIdchange. This silently merged parts and broke theAuiTextDelta/AuiReasoningDeltadata-stream round trip (including the decoder's ownwithParentId(...).appendText(...)path).
0.3.16#
Patch Changes#
-
#4096
13a12c4- docs(assistant-stream): fix README usage example and clarify wire-format pairing (@okisdev)the README Usage snippet was calling
controller.appendText()with no arguments and treating the return value as a writer, butAssistantStreamController.appendTexthas signature(textDelta: string): void. copy-pasting the old snippet threwTypeError: Cannot read properties of undefined (reading 'append')at the firsttext.append(...)call. switched the example to the actual API.also added a short note that
createAssistantStreamResponsereturns a standard WebResponse(drops into Next.js / Hono / Bun / Deno / Cloudflare Workers; Express and Fastify need a small adapter), and that the emitted bytes are the data stream wire format. on the frontend pair it withuseDataStreamRuntime({ api, protocol: "data-stream" }); the defaultprotocol: "ui-message-stream"expects AI SDK v6's SSE-based UI message stream format and will throwStream ended abruptly without receiving [DONE] markeragainst this output.
0.3.15#
Patch Changes#
- #4023
94548fa- docs: add JSDoc for assistant stream tool definitions (@AVGVSTVS96)
0.3.14#
Patch Changes#
-
#3979
9ecda1d- feat(assistant-stream): add resumable stream primitives (@okisdev)new
assistant-stream/resumableentrypoint for persisting an in-flightAssistantStreamand replaying it after a disconnect or reload.createResumableStreamContext({ store, ttlMs?, waitUntil?, onAcquire?, onAppend?, onFinalize?, onError? })returns{ run, resume, requireResume, status, delete }.createResumableAssistantStreamResponseandcreateResumeAssistantStreamResponsebridgeAssistantStreamControllercallbacks to anyAssistantStreamEncoder.createInMemoryResumableStreamStorecovers dev and tests; Redis adapters live atassistant-stream/resumable/redisandassistant-stream/resumable/ioredis(peer deps), with pipelined appends and binary chunk values.typed errors via
ResumableStreamErrorwith codes"missing" | "exists" | "finalized" | "invalid-id". -
#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.
0.3.13#
Patch Changes#
0.3.12#
Patch Changes#
0.3.11#
Patch Changes#
- c988db8: chore: update dependencies
0.3.10#
Patch Changes#
- 2c5cd97: fix(assistant-stream): handle CRLF line endings in LineDecoderStream
0.3.9#
Patch Changes#
-
dffb6b4: feat: add data part type to streaming pipeline
Add DataPart as a new streamable content part type, enabling AI to send structured named data that renders via makeAssistantDataUI. Includes appendData() controller method and DataStream serialization support.
-
9103282: fix: resolve biome lint warnings (optional chaining, unused suppressions)
-
bdce66f: chore: update dependencies
-
209ae81: chore: remove aui-source export condition from package.json exports
0.3.8#
Patch Changes#
- 3227e71: feat: add
toPartialJSONSchemautility for making JSON Schema properties optional - 52403c3: chore: update dependencies
0.3.7#
Patch Changes#
- 736344c: chore: update dependencies
0.3.6#
Patch Changes#
- 427ffaa: refactor: drop all barrel files
- 349f3c7: chore: update deps
- 02614aa: feat: add multi-agent support
ReadonlyThreadProviderandMessagePartPrimitive.Messagesfor rendering sub-agent messagesassistant-stream: addmessagesfield totool-resultchunks,ToolResponseLike, andToolCallParttypes, enabling sub-agent messages to flow through the streaming protocol
0.3.5#
Patch Changes#
- 2828b67: fix(assistant-stream): throw a clear error when a Standard Schema (e.g. Zod v3) cannot be converted to JSON Schema, instead of silently passing through invalid data. Also add support for
~standard.jsonSchema.input()conversion path.
0.3.4#
Patch Changes#
- 36ef3a2: chore: update dependencies
0.3.3#
Patch Changes#
- 61b54e9: Add message timing metadata:
AssistantMessageTimingtype, automatic timing tracking inAssistantMessageAccumulator,MessageTimingtype,useMessageTiming()hook, and client-side streaming timing for AI SDK runtime. - 93910bd: Rename .tsx files to .ts where no JSX syntax is used
0.3.2#
Patch Changes#
- a088518: chore: update dependencies
0.3.1#
Patch Changes#
- d45b893: chore: update dependencies
0.3.0#
Minor Changes#
- acbaf07: feat: add framework-agnostic
toToolsJSONSchemaandtoGenericMessagesutilities toassistant-stream
0.2.48#
Patch Changes#
- 605d825: chore: update dependencies
0.2.47#
Patch Changes#
- 3719567: chore: update deps
0.2.46#
Patch Changes#
- 57bd207: chore: update dependencies
- cce009d: chore: use tsc for building packages
0.2.45#
Patch Changes#
- e8ea57b: chore: update deps
0.2.44#
Patch Changes#
- 89aec17: feat: AI SDK frontend tool execution cancellation support
fix: AI SDK isRunning status when running frontend tools
0.2.43#
Patch Changes#
- 01c31fe: chore: update dependencies
0.2.42#
Patch Changes#
- ec662cd: chore: update dependencies
0.2.41#
Patch Changes#
- 2c33091: chore: update deps
0.2.40#
Patch Changes#
- ef58020: feat(assistant-stream): parallel tool calling
0.2.39#
Patch Changes#
- 2fc7e99: chore: update deps
0.2.38#
Patch Changes#
- 2fc5c3d: feat: AssistantTransport wire format
0.2.37#
Patch Changes#
- 953db24: chore: update deps
0.2.36#
Patch Changes#
- chore: update deps
0.2.35#
Patch Changes#
- 7c5943b: fix: detect duplicate tool calls in data stream
0.2.34#
Patch Changes#
- e6a46e4: chore: update deps
0.2.33#
Patch Changes#
- 3caad00: refactor: rename interrupt -> human for tool input handling
0.2.32#
Patch Changes#
- e81784b: feat: Tool Call interrupt() resume() API
0.2.31#
Patch Changes#
- c0f5003: fix(stream): always use async to flush controller appends
0.2.30#
Patch Changes#
- 8812f86: chore: update deps
0.2.29#
Patch Changes#
- d19ebab: feat(assistant-transport): surface stream errors to caller
0.2.28#
Patch Changes#
- feat: throttle only on stream resume
0.2.27#
Patch Changes#
- fix: make accumulator throttling smoother
0.2.26#
Patch Changes#
- 0f21c70: feat: throttle AssistantMessageAccumulator emits
0.2.25#
Patch Changes#
- 2e7a10f: feat: createInitialMessage unstable_state support
feat: export AssistantMetaTransformStream
0.2.24#
Patch Changes#
- cf26771: feat: export AssistantTransformStream API
0.2.23#
Patch Changes#
- 12e0a77: chore: update deps
0.2.22#
Patch Changes#
- 0f063e0: chore: update dependencies
0.2.21#
Patch Changes#
- fix: race condition in RunController when using parentIds
0.2.20#
Patch Changes#
- f23fdb6: feat: add parent ID grouping for message parts
0.2.19#
Patch Changes#
- 20a4649: fix: preserve message error statuses, avoid being overwritten by finish chunks
- 9793e64: fix: if tool calls have no argsText, assume empty object instead of crashing
0.2.18#
Patch Changes#
- 65b3ff1: chore: update deps
0.2.17#
Patch Changes#
- 644abb8: chore: update deps
0.2.16#
Patch Changes#
- de00319: fix: add assistant-stream/utils subpath import workaround
0.2.15#
Patch Changes#
- 51b8493: feat: add missing exports
0.2.14#
Patch Changes#
- 52e18bc: feat: ToolResponseLike
0.2.13#
Patch Changes#
- fix: Last is not a partial call attempt 3
0.2.12#
Patch Changes#
- fix: add another workaround for Last is not a partial call
0.2.11#
Patch Changes#
- fix: Last is not a partial call error
0.2.10#
Patch Changes#
- chore: update deps
0.2.9#
Patch Changes#
- fix: PlainTextEncoder should ignore part-start/finish
0.2.8#
Patch Changes#
- fix: close argsTextController when setResponse is called
0.2.7#
Patch Changes#
- 5cb9598: feat(assistant-stream): ObjectStream
0.2.6#
Patch Changes#
- 0809c9f: feat: add missing exports from 'assistant-stream'
0.2.5#
Patch Changes#
- c4c60cf: fix: server-side tool results should be forwarded to StreamCallController
- 73a6ff1: feat: Tool.type
0.2.4#
Patch Changes#
- 98a680e: chore: update deps
0.2.3#
Patch Changes#
- 30ae924: fix: disabled tools should still execute if invoked
0.2.2#
Patch Changes#
- fix: ESM without bundler compat
0.2.1#
Patch Changes#
- fix: correctly include Typescript declarations
0.2.0#
Patch Changes#
- 557c3f7: build: drop CJS builds
0.1.8#
Patch Changes#
- fix: types in ESM
0.1.7#
Patch Changes#
- 51104f0: feat: ship declarationMaps
0.1.6#
Patch Changes#
- feat: export AssistantStreamController
0.1.5#
Patch Changes#
- 2e4a7c1: fix: correctly forward tool result from data stream
0.1.4#
Patch Changes#
- 62c2af7: feat: tool.streamCall API
- b9c731a: chore: update dependencies
0.1.3#
Patch Changes#
- c0c9422: feat: useToolArgsFieldStatus
0.1.2#
Patch Changes#
- chore: update deps
0.1.1#
Patch Changes#
- fix: throw error when LineDecoderStream ends with incomplete line instead of emitting it
0.1.0#
Patch Changes#
- 1f65c94: fix: ToolResponse instanceof check via named symbol
- 8df35f6: feat: fix duplicate tool calls appearing from ai-sdk
- 476cbfb: fix: make text-delta support reasoning part type
0.0.32#
Patch Changes#
- 545a17c: fix: do not crash on tool call with empty argsText
0.0.31#
Patch Changes#
- 93c3eb4: fix: drop ToolResponseBrand
0.0.30#
Patch Changes#
- a22bc7a: refactor: merge setResult and setArtifact to setResponse
- 39aecd7: chore: update dependencies
0.0.29#
Patch Changes#
- feat: expose assitant-stream ToolResponse API
0.0.28#
Patch Changes#
- 40579cd: feat: ToolResponse support
0.0.27#
Patch Changes#
- fix: assistant-stream appendText must only append to the very last part
0.0.26#
Patch Changes#
- c4d7b29: feat: tool call artifacts
0.0.25#
Patch Changes#
- fix: frontend tool call enqueue bug
0.0.24#
Patch Changes#
- chore: bump assistant-stream
0.0.23#
Patch Changes#
- 439ae67: fix: properly emit tool-call args-text finish
0.0.22#
Patch Changes#
- b07603d: feat: assistant-stream rewrite
0.0.21#
Patch Changes#
- fix: pin nanoid version for CJS compat
0.0.20#
Patch Changes#
- 7f7ab5e: refactor: assitant-stream API
0.0.19#
Patch Changes#
- 72e66db: chore: update dependencies
0.0.18#
Patch Changes#
- b44a7ad: feat: error message part
- 22272e6: chore: update dependencies
0.0.17#
Patch Changes#
- 70ccbe6: feat: AssistantMessageStream
0.0.16#
Patch Changes#
- 345f3d5: chore: update dependencies
0.0.15#
Patch Changes#
- 4c2bf58: chore: update dependencies
0.0.14#
Patch Changes#
- 982a6a2: chore: update dependencies
0.0.13#
Patch Changes#
- ec3b8cc: chore: update dependencies
0.0.12#
Patch Changes#
- ignore unsupported data stream parts
0.0.11#
Patch Changes#
- 4c54273: chore: update dependencies
0.0.10#
Patch Changes#
- interop with module resolution node
0.0.8#
Patch Changes#
- 2112ce8: chore: update dependencies
0.0.7#
Patch Changes#
- 933b8c0: chore: update deps
0.0.6#
Patch Changes#
- c59d8b5: chore: update dependencies
0.0.5#
Patch Changes#
- 1ada091: chore: update deps
0.0.4#
Patch Changes#
- ff5b86c: chore: update deps
0.0.3#
Patch Changes#
- d2375cd: build: disable bundling in UI package releases
0.0.1#
Patch Changes#
- fb32e61: chore: update deps
0.0.0#
Patch Changes#
- fb46305: chore: update dependencies