@assistant-ui/react 0.14.16 → 0.14.19

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 (380) hide show
  1. package/dist/client/ExternalThread.d.ts +5 -3
  2. package/dist/client/ExternalThread.d.ts.map +1 -1
  3. package/dist/client/ExternalThread.js +745 -255
  4. package/dist/client/ExternalThread.js.map +1 -1
  5. package/dist/client/InMemoryThreadList.d.ts +1 -1
  6. package/dist/client/InMemoryThreadList.d.ts.map +1 -1
  7. package/dist/client/InMemoryThreadList.js +299 -113
  8. package/dist/client/InMemoryThreadList.js.map +1 -1
  9. package/dist/client/SingleThreadList.d.ts +1 -6
  10. package/dist/client/SingleThreadList.d.ts.map +1 -1
  11. package/dist/client/SingleThreadList.js +143 -55
  12. package/dist/client/SingleThreadList.js.map +1 -1
  13. package/dist/context/ReadonlyStore.js.map +1 -1
  14. package/dist/context/providers/MessageProvider.js +38 -5
  15. package/dist/context/providers/MessageProvider.js.map +1 -1
  16. package/dist/context/providers/ThreadViewportProvider.js +76 -20
  17. package/dist/context/providers/ThreadViewportProvider.js.map +1 -1
  18. package/dist/context/react/ThreadViewportContext.js.map +1 -1
  19. package/dist/context/react/utils/createContextHook.js.map +1 -1
  20. package/dist/context/react/utils/createContextStoreHook.js +17 -2
  21. package/dist/context/react/utils/createContextStoreHook.js.map +1 -1
  22. package/dist/context/react/utils/createStateHookForRuntime.js.map +1 -1
  23. package/dist/context/react/utils/ensureBinding.js.map +1 -1
  24. package/dist/context/react/utils/useRuntimeState.js +18 -2
  25. package/dist/context/react/utils/useRuntimeState.js.map +1 -1
  26. package/dist/context/stores/ThreadViewport.js.map +1 -1
  27. package/dist/devtools/DevToolsHooks.js.map +1 -1
  28. package/dist/hooks/useMessageQuote.js.map +1 -1
  29. package/dist/hooks/useMessageTiming.js +4 -1
  30. package/dist/hooks/useMessageTiming.js.map +1 -1
  31. package/dist/hooks/useToolCallElapsed.d.ts +23 -0
  32. package/dist/hooks/useToolCallElapsed.d.ts.map +1 -0
  33. package/dist/hooks/useToolCallElapsed.js +72 -0
  34. package/dist/hooks/useToolCallElapsed.js.map +1 -0
  35. package/dist/index.d.ts +6 -2
  36. package/dist/index.js +5 -1
  37. package/dist/internal.js.map +1 -1
  38. package/dist/legacy-runtime/AssistantRuntimeProvider.js +46 -10
  39. package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
  40. package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
  41. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.js +27 -6
  42. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.js.map +1 -1
  43. package/dist/legacy-runtime/hooks/AssistantContext.js +13 -2
  44. package/dist/legacy-runtime/hooks/AssistantContext.js.map +1 -1
  45. package/dist/legacy-runtime/hooks/AttachmentContext.js +9 -1
  46. package/dist/legacy-runtime/hooks/AttachmentContext.js.map +1 -1
  47. package/dist/legacy-runtime/hooks/ComposerContext.js +9 -1
  48. package/dist/legacy-runtime/hooks/ComposerContext.js.map +1 -1
  49. package/dist/legacy-runtime/hooks/MessageContext.js +12 -2
  50. package/dist/legacy-runtime/hooks/MessageContext.js.map +1 -1
  51. package/dist/legacy-runtime/hooks/MessagePartContext.js +9 -1
  52. package/dist/legacy-runtime/hooks/MessagePartContext.js.map +1 -1
  53. package/dist/legacy-runtime/hooks/ThreadContext.js +33 -5
  54. package/dist/legacy-runtime/hooks/ThreadContext.js.map +1 -1
  55. package/dist/legacy-runtime/hooks/ThreadListItemContext.js +9 -1
  56. package/dist/legacy-runtime/hooks/ThreadListItemContext.js.map +1 -1
  57. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.js +3 -3
  58. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.js.map +1 -1
  59. package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.js +71 -31
  60. package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.js.map +1 -1
  61. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.js.map +1 -1
  62. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +24 -16
  63. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
  64. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.js +17 -12
  65. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.js.map +1 -1
  66. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.js +17 -3
  67. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.js.map +1 -1
  68. package/dist/mcp-apps/McpAppRenderer.d.ts +2 -10
  69. package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -1
  70. package/dist/mcp-apps/McpAppRenderer.js +9 -8
  71. package/dist/mcp-apps/McpAppRenderer.js.map +1 -1
  72. package/dist/mcp-apps/McpAppsRemoteHost.d.ts +1 -8
  73. package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -1
  74. package/dist/mcp-apps/McpAppsRemoteHost.js +6 -5
  75. package/dist/mcp-apps/McpAppsRemoteHost.js.map +1 -1
  76. package/dist/mcp-apps/app-frame.js +33 -14
  77. package/dist/mcp-apps/app-frame.js.map +1 -1
  78. package/dist/mcp-apps/bridge.js.map +1 -1
  79. package/dist/mcp-apps/types.js.map +1 -1
  80. package/dist/mcp-apps/utils.js.map +1 -1
  81. package/dist/model-context/frame/useAssistantFrameHost.js +32 -14
  82. package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -1
  83. package/dist/model-context/makeAssistantVisible.js +64 -26
  84. package/dist/model-context/makeAssistantVisible.js.map +1 -1
  85. package/dist/primitives/actionBar/ActionBarCopy.js +94 -20
  86. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  87. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  88. package/dist/primitives/actionBar/ActionBarExportMarkdown.js +105 -37
  89. package/dist/primitives/actionBar/ActionBarExportMarkdown.js.map +1 -1
  90. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +60 -11
  91. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  92. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +60 -11
  93. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  94. package/dist/primitives/actionBar/ActionBarInteractionContext.js +3 -1
  95. package/dist/primitives/actionBar/ActionBarInteractionContext.js.map +1 -1
  96. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  97. package/dist/primitives/actionBar/ActionBarRoot.js +84 -25
  98. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  99. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  100. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +45 -14
  101. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  102. package/dist/primitives/actionBar/useActionBarFloatStatus.js +22 -10
  103. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  104. package/dist/primitives/actionBar.js.map +1 -1
  105. package/dist/primitives/actionBarMore/ActionBarMoreContent.js +44 -7
  106. package/dist/primitives/actionBarMore/ActionBarMoreContent.js.map +1 -1
  107. package/dist/primitives/actionBarMore/ActionBarMoreItem.js +28 -6
  108. package/dist/primitives/actionBarMore/ActionBarMoreItem.js.map +1 -1
  109. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js +103 -36
  110. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -1
  111. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js +28 -6
  112. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js.map +1 -1
  113. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js +28 -6
  114. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js.map +1 -1
  115. package/dist/primitives/actionBarMore/scope.js.map +1 -1
  116. package/dist/primitives/actionBarMore.js.map +1 -1
  117. package/dist/primitives/assistantModal/AssistantModalAnchor.js +27 -6
  118. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  119. package/dist/primitives/assistantModal/AssistantModalContent.js +71 -10
  120. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  121. package/dist/primitives/assistantModal/AssistantModalRoot.js +93 -26
  122. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  123. package/dist/primitives/assistantModal/AssistantModalTrigger.js +27 -6
  124. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  125. package/dist/primitives/assistantModal/scope.js.map +1 -1
  126. package/dist/primitives/assistantModal.js.map +1 -1
  127. package/dist/primitives/attachment/AttachmentName.js +13 -1
  128. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  129. package/dist/primitives/attachment/AttachmentRemove.js +11 -4
  130. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  131. package/dist/primitives/attachment/AttachmentRoot.js +13 -4
  132. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  133. package/dist/primitives/attachment/AttachmentThumb.js +20 -9
  134. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  135. package/dist/primitives/attachment.js.map +1 -1
  136. package/dist/primitives/branchPicker/BranchPickerCount.js +14 -2
  137. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  138. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  139. package/dist/primitives/branchPicker/BranchPickerNumber.js +14 -2
  140. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  141. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  142. package/dist/primitives/branchPicker/BranchPickerRoot.js +34 -6
  143. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  144. package/dist/primitives/branchPicker.js.map +1 -1
  145. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js +16 -5
  146. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js.map +1 -1
  147. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js +13 -4
  148. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -1
  149. package/dist/primitives/chainOfThought.js.map +1 -1
  150. package/dist/primitives/composer/ComposerAddAttachment.js +37 -24
  151. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  152. package/dist/primitives/composer/ComposerAttachmentDropzone.js +124 -49
  153. package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
  154. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  155. package/dist/primitives/composer/ComposerDictate.js.map +1 -1
  156. package/dist/primitives/composer/ComposerDictationTranscript.js +32 -7
  157. package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
  158. package/dist/primitives/composer/ComposerInput.js +29 -29
  159. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  160. package/dist/primitives/composer/ComposerInputPluginContext.js +71 -25
  161. package/dist/primitives/composer/ComposerInputPluginContext.js.map +1 -1
  162. package/dist/primitives/composer/ComposerQuote.js +92 -23
  163. package/dist/primitives/composer/ComposerQuote.js.map +1 -1
  164. package/dist/primitives/composer/ComposerRoot.js +45 -11
  165. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  166. package/dist/primitives/composer/ComposerSend.js +9 -2
  167. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  168. package/dist/primitives/composer/ComposerStopDictation.js +15 -5
  169. package/dist/primitives/composer/ComposerStopDictation.js.map +1 -1
  170. package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -1
  171. package/dist/primitives/composer/trigger/TriggerPopover.js +215 -75
  172. package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -1
  173. package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -1
  174. package/dist/primitives/composer/trigger/TriggerPopoverBack.js +35 -7
  175. package/dist/primitives/composer/trigger/TriggerPopoverBack.js.map +1 -1
  176. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js +134 -28
  177. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -1
  178. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js.map +1 -1
  179. package/dist/primitives/composer/trigger/TriggerPopoverItems.js +132 -28
  180. package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -1
  181. package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +2 -10
  182. package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -1
  183. package/dist/primitives/composer/trigger/TriggerPopoverResource.js +126 -53
  184. package/dist/primitives/composer/trigger/TriggerPopoverResource.js.map +1 -1
  185. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js +181 -78
  186. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -1
  187. package/dist/primitives/composer/trigger/detectTrigger.js.map +1 -1
  188. package/dist/primitives/composer/trigger/index.js.map +1 -1
  189. package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +2 -6
  190. package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -1
  191. package/dist/primitives/composer/trigger/triggerDetectionResource.js +30 -15
  192. package/dist/primitives/composer/trigger/triggerDetectionResource.js.map +1 -1
  193. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts +2 -17
  194. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -1
  195. package/dist/primitives/composer/trigger/triggerKeyboardResource.js +117 -59
  196. package/dist/primitives/composer/trigger/triggerKeyboardResource.js.map +1 -1
  197. package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts +2 -10
  198. package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -1
  199. package/dist/primitives/composer/trigger/triggerNavigationResource.js +204 -71
  200. package/dist/primitives/composer/trigger/triggerNavigationResource.js.map +1 -1
  201. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts +2 -10
  202. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -1
  203. package/dist/primitives/composer/trigger/triggerSelectionResource.js +51 -14
  204. package/dist/primitives/composer/trigger/triggerSelectionResource.js.map +1 -1
  205. package/dist/primitives/composer.js.map +1 -1
  206. package/dist/primitives/dropdownMenuRenderPrimitives.js.map +1 -1
  207. package/dist/primitives/error/ErrorMessage.js +28 -6
  208. package/dist/primitives/error/ErrorMessage.js.map +1 -1
  209. package/dist/primitives/error/ErrorRoot.js +14 -5
  210. package/dist/primitives/error/ErrorRoot.js.map +1 -1
  211. package/dist/primitives/error.js.map +1 -1
  212. package/dist/primitives/message/MessageError.js +2 -1
  213. package/dist/primitives/message/MessageError.js.map +1 -1
  214. package/dist/primitives/message/MessageIf.js +50 -20
  215. package/dist/primitives/message/MessageIf.js.map +1 -1
  216. package/dist/primitives/message/MessageParts.js +41 -7
  217. package/dist/primitives/message/MessageParts.js.map +1 -1
  218. package/dist/primitives/message/MessagePartsGrouped.js +399 -94
  219. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  220. package/dist/primitives/message/MessageRoot.js +197 -65
  221. package/dist/primitives/message/MessageRoot.js.map +1 -1
  222. package/dist/primitives/message.js.map +1 -1
  223. package/dist/primitives/messagePart/MessagePartImage.js +15 -5
  224. package/dist/primitives/messagePart/MessagePartImage.js.map +1 -1
  225. package/dist/primitives/messagePart/MessagePartText.d.ts +5 -2
  226. package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
  227. package/dist/primitives/messagePart/MessagePartText.js +35 -7
  228. package/dist/primitives/messagePart/MessagePartText.js.map +1 -1
  229. package/dist/primitives/messagePart/useMessagePartData.js +5 -4
  230. package/dist/primitives/messagePart/useMessagePartData.js.map +1 -1
  231. package/dist/primitives/messagePart/useMessagePartFile.js +5 -4
  232. package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
  233. package/dist/primitives/messagePart/useMessagePartImage.js +5 -4
  234. package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
  235. package/dist/primitives/messagePart/useMessagePartReasoning.js +5 -4
  236. package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
  237. package/dist/primitives/messagePart/useMessagePartSource.js +5 -4
  238. package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
  239. package/dist/primitives/messagePart/useMessagePartText.js +5 -4
  240. package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
  241. package/dist/primitives/messagePart.js.map +1 -1
  242. package/dist/primitives/queueItem/QueueItemRemove.js +11 -4
  243. package/dist/primitives/queueItem/QueueItemRemove.js.map +1 -1
  244. package/dist/primitives/queueItem/QueueItemSteer.js +11 -4
  245. package/dist/primitives/queueItem/QueueItemSteer.js.map +1 -1
  246. package/dist/primitives/queueItem/QueueItemText.js +20 -6
  247. package/dist/primitives/queueItem/QueueItemText.js.map +1 -1
  248. package/dist/primitives/queueItem.js.map +1 -1
  249. package/dist/primitives/reasoning/useScrollLock.js +61 -34
  250. package/dist/primitives/reasoning/useScrollLock.js.map +1 -1
  251. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js +56 -16
  252. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js.map +1 -1
  253. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +120 -59
  254. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -1
  255. package/dist/primitives/selectionToolbar.js.map +1 -1
  256. package/dist/primitives/suggestion/SuggestionDescription.js +20 -6
  257. package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -1
  258. package/dist/primitives/suggestion/SuggestionTitle.js +20 -6
  259. package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -1
  260. package/dist/primitives/suggestion/SuggestionTrigger.js +39 -26
  261. package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -1
  262. package/dist/primitives/suggestion.js.map +1 -1
  263. package/dist/primitives/thread/ThreadEmpty.js +6 -2
  264. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  265. package/dist/primitives/thread/ThreadIf.js +32 -10
  266. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  267. package/dist/primitives/thread/ThreadRoot.js +13 -4
  268. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  269. package/dist/primitives/thread/ThreadScrollToBottom.js +24 -6
  270. package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
  271. package/dist/primitives/thread/ThreadSuggestion.js +18 -6
  272. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  273. package/dist/primitives/thread/ThreadViewport.js +185 -47
  274. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  275. package/dist/primitives/thread/ThreadViewportFooter.js +22 -9
  276. package/dist/primitives/thread/ThreadViewportFooter.js.map +1 -1
  277. package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.js.map +1 -1
  278. package/dist/primitives/thread/topAnchor/createReserveObservers.js.map +1 -1
  279. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.js.map +1 -1
  280. package/dist/primitives/thread/topAnchor/topAnchorTurn.js.map +1 -1
  281. package/dist/primitives/thread/topAnchor/topAnchorUtils.js.map +1 -1
  282. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js +19 -4
  283. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js.map +1 -1
  284. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  285. package/dist/primitives/thread/useThreadViewportAutoScroll.js +21 -16
  286. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  287. package/dist/primitives/thread.js.map +1 -1
  288. package/dist/primitives/threadList/ThreadListLoadMore.js.map +1 -1
  289. package/dist/primitives/threadList/ThreadListNew.js +53 -11
  290. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  291. package/dist/primitives/threadList/ThreadListRoot.js +13 -4
  292. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
  293. package/dist/primitives/threadList.js.map +1 -1
  294. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  295. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
  296. package/dist/primitives/threadListItem/ThreadListItemRoot.js +26 -7
  297. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  298. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  299. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
  300. package/dist/primitives/threadListItem.js.map +1 -1
  301. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +44 -7
  302. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -1
  303. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js +28 -6
  304. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -1
  305. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js +25 -5
  306. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -1
  307. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js +28 -6
  308. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -1
  309. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +28 -6
  310. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -1
  311. package/dist/primitives/threadListItemMore/scope.js.map +1 -1
  312. package/dist/primitives/threadListItemMore.js.map +1 -1
  313. package/dist/sandbox-host/SandboxHost.js.map +1 -1
  314. package/dist/tests/remote-thread-list-test-helpers.js.map +1 -1
  315. package/dist/tests/setup.js.map +1 -1
  316. package/dist/unstable/useComposerInputHistory.d.ts +30 -0
  317. package/dist/unstable/useComposerInputHistory.d.ts.map +1 -0
  318. package/dist/unstable/useComposerInputHistory.js +117 -0
  319. package/dist/unstable/useComposerInputHistory.js.map +1 -0
  320. package/dist/unstable/useMentionAdapter.js.map +1 -1
  321. package/dist/unstable/useMessageStallDetection.d.ts +29 -0
  322. package/dist/unstable/useMessageStallDetection.d.ts.map +1 -0
  323. package/dist/unstable/useMessageStallDetection.js +69 -0
  324. package/dist/unstable/useMessageStallDetection.js.map +1 -0
  325. package/dist/unstable/useSlashCommandAdapter.js.map +1 -1
  326. package/dist/utils/Primitive.js +57 -12
  327. package/dist/utils/Primitive.js.map +1 -1
  328. package/dist/utils/createActionButton.js +23 -7
  329. package/dist/utils/createActionButton.js.map +1 -1
  330. package/dist/utils/getSelectionMessageId.js.map +1 -1
  331. package/dist/utils/hooks/useManagedRef.js +16 -8
  332. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  333. package/dist/utils/hooks/useMediaQuery.js +25 -10
  334. package/dist/utils/hooks/useMediaQuery.js.map +1 -1
  335. package/dist/utils/hooks/useOnResizeContent.js +29 -19
  336. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  337. package/dist/utils/hooks/useOnScrollToBottom.js +20 -4
  338. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  339. package/dist/utils/hooks/useSizeHandle.js +23 -15
  340. package/dist/utils/hooks/useSizeHandle.js.map +1 -1
  341. package/dist/utils/json/is-json-equal.js.map +1 -1
  342. package/dist/utils/json/is-json.js.map +1 -1
  343. package/dist/utils/smooth/SmoothContext.js +41 -11
  344. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  345. package/dist/utils/smooth/useSmooth.d.ts +40 -2
  346. package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
  347. package/dist/utils/smooth/useSmooth.js +52 -13
  348. package/dist/utils/smooth/useSmooth.js.map +1 -1
  349. package/dist/utils/useToolArgsFieldStatus.d.ts +2 -2
  350. package/dist/utils/useToolArgsFieldStatus.d.ts.map +1 -1
  351. package/dist/utils/useToolArgsFieldStatus.js +13 -5
  352. package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
  353. package/package.json +6 -6
  354. package/src/client/ExternalThread.ts +146 -74
  355. package/src/client/InMemoryThreadList.ts +23 -21
  356. package/src/client/SingleThreadList.ts +29 -27
  357. package/src/hooks/useToolCallElapsed.ts +52 -0
  358. package/src/index.ts +19 -0
  359. package/src/mcp-apps/McpAppRenderer.tsx +5 -3
  360. package/src/mcp-apps/McpAppsRemoteHost.ts +5 -3
  361. package/src/primitives/composer/ComposerInput.test.tsx +1 -1
  362. package/src/primitives/composer/ComposerInput.tsx +3 -3
  363. package/src/primitives/composer/trigger/TriggerPopover.tsx +4 -5
  364. package/src/primitives/composer/trigger/TriggerPopoverResource.ts +5 -3
  365. package/src/primitives/composer/trigger/triggerDetectionResource.ts +21 -21
  366. package/src/primitives/composer/trigger/triggerKeyboardResource.test.ts +5 -4
  367. package/src/primitives/composer/trigger/triggerKeyboardResource.ts +99 -101
  368. package/src/primitives/composer/trigger/triggerNavigationResource.ts +92 -98
  369. package/src/primitives/composer/trigger/triggerSelectionResource.ts +76 -76
  370. package/src/primitives/messagePart/MessagePartText.tsx +3 -2
  371. package/src/primitives/reasoning/useScrollLock.ts +25 -2
  372. package/src/primitives/thread/useThreadViewportAutoScroll.ts +8 -0
  373. package/src/tests/external-thread-branches.test.tsx +160 -0
  374. package/src/tests/shouldContinue.test.ts +33 -0
  375. package/src/tests/toolCallTiming.test.tsx +221 -0
  376. package/src/unstable/useComposerInputHistory.test.tsx +201 -0
  377. package/src/unstable/useComposerInputHistory.ts +160 -0
  378. package/src/unstable/useMessageStallDetection.ts +91 -0
  379. package/src/utils/smooth/useSmooth.test.tsx +95 -0
  380. package/src/utils/smooth/useSmooth.ts +82 -10
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { Primitive } from "../../utils/Primitive.js";
3
3
  import { useAuiState } from "@assistant-ui/store";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
5
  import { useActionBarCopy } from "@assistant-ui/core/react";
5
6
  import { forwardRef } from "@assistant-ui/tap/react-shim";
6
7
  import { jsx } from "react/jsx-runtime";
@@ -30,14 +31,26 @@ import { composeEventHandlers } from "@radix-ui/primitive";
30
31
  * }
31
32
  * ```
32
33
  */
33
- const useActionBarPrimitiveCopy = ({ copiedDuration = 3e3 } = {}) => {
34
- const { copy, disabled } = useActionBarCopy({
35
- copiedDuration,
36
- copyToClipboard: (text) => {
37
- if (typeof navigator === "undefined" || !navigator.clipboard) return Promise.reject(/* @__PURE__ */ new Error("Clipboard API is unavailable"));
38
- return navigator.clipboard.writeText(text);
39
- }
40
- });
34
+ const useActionBarPrimitiveCopy = (t0) => {
35
+ const $ = c(4);
36
+ let t1;
37
+ if ($[0] !== t0) {
38
+ t1 = t0 === void 0 ? {} : t0;
39
+ $[0] = t0;
40
+ $[1] = t1;
41
+ } else t1 = $[1];
42
+ const { copiedDuration: t2 } = t1;
43
+ const copiedDuration = t2 === void 0 ? 3e3 : t2;
44
+ let t3;
45
+ if ($[2] !== copiedDuration) {
46
+ t3 = {
47
+ copiedDuration,
48
+ copyToClipboard: _temp
49
+ };
50
+ $[2] = copiedDuration;
51
+ $[3] = t3;
52
+ } else t3 = $[3];
53
+ const { copy, disabled } = useActionBarCopy(t3);
41
54
  if (disabled) return null;
42
55
  return copy;
43
56
  };
@@ -55,21 +68,82 @@ const useActionBarPrimitiveCopy = ({ copiedDuration = 3e3 } = {}) => {
55
68
  * </ActionBarPrimitive.Copy>
56
69
  * ```
57
70
  */
58
- const ActionBarPrimitiveCopy = forwardRef(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {
59
- const isCopied = useAuiState((s) => s.message.isCopied);
60
- const callback = useActionBarPrimitiveCopy({ copiedDuration });
61
- return /* @__PURE__ */ jsx(Primitive.button, {
62
- type: "button",
63
- ...isCopied ? { "data-copied": "true" } : {},
64
- ...props,
65
- ref: forwardedRef,
66
- disabled: disabled || !callback,
67
- onClick: composeEventHandlers(onClick, () => {
71
+ const ActionBarPrimitiveCopy = forwardRef((t0, forwardedRef) => {
72
+ const $ = c(20);
73
+ let copiedDuration;
74
+ let disabled;
75
+ let onClick;
76
+ let props;
77
+ if ($[0] !== t0) {
78
+ ({copiedDuration, onClick, disabled, ...props} = t0);
79
+ $[0] = t0;
80
+ $[1] = copiedDuration;
81
+ $[2] = disabled;
82
+ $[3] = onClick;
83
+ $[4] = props;
84
+ } else {
85
+ copiedDuration = $[1];
86
+ disabled = $[2];
87
+ onClick = $[3];
88
+ props = $[4];
89
+ }
90
+ const isCopied = useAuiState(_temp2);
91
+ let t1;
92
+ if ($[5] !== copiedDuration) {
93
+ t1 = { copiedDuration };
94
+ $[5] = copiedDuration;
95
+ $[6] = t1;
96
+ } else t1 = $[6];
97
+ const callback = useActionBarPrimitiveCopy(t1);
98
+ let t2;
99
+ if ($[7] !== isCopied) {
100
+ t2 = isCopied ? { "data-copied": "true" } : {};
101
+ $[7] = isCopied;
102
+ $[8] = t2;
103
+ } else t2 = $[8];
104
+ const t3 = disabled || !callback;
105
+ let t4;
106
+ if ($[9] !== callback) {
107
+ t4 = () => {
68
108
  callback?.();
69
- })
70
- });
109
+ };
110
+ $[9] = callback;
111
+ $[10] = t4;
112
+ } else t4 = $[10];
113
+ let t5;
114
+ if ($[11] !== onClick || $[12] !== t4) {
115
+ t5 = composeEventHandlers(onClick, t4);
116
+ $[11] = onClick;
117
+ $[12] = t4;
118
+ $[13] = t5;
119
+ } else t5 = $[13];
120
+ let t6;
121
+ if ($[14] !== forwardedRef || $[15] !== props || $[16] !== t2 || $[17] !== t3 || $[18] !== t5) {
122
+ t6 = /* @__PURE__ */ jsx(Primitive.button, {
123
+ type: "button",
124
+ ...t2,
125
+ ...props,
126
+ ref: forwardedRef,
127
+ disabled: t3,
128
+ onClick: t5
129
+ });
130
+ $[14] = forwardedRef;
131
+ $[15] = props;
132
+ $[16] = t2;
133
+ $[17] = t3;
134
+ $[18] = t5;
135
+ $[19] = t6;
136
+ } else t6 = $[19];
137
+ return t6;
71
138
  });
72
139
  ActionBarPrimitiveCopy.displayName = "ActionBarPrimitive.Copy";
140
+ function _temp(text) {
141
+ if (typeof navigator === "undefined" || !navigator.clipboard) return Promise.reject(/* @__PURE__ */ new Error("Clipboard API is unavailable"));
142
+ return navigator.clipboard.writeText(text);
143
+ }
144
+ function _temp2(s) {
145
+ return s.message.isCopied;
146
+ }
73
147
  //#endregion
74
148
  export { ActionBarPrimitiveCopy };
75
149
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarCopy.js","names":[],"sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useActionBarCopy } from \"@assistant-ui/core/react\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\n/**\n * Hook that provides copy functionality for action bar buttons.\n *\n * This hook returns a callback function that copies message content to the clipboard,\n * or null if copying is not available. It handles both regular message content and\n * composer text when in editing mode.\n *\n * @param options Configuration options\n * @param options.copiedDuration Duration in milliseconds to show the copied state\n * @returns A copy callback function, or null if copying is disabled\n *\n * @example\n * ```tsx\n * function CustomCopyButton() {\n * const copy = useActionBarPrimitiveCopy({ copiedDuration: 2000 });\n *\n * return (\n * <button onClick={copy} disabled={!copy}>\n * {copy ? \"Copy\" : \"Cannot Copy\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarPrimitiveCopy = ({\n copiedDuration = 3000,\n}: {\n copiedDuration?: number | undefined;\n} = {}) => {\n const { copy, disabled } = useActionBarCopy({\n copiedDuration,\n copyToClipboard: (text) => {\n if (typeof navigator === \"undefined\" || !navigator.clipboard) {\n return Promise.reject(new Error(\"Clipboard API is unavailable\"));\n }\n return navigator.clipboard.writeText(text);\n },\n });\n if (disabled) return null;\n return copy;\n};\n\nexport namespace ActionBarPrimitiveCopy {\n export type Element = HTMLButtonElement;\n /**\n * Props for the ActionBarPrimitive.Copy component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarPrimitiveCopy>;\n}\n\n/**\n * A button component that copies message content to the clipboard.\n *\n * This component automatically handles copying message text to the clipboard\n * and provides visual feedback through the data-copied attribute. It's disabled\n * when there's no copyable content available.\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Copy copiedDuration={2000}>\n * Copy Message\n * </ActionBarPrimitive.Copy>\n * ```\n */\nexport const ActionBarPrimitiveCopy = forwardRef<\n ActionBarPrimitiveCopy.Element,\n ActionBarPrimitiveCopy.Props\n>(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {\n const isCopied = useAuiState((s) => s.message.isCopied);\n const callback = useActionBarPrimitiveCopy({ copiedDuration });\n return (\n <Primitive.button\n type=\"button\"\n {...(isCopied ? { \"data-copied\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveCopy.displayName = \"ActionBarPrimitive.Copy\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,6BAA6B,EACjC,iBAAiB,QAGf,CAAC,MAAM;CACT,MAAM,EAAE,MAAM,aAAa,iBAAiB;EAC1C;EACA,kBAAkB,SAAS;GACzB,IAAI,OAAO,cAAc,eAAe,CAAC,UAAU,WACjD,OAAO,QAAQ,uBAAO,IAAI,MAAM,8BAA8B,CAAC;GAEjE,OAAO,UAAU,UAAU,UAAU,IAAI;EAC3C;CACF,CAAC;CACD,IAAI,UAAU,OAAO;CACrB,OAAO;AACT;;;;;;;;;;;;;;;AAyBA,MAAa,yBAAyB,YAGnC,EAAE,gBAAgB,SAAS,UAAU,GAAG,SAAS,iBAAiB;CACnE,MAAM,WAAW,aAAa,MAAM,EAAE,QAAQ,QAAQ;CACtD,MAAM,WAAW,0BAA0B,EAAE,eAAe,CAAC;CAC7D,OACE,oBAAC,UAAU,QAAX;EACE,MAAK;EACL,GAAK,WAAW,EAAE,eAAe,OAAO,IAAI,CAAC;EAC7C,GAAI;EACJ,KAAK;EACL,UAAU,YAAY,CAAC;EACvB,SAAS,qBAAqB,eAAe;GAC3C,WAAW;EACb,CAAC;CACF,CAAA;AAEL,CAAC;AAED,uBAAuB,cAAc"}
1
+ {"version":3,"file":"ActionBarCopy.js","names":["c","_c","forwardRef","ActionButtonProps","composeEventHandlers","Primitive","useActionBarCopy","useAuiState","useActionBarPrimitiveCopy","t0","$","t1","undefined","copiedDuration","t2","t3","copyToClipboard","_temp","copy","disabled","ActionBarPrimitiveCopy","Element","HTMLButtonElement","Props","forwardedRef","onClick","props","isCopied","_temp2","callback","t4","t5","t6","displayName","text","navigator","clipboard","Promise","reject","Error","writeText","s","message"],"sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useActionBarCopy } from \"@assistant-ui/core/react\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\n/**\n * Hook that provides copy functionality for action bar buttons.\n *\n * This hook returns a callback function that copies message content to the clipboard,\n * or null if copying is not available. It handles both regular message content and\n * composer text when in editing mode.\n *\n * @param options Configuration options\n * @param options.copiedDuration Duration in milliseconds to show the copied state\n * @returns A copy callback function, or null if copying is disabled\n *\n * @example\n * ```tsx\n * function CustomCopyButton() {\n * const copy = useActionBarPrimitiveCopy({ copiedDuration: 2000 });\n *\n * return (\n * <button onClick={copy} disabled={!copy}>\n * {copy ? \"Copy\" : \"Cannot Copy\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarPrimitiveCopy = ({\n copiedDuration = 3000,\n}: {\n copiedDuration?: number | undefined;\n} = {}) => {\n const { copy, disabled } = useActionBarCopy({\n copiedDuration,\n copyToClipboard: (text) => {\n if (typeof navigator === \"undefined\" || !navigator.clipboard) {\n return Promise.reject(new Error(\"Clipboard API is unavailable\"));\n }\n return navigator.clipboard.writeText(text);\n },\n });\n if (disabled) return null;\n return copy;\n};\n\nexport namespace ActionBarPrimitiveCopy {\n export type Element = HTMLButtonElement;\n /**\n * Props for the ActionBarPrimitive.Copy component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarPrimitiveCopy>;\n}\n\n/**\n * A button component that copies message content to the clipboard.\n *\n * This component automatically handles copying message text to the clipboard\n * and provides visual feedback through the data-copied attribute. It's disabled\n * when there's no copyable content available.\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Copy copiedDuration={2000}>\n * Copy Message\n * </ActionBarPrimitive.Copy>\n * ```\n */\nexport const ActionBarPrimitiveCopy = forwardRef<\n ActionBarPrimitiveCopy.Element,\n ActionBarPrimitiveCopy.Props\n>(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {\n const isCopied = useAuiState((s) => s.message.isCopied);\n const callback = useActionBarPrimitiveCopy({ copiedDuration });\n return (\n <Primitive.button\n type=\"button\"\n {...(isCopied ? { \"data-copied\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveCopy.displayName = \"ActionBarPrimitive.Copy\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarEdit.js","names":["useActionBarEdit","useActionBarEditBehavior"],"sources":["../../../src/primitives/actionBar/ActionBarEdit.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useActionBarEdit as useActionBarEditBehavior } from \"@assistant-ui/core/react\";\n\n/**\n * Hook that provides edit functionality for action bar buttons.\n *\n * This hook returns a callback function that starts editing the current message,\n * or null if editing is not available (e.g., already in editing mode).\n *\n * @returns An edit callback function, or null if editing is disabled\n *\n * @example\n * ```tsx\n * function CustomEditButton() {\n * const edit = useActionBarEdit();\n *\n * return (\n * <button onClick={edit} disabled={!edit}>\n * {edit ? \"Edit Message\" : \"Cannot Edit\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarEdit = () => {\n const { disabled, edit } = useActionBarEditBehavior();\n if (disabled) return null;\n return edit;\n};\n\nexport namespace ActionBarPrimitiveEdit {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Edit component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarEdit>;\n}\n\n/**\n * A button component that starts editing the current message.\n *\n * This component automatically handles starting the edit mode for the current message\n * and is disabled when editing is not available (e.g., already in editing mode).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Edit>\n * Edit Message\n * </ActionBarPrimitive.Edit>\n * ```\n */\nexport const ActionBarPrimitiveEdit = createActionButton(\n \"ActionBarPrimitive.Edit\",\n useActionBarEdit,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAMA,2BAAyB;CAC7B,MAAM,EAAE,UAAU,SAASC,iBAAyB;CACpD,IAAI,UAAU,OAAO;CACrB,OAAO;AACT;;;;;;;;;;;;;;AAwBA,MAAa,yBAAyB,mBACpC,2BACAD,kBACF"}
1
+ {"version":3,"file":"ActionBarEdit.js","names":["ActionButtonElement","ActionButtonProps","createActionButton","useActionBarEdit","useActionBarEditBehavior","disabled","edit","ActionBarPrimitiveEdit","Element","Props"],"sources":["../../../src/primitives/actionBar/ActionBarEdit.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useActionBarEdit as useActionBarEditBehavior } from \"@assistant-ui/core/react\";\n\n/**\n * Hook that provides edit functionality for action bar buttons.\n *\n * This hook returns a callback function that starts editing the current message,\n * or null if editing is not available (e.g., already in editing mode).\n *\n * @returns An edit callback function, or null if editing is disabled\n *\n * @example\n * ```tsx\n * function CustomEditButton() {\n * const edit = useActionBarEdit();\n *\n * return (\n * <button onClick={edit} disabled={!edit}>\n * {edit ? \"Edit Message\" : \"Cannot Edit\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarEdit = () => {\n const { disabled, edit } = useActionBarEditBehavior();\n if (disabled) return null;\n return edit;\n};\n\nexport namespace ActionBarPrimitiveEdit {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Edit component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarEdit>;\n}\n\n/**\n * A button component that starts editing the current message.\n *\n * This component automatically handles starting the edit mode for the current message\n * and is disabled when editing is not available (e.g., already in editing mode).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Edit>\n * Edit Message\n * </ActionBarPrimitive.Edit>\n * ```\n */\nexport const ActionBarPrimitiveEdit = createActionButton(\n \"ActionBarPrimitive.Edit\",\n useActionBarEdit,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAMG,2BAAmB;CACvB,MAAA,EAAAE,UAAAC,SAA2BF,iBAAyB;CACpD,IAAIC,UAAQ,OAAS;CAAK,OACnBC;AAAI;;;;;;;;;;;;;;AAyBb,MAAaC,yBAAyBL,mBACpC,2BACAC,kBACF"}
@@ -1,53 +1,121 @@
1
1
  "use client";
2
2
  import { Primitive } from "../../utils/Primitive.js";
3
3
  import { useAui, useAuiState } from "@assistant-ui/store";
4
- import { forwardRef, useCallback } from "@assistant-ui/tap/react-shim";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
5
+ import { forwardRef } from "@assistant-ui/tap/react-shim";
5
6
  import { jsx } from "react/jsx-runtime";
6
7
  import { composeEventHandlers } from "@radix-ui/primitive";
7
8
  //#region src/primitives/actionBar/ActionBarExportMarkdown.tsx
8
- const useActionBarExportMarkdown = ({ filename, onExport } = {}) => {
9
+ const useActionBarExportMarkdown = (t0) => {
10
+ const $ = c(6);
11
+ let t1;
12
+ if ($[0] !== t0) {
13
+ t1 = t0 === void 0 ? {} : t0;
14
+ $[0] = t0;
15
+ $[1] = t1;
16
+ } else t1 = $[1];
17
+ const { filename, onExport } = t1;
9
18
  const aui = useAui();
10
- const hasExportableContent = useAuiState((s) => {
11
- return (s.message.role !== "assistant" || s.message.status?.type !== "running") && s.message.parts.some((c) => c.type === "text" && c.text.length > 0);
12
- });
13
- const callback = useCallback(async () => {
14
- const content = aui.message().getCopyText();
15
- if (!content) return;
16
- if (onExport) {
17
- await onExport(content);
18
- return;
19
- }
20
- const blob = new Blob([content], { type: "text/markdown" });
21
- const url = URL.createObjectURL(blob);
22
- const a = document.createElement("a");
23
- a.href = url;
24
- a.download = filename ?? `message-${Date.now()}.md`;
25
- a.click();
26
- URL.revokeObjectURL(url);
27
- }, [
28
- aui,
29
- filename,
30
- onExport
31
- ]);
19
+ const hasExportableContent = useAuiState(_temp2);
20
+ let t2;
21
+ if ($[2] !== aui || $[3] !== filename || $[4] !== onExport) {
22
+ t2 = async () => {
23
+ const content = aui.message().getCopyText();
24
+ if (!content) return;
25
+ if (onExport) {
26
+ await onExport(content);
27
+ return;
28
+ }
29
+ const blob = new Blob([content], { type: "text/markdown" });
30
+ const url = URL.createObjectURL(blob);
31
+ const a = document.createElement("a");
32
+ a.href = url;
33
+ a.download = filename ?? `message-${Date.now()}.md`;
34
+ a.click();
35
+ URL.revokeObjectURL(url);
36
+ };
37
+ $[2] = aui;
38
+ $[3] = filename;
39
+ $[4] = onExport;
40
+ $[5] = t2;
41
+ } else t2 = $[5];
42
+ const callback = t2;
32
43
  if (!hasExportableContent) return null;
33
44
  return callback;
34
45
  };
35
- const ActionBarPrimitiveExportMarkdown = forwardRef(({ filename, onExport, onClick, disabled, ...props }, forwardedRef) => {
36
- const callback = useActionBarExportMarkdown({
37
- filename,
38
- onExport
39
- });
40
- return /* @__PURE__ */ jsx(Primitive.button, {
41
- type: "button",
42
- ...props,
43
- ref: forwardedRef,
44
- disabled: disabled || !callback,
45
- onClick: composeEventHandlers(onClick, () => {
46
+ const ActionBarPrimitiveExportMarkdown = forwardRef((t0, forwardedRef) => {
47
+ const $ = c(19);
48
+ let disabled;
49
+ let filename;
50
+ let onClick;
51
+ let onExport;
52
+ let props;
53
+ if ($[0] !== t0) {
54
+ ({filename, onExport, onClick, disabled, ...props} = t0);
55
+ $[0] = t0;
56
+ $[1] = disabled;
57
+ $[2] = filename;
58
+ $[3] = onClick;
59
+ $[4] = onExport;
60
+ $[5] = props;
61
+ } else {
62
+ disabled = $[1];
63
+ filename = $[2];
64
+ onClick = $[3];
65
+ onExport = $[4];
66
+ props = $[5];
67
+ }
68
+ let t1;
69
+ if ($[6] !== filename || $[7] !== onExport) {
70
+ t1 = {
71
+ filename,
72
+ onExport
73
+ };
74
+ $[6] = filename;
75
+ $[7] = onExport;
76
+ $[8] = t1;
77
+ } else t1 = $[8];
78
+ const callback = useActionBarExportMarkdown(t1);
79
+ const t2 = disabled || !callback;
80
+ let t3;
81
+ if ($[9] !== callback) {
82
+ t3 = () => {
46
83
  callback?.();
47
- })
48
- });
84
+ };
85
+ $[9] = callback;
86
+ $[10] = t3;
87
+ } else t3 = $[10];
88
+ let t4;
89
+ if ($[11] !== onClick || $[12] !== t3) {
90
+ t4 = composeEventHandlers(onClick, t3);
91
+ $[11] = onClick;
92
+ $[12] = t3;
93
+ $[13] = t4;
94
+ } else t4 = $[13];
95
+ let t5;
96
+ if ($[14] !== forwardedRef || $[15] !== props || $[16] !== t2 || $[17] !== t4) {
97
+ t5 = /* @__PURE__ */ jsx(Primitive.button, {
98
+ type: "button",
99
+ ...props,
100
+ ref: forwardedRef,
101
+ disabled: t2,
102
+ onClick: t4
103
+ });
104
+ $[14] = forwardedRef;
105
+ $[15] = props;
106
+ $[16] = t2;
107
+ $[17] = t4;
108
+ $[18] = t5;
109
+ } else t5 = $[18];
110
+ return t5;
49
111
  });
50
112
  ActionBarPrimitiveExportMarkdown.displayName = "ActionBarPrimitive.ExportMarkdown";
113
+ function _temp(c) {
114
+ return c.type === "text" && c.text.length > 0;
115
+ }
116
+ function _temp2(s) {
117
+ return (s.message.role !== "assistant" || s.message.status?.type !== "running") && s.message.parts.some(_temp);
118
+ }
51
119
  //#endregion
52
120
  export { ActionBarPrimitiveExportMarkdown };
53
121
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarExportMarkdown.js","names":[],"sources":["../../../src/primitives/actionBar/ActionBarExportMarkdown.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useAuiState, useAui } from \"@assistant-ui/store\";\n\nconst useActionBarExportMarkdown = ({\n filename,\n onExport,\n}: {\n filename?: string | undefined;\n onExport?: ((content: string) => void | Promise<void>) | undefined;\n} = {}) => {\n const aui = useAui();\n const hasExportableContent = useAuiState((s) => {\n return (\n (s.message.role !== \"assistant\" ||\n s.message.status?.type !== \"running\") &&\n s.message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n const callback = useCallback(async () => {\n const content = aui.message().getCopyText();\n if (!content) return;\n\n if (onExport) {\n await onExport(content);\n return;\n }\n\n const blob = new Blob([content], { type: \"text/markdown\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = filename ?? `message-${Date.now()}.md`;\n a.click();\n URL.revokeObjectURL(url);\n }, [aui, filename, onExport]);\n\n if (!hasExportableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveExportMarkdown {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarExportMarkdown>;\n}\n\nexport const ActionBarPrimitiveExportMarkdown = forwardRef<\n ActionBarPrimitiveExportMarkdown.Element,\n ActionBarPrimitiveExportMarkdown.Props\n>(({ filename, onExport, onClick, disabled, ...props }, forwardedRef) => {\n const callback = useActionBarExportMarkdown({ filename, onExport });\n return (\n <Primitive.button\n type=\"button\"\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveExportMarkdown.displayName =\n \"ActionBarPrimitive.ExportMarkdown\";\n"],"mappings":";;;;;;;AAQA,MAAM,8BAA8B,EAClC,UACA,aAIE,CAAC,MAAM;CACT,MAAM,MAAM,OAAO;CACnB,MAAM,uBAAuB,aAAa,MAAM;EAC9C,QACG,EAAE,QAAQ,SAAS,eAClB,EAAE,QAAQ,QAAQ,SAAS,cAC7B,EAAE,QAAQ,MAAM,MAAM,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC;CAEtE,CAAC;CAED,MAAM,WAAW,YAAY,YAAY;EACvC,MAAM,UAAU,IAAI,QAAQ,CAAC,CAAC,YAAY;EAC1C,IAAI,CAAC,SAAS;EAEd,IAAI,UAAU;GACZ,MAAM,SAAS,OAAO;GACtB;EACF;EAEA,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,EAAE,MAAM,gBAAgB,CAAC;EAC1D,MAAM,MAAM,IAAI,gBAAgB,IAAI;EACpC,MAAM,IAAI,SAAS,cAAc,GAAG;EACpC,EAAE,OAAO;EACT,EAAE,WAAW,YAAY,WAAW,KAAK,IAAI,EAAE;EAC/C,EAAE,MAAM;EACR,IAAI,gBAAgB,GAAG;CACzB,GAAG;EAAC;EAAK;EAAU;CAAQ,CAAC;CAE5B,IAAI,CAAC,sBAAsB,OAAO;CAClC,OAAO;AACT;AAOA,MAAa,mCAAmC,YAG7C,EAAE,UAAU,UAAU,SAAS,UAAU,GAAG,SAAS,iBAAiB;CACvE,MAAM,WAAW,2BAA2B;EAAE;EAAU;CAAS,CAAC;CAClE,OACE,oBAAC,UAAU,QAAX;EACE,MAAK;EACL,GAAI;EACJ,KAAK;EACL,UAAU,YAAY,CAAC;EACvB,SAAS,qBAAqB,eAAe;GAC3C,WAAW;EACb,CAAC;CACF,CAAA;AAEL,CAAC;AAED,iCAAiC,cAC/B"}
1
+ {"version":3,"file":"ActionBarExportMarkdown.js","names":["c","_c","forwardRef","useCallback","ActionButtonProps","composeEventHandlers","Primitive","useAuiState","useAui","useActionBarExportMarkdown","t0","$","t1","undefined","filename","onExport","aui","hasExportableContent","_temp2","t2","content","message","getCopyText","blob","Blob","type","url","URL","createObjectURL","a","document","createElement","href","download","Date","now","click","revokeObjectURL","callback","ActionBarPrimitiveExportMarkdown","Element","HTMLButtonElement","Props","forwardedRef","disabled","onClick","props","t3","t4","t5","displayName","_temp","text","length","s","role","status","parts","some"],"sources":["../../../src/primitives/actionBar/ActionBarExportMarkdown.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useAuiState, useAui } from \"@assistant-ui/store\";\n\nconst useActionBarExportMarkdown = ({\n filename,\n onExport,\n}: {\n filename?: string | undefined;\n onExport?: ((content: string) => void | Promise<void>) | undefined;\n} = {}) => {\n const aui = useAui();\n const hasExportableContent = useAuiState((s) => {\n return (\n (s.message.role !== \"assistant\" ||\n s.message.status?.type !== \"running\") &&\n s.message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n const callback = useCallback(async () => {\n const content = aui.message().getCopyText();\n if (!content) return;\n\n if (onExport) {\n await onExport(content);\n return;\n }\n\n const blob = new Blob([content], { type: \"text/markdown\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = filename ?? `message-${Date.now()}.md`;\n a.click();\n URL.revokeObjectURL(url);\n }, [aui, filename, onExport]);\n\n if (!hasExportableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveExportMarkdown {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarExportMarkdown>;\n}\n\nexport const ActionBarPrimitiveExportMarkdown = forwardRef<\n ActionBarPrimitiveExportMarkdown.Element,\n ActionBarPrimitiveExportMarkdown.Props\n>(({ filename, onExport, onClick, disabled, ...props }, forwardedRef) => {\n const callback = useActionBarExportMarkdown({ filename, onExport });\n return (\n <Primitive.button\n type=\"button\"\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveExportMarkdown.displayName =\n \"ActionBarPrimitive.ExportMarkdown\";\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { Primitive } from "../../utils/Primitive.js";
3
3
  import { useAuiState } from "@assistant-ui/store";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
5
  import { useActionBarFeedbackNegative } from "@assistant-ui/core/react";
5
6
  import { forwardRef } from "@assistant-ui/tap/react-shim";
6
7
  import { jsx } from "react/jsx-runtime";
@@ -10,21 +11,69 @@ const useActionBarFeedbackNegative$1 = () => {
10
11
  const { submit } = useActionBarFeedbackNegative();
11
12
  return submit;
12
13
  };
13
- const ActionBarPrimitiveFeedbackNegative = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
14
- const isSubmitted = useAuiState((s) => s.message.metadata.submittedFeedback?.type === "negative");
14
+ const ActionBarPrimitiveFeedbackNegative = forwardRef((t0, forwardedRef) => {
15
+ const $ = c(17);
16
+ let disabled;
17
+ let onClick;
18
+ let props;
19
+ if ($[0] !== t0) {
20
+ ({onClick, disabled, ...props} = t0);
21
+ $[0] = t0;
22
+ $[1] = disabled;
23
+ $[2] = onClick;
24
+ $[3] = props;
25
+ } else {
26
+ disabled = $[1];
27
+ onClick = $[2];
28
+ props = $[3];
29
+ }
30
+ const isSubmitted = useAuiState(_temp);
15
31
  const callback = useActionBarFeedbackNegative$1();
16
- return /* @__PURE__ */ jsx(Primitive.button, {
17
- type: "button",
18
- ...isSubmitted ? { "data-submitted": "true" } : {},
19
- ...props,
20
- ref: forwardedRef,
21
- disabled: disabled || !callback,
22
- onClick: composeEventHandlers(onClick, () => {
32
+ let t1;
33
+ if ($[4] !== isSubmitted) {
34
+ t1 = isSubmitted ? { "data-submitted": "true" } : {};
35
+ $[4] = isSubmitted;
36
+ $[5] = t1;
37
+ } else t1 = $[5];
38
+ const t2 = disabled || !callback;
39
+ let t3;
40
+ if ($[6] !== callback) {
41
+ t3 = () => {
23
42
  callback?.();
24
- })
25
- });
43
+ };
44
+ $[6] = callback;
45
+ $[7] = t3;
46
+ } else t3 = $[7];
47
+ let t4;
48
+ if ($[8] !== onClick || $[9] !== t3) {
49
+ t4 = composeEventHandlers(onClick, t3);
50
+ $[8] = onClick;
51
+ $[9] = t3;
52
+ $[10] = t4;
53
+ } else t4 = $[10];
54
+ let t5;
55
+ if ($[11] !== forwardedRef || $[12] !== props || $[13] !== t1 || $[14] !== t2 || $[15] !== t4) {
56
+ t5 = /* @__PURE__ */ jsx(Primitive.button, {
57
+ type: "button",
58
+ ...t1,
59
+ ...props,
60
+ ref: forwardedRef,
61
+ disabled: t2,
62
+ onClick: t4
63
+ });
64
+ $[11] = forwardedRef;
65
+ $[12] = props;
66
+ $[13] = t1;
67
+ $[14] = t2;
68
+ $[15] = t4;
69
+ $[16] = t5;
70
+ } else t5 = $[16];
71
+ return t5;
26
72
  });
27
73
  ActionBarPrimitiveFeedbackNegative.displayName = "ActionBarPrimitive.FeedbackNegative";
74
+ function _temp(s) {
75
+ return s.message.metadata.submittedFeedback?.type === "negative";
76
+ }
28
77
  //#endregion
29
78
  export { ActionBarPrimitiveFeedbackNegative };
30
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackNegative.js","names":["useActionBarFeedbackNegative","useActionBarFeedbackNegativeBehavior"],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { useActionBarFeedbackNegative as useActionBarFeedbackNegativeBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarFeedbackNegative = () => {\n const { submit } = useActionBarFeedbackNegativeBehavior();\n return submit;\n};\n\nexport namespace ActionBarPrimitiveFeedbackNegative {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackNegative>;\n}\n\nexport const ActionBarPrimitiveFeedbackNegative = forwardRef<\n ActionBarPrimitiveFeedbackNegative.Element,\n ActionBarPrimitiveFeedbackNegative.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAuiState(\n (s) => s.message.metadata.submittedFeedback?.type === \"negative\",\n );\n const callback = useActionBarFeedbackNegative();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackNegative.displayName =\n \"ActionBarPrimitive.FeedbackNegative\";\n"],"mappings":";;;;;;;;AASA,MAAMA,uCAAqC;CACzC,MAAM,EAAE,WAAWC,6BAAqC;CACxD,OAAO;AACT;AAOA,MAAa,qCAAqC,YAG/C,EAAE,SAAS,UAAU,GAAG,SAAS,iBAAiB;CACnD,MAAM,cAAc,aACjB,MAAM,EAAE,QAAQ,SAAS,mBAAmB,SAAS,UACxD;CACA,MAAM,WAAWD,+BAA6B;CAC9C,OACE,oBAAC,UAAU,QAAX;EACE,MAAK;EACL,GAAK,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;EACnD,GAAI;EACJ,KAAK;EACL,UAAU,YAAY,CAAC;EACvB,SAAS,qBAAqB,eAAe;GAC3C,WAAW;EACb,CAAC;CACF,CAAA;AAEL,CAAC;AAED,mCAAmC,cACjC"}
1
+ {"version":3,"file":"ActionBarFeedbackNegative.js","names":["c","_c","forwardRef","ActionButtonProps","composeEventHandlers","Primitive","useAuiState","useActionBarFeedbackNegative","useActionBarFeedbackNegativeBehavior","submit","ActionBarPrimitiveFeedbackNegative","Element","HTMLButtonElement","Props","t0","forwardedRef","$","disabled","onClick","props","isSubmitted","_temp","callback","t1","t2","t3","t4","t5","displayName","s","message","metadata","submittedFeedback","type"],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { useActionBarFeedbackNegative as useActionBarFeedbackNegativeBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarFeedbackNegative = () => {\n const { submit } = useActionBarFeedbackNegativeBehavior();\n return submit;\n};\n\nexport namespace ActionBarPrimitiveFeedbackNegative {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackNegative>;\n}\n\nexport const ActionBarPrimitiveFeedbackNegative = forwardRef<\n ActionBarPrimitiveFeedbackNegative.Element,\n ActionBarPrimitiveFeedbackNegative.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAuiState(\n (s) => s.message.metadata.submittedFeedback?.type === \"negative\",\n );\n const callback = useActionBarFeedbackNegative();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackNegative.displayName =\n \"ActionBarPrimitive.FeedbackNegative\";\n"],"mappings":";;;;;;;;;AASA,MAAMO,uCAA+B;CACnC,MAAA,EAAAE,WAAmBD,6BAAqC;CAAE,OACnDC;AAAM;AAQf,MAAaC,qCAAqCR,YAGhDY,IAAAC,iBAAA;CAAA,MAAAC,IAAAf,EAAA,EAAA;CAAA,IAAAgB;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAH,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAI,SAAAD,aAAAE,SAAAL;EAA+BE,EAAA,KAAAF;EAAAE,EAAA,KAAAC;EAAAD,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAA;EAAAF,WAAAD,EAAA;EAAAE,UAAAF,EAAA;EAAAG,QAAAH,EAAA;CAAA;CAChC,MAAAI,cAAoBd,YAClBe,KACF;CACA,MAAAC,WAAiBf,+BAA6B;CAAE,IAAAgB;CAAA,IAAAP,EAAA,OAAAI,aAAA;EAIvCG,KAAAH,cAAA,EAAA,kBAAkC,OAAY,IAA9C,CAA8C;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAG1C,MAAAQ,KAAAP,YAAA,CAAaK;CAAQ,IAAAG;CAAA,IAAAT,EAAA,OAAAM,UAAA;EACQG,WAAA;GACrCH,WAAW;EAAC;EACbN,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAE,WAAAF,EAAA,OAAAS,IAAA;EAFQC,KAAAtB,qBAAqBc,SAASO,EAEtC;EAACT,EAAA,KAAAE;EAAAF,EAAA,KAAAS;EAAAT,EAAA,MAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,QAAAD,gBAAAC,EAAA,QAAAG,SAAAH,EAAA,QAAAO,MAAAP,EAAA,QAAAQ,MAAAR,EAAA,QAAAU,IAAA;EARJC,KAAA,oBAAA,UAAA,QAAA;GACO,MAAA;GAAQ,GACRJ;GAA+C,GAChDJ;GACCJ,KAAAA;GACK,UAAAS;GACD,SAAAE;EAEP,CAAA;EACFV,EAAA,MAAAD;EAAAC,EAAA,MAAAG;EAAAH,EAAA,MAAAO;EAAAP,EAAA,MAAAQ;EAAAR,EAAA,MAAAU;EAAAV,EAAA,MAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OATFW;AASE,CAEL;AAEDjB,mCAAmCkB,cACjC;AApBA,SAAAP,MAAAQ,GAAA;CAAA,OAESA,EAACC,QAAQC,SAASC,mBAAwBC,SAAK;AAAU"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { Primitive } from "../../utils/Primitive.js";
3
3
  import { useAuiState } from "@assistant-ui/store";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
5
  import { useActionBarFeedbackPositive } from "@assistant-ui/core/react";
5
6
  import { forwardRef } from "@assistant-ui/tap/react-shim";
6
7
  import { jsx } from "react/jsx-runtime";
@@ -10,21 +11,69 @@ const useActionBarFeedbackPositive$1 = () => {
10
11
  const { submit } = useActionBarFeedbackPositive();
11
12
  return submit;
12
13
  };
13
- const ActionBarPrimitiveFeedbackPositive = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
14
- const isSubmitted = useAuiState((s) => s.message.metadata.submittedFeedback?.type === "positive");
14
+ const ActionBarPrimitiveFeedbackPositive = forwardRef((t0, forwardedRef) => {
15
+ const $ = c(17);
16
+ let disabled;
17
+ let onClick;
18
+ let props;
19
+ if ($[0] !== t0) {
20
+ ({onClick, disabled, ...props} = t0);
21
+ $[0] = t0;
22
+ $[1] = disabled;
23
+ $[2] = onClick;
24
+ $[3] = props;
25
+ } else {
26
+ disabled = $[1];
27
+ onClick = $[2];
28
+ props = $[3];
29
+ }
30
+ const isSubmitted = useAuiState(_temp);
15
31
  const callback = useActionBarFeedbackPositive$1();
16
- return /* @__PURE__ */ jsx(Primitive.button, {
17
- type: "button",
18
- ...isSubmitted ? { "data-submitted": "true" } : {},
19
- ...props,
20
- ref: forwardedRef,
21
- disabled: disabled || !callback,
22
- onClick: composeEventHandlers(onClick, () => {
32
+ let t1;
33
+ if ($[4] !== isSubmitted) {
34
+ t1 = isSubmitted ? { "data-submitted": "true" } : {};
35
+ $[4] = isSubmitted;
36
+ $[5] = t1;
37
+ } else t1 = $[5];
38
+ const t2 = disabled || !callback;
39
+ let t3;
40
+ if ($[6] !== callback) {
41
+ t3 = () => {
23
42
  callback?.();
24
- })
25
- });
43
+ };
44
+ $[6] = callback;
45
+ $[7] = t3;
46
+ } else t3 = $[7];
47
+ let t4;
48
+ if ($[8] !== onClick || $[9] !== t3) {
49
+ t4 = composeEventHandlers(onClick, t3);
50
+ $[8] = onClick;
51
+ $[9] = t3;
52
+ $[10] = t4;
53
+ } else t4 = $[10];
54
+ let t5;
55
+ if ($[11] !== forwardedRef || $[12] !== props || $[13] !== t1 || $[14] !== t2 || $[15] !== t4) {
56
+ t5 = /* @__PURE__ */ jsx(Primitive.button, {
57
+ type: "button",
58
+ ...t1,
59
+ ...props,
60
+ ref: forwardedRef,
61
+ disabled: t2,
62
+ onClick: t4
63
+ });
64
+ $[11] = forwardedRef;
65
+ $[12] = props;
66
+ $[13] = t1;
67
+ $[14] = t2;
68
+ $[15] = t4;
69
+ $[16] = t5;
70
+ } else t5 = $[16];
71
+ return t5;
26
72
  });
27
73
  ActionBarPrimitiveFeedbackPositive.displayName = "ActionBarPrimitive.FeedbackPositive";
74
+ function _temp(s) {
75
+ return s.message.metadata.submittedFeedback?.type === "positive";
76
+ }
28
77
  //#endregion
29
78
  export { ActionBarPrimitiveFeedbackPositive };
30
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackPositive.js","names":["useActionBarFeedbackPositive","useActionBarFeedbackPositiveBehavior"],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useActionBarFeedbackPositive as useActionBarFeedbackPositiveBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarFeedbackPositive = () => {\n const { submit } = useActionBarFeedbackPositiveBehavior();\n return submit;\n};\n\nexport namespace ActionBarPrimitiveFeedbackPositive {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackPositive>;\n}\n\nexport const ActionBarPrimitiveFeedbackPositive = forwardRef<\n ActionBarPrimitiveFeedbackPositive.Element,\n ActionBarPrimitiveFeedbackPositive.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAuiState(\n (s) => s.message.metadata.submittedFeedback?.type === \"positive\",\n );\n const callback = useActionBarFeedbackPositive();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackPositive.displayName =\n \"ActionBarPrimitive.FeedbackPositive\";\n"],"mappings":";;;;;;;;AASA,MAAMA,uCAAqC;CACzC,MAAM,EAAE,WAAWC,6BAAqC;CACxD,OAAO;AACT;AAOA,MAAa,qCAAqC,YAG/C,EAAE,SAAS,UAAU,GAAG,SAAS,iBAAiB;CACnD,MAAM,cAAc,aACjB,MAAM,EAAE,QAAQ,SAAS,mBAAmB,SAAS,UACxD;CACA,MAAM,WAAWD,+BAA6B;CAC9C,OACE,oBAAC,UAAU,QAAX;EACE,MAAK;EACL,GAAK,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;EACnD,GAAI;EACJ,KAAK;EACL,UAAU,YAAY,CAAC;EACvB,SAAS,qBAAqB,eAAe;GAC3C,WAAW;EACb,CAAC;CACF,CAAA;AAEL,CAAC;AAED,mCAAmC,cACjC"}
1
+ {"version":3,"file":"ActionBarFeedbackPositive.js","names":["c","_c","forwardRef","ActionButtonProps","composeEventHandlers","useAuiState","Primitive","useActionBarFeedbackPositive","useActionBarFeedbackPositiveBehavior","submit","ActionBarPrimitiveFeedbackPositive","Element","HTMLButtonElement","Props","t0","forwardedRef","$","disabled","onClick","props","isSubmitted","_temp","callback","t1","t2","t3","t4","t5","displayName","s","message","metadata","submittedFeedback","type"],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useActionBarFeedbackPositive as useActionBarFeedbackPositiveBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarFeedbackPositive = () => {\n const { submit } = useActionBarFeedbackPositiveBehavior();\n return submit;\n};\n\nexport namespace ActionBarPrimitiveFeedbackPositive {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackPositive>;\n}\n\nexport const ActionBarPrimitiveFeedbackPositive = forwardRef<\n ActionBarPrimitiveFeedbackPositive.Element,\n ActionBarPrimitiveFeedbackPositive.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAuiState(\n (s) => s.message.metadata.submittedFeedback?.type === \"positive\",\n );\n const callback = useActionBarFeedbackPositive();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackPositive.displayName =\n \"ActionBarPrimitive.FeedbackPositive\";\n"],"mappings":";;;;;;;;;AASA,MAAMO,uCAA+B;CACnC,MAAA,EAAAE,WAAmBD,6BAAqC;CAAE,OACnDC;AAAM;AAQf,MAAaC,qCAAqCR,YAGhDY,IAAAC,iBAAA;CAAA,MAAAC,IAAAf,EAAA,EAAA;CAAA,IAAAgB;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAH,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAI,SAAAD,aAAAE,SAAAL;EAA+BE,EAAA,KAAAF;EAAAE,EAAA,KAAAC;EAAAD,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAA;EAAAF,WAAAD,EAAA;EAAAE,UAAAF,EAAA;EAAAG,QAAAH,EAAA;CAAA;CAChC,MAAAI,cAAoBf,YAClBgB,KACF;CACA,MAAAC,WAAiBf,+BAA6B;CAAE,IAAAgB;CAAA,IAAAP,EAAA,OAAAI,aAAA;EAIvCG,KAAAH,cAAA,EAAA,kBAAkC,OAAY,IAA9C,CAA8C;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAG1C,MAAAQ,KAAAP,YAAA,CAAaK;CAAQ,IAAAG;CAAA,IAAAT,EAAA,OAAAM,UAAA;EACQG,WAAA;GACrCH,WAAW;EAAC;EACbN,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAE,WAAAF,EAAA,OAAAS,IAAA;EAFQC,KAAAtB,qBAAqBc,SAASO,EAEtC;EAACT,EAAA,KAAAE;EAAAF,EAAA,KAAAS;EAAAT,EAAA,MAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,QAAAD,gBAAAC,EAAA,QAAAG,SAAAH,EAAA,QAAAO,MAAAP,EAAA,QAAAQ,MAAAR,EAAA,QAAAU,IAAA;EARJC,KAAA,oBAAA,UAAA,QAAA;GACO,MAAA;GAAQ,GACRJ;GAA+C,GAChDJ;GACCJ,KAAAA;GACK,UAAAS;GACD,SAAAE;EAEP,CAAA;EACFV,EAAA,MAAAD;EAAAC,EAAA,MAAAG;EAAAH,EAAA,MAAAO;EAAAP,EAAA,MAAAQ;EAAAR,EAAA,MAAAU;EAAAV,EAAA,MAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OATFW;AASE,CAEL;AAEDjB,mCAAmCkB,cACjC;AApBA,SAAAP,MAAAQ,GAAA;CAAA,OAESA,EAACC,QAAQC,SAASC,mBAAwBC,SAAK;AAAU"}
@@ -2,7 +2,9 @@
2
2
  import { createContext, useContext } from "@assistant-ui/tap/react-shim";
3
3
  //#region src/primitives/actionBar/ActionBarInteractionContext.ts
4
4
  const ActionBarInteractionContext = createContext(null);
5
- const useActionBarInteractionContext = () => useContext(ActionBarInteractionContext);
5
+ const useActionBarInteractionContext = () => {
6
+ return useContext(ActionBarInteractionContext);
7
+ };
6
8
  //#endregion
7
9
  export { ActionBarInteractionContext, useActionBarInteractionContext };
8
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarInteractionContext.js","names":[],"sources":["../../../src/primitives/actionBar/ActionBarInteractionContext.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport type ActionBarInteractionContextValue = {\n acquireInteractionLock: () => () => void;\n};\n\nexport const ActionBarInteractionContext =\n createContext<ActionBarInteractionContextValue | null>(null);\n\nexport const useActionBarInteractionContext = () =>\n useContext(ActionBarInteractionContext);\n"],"mappings":";;;AAQA,MAAa,8BACX,cAAuD,IAAI;AAE7D,MAAa,uCACX,WAAW,2BAA2B"}
1
+ {"version":3,"file":"ActionBarInteractionContext.js","names":["createContext","useContext","ActionBarInteractionContextValue","acquireInteractionLock","ActionBarInteractionContext","useActionBarInteractionContext"],"sources":["../../../src/primitives/actionBar/ActionBarInteractionContext.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport type ActionBarInteractionContextValue = {\n acquireInteractionLock: () => () => void;\n};\n\nexport const ActionBarInteractionContext =\n createContext<ActionBarInteractionContextValue | null>(null);\n\nexport const useActionBarInteractionContext = () =>\n useContext(ActionBarInteractionContext);\n"],"mappings":";;;AAQA,MAAaI,8BACXJ,cAAuD,IAAI;AAE7D,MAAaK,uCAAiC;CAAA,OAC5CJ,WAAWG,2BAA2B;AAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarReload.js","names":["useActionBarReload","useActionBarReloadBehavior"],"sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useActionBarReload as useActionBarReloadBehavior } from \"@assistant-ui/core/react\";\n\n/**\n * Hook that provides reload functionality for action bar buttons.\n *\n * This hook returns a callback function that reloads/regenerates the current assistant message,\n * or null if reloading is not available (e.g., thread is running, disabled, or message is not from assistant).\n *\n * @returns A reload callback function, or null if reloading is disabled\n *\n * @example\n * ```tsx\n * function CustomReloadButton() {\n * const reload = useActionBarReload();\n *\n * return (\n * <button onClick={reload} disabled={!reload}>\n * {reload ? \"Reload Message\" : \"Cannot Reload\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarReload = () => {\n const { disabled, reload } = useActionBarReloadBehavior();\n if (disabled) return null;\n return reload;\n};\n\nexport namespace ActionBarPrimitiveReload {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Reload component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarReload>;\n}\n\n/**\n * A button component that reloads/regenerates the current assistant message.\n *\n * This component automatically handles reloading the current assistant message\n * and is disabled when reloading is not available (e.g., thread is running,\n * disabled, or message is not from assistant).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Reload>\n * Reload Message\n * </ActionBarPrimitive.Reload>\n * ```\n */\nexport const ActionBarPrimitiveReload = createActionButton(\n \"ActionBarPrimitive.Reload\",\n useActionBarReload,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAMA,6BAA2B;CAC/B,MAAM,EAAE,UAAU,WAAWC,mBAA2B;CACxD,IAAI,UAAU,OAAO;CACrB,OAAO;AACT;;;;;;;;;;;;;;;AAyBA,MAAa,2BAA2B,mBACtC,6BACAD,oBACF"}
1
+ {"version":3,"file":"ActionBarReload.js","names":["ActionButtonElement","ActionButtonProps","createActionButton","useActionBarReload","useActionBarReloadBehavior","disabled","reload","ActionBarPrimitiveReload","Element","Props"],"sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useActionBarReload as useActionBarReloadBehavior } from \"@assistant-ui/core/react\";\n\n/**\n * Hook that provides reload functionality for action bar buttons.\n *\n * This hook returns a callback function that reloads/regenerates the current assistant message,\n * or null if reloading is not available (e.g., thread is running, disabled, or message is not from assistant).\n *\n * @returns A reload callback function, or null if reloading is disabled\n *\n * @example\n * ```tsx\n * function CustomReloadButton() {\n * const reload = useActionBarReload();\n *\n * return (\n * <button onClick={reload} disabled={!reload}>\n * {reload ? \"Reload Message\" : \"Cannot Reload\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarReload = () => {\n const { disabled, reload } = useActionBarReloadBehavior();\n if (disabled) return null;\n return reload;\n};\n\nexport namespace ActionBarPrimitiveReload {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Reload component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarReload>;\n}\n\n/**\n * A button component that reloads/regenerates the current assistant message.\n *\n * This component automatically handles reloading the current assistant message\n * and is disabled when reloading is not available (e.g., thread is running,\n * disabled, or message is not from assistant).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Reload>\n * Reload Message\n * </ActionBarPrimitive.Reload>\n * ```\n */\nexport const ActionBarPrimitiveReload = createActionButton(\n \"ActionBarPrimitive.Reload\",\n useActionBarReload,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAMG,6BAAqB;CACzB,MAAA,EAAAE,UAAAC,WAA6BF,mBAA2B;CACxD,IAAIC,UAAQ,OAAS;CAAK,OACnBC;AAAM;;;;;;;;;;;;;;;AA0Bf,MAAaC,2BAA2BL,mBACtC,6BACAC,oBACF"}