@assistant-ui/react 0.15.21 → 0.15.22

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 (610) hide show
  1. package/README.md +1 -1
  2. package/dist/assistant-transport.d.ts +24 -24
  3. package/dist/assistant-transport.d.ts.map +1 -1
  4. package/dist/assistant-transport.js.map +1 -1
  5. package/dist/augmentations.d.ts +28 -5
  6. package/dist/augmentations.d.ts.map +1 -1
  7. package/dist/cloud-renderer/CloudRendererHost.d.ts +13 -0
  8. package/dist/cloud-renderer/CloudRendererHost.d.ts.map +1 -0
  9. package/dist/cloud-renderer/CloudRendererHost.js +291 -0
  10. package/dist/cloud-renderer/CloudRendererHost.js.map +1 -0
  11. package/dist/context/ReadonlyStore.d.ts +1 -3
  12. package/dist/context/ReadonlyStore.d.ts.map +1 -1
  13. package/dist/context/index.d.ts +13 -13
  14. package/dist/context/index.d.ts.map +1 -0
  15. package/dist/context/providers/AttachmentByIndexProvider.d.ts +2 -2
  16. package/dist/context/providers/AttachmentByIndexProvider.d.ts.map +1 -0
  17. package/dist/context/providers/ChainOfThoughtByIndicesProvider.d.ts +2 -2
  18. package/dist/context/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -0
  19. package/dist/context/providers/ChainOfThoughtPartByIndexProvider.d.ts +2 -2
  20. package/dist/context/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -0
  21. package/dist/context/providers/MessageByIndexProvider.d.ts +2 -2
  22. package/dist/context/providers/MessageByIndexProvider.d.ts.map +1 -0
  23. package/dist/context/providers/MessageProvider.d.ts +2 -4
  24. package/dist/context/providers/MessageProvider.d.ts.map +1 -1
  25. package/dist/context/providers/PartByIndexProvider.d.ts +2 -2
  26. package/dist/context/providers/PartByIndexProvider.d.ts.map +1 -0
  27. package/dist/context/providers/SuggestionByIndexProvider.d.ts +2 -2
  28. package/dist/context/providers/SuggestionByIndexProvider.d.ts.map +1 -0
  29. package/dist/context/providers/TextMessagePartProvider.d.ts +2 -2
  30. package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -0
  31. package/dist/context/providers/ThreadListItemProvider.d.ts +2 -2
  32. package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -0
  33. package/dist/context/providers/ThreadViewportProvider.d.ts +3 -5
  34. package/dist/context/providers/ThreadViewportProvider.d.ts.map +1 -1
  35. package/dist/context/react/ThreadViewportContext.d.ts +17 -19
  36. package/dist/context/react/ThreadViewportContext.d.ts.map +1 -1
  37. package/dist/context/react/utils/createContextHook.d.ts +2 -4
  38. package/dist/context/react/utils/createContextHook.d.ts.map +1 -1
  39. package/dist/context/react/utils/createContextStoreHook.d.ts +15 -17
  40. package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
  41. package/dist/context/stores/ThreadViewport.d.ts +72 -74
  42. package/dist/context/stores/ThreadViewport.d.ts.map +1 -1
  43. package/dist/devtools/DevToolsHooks.d.ts +19 -20
  44. package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
  45. package/dist/hooks/useMessageQuote.d.ts +1 -3
  46. package/dist/hooks/useMessageQuote.d.ts.map +1 -1
  47. package/dist/hooks/useMessageTiming.d.ts +1 -3
  48. package/dist/hooks/useMessageTiming.d.ts.map +1 -1
  49. package/dist/hooks/useToolCallElapsed.d.ts +0 -2
  50. package/dist/hooks/useToolCallElapsed.d.ts.map +1 -1
  51. package/dist/hooks/useToolCallElapsed.js +1 -1
  52. package/dist/index.d.ts +126 -82
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +14 -13
  55. package/dist/internal.d.ts +8 -11
  56. package/dist/internal.d.ts.map +1 -1
  57. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts +24 -26
  58. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
  59. package/dist/legacy-runtime/AssistantRuntimeProvider.js +1 -1
  60. package/dist/legacy-runtime/RuntimeAdapter.d.ts +2 -2
  61. package/dist/legacy-runtime/RuntimeAdapter.d.ts.map +1 -0
  62. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.d.ts +2 -2
  63. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -0
  64. package/dist/legacy-runtime/runtime/AssistantRuntime.d.ts +3 -3
  65. package/dist/legacy-runtime/runtime/AssistantRuntime.d.ts.map +1 -0
  66. package/dist/legacy-runtime/runtime/AttachmentRuntime.d.ts +3 -3
  67. package/dist/legacy-runtime/runtime/AttachmentRuntime.d.ts.map +1 -0
  68. package/dist/legacy-runtime/runtime/ComposerRuntime.d.ts +4 -3
  69. package/dist/legacy-runtime/runtime/ComposerRuntime.d.ts.map +1 -0
  70. package/dist/legacy-runtime/runtime/RuntimeBindings.d.ts +3 -3
  71. package/dist/legacy-runtime/runtime/RuntimeBindings.d.ts.map +1 -0
  72. package/dist/legacy-runtime/runtime/RuntimePathTypes.d.ts +2 -2
  73. package/dist/legacy-runtime/runtime/RuntimePathTypes.d.ts.map +1 -0
  74. package/dist/legacy-runtime/runtime/ThreadListItemRuntime.d.ts +5 -3
  75. package/dist/legacy-runtime/runtime/ThreadListItemRuntime.d.ts.map +1 -0
  76. package/dist/legacy-runtime/runtime/ThreadRuntime.d.ts +4 -3
  77. package/dist/legacy-runtime/runtime/ThreadRuntime.d.ts.map +1 -0
  78. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.d.ts +2 -2
  79. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.d.ts.map +1 -0
  80. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.d.ts +2 -2
  81. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.d.ts.map +1 -0
  82. package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.d.ts +2 -2
  83. package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.d.ts.map +1 -0
  84. package/dist/legacy-runtime/runtime-cores/composer/DefaultEditComposerRuntimeCore.d.ts +2 -2
  85. package/dist/legacy-runtime/runtime-cores/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -0
  86. package/dist/legacy-runtime/runtime-cores/composer/DefaultThreadComposerRuntimeCore.d.ts +2 -2
  87. package/dist/legacy-runtime/runtime-cores/composer/DefaultThreadComposerRuntimeCore.d.ts.map +1 -0
  88. package/dist/legacy-runtime/runtime-cores/core/AssistantRuntimeCore.d.ts +2 -2
  89. package/dist/legacy-runtime/runtime-cores/core/AssistantRuntimeCore.d.ts.map +1 -0
  90. package/dist/legacy-runtime/runtime-cores/core/BaseAssistantRuntimeCore.d.ts +2 -2
  91. package/dist/legacy-runtime/runtime-cores/core/BaseAssistantRuntimeCore.d.ts.map +1 -0
  92. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.d.ts +2 -2
  93. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.d.ts.map +1 -0
  94. package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.d.ts +2 -2
  95. package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.d.ts.map +1 -0
  96. package/dist/legacy-runtime/runtime-cores/core/ThreadListRuntimeCore.d.ts +2 -2
  97. package/dist/legacy-runtime/runtime-cores/core/ThreadListRuntimeCore.d.ts.map +1 -0
  98. package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.d.ts +2 -2
  99. package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.d.ts.map +1 -0
  100. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.d.ts +2 -2
  101. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.d.ts.map +1 -0
  102. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreRuntimeCore.d.ts +2 -2
  103. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -0
  104. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadListRuntimeCore.d.ts +3 -2
  105. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -0
  106. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.d.ts +2 -2
  107. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -0
  108. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageConverter.d.ts +3 -2
  109. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageConverter.d.ts.map +1 -0
  110. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.d.ts +3 -3
  111. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.d.ts.map +1 -0
  112. package/dist/legacy-runtime/runtime-cores/external-store/auto-status.d.ts +2 -2
  113. package/dist/legacy-runtime/runtime-cores/external-store/auto-status.d.ts.map +1 -0
  114. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.d.ts +2 -2
  115. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.d.ts.map +1 -0
  116. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts +2 -2
  117. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts.map +1 -0
  118. package/dist/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.d.ts +2 -2
  119. package/dist/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.d.ts.map +1 -0
  120. package/dist/legacy-runtime/runtime-cores/local/ChatModelAdapter.d.ts +2 -2
  121. package/dist/legacy-runtime/runtime-cores/local/ChatModelAdapter.d.ts.map +1 -0
  122. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeCore.d.ts +2 -2
  123. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeCore.d.ts.map +1 -0
  124. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.d.ts +4 -3
  125. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.d.ts.map +1 -0
  126. package/dist/legacy-runtime/runtime-cores/local/LocalThreadListRuntimeCore.d.ts +3 -2
  127. package/dist/legacy-runtime/runtime-cores/local/LocalThreadListRuntimeCore.d.ts.map +1 -0
  128. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.d.ts +2 -2
  129. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.d.ts.map +1 -0
  130. package/dist/legacy-runtime/runtime-cores/local/shouldContinue.d.ts +2 -2
  131. package/dist/legacy-runtime/runtime-cores/local/shouldContinue.d.ts.map +1 -0
  132. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.d.ts +2 -2
  133. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.d.ts.map +1 -0
  134. package/dist/legacy-runtime/runtime-cores/remote-thread-list/BaseSubscribable.d.ts +2 -2
  135. package/dist/legacy-runtime/runtime-cores/remote-thread-list/BaseSubscribable.d.ts.map +1 -0
  136. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.d.ts +2 -2
  137. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -0
  138. package/dist/legacy-runtime/runtime-cores/remote-thread-list/OptimisticState.d.ts +2 -2
  139. package/dist/legacy-runtime/runtime-cores/remote-thread-list/OptimisticState.d.ts.map +1 -0
  140. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +2 -2
  141. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -0
  142. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +2 -2
  143. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -0
  144. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.d.ts +2 -2
  145. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.d.ts.map +1 -0
  146. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/in-memory.d.ts +2 -2
  147. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/in-memory.d.ts.map +1 -0
  148. package/dist/legacy-runtime/runtime-cores/remote-thread-list/types.d.ts +2 -2
  149. package/dist/legacy-runtime/runtime-cores/remote-thread-list/types.d.ts.map +1 -0
  150. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.d.ts +2 -2
  151. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -0
  152. package/dist/legacy-runtime/runtime-cores/utils/MessageRepository.d.ts +4 -3
  153. package/dist/legacy-runtime/runtime-cores/utils/MessageRepository.d.ts.map +1 -0
  154. package/dist/legacy-runtime/runtime-cores/utils/MessageRepository.js +1 -1
  155. package/dist/mcp-apps/McpAppRenderer.d.ts +49 -51
  156. package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -1
  157. package/dist/mcp-apps/McpAppRenderer.js +2 -2
  158. package/dist/mcp-apps/McpAppsRemoteHost.d.ts +1 -3
  159. package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -1
  160. package/dist/mcp-apps/app-frame.d.ts +2 -4
  161. package/dist/mcp-apps/app-frame.d.ts.map +1 -1
  162. package/dist/mcp-apps/bridge.d.ts +11 -13
  163. package/dist/mcp-apps/bridge.d.ts.map +1 -1
  164. package/dist/mcp-apps/index.d.ts +5 -5
  165. package/dist/mcp-apps/index.d.ts.map +1 -0
  166. package/dist/mcp-apps/types.d.ts +95 -97
  167. package/dist/mcp-apps/types.d.ts.map +1 -1
  168. package/dist/mcp-apps/utils.d.ts +2 -3
  169. package/dist/mcp-apps/utils.d.ts.map +1 -1
  170. package/dist/model-context/frame/useAssistantFrameHost.d.ts +8 -8
  171. package/dist/model-context/frame/useAssistantFrameHost.d.ts.map +1 -1
  172. package/dist/model-context/frame/useAssistantFrameHost.js +1 -1
  173. package/dist/model-context/makeAssistantVisible.d.ts +4 -6
  174. package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
  175. package/dist/model-context/makeAssistantVisible.js +2 -2
  176. package/dist/primitives/actionBar/ActionBarCopy.d.ts +13 -14
  177. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  178. package/dist/primitives/actionBar/ActionBarCopy.js +1 -1
  179. package/dist/primitives/actionBar/ActionBarEdit.d.ts +10 -11
  180. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  181. package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts +11 -12
  182. package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -1
  183. package/dist/primitives/actionBar/ActionBarExportMarkdown.js +4 -1
  184. package/dist/primitives/actionBar/ActionBarExportMarkdown.js.map +1 -1
  185. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +6 -7
  186. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  187. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +11 -9
  188. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  189. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +6 -7
  190. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  191. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +11 -9
  192. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  193. package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts +1 -3
  194. package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts.map +1 -1
  195. package/dist/primitives/actionBar/ActionBarReload.d.ts +10 -11
  196. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  197. package/dist/primitives/actionBar/ActionBarRoot.d.ts +49 -50
  198. package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
  199. package/dist/primitives/actionBar/ActionBarSpeak.d.ts +6 -7
  200. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
  201. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +6 -7
  202. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  203. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts +8 -10
  204. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
  205. package/dist/primitives/actionBar.d.ts +9 -14
  206. package/dist/primitives/actionBar.d.ts.map +1 -1
  207. package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts +10 -12
  208. package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts.map +1 -1
  209. package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts +7 -9
  210. package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts.map +1 -1
  211. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts +3 -5
  212. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -1
  213. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts +7 -9
  214. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts.map +1 -1
  215. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts +7 -9
  216. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts.map +1 -1
  217. package/dist/primitives/actionBarMore/scope.d.ts +4 -6
  218. package/dist/primitives/actionBarMore/scope.d.ts.map +1 -1
  219. package/dist/primitives/actionBarMore.d.ts +5 -10
  220. package/dist/primitives/actionBarMore.d.ts.map +1 -1
  221. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +7 -9
  222. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
  223. package/dist/primitives/assistantModal/AssistantModalContent.d.ts +12 -14
  224. package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
  225. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +5 -7
  226. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
  227. package/dist/primitives/assistantModal/AssistantModalRoot.js +1 -1
  228. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +7 -9
  229. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
  230. package/dist/primitives/assistantModal/popoverRenderPrimitives.d.ts +7 -9
  231. package/dist/primitives/assistantModal/popoverRenderPrimitives.d.ts.map +1 -1
  232. package/dist/primitives/assistantModal/scope.d.ts +4 -6
  233. package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
  234. package/dist/primitives/assistantModal.d.ts +4 -9
  235. package/dist/primitives/assistantModal.d.ts.map +1 -1
  236. package/dist/primitives/attachment/AttachmentName.d.ts +2 -4
  237. package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -1
  238. package/dist/primitives/attachment/AttachmentRemove.d.ts +6 -7
  239. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
  240. package/dist/primitives/attachment/AttachmentRemove.js +1 -1
  241. package/dist/primitives/attachment/AttachmentRoot.d.ts +10 -11
  242. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
  243. package/dist/primitives/attachment/AttachmentThumb.d.ts +6 -7
  244. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  245. package/dist/primitives/attachment/AttachmentThumb.js +1 -1
  246. package/dist/primitives/attachment.d.ts +4 -9
  247. package/dist/primitives/attachment.d.ts.map +1 -1
  248. package/dist/primitives/branchPicker/BranchPickerCount.d.ts +6 -8
  249. package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
  250. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +10 -11
  251. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  252. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +2 -4
  253. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
  254. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +10 -11
  255. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  256. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +18 -20
  257. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  258. package/dist/primitives/branchPicker/BranchPickerRoot.js +1 -1
  259. package/dist/primitives/branchPicker.d.ts +5 -10
  260. package/dist/primitives/branchPicker.d.ts.map +1 -1
  261. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +10 -11
  262. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
  263. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js +1 -1
  264. package/dist/primitives/chainOfThought/ChainOfThoughtParts.d.ts +2 -2
  265. package/dist/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -0
  266. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +6 -7
  267. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
  268. package/dist/primitives/chainOfThought.d.ts +3 -8
  269. package/dist/primitives/chainOfThought.d.ts.map +1 -1
  270. package/dist/primitives/composer/ComposerAddAttachment.d.ts +11 -12
  271. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  272. package/dist/primitives/composer/ComposerAddAttachment.js +1 -1
  273. package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts +10 -11
  274. package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts.map +1 -1
  275. package/dist/primitives/composer/ComposerAttachmentDropzone.js +9 -7
  276. package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
  277. package/dist/primitives/composer/ComposerAttachments.d.ts +2 -2
  278. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -0
  279. package/dist/primitives/composer/ComposerCancel.d.ts +10 -11
  280. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  281. package/dist/primitives/composer/ComposerCompactContext.d.ts +1 -3
  282. package/dist/primitives/composer/ComposerCompactContext.d.ts.map +1 -1
  283. package/dist/primitives/composer/ComposerDictate.d.ts +6 -7
  284. package/dist/primitives/composer/ComposerDictate.d.ts.map +1 -1
  285. package/dist/primitives/composer/ComposerDictationTranscript.d.ts +5 -7
  286. package/dist/primitives/composer/ComposerDictationTranscript.d.ts.map +1 -1
  287. package/dist/primitives/composer/ComposerDictationTranscript.js +1 -1
  288. package/dist/primitives/composer/ComposerIf.d.ts +3 -2
  289. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -0
  290. package/dist/primitives/composer/ComposerInput.d.ts +72 -74
  291. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  292. package/dist/primitives/composer/ComposerInput.js +3 -3
  293. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  294. package/dist/primitives/composer/ComposerInputPluginContext.d.ts +22 -24
  295. package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -1
  296. package/dist/primitives/composer/ComposerQueue.d.ts +2 -2
  297. package/dist/primitives/composer/ComposerQueue.d.ts.map +1 -0
  298. package/dist/primitives/composer/ComposerQuote.d.ts +13 -15
  299. package/dist/primitives/composer/ComposerQuote.d.ts.map +1 -1
  300. package/dist/primitives/composer/ComposerQuote.js +1 -1
  301. package/dist/primitives/composer/ComposerRoot.d.ts +26 -28
  302. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  303. package/dist/primitives/composer/ComposerRoot.js +1 -1
  304. package/dist/primitives/composer/ComposerSend.d.ts +9 -11
  305. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  306. package/dist/primitives/composer/ComposerStopDictation.d.ts +6 -7
  307. package/dist/primitives/composer/ComposerStopDictation.d.ts.map +1 -1
  308. package/dist/primitives/composer/ComposerStopDictation.js +1 -1
  309. package/dist/primitives/composer/trigger/TriggerPopover.d.ts +27 -29
  310. package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -1
  311. package/dist/primitives/composer/trigger/TriggerPopover.js +2 -2
  312. package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts +10 -12
  313. package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts.map +1 -1
  314. package/dist/primitives/composer/trigger/TriggerPopoverAction.js +1 -1
  315. package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts +5 -7
  316. package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts.map +1 -1
  317. package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts +16 -18
  318. package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -1
  319. package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts +8 -10
  320. package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts.map +1 -1
  321. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js +1 -1
  322. package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts +18 -20
  323. package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -1
  324. package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +41 -43
  325. package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -1
  326. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +27 -28
  327. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -1
  328. package/dist/primitives/composer/trigger/detectTrigger.d.ts +3 -5
  329. package/dist/primitives/composer/trigger/detectTrigger.d.ts.map +1 -1
  330. package/dist/primitives/composer/trigger/index.d.ts +15 -18
  331. package/dist/primitives/composer/trigger/index.d.ts.map +1 -1
  332. package/dist/primitives/composer/trigger/matchesTriggerItemQuery.d.ts +1 -3
  333. package/dist/primitives/composer/trigger/matchesTriggerItemQuery.d.ts.map +1 -1
  334. package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +10 -12
  335. package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -1
  336. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts +22 -24
  337. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -1
  338. package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts +18 -20
  339. package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -1
  340. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts +23 -25
  341. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -1
  342. package/dist/primitives/composer/useComposerInputState.d.ts +4 -6
  343. package/dist/primitives/composer/useComposerInputState.d.ts.map +1 -1
  344. package/dist/primitives/composer.d.ts +31 -25
  345. package/dist/primitives/composer.d.ts.map +1 -1
  346. package/dist/primitives/dropdownMenuRenderPrimitives.d.ts +9 -11
  347. package/dist/primitives/dropdownMenuRenderPrimitives.d.ts.map +1 -1
  348. package/dist/primitives/error/ErrorMessage.d.ts +5 -7
  349. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
  350. package/dist/primitives/error/ErrorRoot.d.ts +5 -7
  351. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
  352. package/dist/primitives/error.d.ts +2 -7
  353. package/dist/primitives/error.d.ts.map +1 -1
  354. package/dist/primitives/message/MessageAttachments.d.ts +2 -2
  355. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -0
  356. package/dist/primitives/message/MessageError.d.ts +1 -3
  357. package/dist/primitives/message/MessageError.d.ts.map +1 -1
  358. package/dist/primitives/message/MessageIf.d.ts +15 -16
  359. package/dist/primitives/message/MessageIf.d.ts.map +1 -1
  360. package/dist/primitives/message/MessageParts.d.ts +4 -6
  361. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  362. package/dist/primitives/message/MessagePartsGrouped.d.ts +132 -133
  363. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  364. package/dist/primitives/message/MessagePartsGrouped.js +103 -71
  365. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  366. package/dist/primitives/message/MessageRoot.d.ts +5 -7
  367. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  368. package/dist/primitives/message/MessageRoot.js +6 -2
  369. package/dist/primitives/message/MessageRoot.js.map +1 -1
  370. package/dist/primitives/message.d.ts +12 -12
  371. package/dist/primitives/message.d.ts.map +1 -1
  372. package/dist/primitives/messagePart/MessagePartImage.d.ts +9 -11
  373. package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
  374. package/dist/primitives/messagePart/MessagePartInProgress.d.ts +2 -2
  375. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -0
  376. package/dist/primitives/messagePart/MessagePartText.d.ts +35 -37
  377. package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
  378. package/dist/primitives/messagePart/useMessagePartData.d.ts +1 -3
  379. package/dist/primitives/messagePart/useMessagePartData.d.ts.map +1 -1
  380. package/dist/primitives/messagePart/useMessagePartFile.d.ts +2 -4
  381. package/dist/primitives/messagePart/useMessagePartFile.d.ts.map +1 -1
  382. package/dist/primitives/messagePart/useMessagePartImage.d.ts +2 -4
  383. package/dist/primitives/messagePart/useMessagePartImage.d.ts.map +1 -1
  384. package/dist/primitives/messagePart/useMessagePartReasoning.d.ts +2 -4
  385. package/dist/primitives/messagePart/useMessagePartReasoning.d.ts.map +1 -1
  386. package/dist/primitives/messagePart/useMessagePartSource.d.ts +19 -21
  387. package/dist/primitives/messagePart/useMessagePartSource.d.ts.map +1 -1
  388. package/dist/primitives/messagePart/useMessagePartText.d.ts +3 -5
  389. package/dist/primitives/messagePart/useMessagePartText.d.ts.map +1 -1
  390. package/dist/primitives/messagePart.d.ts +4 -9
  391. package/dist/primitives/messagePart.d.ts.map +1 -1
  392. package/dist/primitives/queueItem/QueueItemRemove.d.ts +6 -7
  393. package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
  394. package/dist/primitives/queueItem/QueueItemRemove.js +1 -1
  395. package/dist/primitives/queueItem/QueueItemSteer.d.ts +6 -7
  396. package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
  397. package/dist/primitives/queueItem/QueueItemSteer.js +1 -1
  398. package/dist/primitives/queueItem/QueueItemText.d.ts +5 -7
  399. package/dist/primitives/queueItem/QueueItemText.d.ts.map +1 -1
  400. package/dist/primitives/queueItem/QueueItemText.js +1 -1
  401. package/dist/primitives/queueItem.d.ts +3 -8
  402. package/dist/primitives/queueItem.d.ts.map +1 -1
  403. package/dist/primitives/reasoning/useScrollLock.d.ts +1 -3
  404. package/dist/primitives/reasoning/useScrollLock.d.ts.map +1 -1
  405. package/dist/primitives/reasoning/useScrollLock.js +14 -15
  406. package/dist/primitives/reasoning/useScrollLock.js.map +1 -1
  407. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts +5 -7
  408. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts.map +1 -1
  409. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js +1 -1
  410. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts +12 -13
  411. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts.map +1 -1
  412. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +81 -42
  413. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -1
  414. package/dist/primitives/selectionToolbar.d.ts +2 -7
  415. package/dist/primitives/selectionToolbar.d.ts.map +1 -1
  416. package/dist/primitives/suggestion/SuggestionDescription.d.ts +5 -7
  417. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
  418. package/dist/primitives/suggestion/SuggestionDescription.js +1 -1
  419. package/dist/primitives/suggestion/SuggestionTitle.d.ts +5 -7
  420. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
  421. package/dist/primitives/suggestion/SuggestionTitle.js +1 -1
  422. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +35 -36
  423. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  424. package/dist/primitives/suggestion.d.ts +3 -8
  425. package/dist/primitives/suggestion.d.ts.map +1 -1
  426. package/dist/primitives/thread/ThreadEmpty.d.ts +2 -4
  427. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
  428. package/dist/primitives/thread/ThreadIf.d.ts +7 -8
  429. package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
  430. package/dist/primitives/thread/ThreadMessages.d.ts +2 -2
  431. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -0
  432. package/dist/primitives/thread/ThreadRoot.d.ts +9 -11
  433. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  434. package/dist/primitives/thread/ThreadRoot.js +15 -8
  435. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  436. package/dist/primitives/thread/ThreadRootElementContext.d.ts +4 -0
  437. package/dist/primitives/thread/ThreadRootElementContext.d.ts.map +1 -0
  438. package/dist/primitives/thread/ThreadRootElementContext.js +11 -0
  439. package/dist/primitives/thread/ThreadRootElementContext.js.map +1 -0
  440. package/dist/primitives/thread/ThreadScrollToBottom.d.ts +11 -13
  441. package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
  442. package/dist/primitives/thread/ThreadSuggestion.d.ts +47 -48
  443. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  444. package/dist/primitives/thread/ThreadSuggestions.d.ts +2 -2
  445. package/dist/primitives/thread/ThreadSuggestions.d.ts.map +1 -0
  446. package/dist/primitives/thread/ThreadViewport.d.ts +88 -90
  447. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  448. package/dist/primitives/thread/ThreadViewport.js +1 -1
  449. package/dist/primitives/thread/ThreadViewportFooter.d.ts +5 -7
  450. package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -1
  451. package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts +6 -8
  452. package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts.map +1 -1
  453. package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts +2 -4
  454. package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts.map +1 -1
  455. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts +16 -18
  456. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts.map +1 -1
  457. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.js +55 -6
  458. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.js.map +1 -1
  459. package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts +10 -11
  460. package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts.map +1 -1
  461. package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts +0 -2
  462. package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts.map +1 -1
  463. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts +0 -2
  464. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts.map +1 -1
  465. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts +29 -31
  466. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  467. package/dist/primitives/thread/useThreadViewportAutoScroll.js +16 -1
  468. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  469. package/dist/primitives/thread.d.ts +12 -15
  470. package/dist/primitives/thread.d.ts.map +1 -1
  471. package/dist/primitives/threadList/ThreadListItems.d.ts +2 -2
  472. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -0
  473. package/dist/primitives/threadList/ThreadListLoadMore.d.ts +6 -7
  474. package/dist/primitives/threadList/ThreadListLoadMore.d.ts.map +1 -1
  475. package/dist/primitives/threadList/ThreadListNew.d.ts +5 -7
  476. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  477. package/dist/primitives/threadList/ThreadListNew.js +1 -1
  478. package/dist/primitives/threadList/ThreadListRoot.d.ts +6 -7
  479. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
  480. package/dist/primitives/threadList.d.ts +5 -9
  481. package/dist/primitives/threadList.d.ts.map +1 -1
  482. package/dist/primitives/threadListFocusGroup.d.ts +14 -16
  483. package/dist/primitives/threadListFocusGroup.d.ts.map +1 -1
  484. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +6 -7
  485. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  486. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +6 -7
  487. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  488. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +6 -7
  489. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  490. package/dist/primitives/threadListItem/ThreadListItemRoot.js +1 -1
  491. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +2 -2
  492. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
  493. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +6 -7
  494. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  495. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +6 -7
  496. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  497. package/dist/primitives/threadListItem.d.ts +6 -11
  498. package/dist/primitives/threadListItem.d.ts.map +1 -1
  499. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +10 -12
  500. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -1
  501. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +7 -9
  502. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -1
  503. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +11 -13
  504. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -1
  505. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +7 -9
  506. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -1
  507. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +7 -9
  508. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -1
  509. package/dist/primitives/threadListItemMore/scope.d.ts +4 -6
  510. package/dist/primitives/threadListItemMore/scope.d.ts.map +1 -1
  511. package/dist/primitives/threadListItemMore.d.ts +5 -10
  512. package/dist/primitives/threadListItemMore.d.ts.map +1 -1
  513. package/dist/sandbox-host/SandboxHost.d.ts +24 -26
  514. package/dist/sandbox-host/SandboxHost.d.ts.map +1 -1
  515. package/dist/unstable/useComposerInput.d.ts +32 -34
  516. package/dist/unstable/useComposerInput.d.ts.map +1 -1
  517. package/dist/unstable/useComposerInput.js +1 -1
  518. package/dist/unstable/useComposerInputHistory.d.ts +3 -5
  519. package/dist/unstable/useComposerInputHistory.d.ts.map +1 -1
  520. package/dist/unstable/useComposerInputHistory.js +2 -2
  521. package/dist/unstable/useLiveCompletionAdapter.d.ts +18 -20
  522. package/dist/unstable/useLiveCompletionAdapter.d.ts.map +1 -1
  523. package/dist/unstable/useMentionAdapter.d.ts +57 -59
  524. package/dist/unstable/useMentionAdapter.d.ts.map +1 -1
  525. package/dist/unstable/useMentionAdapter.js +1 -1
  526. package/dist/unstable/useMessageStallDetection.d.ts +10 -12
  527. package/dist/unstable/useMessageStallDetection.d.ts.map +1 -1
  528. package/dist/unstable/useMessageStallDetection.js +1 -1
  529. package/dist/unstable/useModelContextSnapshot.d.ts +13 -15
  530. package/dist/unstable/useModelContextSnapshot.d.ts.map +1 -1
  531. package/dist/unstable/useSlashCommandAdapter.d.ts +20 -22
  532. package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
  533. package/dist/unstable/webmcp/WebMcpRegistrationResource.d.ts +7 -9
  534. package/dist/unstable/webmcp/WebMcpRegistrationResource.d.ts.map +1 -1
  535. package/dist/unstable/webmcp/convertTools.d.ts +5 -7
  536. package/dist/unstable/webmcp/convertTools.d.ts.map +1 -1
  537. package/dist/unstable/webmcp/convertTools.js +2 -2
  538. package/dist/unstable/webmcp/convertTools.js.map +1 -1
  539. package/dist/unstable/webmcp/useWebMcpProvider.d.ts +4 -6
  540. package/dist/unstable/webmcp/useWebMcpProvider.d.ts.map +1 -1
  541. package/dist/unstable/webmcp/useWebMcpProvider.js +1 -1
  542. package/dist/unstable/webmcp/webmcp-host.d.ts +23 -25
  543. package/dist/unstable/webmcp/webmcp-host.d.ts.map +1 -1
  544. package/dist/utils/Primitive.d.ts +91 -92
  545. package/dist/utils/Primitive.d.ts.map +1 -1
  546. package/dist/utils/RequireAtLeastOne.d.ts +3 -3
  547. package/dist/utils/RequireAtLeastOne.d.ts.map +1 -1
  548. package/dist/utils/createActionButton.d.ts +5 -6
  549. package/dist/utils/createActionButton.d.ts.map +1 -1
  550. package/dist/utils/getSelectionMessageId.d.ts +1 -3
  551. package/dist/utils/getSelectionMessageId.d.ts.map +1 -1
  552. package/dist/utils/getSelectionMessageId.js +2 -1
  553. package/dist/utils/getSelectionMessageId.js.map +1 -1
  554. package/dist/utils/hooks/useManagedRef.d.ts +0 -2
  555. package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
  556. package/dist/utils/hooks/useMediaQuery.d.ts +0 -2
  557. package/dist/utils/hooks/useMediaQuery.d.ts.map +1 -1
  558. package/dist/utils/hooks/useOnResizeContent.d.ts +0 -2
  559. package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -1
  560. package/dist/utils/hooks/useOnScrollToBottom.d.ts +1 -3
  561. package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -1
  562. package/dist/utils/hooks/useSizeHandle.d.ts +1 -3
  563. package/dist/utils/hooks/useSizeHandle.d.ts.map +1 -1
  564. package/dist/utils/smooth/SmoothContext.d.ts +105 -107
  565. package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
  566. package/dist/utils/smooth/SmoothContext.js +1 -1
  567. package/dist/utils/smooth/useSmooth.d.ts +26 -28
  568. package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
  569. package/dist/utils/smooth/useSmooth.js +1 -1
  570. package/package.json +8 -8
  571. package/src/assistant-transport.ts +5 -4
  572. package/src/cloud-renderer/CloudRendererHost.test.tsx +362 -0
  573. package/src/cloud-renderer/CloudRendererHost.tsx +249 -0
  574. package/src/index.ts +29 -1
  575. package/src/primitives/actionBar/ActionBarExportMarkdown.test.tsx +30 -0
  576. package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +4 -0
  577. package/src/primitives/actionBar/ActionBarFeedback.test.tsx +87 -0
  578. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +1 -0
  579. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +1 -0
  580. package/src/primitives/composer/ComposerAttachmentDropzone.test.tsx +54 -0
  581. package/src/primitives/composer/ComposerAttachmentDropzone.tsx +12 -6
  582. package/src/primitives/composer/ComposerInput.test.tsx +18 -0
  583. package/src/primitives/composer/ComposerInput.tsx +8 -2
  584. package/src/primitives/message/MessagePartsGrouped.test.tsx +151 -4
  585. package/src/primitives/message/MessagePartsGrouped.tool-interaction.test.tsx +97 -0
  586. package/src/primitives/message/MessagePartsGrouped.tsx +14 -5
  587. package/src/primitives/message/MessageRoot.test.tsx +108 -0
  588. package/src/primitives/message/MessageRoot.tsx +5 -1
  589. package/src/primitives/reasoning/useScrollLock.test.tsx +47 -0
  590. package/src/primitives/reasoning/useScrollLock.ts +15 -17
  591. package/src/primitives/selectionToolbar/SelectionToolbarRoot.test.tsx +228 -14
  592. package/src/primitives/selectionToolbar/SelectionToolbarRoot.tsx +60 -12
  593. package/src/primitives/thread/ThreadRoot.tsx +10 -1
  594. package/src/primitives/thread/ThreadRootElementContext.ts +10 -0
  595. package/src/primitives/thread/topAnchor/mountTopAnchorReserve.test.ts +196 -0
  596. package/src/primitives/thread/topAnchor/mountTopAnchorReserve.ts +78 -5
  597. package/src/primitives/thread/useThreadViewportAutoScroll.test.tsx +222 -0
  598. package/src/primitives/thread/useThreadViewportAutoScroll.ts +37 -2
  599. package/src/tests/augmentations.test.ts +7 -0
  600. package/src/unstable/webmcp/convertTools.test.ts +23 -3
  601. package/src/unstable/webmcp/convertTools.ts +7 -11
  602. package/src/utils/getSelectionMessageId.test.ts +28 -0
  603. package/src/utils/getSelectionMessageId.ts +7 -1
  604. package/dist/tests/remote-thread-list-test-helpers.d.ts +0 -5
  605. package/dist/tests/remote-thread-list-test-helpers.d.ts.map +0 -1
  606. package/dist/tests/remote-thread-list-test-helpers.js +0 -29
  607. package/dist/tests/remote-thread-list-test-helpers.js.map +0 -1
  608. package/dist/tests/setup.d.ts +0 -1
  609. package/dist/tests/setup.js +0 -6
  610. package/dist/tests/setup.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"convertTools.js","names":["ToolResponse","toJSONSchema","Tool","ToolModelContentPart","generateId","WebMcpCallToolResult","WebMcpContent","WebMcpToolDescriptor","defaultWebMcpFilter","_name","tool","type","undefined","execute","disabled","toWebMcpInputSchema","parameters","properties","textContent","text","errorResult","message","isError","content","toText","value","toString","JSON","stringify","String","primitiveContent","mapModelContentPart","part","mediaType","startsWith","data","mimeType","toMcpContent","result","options","toolCallId","args","Record","Promise","response","toResponse","modelContent","map","toModelOutput","parts","input","output","e","console","warn","StandardSchemaLike","version","validate","issues","isStandardSchema","schema","TOOL_ABORTED","Symbol","isThenable","T","PromiseLike","then","raceWithAbort","abortSignal","AbortSignal","onAbort","abortPromise","resolve","aborted","addEventListener","once","race","removeEventListener","combineAbortSignals","callerSignal","lifecycleSignal","signal","cleanup","controller","AbortController","teardown","length","pop","abort","reason","listen","push","toWebMcpTool","name","getTool","description","inputSchema","rawArgs","context","combined","executeFn","validation","experimental_onSchemaValidationError","Error","human","reject"],"sources":["../../../src/unstable/webmcp/convertTools.ts"],"sourcesContent":["import {\n ToolResponse,\n toJSONSchema,\n type Tool,\n type ToolModelContentPart,\n} from \"assistant-stream\";\nimport { generateId } from \"@assistant-ui/core/internal\";\nimport type {\n WebMcpCallToolResult,\n WebMcpContent,\n WebMcpToolDescriptor,\n} from \"./webmcp-host\";\n\n/**\n * The predicate the WebMCP provider uses when no `filter` is passed: an enabled\n * frontend tool with a client-side `execute`. A tool authored without a `type`\n * is included, because `execute` is what distinguishes the deprecated\n * type-less form from a backend or human tool. A `filter` replaces this, so\n * pass it through to narrow the default set rather than widen it.\n */\nexport const defaultWebMcpFilter = (\n _name: string,\n tool: Tool<any, any>,\n): boolean =>\n (tool.type === \"frontend\" || tool.type === undefined) &&\n !!tool.execute &&\n !tool.disabled;\n\nexport const toWebMcpInputSchema = (tool: Tool<any, any>): unknown =>\n tool.parameters\n ? toJSONSchema(tool.parameters)\n : { type: \"object\", properties: {} };\n\nconst textContent = (text: string): WebMcpContent => ({ type: \"text\", text });\n\nconst errorResult = (message: string): WebMcpCallToolResult => ({\n isError: true,\n content: [textContent(message)],\n});\n\n// bigint throws in JSON.stringify and symbol serializes to undefined, but both\n// have a faithful string form. A value that cannot be serialized at all still\n// throws through to the error result.\nconst toText = (value: unknown): string => {\n if (typeof value === \"string\") return value;\n if (typeof value === \"bigint\" || typeof value === \"symbol\") {\n return value.toString();\n }\n return JSON.stringify(value) ?? String(value);\n};\n\nconst primitiveContent = (value: unknown): WebMcpContent[] => [\n textContent(toText(value)),\n];\n\nconst mapModelContentPart = (part: ToolModelContentPart): WebMcpContent => {\n if (part.type === \"text\") {\n return textContent(part.text ?? \"\");\n }\n if (part.type === \"file\") {\n if (\n typeof part.mediaType === \"string\" &&\n part.mediaType.startsWith(\"image/\")\n ) {\n return { type: \"image\", data: part.data ?? \"\", mimeType: part.mediaType };\n }\n return textContent(part.data ?? \"\");\n }\n return textContent(toText(part));\n};\n\nexport const toMcpContent = async (\n result: unknown,\n options: {\n tool: Tool<any, any>;\n toolCallId: string;\n args: Record<string, unknown>;\n },\n): Promise<WebMcpCallToolResult> => {\n const response = ToolResponse.toResponse(result);\n if (response.modelContent) {\n const content = response.modelContent.map(mapModelContentPart);\n return response.isError ? { isError: true, content } : { content };\n }\n if (!response.isError && options.tool.toModelOutput) {\n try {\n const parts = await options.tool.toModelOutput({\n toolCallId: options.toolCallId,\n input: options.args,\n output: response.result,\n });\n return { content: parts.map(mapModelContentPart) };\n } catch (e) {\n console.warn(\n \"[assistant-ui] toModelOutput threw; falling back to default projection.\",\n e,\n );\n }\n }\n const content = primitiveContent(response.result);\n return response.isError ? { isError: true, content } : { content };\n};\n\ntype StandardSchemaLike = {\n \"~standard\": {\n version: number;\n validate: (\n value: unknown,\n ) =>\n | { issues?: readonly unknown[] | undefined }\n | Promise<{ issues?: readonly unknown[] | undefined }>;\n };\n};\n\nconst isStandardSchema = (schema: unknown): schema is StandardSchemaLike =>\n typeof schema === \"object\" &&\n schema !== null &&\n \"~standard\" in schema &&\n (schema as StandardSchemaLike)[\"~standard\"].version === 1;\n\nconst TOOL_ABORTED = Symbol(\"assistant-ui.webmcp-tool-aborted\");\n\nconst isThenable = <T>(value: T | PromiseLike<T>): value is PromiseLike<T> =>\n typeof (value as PromiseLike<T> | null | undefined)?.then === \"function\";\n\nconst raceWithAbort = async <T>(\n value: PromiseLike<T>,\n abortSignal: AbortSignal,\n): Promise<T | typeof TOOL_ABORTED> => {\n let onAbort!: () => void;\n const abortPromise = new Promise<typeof TOOL_ABORTED>((resolve) => {\n onAbort = () => resolve(TOOL_ABORTED);\n if (abortSignal.aborted) {\n onAbort();\n } else {\n abortSignal.addEventListener(\"abort\", onAbort, { once: true });\n }\n });\n\n try {\n // Unlike assistant-stream's helper, cancellation wins when validation aborts and rejects synchronously.\n return await Promise.race([abortPromise, value]);\n } finally {\n abortSignal.removeEventListener(\"abort\", onAbort);\n }\n};\n\n// AbortSignal.any sits above the browserslist floor and rejects any input that\n// is not a native AbortSignal, which a navigator.modelContext polyfill's signal\n// is not. The merged signal tracks its inputs only until cleanup runs, where\n// the single-signal path hands the caller the lifecycle signal itself.\nconst combineAbortSignals = (\n callerSignal: AbortSignal,\n lifecycleSignal: AbortSignal,\n): { signal: AbortSignal; cleanup: () => void } => {\n const controller = new AbortController();\n const teardown: (() => void)[] = [];\n const cleanup = () => {\n while (teardown.length) teardown.pop()!();\n };\n const abort = (reason: unknown) => {\n cleanup();\n controller.abort(reason);\n };\n const listen = (signal: AbortSignal) => {\n const onAbort = () => abort(signal.reason);\n signal.addEventListener(\"abort\", onAbort, { once: true });\n teardown.push(() => signal.removeEventListener(\"abort\", onAbort));\n };\n\n if (callerSignal.aborted) {\n abort(callerSignal.reason);\n } else if (lifecycleSignal.aborted) {\n abort(lifecycleSignal.reason);\n } else {\n listen(callerSignal);\n listen(lifecycleSignal);\n }\n\n return { signal: controller.signal, cleanup };\n};\n\nexport const toWebMcpTool = (\n name: string,\n getTool: () => Tool<any, any>,\n lifecycleSignal?: AbortSignal,\n): WebMcpToolDescriptor => ({\n name,\n description: getTool().description ?? \"\",\n inputSchema: toWebMcpInputSchema(getTool()),\n execute: async (rawArgs, context) => {\n if (lifecycleSignal?.aborted) {\n return errorResult(`Tool \"${name}\" is no longer registered`);\n }\n const tool = getTool();\n const args = (rawArgs ?? {}) as Record<string, unknown>;\n const toolCallId = generateId();\n let cleanup: (() => void) | undefined;\n try {\n const callerSignal = context?.signal;\n let abortSignal: AbortSignal | undefined;\n if (callerSignal && lifecycleSignal) {\n const combined = combineAbortSignals(callerSignal, lifecycleSignal);\n abortSignal = combined.signal;\n cleanup = combined.cleanup;\n } else {\n abortSignal = callerSignal ?? lifecycleSignal;\n }\n\n if (abortSignal?.aborted) {\n return errorResult(\"Tool execution was cancelled.\");\n }\n\n let executeFn = tool.execute;\n if (isStandardSchema(tool.parameters)) {\n const result = tool.parameters[\"~standard\"].validate(args);\n const validation = isThenable(result)\n ? abortSignal\n ? await raceWithAbort(result, abortSignal)\n : await result\n : result;\n if (validation === TOOL_ABORTED) {\n return errorResult(\"Tool execution was cancelled.\");\n }\n if (validation.issues) {\n const issues = validation.issues;\n executeFn =\n tool.experimental_onSchemaValidationError ??\n (() => {\n throw new Error(\n `Function parameter validation failed. ${JSON.stringify(issues)}`,\n );\n });\n }\n }\n\n if (abortSignal?.aborted) {\n return errorResult(\"Tool execution was cancelled.\");\n }\n\n if (!executeFn) {\n return errorResult(`Tool \"${name}\" has no client-side implementation.`);\n }\n\n const result = await executeFn(args, {\n toolCallId,\n abortSignal: abortSignal ?? new AbortController().signal,\n human: () =>\n Promise.reject(\n new Error(\"human input not supported in WebMCP context\"),\n ),\n });\n return await toMcpContent(result, { tool, toolCallId, args });\n } catch (e) {\n return errorResult(e instanceof Error ? e.message : String(e));\n } finally {\n cleanup?.();\n }\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"convertTools.js","names":["ToolResponse","toJSONSchema","Tool","ToolModelContentPart","generateId","WebMcpCallToolResult","WebMcpContent","WebMcpToolDescriptor","defaultWebMcpFilter","_name","tool","type","undefined","execute","disabled","toWebMcpInputSchema","parameters","properties","textContent","text","errorResult","message","isError","content","toText","value","toString","JSON","stringify","String","primitiveContent","mapModelContentPart","part","mediaType","startsWith","data","mimeType","toMcpContent","result","options","toolCallId","args","Record","Promise","response","toResponse","modelContent","map","toModelOutput","parts","input","output","e","console","warn","StandardSchemaLike","Extract","NonNullable","isStandardSchema","schema","version","TOOL_ABORTED","Symbol","isThenable","T","PromiseLike","then","raceWithAbort","abortSignal","AbortSignal","onAbort","abortPromise","resolve","aborted","addEventListener","once","race","removeEventListener","combineAbortSignals","callerSignal","lifecycleSignal","signal","cleanup","controller","AbortController","teardown","length","pop","abort","reason","listen","push","toWebMcpTool","name","getTool","description","inputSchema","rawArgs","context","combined","executeFn","validate","validation","issues","experimental_onSchemaValidationError","Error","human","reject"],"sources":["../../../src/unstable/webmcp/convertTools.ts"],"sourcesContent":["import {\n ToolResponse,\n toJSONSchema,\n type Tool,\n type ToolModelContentPart,\n} from \"assistant-stream\";\nimport { generateId } from \"@assistant-ui/core/internal\";\nimport type {\n WebMcpCallToolResult,\n WebMcpContent,\n WebMcpToolDescriptor,\n} from \"./webmcp-host\";\n\n/**\n * The predicate the WebMCP provider uses when no `filter` is passed: an enabled\n * frontend tool with a client-side `execute`. A tool authored without a `type`\n * is included, because `execute` is what distinguishes the deprecated\n * type-less form from a backend or human tool. A `filter` replaces this, so\n * pass it through to narrow the default set rather than widen it.\n */\nexport const defaultWebMcpFilter = (\n _name: string,\n tool: Tool<any, any>,\n): boolean =>\n (tool.type === \"frontend\" || tool.type === undefined) &&\n !!tool.execute &&\n !tool.disabled;\n\nexport const toWebMcpInputSchema = (tool: Tool<any, any>): unknown =>\n tool.parameters\n ? toJSONSchema(tool.parameters)\n : { type: \"object\", properties: {} };\n\nconst textContent = (text: string): WebMcpContent => ({ type: \"text\", text });\n\nconst errorResult = (message: string): WebMcpCallToolResult => ({\n isError: true,\n content: [textContent(message)],\n});\n\n// bigint throws in JSON.stringify and symbol serializes to undefined, but both\n// have a faithful string form. A value that cannot be serialized at all still\n// throws through to the error result.\nconst toText = (value: unknown): string => {\n if (typeof value === \"string\") return value;\n if (typeof value === \"bigint\" || typeof value === \"symbol\") {\n return value.toString();\n }\n return JSON.stringify(value) ?? String(value);\n};\n\nconst primitiveContent = (value: unknown): WebMcpContent[] => [\n textContent(toText(value)),\n];\n\nconst mapModelContentPart = (part: ToolModelContentPart): WebMcpContent => {\n if (part.type === \"text\") {\n return textContent(part.text ?? \"\");\n }\n if (part.type === \"file\") {\n if (\n typeof part.mediaType === \"string\" &&\n part.mediaType.startsWith(\"image/\")\n ) {\n return { type: \"image\", data: part.data ?? \"\", mimeType: part.mediaType };\n }\n return textContent(part.data ?? \"\");\n }\n return textContent(toText(part));\n};\n\nexport const toMcpContent = async (\n result: unknown,\n options: {\n tool: Tool<any, any>;\n toolCallId: string;\n args: Record<string, unknown>;\n },\n): Promise<WebMcpCallToolResult> => {\n const response = ToolResponse.toResponse(result);\n if (response.modelContent) {\n const content = response.modelContent.map(mapModelContentPart);\n return response.isError ? { isError: true, content } : { content };\n }\n if (!response.isError && options.tool.toModelOutput) {\n try {\n const parts = await options.tool.toModelOutput({\n toolCallId: options.toolCallId,\n input: options.args,\n output: response.result,\n });\n return { content: parts.map(mapModelContentPart) };\n } catch (e) {\n console.warn(\n \"[assistant-ui] toModelOutput threw; falling back to default projection.\",\n e,\n );\n }\n }\n const content = primitiveContent(response.result);\n return response.isError ? { isError: true, content } : { content };\n};\n\ntype StandardSchemaLike = Extract<\n NonNullable<Tool[\"parameters\"]>,\n { readonly \"~standard\": unknown }\n>;\n\nconst isStandardSchema = (schema: unknown): schema is StandardSchemaLike =>\n typeof schema === \"object\" &&\n schema !== null &&\n \"~standard\" in schema &&\n (schema as StandardSchemaLike)[\"~standard\"].version === 1;\n\nconst TOOL_ABORTED = Symbol(\"assistant-ui.webmcp-tool-aborted\");\n\nconst isThenable = <T>(value: T | PromiseLike<T>): value is PromiseLike<T> =>\n typeof (value as PromiseLike<T> | null | undefined)?.then === \"function\";\n\nconst raceWithAbort = async <T>(\n value: PromiseLike<T>,\n abortSignal: AbortSignal,\n): Promise<T | typeof TOOL_ABORTED> => {\n let onAbort!: () => void;\n const abortPromise = new Promise<typeof TOOL_ABORTED>((resolve) => {\n onAbort = () => resolve(TOOL_ABORTED);\n if (abortSignal.aborted) {\n onAbort();\n } else {\n abortSignal.addEventListener(\"abort\", onAbort, { once: true });\n }\n });\n\n try {\n // Unlike assistant-stream's helper, cancellation wins when validation aborts and rejects synchronously.\n return await Promise.race([abortPromise, value]);\n } finally {\n abortSignal.removeEventListener(\"abort\", onAbort);\n }\n};\n\n// AbortSignal.any sits above the browserslist floor and rejects any input that\n// is not a native AbortSignal, which a navigator.modelContext polyfill's signal\n// is not. The merged signal tracks its inputs only until cleanup runs, where\n// the single-signal path hands the caller the lifecycle signal itself.\nconst combineAbortSignals = (\n callerSignal: AbortSignal,\n lifecycleSignal: AbortSignal,\n): { signal: AbortSignal; cleanup: () => void } => {\n const controller = new AbortController();\n const teardown: (() => void)[] = [];\n const cleanup = () => {\n while (teardown.length) teardown.pop()!();\n };\n const abort = (reason: unknown) => {\n cleanup();\n controller.abort(reason);\n };\n const listen = (signal: AbortSignal) => {\n const onAbort = () => abort(signal.reason);\n signal.addEventListener(\"abort\", onAbort, { once: true });\n teardown.push(() => signal.removeEventListener(\"abort\", onAbort));\n };\n\n if (callerSignal.aborted) {\n abort(callerSignal.reason);\n } else if (lifecycleSignal.aborted) {\n abort(lifecycleSignal.reason);\n } else {\n listen(callerSignal);\n listen(lifecycleSignal);\n }\n\n return { signal: controller.signal, cleanup };\n};\n\nexport const toWebMcpTool = (\n name: string,\n getTool: () => Tool<any, any>,\n lifecycleSignal?: AbortSignal,\n): WebMcpToolDescriptor => ({\n name,\n description: getTool().description ?? \"\",\n inputSchema: toWebMcpInputSchema(getTool()),\n execute: async (rawArgs, context) => {\n if (lifecycleSignal?.aborted) {\n return errorResult(`Tool \"${name}\" is no longer registered`);\n }\n const tool = getTool();\n let args = (rawArgs ?? {}) as Record<string, unknown>;\n const toolCallId = generateId();\n let cleanup: (() => void) | undefined;\n try {\n const callerSignal = context?.signal;\n let abortSignal: AbortSignal | undefined;\n if (callerSignal && lifecycleSignal) {\n const combined = combineAbortSignals(callerSignal, lifecycleSignal);\n abortSignal = combined.signal;\n cleanup = combined.cleanup;\n } else {\n abortSignal = callerSignal ?? lifecycleSignal;\n }\n\n if (abortSignal?.aborted) {\n return errorResult(\"Tool execution was cancelled.\");\n }\n\n let executeFn = tool.execute;\n if (isStandardSchema(tool.parameters)) {\n const result = tool.parameters[\"~standard\"].validate(args);\n const validation = isThenable(result)\n ? abortSignal\n ? await raceWithAbort(result, abortSignal)\n : await result\n : result;\n if (validation === TOOL_ABORTED) {\n return errorResult(\"Tool execution was cancelled.\");\n }\n if (validation.issues) {\n const issues = validation.issues;\n executeFn =\n tool.experimental_onSchemaValidationError ??\n (() => {\n throw new Error(\n `Function parameter validation failed. ${JSON.stringify(issues)}`,\n );\n });\n } else {\n args = validation.value;\n }\n }\n\n if (abortSignal?.aborted) {\n return errorResult(\"Tool execution was cancelled.\");\n }\n\n if (!executeFn) {\n return errorResult(`Tool \"${name}\" has no client-side implementation.`);\n }\n\n const result = await executeFn(args, {\n toolCallId,\n abortSignal: abortSignal ?? new AbortController().signal,\n human: () =>\n Promise.reject(\n new Error(\"human input not supported in WebMCP context\"),\n ),\n });\n return await toMcpContent(result, { tool, toolCallId, args });\n } catch (e) {\n return errorResult(e instanceof Error ? e.message : String(e));\n } finally {\n cleanup?.();\n }\n },\n});\n"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import { Tool } from "assistant-stream";
2
- //#region src/unstable/webmcp/useWebMcpProvider.d.ts
1
+ import type { Tool } from "assistant-stream";
3
2
  export type Unstable_WebMcpProviderOptions = {
4
- filter?: (name: string, tool: Tool<any, any>) => boolean;
3
+ filter?: (name: string, tool: Tool<any, any>) => boolean;
5
4
  };
6
5
  export type Unstable_WebMcpProviderResult = {
7
- status: "unsupported" | "active";
8
- registeredToolNames: readonly string[];
6
+ status: "unsupported" | "active";
7
+ registeredToolNames: readonly string[];
9
8
  };
10
9
  /**
11
10
  * Publishes the frontend tools in the model context to a WebMCP-capable
@@ -16,5 +15,4 @@ export type Unstable_WebMcpProviderResult = {
16
15
  * of the tools currently registered with the host.
17
16
  */
18
17
  export declare const unstable_useWebMcpProvider: (options?: Unstable_WebMcpProviderOptions) => Unstable_WebMcpProviderResult;
19
- //#endregion
20
18
  //# sourceMappingURL=useWebMcpProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWebMcpProvider.d.ts","names":[],"sources":["../../../src/unstable/webmcp/useWebMcpProvider.ts"],"mappings":";;YAeY;EACV,UAAU,cAAc,MAAM;;YAGpB;EACV;EACA;;;;;;;;;;qBAqGW,6BACX,UAAS,mCACR"}
1
+ {"version":3,"file":"useWebMcpProvider.d.ts","sourceRoot":"","sources":["../../../src/unstable/webmcp/useWebMcpProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAU7C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAC;IACjC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,CAAC;AA4FF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GACrC,UAAS,8BAAmC,KAC3C,6BAuBF,CAAC"}
@@ -4,8 +4,8 @@ import { getDefaultWebMcpHost } from "./webmcp-host.js";
4
4
  import { defaultWebMcpFilter, toWebMcpInputSchema } from "./convertTools.js";
5
5
  import { WebMcpRegistrationResource } from "./WebMcpRegistrationResource.js";
6
6
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
7
- import { useAui } from "@assistant-ui/store";
8
7
  import { useEffect, useState, useSyncExternalStore } from "@assistant-ui/tap/react-shim";
8
+ import { useAui } from "@assistant-ui/store";
9
9
  import { useResources, useTapRoot, withKey } from "@assistant-ui/tap";
10
10
  import { shallowEqual } from "@assistant-ui/store/internal";
11
11
  //#region src/unstable/webmcp/useWebMcpProvider.ts
@@ -1,38 +1,36 @@
1
- //#region src/unstable/webmcp/webmcp-host.d.ts
2
1
  export type WebMcpContent = {
3
- type: "text";
4
- text: string;
2
+ type: "text";
3
+ text: string;
5
4
  } | {
6
- type: "image";
7
- data: string;
8
- mimeType: string;
5
+ type: "image";
6
+ data: string;
7
+ mimeType: string;
9
8
  };
10
9
  export type WebMcpCallToolResult = {
11
- content: WebMcpContent[];
12
- isError?: boolean;
10
+ content: WebMcpContent[];
11
+ isError?: boolean;
13
12
  };
14
13
  export type WebMcpToolDescriptor = {
15
- name: string;
16
- description: string;
17
- inputSchema: unknown;
18
- execute: (args: unknown, context?: {
19
- signal?: AbortSignal;
20
- }) => Promise<WebMcpCallToolResult>;
14
+ name: string;
15
+ description: string;
16
+ inputSchema: unknown;
17
+ execute: (args: unknown, context?: {
18
+ signal?: AbortSignal;
19
+ }) => Promise<WebMcpCallToolResult>;
21
20
  };
22
21
  export type WebMcpModelContext = {
23
- /**
24
- * Aborting `options.signal` is what unregisters the tool. The explainer
25
- * defines no other removal method, and a name-keyed one could not be used
26
- * safely: a later registration may already hold the name.
27
- */
28
- registerTool(tool: WebMcpToolDescriptor, options?: {
29
- signal?: AbortSignal;
30
- }): Promise<void> | void;
22
+ /**
23
+ * Aborting `options.signal` is what unregisters the tool. The explainer
24
+ * defines no other removal method, and a name-keyed one could not be used
25
+ * safely: a later registration may already hold the name.
26
+ */
27
+ registerTool(tool: WebMcpToolDescriptor, options?: {
28
+ signal?: AbortSignal;
29
+ }): Promise<void> | void;
31
30
  };
32
31
  export type WebMcpHost = {
33
- available: boolean;
34
- registerTool(def: WebMcpToolDescriptor, onError?: (error: unknown) => void): () => void;
32
+ available: boolean;
33
+ registerTool(def: WebMcpToolDescriptor, onError?: (error: unknown) => void): () => void;
35
34
  };
36
35
  export declare const getDefaultWebMcpHost: () => WebMcpHost;
37
- //#endregion
38
36
  //# sourceMappingURL=webmcp-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webmcp-host.d.ts","names":[],"sources":["../../../src/unstable/webmcp/webmcp-host.ts"],"mappings":";YAAY;EACN;EAAc;;EACd;EAAe;EAAc;;YAEvB;EACV,SAAS;EACT;;YAGU;EACV;EACA;EACA;EACA,UACE,eACA;IAAY,SAAS;QAClB,QAAQ;;YAGH;;;;;;EAMV,aACE,MAAM,sBACN;IAAY,SAAS;MACpB;;YAGO;EACV;EACA,aACE,KAAK,sBACL,WAAW;;qBAsCF,4BAA2B"}
1
+ {"version":3,"file":"webmcp-host.d.ts","sourceRoot":"","sources":["../../../src/unstable/webmcp/webmcp-host.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,CACP,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,YAAY,CACV,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACjC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CACV,GAAG,EAAE,oBAAoB,EACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,MAAM,IAAI,CAAC;CACf,CAAC;AAoCF,eAAO,MAAM,oBAAoB,QAAO,UASvC,CAAC"}
@@ -1,7 +1,6 @@
1
- import { ComponentProps, ComponentPropsWithoutRef, ComponentRef, ElementType, ForwardRefExoticComponent, ReactElement, ReactNode, RefAttributes } from "react";
2
- import { Primitive as Primitive$1 } from "radix-ui/internal";
1
+ import { type ComponentProps, type ComponentPropsWithoutRef, type ComponentRef, type ElementType, type ForwardRefExoticComponent, type ReactElement, type ReactNode, type RefAttributes } from "react";
2
+ import { Primitive as RadixPrimitive } from "radix-ui/internal";
3
3
  import { Slot } from "radix-ui";
4
- //#region src/utils/Primitive.d.ts
5
4
  /**
6
5
  * Thin wrapper around Radix `Primitive` that adds `render` prop support.
7
6
  *
@@ -14,9 +13,9 @@ import { Slot } from "radix-ui";
14
13
  declare const NODES: readonly ["a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul"];
15
14
  type PrimitiveNode = (typeof NODES)[number];
16
15
  type WithRenderPropProps<T extends ElementType> = ComponentPropsWithoutRef<T> & {
17
- render?: ReactElement | undefined;
16
+ render?: ReactElement | undefined;
18
17
  };
19
- type PrimitiveProps<E extends PrimitiveNode> = WithRenderPropProps<(typeof Primitive$1)[E]>;
18
+ type PrimitiveProps<E extends PrimitiveNode> = WithRenderPropProps<(typeof RadixPrimitive)[E]>;
20
19
  /**
21
20
  * Composes a `render` element at a call site that has already computed its props.
22
21
  *
@@ -26,92 +25,92 @@ type PrimitiveProps<E extends PrimitiveNode> = WithRenderPropProps<(typeof Primi
26
25
  declare function renderSlot(render: ReactElement, children: ReactNode, props: ComponentProps<typeof Slot.Root>): ReactElement;
27
26
  declare function withRenderProp<T extends ElementType>(Component: T): ForwardRefExoticComponent<WithRenderPropProps<T> & RefAttributes<ComponentRef<T>>>;
28
27
  declare const Primitive: {
29
- a: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLAnchorElement> & import("react").AnchorHTMLAttributes<HTMLAnchorElement> & {
30
- asChild?: boolean;
31
- }, "ref"> & {
32
- render?: ReactElement | undefined;
33
- } & RefAttributes<HTMLAnchorElement>>;
34
- button: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
35
- asChild?: boolean;
36
- }, "ref"> & {
37
- render?: ReactElement | undefined;
38
- } & RefAttributes<HTMLButtonElement>>;
39
- div: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
40
- asChild?: boolean;
41
- }, "ref"> & {
42
- render?: ReactElement | undefined;
43
- } & RefAttributes<HTMLDivElement>>;
44
- form: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLFormElement> & import("react").FormHTMLAttributes<HTMLFormElement> & {
45
- asChild?: boolean;
46
- }, "ref"> & {
47
- render?: ReactElement | undefined;
48
- } & RefAttributes<HTMLFormElement>>;
49
- h2: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLHeadingElement> & import("react").HTMLAttributes<HTMLHeadingElement> & {
50
- asChild?: boolean;
51
- }, "ref"> & {
52
- render?: ReactElement | undefined;
53
- } & RefAttributes<HTMLHeadingElement>>;
54
- h3: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLHeadingElement> & import("react").HTMLAttributes<HTMLHeadingElement> & {
55
- asChild?: boolean;
56
- }, "ref"> & {
57
- render?: ReactElement | undefined;
58
- } & RefAttributes<HTMLHeadingElement>>;
59
- img: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLImageElement> & import("react").ImgHTMLAttributes<HTMLImageElement> & {
60
- asChild?: boolean;
61
- }, "ref"> & {
62
- render?: ReactElement | undefined;
63
- } & RefAttributes<HTMLImageElement>>;
64
- input: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLInputElement> & import("react").InputHTMLAttributes<HTMLInputElement> & {
65
- asChild?: boolean;
66
- }, "ref"> & {
67
- render?: ReactElement | undefined;
68
- } & RefAttributes<HTMLInputElement>>;
69
- label: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLLabelElement> & import("react").LabelHTMLAttributes<HTMLLabelElement> & {
70
- asChild?: boolean;
71
- }, "ref"> & {
72
- render?: ReactElement | undefined;
73
- } & RefAttributes<HTMLLabelElement>>;
74
- li: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLLIElement> & import("react").LiHTMLAttributes<HTMLLIElement> & {
75
- asChild?: boolean;
76
- }, "ref"> & {
77
- render?: ReactElement | undefined;
78
- } & RefAttributes<HTMLLIElement>>;
79
- nav: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLElement> & import("react").HTMLAttributes<HTMLElement> & {
80
- asChild?: boolean;
81
- }, "ref"> & {
82
- render?: ReactElement | undefined;
83
- } & RefAttributes<HTMLElement>>;
84
- ol: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLOListElement> & import("react").OlHTMLAttributes<HTMLOListElement> & {
85
- asChild?: boolean;
86
- }, "ref"> & {
87
- render?: ReactElement | undefined;
88
- } & RefAttributes<HTMLOListElement>>;
89
- p: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLParagraphElement> & import("react").HTMLAttributes<HTMLParagraphElement> & {
90
- asChild?: boolean;
91
- }, "ref"> & {
92
- render?: ReactElement | undefined;
93
- } & RefAttributes<HTMLParagraphElement>>;
94
- select: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLSelectElement> & import("react").SelectHTMLAttributes<HTMLSelectElement> & {
95
- asChild?: boolean;
96
- }, "ref"> & {
97
- render?: ReactElement | undefined;
98
- } & RefAttributes<HTMLSelectElement>>;
99
- span: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & {
100
- asChild?: boolean;
101
- }, "ref"> & {
102
- render?: ReactElement | undefined;
103
- } & RefAttributes<HTMLSpanElement>>;
104
- ul: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLUListElement> & import("react").HTMLAttributes<HTMLUListElement> & {
105
- asChild?: boolean;
106
- }, "ref"> & {
107
- render?: ReactElement | undefined;
108
- } & RefAttributes<HTMLUListElement>>;
109
- svg: ForwardRefExoticComponent<Omit<import("react").SVGProps<SVGSVGElement> & {
110
- asChild?: boolean;
111
- }, "ref"> & {
112
- render?: ReactElement | undefined;
113
- } & RefAttributes<SVGSVGElement>>;
28
+ input: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLInputElement> & import("react").InputHTMLAttributes<HTMLInputElement> & {
29
+ asChild?: boolean;
30
+ }, "ref"> & {
31
+ render?: ReactElement | undefined;
32
+ } & RefAttributes<HTMLInputElement>>;
33
+ select: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLSelectElement> & import("react").SelectHTMLAttributes<HTMLSelectElement> & {
34
+ asChild?: boolean;
35
+ }, "ref"> & {
36
+ render?: ReactElement | undefined;
37
+ } & RefAttributes<HTMLSelectElement>>;
38
+ div: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
39
+ asChild?: boolean;
40
+ }, "ref"> & {
41
+ render?: ReactElement | undefined;
42
+ } & RefAttributes<HTMLDivElement>>;
43
+ a: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLAnchorElement> & import("react").AnchorHTMLAttributes<HTMLAnchorElement> & {
44
+ asChild?: boolean;
45
+ }, "ref"> & {
46
+ render?: ReactElement | undefined;
47
+ } & RefAttributes<HTMLAnchorElement>>;
48
+ button: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
49
+ asChild?: boolean;
50
+ }, "ref"> & {
51
+ render?: ReactElement | undefined;
52
+ } & RefAttributes<HTMLButtonElement>>;
53
+ form: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLFormElement> & import("react").FormHTMLAttributes<HTMLFormElement> & {
54
+ asChild?: boolean;
55
+ }, "ref"> & {
56
+ render?: ReactElement | undefined;
57
+ } & RefAttributes<HTMLFormElement>>;
58
+ h2: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLHeadingElement> & import("react").HTMLAttributes<HTMLHeadingElement> & {
59
+ asChild?: boolean;
60
+ }, "ref"> & {
61
+ render?: ReactElement | undefined;
62
+ } & RefAttributes<HTMLHeadingElement>>;
63
+ h3: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLHeadingElement> & import("react").HTMLAttributes<HTMLHeadingElement> & {
64
+ asChild?: boolean;
65
+ }, "ref"> & {
66
+ render?: ReactElement | undefined;
67
+ } & RefAttributes<HTMLHeadingElement>>;
68
+ img: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLImageElement> & import("react").ImgHTMLAttributes<HTMLImageElement> & {
69
+ asChild?: boolean;
70
+ }, "ref"> & {
71
+ render?: ReactElement | undefined;
72
+ } & RefAttributes<HTMLImageElement>>;
73
+ label: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLLabelElement> & import("react").LabelHTMLAttributes<HTMLLabelElement> & {
74
+ asChild?: boolean;
75
+ }, "ref"> & {
76
+ render?: ReactElement | undefined;
77
+ } & RefAttributes<HTMLLabelElement>>;
78
+ li: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLLIElement> & import("react").LiHTMLAttributes<HTMLLIElement> & {
79
+ asChild?: boolean;
80
+ }, "ref"> & {
81
+ render?: ReactElement | undefined;
82
+ } & RefAttributes<HTMLLIElement>>;
83
+ nav: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLElement> & import("react").HTMLAttributes<HTMLElement> & {
84
+ asChild?: boolean;
85
+ }, "ref"> & {
86
+ render?: ReactElement | undefined;
87
+ } & RefAttributes<HTMLElement>>;
88
+ ol: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLOListElement> & import("react").OlHTMLAttributes<HTMLOListElement> & {
89
+ asChild?: boolean;
90
+ }, "ref"> & {
91
+ render?: ReactElement | undefined;
92
+ } & RefAttributes<HTMLOListElement>>;
93
+ p: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLParagraphElement> & import("react").HTMLAttributes<HTMLParagraphElement> & {
94
+ asChild?: boolean;
95
+ }, "ref"> & {
96
+ render?: ReactElement | undefined;
97
+ } & RefAttributes<HTMLParagraphElement>>;
98
+ span: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & {
99
+ asChild?: boolean;
100
+ }, "ref"> & {
101
+ render?: ReactElement | undefined;
102
+ } & RefAttributes<HTMLSpanElement>>;
103
+ ul: ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLUListElement> & import("react").HTMLAttributes<HTMLUListElement> & {
104
+ asChild?: boolean;
105
+ }, "ref"> & {
106
+ render?: ReactElement | undefined;
107
+ } & RefAttributes<HTMLUListElement>>;
108
+ svg: ForwardRefExoticComponent<Omit<import("react").SVGProps<SVGSVGElement> & {
109
+ asChild?: boolean;
110
+ }, "ref"> & {
111
+ render?: ReactElement | undefined;
112
+ } & RefAttributes<SVGSVGElement>>;
114
113
  };
115
- //#endregion
116
- export { Primitive, type PrimitiveProps, type WithRenderPropProps, renderSlot, withRenderProp };
114
+ export { Primitive, renderSlot, withRenderProp };
115
+ export type { PrimitiveProps, WithRenderPropProps };
117
116
  //# sourceMappingURL=Primitive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Primitive.d.ts","names":[],"sources":["../../src/utils/Primitive.tsx"],"mappings":";;;;;;;;;;;;;cA4BM;KAmBD,wBAAwB;KAExB,oBAAoB,UAAU,eACjC,yBAAyB;EACvB,SAAS;;KAGR,eAAe,UAAU,iBAAiB,4BACrC,aAAgB;;;;;;;iBAoCjB,WACP,QAAQ,cACR,UAAU,WACV,OAAO,sBAAsB,KAAK,QACjC;iBAMM,eAAe,UAAU,aAAa,WAAW,IAmCtC,0BAChB,oBAAoB,KAAK,cAAc,aAAa;cAclD;;;;IApGO,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA;;;;;IAAA,SAAA"}
1
+ {"version":3,"file":"Primitive.d.ts","sourceRoot":"","sources":["../../src/utils/Primitive.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAE9B,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAInB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;;;;GAQG;AAGH,QAAA,MAAM,KAAK,qIAkBD,CAAC;AACX,KAAK,aAAa,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,KAAK,mBAAmB,CAAC,CAAC,SAAS,WAAW,IAC5C,wBAAwB,CAAC,CAAC,CAAC,GAAG;IAC5B,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC,CAAC;AAEJ,KAAK,cAAc,CAAC,CAAC,SAAS,aAAa,IAAI,mBAAmB,CAChE,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAC3B,CAAC;AA6BF;;;;;GAKG;AACH,iBAAS,UAAU,CACjB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GACtC,YAAY,CAId;AAED,iBAAS,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,SAAS,EAAE,CAAC,GAmCvC,yBAAyB,CACzC,mBAAmB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CACxD,CACF;AAYD,QAAA,MAAM,SAAS;;;;iBApGF,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;;;;iBAAxB,YAAY,GAAG,SAAS;;CA4GpC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- //#region src/utils/RequireAtLeastOne.d.ts
2
- export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & { [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>; }[Keys];
3
- //#endregion
1
+ export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
2
+ [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
3
+ }[Keys];
4
4
  //# sourceMappingURL=RequireAtLeastOne.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequireAtLeastOne.d.ts","names":[],"sources":["../../src/utils/RequireAtLeastOne.ts"],"mappings":";YAAY,kBAAkB,GAAG,mBAAmB,UAAU,KAAK,KACjE,GACA,cAAc,GAAG,YAGd,KAAK,SAAS,SAAS,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,QAAQ,MAAM,QACpE"}
1
+ {"version":3,"file":"RequireAtLeastOne.d.ts","sourceRoot":"","sources":["../../src/utils/RequireAtLeastOne.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,CACrE,CAAC,EACD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CACvB,GACC;KACG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CACzE,CAAC,IAAI,CAAC,CAAC"}
@@ -1,14 +1,13 @@
1
+ import { type ComponentRef, type ComponentPropsWithoutRef, type MouseEventHandler } from "react";
1
2
  import { Primitive } from "./Primitive.js";
2
- import { ComponentPropsWithoutRef, ComponentRef, MouseEventHandler } from "react";
3
- //#region src/utils/createActionButton.d.ts
4
3
  type ActionButtonCallback<TProps> = (props: TProps) => MouseEventHandler<HTMLButtonElement> | null;
5
4
  type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
6
- export type ActionButtonProps<THook> = PrimitiveButtonProps & (THook extends ((props: infer TProps) => unknown) ? TProps : never);
5
+ export type ActionButtonProps<THook> = PrimitiveButtonProps & (THook extends (props: infer TProps) => unknown ? TProps : never);
7
6
  export type ActionButtonElement = ComponentRef<typeof Primitive.button>;
8
7
  export declare const createActionButton: <TProps>(displayName: string, useActionButton: ActionButtonCallback<TProps>, forwardProps?: (keyof NonNullable<TProps>)[]) => import("react").ForwardRefExoticComponent<import("react").PropsWithoutRef<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
9
- asChild?: boolean;
8
+ asChild?: boolean;
10
9
  }, "ref"> & {
11
- render?: import("react").ReactElement | undefined;
10
+ render?: import("react").ReactElement | undefined;
12
11
  } & import("react").RefAttributes<HTMLButtonElement>, "ref"> & TProps> & import("react").RefAttributes<HTMLButtonElement>>;
13
- //#endregion
12
+ export {};
14
13
  //# sourceMappingURL=createActionButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createActionButton.d.ts","names":[],"sources":["../../src/utils/createActionButton.tsx"],"mappings":";;;KASK,qBAAqB,WACxB,OAAO,WACJ,kBAAkB;KAElB,uBAAuB,gCAAgC,UAAU;YAE1D,kBAAkB,SAAS,wBACpC,gBAAe,aAAa,sBAAqB;YAExC,sBAAsB,oBAAoB,UAAU;qBAEnD,qBAAsB,QACjC,qBACA,iBAAiB,qBAAqB,SACtC,sBAAqB,YAAY,+BAAe,0CAAA,gBAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA;;;;oBAgCjD,cAAA,6BAAA,0BAAA,cAAA"}
1
+ {"version":3,"file":"createActionButton.d.ts","sourceRoot":"","sources":["../../src/utils/createActionButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,uBAAoB;AAGxC,KAAK,oBAAoB,CAAC,MAAM,IAAI,CAClC,KAAK,EAAE,MAAM,KACV,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;AAEjD,KAAK,oBAAoB,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9E,MAAM,MAAM,iBAAiB,CAAC,KAAK,IAAI,oBAAoB,GACzD,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,MAAM,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,kBAAkB,GAAI,MAAM,EACvC,aAAa,MAAM,EACnB,iBAAiB,oBAAoB,CAAC,MAAM,CAAC,EAC7C,eAAc,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,EAAO;;;;0HAgCjD,CAAC"}
@@ -1,4 +1,2 @@
1
- //#region src/utils/getSelectionMessageId.d.ts
2
- export declare const getSelectionMessageId: (selection: Selection) => string | null;
3
- //#endregion
1
+ export declare const getSelectionMessageId: (selection: Selection, root?: Element | null) => string | null;
4
2
  //# sourceMappingURL=getSelectionMessageId.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSelectionMessageId.d.ts","names":[],"sources":["../../src/utils/getSelectionMessageId.ts"],"mappings":";qBAwDa,wBAAyB,WAAW"}
1
+ {"version":3,"file":"getSelectionMessageId.d.ts","sourceRoot":"","sources":["../../src/utils/getSelectionMessageId.ts"],"names":[],"mappings":"AAwDA,eAAO,MAAM,qBAAqB,GAChC,WAAW,SAAS,EACpB,OAAO,OAAO,GAAG,IAAI,KACpB,MAAM,GAAG,IAmCX,CAAC"}
@@ -33,12 +33,13 @@ const intersectsExcluded = (scope, selection) => {
33
33
  }
34
34
  return false;
35
35
  };
36
- const getSelectionMessageId = (selection) => {
36
+ const getSelectionMessageId = (selection, root) => {
37
37
  const { anchorNode, focusNode } = selection;
38
38
  if (!anchorNode || !focusNode) return null;
39
39
  const anchorMessageElement = findMessageElement(anchorNode);
40
40
  const focusMessageElement = findMessageElement(focusNode);
41
41
  if (!anchorMessageElement || anchorMessageElement !== focusMessageElement) return null;
42
+ if (root && !root.contains(anchorMessageElement)) return null;
42
43
  const messageId = anchorMessageElement.getAttribute("data-message-id");
43
44
  if (!messageId) return null;
44
45
  const anchorMarker = findQuoteMarker(anchorNode, anchorMessageElement);
@@ -1 +1 @@
1
- {"version":3,"file":"getSelectionMessageId.js","names":["QUOTE_SELECTABLE_SELECTOR","getElement","node","Node","HTMLElement","parentElement","findMessageElement","el","id","getAttribute","isExcluded","marker","Element","hasQuoteSelectableRegion","messageElement","matches","querySelectorAll","findQuoteMarker","closest","contains","intersectsExcluded","scope","selection","Selection","ranges","Array","from","length","rangeCount","_","i","getRangeAt","some","range","intersectsNode","getSelectionMessageId","anchorNode","focusNode","anchorMessageElement","focusMessageElement","messageId","anchorMarker","focusMarker","commonAncestorContainer"],"sources":["../../src/utils/getSelectionMessageId.ts"],"sourcesContent":["const QUOTE_SELECTABLE_SELECTOR = \"[data-aui-quote-selectable]\";\n\nconst getElement = (node: Node | null): HTMLElement | null => {\n return node instanceof HTMLElement ? node : (node?.parentElement ?? null);\n};\n\nconst findMessageElement = (node: Node | null): HTMLElement | null => {\n let el = node instanceof HTMLElement ? node : (node?.parentElement ?? null);\n while (el) {\n const id = el.getAttribute(\"data-message-id\");\n if (id) return el;\n el = el.parentElement;\n }\n return null;\n};\n\nconst isExcluded = (marker: Element): boolean => {\n return marker.getAttribute(\"data-aui-quote-selectable\") === \"false\";\n};\n\nconst hasQuoteSelectableRegion = (messageElement: HTMLElement) => {\n if (\n messageElement.matches(QUOTE_SELECTABLE_SELECTOR) &&\n !isExcluded(messageElement)\n ) {\n return true;\n }\n for (const marker of messageElement.querySelectorAll(\n QUOTE_SELECTABLE_SELECTOR,\n )) {\n if (!isExcluded(marker)) return true;\n }\n return false;\n};\n\nconst findQuoteMarker = (\n node: Node | null,\n messageElement: HTMLElement,\n): HTMLElement | null => {\n const marker = getElement(node)?.closest(QUOTE_SELECTABLE_SELECTOR);\n if (!(marker instanceof HTMLElement)) return null;\n if (!messageElement.contains(marker)) return null;\n return marker;\n};\n\nconst intersectsExcluded = (scope: Element, selection: Selection): boolean => {\n const ranges = Array.from({ length: selection.rangeCount }, (_, i) =>\n selection.getRangeAt(i),\n );\n for (const marker of scope.querySelectorAll(QUOTE_SELECTABLE_SELECTOR)) {\n if (!isExcluded(marker)) continue;\n if (ranges.some((range) => range.intersectsNode(marker))) return true;\n }\n return false;\n};\n\nexport const getSelectionMessageId = (selection: Selection): string | null => {\n const { anchorNode, focusNode } = selection;\n if (!anchorNode || !focusNode) return null;\n\n const anchorMessageElement = findMessageElement(anchorNode);\n const focusMessageElement = findMessageElement(focusNode);\n\n if (!anchorMessageElement || anchorMessageElement !== focusMessageElement) {\n return null;\n }\n\n const messageId = anchorMessageElement.getAttribute(\"data-message-id\");\n if (!messageId) return null;\n\n const anchorMarker = findQuoteMarker(anchorNode, anchorMessageElement);\n const focusMarker = findQuoteMarker(focusNode, anchorMessageElement);\n\n if (anchorMarker && isExcluded(anchorMarker)) return null;\n if (focusMarker && isExcluded(focusMarker)) return null;\n\n if (hasQuoteSelectableRegion(anchorMessageElement)) {\n if (!anchorMarker || anchorMarker !== focusMarker) return null;\n }\n\n const scope = anchorMarker ?? anchorMessageElement;\n\n for (let i = 0; i < selection.rangeCount; i++) {\n const { commonAncestorContainer } = selection.getRangeAt(i);\n if (!scope.contains(commonAncestorContainer)) return null;\n }\n\n return intersectsExcluded(scope, selection) ? null : messageId;\n};\n"],"mappings":";AAAA,MAAMA,4BAA4B;AAElC,MAAMC,cAAcC,SAA0C;CAC5D,OAAOA,gBAAgBE,cAAcF,OAAQA,MAAMG,iBAAiB;AACtE;AAEA,MAAMC,sBAAsBJ,SAA0C;CACpE,IAAIK,KAAKL,gBAAgBE,cAAcF,OAAQA,MAAMG,iBAAiB;CACtE,OAAOE,IAAI;EAET,IADWA,GAAGE,aAAa,iBACvBD,GAAI,OAAOD;EACfA,KAAKA,GAAGF;CACV;CACA,OAAO;AACT;AAEA,MAAMK,cAAcC,WAA6B;CAC/C,OAAOA,OAAOF,aAAa,2BAA2B,MAAM;AAC9D;AAEA,MAAMI,4BAA4BC,mBAAgC;CAChE,IACEA,eAAeC,QAAQf,yBAAyB,KAChD,CAACU,WAAWI,cAAc,GAE1B,OAAO;CAET,KAAK,MAAMH,UAAUG,eAAeE,iBAClChB,yBACF,GACE,IAAI,CAACU,WAAWC,MAAM,GAAG,OAAO;CAElC,OAAO;AACT;AAEA,MAAMM,mBACJf,MACAY,mBACuB;CACvB,MAAMH,SAASV,WAAWC,IAAI,CAAC,EAAEgB,QAAQlB,yBAAyB;CAClE,IAAI,EAAEW,kBAAkBP,cAAc,OAAO;CAC7C,IAAI,CAACU,eAAeK,SAASR,MAAM,GAAG,OAAO;CAC7C,OAAOA;AACT;AAEA,MAAMS,sBAAsBC,OAAgBC,cAAkC;CAC5E,MAAME,SAASC,MAAMC,KAAK,EAAEC,QAAQL,UAAUM,WAAW,IAAIC,GAAGC,MAC9DR,UAAUS,WAAWD,CAAC,CACxB;CACA,KAAK,MAAMnB,UAAUU,MAAML,iBAAiBhB,yBAAyB,GAAG;EACtE,IAAI,CAACU,WAAWC,MAAM,GAAG;EACzB,IAAIa,OAAOQ,MAAMC,UAAUA,MAAMC,eAAevB,MAAM,CAAC,GAAG,OAAO;CACnE;CACA,OAAO;AACT;AAEA,MAAawB,yBAAyBb,cAAwC;CAC5E,MAAM,EAAEc,YAAYC,cAAcf;CAClC,IAAI,CAACc,cAAc,CAACC,WAAW,OAAO;CAEtC,MAAMC,uBAAuBhC,mBAAmB8B,UAAU;CAC1D,MAAMG,sBAAsBjC,mBAAmB+B,SAAS;CAExD,IAAI,CAACC,wBAAwBA,yBAAyBC,qBACpD,OAAO;CAGT,MAAMC,YAAYF,qBAAqB7B,aAAa,iBAAiB;CACrE,IAAI,CAAC+B,WAAW,OAAO;CAEvB,MAAMC,eAAexB,gBAAgBmB,YAAYE,oBAAoB;CACrE,MAAMI,cAAczB,gBAAgBoB,WAAWC,oBAAoB;CAEnE,IAAIG,gBAAgB/B,WAAW+B,YAAY,GAAG,OAAO;CACrD,IAAIC,eAAehC,WAAWgC,WAAW,GAAG,OAAO;CAEnD,IAAI7B,yBAAyByB,oBAAoB,GAC3C;MAAA,CAACG,gBAAgBA,iBAAiBC,aAAa,OAAO;CAAA;CAG5D,MAAMrB,QAAQoB,gBAAgBH;CAE9B,KAAK,IAAIR,IAAI,GAAGA,IAAIR,UAAUM,YAAYE,KAAK;EAC7C,MAAM,EAAEa,4BAA4BrB,UAAUS,WAAWD,CAAC;EAC1D,IAAI,CAACT,MAAMF,SAASwB,uBAAuB,GAAG,OAAO;CACvD;CAEA,OAAOvB,mBAAmBC,OAAOC,SAAS,IAAI,OAAOkB;AACvD"}
1
+ {"version":3,"file":"getSelectionMessageId.js","names":["QUOTE_SELECTABLE_SELECTOR","getElement","node","Node","HTMLElement","parentElement","findMessageElement","el","id","getAttribute","isExcluded","marker","Element","hasQuoteSelectableRegion","messageElement","matches","querySelectorAll","findQuoteMarker","closest","contains","intersectsExcluded","scope","selection","Selection","ranges","Array","from","length","rangeCount","_","i","getRangeAt","some","range","intersectsNode","getSelectionMessageId","root","anchorNode","focusNode","anchorMessageElement","focusMessageElement","messageId","anchorMarker","focusMarker","commonAncestorContainer"],"sources":["../../src/utils/getSelectionMessageId.ts"],"sourcesContent":["const QUOTE_SELECTABLE_SELECTOR = \"[data-aui-quote-selectable]\";\n\nconst getElement = (node: Node | null): HTMLElement | null => {\n return node instanceof HTMLElement ? node : (node?.parentElement ?? null);\n};\n\nconst findMessageElement = (node: Node | null): HTMLElement | null => {\n let el = node instanceof HTMLElement ? node : (node?.parentElement ?? null);\n while (el) {\n const id = el.getAttribute(\"data-message-id\");\n if (id) return el;\n el = el.parentElement;\n }\n return null;\n};\n\nconst isExcluded = (marker: Element): boolean => {\n return marker.getAttribute(\"data-aui-quote-selectable\") === \"false\";\n};\n\nconst hasQuoteSelectableRegion = (messageElement: HTMLElement) => {\n if (\n messageElement.matches(QUOTE_SELECTABLE_SELECTOR) &&\n !isExcluded(messageElement)\n ) {\n return true;\n }\n for (const marker of messageElement.querySelectorAll(\n QUOTE_SELECTABLE_SELECTOR,\n )) {\n if (!isExcluded(marker)) return true;\n }\n return false;\n};\n\nconst findQuoteMarker = (\n node: Node | null,\n messageElement: HTMLElement,\n): HTMLElement | null => {\n const marker = getElement(node)?.closest(QUOTE_SELECTABLE_SELECTOR);\n if (!(marker instanceof HTMLElement)) return null;\n if (!messageElement.contains(marker)) return null;\n return marker;\n};\n\nconst intersectsExcluded = (scope: Element, selection: Selection): boolean => {\n const ranges = Array.from({ length: selection.rangeCount }, (_, i) =>\n selection.getRangeAt(i),\n );\n for (const marker of scope.querySelectorAll(QUOTE_SELECTABLE_SELECTOR)) {\n if (!isExcluded(marker)) continue;\n if (ranges.some((range) => range.intersectsNode(marker))) return true;\n }\n return false;\n};\n\nexport const getSelectionMessageId = (\n selection: Selection,\n root?: Element | null,\n): string | null => {\n const { anchorNode, focusNode } = selection;\n if (!anchorNode || !focusNode) return null;\n\n const anchorMessageElement = findMessageElement(anchorNode);\n const focusMessageElement = findMessageElement(focusNode);\n\n if (!anchorMessageElement || anchorMessageElement !== focusMessageElement) {\n return null;\n }\n if (root && !root.contains(anchorMessageElement)) {\n return null;\n }\n\n const messageId = anchorMessageElement.getAttribute(\"data-message-id\");\n if (!messageId) return null;\n\n const anchorMarker = findQuoteMarker(anchorNode, anchorMessageElement);\n const focusMarker = findQuoteMarker(focusNode, anchorMessageElement);\n\n if (anchorMarker && isExcluded(anchorMarker)) return null;\n if (focusMarker && isExcluded(focusMarker)) return null;\n\n if (hasQuoteSelectableRegion(anchorMessageElement)) {\n if (!anchorMarker || anchorMarker !== focusMarker) return null;\n }\n\n const scope = anchorMarker ?? anchorMessageElement;\n\n for (let i = 0; i < selection.rangeCount; i++) {\n const { commonAncestorContainer } = selection.getRangeAt(i);\n if (!scope.contains(commonAncestorContainer)) return null;\n }\n\n return intersectsExcluded(scope, selection) ? null : messageId;\n};\n"],"mappings":";AAAA,MAAMA,4BAA4B;AAElC,MAAMC,cAAcC,SAA0C;CAC5D,OAAOA,gBAAgBE,cAAcF,OAAQA,MAAMG,iBAAiB;AACtE;AAEA,MAAMC,sBAAsBJ,SAA0C;CACpE,IAAIK,KAAKL,gBAAgBE,cAAcF,OAAQA,MAAMG,iBAAiB;CACtE,OAAOE,IAAI;EAET,IADWA,GAAGE,aAAa,iBACvBD,GAAI,OAAOD;EACfA,KAAKA,GAAGF;CACV;CACA,OAAO;AACT;AAEA,MAAMK,cAAcC,WAA6B;CAC/C,OAAOA,OAAOF,aAAa,2BAA2B,MAAM;AAC9D;AAEA,MAAMI,4BAA4BC,mBAAgC;CAChE,IACEA,eAAeC,QAAQf,yBAAyB,KAChD,CAACU,WAAWI,cAAc,GAE1B,OAAO;CAET,KAAK,MAAMH,UAAUG,eAAeE,iBAClChB,yBACF,GACE,IAAI,CAACU,WAAWC,MAAM,GAAG,OAAO;CAElC,OAAO;AACT;AAEA,MAAMM,mBACJf,MACAY,mBACuB;CACvB,MAAMH,SAASV,WAAWC,IAAI,CAAC,EAAEgB,QAAQlB,yBAAyB;CAClE,IAAI,EAAEW,kBAAkBP,cAAc,OAAO;CAC7C,IAAI,CAACU,eAAeK,SAASR,MAAM,GAAG,OAAO;CAC7C,OAAOA;AACT;AAEA,MAAMS,sBAAsBC,OAAgBC,cAAkC;CAC5E,MAAME,SAASC,MAAMC,KAAK,EAAEC,QAAQL,UAAUM,WAAW,IAAIC,GAAGC,MAC9DR,UAAUS,WAAWD,CAAC,CACxB;CACA,KAAK,MAAMnB,UAAUU,MAAML,iBAAiBhB,yBAAyB,GAAG;EACtE,IAAI,CAACU,WAAWC,MAAM,GAAG;EACzB,IAAIa,OAAOQ,MAAMC,UAAUA,MAAMC,eAAevB,MAAM,CAAC,GAAG,OAAO;CACnE;CACA,OAAO;AACT;AAEA,MAAawB,yBACXb,WACAc,SACkB;CAClB,MAAM,EAAEC,YAAYC,cAAchB;CAClC,IAAI,CAACe,cAAc,CAACC,WAAW,OAAO;CAEtC,MAAMC,uBAAuBjC,mBAAmB+B,UAAU;CAC1D,MAAMG,sBAAsBlC,mBAAmBgC,SAAS;CAExD,IAAI,CAACC,wBAAwBA,yBAAyBC,qBACpD,OAAO;CAET,IAAIJ,QAAQ,CAACA,KAAKjB,SAASoB,oBAAoB,GAC7C,OAAO;CAGT,MAAME,YAAYF,qBAAqB9B,aAAa,iBAAiB;CACrE,IAAI,CAACgC,WAAW,OAAO;CAEvB,MAAMC,eAAezB,gBAAgBoB,YAAYE,oBAAoB;CACrE,MAAMI,cAAc1B,gBAAgBqB,WAAWC,oBAAoB;CAEnE,IAAIG,gBAAgBhC,WAAWgC,YAAY,GAAG,OAAO;CACrD,IAAIC,eAAejC,WAAWiC,WAAW,GAAG,OAAO;CAEnD,IAAI9B,yBAAyB0B,oBAAoB,GAC3C;MAAA,CAACG,gBAAgBA,iBAAiBC,aAAa,OAAO;CAAA;CAG5D,MAAMtB,QAAQqB,gBAAgBH;CAE9B,KAAK,IAAIT,IAAI,GAAGA,IAAIR,UAAUM,YAAYE,KAAK;EAC7C,MAAM,EAAEc,4BAA4BtB,UAAUS,WAAWD,CAAC;EAC1D,IAAI,CAACT,MAAMF,SAASyB,uBAAuB,GAAG,OAAO;CACvD;CAEA,OAAOxB,mBAAmBC,OAAOC,SAAS,IAAI,OAAOmB;AACvD"}
@@ -1,4 +1,2 @@
1
- //#region src/utils/hooks/useManagedRef.d.ts
2
1
  export declare const useManagedRef: <TNode>(callback: (node: TNode) => (() => void) | undefined) => (el: TNode | null) => void;
3
- //#endregion
4
2
  //# sourceMappingURL=useManagedRef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useManagedRef.d.ts","names":[],"sources":["../../../src/utils/hooks/useManagedRef.ts"],"mappings":";qBAEa,gBAAiB,OAC5B,WAAW,MAAM,wCAAkC,IAK5C"}
1
+ {"version":3,"file":"useManagedRef.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useManagedRef.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,KAAK,EACjC,UAAU,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,UAK5C,KAAK,GAAG,IAAI,SAgBpB,CAAC"}
@@ -1,4 +1,2 @@
1
- //#region src/utils/hooks/useMediaQuery.d.ts
2
1
  export declare const useMediaQuery: (query: string | null) => boolean;
3
- //#endregion
4
2
  //# sourceMappingURL=useMediaQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMediaQuery.d.ts","names":[],"sources":["../../../src/utils/hooks/useMediaQuery.ts"],"mappings":";qBAOa,gBAAiB"}
1
+ {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,IAAI,KAAG,OAmBpD,CAAC"}
@@ -1,4 +1,2 @@
1
- //#region src/utils/hooks/useOnResizeContent.d.ts
2
1
  export declare const useOnResizeContent: (callback: () => void) => (el: HTMLElement | null) => void;
3
- //#endregion
4
2
  //# sourceMappingURL=useOnResizeContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOnResizeContent.d.ts","names":[],"sources":["../../../src/utils/hooks/useOnResizeContent.ts"],"mappings":";qBAIa,qBAAsB,0BAAoB,IAAA"}
1
+ {"version":3,"file":"useOnResizeContent.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useOnResizeContent.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,IAAI,qCAqCtD,CAAC"}
@@ -1,6 +1,4 @@
1
- //#region src/utils/hooks/useOnScrollToBottom.d.ts
2
1
  export declare const useOnScrollToBottom: (callback: (config: {
3
- behavior: ScrollBehavior;
2
+ behavior: ScrollBehavior;
4
3
  }) => void) => void;
5
- //#endregion
6
4
  //# sourceMappingURL=useOnScrollToBottom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOnScrollToBottom.d.ts","names":[],"sources":["../../../src/utils/hooks/useOnScrollToBottom.ts"],"mappings":";qBAMa,sBACX,WAAW;EAAU,UAAU"}
1
+ {"version":3,"file":"useOnScrollToBottom.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useOnScrollToBottom.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,GAC9B,UAAU,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,cAAc,CAAA;CAAE,KAAK,IAAI,SAQzD,CAAC"}
@@ -1,5 +1,4 @@
1
- import { SizeHandle } from "../../context/stores/ThreadViewport.js";
2
- //#region src/utils/hooks/useSizeHandle.d.ts
1
+ import type { SizeHandle } from "../../context/stores/ThreadViewport.js";
3
2
  /**
4
3
  * Hook that creates a ref for tracking element size via a SizeHandle.
5
4
  * Automatically sets up ResizeObserver and reports height changes.
@@ -9,5 +8,4 @@ import { SizeHandle } from "../../context/stores/ThreadViewport.js";
9
8
  * @returns A ref callback to attach to the element
10
9
  */
11
10
  export declare const useSizeHandle: (register: (() => SizeHandle) | null | undefined, getHeight?: (el: HTMLElement) => number) => (el: HTMLElement | null) => void;
12
- //#endregion
13
11
  //# sourceMappingURL=useSizeHandle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSizeHandle.d.ts","names":[],"sources":["../../../src/utils/hooks/useSizeHandle.ts"],"mappings":";;;;;;;;;;qBAca,gBACX,iBAAiB,gCACjB,aAAa,IAAI,4BAAsB,IAAA"}
1
+ {"version":3,"file":"useSizeHandle.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useSizeHandle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,+CAA4C;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/C,YAAY,CAAC,EAAE,EAAE,WAAW,KAAK,MAAM,qCA0BxC,CAAC"}