Files
wehub-resource-sync e30e75b5d4
Changesets / Create Version PR (push) Has been cancelled
Deploy Shadcn Registry / Deploy Production (push) Has been cancelled
Template Metrics / LOC + Bundle Size (push) Has been cancelled
Code Quality / Oxlint + Oxfmt (push) Has been cancelled
Code Quality / Template Sync (push) Has been cancelled
Code Quality / Build Changed Packages (push) Has been cancelled
Code Quality / Test Changed Packages (push) Has been cancelled
Deploy Expo Example / Deploy Production (push) Has been cancelled
Deploy Ink Example / Deploy Production (push) Has been cancelled
Python Tests / pytest (assistant-stream, 3.10) (push) Has been cancelled
Python Tests / pytest (assistant-stream, 3.12) (push) Has been cancelled
Python Tests / pytest (assistant-ui-sync-server-api, 3.10) (push) Has been cancelled
Python Tests / pytest (assistant-ui-sync-server-api, 3.12) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:40:13 +08:00

46 KiB

@assistant-ui/react-ink

0.0.31

Patch Changes

0.0.30

Patch Changes

  • #4517 cefcf27 - chore: update dependencies (@okisdev)

  • #4310 0c51b90 - feat: add unstable_ interactables API; restore and deprecate the previous interactables API (@AVGVSTVS96)

    The redesigned interactables API is now available as an additive unstable_* surface for building editable, in-message UI while preserving the existing stable API for compatibility.

    • unstable_useInteractable(name, config) registers an interactable and returns its state plus methods in one hook.
    • Each unstable interactable name gets one stable update_{name} tool. When multiple instances share a name, the tool targets an instance by id.
    • Thread-scoped interactables rendered inside message parts expose version, including the state for that message, whether it is the latest tool-driven version, and restore().
    • Added unstable_interactableTool(...) for defining a creating tool and its in-message render UI together.
    • Added unstable_useInteractableVersions(id, name) for version history UIs.
    • Persistence adapters can now provide load() and be passed directly to unstable_Interactables({ persistence }).

    The previous useAssistantInteractable / useInteractableState / Interactables API remains available unchanged and is marked deprecated. Existing apps do not need to migrate immediately.

    Migration notes for the unstable API:

    - const id = useAssistantInteractable("taskBoard", config);
    - const [state, { setState }] = useInteractableState(id, initialState);
    + const [state, { id, setState }] = unstable_useInteractable("taskBoard", config);
    
    • Use unstable_interactables: unstable_Interactables() when registering the unstable scope.
    • unstable_useInteractableState(id) is intended for secondary readers and returns undefined until the owner registers.
    • The unstable API uses per-name update tools (update_{name}) with an id parameter instead of legacy per-instance tools (update_{name}_{id}).
    • A top-level id field in stateSchema is reserved for instance addressing. Rename domain state fields to itemId, recordId, etc. if the model should edit them.
    • Model selection should be represented as ordinary state in the unstable API; the legacy selected registration prop and setSelected method remain available on the deprecated stable API.
  • #4577 fe28419 - feat: re-export unstable interactable snapshot helpers from native and ink barrels (@Kinfe123)

  • #4542 4acd4c0 - add unstable id-keyed thread message rendering APIs for virtualized and custom message lists. unstable_useThreadMessageIds() returns the thread's message ids (stable array identity across content-only updates), and ThreadPrimitive.Unstable_MessageById renders a single message by id with the same component surface as MessageByIndex. A missing or removed id renders null instead of throwing. (@AVGVSTVS96)

  • Updated dependencies [ddc40b7, ea52de0, 29c6fdb, d0987a3, cefcf27, 0c51b90, 3a8f685, ec6adf4, 4acd4c0]:

    • @assistant-ui/core@0.2.19
    • assistant-stream@0.3.24
    • @assistant-ui/store@0.2.19
    • @assistant-ui/tap@0.9.3

0.0.29

Patch Changes

  • #4426 68dfbaa - chore: mark generateId and fromThreadMessageLike as experimental (@okisdev)

    these two utilities became public in #4414. they now carry an @deprecated JSDoc noting the API is experimental and may change without notice, matching how the other unstable public utilities (e.g. bindExternalStoreMessage) are flagged. the distribution packages (@assistant-ui/react, @assistant-ui/react-native, @assistant-ui/react-ink) re-export them, so the annotation lands in their published types too.

  • Updated dependencies [68dfbaa, fe24ad6]:

    • @assistant-ui/core@0.2.18

0.0.28

Patch Changes

  • #4414 344f737 - feat: export fromThreadMessageLike and generateId from the public API (@okisdev)

    these two utilities were only reachable via @assistant-ui/core/internal, so materializing a ThreadMessageLike into a ThreadMessage, or generating an id for a hand-built message, meant reaching into internals (the first-party ag-ui and a2a runtimes already did). they are now exported from @assistant-ui/core, @assistant-ui/react, @assistant-ui/react-native, and @assistant-ui/react-ink. also removes the now-redundant duplicate listing of both from the unstable INTERNAL namespace (the one in-repo consumer, the with-ffmpeg example, now uses the public export).

  • #4422 e100f90 - chore: update dependencies (@Yonom)

  • Updated dependencies [344f737, a2e21ee]:

    • @assistant-ui/core@0.2.17

0.0.27

Patch Changes

0.0.26

Patch Changes

  • #4385 ae59baf - feat: precompile packages with React Compiler (@Yonom)

    • aui-build runs React Compiler over packages that depend on tap and remaps react/compiler-runtime to the tap shim subpath, so compiled hooks and components work both in React components and inside tap resource renders
    • @assistant-ui/tap/react-shim exports useMemoCache (tap inside a resource render, React.__COMPILER_RUNTIME.c otherwise, with a React 18 polyfill); new @assistant-ui/tap/react-shim/compiler-runtime subpath mirrors react/compiler-runtime's c export
    • tap implements useSyncExternalStore and a no-op useDebugValue; useSubscribable now builds on useSyncExternalStore so its store reads stay visible to the compiler
    • AssistantProviderBase opts out via "use no memo" because the runtime receives options through an effect inside a re-rendered child element
  • Updated dependencies [c207bcd, ae59baf, 9f13fdb, 4583ca7, 94cc028]:

    • @assistant-ui/core@0.2.15
    • @assistant-ui/tap@0.8.1
    • @assistant-ui/store@0.2.17
    • assistant-stream@0.3.22

0.0.25

Patch Changes

0.0.24

Patch Changes

  • #4260 19c5b5f - fix: make defineToolkit usable for plain runtime toolkits (@Yonom)

  • #4249 ca191dc - feat: add externalTool for render-only generative toolkit entries (@Yonom)

  • #4243 b79794d - fix(react-ink): block Enter submission while the thread is running unless the runtime supports queueing. ComposerInput called composer().send() unconditionally, so pressing Enter mid-run interrupted the active stream even on runtimes with capabilities.queue: false. It now applies the same gate as the web ComposerInput (isRunning && !capabilities.queue no-ops, keeping the typed text). The onSubmit override path is unaffected; apps using it own their submit behavior. (@ShobhitPatra)

  • #4306 15878d8 - chore: update dependencies (@Yonom)

  • #4253 4c8f894 - feat: defineToolkit and the tool markers (hitlTool / stubTool / providerTool) now have runtime implementations in @assistant-ui/react-ink, so Ink apps author tools with the same defineToolkit API (and typed args) as the web. An Ink app runs in a single Node process with no client/server boundary, so there is nothing for the "use generative" compiler to split: defineToolkit resolves each tool's type at runtime and no build step is required. (@Yonom)

  • #4256 44ff4bf - feat: rename hitlTool to humanTool while keeping deprecated compatibility aliases (@Yonom)

  • Updated dependencies [2a84174, a0a0769, 19c5b5f, dbdfb15, ca191dc, 15878d8, 44ff4bf, 01cf957, 01cf957, 26a365b]:

    • @assistant-ui/core@0.2.11
    • assistant-stream@0.3.21
    • @assistant-ui/store@0.2.14
    • @assistant-ui/tap@0.6.0

0.0.23

Patch Changes

  • #4198 78ff336 - chore: update dependencies (@Yonom)

  • #4212 5fe118d - feat: add MCP server support to generative toolkits (@Yonom)

  • #4213 dcd5897 - feat: add provider-executed tool support to generative toolkits (@Yonom)

  • #4214 69540af - feat: add renderText helpers for tool call status text (@Yonom)

  • #4199 d9b3119 - feat: a defineToolkit entry may now be an already-formed ToolDefinition (carrying its own type), not only an inline definition whose type the compiler infers. This is what lets a factory like new JSONGenerativeUI({ library }).present() be used directly as a tool. (@Yonom)

    Renames the authoring types to match defineToolkit: ToolkitDeclarationToolkitDefinition, and adds ToolkitDefinitionEntry (the union of an inline tool definition and a pre-formed ToolDefinition). The per-tool inline type is now an internal ToolkitDefinitionInput and is no longer exported.

  • #4236 ae54c55 - feat: add stubTool() and experimental useAuiToolOverrides() for locally executed generative toolkit tools (@Yonom)

  • #4235 7640b31 - Deprecate component tool registration APIs in favor of toolkit registrations. (@Yonom)

  • Updated dependencies [cba2b42, 4145caa, 58f80e0, 5fe118d, dcd5897, 0558db2, 69540af, d9b3119, ae54c55, 7640b31]:

    • assistant-stream@0.3.20
    • @assistant-ui/core@0.2.10

0.0.22

Patch Changes

  • #4176 27ae936 - feat: move the defineToolkit and hitl use-generative markers from @assistant-ui/next into @assistant-ui/core/react, so they ship once from every distribution (@assistant-ui/react, @assistant-ui/react-native, @assistant-ui/react-ink) and stay portable across build targets. Import them from @assistant-ui/react instead of @assistant-ui/next; they remain no-op markers stripped at build time by a "use generative" compiler. (@Yonom)

  • Updated dependencies [27ae936, 27ae936]:

    • assistant-stream@0.3.19
    • @assistant-ui/core@0.2.9

0.0.21

Patch Changes

  • #3852 356d8a0 - add a useNotification hook plus ringBell / sendOSCNotification helpers to @assistant-ui/react-ink. the hook rings the terminal bell and emits an OSC desktop notification when the assistant finishes a run, stops with an error, or pauses for human approval (requires-action with reason: "interrupt" only; tool-call pauses are skipped). pass useNotification() for the default bell-on-every-transition behavior, useNotification({ onTaskComplete: false }) to suppress one trigger, or useNotification({ onTaskComplete: { custom: (event) => ... } }) for a user-supplied callback. transitions are derived from useAuiState so deprecated thread.runStart / thread.runEnd events are not relied on. ringBell and sendOSCNotification are also exported for imperative use. (@ShobhitPatra)

  • #4165 4dfc5da - fix(react-ink): show the error icon for completed tool calls that errored. ToolFallback resolved a part with a complete status to the success icon (+) even when isError was set, so a finished-but-failed tool call rendered green. It now checks isError within the complete branch and shows the error icon (x), matching useToolCallChecklist. (@ShobhitPatra)

  • #3681 9040b7c - feat: add live checklist primitives (ChecklistPrimitive, LiveChecklist) for tracking tool-call progress (@ShobhitPatra)

  • #4175 2dec3ae - chore: update dependencies (@Yonom)

  • #4167 fcb6baf - feat: add a display presentation hint to tools and a "standalone-tool-call" key to groupPartByType. (@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 display field on a tool lets you place a tool in the right bucket without overloading type:

    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".
    • human tools 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.
    • groupPartByType gains a synthetic "standalone-tool-call" key that matches all of the above. MessagePrimitive.GroupedParts passes the live tool-UI registry to the groupBy function as a second context argument ({ 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 on groupPartByType is deprecated in favor of "standalone-tool-call" (a superset). It still works for back-compat.

    The shadcn thread.tsx template is updated to use "standalone-tool-call": [] in place of "mcp-app": [].

  • Updated dependencies [1315789, 299d448, 4429aa3, e76611f, 76f7d16, eef724e, 2dec3ae, fcb6baf, c4d3eea]:

    • assistant-stream@0.3.18
    • @assistant-ui/core@0.2.8
    • @assistant-ui/store@0.2.13
    • @assistant-ui/tap@0.5.14

0.0.20

Patch Changes

0.0.19

Patch Changes

  • #4107 32ae846 - feat: surface AI SDK v6 tool approvals as a first-class respondToApproval prop on tool components. tool-call parts in the approval-requested state now carry part.approval = { id, isAutomatic? }; tool components call respondToApproval({ approved, reason? }) to ack the gate without threading chatHelpers through application context. also fixes a transient requires-action flicker for the approval-responded state and tightens the external-message converter so interrupt vs pending tool calls are distinguished by an actual interrupt/approval field rather than by result === undefined. (@okisdev)

  • Updated dependencies [372d4f0, d4f1db4, 32ae846]:

    • @assistant-ui/core@0.2.6
    • assistant-stream@0.3.17

0.0.18

Patch Changes

0.0.17

Patch Changes

  • #3635 4ae1d2b - feat(react-ink): add StatusBarPrimitive components (@ShobhitPatra)

  • #3860 c1ffce1 - feat(react-ink): add intra-line highlighting to DiffView replacement lines (@ShobhitPatra)

  • #3983 a26f2bd - fix(react-ink): guard Pressable's onPress against the disabled prop independently of isFocused, so disabled reliably blocks key presses even when focus state and the prop disagree. (@ShobhitPatra)

  • #3633 300b3eb - feat(react-ink): add LoadingPrimitive for terminal loading states (@ShobhitPatra)

  • #3983 a26f2bd - feat(react-ink): add Status sub-component for terminal-safe attachment status display, and fall back from extensionless filenames to the attachment type in Thumb. (@ShobhitPatra)

  • #3965 a71f716 - feat(react-ink): add ComposerPrimitive.Queue and QueueItemPrimitive (Text, Remove, Steer) (@ShobhitPatra)

  • #3969 2bcbaf2 - feat(react-ink): add ComposerPrimitive.Quote, QuoteText, and QuoteDismiss for terminal composer quote parity with @assistant-ui/react (@ShobhitPatra)

  • #3957 a25381e - feat(react-ink): harden terminal pressable interactions (@ShobhitPatra)

  • #3958 7a8bf26 - feat(react-ink): add MessagePartPrimitive namespace with terminal-safe defaults for image, file, source, reasoning, and data parts. (@ShobhitPatra)

    Behavior changes in react-ink:

    • MessagePrimitive.Content (deprecated) now renders the new terminal-safe defaults for image/file/source/reasoning/data parts when no render* prop is provided; previously these parts were silently dropped. Pass render*={() => null} to restore the prior behavior.
    • MessagePrimitive.Content now consults dataRenderers.fallbacks[0] before falling back to the inline data renderer, matching MessagePrimitive.Parts.
    • MessagePrimitive.Parts now forwards data and Quote components alongside ChainOfThought; previously data was dropped when ChainOfThought was set.
  • Updated dependencies [db721df, 94548fa, 94548fa, 94548fa, 8b6fc88, 179895f, 7a8bf26, 3b2bbce]:

    • @assistant-ui/store@0.2.11
    • assistant-stream@0.3.15
    • @assistant-ui/core@0.2.3

0.0.16

Patch Changes

  • #4008 fa4510a - feat: support multi-modal tool results via toModelOutput (@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 toModelOutput callback. 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-stream exports a new ToolModelContentPart type ({ type: "text", text } | { type: "file", data, mediaType, filename? }) and a ToolModelOutputFunction<TArgs, TResult> callback type. Tool.toModelOutput is wired through unstable_runPendingTools and ToolExecutionStream, attaching the resulting modelContent to the tool-call part on the assistant message.
    • @assistant-ui/core re-exports ToolModelContentPart and adds an optional modelContent?: readonly ToolModelContentPart[] field on ToolCallMessagePart. existing tools and renderers are unchanged.
    • @assistant-ui/react-ai-sdk's frontendTools(...) helper now also registers a toModelOutput on each forwarded tool. it transparently unwraps an envelope that useAISDKRuntime writes when a frontend-executed tool produced modelContent, 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 without toModelOutput is unchanged.

    route handlers that adopt toModelOutput also need to pass tools to convertToModelMessages (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 use toModelOutput. 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, or convertMessage will 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-sdk from this version onward. if you persist UI messages and read them from multiple environments, upgrade every reader before any writer starts producing toModelOutput; otherwise older readers will treat the envelope object as the result and break the affected tool render functions.

  • #3966 3d78764 - perf: Virtualize message list and memoize per-message render in long ink threads (@samdickson22)

    ThreadPrimitive.Messages now accepts optional windowSize / windowOverscan. When set, the live render region keeps the last windowSize + windowOverscan messages; older ones graduate through Ink's <Static> into terminal scrollback. Each rendered message is wrapped in a memoized boundary keyed by (index, render), so streaming a single message no longer reconciles the full list. Defaults preserve legacy behavior; negative values clamp to 0.

  • Updated dependencies [9ecda1d, 35d0146, fa4510a, c9dd16c, dea8bc7, 9c3d24d]:

    • assistant-stream@0.3.14
    • @assistant-ui/core@0.2.1

0.0.15

Patch Changes

  • Updated dependencies [040d469]:
    • @assistant-ui/core@0.2.0

0.0.14

Patch Changes

  • #3932 6700da5 - feat: re-export RuntimeAdapterProvider, useRuntimeAdapters, and CompleteAttachment (@AVGVSTVS96)

  • #3962 b090acb - chore: update dependencies (@Yonom)

  • Updated dependencies [7098bab, b090acb, 5fdf17e]:

    • @assistant-ui/core@0.1.18
    • assistant-stream@0.3.13
    • @assistant-ui/store@0.2.10
    • @assistant-ui/tap@0.5.11

0.0.13

Patch Changes

0.0.12

Patch Changes

0.0.11

Patch Changes

  • c988db8: chore: update dependencies
  • Updated dependencies [f20b9ca]
  • Updated dependencies [c988db8]
    • @assistant-ui/core@0.1.14
    • assistant-stream@0.3.11
    • @assistant-ui/store@0.2.7
    • @assistant-ui/tap@0.5.8

0.0.10

Patch Changes

  • 376bb00: chore: update dependencies
  • Updated dependencies [42bc640]
  • Updated dependencies [376bb00]
  • Updated dependencies [87e7761]
    • @assistant-ui/core@0.1.13
    • @assistant-ui/tap@0.5.7

0.0.9

Patch Changes

  • 6554892: feat: add useAssistantContext for dynamic context injection

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

  • bdce66f: chore: update dependencies

  • 4abb898: refactor: align interactables with codebase conventions

    • Rename useInteractable to useAssistantInteractable (registration only, returns id)
    • Add useInteractableState hook for reading/writing interactable state
    • Remove makeInteractable and related types
    • Rename UseInteractableConfig to AssistantInteractableProps
    • Extract buildInteractableModelContext from Interactables resource
    • Add with-interactables example to CLI
  • 209ae81: chore: remove aui-source export condition from package.json exports

  • af70d7f: feat: add useToolArgsStatus hook for per-prop streaming status

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

  • Updated dependencies [dffb6b4]

  • 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-stream@0.3.9
    • @assistant-ui/core@0.1.10
    • @assistant-ui/store@0.2.6
    • @assistant-ui/tap@0.5.6

0.0.8

Patch Changes

  • 3227e71: feat: add interactables with partial updates, multi-instance, and selection

    • useInteractable(name, config) hook and makeInteractable factory for registering AI-controllable UI
    • Interactables() scope resource with auto-generated update tools and system prompt injection
    • Partial updates — auto-generated tools use partial schemas so AI only sends changed fields
    • Multi-instance support — same name with different IDs get separate update_{name}_{id} tools
    • Selection — setSelected(true) marks an interactable as focused, surfaced as (SELECTED) in system prompt
  • 52403c3: chore: update dependencies

  • Updated dependencies [781f28d]

  • Updated dependencies [3227e71]

  • Updated dependencies [3227e71]

  • Updated dependencies [0f55ce8]

  • Updated dependencies [83a15f7]

  • Updated dependencies [52403c3]

  • Updated dependencies [ffa3a0f]

    • @assistant-ui/core@0.1.9
    • assistant-stream@0.3.8
    • @assistant-ui/store@0.2.5
    • @assistant-ui/tap@0.5.5

0.0.7

Patch Changes

  • 3247231: feat(react-ink): add DiffPrimitive and DiffView for terminal diff rendering
  • 736344c: 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
    • assistant-stream@0.3.7
    • @assistant-ui/tap@0.5.4

0.0.6

Patch Changes

  • 7ecc497: feat: children API for primitives with part.toolUI, part.dataRendererUI, and MessagePrimitive.Quote
  • 639792c: feat(react-ink): add ErrorPrimitive (Root, Message)
  • Updated dependencies [7ecc497]
    • @assistant-ui/core@0.1.7

0.0.5

Patch Changes

  • 4a904de: refactor: remove useAssistantRuntime hook
  • 349f3c7: chore: update deps
  • 6cc4122: refactor: use primitive hooks
  • 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-stream@0.3.6
    • @assistant-ui/store@0.2.3
    • @assistant-ui/tap@0.5.3

0.0.4

Patch Changes

  • f38a59b: Launch React Ink: add documentation, landing page, CLI --ink flag, and README
  • 990e41d: refactor: code sharing between the multiple platforms
  • Updated dependencies [990e41d]
    • @assistant-ui/core@0.1.5

0.0.3

Patch Changes

  • 6d78873: feat: add ToolFallback component with collapsible tool call visualization
  • Updated dependencies [f032ea5]
  • Updated dependencies [2828b67]
    • @assistant-ui/core@0.1.4
    • assistant-stream@0.3.5

0.0.2

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