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

latest releases: @assistant-ui/react-o11y@0.0.23, @assistant-ui/mcp-docs-server@0.1.35, @assistant-ui/store@0.2.18...
8 hours ago

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
  • #4378 4583ca7 - feat: approval options vocabulary on tool approvals. ToolCallMessagePart.approval gains request-supplied options (machine-readable kinds allow-once / allow-always / reject-once / reject-always, open to _-prefixed custom kinds), a recorded optionId, and a terminal resolution ("cancelled" | "expired") for non-decision outcomes. respondToApproval additionally accepts { optionId }, resolved in core against the option's kind; custom kinds require an explicit approved. ExternalThread gains an onRespondToToolApproval callback. The kit approval bar renders supplied options with an opt-in confirmation step showing the grants an option would persist. Persistence stays host-owned. (@okisdev)

  • #4379 94cc028 - feat: per-tool-call timing and stall detection. ToolCallMessagePart gains a timing field ({ startedAt, completedAt? } in epoch ms), auto-populated by the assistant-stream accumulator at part start and result, and accepted on ThreadMessageLike for external-store hosts. New useToolCallElapsed() 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 kit ToolFallback trigger renders the duration when timing is present. (@okisdev)

  • 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

Don't miss a new assistant-ui release

NewReleases is sending notifications on new releases.