@assistant-ui/react 0.7.33 → 0.7.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (403) hide show
  1. package/LICENSE +1 -1
  2. package/dist/context/providers/AssistantRuntimeProvider.d.ts +1 -1
  3. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  4. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  5. package/dist/context/providers/AssistantRuntimeProvider.mjs +6 -1
  6. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  7. package/dist/context/providers/TextContentPartProvider.d.ts +1 -1
  8. package/dist/context/providers/TextContentPartProvider.d.ts.map +1 -1
  9. package/dist/context/providers/TextContentPartProvider.js.map +1 -1
  10. package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
  11. package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +1 -1
  12. package/dist/context/providers/ThreadRuntimeProvider.js +1 -0
  13. package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
  14. package/dist/context/providers/ThreadRuntimeProvider.mjs +2 -0
  15. package/dist/context/providers/ThreadRuntimeProvider.mjs.map +1 -1
  16. package/dist/context/react/ComposerContext.d.ts.map +1 -1
  17. package/dist/context/react/ComposerContext.js +1 -0
  18. package/dist/context/react/ComposerContext.js.map +1 -1
  19. package/dist/context/react/ComposerContext.mjs +2 -0
  20. package/dist/context/react/ComposerContext.mjs.map +1 -1
  21. package/dist/context/react/index.d.ts.map +1 -1
  22. package/dist/context/react/index.js +1 -0
  23. package/dist/context/react/index.js.map +1 -1
  24. package/dist/context/react/index.mjs +2 -0
  25. package/dist/context/react/index.mjs.map +1 -1
  26. package/dist/context/react/utils/createContextHook.d.ts.map +1 -1
  27. package/dist/context/react/utils/createContextHook.js +1 -0
  28. package/dist/context/react/utils/createContextHook.js.map +1 -1
  29. package/dist/context/react/utils/createContextHook.mjs +2 -0
  30. package/dist/context/react/utils/createContextHook.mjs.map +1 -1
  31. package/dist/context/stores/AssistantToolUIs.d.ts.map +1 -1
  32. package/dist/context/stores/AssistantToolUIs.js +0 -1
  33. package/dist/context/stores/AssistantToolUIs.js.map +1 -1
  34. package/dist/context/stores/AssistantToolUIs.mjs +0 -2
  35. package/dist/context/stores/AssistantToolUIs.mjs.map +1 -1
  36. package/dist/model-config/makeAssistantTool.d.ts.map +1 -1
  37. package/dist/model-config/makeAssistantTool.js.map +1 -1
  38. package/dist/model-config/makeAssistantTool.mjs.map +1 -1
  39. package/dist/model-config/makeAssistantToolUI.d.ts.map +1 -1
  40. package/dist/model-config/makeAssistantToolUI.js.map +1 -1
  41. package/dist/model-config/makeAssistantToolUI.mjs.map +1 -1
  42. package/dist/model-config/useInlineRender.d.ts.map +1 -1
  43. package/dist/model-config/useInlineRender.js +1 -0
  44. package/dist/model-config/useInlineRender.js.map +1 -1
  45. package/dist/model-config/useInlineRender.mjs +2 -0
  46. package/dist/model-config/useInlineRender.mjs.map +1 -1
  47. package/dist/primitive-hooks/actionBar/useActionBarCopy.d.ts +6 -4
  48. package/dist/primitive-hooks/actionBar/useActionBarCopy.d.ts.map +1 -1
  49. package/dist/primitive-hooks/actionBar/useActionBarCopy.js +1 -0
  50. package/dist/primitive-hooks/actionBar/useActionBarCopy.js.map +1 -1
  51. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs +2 -0
  52. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs.map +1 -1
  53. package/dist/primitive-hooks/actionBar/useActionBarEdit.d.ts.map +1 -1
  54. package/dist/primitive-hooks/actionBar/useActionBarEdit.js +1 -0
  55. package/dist/primitive-hooks/actionBar/useActionBarEdit.js.map +1 -1
  56. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs +2 -0
  57. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs.map +1 -1
  58. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.d.ts.map +1 -1
  59. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +1 -0
  60. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js.map +1 -1
  61. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs +2 -0
  62. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs.map +1 -1
  63. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.d.ts.map +1 -1
  64. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +1 -0
  65. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js.map +1 -1
  66. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs +2 -0
  67. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs.map +1 -1
  68. package/dist/primitive-hooks/actionBar/useActionBarReload.d.ts.map +1 -1
  69. package/dist/primitive-hooks/actionBar/useActionBarReload.js +1 -0
  70. package/dist/primitive-hooks/actionBar/useActionBarReload.js.map +1 -1
  71. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs +2 -0
  72. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs.map +1 -1
  73. package/dist/primitive-hooks/actionBar/useActionBarSpeak.d.ts.map +1 -1
  74. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +1 -0
  75. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js.map +1 -1
  76. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs +2 -0
  77. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs.map +1 -1
  78. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.d.ts.map +1 -1
  79. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +1 -0
  80. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js.map +1 -1
  81. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs +2 -0
  82. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs.map +1 -1
  83. package/dist/primitive-hooks/attachment/useAttachmentRemove.d.ts.map +1 -1
  84. package/dist/primitive-hooks/attachment/useAttachmentRemove.js +1 -0
  85. package/dist/primitive-hooks/attachment/useAttachmentRemove.js.map +1 -1
  86. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs +2 -0
  87. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs.map +1 -1
  88. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.d.ts.map +1 -1
  89. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js.map +1 -1
  90. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs.map +1 -1
  91. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.d.ts.map +1 -1
  92. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +1 -0
  93. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js.map +1 -1
  94. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs +2 -0
  95. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs.map +1 -1
  96. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.d.ts.map +1 -1
  97. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +1 -0
  98. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js.map +1 -1
  99. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs +2 -0
  100. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs.map +1 -1
  101. package/dist/primitive-hooks/composer/useComposerAddAttachment.d.ts +7 -1
  102. package/dist/primitive-hooks/composer/useComposerAddAttachment.d.ts.map +1 -1
  103. package/dist/primitive-hooks/composer/useComposerAddAttachment.js +10 -4
  104. package/dist/primitive-hooks/composer/useComposerAddAttachment.js.map +1 -1
  105. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs +11 -4
  106. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs.map +1 -1
  107. package/dist/primitive-hooks/composer/useComposerCancel.d.ts.map +1 -1
  108. package/dist/primitive-hooks/composer/useComposerCancel.js +1 -0
  109. package/dist/primitive-hooks/composer/useComposerCancel.js.map +1 -1
  110. package/dist/primitive-hooks/composer/useComposerCancel.mjs +2 -0
  111. package/dist/primitive-hooks/composer/useComposerCancel.mjs.map +1 -1
  112. package/dist/primitive-hooks/composer/useComposerSend.d.ts.map +1 -1
  113. package/dist/primitive-hooks/composer/useComposerSend.js +1 -0
  114. package/dist/primitive-hooks/composer/useComposerSend.js.map +1 -1
  115. package/dist/primitive-hooks/composer/useComposerSend.mjs +2 -0
  116. package/dist/primitive-hooks/composer/useComposerSend.mjs.map +1 -1
  117. package/dist/primitive-hooks/contentPart/useContentPartDisplay.d.ts.map +1 -1
  118. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js +1 -0
  119. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js.map +1 -1
  120. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs +2 -0
  121. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs.map +1 -1
  122. package/dist/primitive-hooks/contentPart/useContentPartImage.d.ts.map +1 -1
  123. package/dist/primitive-hooks/contentPart/useContentPartImage.js +1 -0
  124. package/dist/primitive-hooks/contentPart/useContentPartImage.js.map +1 -1
  125. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs +2 -0
  126. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs.map +1 -1
  127. package/dist/primitive-hooks/contentPart/useContentPartText.d.ts.map +1 -1
  128. package/dist/primitive-hooks/contentPart/useContentPartText.js +1 -0
  129. package/dist/primitive-hooks/contentPart/useContentPartText.js.map +1 -1
  130. package/dist/primitive-hooks/contentPart/useContentPartText.mjs +2 -0
  131. package/dist/primitive-hooks/contentPart/useContentPartText.mjs.map +1 -1
  132. package/dist/primitive-hooks/message/useMessageIf.d.ts.map +1 -1
  133. package/dist/primitive-hooks/message/useMessageIf.js.map +1 -1
  134. package/dist/primitive-hooks/message/useMessageIf.mjs.map +1 -1
  135. package/dist/primitive-hooks/thread/useThreadEmpty.d.ts.map +1 -1
  136. package/dist/primitive-hooks/thread/useThreadEmpty.js +1 -0
  137. package/dist/primitive-hooks/thread/useThreadEmpty.js.map +1 -1
  138. package/dist/primitive-hooks/thread/useThreadEmpty.mjs +2 -0
  139. package/dist/primitive-hooks/thread/useThreadEmpty.mjs.map +1 -1
  140. package/dist/primitive-hooks/thread/useThreadScrollToBottom.d.ts.map +1 -1
  141. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +1 -0
  142. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js.map +1 -1
  143. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs +2 -0
  144. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs.map +1 -1
  145. package/dist/primitive-hooks/thread/useThreadSuggestion.d.ts +8 -6
  146. package/dist/primitive-hooks/thread/useThreadSuggestion.d.ts.map +1 -1
  147. package/dist/primitive-hooks/thread/useThreadSuggestion.js +1 -0
  148. package/dist/primitive-hooks/thread/useThreadSuggestion.js.map +1 -1
  149. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs +2 -0
  150. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs.map +1 -1
  151. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.d.ts +8 -5
  152. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  153. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js.map +1 -1
  154. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs.map +1 -1
  155. package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -1
  156. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  157. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
  158. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  159. package/dist/primitives/actionBar/useActionBarFloatStatus.mjs.map +1 -1
  160. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
  161. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  162. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs.map +1 -1
  163. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
  164. package/dist/primitives/assistantModal/AssistantModalTrigger.js +0 -1
  165. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  166. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs +0 -2
  167. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
  168. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  169. package/dist/primitives/branchPicker/BranchPickerRoot.js +0 -1
  170. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  171. package/dist/primitives/branchPicker/BranchPickerRoot.mjs +0 -2
  172. package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
  173. package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -1
  174. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  175. package/dist/primitives/composer/ComposerAddAttachment.js +2 -1
  176. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  177. package/dist/primitives/composer/ComposerAddAttachment.mjs +2 -1
  178. package/dist/primitives/composer/ComposerAddAttachment.mjs.map +1 -1
  179. package/dist/primitives/contentPart/ContentPartDisplay.d.ts.map +1 -1
  180. package/dist/primitives/contentPart/ContentPartDisplay.js +1 -0
  181. package/dist/primitives/contentPart/ContentPartDisplay.js.map +1 -1
  182. package/dist/primitives/contentPart/ContentPartDisplay.mjs +2 -0
  183. package/dist/primitives/contentPart/ContentPartDisplay.mjs.map +1 -1
  184. package/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -1
  185. package/dist/primitives/contentPart/ContentPartImage.js +1 -0
  186. package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
  187. package/dist/primitives/contentPart/ContentPartImage.mjs +2 -0
  188. package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
  189. package/dist/primitives/contentPart/ContentPartInProgress.d.ts.map +1 -1
  190. package/dist/primitives/contentPart/ContentPartInProgress.js +1 -0
  191. package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
  192. package/dist/primitives/contentPart/ContentPartInProgress.mjs +2 -0
  193. package/dist/primitives/contentPart/ContentPartInProgress.mjs.map +1 -1
  194. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  195. package/dist/primitives/thread/ThreadRoot.js +0 -1
  196. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  197. package/dist/primitives/thread/ThreadRoot.mjs +0 -2
  198. package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
  199. package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -1
  200. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  201. package/dist/primitives/thread/ThreadViewport.d.ts +3 -3
  202. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  203. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  204. package/dist/primitives/thread/ThreadViewport.mjs +1 -3
  205. package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
  206. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +2 -2
  207. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
  208. package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
  209. package/dist/primitives/threadListItem/ThreadListItemTitle.mjs.map +1 -1
  210. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts.map +1 -1
  211. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +1 -0
  212. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js.map +1 -1
  213. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs +2 -0
  214. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs.map +1 -1
  215. package/dist/runtimes/edge/useEdgeRuntime.d.ts.map +1 -1
  216. package/dist/runtimes/edge/useEdgeRuntime.js +1 -0
  217. package/dist/runtimes/edge/useEdgeRuntime.js.map +1 -1
  218. package/dist/runtimes/edge/useEdgeRuntime.mjs +2 -0
  219. package/dist/runtimes/edge/useEdgeRuntime.mjs.map +1 -1
  220. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +11 -11
  221. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  222. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  223. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  224. package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
  225. package/dist/runtimes/external-store/external-message-converter.js +30 -1
  226. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  227. package/dist/runtimes/external-store/external-message-converter.mjs +31 -1
  228. package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
  229. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -1
  230. package/dist/runtimes/external-store/useExternalStoreRuntime.js +1 -0
  231. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  232. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +2 -0
  233. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +1 -1
  234. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  235. package/dist/runtimes/local/ChatModelAdapter.js +0 -1
  236. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  237. package/dist/runtimes/local/ChatModelAdapter.mjs +0 -1
  238. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  239. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +1 -0
  240. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  241. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs +2 -0
  242. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs.map +1 -1
  243. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  244. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +1 -0
  245. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  246. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +2 -0
  247. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
  248. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts +4 -0
  249. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts.map +1 -1
  250. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js +5 -0
  251. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js.map +1 -1
  252. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs +5 -0
  253. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs.map +1 -1
  254. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.d.ts +11 -0
  255. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.d.ts.map +1 -0
  256. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.js +38 -0
  257. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.js.map +1 -0
  258. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.mjs +13 -0
  259. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.mjs.map +1 -0
  260. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  261. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +1 -0
  262. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  263. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +2 -0
  264. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  265. package/dist/types/ContentPartComponentTypes.d.ts.map +1 -1
  266. package/dist/types/ContentPartComponentTypes.js +0 -1
  267. package/dist/types/ContentPartComponentTypes.js.map +1 -1
  268. package/dist/types/ContentPartComponentTypes.mjs +0 -1
  269. package/dist/ui/base/avatar.d.ts.map +1 -1
  270. package/dist/ui/base/avatar.js +0 -1
  271. package/dist/ui/base/avatar.js.map +1 -1
  272. package/dist/ui/base/avatar.mjs +0 -2
  273. package/dist/ui/base/avatar.mjs.map +1 -1
  274. package/dist/ui/base/button.d.ts +2 -1
  275. package/dist/ui/base/button.d.ts.map +1 -1
  276. package/dist/ui/base/button.js.map +1 -1
  277. package/dist/ui/base/button.mjs.map +1 -1
  278. package/dist/ui/base/dialog.d.ts +6 -7
  279. package/dist/ui/base/dialog.d.ts.map +1 -1
  280. package/dist/ui/base/dialog.js +3 -4
  281. package/dist/ui/base/dialog.js.map +1 -1
  282. package/dist/ui/base/dialog.mjs +3 -5
  283. package/dist/ui/base/dialog.mjs.map +1 -1
  284. package/dist/ui/base/tooltip-icon-button.d.ts.map +1 -1
  285. package/dist/ui/base/tooltip-icon-button.js +0 -1
  286. package/dist/ui/base/tooltip-icon-button.js.map +1 -1
  287. package/dist/ui/base/tooltip-icon-button.mjs +0 -2
  288. package/dist/ui/base/tooltip-icon-button.mjs.map +1 -1
  289. package/dist/ui/base/tooltip.d.ts.map +1 -1
  290. package/dist/ui/base/tooltip.js +0 -1
  291. package/dist/ui/base/tooltip.js.map +1 -1
  292. package/dist/ui/base/tooltip.mjs +0 -2
  293. package/dist/ui/base/tooltip.mjs.map +1 -1
  294. package/dist/ui/content-part.d.ts.map +1 -1
  295. package/dist/ui/content-part.js +1 -0
  296. package/dist/ui/content-part.js.map +1 -1
  297. package/dist/ui/content-part.mjs +2 -0
  298. package/dist/ui/content-part.mjs.map +1 -1
  299. package/dist/ui/thread.d.ts +1 -1
  300. package/dist/ui/user-message.d.ts.map +1 -1
  301. package/dist/ui/user-message.js +0 -1
  302. package/dist/ui/user-message.js.map +1 -1
  303. package/dist/ui/user-message.mjs +0 -2
  304. package/dist/ui/user-message.mjs.map +1 -1
  305. package/dist/utils/RequireAtLeastOne.d.ts.map +1 -1
  306. package/dist/utils/RequireAtLeastOne.js +0 -1
  307. package/dist/utils/RequireAtLeastOne.js.map +1 -1
  308. package/dist/utils/RequireAtLeastOne.mjs +0 -1
  309. package/dist/utils/combined/useCombinedStore.d.ts.map +1 -1
  310. package/dist/utils/combined/useCombinedStore.js +1 -0
  311. package/dist/utils/combined/useCombinedStore.js.map +1 -1
  312. package/dist/utils/combined/useCombinedStore.mjs +2 -0
  313. package/dist/utils/combined/useCombinedStore.mjs.map +1 -1
  314. package/dist/utils/createActionButton.d.ts.map +1 -1
  315. package/dist/utils/createActionButton.js +0 -1
  316. package/dist/utils/createActionButton.js.map +1 -1
  317. package/dist/utils/createActionButton.mjs +0 -2
  318. package/dist/utils/createActionButton.mjs.map +1 -1
  319. package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -1
  320. package/dist/utils/hooks/useOnScrollToBottom.js +1 -0
  321. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  322. package/dist/utils/hooks/useOnScrollToBottom.mjs +2 -0
  323. package/dist/utils/hooks/useOnScrollToBottom.mjs.map +1 -1
  324. package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
  325. package/dist/utils/smooth/SmoothContext.js +1 -0
  326. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  327. package/dist/utils/smooth/SmoothContext.mjs +2 -0
  328. package/dist/utils/smooth/SmoothContext.mjs.map +1 -1
  329. package/dist/utils/smooth/index.d.ts +1 -2
  330. package/dist/utils/smooth/index.d.ts.map +1 -1
  331. package/dist/utils/smooth/index.js +2 -2
  332. package/dist/utils/smooth/index.js.map +1 -1
  333. package/dist/utils/smooth/index.mjs +3 -2
  334. package/dist/utils/smooth/index.mjs.map +1 -1
  335. package/package.json +10 -10
  336. package/src/context/providers/AssistantRuntimeProvider.tsx +8 -2
  337. package/src/context/providers/TextContentPartProvider.tsx +1 -2
  338. package/src/context/providers/ThreadRuntimeProvider.tsx +2 -0
  339. package/src/context/react/ComposerContext.ts +2 -0
  340. package/src/context/react/index.ts +4 -0
  341. package/src/context/react/utils/createContextHook.ts +2 -0
  342. package/src/context/stores/AssistantToolUIs.ts +0 -2
  343. package/src/model-config/makeAssistantTool.tsx +1 -0
  344. package/src/model-config/makeAssistantToolUI.tsx +1 -0
  345. package/src/model-config/useInlineRender.tsx +2 -0
  346. package/src/primitive-hooks/actionBar/useActionBarCopy.tsx +8 -4
  347. package/src/primitive-hooks/actionBar/useActionBarEdit.tsx +2 -0
  348. package/src/primitive-hooks/actionBar/useActionBarFeedbackNegative.tsx +2 -0
  349. package/src/primitive-hooks/actionBar/useActionBarFeedbackPositive.tsx +2 -0
  350. package/src/primitive-hooks/actionBar/useActionBarReload.tsx +2 -0
  351. package/src/primitive-hooks/actionBar/useActionBarSpeak.tsx +2 -0
  352. package/src/primitive-hooks/actionBar/useActionBarStopSpeaking.tsx +2 -0
  353. package/src/primitive-hooks/attachment/useAttachmentRemove.ts +2 -0
  354. package/src/primitive-hooks/branchPicker/useBranchPickerCount.tsx +1 -0
  355. package/src/primitive-hooks/branchPicker/useBranchPickerNext.tsx +2 -0
  356. package/src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx +2 -0
  357. package/src/primitive-hooks/composer/useComposerAddAttachment.tsx +18 -4
  358. package/src/primitive-hooks/composer/useComposerCancel.tsx +2 -0
  359. package/src/primitive-hooks/composer/useComposerSend.tsx +2 -0
  360. package/src/primitive-hooks/contentPart/useContentPartDisplay.tsx +2 -0
  361. package/src/primitive-hooks/contentPart/useContentPartImage.tsx +2 -0
  362. package/src/primitive-hooks/contentPart/useContentPartText.tsx +2 -0
  363. package/src/primitive-hooks/message/useMessageIf.tsx +1 -0
  364. package/src/primitive-hooks/thread/useThreadEmpty.tsx +2 -0
  365. package/src/primitive-hooks/thread/useThreadScrollToBottom.tsx +2 -0
  366. package/src/primitive-hooks/thread/useThreadSuggestion.tsx +10 -6
  367. package/src/primitive-hooks/thread/useThreadViewportAutoScroll.tsx +9 -6
  368. package/src/primitives/actionBar/useActionBarFloatStatus.tsx +1 -0
  369. package/src/primitives/assistantModal/AssistantModalAnchor.tsx +1 -0
  370. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +0 -2
  371. package/src/primitives/branchPicker/BranchPickerRoot.tsx +0 -2
  372. package/src/primitives/composer/ComposerAddAttachment.tsx +1 -0
  373. package/src/primitives/contentPart/ContentPartDisplay.tsx +2 -0
  374. package/src/primitives/contentPart/ContentPartImage.tsx +2 -0
  375. package/src/primitives/contentPart/ContentPartInProgress.tsx +2 -0
  376. package/src/primitives/thread/ThreadRoot.tsx +0 -2
  377. package/src/primitives/thread/ThreadViewport.tsx +2 -5
  378. package/src/primitives/threadListItem/ThreadListItemTitle.tsx +2 -2
  379. package/src/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.ts +2 -0
  380. package/src/runtimes/edge/useEdgeRuntime.ts +2 -0
  381. package/src/runtimes/external-store/ThreadMessageLike.tsx +13 -11
  382. package/src/runtimes/external-store/external-message-converter.tsx +46 -2
  383. package/src/runtimes/external-store/useExternalStoreRuntime.tsx +2 -0
  384. package/src/runtimes/local/ChatModelAdapter.tsx +0 -2
  385. package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +2 -0
  386. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +2 -0
  387. package/src/runtimes/remote-thread-list/cloud/AssistantCloud.tsx +5 -0
  388. package/src/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.tsx +13 -0
  389. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +2 -0
  390. package/src/types/ContentPartComponentTypes.tsx +0 -1
  391. package/src/ui/base/avatar.tsx +0 -2
  392. package/src/ui/base/button.tsx +2 -4
  393. package/src/ui/base/dialog.tsx +15 -17
  394. package/src/ui/base/tooltip-icon-button.tsx +0 -2
  395. package/src/ui/base/tooltip.tsx +0 -2
  396. package/src/ui/content-part.tsx +2 -0
  397. package/src/ui/user-message.tsx +0 -2
  398. package/src/utils/RequireAtLeastOne.tsx +0 -1
  399. package/src/utils/combined/useCombinedStore.ts +2 -0
  400. package/src/utils/createActionButton.tsx +0 -2
  401. package/src/utils/hooks/useOnScrollToBottom.tsx +2 -0
  402. package/src/utils/smooth/SmoothContext.tsx +2 -0
  403. package/src/utils/smooth/index.ts +5 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/combined/useCombinedStore.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n type CombinedSelector,\n createCombinedStore,\n StoreOrRuntime,\n} from \"./createCombinedStore\";\n\nexport const useCombinedStore = <T extends Array<unknown>, R>(\n stores: { [K in keyof T]: StoreOrRuntime<T[K]> },\n selector: CombinedSelector<T, R>,\n): R => {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- shallow-compare the store array\n const useCombined = useMemo(() => createCombinedStore<T, R>(stores), stores);\n return useCombined(selector);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AACxB,iCAIO;AAEA,IAAM,mBAAmB,CAC9B,QACA,aACM;AAEN,QAAM,kBAAc,sBAAQ,UAAM,gDAA0B,MAAM,GAAG,MAAM;AAC3E,SAAO,YAAY,QAAQ;AAC7B;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/combined/useCombinedStore.ts"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n type CombinedSelector,\n createCombinedStore,\n StoreOrRuntime,\n} from \"./createCombinedStore\";\n\nexport const useCombinedStore = <T extends Array<unknown>, R>(\n stores: { [K in keyof T]: StoreOrRuntime<T[K]> },\n selector: CombinedSelector<T, R>,\n): R => {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- shallow-compare the store array\n const useCombined = useMemo(() => createCombinedStore<T, R>(stores), stores);\n return useCombined(selector);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAwB;AACxB,iCAIO;AAEA,IAAM,mBAAmB,CAC9B,QACA,aACM;AAEN,QAAM,kBAAc,sBAAQ,UAAM,gDAA0B,MAAM,GAAG,MAAM;AAC3E,SAAO,YAAY,QAAQ;AAC7B;","names":[]}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  // src/utils/combined/useCombinedStore.ts
2
4
  import { useMemo } from "react";
3
5
  import {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/combined/useCombinedStore.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n type CombinedSelector,\n createCombinedStore,\n StoreOrRuntime,\n} from \"./createCombinedStore\";\n\nexport const useCombinedStore = <T extends Array<unknown>, R>(\n stores: { [K in keyof T]: StoreOrRuntime<T[K]> },\n selector: CombinedSelector<T, R>,\n): R => {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- shallow-compare the store array\n const useCombined = useMemo(() => createCombinedStore<T, R>(stores), stores);\n return useCombined(selector);\n};\n"],"mappings":";AAAA,SAAS,eAAe;AACxB;AAAA,EAEE;AAAA,OAEK;AAEA,IAAM,mBAAmB,CAC9B,QACA,aACM;AAEN,QAAM,cAAc,QAAQ,MAAM,oBAA0B,MAAM,GAAG,MAAM;AAC3E,SAAO,YAAY,QAAQ;AAC7B;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/combined/useCombinedStore.ts"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n type CombinedSelector,\n createCombinedStore,\n StoreOrRuntime,\n} from \"./createCombinedStore\";\n\nexport const useCombinedStore = <T extends Array<unknown>, R>(\n stores: { [K in keyof T]: StoreOrRuntime<T[K]> },\n selector: CombinedSelector<T, R>,\n): R => {\n // eslint-disable-next-line react-hooks/exhaustive-deps -- shallow-compare the store array\n const useCombined = useMemo(() => createCombinedStore<T, R>(stores), stores);\n return useCombined(selector);\n};\n"],"mappings":";;;AAEA,SAAS,eAAe;AACxB;AAAA,EAEE;AAAA,OAEK;AAEA,IAAM,mBAAmB,CAC9B,QACA,aACM;AAEN,QAAM,cAAc,QAAQ,MAAM,oBAA0B,MAAM,GAAG,MAAM;AAC3E,SAAO,YAAY,QAAQ;AAC7B;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createActionButton.d.ts","sourceRoot":"","sources":["../../src/utils/createActionButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAEV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,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,UAAU,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,kBAAkB,GAAI,MAAM,eAC1B,MAAM,mBACF,oBAAoB,CAAC,MAAM,CAAC,iBAC/B,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE;;uEAgC5C,CAAC"}
1
+ {"version":3,"file":"createActionButton.d.ts","sourceRoot":"","sources":["../../src/utils/createActionButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,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,UAAU,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,kBAAkB,GAAI,MAAM,eAC1B,MAAM,mBACF,oBAAoB,CAAC,MAAM,CAAC,iBAC/B,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE;;uEAgC5C,CAAC"}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- "use client";
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/createActionButton.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ElementRef,\n forwardRef,\n ComponentPropsWithoutRef,\n MouseEventHandler,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\ntype ActionButtonCallback<TProps> = (\n props: TProps,\n) => MouseEventHandler<HTMLButtonElement> | null;\n\ntype PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;\n\nexport type ActionButtonProps<THook> = PrimitiveButtonProps &\n (THook extends (props: infer TProps) => unknown ? TProps : never);\n\nexport type ActionButtonElement = ElementRef<typeof Primitive.button>;\n\nexport const createActionButton = <TProps,>(\n displayName: string,\n useActionButton: ActionButtonCallback<TProps>,\n forwardProps: (keyof NonNullable<TProps>)[] = [],\n) => {\n const ActionButton = forwardRef<\n ActionButtonElement,\n PrimitiveButtonProps & TProps\n >((props, forwardedRef) => {\n const forwardedProps = {} as TProps;\n const primitiveProps = {} as PrimitiveButtonProps;\n\n (Object.keys(props) as Array<keyof typeof props>).forEach((key) => {\n if (forwardProps.includes(key as keyof TProps)) {\n (forwardedProps as any)[key] = props[key];\n } else {\n (primitiveProps as any)[key] = props[key];\n }\n });\n\n const callback = useActionButton(forwardedProps as TProps) ?? undefined;\n return (\n <Primitive.button\n type=\"button\"\n {...primitiveProps}\n ref={forwardedRef}\n disabled={primitiveProps.disabled || !callback}\n onClick={composeEventHandlers(primitiveProps.onClick, callback)}\n />\n );\n });\n\n ActionButton.displayName = displayName;\n\n return ActionButton;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAKO;AACP,6BAA0B;AAC1B,uBAAqC;AAmC/B;AAtBC,IAAM,qBAAqB,CAChC,aACA,iBACA,eAA8C,CAAC,MAC5C;AACH,QAAM,mBAAe,yBAGnB,CAAC,OAAO,iBAAiB;AACzB,UAAM,iBAAiB,CAAC;AACxB,UAAM,iBAAiB,CAAC;AAExB,IAAC,OAAO,KAAK,KAAK,EAAgC,QAAQ,CAAC,QAAQ;AACjE,UAAI,aAAa,SAAS,GAAmB,GAAG;AAC9C,QAAC,eAAuB,GAAG,IAAI,MAAM,GAAG;AAAA,MAC1C,OAAO;AACL,QAAC,eAAuB,GAAG,IAAI,MAAM,GAAG;AAAA,MAC1C;AAAA,IACF,CAAC;AAED,UAAM,WAAW,gBAAgB,cAAwB,KAAK;AAC9D,WACE;AAAA,MAAC,iCAAU;AAAA,MAAV;AAAA,QACC,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,UAAU,eAAe,YAAY,CAAC;AAAA,QACtC,aAAS,uCAAqB,eAAe,SAAS,QAAQ;AAAA;AAAA,IAChE;AAAA,EAEJ,CAAC;AAED,eAAa,cAAc;AAE3B,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/createActionButton.tsx"],"sourcesContent":["import {\n ElementRef,\n forwardRef,\n ComponentPropsWithoutRef,\n MouseEventHandler,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\ntype ActionButtonCallback<TProps> = (\n props: TProps,\n) => MouseEventHandler<HTMLButtonElement> | null;\n\ntype PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;\n\nexport type ActionButtonProps<THook> = PrimitiveButtonProps &\n (THook extends (props: infer TProps) => unknown ? TProps : never);\n\nexport type ActionButtonElement = ElementRef<typeof Primitive.button>;\n\nexport const createActionButton = <TProps,>(\n displayName: string,\n useActionButton: ActionButtonCallback<TProps>,\n forwardProps: (keyof NonNullable<TProps>)[] = [],\n) => {\n const ActionButton = forwardRef<\n ActionButtonElement,\n PrimitiveButtonProps & TProps\n >((props, forwardedRef) => {\n const forwardedProps = {} as TProps;\n const primitiveProps = {} as PrimitiveButtonProps;\n\n (Object.keys(props) as Array<keyof typeof props>).forEach((key) => {\n if (forwardProps.includes(key as keyof TProps)) {\n (forwardedProps as any)[key] = props[key];\n } else {\n (primitiveProps as any)[key] = props[key];\n }\n });\n\n const callback = useActionButton(forwardedProps as TProps) ?? undefined;\n return (\n <Primitive.button\n type=\"button\"\n {...primitiveProps}\n ref={forwardedRef}\n disabled={primitiveProps.disabled || !callback}\n onClick={composeEventHandlers(primitiveProps.onClick, callback)}\n />\n );\n });\n\n ActionButton.displayName = displayName;\n\n return ActionButton;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAKO;AACP,6BAA0B;AAC1B,uBAAqC;AAmC/B;AAtBC,IAAM,qBAAqB,CAChC,aACA,iBACA,eAA8C,CAAC,MAC5C;AACH,QAAM,mBAAe,yBAGnB,CAAC,OAAO,iBAAiB;AACzB,UAAM,iBAAiB,CAAC;AACxB,UAAM,iBAAiB,CAAC;AAExB,IAAC,OAAO,KAAK,KAAK,EAAgC,QAAQ,CAAC,QAAQ;AACjE,UAAI,aAAa,SAAS,GAAmB,GAAG;AAC9C,QAAC,eAAuB,GAAG,IAAI,MAAM,GAAG;AAAA,MAC1C,OAAO;AACL,QAAC,eAAuB,GAAG,IAAI,MAAM,GAAG;AAAA,MAC1C;AAAA,IACF,CAAC;AAED,UAAM,WAAW,gBAAgB,cAAwB,KAAK;AAC9D,WACE;AAAA,MAAC,iCAAU;AAAA,MAAV;AAAA,QACC,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,UAAU,eAAe,YAAY,CAAC;AAAA,QACtC,aAAS,uCAAqB,eAAe,SAAS,QAAQ;AAAA;AAAA,IAChE;AAAA,EAEJ,CAAC;AAED,eAAa,cAAc;AAE3B,SAAO;AACT;","names":[]}
@@ -1,5 +1,3 @@
1
- "use client";
2
-
3
1
  // src/utils/createActionButton.tsx
4
2
  import {
5
3
  forwardRef
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/createActionButton.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ElementRef,\n forwardRef,\n ComponentPropsWithoutRef,\n MouseEventHandler,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\ntype ActionButtonCallback<TProps> = (\n props: TProps,\n) => MouseEventHandler<HTMLButtonElement> | null;\n\ntype PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;\n\nexport type ActionButtonProps<THook> = PrimitiveButtonProps &\n (THook extends (props: infer TProps) => unknown ? TProps : never);\n\nexport type ActionButtonElement = ElementRef<typeof Primitive.button>;\n\nexport const createActionButton = <TProps,>(\n displayName: string,\n useActionButton: ActionButtonCallback<TProps>,\n forwardProps: (keyof NonNullable<TProps>)[] = [],\n) => {\n const ActionButton = forwardRef<\n ActionButtonElement,\n PrimitiveButtonProps & TProps\n >((props, forwardedRef) => {\n const forwardedProps = {} as TProps;\n const primitiveProps = {} as PrimitiveButtonProps;\n\n (Object.keys(props) as Array<keyof typeof props>).forEach((key) => {\n if (forwardProps.includes(key as keyof TProps)) {\n (forwardedProps as any)[key] = props[key];\n } else {\n (primitiveProps as any)[key] = props[key];\n }\n });\n\n const callback = useActionButton(forwardedProps as TProps) ?? undefined;\n return (\n <Primitive.button\n type=\"button\"\n {...primitiveProps}\n ref={forwardedRef}\n disabled={primitiveProps.disabled || !callback}\n onClick={composeEventHandlers(primitiveProps.onClick, callback)}\n />\n );\n });\n\n ActionButton.displayName = displayName;\n\n return ActionButton;\n};\n"],"mappings":";;;AAEA;AAAA,EAEE;AAAA,OAGK;AACP,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AAmC/B;AAtBC,IAAM,qBAAqB,CAChC,aACA,iBACA,eAA8C,CAAC,MAC5C;AACH,QAAM,eAAe,WAGnB,CAAC,OAAO,iBAAiB;AACzB,UAAM,iBAAiB,CAAC;AACxB,UAAM,iBAAiB,CAAC;AAExB,IAAC,OAAO,KAAK,KAAK,EAAgC,QAAQ,CAAC,QAAQ;AACjE,UAAI,aAAa,SAAS,GAAmB,GAAG;AAC9C,QAAC,eAAuB,GAAG,IAAI,MAAM,GAAG;AAAA,MAC1C,OAAO;AACL,QAAC,eAAuB,GAAG,IAAI,MAAM,GAAG;AAAA,MAC1C;AAAA,IACF,CAAC;AAED,UAAM,WAAW,gBAAgB,cAAwB,KAAK;AAC9D,WACE;AAAA,MAAC,UAAU;AAAA,MAAV;AAAA,QACC,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,UAAU,eAAe,YAAY,CAAC;AAAA,QACtC,SAAS,qBAAqB,eAAe,SAAS,QAAQ;AAAA;AAAA,IAChE;AAAA,EAEJ,CAAC;AAED,eAAa,cAAc;AAE3B,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/createActionButton.tsx"],"sourcesContent":["import {\n ElementRef,\n forwardRef,\n ComponentPropsWithoutRef,\n MouseEventHandler,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\ntype ActionButtonCallback<TProps> = (\n props: TProps,\n) => MouseEventHandler<HTMLButtonElement> | null;\n\ntype PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;\n\nexport type ActionButtonProps<THook> = PrimitiveButtonProps &\n (THook extends (props: infer TProps) => unknown ? TProps : never);\n\nexport type ActionButtonElement = ElementRef<typeof Primitive.button>;\n\nexport const createActionButton = <TProps,>(\n displayName: string,\n useActionButton: ActionButtonCallback<TProps>,\n forwardProps: (keyof NonNullable<TProps>)[] = [],\n) => {\n const ActionButton = forwardRef<\n ActionButtonElement,\n PrimitiveButtonProps & TProps\n >((props, forwardedRef) => {\n const forwardedProps = {} as TProps;\n const primitiveProps = {} as PrimitiveButtonProps;\n\n (Object.keys(props) as Array<keyof typeof props>).forEach((key) => {\n if (forwardProps.includes(key as keyof TProps)) {\n (forwardedProps as any)[key] = props[key];\n } else {\n (primitiveProps as any)[key] = props[key];\n }\n });\n\n const callback = useActionButton(forwardedProps as TProps) ?? undefined;\n return (\n <Primitive.button\n type=\"button\"\n {...primitiveProps}\n ref={forwardedRef}\n disabled={primitiveProps.disabled || !callback}\n onClick={composeEventHandlers(primitiveProps.onClick, callback)}\n />\n );\n });\n\n ActionButton.displayName = displayName;\n\n return ActionButton;\n};\n"],"mappings":";AAAA;AAAA,EAEE;AAAA,OAGK;AACP,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AAmC/B;AAtBC,IAAM,qBAAqB,CAChC,aACA,iBACA,eAA8C,CAAC,MAC5C;AACH,QAAM,eAAe,WAGnB,CAAC,OAAO,iBAAiB;AACzB,UAAM,iBAAiB,CAAC;AACxB,UAAM,iBAAiB,CAAC;AAExB,IAAC,OAAO,KAAK,KAAK,EAAgC,QAAQ,CAAC,QAAQ;AACjE,UAAI,aAAa,SAAS,GAAmB,GAAG;AAC9C,QAAC,eAAuB,GAAG,IAAI,MAAM,GAAG;AAAA,MAC1C,OAAO;AACL,QAAC,eAAuB,GAAG,IAAI,MAAM,GAAG;AAAA,MAC1C;AAAA,IACF,CAAC;AAED,UAAM,WAAW,gBAAgB,cAAwB,KAAK;AAC9D,WACE;AAAA,MAAC,UAAU;AAAA,MAAV;AAAA,QACC,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,UAAU,eAAe,YAAY,CAAC;AAAA,QACtC,SAAS,qBAAqB,eAAe,SAAS,QAAQ;AAAA;AAAA,IAChE;AAAA,EAEJ,CAAC;AAED,eAAa,cAAc;AAE3B,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnScrollToBottom.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useOnScrollToBottom.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,aAAc,MAAM,IAAI,SAOvD,CAAC"}
1
+ {"version":3,"file":"useOnScrollToBottom.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useOnScrollToBottom.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,aAAc,MAAM,IAAI,SAOvD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/hooks/useOnScrollToBottom.tsx"],"sourcesContent":["import { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEffect } from \"react\";\nimport { useThreadViewport } from \"../../context/react/ThreadContext\";\n\nexport const useOnScrollToBottom = (callback: () => void) => {\n const callbackRef = useCallbackRef(callback);\n const onScrollToBottom = useThreadViewport((vp) => vp.onScrollToBottom);\n\n useEffect(() => {\n return onScrollToBottom(callbackRef);\n }, [onScrollToBottom, callbackRef]);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAA+B;AAC/B,mBAA0B;AAC1B,2BAAkC;AAE3B,IAAM,sBAAsB,CAAC,aAAyB;AAC3D,QAAM,kBAAc,8CAAe,QAAQ;AAC3C,QAAM,uBAAmB,wCAAkB,CAAC,OAAO,GAAG,gBAAgB;AAEtE,8BAAU,MAAM;AACd,WAAO,iBAAiB,WAAW;AAAA,EACrC,GAAG,CAAC,kBAAkB,WAAW,CAAC;AACpC;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/hooks/useOnScrollToBottom.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEffect } from \"react\";\nimport { useThreadViewport } from \"../../context/react/ThreadContext\";\n\nexport const useOnScrollToBottom = (callback: () => void) => {\n const callbackRef = useCallbackRef(callback);\n const onScrollToBottom = useThreadViewport((vp) => vp.onScrollToBottom);\n\n useEffect(() => {\n return onScrollToBottom(callbackRef);\n }, [onScrollToBottom, callbackRef]);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oCAA+B;AAC/B,mBAA0B;AAC1B,2BAAkC;AAE3B,IAAM,sBAAsB,CAAC,aAAyB;AAC3D,QAAM,kBAAc,8CAAe,QAAQ;AAC3C,QAAM,uBAAmB,wCAAkB,CAAC,OAAO,GAAG,gBAAgB;AAEtE,8BAAU,MAAM;AACd,WAAO,iBAAiB,WAAW;AAAA,EACrC,GAAG,CAAC,kBAAkB,WAAW,CAAC;AACpC;","names":[]}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  // src/utils/hooks/useOnScrollToBottom.tsx
2
4
  import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
3
5
  import { useEffect } from "react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/hooks/useOnScrollToBottom.tsx"],"sourcesContent":["import { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEffect } from \"react\";\nimport { useThreadViewport } from \"../../context/react/ThreadContext\";\n\nexport const useOnScrollToBottom = (callback: () => void) => {\n const callbackRef = useCallbackRef(callback);\n const onScrollToBottom = useThreadViewport((vp) => vp.onScrollToBottom);\n\n useEffect(() => {\n return onScrollToBottom(callbackRef);\n }, [onScrollToBottom, callbackRef]);\n};\n"],"mappings":";AAAA,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAE3B,IAAM,sBAAsB,CAAC,aAAyB;AAC3D,QAAM,cAAc,eAAe,QAAQ;AAC3C,QAAM,mBAAmB,kBAAkB,CAAC,OAAO,GAAG,gBAAgB;AAEtE,YAAU,MAAM;AACd,WAAO,iBAAiB,WAAW;AAAA,EACrC,GAAG,CAAC,kBAAkB,WAAW,CAAC;AACpC;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/hooks/useOnScrollToBottom.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEffect } from \"react\";\nimport { useThreadViewport } from \"../../context/react/ThreadContext\";\n\nexport const useOnScrollToBottom = (callback: () => void) => {\n const callbackRef = useCallbackRef(callback);\n const onScrollToBottom = useThreadViewport((vp) => vp.onScrollToBottom);\n\n useEffect(() => {\n return onScrollToBottom(callbackRef);\n }, [onScrollToBottom, callbackRef]);\n};\n"],"mappings":";;;AAEA,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAE3B,IAAM,sBAAsB,CAAC,aAAyB;AAC3D,QAAM,cAAc,eAAe,QAAQ;AAC3C,QAAM,mBAAmB,kBAAkB,CAAC,OAAO,GAAG,gBAAgB;AAEtE,YAAU,MAAM;AACd,WAAO,iBAAiB,WAAW;AAAA,EACrC,GAAG,CAAC,kBAAkB,WAAW,CAAC;AACpC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SmoothContext.d.ts","sourceRoot":"","sources":["../../../src/utils/smooth/SmoothContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,EAAE,EAEF,iBAAiB,EAGlB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAwB5D,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,iBAAiB,CAcvD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,aACzD,CAAC,KACX,CAUF,CAAC;AAiBF,eAAO,MAAQ,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGnD,CAAC"}
1
+ {"version":3,"file":"SmoothContext.d.ts","sourceRoot":"","sources":["../../../src/utils/smooth/SmoothContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAEb,EAAE,EAEF,iBAAiB,EAGlB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAwB5D,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,iBAAiB,CAcvD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,aACzD,CAAC,KACX,CAUF,CAAC;AAiBF,eAAO,MAAQ,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGnD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/smooth/SmoothContext.tsx"],"sourcesContent":["import {\n ComponentType,\n createContext,\n FC,\n forwardRef,\n PropsWithChildren,\n useContext,\n useState,\n} from \"react\";\nimport { ReadonlyStore } from \"../../context/ReadonlyStore\";\nimport { create, UseBoundStore } from \"zustand\";\nimport {\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../../types/AssistantTypes\";\nimport { useContentPartRuntime } from \"../../context/react/ContentPartContext\";\nimport { createContextStoreHook } from \"../../context/react/utils/createContextStoreHook\";\n\ntype SmoothContextValue = {\n useSmoothStatus: UseBoundStore<\n ReadonlyStore<ContentPartStatus | ToolCallContentPartStatus>\n >;\n};\n\nconst SmoothContext = createContext<SmoothContextValue | null>(null);\n\nconst makeSmoothContext = (\n initialState: ContentPartStatus | ToolCallContentPartStatus,\n) => {\n const useSmoothStatus = create(() => initialState);\n return { useSmoothStatus };\n};\n\nexport const SmoothContextProvider: FC<PropsWithChildren> = ({ children }) => {\n const outer = useSmoothContext({ optional: true });\n const contentPartRuntime = useContentPartRuntime();\n\n const [context] = useState(() =>\n makeSmoothContext(contentPartRuntime.getState().status),\n );\n\n // do not wrap if there is an outer SmoothContextProvider\n if (outer) return children;\n\n return (\n <SmoothContext.Provider value={context}>{children}</SmoothContext.Provider>\n );\n};\n\nexport const withSmoothContextProvider = <C extends ComponentType<any>>(\n Component: C,\n): C => {\n const Wrapped = forwardRef((props, ref) => {\n return (\n <SmoothContextProvider>\n <Component {...(props as any)} ref={ref} />\n </SmoothContextProvider>\n );\n });\n Wrapped.displayName = Component.displayName;\n return Wrapped as any;\n};\n\nfunction useSmoothContext(options?: {\n optional?: false | undefined;\n}): SmoothContextValue;\nfunction useSmoothContext(options?: {\n optional?: boolean | undefined;\n}): SmoothContextValue | null;\nfunction useSmoothContext(options?: { optional?: boolean | undefined }) {\n const context = useContext(SmoothContext);\n if (!options?.optional && !context)\n throw new Error(\n \"This component must be used within a SmoothContextProvider.\",\n );\n return context;\n}\n\nexport const { useSmoothStatus, useSmoothStatusStore } = createContextStoreHook(\n useSmoothContext,\n \"useSmoothStatus\",\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAQO;AAEP,qBAAsC;AAKtC,gCAAsC;AACtC,oCAAuC;AA6BnC;AArBJ,IAAM,oBAAgB,4BAAyC,IAAI;AAEnE,IAAM,oBAAoB,CACxB,iBACG;AACH,QAAMA,uBAAkB,uBAAO,MAAM,YAAY;AACjD,SAAO,EAAE,iBAAAA,iBAAgB;AAC3B;AAEO,IAAM,wBAA+C,CAAC,EAAE,SAAS,MAAM;AAC5E,QAAM,QAAQ,iBAAiB,EAAE,UAAU,KAAK,CAAC;AACjD,QAAM,yBAAqB,iDAAsB;AAEjD,QAAM,CAAC,OAAO,QAAI;AAAA,IAAS,MACzB,kBAAkB,mBAAmB,SAAS,EAAE,MAAM;AAAA,EACxD;AAGA,MAAI,MAAO,QAAO;AAElB,SACE,4CAAC,cAAc,UAAd,EAAuB,OAAO,SAAU,UAAS;AAEtD;AAEO,IAAM,4BAA4B,CACvC,cACM;AACN,QAAM,cAAU,yBAAW,CAAC,OAAO,QAAQ;AACzC,WACE,4CAAC,yBACC,sDAAC,aAAW,GAAI,OAAe,KAAU,GAC3C;AAAA,EAEJ,CAAC;AACD,UAAQ,cAAc,UAAU;AAChC,SAAO;AACT;AAQA,SAAS,iBAAiB,SAA8C;AACtE,QAAM,cAAU,yBAAW,aAAa;AACxC,MAAI,CAAC,SAAS,YAAY,CAAC;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;AAEO,IAAM,EAAE,iBAAiB,qBAAqB,QAAI;AAAA,EACvD;AAAA,EACA;AACF;","names":["useSmoothStatus"]}
1
+ {"version":3,"sources":["../../../src/utils/smooth/SmoothContext.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ComponentType,\n createContext,\n FC,\n forwardRef,\n PropsWithChildren,\n useContext,\n useState,\n} from \"react\";\nimport { ReadonlyStore } from \"../../context/ReadonlyStore\";\nimport { create, UseBoundStore } from \"zustand\";\nimport {\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../../types/AssistantTypes\";\nimport { useContentPartRuntime } from \"../../context/react/ContentPartContext\";\nimport { createContextStoreHook } from \"../../context/react/utils/createContextStoreHook\";\n\ntype SmoothContextValue = {\n useSmoothStatus: UseBoundStore<\n ReadonlyStore<ContentPartStatus | ToolCallContentPartStatus>\n >;\n};\n\nconst SmoothContext = createContext<SmoothContextValue | null>(null);\n\nconst makeSmoothContext = (\n initialState: ContentPartStatus | ToolCallContentPartStatus,\n) => {\n const useSmoothStatus = create(() => initialState);\n return { useSmoothStatus };\n};\n\nexport const SmoothContextProvider: FC<PropsWithChildren> = ({ children }) => {\n const outer = useSmoothContext({ optional: true });\n const contentPartRuntime = useContentPartRuntime();\n\n const [context] = useState(() =>\n makeSmoothContext(contentPartRuntime.getState().status),\n );\n\n // do not wrap if there is an outer SmoothContextProvider\n if (outer) return children;\n\n return (\n <SmoothContext.Provider value={context}>{children}</SmoothContext.Provider>\n );\n};\n\nexport const withSmoothContextProvider = <C extends ComponentType<any>>(\n Component: C,\n): C => {\n const Wrapped = forwardRef((props, ref) => {\n return (\n <SmoothContextProvider>\n <Component {...(props as any)} ref={ref} />\n </SmoothContextProvider>\n );\n });\n Wrapped.displayName = Component.displayName;\n return Wrapped as any;\n};\n\nfunction useSmoothContext(options?: {\n optional?: false | undefined;\n}): SmoothContextValue;\nfunction useSmoothContext(options?: {\n optional?: boolean | undefined;\n}): SmoothContextValue | null;\nfunction useSmoothContext(options?: { optional?: boolean | undefined }) {\n const context = useContext(SmoothContext);\n if (!options?.optional && !context)\n throw new Error(\n \"This component must be used within a SmoothContextProvider.\",\n );\n return context;\n}\n\nexport const { useSmoothStatus, useSmoothStatusStore } = createContextStoreHook(\n useSmoothContext,\n \"useSmoothStatus\",\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAQO;AAEP,qBAAsC;AAKtC,gCAAsC;AACtC,oCAAuC;AA6BnC;AArBJ,IAAM,oBAAgB,4BAAyC,IAAI;AAEnE,IAAM,oBAAoB,CACxB,iBACG;AACH,QAAMA,uBAAkB,uBAAO,MAAM,YAAY;AACjD,SAAO,EAAE,iBAAAA,iBAAgB;AAC3B;AAEO,IAAM,wBAA+C,CAAC,EAAE,SAAS,MAAM;AAC5E,QAAM,QAAQ,iBAAiB,EAAE,UAAU,KAAK,CAAC;AACjD,QAAM,yBAAqB,iDAAsB;AAEjD,QAAM,CAAC,OAAO,QAAI;AAAA,IAAS,MACzB,kBAAkB,mBAAmB,SAAS,EAAE,MAAM;AAAA,EACxD;AAGA,MAAI,MAAO,QAAO;AAElB,SACE,4CAAC,cAAc,UAAd,EAAuB,OAAO,SAAU,UAAS;AAEtD;AAEO,IAAM,4BAA4B,CACvC,cACM;AACN,QAAM,cAAU,yBAAW,CAAC,OAAO,QAAQ;AACzC,WACE,4CAAC,yBACC,sDAAC,aAAW,GAAI,OAAe,KAAU,GAC3C;AAAA,EAEJ,CAAC;AACD,UAAQ,cAAc,UAAU;AAChC,SAAO;AACT;AAQA,SAAS,iBAAiB,SAA8C;AACtE,QAAM,cAAU,yBAAW,aAAa;AACxC,MAAI,CAAC,SAAS,YAAY,CAAC;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;AAEO,IAAM,EAAE,iBAAiB,qBAAqB,QAAI;AAAA,EACvD;AAAA,EACA;AACF;","names":["useSmoothStatus"]}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  // src/utils/smooth/SmoothContext.tsx
2
4
  import {
3
5
  createContext,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/smooth/SmoothContext.tsx"],"sourcesContent":["import {\n ComponentType,\n createContext,\n FC,\n forwardRef,\n PropsWithChildren,\n useContext,\n useState,\n} from \"react\";\nimport { ReadonlyStore } from \"../../context/ReadonlyStore\";\nimport { create, UseBoundStore } from \"zustand\";\nimport {\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../../types/AssistantTypes\";\nimport { useContentPartRuntime } from \"../../context/react/ContentPartContext\";\nimport { createContextStoreHook } from \"../../context/react/utils/createContextStoreHook\";\n\ntype SmoothContextValue = {\n useSmoothStatus: UseBoundStore<\n ReadonlyStore<ContentPartStatus | ToolCallContentPartStatus>\n >;\n};\n\nconst SmoothContext = createContext<SmoothContextValue | null>(null);\n\nconst makeSmoothContext = (\n initialState: ContentPartStatus | ToolCallContentPartStatus,\n) => {\n const useSmoothStatus = create(() => initialState);\n return { useSmoothStatus };\n};\n\nexport const SmoothContextProvider: FC<PropsWithChildren> = ({ children }) => {\n const outer = useSmoothContext({ optional: true });\n const contentPartRuntime = useContentPartRuntime();\n\n const [context] = useState(() =>\n makeSmoothContext(contentPartRuntime.getState().status),\n );\n\n // do not wrap if there is an outer SmoothContextProvider\n if (outer) return children;\n\n return (\n <SmoothContext.Provider value={context}>{children}</SmoothContext.Provider>\n );\n};\n\nexport const withSmoothContextProvider = <C extends ComponentType<any>>(\n Component: C,\n): C => {\n const Wrapped = forwardRef((props, ref) => {\n return (\n <SmoothContextProvider>\n <Component {...(props as any)} ref={ref} />\n </SmoothContextProvider>\n );\n });\n Wrapped.displayName = Component.displayName;\n return Wrapped as any;\n};\n\nfunction useSmoothContext(options?: {\n optional?: false | undefined;\n}): SmoothContextValue;\nfunction useSmoothContext(options?: {\n optional?: boolean | undefined;\n}): SmoothContextValue | null;\nfunction useSmoothContext(options?: { optional?: boolean | undefined }) {\n const context = useContext(SmoothContext);\n if (!options?.optional && !context)\n throw new Error(\n \"This component must be used within a SmoothContextProvider.\",\n );\n return context;\n}\n\nexport const { useSmoothStatus, useSmoothStatusStore } = createContextStoreHook(\n useSmoothContext,\n \"useSmoothStatus\",\n);\n"],"mappings":";AAAA;AAAA,EAEE;AAAA,EAEA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,cAA6B;AAKtC,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AA6BnC;AArBJ,IAAM,gBAAgB,cAAyC,IAAI;AAEnE,IAAM,oBAAoB,CACxB,iBACG;AACH,QAAMA,mBAAkB,OAAO,MAAM,YAAY;AACjD,SAAO,EAAE,iBAAAA,iBAAgB;AAC3B;AAEO,IAAM,wBAA+C,CAAC,EAAE,SAAS,MAAM;AAC5E,QAAM,QAAQ,iBAAiB,EAAE,UAAU,KAAK,CAAC;AACjD,QAAM,qBAAqB,sBAAsB;AAEjD,QAAM,CAAC,OAAO,IAAI;AAAA,IAAS,MACzB,kBAAkB,mBAAmB,SAAS,EAAE,MAAM;AAAA,EACxD;AAGA,MAAI,MAAO,QAAO;AAElB,SACE,oBAAC,cAAc,UAAd,EAAuB,OAAO,SAAU,UAAS;AAEtD;AAEO,IAAM,4BAA4B,CACvC,cACM;AACN,QAAM,UAAU,WAAW,CAAC,OAAO,QAAQ;AACzC,WACE,oBAAC,yBACC,8BAAC,aAAW,GAAI,OAAe,KAAU,GAC3C;AAAA,EAEJ,CAAC;AACD,UAAQ,cAAc,UAAU;AAChC,SAAO;AACT;AAQA,SAAS,iBAAiB,SAA8C;AACtE,QAAM,UAAU,WAAW,aAAa;AACxC,MAAI,CAAC,SAAS,YAAY,CAAC;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;AAEO,IAAM,EAAE,iBAAiB,qBAAqB,IAAI;AAAA,EACvD;AAAA,EACA;AACF;","names":["useSmoothStatus"]}
1
+ {"version":3,"sources":["../../../src/utils/smooth/SmoothContext.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ComponentType,\n createContext,\n FC,\n forwardRef,\n PropsWithChildren,\n useContext,\n useState,\n} from \"react\";\nimport { ReadonlyStore } from \"../../context/ReadonlyStore\";\nimport { create, UseBoundStore } from \"zustand\";\nimport {\n ContentPartStatus,\n ToolCallContentPartStatus,\n} from \"../../types/AssistantTypes\";\nimport { useContentPartRuntime } from \"../../context/react/ContentPartContext\";\nimport { createContextStoreHook } from \"../../context/react/utils/createContextStoreHook\";\n\ntype SmoothContextValue = {\n useSmoothStatus: UseBoundStore<\n ReadonlyStore<ContentPartStatus | ToolCallContentPartStatus>\n >;\n};\n\nconst SmoothContext = createContext<SmoothContextValue | null>(null);\n\nconst makeSmoothContext = (\n initialState: ContentPartStatus | ToolCallContentPartStatus,\n) => {\n const useSmoothStatus = create(() => initialState);\n return { useSmoothStatus };\n};\n\nexport const SmoothContextProvider: FC<PropsWithChildren> = ({ children }) => {\n const outer = useSmoothContext({ optional: true });\n const contentPartRuntime = useContentPartRuntime();\n\n const [context] = useState(() =>\n makeSmoothContext(contentPartRuntime.getState().status),\n );\n\n // do not wrap if there is an outer SmoothContextProvider\n if (outer) return children;\n\n return (\n <SmoothContext.Provider value={context}>{children}</SmoothContext.Provider>\n );\n};\n\nexport const withSmoothContextProvider = <C extends ComponentType<any>>(\n Component: C,\n): C => {\n const Wrapped = forwardRef((props, ref) => {\n return (\n <SmoothContextProvider>\n <Component {...(props as any)} ref={ref} />\n </SmoothContextProvider>\n );\n });\n Wrapped.displayName = Component.displayName;\n return Wrapped as any;\n};\n\nfunction useSmoothContext(options?: {\n optional?: false | undefined;\n}): SmoothContextValue;\nfunction useSmoothContext(options?: {\n optional?: boolean | undefined;\n}): SmoothContextValue | null;\nfunction useSmoothContext(options?: { optional?: boolean | undefined }) {\n const context = useContext(SmoothContext);\n if (!options?.optional && !context)\n throw new Error(\n \"This component must be used within a SmoothContextProvider.\",\n );\n return context;\n}\n\nexport const { useSmoothStatus, useSmoothStatusStore } = createContextStoreHook(\n useSmoothContext,\n \"useSmoothStatus\",\n);\n"],"mappings":";;;AAEA;AAAA,EAEE;AAAA,EAEA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,cAA6B;AAKtC,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AA6BnC;AArBJ,IAAM,gBAAgB,cAAyC,IAAI;AAEnE,IAAM,oBAAoB,CACxB,iBACG;AACH,QAAMA,mBAAkB,OAAO,MAAM,YAAY;AACjD,SAAO,EAAE,iBAAAA,iBAAgB;AAC3B;AAEO,IAAM,wBAA+C,CAAC,EAAE,SAAS,MAAM;AAC5E,QAAM,QAAQ,iBAAiB,EAAE,UAAU,KAAK,CAAC;AACjD,QAAM,qBAAqB,sBAAsB;AAEjD,QAAM,CAAC,OAAO,IAAI;AAAA,IAAS,MACzB,kBAAkB,mBAAmB,SAAS,EAAE,MAAM;AAAA,EACxD;AAGA,MAAI,MAAO,QAAO;AAElB,SACE,oBAAC,cAAc,UAAd,EAAuB,OAAO,SAAU,UAAS;AAEtD;AAEO,IAAM,4BAA4B,CACvC,cACM;AACN,QAAM,UAAU,WAAW,CAAC,OAAO,QAAQ;AACzC,WACE,oBAAC,yBACC,8BAAC,aAAW,GAAI,OAAe,KAAU,GAC3C;AAAA,EAEJ,CAAC;AACD,UAAQ,cAAc,UAAU;AAChC,SAAO;AACT;AAQA,SAAS,iBAAiB,SAA8C;AACtE,QAAM,UAAU,WAAW,aAAa;AACxC,MAAI,CAAC,SAAS,YAAY,CAAC;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;AAEO,IAAM,EAAE,iBAAiB,qBAAqB,IAAI;AAAA,EACvD;AAAA,EACA;AACF;","names":["useSmoothStatus"]}
@@ -1,4 +1,3 @@
1
1
  export { useSmooth } from "./useSmooth";
2
- export { useSmoothStatus } from "./SmoothContext";
3
- export { withSmoothContextProvider } from "./SmoothContext";
2
+ export { useSmoothStatus, withSmoothContextProvider } from "./SmoothContext";
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/smooth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/smooth/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -22,12 +23,11 @@ var smooth_exports = {};
22
23
  __export(smooth_exports, {
23
24
  useSmooth: () => import_useSmooth.useSmooth,
24
25
  useSmoothStatus: () => import_SmoothContext.useSmoothStatus,
25
- withSmoothContextProvider: () => import_SmoothContext2.withSmoothContextProvider
26
+ withSmoothContextProvider: () => import_SmoothContext.withSmoothContextProvider
26
27
  });
27
28
  module.exports = __toCommonJS(smooth_exports);
28
29
  var import_useSmooth = require("./useSmooth.js");
29
30
  var import_SmoothContext = require("./SmoothContext.js");
30
- var import_SmoothContext2 = require("./SmoothContext.js");
31
31
  // Annotate the CommonJS export names for ESM import in node:
32
32
  0 && (module.exports = {
33
33
  useSmooth,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/smooth/index.ts"],"sourcesContent":["export { useSmooth } from \"./useSmooth\";\nexport { useSmoothStatus } from \"./SmoothContext\";\nexport { withSmoothContextProvider } from \"./SmoothContext\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0B;AAC1B,2BAAgC;AAChC,IAAAA,wBAA0C;","names":["import_SmoothContext"]}
1
+ {"version":3,"sources":["../../../src/utils/smooth/index.ts"],"sourcesContent":["\"use client\";\n// TODO createContextStoreHook does not work well with server-side nextjs bundler\n// use client necessary here for now\n\nexport { useSmooth } from \"./useSmooth\";\nexport { useSmoothStatus, withSmoothContextProvider } from \"./SmoothContext\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,uBAA0B;AAC1B,2BAA2D;","names":[]}
@@ -1,7 +1,8 @@
1
+ "use client";
2
+
1
3
  // src/utils/smooth/index.ts
2
4
  import { useSmooth } from "./useSmooth.mjs";
3
- import { useSmoothStatus } from "./SmoothContext.mjs";
4
- import { withSmoothContextProvider } from "./SmoothContext.mjs";
5
+ import { useSmoothStatus, withSmoothContextProvider } from "./SmoothContext.mjs";
5
6
  export {
6
7
  useSmooth,
7
8
  useSmoothStatus,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/smooth/index.ts"],"sourcesContent":["export { useSmooth } from \"./useSmooth\";\nexport { useSmoothStatus } from \"./SmoothContext\";\nexport { withSmoothContextProvider } from \"./SmoothContext\";\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/smooth/index.ts"],"sourcesContent":["\"use client\";\n// TODO createContextStoreHook does not work well with server-side nextjs bundler\n// use client necessary here for now\n\nexport { useSmooth } from \"./useSmooth\";\nexport { useSmoothStatus, withSmoothContextProvider } from \"./SmoothContext\";\n"],"mappings":";;;AAIA,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB,iCAAiC;","names":[]}
package/package.json CHANGED
@@ -29,7 +29,7 @@
29
29
  "conversational-ui",
30
30
  "conversational-ai"
31
31
  ],
32
- "version": "0.7.33",
32
+ "version": "0.7.35",
33
33
  "license": "MIT",
34
34
  "exports": {
35
35
  ".": {
@@ -65,7 +65,7 @@
65
65
  ],
66
66
  "sideEffects": false,
67
67
  "dependencies": {
68
- "@ai-sdk/provider": "^1.0.3",
68
+ "@ai-sdk/provider": "^1.0.4",
69
69
  "@radix-ui/primitive": "^1.1.1",
70
70
  "@radix-ui/react-avatar": "^1.1.2",
71
71
  "@radix-ui/react-compose-refs": "^1.1.1",
@@ -80,13 +80,13 @@
80
80
  "class-variance-authority": "^0.7.1",
81
81
  "classnames": "^2.5.1",
82
82
  "json-schema": "^0.4.0",
83
- "lucide-react": "^0.469.0",
83
+ "lucide-react": "^0.471.0",
84
84
  "nanoid": "^5.0.9",
85
- "react-textarea-autosize": "^8.5.6",
85
+ "react-textarea-autosize": "^8.5.7",
86
86
  "secure-json-parse": "^3.0.2",
87
87
  "zod": "^3.24.1",
88
88
  "zod-to-json-schema": "^3.24.1",
89
- "zustand": "^5.0.2"
89
+ "zustand": "^5.0.3"
90
90
  },
91
91
  "peerDependencies": {
92
92
  "@types/react": "*",
@@ -112,7 +112,7 @@
112
112
  "autoprefixer": "^10.4.20",
113
113
  "esbuild-plugin-file-path-extensions": "^2.1.4",
114
114
  "eslint": "^9",
115
- "eslint-config-next": "15.1.3",
115
+ "eslint-config-next": "15.1.4",
116
116
  "postcss": "^8.4.49",
117
117
  "postcss-js": "^4.0.1",
118
118
  "postcss-nested": "^7.0.2",
@@ -121,8 +121,8 @@
121
121
  "tsup": "8.3.5",
122
122
  "tsx": "^4.19.2",
123
123
  "@assistant-ui/tailwindcss-transformer": "0.1.0",
124
- "@assistant-ui/tsconfig": "0.0.0",
125
- "@assistant-ui/tsbuildutils": "^0.0.1"
124
+ "@assistant-ui/tsbuildutils": "^0.0.1",
125
+ "@assistant-ui/tsconfig": "0.0.0"
126
126
  },
127
127
  "publishConfig": {
128
128
  "access": "public",
@@ -131,10 +131,10 @@
131
131
  "homepage": "https://www.assistant-ui.com/",
132
132
  "repository": {
133
133
  "type": "git",
134
- "url": "https://github.com/Yonom/assistant-ui/tree/main/packages/react"
134
+ "url": "https://github.com/assistant-ui/assistant-ui/tree/main/packages/react"
135
135
  },
136
136
  "bugs": {
137
- "url": "https://github.com/Yonom/assistant-ui/issues"
137
+ "url": "https://github.com/assistant-ui/assistant-ui/issues"
138
138
  },
139
139
  "scripts": {
140
140
  "build": "tsx scripts/build.mts"
@@ -1,7 +1,13 @@
1
1
  "use client";
2
2
 
3
- import type { FC, PropsWithChildren } from "react";
4
- import { memo, useEffect, useMemo, useState } from "react";
3
+ import {
4
+ FC,
5
+ PropsWithChildren,
6
+ memo,
7
+ useEffect,
8
+ useMemo,
9
+ useState,
10
+ } from "react";
5
11
  import { AssistantContext } from "../react/AssistantContext";
6
12
  import { makeAssistantToolUIsStore } from "../stores/AssistantToolUIs";
7
13
  import { ThreadRuntimeProvider } from "./ThreadRuntimeProvider";
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
 
3
- import type { FC, PropsWithChildren } from "react";
4
- import { useEffect, useState } from "react";
3
+ import { FC, PropsWithChildren, useEffect, useState } from "react";
5
4
  import { create } from "zustand";
6
5
  import {
7
6
  ContentPartContext,
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import type { FC, PropsWithChildren } from "react";
2
4
  import { useEffect, useMemo, useState } from "react";
3
5
  import type { ThreadContextValue } from "../react/ThreadContext";
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useMemo } from "react";
2
4
  import { useMessageContext, useMessageRuntime } from "./MessageContext";
3
5
  import { useThreadContext, useThreadRuntime } from "./ThreadContext";
@@ -1,3 +1,7 @@
1
+ "use client";
2
+ // TODO createContextStoreHook does not work well with server-side nextjs bundler
3
+ // use client necessary here for now
4
+
1
5
  export {
2
6
  useAssistantRuntime,
3
7
  useThreadList,
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useContext, Context } from "react";
2
4
 
3
5
  /**
@@ -1,5 +1,3 @@
1
- "use client";
2
-
3
1
  import { create } from "zustand";
4
2
  import type { ToolCallContentPartComponent } from "../../types/ContentPartComponentTypes";
5
3
  import { Unsubscribe } from "../../types";
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+
2
3
  import { FC } from "react";
3
4
  import { type AssistantToolProps, useAssistantTool } from "./useAssistantTool";
4
5
 
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+
2
3
  import { FC } from "react";
3
4
  import {
4
5
  type AssistantToolUIProps,
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { FC, useCallback, useEffect, useState } from "react";
2
4
  import { ToolCallContentPartProps } from "../types";
3
5
  import { create } from "zustand";
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import {
3
5
  useMessage,
@@ -6,13 +8,15 @@ import {
6
8
  } from "../../context/react/MessageContext";
7
9
  import { useComposerRuntime } from "../../context";
8
10
 
9
- export type UseActionBarCopyProps = {
10
- copiedDuration?: number | undefined;
11
- };
11
+ export namespace useActionBarCopy {
12
+ export interface Options {
13
+ copiedDuration?: number | undefined;
14
+ }
15
+ }
12
16
 
13
17
  export const useActionBarCopy = ({
14
18
  copiedDuration = 3000,
15
- }: UseActionBarCopyProps = {}) => {
19
+ }: useActionBarCopy.Options = {}) => {
16
20
  const messageRuntime = useMessageRuntime();
17
21
  const composerRuntime = useComposerRuntime();
18
22
  const setIsCopied = useMessageUtils((s) => s.setIsCopied);
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useEditComposer, useMessageRuntime } from "../../context";
3
5
 
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useMessageRuntime } from "../../context";
3
5
 
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useMessageRuntime } from "../../context";
3
5
 
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useMessageRuntime } from "../../context/react/MessageContext";
3
5
  import { useThreadRuntime } from "../../context/react/ThreadContext";
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
 
3
5
  import { useMessage, useMessageRuntime } from "../../context";
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import {
3
5
  useMessage,
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useAttachmentRuntime } from "../../context/react/AttachmentContext";
3
5
 
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+
2
3
  import { useMessage } from "../../context/react/MessageContext";
3
4
 
4
5
  export const useBranchPickerCount = () => {
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import {
3
5
  useMessage,
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import {
3
5
  useMessage,
@@ -1,13 +1,25 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useComposer, useComposerRuntime } from "../../context";
3
5
 
4
- export const useComposerAddAttachment = () => {
6
+ export namespace useComposerAddAttachment {
7
+ export interface Options {
8
+ /** allow selecting multiple files */
9
+ multiple?: boolean | undefined;
10
+ }
11
+ }
12
+
13
+ export const useComposerAddAttachment = ({
14
+ multiple = true,
15
+ }: useComposerAddAttachment.Options = {}) => {
5
16
  const disabled = useComposer((c) => !c.isEditing);
6
17
 
7
18
  const composerRuntime = useComposerRuntime();
8
19
  const callback = useCallback(() => {
9
20
  const input = document.createElement("input");
10
21
  input.type = "file";
22
+ input.multiple = multiple;
11
23
 
12
24
  const attachmentAccept = composerRuntime.getAttachmentAccept();
13
25
  if (attachmentAccept !== "*") {
@@ -15,9 +27,11 @@ export const useComposerAddAttachment = () => {
15
27
  }
16
28
 
17
29
  input.onchange = (e) => {
18
- const file = (e.target as HTMLInputElement).files?.[0];
19
- if (!file) return;
20
- composerRuntime.addAttachment(file);
30
+ const fileList = (e.target as HTMLInputElement).files;
31
+ if (!fileList) return;
32
+ for (const file of fileList) {
33
+ composerRuntime.addAttachment(file);
34
+ }
21
35
  };
22
36
 
23
37
  input.click();
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useComposer, useComposerRuntime } from "../../context";
3
5
 
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useCombinedStore } from "../../utils/combined/useCombinedStore";
3
5
  import { useThreadRuntime } from "../../context/react/ThreadContext";
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { ContentPartState } from "../../api/ContentPartRuntime";
2
4
  import { useContentPart } from "../../context/react/ContentPartContext";
3
5
  import { UIContentPart } from "../../types";
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { ContentPartState } from "../../api/ContentPartRuntime";
2
4
  import { useContentPart } from "../../context/react/ContentPartContext";
3
5
  import { ImageContentPart } from "../../types";
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { ContentPartState } from "../../api/ContentPartRuntime";
2
4
  import { useContentPart } from "../../context/react/ContentPartContext";
3
5
  import { TextContentPart } from "../../types";
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+
2
3
  import {
3
4
  useMessageRuntime,
4
5
  useMessageUtilsStore,
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useThreadIf } from "./useThreadIf";
2
4
 
3
5
  export const useThreadEmpty = () => {
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useThreadViewport } from "../../context";
3
5
  import { useThreadViewportStore } from "../../context/react/ThreadContext";
@@ -1,17 +1,21 @@
1
+ "use client";
2
+
1
3
  import { useCallback } from "react";
2
4
  import { useThread } from "../../context";
3
5
  import { useThreadRuntime } from "../../context/react/ThreadContext";
4
6
 
5
- export type UseApplyThreadSuggestionProps = {
6
- prompt: string;
7
- method: "replace";
8
- autoSend?: boolean | undefined;
9
- };
7
+ export namespace useThreadSuggestion {
8
+ export interface Options {
9
+ prompt: string;
10
+ method: "replace";
11
+ autoSend?: boolean | undefined;
12
+ }
13
+ }
10
14
 
11
15
  export const useThreadSuggestion = ({
12
16
  prompt,
13
17
  autoSend,
14
- }: UseApplyThreadSuggestionProps) => {
18
+ }: useThreadSuggestion.Options) => {
15
19
  const threadRuntime = useThreadRuntime();
16
20
 
17
21
  const disabled = useThread((t) => t.isDisabled);