@assistant-ui/react 0.12.24 → 0.12.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/dist/augmentations.d.ts.map +1 -1
  2. package/dist/client/InMemoryThreadList.d.ts.map +1 -1
  3. package/dist/client/InMemoryThreadList.js +1 -0
  4. package/dist/client/InMemoryThreadList.js.map +1 -1
  5. package/dist/client/SingleThreadList.d.ts.map +1 -1
  6. package/dist/client/SingleThreadList.js +1 -0
  7. package/dist/client/SingleThreadList.js.map +1 -1
  8. package/dist/context/providers/MessageProvider.d.ts +1 -1
  9. package/dist/context/providers/MessageProvider.d.ts.map +1 -1
  10. package/dist/context/react/ThreadViewportContext.d.ts +3 -3
  11. package/dist/context/react/ThreadViewportContext.d.ts.map +1 -1
  12. package/dist/context/react/utils/createContextHook.d.ts +1 -1
  13. package/dist/context/react/utils/createContextHook.d.ts.map +1 -1
  14. package/dist/context/react/utils/createContextHook.js.map +1 -1
  15. package/dist/context/react/utils/createContextStoreHook.d.ts +1 -1
  16. package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
  17. package/dist/context/react/utils/createStateHookForRuntime.d.ts +1 -1
  18. package/dist/context/react/utils/createStateHookForRuntime.d.ts.map +1 -1
  19. package/dist/context/react/utils/createStateHookForRuntime.js +1 -0
  20. package/dist/context/react/utils/createStateHookForRuntime.js.map +1 -1
  21. package/dist/devtools/DevToolsHooks.d.ts +1 -1
  22. package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
  23. package/dist/devtools/DevToolsHooks.js +4 -0
  24. package/dist/devtools/DevToolsHooks.js.map +1 -1
  25. package/dist/index.d.ts +3 -5
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +6 -32
  28. package/dist/index.js.map +1 -1
  29. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts +3 -3
  30. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
  31. package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
  32. package/dist/legacy-runtime/cloud/auiV0.d.ts +3 -3
  33. package/dist/legacy-runtime/cloud/auiV0.d.ts.map +1 -1
  34. package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
  35. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts +1 -1
  36. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  37. package/dist/legacy-runtime/hooks/AssistantContext.d.ts +1 -1
  38. package/dist/legacy-runtime/hooks/AssistantContext.d.ts.map +1 -1
  39. package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +1 -1
  40. package/dist/legacy-runtime/hooks/AttachmentContext.d.ts.map +1 -1
  41. package/dist/legacy-runtime/hooks/ComposerContext.d.ts +1 -1
  42. package/dist/legacy-runtime/hooks/ComposerContext.d.ts.map +1 -1
  43. package/dist/legacy-runtime/hooks/MessageContext.d.ts +1 -1
  44. package/dist/legacy-runtime/hooks/MessageContext.d.ts.map +1 -1
  45. package/dist/legacy-runtime/hooks/MessagePartContext.d.ts +1 -1
  46. package/dist/legacy-runtime/hooks/MessagePartContext.d.ts.map +1 -1
  47. package/dist/legacy-runtime/hooks/ThreadContext.d.ts +1 -1
  48. package/dist/legacy-runtime/hooks/ThreadContext.d.ts.map +1 -1
  49. package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts +1 -1
  50. package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts.map +1 -1
  51. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts +1 -1
  52. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts.map +1 -1
  53. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +2 -2
  54. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -1
  55. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts +3 -3
  56. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
  57. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +14 -1
  58. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
  59. package/dist/model-context/frame/useAssistantFrameHost.d.ts +1 -1
  60. package/dist/model-context/frame/useAssistantFrameHost.d.ts.map +1 -1
  61. package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -1
  62. package/dist/model-context/makeAssistantVisible.d.ts +1 -1
  63. package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
  64. package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -1
  65. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  66. package/dist/primitives/actionBar/ActionBarEdit.d.ts +1 -1
  67. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  68. package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts +1 -1
  69. package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -1
  70. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +1 -1
  71. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  72. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +1 -1
  73. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  74. package/dist/primitives/actionBar/ActionBarReload.d.ts +1 -1
  75. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  76. package/dist/primitives/actionBar/ActionBarRoot.d.ts +1 -1
  77. package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
  78. package/dist/primitives/actionBar/ActionBarSpeak.d.ts +1 -1
  79. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
  80. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +1 -1
  81. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  82. package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts +5 -2
  83. package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts.map +1 -1
  84. package/dist/primitives/actionBarMore/ActionBarMoreContent.js +3 -2
  85. package/dist/primitives/actionBarMore/ActionBarMoreContent.js.map +1 -1
  86. package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts +7 -4
  87. package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts.map +1 -1
  88. package/dist/primitives/actionBarMore/ActionBarMoreItem.js +2 -2
  89. package/dist/primitives/actionBarMore/ActionBarMoreItem.js.map +1 -1
  90. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts +1 -1
  91. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -1
  92. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -1
  93. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts +7 -4
  94. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts.map +1 -1
  95. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js +2 -2
  96. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js.map +1 -1
  97. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts +7 -4
  98. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts.map +1 -1
  99. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js +2 -2
  100. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js.map +1 -1
  101. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +1 -1
  102. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
  103. package/dist/primitives/assistantModal/AssistantModalAnchor.js +1 -1
  104. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  105. package/dist/primitives/assistantModal/AssistantModalContent.d.ts +1 -1
  106. package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
  107. package/dist/primitives/assistantModal/AssistantModalContent.js +1 -1
  108. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  109. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +1 -1
  110. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
  111. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  112. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +1 -1
  113. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
  114. package/dist/primitives/assistantModal/AssistantModalTrigger.js +1 -1
  115. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  116. package/dist/primitives/attachment/AttachmentRemove.d.ts +1 -1
  117. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
  118. package/dist/primitives/attachment/AttachmentRoot.d.ts +1 -1
  119. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
  120. package/dist/primitives/attachment/AttachmentRoot.js +1 -1
  121. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  122. package/dist/primitives/attachment/AttachmentThumb.d.ts +1 -1
  123. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  124. package/dist/primitives/attachment/AttachmentThumb.js +1 -1
  125. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  126. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +1 -1
  127. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  128. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +1 -1
  129. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  130. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +1 -1
  131. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  132. package/dist/primitives/branchPicker/BranchPickerRoot.js +1 -1
  133. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  134. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +1 -1
  135. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
  136. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +1 -1
  137. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
  138. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js +1 -1
  139. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -1
  140. package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -1
  141. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  142. package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts +1 -1
  143. package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts.map +1 -1
  144. package/dist/primitives/composer/ComposerAttachmentDropzone.js +3 -2
  145. package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
  146. package/dist/primitives/composer/ComposerCancel.d.ts +1 -1
  147. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  148. package/dist/primitives/composer/ComposerDictationTranscript.d.ts +1 -1
  149. package/dist/primitives/composer/ComposerDictationTranscript.d.ts.map +1 -1
  150. package/dist/primitives/composer/ComposerDictationTranscript.js +1 -1
  151. package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
  152. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  153. package/dist/primitives/composer/ComposerInput.js +28 -0
  154. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  155. package/dist/primitives/composer/ComposerInputPluginContext.d.ts +11 -3
  156. package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -1
  157. package/dist/primitives/composer/ComposerInputPluginContext.js +13 -9
  158. package/dist/primitives/composer/ComposerInputPluginContext.js.map +1 -1
  159. package/dist/primitives/composer/ComposerRoot.d.ts +1 -1
  160. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  161. package/dist/primitives/composer/ComposerSend.d.ts +1 -1
  162. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  163. package/dist/primitives/composer/trigger/TriggerPopover.d.ts +60 -0
  164. package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -0
  165. package/dist/primitives/composer/trigger/TriggerPopover.js +108 -0
  166. package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -0
  167. package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts +31 -0
  168. package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts.map +1 -0
  169. package/dist/primitives/composer/trigger/TriggerPopoverAction.js +39 -0
  170. package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -0
  171. package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts.map +1 -1
  172. package/dist/primitives/composer/trigger/TriggerPopoverBack.js +3 -3
  173. package/dist/primitives/composer/trigger/TriggerPopoverBack.js.map +1 -1
  174. package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -1
  175. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js +11 -9
  176. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -1
  177. package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts +28 -0
  178. package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts.map +1 -0
  179. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js +37 -0
  180. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js.map +1 -0
  181. package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -1
  182. package/dist/primitives/composer/trigger/TriggerPopoverItems.js +9 -6
  183. package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -1
  184. package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +16 -17
  185. package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -1
  186. package/dist/primitives/composer/trigger/TriggerPopoverResource.js +53 -248
  187. package/dist/primitives/composer/trigger/TriggerPopoverResource.js.map +1 -1
  188. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +60 -0
  189. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -0
  190. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js +117 -0
  191. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -0
  192. package/dist/primitives/composer/trigger/detectTrigger.js +1 -1
  193. package/dist/primitives/composer/trigger/detectTrigger.js.map +1 -1
  194. package/dist/primitives/composer/trigger/index.d.ts +16 -3
  195. package/dist/primitives/composer/trigger/index.d.ts.map +1 -1
  196. package/dist/primitives/composer/trigger/index.js +9 -2
  197. package/dist/primitives/composer/trigger/index.js.map +1 -1
  198. package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +22 -0
  199. package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -0
  200. package/dist/primitives/composer/trigger/triggerDetectionResource.js +17 -0
  201. package/dist/primitives/composer/trigger/triggerDetectionResource.js.map +1 -0
  202. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts +45 -0
  203. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -0
  204. package/dist/primitives/composer/trigger/triggerKeyboardResource.js +94 -0
  205. package/dist/primitives/composer/trigger/triggerKeyboardResource.js.map +1 -0
  206. package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts +31 -0
  207. package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -0
  208. package/dist/primitives/composer/trigger/triggerNavigationResource.js +94 -0
  209. package/dist/primitives/composer/trigger/triggerNavigationResource.js.map +1 -0
  210. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts +42 -0
  211. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -0
  212. package/dist/primitives/composer/trigger/triggerSelectionResource.js +62 -0
  213. package/dist/primitives/composer/trigger/triggerSelectionResource.js.map +1 -0
  214. package/dist/primitives/composer.d.ts +8 -13
  215. package/dist/primitives/composer.d.ts.map +1 -1
  216. package/dist/primitives/composer.js +7 -17
  217. package/dist/primitives/composer.js.map +1 -1
  218. package/dist/primitives/dropdownMenuRenderPrimitives.d.ts +14 -0
  219. package/dist/primitives/dropdownMenuRenderPrimitives.d.ts.map +1 -0
  220. package/dist/primitives/dropdownMenuRenderPrimitives.js +7 -0
  221. package/dist/primitives/dropdownMenuRenderPrimitives.js.map +1 -0
  222. package/dist/primitives/error/ErrorMessage.d.ts +1 -1
  223. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
  224. package/dist/primitives/error/ErrorMessage.js +1 -1
  225. package/dist/primitives/error/ErrorMessage.js.map +1 -1
  226. package/dist/primitives/error/ErrorRoot.d.ts +1 -1
  227. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
  228. package/dist/primitives/error/ErrorRoot.js +1 -1
  229. package/dist/primitives/error/ErrorRoot.js.map +1 -1
  230. package/dist/primitives/message/MessageError.d.ts +1 -1
  231. package/dist/primitives/message/MessageError.d.ts.map +1 -1
  232. package/dist/primitives/message/MessagePartsGrouped.d.ts +1 -1
  233. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  234. package/dist/primitives/message/MessageRoot.d.ts +1 -1
  235. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  236. package/dist/primitives/messagePart/MessagePartImage.d.ts +1 -1
  237. package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
  238. package/dist/primitives/messagePart/MessagePartImage.js +2 -1
  239. package/dist/primitives/messagePart/MessagePartImage.js.map +1 -1
  240. package/dist/primitives/messagePart/MessagePartInProgress.d.ts +1 -1
  241. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  242. package/dist/primitives/messagePart/MessagePartText.d.ts +2 -2
  243. package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
  244. package/dist/primitives/queueItem/QueueItemRemove.d.ts +1 -1
  245. package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
  246. package/dist/primitives/queueItem/QueueItemSteer.d.ts +1 -1
  247. package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
  248. package/dist/primitives/suggestion/SuggestionDescription.d.ts +1 -1
  249. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
  250. package/dist/primitives/suggestion/SuggestionDescription.js +1 -1
  251. package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -1
  252. package/dist/primitives/suggestion/SuggestionTitle.d.ts +1 -1
  253. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
  254. package/dist/primitives/suggestion/SuggestionTitle.js +1 -1
  255. package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -1
  256. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -1
  257. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  258. package/dist/primitives/thread/ThreadRoot.d.ts +1 -1
  259. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  260. package/dist/primitives/thread/ThreadRoot.js +1 -1
  261. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  262. package/dist/primitives/thread/ThreadScrollToBottom.d.ts +1 -1
  263. package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
  264. package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -1
  265. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  266. package/dist/primitives/thread/ThreadSuggestion.js +0 -2
  267. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  268. package/dist/primitives/thread/ThreadViewport.d.ts +1 -1
  269. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  270. package/dist/primitives/thread/ThreadViewportFooter.d.ts +1 -1
  271. package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -1
  272. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -1
  273. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  274. package/dist/primitives/threadList/ThreadListRoot.d.ts +1 -1
  275. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
  276. package/dist/primitives/threadList/ThreadListRoot.js +1 -1
  277. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
  278. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -1
  279. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  280. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -1
  281. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  282. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +1 -1
  283. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  284. package/dist/primitives/threadListItem/ThreadListItemRoot.js +1 -1
  285. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  286. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -1
  287. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  288. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -1
  289. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  290. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +5 -2
  291. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -1
  292. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +3 -2
  293. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -1
  294. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +7 -4
  295. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -1
  296. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js +2 -2
  297. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -1
  298. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +1 -1
  299. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -1
  300. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -1
  301. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +7 -4
  302. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -1
  303. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js +2 -2
  304. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -1
  305. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +7 -4
  306. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -1
  307. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +2 -2
  308. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -1
  309. package/dist/unstable/useMentionAdapter.d.ts +80 -0
  310. package/dist/unstable/useMentionAdapter.d.ts.map +1 -0
  311. package/dist/unstable/useMentionAdapter.js +129 -0
  312. package/dist/unstable/useMentionAdapter.js.map +1 -0
  313. package/dist/unstable/useSlashCommandAdapter.d.ts +32 -17
  314. package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
  315. package/dist/unstable/useSlashCommandAdapter.js +56 -32
  316. package/dist/unstable/useSlashCommandAdapter.js.map +1 -1
  317. package/dist/utils/Primitive.d.ts +6 -4
  318. package/dist/utils/Primitive.d.ts.map +1 -1
  319. package/dist/utils/Primitive.js +15 -8
  320. package/dist/utils/Primitive.js.map +1 -1
  321. package/dist/utils/createActionButton.d.ts +1 -1
  322. package/dist/utils/createActionButton.d.ts.map +1 -1
  323. package/dist/utils/hooks/useManagedRef.d.ts +1 -1
  324. package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
  325. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  326. package/dist/utils/json/is-json.d.ts +1 -1
  327. package/dist/utils/json/is-json.d.ts.map +1 -1
  328. package/dist/utils/smooth/SmoothContext.d.ts +2 -2
  329. package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
  330. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  331. package/package.json +13 -13
  332. package/src/augmentations.ts +2 -0
  333. package/src/client/InMemoryThreadList.ts +1 -0
  334. package/src/client/SingleThreadList.ts +1 -0
  335. package/src/context/providers/MessageProvider.tsx +1 -1
  336. package/src/context/providers/ThreadViewportProvider.tsx +1 -1
  337. package/src/context/react/ThreadViewportContext.ts +3 -3
  338. package/src/context/react/utils/createContextHook.ts +1 -1
  339. package/src/context/react/utils/createContextStoreHook.ts +2 -2
  340. package/src/context/react/utils/createStateHookForRuntime.ts +2 -1
  341. package/src/devtools/DevToolsHooks.ts +5 -1
  342. package/src/index.ts +27 -56
  343. package/src/legacy-runtime/AssistantRuntimeProvider.tsx +3 -3
  344. package/src/legacy-runtime/cloud/auiV0.ts +6 -3
  345. package/src/legacy-runtime/cloud/useCloudThreadListRuntime.ts +1 -1
  346. package/src/legacy-runtime/hooks/AssistantContext.ts +1 -1
  347. package/src/legacy-runtime/hooks/AttachmentContext.ts +1 -1
  348. package/src/legacy-runtime/hooks/ComposerContext.ts +1 -1
  349. package/src/legacy-runtime/hooks/MessageContext.ts +1 -1
  350. package/src/legacy-runtime/hooks/MessagePartContext.ts +1 -1
  351. package/src/legacy-runtime/hooks/ThreadContext.ts +1 -1
  352. package/src/legacy-runtime/hooks/ThreadListItemContext.ts +1 -1
  353. package/src/legacy-runtime/runtime-cores/assistant-transport/commandQueue.ts +1 -1
  354. package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +2 -2
  355. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.ts +20 -4
  356. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.test.ts +8 -2
  357. package/src/model-context/frame/useAssistantFrameHost.ts +1 -1
  358. package/src/model-context/makeAssistantVisible.tsx +3 -3
  359. package/src/primitives/actionBar/ActionBarCopy.tsx +1 -1
  360. package/src/primitives/actionBar/ActionBarEdit.ts +2 -2
  361. package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +1 -1
  362. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +1 -1
  363. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +1 -1
  364. package/src/primitives/actionBar/ActionBarReload.ts +2 -2
  365. package/src/primitives/actionBar/ActionBarRoot.tsx +1 -1
  366. package/src/primitives/actionBar/ActionBarSpeak.ts +2 -2
  367. package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +1 -1
  368. package/src/primitives/actionBarMore/ActionBarMoreContent.tsx +10 -4
  369. package/src/primitives/actionBarMore/ActionBarMoreItem.tsx +7 -7
  370. package/src/primitives/actionBarMore/ActionBarMoreRoot.tsx +2 -2
  371. package/src/primitives/actionBarMore/ActionBarMoreSeparator.tsx +7 -5
  372. package/src/primitives/actionBarMore/ActionBarMoreTrigger.tsx +7 -7
  373. package/src/primitives/assistantModal/AssistantModalAnchor.tsx +6 -2
  374. package/src/primitives/assistantModal/AssistantModalContent.tsx +6 -2
  375. package/src/primitives/assistantModal/AssistantModalRoot.tsx +2 -2
  376. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +6 -2
  377. package/src/primitives/attachment/AttachmentRemove.ts +2 -2
  378. package/src/primitives/attachment/AttachmentRoot.tsx +5 -1
  379. package/src/primitives/attachment/AttachmentThumb.tsx +5 -1
  380. package/src/primitives/branchPicker/BranchPickerNext.ts +2 -2
  381. package/src/primitives/branchPicker/BranchPickerPrevious.ts +2 -2
  382. package/src/primitives/branchPicker/BranchPickerRoot.tsx +5 -1
  383. package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.ts +2 -2
  384. package/src/primitives/chainOfThought/ChainOfThoughtRoot.tsx +5 -1
  385. package/src/primitives/composer/ComposerAddAttachment.ts +2 -2
  386. package/src/primitives/composer/ComposerAttachmentDropzone.test.tsx +125 -0
  387. package/src/primitives/composer/ComposerAttachmentDropzone.tsx +11 -8
  388. package/src/primitives/composer/ComposerCancel.ts +2 -2
  389. package/src/primitives/composer/ComposerDictationTranscript.tsx +5 -1
  390. package/src/primitives/composer/ComposerInput.tsx +33 -1
  391. package/src/primitives/composer/ComposerInputPluginContext.tsx +37 -24
  392. package/src/primitives/composer/ComposerRoot.tsx +1 -1
  393. package/src/primitives/composer/ComposerSend.ts +2 -2
  394. package/src/primitives/composer/trigger/TriggerPopover.tsx +207 -0
  395. package/src/primitives/composer/trigger/TriggerPopoverAction.tsx +61 -0
  396. package/src/primitives/composer/trigger/TriggerPopoverBack.tsx +4 -3
  397. package/src/primitives/composer/trigger/TriggerPopoverCategories.tsx +14 -17
  398. package/src/primitives/composer/trigger/TriggerPopoverDirective.tsx +57 -0
  399. package/src/primitives/composer/trigger/TriggerPopoverItems.tsx +44 -40
  400. package/src/primitives/composer/trigger/TriggerPopoverResource.ts +76 -315
  401. package/src/primitives/composer/trigger/TriggerPopoverRootContext.tsx +212 -0
  402. package/src/primitives/composer/trigger/detectTrigger.test.ts +36 -0
  403. package/src/primitives/composer/trigger/detectTrigger.ts +1 -1
  404. package/src/primitives/composer/trigger/index.ts +21 -5
  405. package/src/primitives/composer/trigger/triggerDetectionResource.ts +43 -0
  406. package/src/primitives/composer/trigger/triggerKeyboardResource.ts +151 -0
  407. package/src/primitives/composer/trigger/triggerNavigationResource.ts +145 -0
  408. package/src/primitives/composer/trigger/triggerSelectionResource.ts +122 -0
  409. package/src/primitives/composer.ts +8 -18
  410. package/src/primitives/dropdownMenuRenderPrimitives.test.tsx +64 -0
  411. package/src/primitives/dropdownMenuRenderPrimitives.ts +15 -0
  412. package/src/primitives/error/ErrorMessage.tsx +5 -1
  413. package/src/primitives/error/ErrorRoot.tsx +5 -1
  414. package/src/primitives/message/MessageError.ts +1 -1
  415. package/src/primitives/message/MessagePartsGrouped.tsx +1 -1
  416. package/src/primitives/message/MessageRoot.tsx +1 -1
  417. package/src/primitives/messagePart/MessagePartImage.tsx +6 -1
  418. package/src/primitives/messagePart/MessagePartInProgress.ts +1 -1
  419. package/src/primitives/messagePart/MessagePartText.tsx +3 -3
  420. package/src/primitives/queueItem/QueueItemRemove.ts +2 -2
  421. package/src/primitives/queueItem/QueueItemSteer.ts +2 -2
  422. package/src/primitives/suggestion/SuggestionDescription.tsx +5 -1
  423. package/src/primitives/suggestion/SuggestionTitle.tsx +5 -1
  424. package/src/primitives/suggestion/SuggestionTrigger.ts +2 -2
  425. package/src/primitives/thread/ThreadRoot.tsx +5 -1
  426. package/src/primitives/thread/ThreadScrollToBottom.ts +2 -2
  427. package/src/primitives/thread/ThreadSuggestion.ts +2 -4
  428. package/src/primitives/thread/ThreadViewport.tsx +1 -1
  429. package/src/primitives/thread/ThreadViewportFooter.tsx +1 -1
  430. package/src/primitives/threadList/ThreadListNew.tsx +1 -1
  431. package/src/primitives/threadList/ThreadListRoot.tsx +5 -1
  432. package/src/primitives/threadListItem/ThreadListItemArchive.ts +2 -2
  433. package/src/primitives/threadListItem/ThreadListItemDelete.ts +2 -2
  434. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +5 -1
  435. package/src/primitives/threadListItem/ThreadListItemTrigger.ts +2 -2
  436. package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +2 -2
  437. package/src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx +10 -4
  438. package/src/primitives/threadListItemMore/ThreadListItemMoreItem.tsx +7 -7
  439. package/src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx +2 -2
  440. package/src/primitives/threadListItemMore/ThreadListItemMoreSeparator.tsx +7 -5
  441. package/src/primitives/threadListItemMore/ThreadListItemMoreTrigger.tsx +7 -7
  442. package/src/tests/DataRenderers.test.ts +174 -41
  443. package/src/unstable/useMentionAdapter.ts +220 -0
  444. package/src/unstable/useSlashCommandAdapter.ts +79 -50
  445. package/src/utils/Primitive.test.tsx +7 -1
  446. package/src/utils/Primitive.tsx +49 -16
  447. package/src/utils/createActionButton.tsx +3 -3
  448. package/src/utils/hooks/useManagedRef.ts +2 -2
  449. package/src/utils/json/is-json.ts +1 -1
  450. package/src/utils/smooth/SmoothContext.tsx +5 -5
  451. package/dist/primitives/composer/mention/ComposerMentionContext.d.ts +0 -25
  452. package/dist/primitives/composer/mention/ComposerMentionContext.d.ts.map +0 -1
  453. package/dist/primitives/composer/mention/ComposerMentionContext.js +0 -74
  454. package/dist/primitives/composer/mention/ComposerMentionContext.js.map +0 -1
  455. package/dist/primitives/composer/mention/index.d.ts +0 -6
  456. package/dist/primitives/composer/mention/index.d.ts.map +0 -1
  457. package/dist/primitives/composer/mention/index.js +0 -8
  458. package/dist/primitives/composer/mention/index.js.map +0 -1
  459. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts +0 -36
  460. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts.map +0 -1
  461. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js +0 -36
  462. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js.map +0 -1
  463. package/dist/primitives/composer/slash-command/index.d.ts +0 -2
  464. package/dist/primitives/composer/slash-command/index.d.ts.map +0 -1
  465. package/dist/primitives/composer/slash-command/index.js +0 -2
  466. package/dist/primitives/composer/slash-command/index.js.map +0 -1
  467. package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts +0 -37
  468. package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts.map +0 -1
  469. package/dist/primitives/composer/trigger/TriggerPopoverContext.js +0 -70
  470. package/dist/primitives/composer/trigger/TriggerPopoverContext.js.map +0 -1
  471. package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts +0 -26
  472. package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts.map +0 -1
  473. package/dist/primitives/composer/trigger/TriggerPopoverPopover.js +0 -28
  474. package/dist/primitives/composer/trigger/TriggerPopoverPopover.js.map +0 -1
  475. package/dist/unstable/useToolMentionAdapter.d.ts +0 -42
  476. package/dist/unstable/useToolMentionAdapter.d.ts.map +0 -1
  477. package/dist/unstable/useToolMentionAdapter.js +0 -65
  478. package/dist/unstable/useToolMentionAdapter.js.map +0 -1
  479. package/src/primitives/composer/mention/ComposerMentionContext.tsx +0 -175
  480. package/src/primitives/composer/mention/index.ts +0 -19
  481. package/src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx +0 -76
  482. package/src/primitives/composer/slash-command/index.ts +0 -1
  483. package/src/primitives/composer/trigger/TriggerPopoverContext.tsx +0 -129
  484. package/src/primitives/composer/trigger/TriggerPopoverPopover.tsx +0 -51
  485. package/src/unstable/useToolMentionAdapter.ts +0 -114
@@ -1,7 +1,11 @@
1
1
  "use client";
2
2
 
3
3
  import { Primitive } from "../../utils/Primitive";
4
- import { type ComponentRef, forwardRef, ComponentPropsWithoutRef } from "react";
4
+ import {
5
+ type ComponentRef,
6
+ forwardRef,
7
+ type ComponentPropsWithoutRef,
8
+ } from "react";
5
9
  import { useMessagePartImage } from "./useMessagePartImage";
6
10
 
7
11
  export namespace MessagePartPrimitiveImage {
@@ -33,6 +37,7 @@ export const MessagePartPrimitiveImage = forwardRef<
33
37
  MessagePartPrimitiveImage.Props
34
38
  >((props, forwardedRef) => {
35
39
  const { image } = useMessagePartImage();
40
+ // biome-ignore lint/performance/noImgElement: next/image not applicable here
36
41
  return <Primitive.img src={image} {...props} ref={forwardedRef} />;
37
42
  });
38
43
 
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { FC, PropsWithChildren } from "react";
3
+ import type { FC, PropsWithChildren } from "react";
4
4
  import { useAuiState } from "@assistant-ui/store";
5
5
 
6
6
  export namespace MessagePartPrimitiveInProgress {
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
 
3
- import { Primitive } from "../../utils/Primitive";
3
+ import type { Primitive } from "../../utils/Primitive";
4
4
  import {
5
5
  type ComponentRef,
6
6
  forwardRef,
7
- ComponentPropsWithoutRef,
8
- ElementType,
7
+ type ComponentPropsWithoutRef,
8
+ type ElementType,
9
9
  } from "react";
10
10
  import { useMessagePartText } from "./useMessagePartText";
11
11
  import { useSmooth } from "../../utils/smooth/useSmooth";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useAui } from "@assistant-ui/store";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useAui } from "@assistant-ui/store";
@@ -1,7 +1,11 @@
1
1
  "use client";
2
2
 
3
3
  import { Primitive } from "../../utils/Primitive";
4
- import { type ElementRef, forwardRef, ComponentPropsWithoutRef } from "react";
4
+ import {
5
+ type ElementRef,
6
+ forwardRef,
7
+ type ComponentPropsWithoutRef,
8
+ } from "react";
5
9
  import { useAuiState } from "@assistant-ui/store";
6
10
 
7
11
  export namespace SuggestionPrimitiveDescription {
@@ -1,7 +1,11 @@
1
1
  "use client";
2
2
 
3
3
  import { Primitive } from "../../utils/Primitive";
4
- import { type ElementRef, forwardRef, ComponentPropsWithoutRef } from "react";
4
+ import {
5
+ type ElementRef,
6
+ forwardRef,
7
+ type ComponentPropsWithoutRef,
8
+ } from "react";
5
9
  import { useAuiState } from "@assistant-ui/store";
6
10
 
7
11
  export namespace SuggestionPrimitiveTitle {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useCallback } from "react";
@@ -1,7 +1,11 @@
1
1
  "use client";
2
2
 
3
3
  import { Primitive } from "../../utils/Primitive";
4
- import { type ComponentRef, forwardRef, ComponentPropsWithoutRef } from "react";
4
+ import {
5
+ type ComponentRef,
6
+ forwardRef,
7
+ type ComponentPropsWithoutRef,
8
+ } from "react";
5
9
 
6
10
  export namespace ThreadPrimitiveRoot {
7
11
  export type Element = ComponentRef<typeof Primitive.div>;
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useCallback } from "react";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useSuggestionTrigger as useSuggestionTriggerBehavior } from "@assistant-ui/core/react";
@@ -38,9 +38,7 @@ const useThreadSuggestion = ({
38
38
  /** @deprecated Use `clearComposer` instead. */
39
39
  method?: "replace";
40
40
  }) => {
41
- // ========== Deprecation Mapping ==========
42
41
  const resolvedSend = send ?? autoSend ?? false;
43
- // ==========================================
44
42
 
45
43
  const { disabled, trigger } = useSuggestionTriggerBehavior({
46
44
  prompt,
@@ -5,7 +5,7 @@ import { Primitive } from "../../utils/Primitive";
5
5
  import {
6
6
  type ComponentRef,
7
7
  forwardRef,
8
- ComponentPropsWithoutRef,
8
+ type ComponentPropsWithoutRef,
9
9
  useCallback,
10
10
  } from "react";
11
11
  import { useThreadViewportAutoScroll } from "./useThreadViewportAutoScroll";
@@ -5,7 +5,7 @@ import { Primitive } from "../../utils/Primitive";
5
5
  import {
6
6
  type ComponentRef,
7
7
  forwardRef,
8
- ComponentPropsWithoutRef,
8
+ type ComponentPropsWithoutRef,
9
9
  useCallback,
10
10
  } from "react";
11
11
  import { useSizeHandle } from "../../utils/hooks/useSizeHandle";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import {
3
+ import type {
4
4
  ActionButtonElement,
5
5
  ActionButtonProps,
6
6
  } from "../../utils/createActionButton";
@@ -1,7 +1,11 @@
1
1
  "use client";
2
2
 
3
3
  import { Primitive } from "../../utils/Primitive";
4
- import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
4
+ import {
5
+ type ComponentPropsWithoutRef,
6
+ type ComponentRef,
7
+ forwardRef,
8
+ } from "react";
5
9
 
6
10
  type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
7
11
 
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useThreadListItemArchive as useThreadListItemArchiveBehavior } from "@assistant-ui/core/react";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useThreadListItemDelete as useThreadListItemDeleteBehavior } from "@assistant-ui/core/react";
@@ -1,7 +1,11 @@
1
1
  "use client";
2
2
 
3
3
  import { Primitive } from "../../utils/Primitive";
4
- import { type ComponentRef, forwardRef, ComponentPropsWithoutRef } from "react";
4
+ import {
5
+ type ComponentRef,
6
+ forwardRef,
7
+ type ComponentPropsWithoutRef,
8
+ } from "react";
5
9
  import { useAuiState } from "@assistant-ui/store";
6
10
 
7
11
  type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useThreadListItemTrigger as useThreadListItemTriggerBehavior } from "@assistant-ui/core/react";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ActionButtonElement,
5
- ActionButtonProps,
4
+ type ActionButtonElement,
5
+ type ActionButtonProps,
6
6
  createActionButton,
7
7
  } from "../../utils/createActionButton";
8
8
  import { useThreadListItemUnarchive as useThreadListItemUnarchiveBehavior } from "@assistant-ui/core/react";
@@ -1,12 +1,18 @@
1
1
  "use client";
2
2
 
3
- import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
3
+ import {
4
+ type ComponentPropsWithoutRef,
5
+ type ComponentRef,
6
+ forwardRef,
7
+ } from "react";
4
8
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
- import { ScopedProps, useDropdownMenuScope } from "./scope";
9
+ import type { WithRenderPropProps } from "../../utils/Primitive";
10
+ import { DropdownMenuRenderContent } from "../dropdownMenuRenderPrimitives";
11
+ import { type ScopedProps, useDropdownMenuScope } from "./scope";
6
12
 
7
13
  export namespace ThreadListItemMorePrimitiveContent {
8
14
  export type Element = ComponentRef<typeof DropdownMenuPrimitive.Content>;
9
- export type Props = ComponentPropsWithoutRef<
15
+ export type Props = WithRenderPropProps<
10
16
  typeof DropdownMenuPrimitive.Content
11
17
  > & {
12
18
  portalProps?:
@@ -32,7 +38,7 @@ export const ThreadListItemMorePrimitiveContent = forwardRef<
32
38
 
33
39
  return (
34
40
  <DropdownMenuPrimitive.Portal {...scope} {...portalProps}>
35
- <DropdownMenuPrimitive.Content
41
+ <DropdownMenuRenderContent
36
42
  {...scope}
37
43
  {...props}
38
44
  ref={forwardedRef}
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
 
3
- import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
4
- import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
- import { ScopedProps, useDropdownMenuScope } from "./scope";
3
+ import { type ComponentRef, forwardRef } from "react";
4
+ import type { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
+ import type { WithRenderPropProps } from "../../utils/Primitive";
6
+ import { DropdownMenuRenderItem } from "../dropdownMenuRenderPrimitives";
7
+ import { type ScopedProps, useDropdownMenuScope } from "./scope";
6
8
 
7
9
  export namespace ThreadListItemMorePrimitiveItem {
8
10
  export type Element = ComponentRef<typeof DropdownMenuPrimitive.Item>;
9
- export type Props = ComponentPropsWithoutRef<
10
- typeof DropdownMenuPrimitive.Item
11
- >;
11
+ export type Props = WithRenderPropProps<typeof DropdownMenuPrimitive.Item>;
12
12
  }
13
13
 
14
14
  export const ThreadListItemMorePrimitiveItem = forwardRef<
@@ -24,7 +24,7 @@ export const ThreadListItemMorePrimitiveItem = forwardRef<
24
24
  ) => {
25
25
  const scope = useDropdownMenuScope(__scopeThreadListItemMore);
26
26
 
27
- return <DropdownMenuPrimitive.Item {...scope} {...rest} ref={ref} />;
27
+ return <DropdownMenuRenderItem {...scope} {...rest} ref={ref} />;
28
28
  },
29
29
  );
30
30
 
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
- import { FC } from "react";
3
+ import type { FC } from "react";
4
4
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
- import { ScopedProps, useDropdownMenuScope } from "./scope";
5
+ import { type ScopedProps, useDropdownMenuScope } from "./scope";
6
6
 
7
7
  export namespace ThreadListItemMorePrimitiveRoot {
8
8
  export type Props = DropdownMenuPrimitive.DropdownMenuProps;
@@ -1,12 +1,14 @@
1
1
  "use client";
2
2
 
3
- import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
4
- import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
- import { ScopedProps, useDropdownMenuScope } from "./scope";
3
+ import { type ComponentRef, forwardRef } from "react";
4
+ import type { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
+ import type { WithRenderPropProps } from "../../utils/Primitive";
6
+ import { DropdownMenuRenderSeparator } from "../dropdownMenuRenderPrimitives";
7
+ import { type ScopedProps, useDropdownMenuScope } from "./scope";
6
8
 
7
9
  export namespace ThreadListItemMorePrimitiveSeparator {
8
10
  export type Element = ComponentRef<typeof DropdownMenuPrimitive.Separator>;
9
- export type Props = ComponentPropsWithoutRef<
11
+ export type Props = WithRenderPropProps<
10
12
  typeof DropdownMenuPrimitive.Separator
11
13
  >;
12
14
  }
@@ -24,7 +26,7 @@ export const ThreadListItemMorePrimitiveSeparator = forwardRef<
24
26
  ) => {
25
27
  const scope = useDropdownMenuScope(__scopeThreadListItemMore);
26
28
 
27
- return <DropdownMenuPrimitive.Separator {...scope} {...rest} ref={ref} />;
29
+ return <DropdownMenuRenderSeparator {...scope} {...rest} ref={ref} />;
28
30
  },
29
31
  );
30
32
 
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
 
3
- import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
4
- import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
- import { ScopedProps, useDropdownMenuScope } from "./scope";
3
+ import { type ComponentRef, forwardRef } from "react";
4
+ import type { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
+ import type { WithRenderPropProps } from "../../utils/Primitive";
6
+ import { DropdownMenuRenderTrigger } from "../dropdownMenuRenderPrimitives";
7
+ import { type ScopedProps, useDropdownMenuScope } from "./scope";
6
8
 
7
9
  export namespace ThreadListItemMorePrimitiveTrigger {
8
10
  export type Element = ComponentRef<typeof DropdownMenuPrimitive.Trigger>;
9
- export type Props = ComponentPropsWithoutRef<
10
- typeof DropdownMenuPrimitive.Trigger
11
- >;
11
+ export type Props = WithRenderPropProps<typeof DropdownMenuPrimitive.Trigger>;
12
12
  }
13
13
 
14
14
  export const ThreadListItemMorePrimitiveTrigger = forwardRef<
@@ -24,7 +24,7 @@ export const ThreadListItemMorePrimitiveTrigger = forwardRef<
24
24
  ) => {
25
25
  const scope = useDropdownMenuScope(__scopeThreadListItemMore);
26
26
 
27
- return <DropdownMenuPrimitive.Trigger {...scope} {...rest} ref={ref} />;
27
+ return <DropdownMenuRenderTrigger {...scope} {...rest} ref={ref} />;
28
28
  },
29
29
  );
30
30
 
@@ -1,52 +1,65 @@
1
1
  import { describe, it, expect } from "vitest";
2
- import type { DataMessagePartComponent, DataRenderersState } from "../types";
3
-
4
- /**
5
- * Tests for the DataRenderers state management logic.
6
- *
7
- * Since the DataRenderers resource relies on @assistant-ui/tap's resource system
8
- * (which requires fiber infrastructure), we test the core state logic directly.
9
- */
10
- describe("DataRenderers state logic", () => {
11
- // Replicate the state management logic from DataRenderers.ts
12
- const createState = (): {
13
- state: DataRenderersState;
14
- setDataUI: (name: string, render: DataMessagePartComponent) => () => void;
15
- } => {
16
- let state: DataRenderersState = { renderers: {} };
17
-
18
- const setDataUI = (name: string, render: DataMessagePartComponent) => {
2
+ import type {
3
+ DataMessagePartComponent,
4
+ DataRenderersState,
5
+ } from "@assistant-ui/core/react";
6
+
7
+ // The resource in DataRenderers.ts requires fiber infrastructure, so these
8
+ // tests replicate the reducer directly and exercise it in isolation.
9
+
10
+ type StateHarness = {
11
+ state: DataRenderersState;
12
+ setDataUI: (name: string, render: DataMessagePartComponent) => () => void;
13
+ setFallbackDataUI: (render: DataMessagePartComponent) => () => void;
14
+ };
15
+
16
+ const createState = (): StateHarness => {
17
+ let state: DataRenderersState = { renderers: {}, fallbacks: [] };
18
+
19
+ const setDataUI = (name: string, render: DataMessagePartComponent) => {
20
+ state = {
21
+ ...state,
22
+ renderers: {
23
+ ...state.renderers,
24
+ [name]: [...(state.renderers[name] ?? []), render],
25
+ },
26
+ };
27
+ return () => {
19
28
  state = {
20
29
  ...state,
21
30
  renderers: {
22
31
  ...state.renderers,
23
- [name]: [...(state.renderers[name] ?? []), render],
32
+ [name]: state.renderers[name]?.filter((r) => r !== render) ?? [],
24
33
  },
25
34
  };
35
+ };
36
+ };
26
37
 
27
- return () => {
28
- state = {
29
- ...state,
30
- renderers: {
31
- ...state.renderers,
32
- [name]: state.renderers[name]?.filter((r) => r !== render) ?? [],
33
- },
34
- };
38
+ const setFallbackDataUI = (render: DataMessagePartComponent) => {
39
+ state = { ...state, fallbacks: [...state.fallbacks, render] };
40
+ return () => {
41
+ state = {
42
+ ...state,
43
+ fallbacks: state.fallbacks.filter((r) => r !== render),
35
44
  };
36
45
  };
46
+ };
37
47
 
38
- return {
39
- get state() {
40
- return state;
41
- },
42
- setDataUI,
43
- };
48
+ return {
49
+ get state() {
50
+ return state;
51
+ },
52
+ setDataUI,
53
+ setFallbackDataUI,
44
54
  };
55
+ };
45
56
 
57
+ describe("DataRenderers state logic", () => {
46
58
  describe("initial state", () => {
47
- it("should start with empty renderers", () => {
59
+ it("should start with empty renderers and fallbacks", () => {
48
60
  const { state } = createState();
49
61
  expect(state.renderers).toEqual({});
62
+ expect(state.fallbacks).toEqual([]);
50
63
  });
51
64
  });
52
65
 
@@ -129,8 +142,78 @@ describe("DataRenderers state logic", () => {
129
142
  });
130
143
  });
131
144
 
145
+ describe("DataRenderers fallback state logic", () => {
146
+ it("should register a fallback renderer", () => {
147
+ const s = createState();
148
+ const Fallback = (() => null) as unknown as DataMessagePartComponent;
149
+
150
+ s.setFallbackDataUI(Fallback);
151
+
152
+ expect(s.state.fallbacks).toHaveLength(1);
153
+ expect(s.state.fallbacks[0]).toBe(Fallback);
154
+ });
155
+
156
+ it("should unregister the fallback renderer on cleanup", () => {
157
+ const s = createState();
158
+ const Fallback = (() => null) as unknown as DataMessagePartComponent;
159
+
160
+ const unsub = s.setFallbackDataUI(Fallback);
161
+ expect(s.state.fallbacks).toHaveLength(1);
162
+
163
+ unsub();
164
+ expect(s.state.fallbacks).toHaveLength(0);
165
+ });
166
+
167
+ it("should stack fallbacks; the first registered takes priority", () => {
168
+ const s = createState();
169
+ const Fallback1 = (() => null) as unknown as DataMessagePartComponent;
170
+ const Fallback2 = (() => null) as unknown as DataMessagePartComponent;
171
+
172
+ s.setFallbackDataUI(Fallback1);
173
+ s.setFallbackDataUI(Fallback2);
174
+
175
+ expect(s.state.fallbacks).toEqual([Fallback1, Fallback2]);
176
+ });
177
+
178
+ it("should only unregister the specific fallback on cleanup", () => {
179
+ const s = createState();
180
+ const Fallback1 = (() => null) as unknown as DataMessagePartComponent;
181
+ const Fallback2 = (() => null) as unknown as DataMessagePartComponent;
182
+
183
+ const unsub1 = s.setFallbackDataUI(Fallback1);
184
+ s.setFallbackDataUI(Fallback2);
185
+
186
+ unsub1();
187
+ expect(s.state.fallbacks).toEqual([Fallback2]);
188
+ });
189
+
190
+ it("should restore the previous fallback when the active one unmounts", () => {
191
+ const s = createState();
192
+ const Fallback1 = (() => null) as unknown as DataMessagePartComponent;
193
+ const Fallback2 = (() => null) as unknown as DataMessagePartComponent;
194
+
195
+ s.setFallbackDataUI(Fallback1);
196
+ const unsub2 = s.setFallbackDataUI(Fallback2);
197
+
198
+ unsub2();
199
+ expect(s.state.fallbacks).toEqual([Fallback1]);
200
+ });
201
+
202
+ it("should not affect named renderers when setting fallback", () => {
203
+ const s = createState();
204
+ const Named = (() => null) as unknown as DataMessagePartComponent;
205
+ const Fallback = (() => null) as unknown as DataMessagePartComponent;
206
+
207
+ s.setDataUI("chart", Named);
208
+ s.setFallbackDataUI(Fallback);
209
+
210
+ expect(s.state.renderers["chart"]).toHaveLength(1);
211
+ expect(s.state.renderers["chart"]![0]).toBe(Named);
212
+ expect(s.state.fallbacks[0]).toBe(Fallback);
213
+ });
214
+ });
215
+
132
216
  describe("Data part component resolution", () => {
133
- // Replicate the component lookup logic from MessageParts.tsx
134
217
  const resolveDataComponent = (
135
218
  partName: string,
136
219
  inlineConfig?: {
@@ -138,16 +221,13 @@ describe("Data part component resolution", () => {
138
221
  Fallback?: DataMessagePartComponent;
139
222
  },
140
223
  globalRenderers?: Record<string, DataMessagePartComponent[]>,
224
+ globalFallbacks?: DataMessagePartComponent[],
141
225
  ): DataMessagePartComponent | undefined => {
226
+ const named = globalRenderers?.[partName]?.[0];
227
+ if (named) return named;
142
228
  const inlineFallback =
143
229
  inlineConfig?.by_name?.[partName] ?? inlineConfig?.Fallback;
144
- const globalRenderer = globalRenderers?.[partName];
145
-
146
- // Global takes priority (first element), then inline fallback
147
- if (globalRenderer && globalRenderer.length > 0) {
148
- return globalRenderer[0] ?? inlineFallback;
149
- }
150
- return inlineFallback;
230
+ return globalFallbacks?.[0] ?? inlineFallback;
151
231
  };
152
232
 
153
233
  it("should return undefined when no config provided", () => {
@@ -219,4 +299,57 @@ describe("Data part component resolution", () => {
219
299
  );
220
300
  expect(result).toBe(Fallback);
221
301
  });
302
+
303
+ // --- Global fallback stack resolution ---
304
+
305
+ it("should use global fallback when no name-specific renderer exists", () => {
306
+ const GlobalFallback = (() => null) as unknown as DataMessagePartComponent;
307
+
308
+ const result = resolveDataComponent("unknown-widget", undefined, {}, [
309
+ GlobalFallback,
310
+ ]);
311
+ expect(result).toBe(GlobalFallback);
312
+ });
313
+
314
+ it("should prefer global name-match over global fallback", () => {
315
+ const NamedComponent = (() => null) as unknown as DataMessagePartComponent;
316
+ const GlobalFallback = (() => null) as unknown as DataMessagePartComponent;
317
+
318
+ const result = resolveDataComponent(
319
+ "chart",
320
+ undefined,
321
+ { chart: [NamedComponent] },
322
+ [GlobalFallback],
323
+ );
324
+ expect(result).toBe(NamedComponent);
325
+ });
326
+
327
+ it("should prefer the first global fallback over inline Fallback", () => {
328
+ const InlineFallback = (() => null) as unknown as DataMessagePartComponent;
329
+ const GlobalFallback = (() => null) as unknown as DataMessagePartComponent;
330
+
331
+ const result = resolveDataComponent(
332
+ "unknown",
333
+ { Fallback: InlineFallback },
334
+ {},
335
+ [GlobalFallback],
336
+ );
337
+ expect(result).toBe(GlobalFallback);
338
+ });
339
+
340
+ it("should pick the first registered when multiple fallbacks are stacked", () => {
341
+ const First = (() => null) as unknown as DataMessagePartComponent;
342
+ const Second = (() => null) as unknown as DataMessagePartComponent;
343
+
344
+ const result = resolveDataComponent("anything", undefined, {}, [
345
+ First,
346
+ Second,
347
+ ]);
348
+ expect(result).toBe(First);
349
+ });
350
+
351
+ it("should return undefined when no fallbacks of any kind exist", () => {
352
+ const result = resolveDataComponent("unknown", undefined, {}, []);
353
+ expect(result).toBeUndefined();
354
+ });
222
355
  });