Releases: devicai/devicui
Release list
v0.62.4 — Answer calls to client tools that are no longer loaded
Fix conversations stuck in waiting_for_tool_response when the model calls a client tool the application no longer offers, typically because the user moved to another screen while the assistant was working. Once the API waits for a tool response, a call to a tool that is not loaded waits up to 5 s (unavailableToolGraceMs) for it to be registered and runs it if it shows up. Otherwise it is answered with a TOOL_UNAVAILABLE error the model can read, so the run continues and later messages are accepted. Async backend tools (pendingAsyncToolCalls) are never answered by the client. Applies to ChatDrawer, AICommandBar, AIGenerationButton and AIElementWrapper.
Validated with 39 tests, typecheck, build, and a local end-to-end run of ChatDrawer against the API with screen-dependent tools (stay, leave, leave and return, and main as negative control).
v0.62.3 — Continue conversations after client tools
Fix text chats stopping after the first Model Interface Tool response. Conversations now continue through consecutive client tools in both streaming and polling modes. Widget confirmation still pauses for user input; tool-response failures stop loading and show the error.
Validated with 32 tests, typecheck, build, and real multi-turn Composio conversations.
v0.62.2 — Live spending limits and custom limit notices
Respect custom usage-limit banners without repeating the raw error above the conversation. Stop Live auto-recovery when the tenant/subtenant spending cap ends the session, with a clear closure reason. Typecheck, 30 tests and ESM/CJS builds passed.
v0.37.1
Fix: the recalled-memories strip collapsed to a 2px line when the conversation overflowed the drawer (flex-shrink: 0).
v0.37.0 — Long-term memory UI
- Recalled memories strip in the chat (visible while the assistant is still processing, via the realtime poll)
showRecalledMemories+recalledMemoriesRendereroptions;useDevicChat().recalledMemoriesCoreMemoryModal(view/edit core memory per tenant/subtenant) +showCoreMemoryButtondrawer option- API client:
getCoreMemory,addCoreMemoryEntry,updateCoreMemoryEntry,deleteCoreMemoryEntry
v0.14.0
Features
- AIElementWrapper component — wraps any React node and exposes a floating trigger to query AI about that element. Two behaviors:
inline— floating tooltip with the assistant's answer.drawer— push the wrapped element as a chip-style reference into the registeredChatDrawer.
- Four
showOnmodes:hover,click,always,select. Theselectmode anchors the trigger to the user's text selection. - Trigger and tooltip rendered through a React portal with
position: fixed, so they always stay above other UI (including the ChatDrawer) regardless of stacking context. - Singleton registry ensures only one wrapper shows its trigger at a time.
Provider / ChatDrawer integration
DevicProviderextended withreferences[],addReference,removeReference,clearReferences,registerDrawer,openDrawer.ChatDrawerauto-registers in the provider, reads references from context, renders chips above the input area and prefixes outgoing user messages.- User-message bubbles parse the prefix and show chip widgets instead of the raw text — the LLM still receives the full prefixed content.
CustomPromptBoxPropsextended withreferences,removeReference,clearReferences.
v0.1.0 - Initial Release
Add GitHub Actions workflows for CI and npm publishing - CI workflow: type check and build on PRs and main - Publish workflow: auto-publish to npm on release creation Co-Authored-By: Claude <noreply@anthropic.com>