@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 +1 @@
1
- {"version":3,"file":"index.js","names":["Base"],"sources":["../../../../src/primitives/composer/trigger/index.ts"],"sourcesContent":["export {\n ComposerPrimitiveTriggerPopoverRoot,\n useTriggerPopoverRootContext,\n useTriggerPopoverRootContextOptional,\n useTriggerPopoverTriggers,\n useTriggerPopoverTriggersOptional,\n type RegisteredTrigger,\n type TriggerPopoverRootContextValue,\n} from \"./TriggerPopoverRootContext\";\nexport {\n useTriggerPopoverScopeContext,\n useTriggerPopoverScopeContextOptional,\n} from \"./TriggerPopover\";\nexport {\n ComposerPrimitiveTriggerPopoverCategories,\n ComposerPrimitiveTriggerPopoverCategoryItem,\n} from \"./TriggerPopoverCategories\";\nexport {\n ComposerPrimitiveTriggerPopoverItems,\n ComposerPrimitiveTriggerPopoverItem,\n} from \"./TriggerPopoverItems\";\nexport { ComposerPrimitiveTriggerPopoverBack } from \"./TriggerPopoverBack\";\nexport type { TriggerBehavior } from \"./triggerSelectionResource\";\n\nimport { ComposerPrimitiveTriggerPopover as Base } from \"./TriggerPopover\";\nimport { ComposerPrimitiveTriggerPopoverAction } from \"./TriggerPopoverAction\";\nimport { ComposerPrimitiveTriggerPopoverDirective } from \"./TriggerPopoverDirective\";\n\nexport const ComposerPrimitiveTriggerPopover = Object.assign(Base, {\n Directive: ComposerPrimitiveTriggerPopoverDirective,\n Action: ComposerPrimitiveTriggerPopoverAction,\n});\n"],"mappings":";;;;;;;;AA4BA,MAAa,kCAAkC,OAAO,OAAOA,mCAAM;CACjE,WAAW;CACX,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"index.js","names":["ComposerPrimitiveTriggerPopoverRoot","useTriggerPopoverRootContext","useTriggerPopoverRootContextOptional","useTriggerPopoverTriggers","useTriggerPopoverTriggersOptional","RegisteredTrigger","TriggerPopoverRootContextValue","useTriggerPopoverScopeContext","useTriggerPopoverScopeContextOptional","ComposerPrimitiveTriggerPopoverCategories","ComposerPrimitiveTriggerPopoverCategoryItem","ComposerPrimitiveTriggerPopoverItems","ComposerPrimitiveTriggerPopoverItem","ComposerPrimitiveTriggerPopoverBack","TriggerBehavior","ComposerPrimitiveTriggerPopover","Base","ComposerPrimitiveTriggerPopoverAction","ComposerPrimitiveTriggerPopoverDirective","Object","assign","Directive","Action"],"sources":["../../../../src/primitives/composer/trigger/index.ts"],"sourcesContent":["export {\n ComposerPrimitiveTriggerPopoverRoot,\n useTriggerPopoverRootContext,\n useTriggerPopoverRootContextOptional,\n useTriggerPopoverTriggers,\n useTriggerPopoverTriggersOptional,\n type RegisteredTrigger,\n type TriggerPopoverRootContextValue,\n} from \"./TriggerPopoverRootContext\";\nexport {\n useTriggerPopoverScopeContext,\n useTriggerPopoverScopeContextOptional,\n} from \"./TriggerPopover\";\nexport {\n ComposerPrimitiveTriggerPopoverCategories,\n ComposerPrimitiveTriggerPopoverCategoryItem,\n} from \"./TriggerPopoverCategories\";\nexport {\n ComposerPrimitiveTriggerPopoverItems,\n ComposerPrimitiveTriggerPopoverItem,\n} from \"./TriggerPopoverItems\";\nexport { ComposerPrimitiveTriggerPopoverBack } from \"./TriggerPopoverBack\";\nexport type { TriggerBehavior } from \"./triggerSelectionResource\";\n\nimport { ComposerPrimitiveTriggerPopover as Base } from \"./TriggerPopover\";\nimport { ComposerPrimitiveTriggerPopoverAction } from \"./TriggerPopoverAction\";\nimport { ComposerPrimitiveTriggerPopoverDirective } from \"./TriggerPopoverDirective\";\n\nexport const ComposerPrimitiveTriggerPopover = Object.assign(Base, {\n Directive: ComposerPrimitiveTriggerPopoverDirective,\n Action: ComposerPrimitiveTriggerPopoverAction,\n});\n"],"mappings":";;;;;;;;AA4BA,MAAae,kCAAkCI,OAAOC,OAAOJ,mCAAM;CACjEK,WAAWH;CACXI,QAAQL;AACV,CAAC"}
@@ -9,14 +9,10 @@ type TriggerDetectionResourceOutput = {
9
9
  readonly query: string; /** Update the tracked cursor position (wired to composer input). */
10
10
  setCursorPosition(pos: number): void;
11
11
  };
12
- /** Tracks cursor position and derives the active trigger + query from composer text. */
13
- declare const TriggerDetectionResource: (props: {
12
+ declare const TriggerDetectionResource: import("@assistant-ui/tap").Resource<TriggerDetectionResourceOutput, [{
14
13
  text: string;
15
14
  triggerChar: string;
16
- }) => import("@assistant-ui/tap").ResourceElement<TriggerDetectionResourceOutput, {
17
- text: string;
18
- triggerChar: string;
19
- }>;
15
+ }]>;
20
16
  //#endregion
21
17
  export { DetectedTrigger, TriggerDetectionResource, TriggerDetectionResourceOutput };
22
18
  //# sourceMappingURL=triggerDetectionResource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggerDetectionResource.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/triggerDetectionResource.ts"],"mappings":";;KAKY,eAAA;EAAA,SACD,MAAA;EAAA,SACA,KAAK;AAAA;AAAA,KAGJ,8BAAA;EAAA,2DAED,OAAA,EAAS,eAAe;WAExB,KAAA,UAFA;EAIT,iBAAA,CAAkB,GAAA;AAAA;;cAIP,wBAAA,GAAwB,KAAA;;;kDAuBpC,8BAAA"}
1
+ {"version":3,"file":"triggerDetectionResource.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/triggerDetectionResource.ts"],"mappings":";;KAKY,eAAA;EAAA,SACD,MAAA;EAAA,SACA,KAAK;AAAA;AAAA,KAGJ,8BAAA;EAAA,2DAED,OAAA,EAAS,eAAe;WAExB,KAAA,UAFA;EAIT,iBAAA,CAAkB,GAAA;AAAA;AAAA,cA2BP,wBAAA,8BAAwB,QAAA,CAAA,8BAAA"}
@@ -1,23 +1,38 @@
1
1
  import { detectTrigger } from "./detectTrigger.js";
2
- import { useMemo, useState } from "@assistant-ui/tap/react-shim";
2
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
+ import { useState } from "@assistant-ui/tap/react-shim";
3
4
  import { resource } from "@assistant-ui/tap";
4
5
  //#region src/primitives/composer/trigger/triggerDetectionResource.ts
5
6
  /** Tracks cursor position and derives the active trigger + query from composer text. */
6
- const TriggerDetectionResource = resource(function TriggerDetectionResource({ text, triggerChar }) {
7
+ const useTriggerDetectionResource = (t0) => {
8
+ const $ = c(7);
9
+ const { text, triggerChar } = t0;
7
10
  const [cursorPosition, setCursorPosition] = useState(text.length);
8
- const trigger = useMemo(() => {
9
- return detectTrigger(text, triggerChar, Math.min(cursorPosition, text.length));
10
- }, [
11
- cursorPosition,
12
- text,
13
- triggerChar
14
- ]);
15
- return {
16
- trigger,
17
- query: trigger?.query ?? "",
18
- setCursorPosition
19
- };
20
- });
11
+ const pos = Math.min(cursorPosition, text.length);
12
+ let t1;
13
+ if ($[0] !== pos || $[1] !== text || $[2] !== triggerChar) {
14
+ t1 = detectTrigger(text, triggerChar, pos);
15
+ $[0] = pos;
16
+ $[1] = text;
17
+ $[2] = triggerChar;
18
+ $[3] = t1;
19
+ } else t1 = $[3];
20
+ const trigger = t1;
21
+ const query = trigger?.query ?? "";
22
+ let t2;
23
+ if ($[4] !== query || $[5] !== trigger) {
24
+ t2 = {
25
+ trigger,
26
+ query,
27
+ setCursorPosition
28
+ };
29
+ $[4] = query;
30
+ $[5] = trigger;
31
+ $[6] = t2;
32
+ } else t2 = $[6];
33
+ return t2;
34
+ };
35
+ const TriggerDetectionResource = resource(useTriggerDetectionResource);
21
36
  //#endregion
22
37
  export { TriggerDetectionResource };
23
38
 
@@ -1 +1 @@
1
- {"version":3,"file":"triggerDetectionResource.js","names":[],"sources":["../../../../src/primitives/composer/trigger/triggerDetectionResource.ts"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport { resource } from \"@assistant-ui/tap\";\nimport { detectTrigger } from \"./detectTrigger\";\n\n/** Detected trigger position within the composer text. */\nexport type DetectedTrigger = {\n readonly offset: number;\n readonly query: string;\n};\n\nexport type TriggerDetectionResourceOutput = {\n /** Detected trigger (or `null` when inactive). */\n readonly trigger: DetectedTrigger | null;\n /** Current query string (empty when no trigger active). */\n readonly query: string;\n /** Update the tracked cursor position (wired to composer input). */\n setCursorPosition(pos: number): void;\n};\n\n/** Tracks cursor position and derives the active trigger + query from composer text. */\nexport const TriggerDetectionResource = resource(\n function TriggerDetectionResource({\n text,\n triggerChar,\n }: {\n text: string;\n triggerChar: string;\n }): TriggerDetectionResourceOutput {\n const [cursorPosition, setCursorPosition] = useState(text.length);\n\n const trigger = useMemo(() => {\n const pos = Math.min(cursorPosition, text.length);\n return detectTrigger(text, triggerChar, pos);\n }, [cursorPosition, text, triggerChar]);\n\n const query = trigger?.query ?? \"\";\n\n return {\n trigger,\n query,\n setCursorPosition,\n };\n },\n);\n"],"mappings":";;;;;AAoBA,MAAa,2BAA2B,SACtC,SAAS,yBAAyB,EAChC,MACA,eAIiC;CACjC,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK,MAAM;CAEhE,MAAM,UAAU,cAAc;EAE5B,OAAO,cAAc,MAAM,aADf,KAAK,IAAI,gBAAgB,KAAK,MACA,CAAC;CAC7C,GAAG;EAAC;EAAgB;EAAM;CAAW,CAAC;CAItC,OAAO;EACL;EACA,OAJY,SAAS,SAAS;EAK9B;CACF;AACF,CACF"}
1
+ {"version":3,"file":"triggerDetectionResource.js","names":["useMemo","useState","resource","detectTrigger","DetectedTrigger","offset","query","TriggerDetectionResourceOutput","trigger","setCursorPosition","pos","useTriggerDetectionResource","t0","$","_c","text","triggerChar","cursorPosition","length","Math","min","t1","t2","TriggerDetectionResource"],"sources":["../../../../src/primitives/composer/trigger/triggerDetectionResource.ts"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport { resource } from \"@assistant-ui/tap\";\nimport { detectTrigger } from \"./detectTrigger\";\n\n/** Detected trigger position within the composer text. */\nexport type DetectedTrigger = {\n readonly offset: number;\n readonly query: string;\n};\n\nexport type TriggerDetectionResourceOutput = {\n /** Detected trigger (or `null` when inactive). */\n readonly trigger: DetectedTrigger | null;\n /** Current query string (empty when no trigger active). */\n readonly query: string;\n /** Update the tracked cursor position (wired to composer input). */\n setCursorPosition(pos: number): void;\n};\n\n/** Tracks cursor position and derives the active trigger + query from composer text. */\nconst useTriggerDetectionResource = ({\n text,\n triggerChar,\n}: {\n text: string;\n triggerChar: string;\n}): TriggerDetectionResourceOutput => {\n const [cursorPosition, setCursorPosition] = useState(text.length);\n\n const trigger = useMemo(() => {\n const pos = Math.min(cursorPosition, text.length);\n return detectTrigger(text, triggerChar, pos);\n }, [cursorPosition, text, triggerChar]);\n\n const query = trigger?.query ?? \"\";\n\n return {\n trigger,\n query,\n setCursorPosition,\n };\n};\n\nexport const TriggerDetectionResource = resource(useTriggerDetectionResource);\n"],"mappings":";;;;;;AAoBA,MAAMW,+BAA8BC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,MAAAC,gBAAAJ;CAOnC,MAAA,CAAAK,gBAAAR,qBAA4CR,SAASc,KAAIG,MAAO;CAG9D,MAAAR,MAAYS,KAAIC,IAAKH,gBAAgBF,KAAIG,MAAO;CAAE,IAAAG;CAAA,IAAAR,EAAA,OAAAH,OAAAG,EAAA,OAAAE,QAAAF,EAAA,OAAAG,aAAA;EAC3CK,KAAAlB,cAAcY,MAAMC,aAAaN,GAAG;EAACG,EAAA,KAAAH;EAAAG,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAF9C,MAAAL,UAEEa;CAGF,MAAAf,QAAcE,SAAOF,SAAP;CAAqB,IAAAgB;CAAA,IAAAT,EAAA,OAAAP,SAAAO,EAAA,OAAAL,SAAA;EAE5Bc,KAAA;GAAAd;GAAAF;GAAAG;EAIP;EAACI,EAAA,KAAAP;EAAAO,EAAA,KAAAL;EAAAK,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,OAJMS;AAIN;AAGH,MAAaC,2BAA2BrB,SAASS,2BAA2B"}
@@ -13,11 +13,7 @@ type TriggerKeyboardResourceOutput = {
13
13
  highlightIndex(index: number): void; /** Handle a key event; returns `true` if it was consumed. */
14
14
  handleKeyDown(e: TriggerPopoverKeyEvent): boolean;
15
15
  };
16
- /**
17
- * Owns keyboard-driven highlight state for the popover. Delegates selection,
18
- * category drill-in, back, and close to the callbacks supplied by the parent.
19
- */
20
- declare const TriggerKeyboardResource: (props: {
16
+ declare const TriggerKeyboardResource: import("@assistant-ui/tap").Resource<TriggerKeyboardResourceOutput, [{
21
17
  navigableList: readonly (Unstable_TriggerCategory | Unstable_TriggerItem)[];
22
18
  isSearchMode: boolean;
23
19
  activeCategoryId: string | null;
@@ -28,18 +24,7 @@ declare const TriggerKeyboardResource: (props: {
28
24
  selectCategory: (categoryId: string) => void;
29
25
  goBack: () => void;
30
26
  close: () => void;
31
- }) => import("@assistant-ui/tap").ResourceElement<TriggerKeyboardResourceOutput, {
32
- navigableList: readonly (Unstable_TriggerCategory | Unstable_TriggerItem)[];
33
- isSearchMode: boolean;
34
- activeCategoryId: string | null;
35
- query: string;
36
- popoverId: string;
37
- open: boolean;
38
- selectItem: (item: Unstable_TriggerItem) => void;
39
- selectCategory: (categoryId: string) => void;
40
- goBack: () => void;
41
- close: () => void;
42
- }>;
27
+ }]>;
43
28
  //#endregion
44
29
  export { TriggerKeyboardResource, TriggerKeyboardResourceOutput, TriggerPopoverKeyEvent };
45
30
  //# sourceMappingURL=triggerKeyboardResource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggerKeyboardResource.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/triggerKeyboardResource.ts"],"mappings":";;;;KAeY,sBAAA;EAAA,SACD,GAAA;EAAA,SACA,QAAA;EACT,cAAA;AAAA;AAAA,KAGU,6BAAA;EAJD,mFAMA,gBAAA,UALK;EAAA,SAOL,iBAAA,sBAJC;EAMV,cAAA,CAAe,KAAA;EAEf,aAAA,CAAc,CAAA,EAAG,sBAAsB;AAAA;;;;;cAO5B,uBAAA,GAAuB,KAAA;2BAaP,wBAAA,GAA2B,oBAAA;;;;;;eAMvC,IAAA,EAAM,oBAAA;mBACF,UAAA;;;;2BAPQ,wBAAA,GAA2B,oBAAA;;;;;;eAMvC,IAAA,EAAM,oBAAA;mBACF,UAAA"}
1
+ {"version":3,"file":"triggerKeyboardResource.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/triggerKeyboardResource.ts"],"mappings":";;;;KAeY,sBAAA;EAAA,SACD,GAAA;EAAA,SACA,QAAA;EACT,cAAA;AAAA;AAAA,KAGU,6BAAA;EAJD,mFAMA,gBAAA,UALK;EAAA,SAOL,iBAAA,sBAJC;EAMV,cAAA,CAAe,KAAA;EAEf,aAAA,CAAc,CAAA,EAAG,sBAAsB;AAAA;AAAA,cAkH5B,uBAAA,8BAAuB,QAAA,CAAA,6BAAA;2BA/FT,wBAAA,GAA2B,oBAAA;;;;;;eAMvC,IAAA,EAAM,oBAAA;mBACF,UAAA"}
@@ -1,3 +1,4 @@
1
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
1
2
  import { useEffect, useEffectEvent, useState } from "@assistant-ui/tap/react-shim";
2
3
  import { resource } from "@assistant-ui/tap";
3
4
  //#region src/primitives/composer/trigger/triggerKeyboardResource.ts
@@ -9,70 +10,127 @@ function isTriggerItem(x) {
9
10
  * Owns keyboard-driven highlight state for the popover. Delegates selection,
10
11
  * category drill-in, back, and close to the callbacks supplied by the parent.
11
12
  */
12
- const TriggerKeyboardResource = resource(function TriggerKeyboardResource({ navigableList, isSearchMode, activeCategoryId, query, popoverId, open, selectItem, selectCategory, goBack, close }) {
13
+ const useTriggerKeyboardResource = (t0) => {
14
+ const $ = c(25);
15
+ const { navigableList, isSearchMode, activeCategoryId, query, popoverId, open, selectItem, selectCategory, goBack, close } = t0;
13
16
  const [highlightedIndex, setHighlightedIndex] = useState(0);
14
- useEffect(() => {
15
- setHighlightedIndex(0);
16
- }, [navigableList]);
17
- useEffect(() => {
18
- setHighlightedIndex(0);
19
- }, [isSearchMode, activeCategoryId]);
20
- const highlightIndex = useEffectEvent((index) => {
21
- if (index < 0 || index >= navigableList.length) return;
22
- if (index === highlightedIndex) return;
23
- setHighlightedIndex(index);
24
- });
25
- const handleKeyDown = useEffectEvent((e) => {
26
- if (!open) return false;
27
- switch (e.key) {
28
- case "ArrowDown":
29
- e.preventDefault();
30
- setHighlightedIndex((prev) => {
31
- const len = navigableList.length;
32
- if (len === 0) return 0;
33
- return prev < len - 1 ? prev + 1 : 0;
34
- });
35
- return true;
36
- case "ArrowUp":
37
- e.preventDefault();
38
- setHighlightedIndex((prev) => {
39
- const len = navigableList.length;
40
- if (len === 0) return 0;
41
- return prev > 0 ? prev - 1 : len - 1;
42
- });
43
- return true;
44
- case "Enter":
45
- case "Tab": {
46
- if (e.shiftKey) return false;
47
- e.preventDefault();
48
- const item = navigableList[highlightedIndex];
49
- if (!item) return true;
50
- if (isTriggerItem(item)) selectItem(item);
51
- else selectCategory(item.id);
52
- return true;
53
- }
54
- case "Escape":
55
- e.preventDefault();
56
- close();
57
- return true;
58
- case "Backspace":
59
- if (activeCategoryId && query === "") {
17
+ let t1;
18
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
19
+ t1 = () => {
20
+ setHighlightedIndex(0);
21
+ };
22
+ $[0] = t1;
23
+ } else t1 = $[0];
24
+ let t2;
25
+ if ($[1] !== navigableList) {
26
+ t2 = [navigableList];
27
+ $[1] = navigableList;
28
+ $[2] = t2;
29
+ } else t2 = $[2];
30
+ useEffect(t1, t2);
31
+ let t3;
32
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
33
+ t3 = () => {
34
+ setHighlightedIndex(0);
35
+ };
36
+ $[3] = t3;
37
+ } else t3 = $[3];
38
+ let t4;
39
+ if ($[4] !== activeCategoryId || $[5] !== isSearchMode) {
40
+ t4 = [isSearchMode, activeCategoryId];
41
+ $[4] = activeCategoryId;
42
+ $[5] = isSearchMode;
43
+ $[6] = t4;
44
+ } else t4 = $[6];
45
+ useEffect(t3, t4);
46
+ let t5;
47
+ if ($[7] !== highlightedIndex || $[8] !== navigableList.length) {
48
+ t5 = (index) => {
49
+ if (index < 0 || index >= navigableList.length) return;
50
+ if (index === highlightedIndex) return;
51
+ setHighlightedIndex(index);
52
+ };
53
+ $[7] = highlightedIndex;
54
+ $[8] = navigableList.length;
55
+ $[9] = t5;
56
+ } else t5 = $[9];
57
+ const highlightIndex = useEffectEvent(t5);
58
+ let t6;
59
+ if ($[10] !== activeCategoryId || $[11] !== close || $[12] !== goBack || $[13] !== highlightedIndex || $[14] !== navigableList || $[15] !== open || $[16] !== query || $[17] !== selectCategory || $[18] !== selectItem) {
60
+ t6 = (e) => {
61
+ if (!open) return false;
62
+ switch (e.key) {
63
+ case "ArrowDown":
64
+ e.preventDefault();
65
+ setHighlightedIndex((prev_0) => {
66
+ const len_0 = navigableList.length;
67
+ if (len_0 === 0) return 0;
68
+ return prev_0 < len_0 - 1 ? prev_0 + 1 : 0;
69
+ });
70
+ return true;
71
+ case "ArrowUp":
72
+ e.preventDefault();
73
+ setHighlightedIndex((prev) => {
74
+ const len = navigableList.length;
75
+ if (len === 0) return 0;
76
+ return prev > 0 ? prev - 1 : len - 1;
77
+ });
78
+ return true;
79
+ case "Enter":
80
+ case "Tab": {
81
+ if (e.shiftKey) return false;
60
82
  e.preventDefault();
61
- goBack();
83
+ const item = navigableList[highlightedIndex];
84
+ if (!item) return true;
85
+ if (isTriggerItem(item)) selectItem(item);
86
+ else selectCategory(item.id);
62
87
  return true;
63
88
  }
64
- return false;
65
- default: return false;
66
- }
67
- });
89
+ case "Escape":
90
+ e.preventDefault();
91
+ close();
92
+ return true;
93
+ case "Backspace":
94
+ if (activeCategoryId && query === "") {
95
+ e.preventDefault();
96
+ goBack();
97
+ return true;
98
+ }
99
+ return false;
100
+ default: return false;
101
+ }
102
+ };
103
+ $[10] = activeCategoryId;
104
+ $[11] = close;
105
+ $[12] = goBack;
106
+ $[13] = highlightedIndex;
107
+ $[14] = navigableList;
108
+ $[15] = open;
109
+ $[16] = query;
110
+ $[17] = selectCategory;
111
+ $[18] = selectItem;
112
+ $[19] = t6;
113
+ } else t6 = $[19];
114
+ const handleKeyDown = useEffectEvent(t6);
68
115
  const highlightedEntry = navigableList[highlightedIndex];
69
- return {
70
- highlightedIndex,
71
- highlightedItemId: open && highlightedEntry ? `${popoverId}-option-${highlightedEntry.id}` : void 0,
72
- highlightIndex,
73
- handleKeyDown
74
- };
75
- });
116
+ const highlightedItemId = open && highlightedEntry ? `${popoverId}-option-${highlightedEntry.id}` : void 0;
117
+ let t7;
118
+ if ($[20] !== handleKeyDown || $[21] !== highlightIndex || $[22] !== highlightedIndex || $[23] !== highlightedItemId) {
119
+ t7 = {
120
+ highlightedIndex,
121
+ highlightedItemId,
122
+ highlightIndex,
123
+ handleKeyDown
124
+ };
125
+ $[20] = handleKeyDown;
126
+ $[21] = highlightIndex;
127
+ $[22] = highlightedIndex;
128
+ $[23] = highlightedItemId;
129
+ $[24] = t7;
130
+ } else t7 = $[24];
131
+ return t7;
132
+ };
133
+ const TriggerKeyboardResource = resource(useTriggerKeyboardResource);
76
134
  //#endregion
77
135
  export { TriggerKeyboardResource };
78
136
 
@@ -1 +1 @@
1
- {"version":3,"file":"triggerKeyboardResource.js","names":[],"sources":["../../../../src/primitives/composer/trigger/triggerKeyboardResource.ts"],"sourcesContent":["import { useEffect, useEffectEvent, useState } from \"react\";\nimport { resource } from \"@assistant-ui/tap\";\nimport type {\n Unstable_TriggerCategory,\n Unstable_TriggerItem,\n} from \"@assistant-ui/core\";\n\n/** Relies on `Unstable_TriggerCategory` never carrying a `type` field. */\nfunction isTriggerItem(\n x: Unstable_TriggerItem | Unstable_TriggerCategory,\n): x is Unstable_TriggerItem {\n return \"type\" in x;\n}\n\n/** Key event shape accepted by the keyboard handler. */\nexport type TriggerPopoverKeyEvent = {\n readonly key: string;\n readonly shiftKey: boolean;\n preventDefault(): void;\n};\n\nexport type TriggerKeyboardResourceOutput = {\n /** Index of the currently highlighted entry within the navigable list. */\n readonly highlightedIndex: number;\n /** ID of the currently highlighted item (for `aria-activedescendant`). */\n readonly highlightedItemId: string | undefined;\n /** Move the highlight to an entry index (e.g. from pointer hover). Out-of-range values are ignored. */\n highlightIndex(index: number): void;\n /** Handle a key event; returns `true` if it was consumed. */\n handleKeyDown(e: TriggerPopoverKeyEvent): boolean;\n};\n\n/**\n * Owns keyboard-driven highlight state for the popover. Delegates selection,\n * category drill-in, back, and close to the callbacks supplied by the parent.\n */\nexport const TriggerKeyboardResource = resource(\n function TriggerKeyboardResource({\n navigableList,\n isSearchMode,\n activeCategoryId,\n query,\n popoverId,\n open,\n selectItem,\n selectCategory,\n goBack,\n close,\n }: {\n navigableList: readonly (Unstable_TriggerCategory | Unstable_TriggerItem)[];\n isSearchMode: boolean;\n activeCategoryId: string | null;\n query: string;\n popoverId: string;\n open: boolean;\n selectItem: (item: Unstable_TriggerItem) => void;\n selectCategory: (categoryId: string) => void;\n goBack: () => void;\n close: () => void;\n }): TriggerKeyboardResourceOutput {\n const [highlightedIndex, setHighlightedIndex] = useState(0);\n\n useEffect(() => {\n setHighlightedIndex(0);\n }, [navigableList]);\n\n useEffect(() => {\n setHighlightedIndex(0);\n }, [isSearchMode, activeCategoryId]);\n\n const highlightIndex = useEffectEvent((index: number) => {\n if (index < 0 || index >= navigableList.length) return;\n if (index === highlightedIndex) return;\n setHighlightedIndex(index);\n });\n\n const handleKeyDown = useEffectEvent(\n (e: TriggerPopoverKeyEvent): boolean => {\n if (!open) return false;\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n setHighlightedIndex((prev) => {\n const len = navigableList.length;\n if (len === 0) return 0;\n return prev < len - 1 ? prev + 1 : 0;\n });\n return true;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n setHighlightedIndex((prev) => {\n const len = navigableList.length;\n if (len === 0) return 0;\n return prev > 0 ? prev - 1 : len - 1;\n });\n return true;\n }\n case \"Enter\":\n case \"Tab\": {\n if (e.shiftKey) return false;\n e.preventDefault();\n const item = navigableList[highlightedIndex];\n if (!item) return true;\n\n if (isTriggerItem(item)) {\n selectItem(item);\n } else {\n selectCategory(item.id);\n }\n return true;\n }\n case \"Escape\": {\n e.preventDefault();\n close();\n return true;\n }\n case \"Backspace\": {\n if (activeCategoryId && query === \"\") {\n e.preventDefault();\n goBack();\n return true;\n }\n return false;\n }\n default:\n return false;\n }\n },\n );\n\n const highlightedEntry = navigableList[highlightedIndex];\n const highlightedItemId =\n open && highlightedEntry\n ? `${popoverId}-option-${highlightedEntry.id}`\n : undefined;\n\n return {\n highlightedIndex,\n highlightedItemId,\n highlightIndex,\n handleKeyDown,\n };\n },\n);\n"],"mappings":";;;;AAQA,SAAS,cACP,GAC2B;CAC3B,OAAO,UAAU;AACnB;;;;;AAwBA,MAAa,0BAA0B,SACrC,SAAS,wBAAwB,EAC/B,eACA,cACA,kBACA,OACA,WACA,MACA,YACA,gBACA,QACA,SAYgC;CAChC,MAAM,CAAC,kBAAkB,uBAAuB,SAAS,CAAC;CAE1D,gBAAgB;EACd,oBAAoB,CAAC;CACvB,GAAG,CAAC,aAAa,CAAC;CAElB,gBAAgB;EACd,oBAAoB,CAAC;CACvB,GAAG,CAAC,cAAc,gBAAgB,CAAC;CAEnC,MAAM,iBAAiB,gBAAgB,UAAkB;EACvD,IAAI,QAAQ,KAAK,SAAS,cAAc,QAAQ;EAChD,IAAI,UAAU,kBAAkB;EAChC,oBAAoB,KAAK;CAC3B,CAAC;CAED,MAAM,gBAAgB,gBACnB,MAAuC;EACtC,IAAI,CAAC,MAAM,OAAO;EAElB,QAAQ,EAAE,KAAV;GACE,KAAK;IACH,EAAE,eAAe;IACjB,qBAAqB,SAAS;KAC5B,MAAM,MAAM,cAAc;KAC1B,IAAI,QAAQ,GAAG,OAAO;KACtB,OAAO,OAAO,MAAM,IAAI,OAAO,IAAI;IACrC,CAAC;IACD,OAAO;GAET,KAAK;IACH,EAAE,eAAe;IACjB,qBAAqB,SAAS;KAC5B,MAAM,MAAM,cAAc;KAC1B,IAAI,QAAQ,GAAG,OAAO;KACtB,OAAO,OAAO,IAAI,OAAO,IAAI,MAAM;IACrC,CAAC;IACD,OAAO;GAET,KAAK;GACL,KAAK,OAAO;IACV,IAAI,EAAE,UAAU,OAAO;IACvB,EAAE,eAAe;IACjB,MAAM,OAAO,cAAc;IAC3B,IAAI,CAAC,MAAM,OAAO;IAElB,IAAI,cAAc,IAAI,GACpB,WAAW,IAAI;SAEf,eAAe,KAAK,EAAE;IAExB,OAAO;GACT;GACA,KAAK;IACH,EAAE,eAAe;IACjB,MAAM;IACN,OAAO;GAET,KAAK;IACH,IAAI,oBAAoB,UAAU,IAAI;KACpC,EAAE,eAAe;KACjB,OAAO;KACP,OAAO;IACT;IACA,OAAO;GAET,SACE,OAAO;EACX;CACF,CACF;CAEA,MAAM,mBAAmB,cAAc;CAMvC,OAAO;EACL;EACA,mBANA,QAAQ,mBACJ,GAAG,UAAU,UAAU,iBAAiB,OACxC,KAAA;EAKJ;EACA;CACF;AACF,CACF"}
1
+ {"version":3,"file":"triggerKeyboardResource.js","names":["useEffect","useEffectEvent","useState","resource","Unstable_TriggerCategory","Unstable_TriggerItem","isTriggerItem","x","TriggerPopoverKeyEvent","key","shiftKey","preventDefault","TriggerKeyboardResourceOutput","highlightedIndex","highlightedItemId","highlightIndex","index","handleKeyDown","e","useTriggerKeyboardResource","t0","$","_c","navigableList","isSearchMode","activeCategoryId","query","popoverId","open","selectItem","selectCategory","goBack","close","setHighlightedIndex","t1","Symbol","for","t2","t3","t4","t5","length","t6","prev_0","len_0","len","prev","item","id","highlightedEntry","undefined","t7","TriggerKeyboardResource"],"sources":["../../../../src/primitives/composer/trigger/triggerKeyboardResource.ts"],"sourcesContent":["import { useEffect, useEffectEvent, useState } from \"react\";\nimport { resource } from \"@assistant-ui/tap\";\nimport type {\n Unstable_TriggerCategory,\n Unstable_TriggerItem,\n} from \"@assistant-ui/core\";\n\n/** Relies on `Unstable_TriggerCategory` never carrying a `type` field. */\nfunction isTriggerItem(\n x: Unstable_TriggerItem | Unstable_TriggerCategory,\n): x is Unstable_TriggerItem {\n return \"type\" in x;\n}\n\n/** Key event shape accepted by the keyboard handler. */\nexport type TriggerPopoverKeyEvent = {\n readonly key: string;\n readonly shiftKey: boolean;\n preventDefault(): void;\n};\n\nexport type TriggerKeyboardResourceOutput = {\n /** Index of the currently highlighted entry within the navigable list. */\n readonly highlightedIndex: number;\n /** ID of the currently highlighted item (for `aria-activedescendant`). */\n readonly highlightedItemId: string | undefined;\n /** Move the highlight to an entry index (e.g. from pointer hover). Out-of-range values are ignored. */\n highlightIndex(index: number): void;\n /** Handle a key event; returns `true` if it was consumed. */\n handleKeyDown(e: TriggerPopoverKeyEvent): boolean;\n};\n\n/**\n * Owns keyboard-driven highlight state for the popover. Delegates selection,\n * category drill-in, back, and close to the callbacks supplied by the parent.\n */\nconst useTriggerKeyboardResource = ({\n navigableList,\n isSearchMode,\n activeCategoryId,\n query,\n popoverId,\n open,\n selectItem,\n selectCategory,\n goBack,\n close,\n}: {\n navigableList: readonly (Unstable_TriggerCategory | Unstable_TriggerItem)[];\n isSearchMode: boolean;\n activeCategoryId: string | null;\n query: string;\n popoverId: string;\n open: boolean;\n selectItem: (item: Unstable_TriggerItem) => void;\n selectCategory: (categoryId: string) => void;\n goBack: () => void;\n close: () => void;\n}): TriggerKeyboardResourceOutput => {\n const [highlightedIndex, setHighlightedIndex] = useState(0);\n\n useEffect(() => {\n setHighlightedIndex(0);\n }, [navigableList]);\n\n useEffect(() => {\n setHighlightedIndex(0);\n }, [isSearchMode, activeCategoryId]);\n\n const highlightIndex = useEffectEvent((index: number) => {\n if (index < 0 || index >= navigableList.length) return;\n if (index === highlightedIndex) return;\n setHighlightedIndex(index);\n });\n\n const handleKeyDown = useEffectEvent((e: TriggerPopoverKeyEvent): boolean => {\n if (!open) return false;\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n setHighlightedIndex((prev) => {\n const len = navigableList.length;\n if (len === 0) return 0;\n return prev < len - 1 ? prev + 1 : 0;\n });\n return true;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n setHighlightedIndex((prev) => {\n const len = navigableList.length;\n if (len === 0) return 0;\n return prev > 0 ? prev - 1 : len - 1;\n });\n return true;\n }\n case \"Enter\":\n case \"Tab\": {\n if (e.shiftKey) return false;\n e.preventDefault();\n const item = navigableList[highlightedIndex];\n if (!item) return true;\n\n if (isTriggerItem(item)) {\n selectItem(item);\n } else {\n selectCategory(item.id);\n }\n return true;\n }\n case \"Escape\": {\n e.preventDefault();\n close();\n return true;\n }\n case \"Backspace\": {\n if (activeCategoryId && query === \"\") {\n e.preventDefault();\n goBack();\n return true;\n }\n return false;\n }\n default:\n return false;\n }\n });\n\n const highlightedEntry = navigableList[highlightedIndex];\n const highlightedItemId =\n open && highlightedEntry\n ? `${popoverId}-option-${highlightedEntry.id}`\n : undefined;\n\n return {\n highlightedIndex,\n highlightedItemId,\n highlightIndex,\n handleKeyDown,\n };\n};\n\nexport const TriggerKeyboardResource = resource(useTriggerKeyboardResource);\n"],"mappings":"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"}
@@ -10,19 +10,11 @@ type TriggerNavigationResourceOutput = {
10
10
  selectCategory(categoryId: string): void; /** Return to the top-level category list. */
11
11
  goBack(): void;
12
12
  };
13
- /**
14
- * Computes categories, items, search results, and navigation state from the
15
- * adapter + current query. Pure derivation — no side effects on the composer.
16
- */
17
- declare const TriggerNavigationResource: (props: {
13
+ declare const TriggerNavigationResource: import("@assistant-ui/tap").Resource<TriggerNavigationResourceOutput, [{
18
14
  adapter: Unstable_TriggerAdapter | undefined;
19
15
  query: string;
20
16
  open: boolean;
21
- }) => import("@assistant-ui/tap").ResourceElement<TriggerNavigationResourceOutput, {
22
- adapter: Unstable_TriggerAdapter | undefined;
23
- query: string;
24
- open: boolean;
25
- }>;
17
+ }]>;
26
18
  //#endregion
27
19
  export { TriggerNavigationResource, TriggerNavigationResourceOutput };
28
20
  //# sourceMappingURL=triggerNavigationResource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggerNavigationResource.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/triggerNavigationResource.ts"],"mappings":";;;KAgBY,+BAAA;iFAED,UAAA,WAAqB,wBAAA,IAFW;EAAA,SAIhC,KAAA,WAAgB,oBAAA,IAFK;EAAA,SAIrB,YAAA,WAKL;EAAA,SAHK,gBAAA,iBAIe;EAAA,SAFf,aAAA,YACL,wBAAA,GACA,oBAAA,KAVK;EAaT,cAAA,CAAe,UAAA,iBAXN;EAaT,MAAA;AAAA;;;;;cAOW,yBAAA,GAAyB,KAAA;WAMzB,uBAAA;;;;WAAA,uBAAA"}
1
+ {"version":3,"file":"triggerNavigationResource.d.ts","names":[],"sources":["../../../../src/primitives/composer/trigger/triggerNavigationResource.ts"],"mappings":";;;KAgBY,+BAAA;iFAED,UAAA,WAAqB,wBAAA,IAFW;EAAA,SAIhC,KAAA,WAAgB,oBAAA,IAFK;EAAA,SAIrB,YAAA,WAKL;EAAA,SAHK,gBAAA,iBAIe;EAAA,SAFf,aAAA,YACL,wBAAA,GACA,oBAAA,KAVK;EAaT,cAAA,CAAe,UAAA,iBAXN;EAaT,MAAA;AAAA;AAAA,cAoGW,yBAAA,8BAAyB,QAAA,CAAA,+BAAA;WAxF3B,uBAAuB"}