@assistant-ui/react 0.7.34 → 0.7.36

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 (474) hide show
  1. package/dist/context/providers/AssistantRuntimeProvider.d.ts +1 -1
  2. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  3. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  4. package/dist/context/providers/AssistantRuntimeProvider.mjs +6 -1
  5. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  6. package/dist/context/providers/TextContentPartProvider.d.ts +1 -1
  7. package/dist/context/providers/TextContentPartProvider.d.ts.map +1 -1
  8. package/dist/context/providers/TextContentPartProvider.js.map +1 -1
  9. package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
  10. package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +1 -1
  11. package/dist/context/providers/ThreadRuntimeProvider.js +1 -0
  12. package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
  13. package/dist/context/providers/ThreadRuntimeProvider.mjs +2 -0
  14. package/dist/context/providers/ThreadRuntimeProvider.mjs.map +1 -1
  15. package/dist/context/react/ComposerContext.d.ts.map +1 -1
  16. package/dist/context/react/ComposerContext.js +1 -0
  17. package/dist/context/react/ComposerContext.js.map +1 -1
  18. package/dist/context/react/ComposerContext.mjs +2 -0
  19. package/dist/context/react/ComposerContext.mjs.map +1 -1
  20. package/dist/context/react/index.d.ts.map +1 -1
  21. package/dist/context/react/index.js +1 -0
  22. package/dist/context/react/index.js.map +1 -1
  23. package/dist/context/react/index.mjs +2 -0
  24. package/dist/context/react/index.mjs.map +1 -1
  25. package/dist/context/react/utils/createContextHook.d.ts.map +1 -1
  26. package/dist/context/react/utils/createContextHook.js +1 -0
  27. package/dist/context/react/utils/createContextHook.js.map +1 -1
  28. package/dist/context/react/utils/createContextHook.mjs +2 -0
  29. package/dist/context/react/utils/createContextHook.mjs.map +1 -1
  30. package/dist/context/stores/AssistantToolUIs.d.ts.map +1 -1
  31. package/dist/context/stores/AssistantToolUIs.js +0 -1
  32. package/dist/context/stores/AssistantToolUIs.js.map +1 -1
  33. package/dist/context/stores/AssistantToolUIs.mjs +0 -2
  34. package/dist/context/stores/AssistantToolUIs.mjs.map +1 -1
  35. package/dist/internal.d.ts +2 -0
  36. package/dist/internal.d.ts.map +1 -1
  37. package/dist/internal.js +7 -1
  38. package/dist/internal.js.map +1 -1
  39. package/dist/internal.mjs +5 -1
  40. package/dist/internal.mjs.map +1 -1
  41. package/dist/model-config/makeAssistantTool.d.ts.map +1 -1
  42. package/dist/model-config/makeAssistantTool.js.map +1 -1
  43. package/dist/model-config/makeAssistantTool.mjs.map +1 -1
  44. package/dist/model-config/makeAssistantToolUI.d.ts.map +1 -1
  45. package/dist/model-config/makeAssistantToolUI.js.map +1 -1
  46. package/dist/model-config/makeAssistantToolUI.mjs.map +1 -1
  47. package/dist/model-config/useInlineRender.d.ts.map +1 -1
  48. package/dist/model-config/useInlineRender.js +1 -0
  49. package/dist/model-config/useInlineRender.js.map +1 -1
  50. package/dist/model-config/useInlineRender.mjs +2 -0
  51. package/dist/model-config/useInlineRender.mjs.map +1 -1
  52. package/dist/primitive-hooks/actionBar/useActionBarCopy.d.ts +6 -4
  53. package/dist/primitive-hooks/actionBar/useActionBarCopy.d.ts.map +1 -1
  54. package/dist/primitive-hooks/actionBar/useActionBarCopy.js +1 -0
  55. package/dist/primitive-hooks/actionBar/useActionBarCopy.js.map +1 -1
  56. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs +2 -0
  57. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs.map +1 -1
  58. package/dist/primitive-hooks/actionBar/useActionBarEdit.d.ts.map +1 -1
  59. package/dist/primitive-hooks/actionBar/useActionBarEdit.js +1 -0
  60. package/dist/primitive-hooks/actionBar/useActionBarEdit.js.map +1 -1
  61. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs +2 -0
  62. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs.map +1 -1
  63. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.d.ts.map +1 -1
  64. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +1 -0
  65. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js.map +1 -1
  66. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs +2 -0
  67. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs.map +1 -1
  68. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.d.ts.map +1 -1
  69. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +1 -0
  70. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js.map +1 -1
  71. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs +2 -0
  72. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs.map +1 -1
  73. package/dist/primitive-hooks/actionBar/useActionBarReload.d.ts.map +1 -1
  74. package/dist/primitive-hooks/actionBar/useActionBarReload.js +1 -0
  75. package/dist/primitive-hooks/actionBar/useActionBarReload.js.map +1 -1
  76. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs +2 -0
  77. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs.map +1 -1
  78. package/dist/primitive-hooks/actionBar/useActionBarSpeak.d.ts.map +1 -1
  79. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +1 -0
  80. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js.map +1 -1
  81. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs +2 -0
  82. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs.map +1 -1
  83. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.d.ts.map +1 -1
  84. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +1 -0
  85. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js.map +1 -1
  86. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs +2 -0
  87. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs.map +1 -1
  88. package/dist/primitive-hooks/attachment/useAttachmentRemove.d.ts.map +1 -1
  89. package/dist/primitive-hooks/attachment/useAttachmentRemove.js +1 -0
  90. package/dist/primitive-hooks/attachment/useAttachmentRemove.js.map +1 -1
  91. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs +2 -0
  92. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs.map +1 -1
  93. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.d.ts.map +1 -1
  94. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js.map +1 -1
  95. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs.map +1 -1
  96. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.d.ts.map +1 -1
  97. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +1 -0
  98. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js.map +1 -1
  99. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs +2 -0
  100. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs.map +1 -1
  101. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.d.ts.map +1 -1
  102. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +1 -0
  103. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js.map +1 -1
  104. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs +2 -0
  105. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs.map +1 -1
  106. package/dist/primitive-hooks/composer/useComposerAddAttachment.d.ts +7 -1
  107. package/dist/primitive-hooks/composer/useComposerAddAttachment.d.ts.map +1 -1
  108. package/dist/primitive-hooks/composer/useComposerAddAttachment.js +10 -4
  109. package/dist/primitive-hooks/composer/useComposerAddAttachment.js.map +1 -1
  110. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs +11 -4
  111. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs.map +1 -1
  112. package/dist/primitive-hooks/composer/useComposerCancel.d.ts.map +1 -1
  113. package/dist/primitive-hooks/composer/useComposerCancel.js +1 -0
  114. package/dist/primitive-hooks/composer/useComposerCancel.js.map +1 -1
  115. package/dist/primitive-hooks/composer/useComposerCancel.mjs +2 -0
  116. package/dist/primitive-hooks/composer/useComposerCancel.mjs.map +1 -1
  117. package/dist/primitive-hooks/composer/useComposerSend.d.ts.map +1 -1
  118. package/dist/primitive-hooks/composer/useComposerSend.js +1 -0
  119. package/dist/primitive-hooks/composer/useComposerSend.js.map +1 -1
  120. package/dist/primitive-hooks/composer/useComposerSend.mjs +2 -0
  121. package/dist/primitive-hooks/composer/useComposerSend.mjs.map +1 -1
  122. package/dist/primitive-hooks/contentPart/useContentPartDisplay.d.ts +3 -0
  123. package/dist/primitive-hooks/contentPart/useContentPartDisplay.d.ts.map +1 -1
  124. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js +1 -0
  125. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js.map +1 -1
  126. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs +2 -0
  127. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs.map +1 -1
  128. package/dist/primitive-hooks/contentPart/useContentPartImage.d.ts.map +1 -1
  129. package/dist/primitive-hooks/contentPart/useContentPartImage.js +1 -0
  130. package/dist/primitive-hooks/contentPart/useContentPartImage.js.map +1 -1
  131. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs +2 -0
  132. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs.map +1 -1
  133. package/dist/primitive-hooks/contentPart/useContentPartText.d.ts.map +1 -1
  134. package/dist/primitive-hooks/contentPart/useContentPartText.js +1 -0
  135. package/dist/primitive-hooks/contentPart/useContentPartText.js.map +1 -1
  136. package/dist/primitive-hooks/contentPart/useContentPartText.mjs +2 -0
  137. package/dist/primitive-hooks/contentPart/useContentPartText.mjs.map +1 -1
  138. package/dist/primitive-hooks/message/useMessageIf.d.ts.map +1 -1
  139. package/dist/primitive-hooks/message/useMessageIf.js.map +1 -1
  140. package/dist/primitive-hooks/message/useMessageIf.mjs.map +1 -1
  141. package/dist/primitive-hooks/thread/useThreadEmpty.d.ts.map +1 -1
  142. package/dist/primitive-hooks/thread/useThreadEmpty.js +1 -0
  143. package/dist/primitive-hooks/thread/useThreadEmpty.js.map +1 -1
  144. package/dist/primitive-hooks/thread/useThreadEmpty.mjs +2 -0
  145. package/dist/primitive-hooks/thread/useThreadEmpty.mjs.map +1 -1
  146. package/dist/primitive-hooks/thread/useThreadScrollToBottom.d.ts.map +1 -1
  147. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +1 -0
  148. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js.map +1 -1
  149. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs +2 -0
  150. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs.map +1 -1
  151. package/dist/primitive-hooks/thread/useThreadSuggestion.d.ts +8 -6
  152. package/dist/primitive-hooks/thread/useThreadSuggestion.d.ts.map +1 -1
  153. package/dist/primitive-hooks/thread/useThreadSuggestion.js +1 -0
  154. package/dist/primitive-hooks/thread/useThreadSuggestion.js.map +1 -1
  155. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs +2 -0
  156. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs.map +1 -1
  157. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.d.ts +8 -5
  158. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  159. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js.map +1 -1
  160. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs.map +1 -1
  161. package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -1
  162. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  163. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
  164. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  165. package/dist/primitives/actionBar/useActionBarFloatStatus.mjs.map +1 -1
  166. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
  167. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  168. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs.map +1 -1
  169. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
  170. package/dist/primitives/assistantModal/AssistantModalTrigger.js +0 -1
  171. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  172. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs +0 -2
  173. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
  174. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  175. package/dist/primitives/branchPicker/BranchPickerRoot.js +0 -1
  176. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  177. package/dist/primitives/branchPicker/BranchPickerRoot.mjs +0 -2
  178. package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
  179. package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -1
  180. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  181. package/dist/primitives/composer/ComposerAddAttachment.js +2 -1
  182. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  183. package/dist/primitives/composer/ComposerAddAttachment.mjs +2 -1
  184. package/dist/primitives/composer/ComposerAddAttachment.mjs.map +1 -1
  185. package/dist/primitives/contentPart/ContentPartDisplay.d.ts.map +1 -1
  186. package/dist/primitives/contentPart/ContentPartDisplay.js +1 -0
  187. package/dist/primitives/contentPart/ContentPartDisplay.js.map +1 -1
  188. package/dist/primitives/contentPart/ContentPartDisplay.mjs +2 -0
  189. package/dist/primitives/contentPart/ContentPartDisplay.mjs.map +1 -1
  190. package/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -1
  191. package/dist/primitives/contentPart/ContentPartImage.js +1 -0
  192. package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
  193. package/dist/primitives/contentPart/ContentPartImage.mjs +2 -0
  194. package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
  195. package/dist/primitives/contentPart/ContentPartInProgress.d.ts.map +1 -1
  196. package/dist/primitives/contentPart/ContentPartInProgress.js +1 -0
  197. package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
  198. package/dist/primitives/contentPart/ContentPartInProgress.mjs +2 -0
  199. package/dist/primitives/contentPart/ContentPartInProgress.mjs.map +1 -1
  200. package/dist/primitives/message/MessageContent.d.ts +2 -1
  201. package/dist/primitives/message/MessageContent.d.ts.map +1 -1
  202. package/dist/primitives/message/MessageContent.js +6 -2
  203. package/dist/primitives/message/MessageContent.js.map +1 -1
  204. package/dist/primitives/message/MessageContent.mjs +6 -2
  205. package/dist/primitives/message/MessageContent.mjs.map +1 -1
  206. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  207. package/dist/primitives/thread/ThreadRoot.js +0 -1
  208. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  209. package/dist/primitives/thread/ThreadRoot.mjs +0 -2
  210. package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
  211. package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -1
  212. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  213. package/dist/primitives/thread/ThreadViewport.d.ts +3 -3
  214. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  215. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  216. package/dist/primitives/thread/ThreadViewport.mjs +1 -3
  217. package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
  218. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +2 -2
  219. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
  220. package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
  221. package/dist/primitives/threadListItem/ThreadListItemTitle.mjs.map +1 -1
  222. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
  223. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +1 -0
  224. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  225. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +1 -0
  226. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
  227. package/dist/runtimes/core/ComposerRuntimeCore.d.ts +1 -1
  228. package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
  229. package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
  230. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts.map +1 -1
  231. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +1 -0
  232. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js.map +1 -1
  233. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs +2 -0
  234. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs.map +1 -1
  235. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts +28 -0
  236. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.d.ts.map +1 -1
  237. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +6 -0
  238. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +1 -1
  239. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +6 -0
  240. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +1 -1
  241. package/dist/runtimes/edge/converters/fromLanguageModelMessages.d.ts.map +1 -1
  242. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js +8 -1
  243. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js.map +1 -1
  244. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs +8 -1
  245. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs.map +1 -1
  246. package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts.map +1 -1
  247. package/dist/runtimes/edge/converters/toLanguageModelMessages.js +7 -0
  248. package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +1 -1
  249. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +7 -0
  250. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +1 -1
  251. package/dist/runtimes/edge/useEdgeRuntime.d.ts.map +1 -1
  252. package/dist/runtimes/edge/useEdgeRuntime.js +1 -0
  253. package/dist/runtimes/edge/useEdgeRuntime.js.map +1 -1
  254. package/dist/runtimes/edge/useEdgeRuntime.mjs +2 -0
  255. package/dist/runtimes/edge/useEdgeRuntime.mjs.map +1 -1
  256. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +3 -3
  257. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  258. package/dist/runtimes/external-store/ThreadMessageLike.js +7 -2
  259. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  260. package/dist/runtimes/external-store/ThreadMessageLike.mjs +7 -2
  261. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  262. package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
  263. package/dist/runtimes/external-store/external-message-converter.js +1 -0
  264. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  265. package/dist/runtimes/external-store/external-message-converter.mjs +2 -0
  266. package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
  267. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -1
  268. package/dist/runtimes/external-store/useExternalStoreRuntime.js +1 -0
  269. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  270. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +2 -0
  271. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +1 -1
  272. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  273. package/dist/runtimes/local/ChatModelAdapter.js +0 -1
  274. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  275. package/dist/runtimes/local/ChatModelAdapter.mjs +0 -1
  276. package/dist/runtimes/local/LocalRuntimeCore.d.ts +2 -1
  277. package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
  278. package/dist/runtimes/local/LocalRuntimeCore.js +7 -2
  279. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  280. package/dist/runtimes/local/LocalRuntimeCore.mjs +7 -2
  281. package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
  282. package/dist/runtimes/local/LocalRuntimeOptions.d.ts +3 -3
  283. package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
  284. package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
  285. package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
  286. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  287. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +1 -0
  288. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  289. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs +2 -0
  290. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.mjs.map +1 -1
  291. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  292. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +1 -0
  293. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  294. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +2 -0
  295. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
  296. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts +4 -0
  297. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.d.ts.map +1 -1
  298. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js +5 -0
  299. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.js.map +1 -1
  300. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs +5 -0
  301. package/dist/runtimes/remote-thread-list/cloud/AssistantCloud.mjs.map +1 -1
  302. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.d.ts +11 -0
  303. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.d.ts.map +1 -0
  304. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.js +38 -0
  305. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.js.map +1 -0
  306. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.mjs +13 -0
  307. package/dist/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.mjs.map +1 -0
  308. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  309. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +1 -0
  310. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  311. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +2 -0
  312. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  313. package/dist/styles/index.css +1 -0
  314. package/dist/styles/index.css.map +1 -1
  315. package/dist/styles/tailwindcss/thread.css +1 -1
  316. package/dist/styles/tailwindcss/thread.css.json +1 -1
  317. package/dist/types/AssistantTypes.d.ts +44 -2
  318. package/dist/types/AssistantTypes.d.ts.map +1 -1
  319. package/dist/types/AssistantTypes.js.map +1 -1
  320. package/dist/types/ContentPartComponentTypes.d.ts +3 -1
  321. package/dist/types/ContentPartComponentTypes.d.ts.map +1 -1
  322. package/dist/types/ContentPartComponentTypes.js +0 -1
  323. package/dist/types/ContentPartComponentTypes.js.map +1 -1
  324. package/dist/types/ContentPartComponentTypes.mjs +0 -1
  325. package/dist/types/index.d.ts +2 -2
  326. package/dist/types/index.d.ts.map +1 -1
  327. package/dist/types/index.js.map +1 -1
  328. package/dist/ui/base/avatar.d.ts.map +1 -1
  329. package/dist/ui/base/avatar.js +0 -1
  330. package/dist/ui/base/avatar.js.map +1 -1
  331. package/dist/ui/base/avatar.mjs +0 -2
  332. package/dist/ui/base/avatar.mjs.map +1 -1
  333. package/dist/ui/base/button.d.ts +2 -1
  334. package/dist/ui/base/button.d.ts.map +1 -1
  335. package/dist/ui/base/button.js.map +1 -1
  336. package/dist/ui/base/button.mjs.map +1 -1
  337. package/dist/ui/base/dialog.d.ts +6 -7
  338. package/dist/ui/base/dialog.d.ts.map +1 -1
  339. package/dist/ui/base/dialog.js +3 -4
  340. package/dist/ui/base/dialog.js.map +1 -1
  341. package/dist/ui/base/dialog.mjs +3 -5
  342. package/dist/ui/base/dialog.mjs.map +1 -1
  343. package/dist/ui/base/tooltip-icon-button.d.ts.map +1 -1
  344. package/dist/ui/base/tooltip-icon-button.js +0 -1
  345. package/dist/ui/base/tooltip-icon-button.js.map +1 -1
  346. package/dist/ui/base/tooltip-icon-button.mjs +0 -2
  347. package/dist/ui/base/tooltip-icon-button.mjs.map +1 -1
  348. package/dist/ui/base/tooltip.d.ts.map +1 -1
  349. package/dist/ui/base/tooltip.js +0 -1
  350. package/dist/ui/base/tooltip.js.map +1 -1
  351. package/dist/ui/base/tooltip.mjs +0 -2
  352. package/dist/ui/base/tooltip.mjs.map +1 -1
  353. package/dist/ui/content-part.d.ts.map +1 -1
  354. package/dist/ui/content-part.js +1 -0
  355. package/dist/ui/content-part.js.map +1 -1
  356. package/dist/ui/content-part.mjs +2 -0
  357. package/dist/ui/content-part.mjs.map +1 -1
  358. package/dist/ui/thread.d.ts +1 -1
  359. package/dist/ui/user-message.d.ts.map +1 -1
  360. package/dist/ui/user-message.js +0 -1
  361. package/dist/ui/user-message.js.map +1 -1
  362. package/dist/ui/user-message.mjs +0 -2
  363. package/dist/ui/user-message.mjs.map +1 -1
  364. package/dist/utils/RequireAtLeastOne.d.ts.map +1 -1
  365. package/dist/utils/RequireAtLeastOne.js +0 -1
  366. package/dist/utils/RequireAtLeastOne.js.map +1 -1
  367. package/dist/utils/RequireAtLeastOne.mjs +0 -1
  368. package/dist/utils/combined/useCombinedStore.d.ts.map +1 -1
  369. package/dist/utils/combined/useCombinedStore.js +1 -0
  370. package/dist/utils/combined/useCombinedStore.js.map +1 -1
  371. package/dist/utils/combined/useCombinedStore.mjs +2 -0
  372. package/dist/utils/combined/useCombinedStore.mjs.map +1 -1
  373. package/dist/utils/createActionButton.d.ts.map +1 -1
  374. package/dist/utils/createActionButton.js +0 -1
  375. package/dist/utils/createActionButton.js.map +1 -1
  376. package/dist/utils/createActionButton.mjs +0 -2
  377. package/dist/utils/createActionButton.mjs.map +1 -1
  378. package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -1
  379. package/dist/utils/hooks/useOnScrollToBottom.js +1 -0
  380. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  381. package/dist/utils/hooks/useOnScrollToBottom.mjs +2 -0
  382. package/dist/utils/hooks/useOnScrollToBottom.mjs.map +1 -1
  383. package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
  384. package/dist/utils/smooth/SmoothContext.js +1 -0
  385. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  386. package/dist/utils/smooth/SmoothContext.mjs +2 -0
  387. package/dist/utils/smooth/SmoothContext.mjs.map +1 -1
  388. package/dist/utils/smooth/index.d.ts +1 -2
  389. package/dist/utils/smooth/index.d.ts.map +1 -1
  390. package/dist/utils/smooth/index.js +2 -2
  391. package/dist/utils/smooth/index.js.map +1 -1
  392. package/dist/utils/smooth/index.mjs +3 -2
  393. package/dist/utils/smooth/index.mjs.map +1 -1
  394. package/package.json +3 -3
  395. package/src/context/providers/AssistantRuntimeProvider.tsx +8 -2
  396. package/src/context/providers/TextContentPartProvider.tsx +1 -2
  397. package/src/context/providers/ThreadRuntimeProvider.tsx +2 -0
  398. package/src/context/react/ComposerContext.ts +2 -0
  399. package/src/context/react/index.ts +4 -0
  400. package/src/context/react/utils/createContextHook.ts +2 -0
  401. package/src/context/stores/AssistantToolUIs.ts +0 -2
  402. package/src/internal.ts +2 -0
  403. package/src/model-config/makeAssistantTool.tsx +1 -0
  404. package/src/model-config/makeAssistantToolUI.tsx +1 -0
  405. package/src/model-config/useInlineRender.tsx +2 -0
  406. package/src/primitive-hooks/actionBar/useActionBarCopy.tsx +8 -4
  407. package/src/primitive-hooks/actionBar/useActionBarEdit.tsx +2 -0
  408. package/src/primitive-hooks/actionBar/useActionBarFeedbackNegative.tsx +2 -0
  409. package/src/primitive-hooks/actionBar/useActionBarFeedbackPositive.tsx +2 -0
  410. package/src/primitive-hooks/actionBar/useActionBarReload.tsx +2 -0
  411. package/src/primitive-hooks/actionBar/useActionBarSpeak.tsx +2 -0
  412. package/src/primitive-hooks/actionBar/useActionBarStopSpeaking.tsx +2 -0
  413. package/src/primitive-hooks/attachment/useAttachmentRemove.ts +2 -0
  414. package/src/primitive-hooks/branchPicker/useBranchPickerCount.tsx +1 -0
  415. package/src/primitive-hooks/branchPicker/useBranchPickerNext.tsx +2 -0
  416. package/src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx +2 -0
  417. package/src/primitive-hooks/composer/useComposerAddAttachment.tsx +18 -4
  418. package/src/primitive-hooks/composer/useComposerCancel.tsx +2 -0
  419. package/src/primitive-hooks/composer/useComposerSend.tsx +2 -0
  420. package/src/primitive-hooks/contentPart/useContentPartDisplay.tsx +5 -0
  421. package/src/primitive-hooks/contentPart/useContentPartImage.tsx +2 -0
  422. package/src/primitive-hooks/contentPart/useContentPartText.tsx +2 -0
  423. package/src/primitive-hooks/message/useMessageIf.tsx +1 -0
  424. package/src/primitive-hooks/thread/useThreadEmpty.tsx +2 -0
  425. package/src/primitive-hooks/thread/useThreadScrollToBottom.tsx +2 -0
  426. package/src/primitive-hooks/thread/useThreadSuggestion.tsx +10 -6
  427. package/src/primitive-hooks/thread/useThreadViewportAutoScroll.tsx +9 -6
  428. package/src/primitives/actionBar/useActionBarFloatStatus.tsx +1 -0
  429. package/src/primitives/assistantModal/AssistantModalAnchor.tsx +1 -0
  430. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +0 -2
  431. package/src/primitives/branchPicker/BranchPickerRoot.tsx +0 -2
  432. package/src/primitives/composer/ComposerAddAttachment.tsx +1 -0
  433. package/src/primitives/contentPart/ContentPartDisplay.tsx +2 -0
  434. package/src/primitives/contentPart/ContentPartImage.tsx +2 -0
  435. package/src/primitives/contentPart/ContentPartInProgress.tsx +2 -0
  436. package/src/primitives/message/MessageContent.tsx +9 -1
  437. package/src/primitives/thread/ThreadRoot.tsx +0 -2
  438. package/src/primitives/thread/ThreadViewport.tsx +2 -5
  439. package/src/primitives/threadListItem/ThreadListItemTitle.tsx +2 -2
  440. package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +1 -0
  441. package/src/runtimes/core/ComposerRuntimeCore.tsx +1 -1
  442. package/src/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.ts +2 -0
  443. package/src/runtimes/edge/EdgeRuntimeRequestOptions.ts +7 -0
  444. package/src/runtimes/edge/converters/fromLanguageModelMessages.ts +9 -2
  445. package/src/runtimes/edge/converters/toLanguageModelMessages.ts +15 -1
  446. package/src/runtimes/edge/useEdgeRuntime.ts +2 -0
  447. package/src/runtimes/external-store/ThreadMessageLike.tsx +11 -4
  448. package/src/runtimes/external-store/external-message-converter.tsx +2 -0
  449. package/src/runtimes/external-store/useExternalStoreRuntime.tsx +2 -0
  450. package/src/runtimes/local/ChatModelAdapter.tsx +0 -2
  451. package/src/runtimes/local/LocalRuntimeCore.tsx +10 -4
  452. package/src/runtimes/local/LocalRuntimeOptions.tsx +2 -2
  453. package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +2 -0
  454. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +2 -0
  455. package/src/runtimes/remote-thread-list/cloud/AssistantCloud.tsx +5 -0
  456. package/src/runtimes/remote-thread-list/cloud/AssistantCloudAuthTokens.tsx +13 -0
  457. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +2 -0
  458. package/src/styles/tailwindcss/thread.css +1 -1
  459. package/src/types/AssistantTypes.ts +45 -0
  460. package/src/types/ContentPartComponentTypes.tsx +4 -1
  461. package/src/types/index.ts +6 -5
  462. package/src/ui/base/avatar.tsx +0 -2
  463. package/src/ui/base/button.tsx +2 -4
  464. package/src/ui/base/dialog.tsx +15 -17
  465. package/src/ui/base/tooltip-icon-button.tsx +0 -2
  466. package/src/ui/base/tooltip.tsx +0 -2
  467. package/src/ui/content-part.tsx +2 -0
  468. package/src/ui/user-message.tsx +0 -2
  469. package/src/utils/RequireAtLeastOne.tsx +0 -1
  470. package/src/utils/combined/useCombinedStore.ts +2 -0
  471. package/src/utils/createActionButton.tsx +0 -2
  472. package/src/utils/hooks/useOnScrollToBottom.tsx +2 -0
  473. package/src/utils/smooth/SmoothContext.tsx +2 -0
  474. package/src/utils/smooth/index.ts +5 -2
@@ -28,7 +28,8 @@ var import_createActionButton = require("../../utils/createActionButton.js");
28
28
  var import_useComposerAddAttachment = require("../../primitive-hooks/composer/useComposerAddAttachment.js");
29
29
  var ComposerPrimitiveAddAttachment = (0, import_createActionButton.createActionButton)(
30
30
  "ComposerPrimitive.AddAttachment",
31
- import_useComposerAddAttachment.useComposerAddAttachment
31
+ import_useComposerAddAttachment.useComposerAddAttachment,
32
+ ["multiple"]
32
33
  );
33
34
  // Annotate the CommonJS export names for ESM import in node:
34
35
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/composer/ComposerAddAttachment.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useComposerAddAttachment } from \"../../primitive-hooks/composer/useComposerAddAttachment\";\n\nexport namespace ComposerPrimitiveAddAttachment {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerAddAttachment>;\n}\n\nexport const ComposerPrimitiveAddAttachment = createActionButton(\n \"ComposerPrimitive.AddAttachment\",\n useComposerAddAttachment,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gCAIO;AACP,sCAAyC;AAOlC,IAAM,qCAAiC;AAAA,EAC5C;AAAA,EACA;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/composer/ComposerAddAttachment.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useComposerAddAttachment } from \"../../primitive-hooks/composer/useComposerAddAttachment\";\n\nexport namespace ComposerPrimitiveAddAttachment {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerAddAttachment>;\n}\n\nexport const ComposerPrimitiveAddAttachment = createActionButton(\n \"ComposerPrimitive.AddAttachment\",\n useComposerAddAttachment,\n [\"multiple\"],\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gCAIO;AACP,sCAAyC;AAOlC,IAAM,qCAAiC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,UAAU;AACb;","names":[]}
@@ -7,7 +7,8 @@ import {
7
7
  import { useComposerAddAttachment } from "../../primitive-hooks/composer/useComposerAddAttachment.mjs";
8
8
  var ComposerPrimitiveAddAttachment = createActionButton(
9
9
  "ComposerPrimitive.AddAttachment",
10
- useComposerAddAttachment
10
+ useComposerAddAttachment,
11
+ ["multiple"]
11
12
  );
12
13
  export {
13
14
  ComposerPrimitiveAddAttachment
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/composer/ComposerAddAttachment.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useComposerAddAttachment } from \"../../primitive-hooks/composer/useComposerAddAttachment\";\n\nexport namespace ComposerPrimitiveAddAttachment {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerAddAttachment>;\n}\n\nexport const ComposerPrimitiveAddAttachment = createActionButton(\n \"ComposerPrimitive.AddAttachment\",\n useComposerAddAttachment,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,gCAAgC;AAOlC,IAAM,iCAAiC;AAAA,EAC5C;AAAA,EACA;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/composer/ComposerAddAttachment.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useComposerAddAttachment } from \"../../primitive-hooks/composer/useComposerAddAttachment\";\n\nexport namespace ComposerPrimitiveAddAttachment {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerAddAttachment>;\n}\n\nexport const ComposerPrimitiveAddAttachment = createActionButton(\n \"ComposerPrimitive.AddAttachment\",\n useComposerAddAttachment,\n [\"multiple\"],\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,gCAAgC;AAOlC,IAAM,iCAAiC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,UAAU;AACb;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPartDisplay.d.ts","sourceRoot":"","sources":["../../../src/primitives/contentPart/ContentPartDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,yBAAiB,2BAA2B,CAAC;IAC3C,KAAY,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAC1C,2BAA2B,CAAC,KAAK,CAIlC,CAAC"}
1
+ {"version":3,"file":"ContentPartDisplay.d.ts","sourceRoot":"","sources":["../../../src/primitives/contentPart/ContentPartDisplay.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,yBAAiB,2BAA2B,CAAC;IAC3C,KAAY,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAC1C,2BAA2B,CAAC,KAAK,CAIlC,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/primitives/contentPart/ContentPartDisplay.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useContentPartDisplay } from \"../../primitive-hooks/contentPart/useContentPartDisplay\";\n\nexport namespace ContentPartPrimitiveDisplay {\n export type Props = Record<string, never>;\n}\n\nexport const ContentPartPrimitiveDisplay: FC<\n ContentPartPrimitiveDisplay.Props\n> = () => {\n const { display } = useContentPartDisplay();\n return display ?? null;\n};\n\nContentPartPrimitiveDisplay.displayName = \"ContentPartPrimitive.Display\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mCAAsC;AAM/B,IAAM,8BAET,MAAM;AACR,QAAM,EAAE,QAAQ,QAAI,oDAAsB;AAC1C,SAAO,WAAW;AACpB;AAEA,4BAA4B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartDisplay.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC } from \"react\";\nimport { useContentPartDisplay } from \"../../primitive-hooks/contentPart/useContentPartDisplay\";\n\nexport namespace ContentPartPrimitiveDisplay {\n export type Props = Record<string, never>;\n}\n\nexport const ContentPartPrimitiveDisplay: FC<\n ContentPartPrimitiveDisplay.Props\n> = () => {\n const { display } = useContentPartDisplay();\n return display ?? null;\n};\n\nContentPartPrimitiveDisplay.displayName = \"ContentPartPrimitive.Display\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mCAAsC;AAM/B,IAAM,8BAET,MAAM;AACR,QAAM,EAAE,QAAQ,QAAI,oDAAsB;AAC1C,SAAO,WAAW;AACpB;AAEA,4BAA4B,cAAc;","names":[]}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  // src/primitives/contentPart/ContentPartDisplay.tsx
2
4
  import { useContentPartDisplay } from "../../primitive-hooks/contentPart/useContentPartDisplay.mjs";
3
5
  var ContentPartPrimitiveDisplay = () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartDisplay.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useContentPartDisplay } from \"../../primitive-hooks/contentPart/useContentPartDisplay\";\n\nexport namespace ContentPartPrimitiveDisplay {\n export type Props = Record<string, never>;\n}\n\nexport const ContentPartPrimitiveDisplay: FC<\n ContentPartPrimitiveDisplay.Props\n> = () => {\n const { display } = useContentPartDisplay();\n return display ?? null;\n};\n\nContentPartPrimitiveDisplay.displayName = \"ContentPartPrimitive.Display\";\n"],"mappings":";AACA,SAAS,6BAA6B;AAM/B,IAAM,8BAET,MAAM;AACR,QAAM,EAAE,QAAQ,IAAI,sBAAsB;AAC1C,SAAO,WAAW;AACpB;AAEA,4BAA4B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartDisplay.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC } from \"react\";\nimport { useContentPartDisplay } from \"../../primitive-hooks/contentPart/useContentPartDisplay\";\n\nexport namespace ContentPartPrimitiveDisplay {\n export type Props = Record<string, never>;\n}\n\nexport const ContentPartPrimitiveDisplay: FC<\n ContentPartPrimitiveDisplay.Props\n> = () => {\n const { display } = useContentPartDisplay();\n return display ?? null;\n};\n\nContentPartPrimitiveDisplay.displayName = \"ContentPartPrimitive.Display\";\n"],"mappings":";;;AAGA,SAAS,6BAA6B;AAM/B,IAAM,8BAET,MAAM;AACR,QAAM,EAAE,QAAQ,IAAI,sBAAsB;AAC1C,SAAO,WAAW;AACpB;AAEA,4BAA4B,cAAc;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPartImage.d.ts","sourceRoot":"","sources":["../../../src/primitives/contentPart/ContentPartImage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,KAAK,UAAU,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAG9E,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,OAAO,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACvD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,yBAAyB;;4DAMpC,CAAC"}
1
+ {"version":3,"file":"ContentPartImage.d.ts","sourceRoot":"","sources":["../../../src/primitives/contentPart/ContentPartImage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,KAAK,UAAU,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAG9E,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,OAAO,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACvD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,yBAAyB;;4DAMpC,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/primitives/contentPart/ContentPartImage.tsx"],"sourcesContent":["import { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { useContentPartImage } from \"../../primitive-hooks/contentPart/useContentPartImage\";\n\nexport namespace ContentPartPrimitiveImage {\n export type Element = ElementRef<typeof Primitive.img>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.img>;\n}\n\nexport const ContentPartPrimitiveImage = forwardRef<\n ContentPartPrimitiveImage.Element,\n ContentPartPrimitiveImage.Props\n>((props, forwardedRef) => {\n const { image } = useContentPartImage();\n return <Primitive.img src={image} {...props} ref={forwardedRef} />;\n});\n\nContentPartPrimitiveImage.displayName = \"ContentPartPrimitive.Image\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAA0B;AAC1B,mBAAsE;AACtE,iCAAoC;AAY3B;AALF,IAAM,gCAA4B,yBAGvC,CAAC,OAAO,iBAAiB;AACzB,QAAM,EAAE,MAAM,QAAI,gDAAoB;AACtC,SAAO,4CAAC,iCAAU,KAAV,EAAc,KAAK,OAAQ,GAAG,OAAO,KAAK,cAAc;AAClE,CAAC;AAED,0BAA0B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartImage.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { useContentPartImage } from \"../../primitive-hooks/contentPart/useContentPartImage\";\n\nexport namespace ContentPartPrimitiveImage {\n export type Element = ElementRef<typeof Primitive.img>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.img>;\n}\n\nexport const ContentPartPrimitiveImage = forwardRef<\n ContentPartPrimitiveImage.Element,\n ContentPartPrimitiveImage.Props\n>((props, forwardedRef) => {\n const { image } = useContentPartImage();\n return <Primitive.img src={image} {...props} ref={forwardedRef} />;\n});\n\nContentPartPrimitiveImage.displayName = \"ContentPartPrimitive.Image\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAA0B;AAC1B,mBAAsE;AACtE,iCAAoC;AAY3B;AALF,IAAM,gCAA4B,yBAGvC,CAAC,OAAO,iBAAiB;AACzB,QAAM,EAAE,MAAM,QAAI,gDAAoB;AACtC,SAAO,4CAAC,iCAAU,KAAV,EAAc,KAAK,OAAQ,GAAG,OAAO,KAAK,cAAc;AAClE,CAAC;AAED,0BAA0B,cAAc;","names":[]}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  // src/primitives/contentPart/ContentPartImage.tsx
2
4
  import { Primitive } from "@radix-ui/react-primitive";
3
5
  import { forwardRef } from "react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartImage.tsx"],"sourcesContent":["import { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { useContentPartImage } from \"../../primitive-hooks/contentPart/useContentPartImage\";\n\nexport namespace ContentPartPrimitiveImage {\n export type Element = ElementRef<typeof Primitive.img>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.img>;\n}\n\nexport const ContentPartPrimitiveImage = forwardRef<\n ContentPartPrimitiveImage.Element,\n ContentPartPrimitiveImage.Props\n>((props, forwardedRef) => {\n const { image } = useContentPartImage();\n return <Primitive.img src={image} {...props} ref={forwardedRef} />;\n});\n\nContentPartPrimitiveImage.displayName = \"ContentPartPrimitive.Image\";\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAA0B,kBAA4C;AACtE,SAAS,2BAA2B;AAY3B;AALF,IAAM,4BAA4B,WAGvC,CAAC,OAAO,iBAAiB;AACzB,QAAM,EAAE,MAAM,IAAI,oBAAoB;AACtC,SAAO,oBAAC,UAAU,KAAV,EAAc,KAAK,OAAQ,GAAG,OAAO,KAAK,cAAc;AAClE,CAAC;AAED,0BAA0B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartImage.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { useContentPartImage } from \"../../primitive-hooks/contentPart/useContentPartImage\";\n\nexport namespace ContentPartPrimitiveImage {\n export type Element = ElementRef<typeof Primitive.img>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.img>;\n}\n\nexport const ContentPartPrimitiveImage = forwardRef<\n ContentPartPrimitiveImage.Element,\n ContentPartPrimitiveImage.Props\n>((props, forwardedRef) => {\n const { image } = useContentPartImage();\n return <Primitive.img src={image} {...props} ref={forwardedRef} />;\n});\n\nContentPartPrimitiveImage.displayName = \"ContentPartPrimitive.Image\";\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAA0B,kBAA4C;AACtE,SAAS,2BAA2B;AAY3B;AALF,IAAM,4BAA4B,WAGvC,CAAC,OAAO,iBAAiB;AACzB,QAAM,EAAE,MAAM,IAAI,oBAAoB;AACtC,SAAO,oBAAC,UAAU,KAAV,EAAc,KAAK,OAAQ,GAAG,OAAO,KAAK,cAAc;AAClE,CAAC;AAED,0BAA0B,cAAc;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPartInProgress.d.ts","sourceRoot":"","sources":["../../../src/primitives/contentPart/ContentPartInProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG9C,yBAAiB,8BAA8B,CAAC;IAC9C,KAAY,KAAK,GAAG,iBAAiB,CAAC;CACvC;AAGD,eAAO,MAAM,8BAA8B,EAAE,EAAE,CAC7C,8BAA8B,CAAC,KAAK,CAKrC,CAAC"}
1
+ {"version":3,"file":"ContentPartInProgress.d.ts","sourceRoot":"","sources":["../../../src/primitives/contentPart/ContentPartInProgress.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG9C,yBAAiB,8BAA8B,CAAC;IAC9C,KAAY,KAAK,GAAG,iBAAiB,CAAC;CACvC;AAGD,eAAO,MAAM,8BAA8B,EAAE,EAAE,CAC7C,8BAA8B,CAAC,KAAK,CAKrC,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/primitives/contentPart/ContentPartInProgress.tsx"],"sourcesContent":["import { FC, PropsWithChildren } from \"react\";\nimport { useContentPart } from \"../../context\";\n\nexport namespace ContentPartPrimitiveInProgress {\n export type Props = PropsWithChildren;\n}\n\n// TODO should this be renamed to IsRunning?\nexport const ContentPartPrimitiveInProgress: FC<\n ContentPartPrimitiveInProgress.Props\n> = ({ children }) => {\n const isInProgress = useContentPart((c) => c.status.type === \"running\");\n\n return isInProgress ? children : null;\n};\n\nContentPartPrimitiveInProgress.displayName = \"ContentPartPrimitive.InProgress\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAA+B;AAOxB,IAAM,iCAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,mBAAe,+BAAe,CAAC,MAAM,EAAE,OAAO,SAAS,SAAS;AAEtE,SAAO,eAAe,WAAW;AACnC;AAEA,+BAA+B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartInProgress.tsx"],"sourcesContent":["\"use client\";\n\nimport { FC, PropsWithChildren } from \"react\";\nimport { useContentPart } from \"../../context\";\n\nexport namespace ContentPartPrimitiveInProgress {\n export type Props = PropsWithChildren;\n}\n\n// TODO should this be renamed to IsRunning?\nexport const ContentPartPrimitiveInProgress: FC<\n ContentPartPrimitiveInProgress.Props\n> = ({ children }) => {\n const isInProgress = useContentPart((c) => c.status.type === \"running\");\n\n return isInProgress ? children : null;\n};\n\nContentPartPrimitiveInProgress.displayName = \"ContentPartPrimitive.InProgress\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA+B;AAOxB,IAAM,iCAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,mBAAe,+BAAe,CAAC,MAAM,EAAE,OAAO,SAAS,SAAS;AAEtE,SAAO,eAAe,WAAW;AACnC;AAEA,+BAA+B,cAAc;","names":[]}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  // src/primitives/contentPart/ContentPartInProgress.tsx
2
4
  import { useContentPart } from "../../context/index.mjs";
3
5
  var ContentPartPrimitiveInProgress = ({ children }) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartInProgress.tsx"],"sourcesContent":["import { FC, PropsWithChildren } from \"react\";\nimport { useContentPart } from \"../../context\";\n\nexport namespace ContentPartPrimitiveInProgress {\n export type Props = PropsWithChildren;\n}\n\n// TODO should this be renamed to IsRunning?\nexport const ContentPartPrimitiveInProgress: FC<\n ContentPartPrimitiveInProgress.Props\n> = ({ children }) => {\n const isInProgress = useContentPart((c) => c.status.type === \"running\");\n\n return isInProgress ? children : null;\n};\n\nContentPartPrimitiveInProgress.displayName = \"ContentPartPrimitive.InProgress\";\n"],"mappings":";AACA,SAAS,sBAAsB;AAOxB,IAAM,iCAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,eAAe,eAAe,CAAC,MAAM,EAAE,OAAO,SAAS,SAAS;AAEtE,SAAO,eAAe,WAAW;AACnC;AAEA,+BAA+B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/contentPart/ContentPartInProgress.tsx"],"sourcesContent":["\"use client\";\n\nimport { FC, PropsWithChildren } from \"react\";\nimport { useContentPart } from \"../../context\";\n\nexport namespace ContentPartPrimitiveInProgress {\n export type Props = PropsWithChildren;\n}\n\n// TODO should this be renamed to IsRunning?\nexport const ContentPartPrimitiveInProgress: FC<\n ContentPartPrimitiveInProgress.Props\n> = ({ children }) => {\n const isInProgress = useContentPart((c) => c.status.type === \"running\");\n\n return isInProgress ? children : null;\n};\n\nContentPartPrimitiveInProgress.displayName = \"ContentPartPrimitive.InProgress\";\n"],"mappings":";;;AAGA,SAAS,sBAAsB;AAOxB,IAAM,iCAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,eAAe,eAAe,CAAC,MAAM,EAAE,OAAO,SAAS,SAAS;AAEtE,SAAO,eAAe,WAAW;AACnC;AAEA,+BAA+B,cAAc;","names":[]}
@@ -1,11 +1,12 @@
1
1
  import { type ComponentType, type FC } from "react";
2
- import type { Unstable_AudioContentPartComponent, EmptyContentPartComponent, ImageContentPartComponent, TextContentPartComponent, ToolCallContentPartComponent, ToolCallContentPartProps, UIContentPartComponent } from "../../types/ContentPartComponentTypes";
2
+ import type { Unstable_AudioContentPartComponent, EmptyContentPartComponent, ImageContentPartComponent, TextContentPartComponent, ToolCallContentPartComponent, ToolCallContentPartProps, UIContentPartComponent, FileContentPartComponent } from "../../types/ContentPartComponentTypes";
3
3
  export declare namespace MessagePrimitiveContent {
4
4
  type Props = {
5
5
  components?: {
6
6
  Empty?: EmptyContentPartComponent | undefined;
7
7
  Text?: TextContentPartComponent | undefined;
8
8
  Image?: ImageContentPartComponent | undefined;
9
+ File?: FileContentPartComponent | undefined;
9
10
  Unstable_Audio?: Unstable_AudioContentPartComponent | undefined;
10
11
  UI?: UIContentPartComponent | undefined;
11
12
  tools?: {
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContent.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,EAAE,EAAiB,MAAM,OAAO,CAAC;AAcnE,OAAO,KAAK,EACV,kCAAkC,EAClC,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,uCAAuC,CAAC;AAI/C,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,KAAK,GAAG;QAClB,UAAU,CAAC,EACP;YACE,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YAC9C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;YAC5C,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YAC9C,cAAc,CAAC,EAAE,kCAAkC,GAAG,SAAS,CAAC;YAChE,EAAE,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;YACxC,KAAK,CAAC,EACF;gBACE,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,4BAA4B,GAAG,SAAS,CAAC,GACxD,SAAS,CAAC;gBACd,QAAQ,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;aAChE,GACD;gBACE,QAAQ,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;aACnD,GACD,SAAS,CAAC;SACf,GACD,SAAS,CAAC;KACf,CAAC;CACH;AAkHD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAQrE,CAAC"}
1
+ {"version":3,"file":"MessageContent.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,EAAE,EAAiB,MAAM,OAAO,CAAC;AAcnE,OAAO,KAAK,EACV,kCAAkC,EAClC,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAI/C,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,KAAK,GAAG;QAClB,UAAU,CAAC,EACP;YACE,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YAC9C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;YAC5C,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YAC9C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;YAC5C,cAAc,CAAC,EAAE,kCAAkC,GAAG,SAAS,CAAC;YAChE,EAAE,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;YACxC,KAAK,CAAC,EACF;gBACE,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,4BAA4B,GAAG,SAAS,CAAC,GACxD,SAAS,CAAC;gBACd,QAAQ,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;aAChE,GACD;gBACE,QAAQ,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;aACnD,GACD,SAAS,CAAC;SACf,GACD,SAAS,CAAC;KACf,CAAC;CACH;AAwHD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAQrE,CAAC"}
@@ -48,6 +48,7 @@ var defaultComponents = {
48
48
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ContentPartInProgress.ContentPartPrimitiveInProgress, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: { fontFamily: "revert" }, children: " \u25CF" }) })
49
49
  ] }),
50
50
  Image: () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ContentPartImage.ContentPartPrimitiveImage, {}),
51
+ File: () => null,
51
52
  Unstable_Audio: () => null,
52
53
  UI: () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ContentPartDisplay.ContentPartPrimitiveDisplay, {})
53
54
  };
@@ -56,8 +57,9 @@ var MessageContentPartComponent = ({
56
57
  Text = defaultComponents.Text,
57
58
  Empty,
58
59
  Image = defaultComponents.Image,
59
- UI = defaultComponents.UI,
60
+ File = defaultComponents.File,
60
61
  Unstable_Audio: Audio = defaultComponents.Unstable_Audio,
62
+ UI = defaultComponents.UI,
61
63
  tools = {}
62
64
  } = {}
63
65
  }) => {
@@ -81,6 +83,8 @@ var MessageContentPartComponent = ({
81
83
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { ...part });
82
84
  case "image":
83
85
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Image, { ...part });
86
+ case "file":
87
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(File, { ...part });
84
88
  case "audio":
85
89
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Audio, { ...part });
86
90
  case "ui":
@@ -103,7 +107,7 @@ var MessageContentPartImpl = ({
103
107
  };
104
108
  var MessageContentPart = (0, import_react.memo)(
105
109
  MessageContentPartImpl,
106
- (prev, next) => prev.partIndex === next.partIndex && prev.components?.Text === next.components?.Text && prev.components?.Image === next.components?.Image && prev.components?.Unstable_Audio === next.components?.Unstable_Audio && prev.components?.UI === next.components?.UI && prev.components?.tools === next.components?.tools
110
+ (prev, next) => prev.partIndex === next.partIndex && prev.components?.Text === next.components?.Text && prev.components?.Image === next.components?.Image && prev.components?.File === next.components?.File && prev.components?.Unstable_Audio === next.components?.Unstable_Audio && prev.components?.UI === next.components?.UI && prev.components?.tools === next.components?.tools
107
111
  );
108
112
  var MessagePrimitiveContent = ({
109
113
  components
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/message/MessageContent.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ComponentType, type FC, memo, useMemo } from \"react\";\nimport {\n useContentPart,\n useContentPartRuntime,\n useToolUIs,\n} from \"../../context\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\nimport { ContentPartRuntimeProvider } from \"../../context/providers/ContentPartRuntimeProvider\";\nimport { ContentPartPrimitiveText } from \"../contentPart/ContentPartText\";\nimport { ContentPartPrimitiveImage } from \"../contentPart/ContentPartImage\";\nimport { ContentPartPrimitiveDisplay } from \"../contentPart/ContentPartDisplay\";\nimport type {\n Unstable_AudioContentPartComponent,\n EmptyContentPartComponent,\n ImageContentPartComponent,\n TextContentPartComponent,\n ToolCallContentPartComponent,\n ToolCallContentPartProps,\n UIContentPartComponent,\n} from \"../../types/ContentPartComponentTypes\";\nimport { ContentPartPrimitiveInProgress } from \"../contentPart/ContentPartInProgress\";\nimport { EMPTY_CONTENT_SYMBOL } from \"../../api/MessageRuntime\";\n\nexport namespace MessagePrimitiveContent {\n export type Props = {\n components?:\n | {\n Empty?: EmptyContentPartComponent | undefined;\n Text?: TextContentPartComponent | undefined;\n Image?: ImageContentPartComponent | undefined;\n Unstable_Audio?: Unstable_AudioContentPartComponent | undefined;\n UI?: UIContentPartComponent | undefined;\n tools?:\n | {\n by_name?:\n | Record<string, ToolCallContentPartComponent | undefined>\n | undefined;\n Fallback?: ComponentType<ToolCallContentPartProps> | undefined;\n }\n | {\n Override: ComponentType<ToolCallContentPartProps>;\n }\n | undefined;\n }\n | undefined;\n };\n}\n\nconst ToolUIDisplay = ({\n Fallback,\n ...props\n}: {\n Fallback: ToolCallContentPartComponent | undefined;\n} & ToolCallContentPartProps) => {\n const Render = useToolUIs((s) => s.getToolUI(props.toolName)) ?? Fallback;\n if (!Render) return null;\n return <Render {...props} />;\n};\n\nconst defaultComponents = {\n Text: () => (\n <p style={{ whiteSpace: \"pre-line\" }}>\n <ContentPartPrimitiveText />\n <ContentPartPrimitiveInProgress>\n <span style={{ fontFamily: \"revert\" }}>{\" \\u25CF\"}</span>\n </ContentPartPrimitiveInProgress>\n </p>\n ),\n Image: () => <ContentPartPrimitiveImage />,\n Unstable_Audio: () => null,\n UI: () => <ContentPartPrimitiveDisplay />,\n} satisfies MessagePrimitiveContent.Props[\"components\"];\n\ntype MessageContentPartComponentProps = {\n components: MessagePrimitiveContent.Props[\"components\"];\n};\n\nconst MessageContentPartComponent: FC<MessageContentPartComponentProps> = ({\n components: {\n Text = defaultComponents.Text,\n Empty,\n Image = defaultComponents.Image,\n UI = defaultComponents.UI,\n Unstable_Audio: Audio = defaultComponents.Unstable_Audio,\n tools = {},\n } = {},\n}) => {\n const contentPartRuntime = useContentPartRuntime();\n\n const part = useContentPart();\n\n const type = part.type;\n if (type === \"tool-call\") {\n const addResult = (result: any) => contentPartRuntime.addToolResult(result);\n if (\"Override\" in tools)\n return <tools.Override {...part} addResult={addResult} />;\n const Tool = tools.by_name?.[part.toolName] ?? tools.Fallback;\n return <ToolUIDisplay {...part} Fallback={Tool} addResult={addResult} />;\n }\n\n if (part.status.type === \"requires-action\")\n throw new Error(\"Encountered unexpected requires-action status\");\n\n switch (type) {\n case \"text\":\n if ((part as any)[EMPTY_CONTENT_SYMBOL] && !!Empty) {\n return <Empty status={part.status} />;\n }\n\n return <Text {...part} />;\n\n case \"image\":\n // eslint-disable-next-line jsx-a11y/alt-text\n return <Image {...part} />;\n\n case \"audio\":\n return <Audio {...part} />;\n\n case \"ui\":\n return <UI {...part} />;\n\n default:\n const unhandledType: never = type;\n throw new Error(`Unknown content part type: ${unhandledType}`);\n }\n};\n\ntype MessageContentPartProps = {\n partIndex: number;\n components: MessagePrimitiveContent.Props[\"components\"];\n};\n\nconst MessageContentPartImpl: FC<MessageContentPartProps> = ({\n partIndex,\n components,\n}) => {\n const messageRuntime = useMessageRuntime();\n const runtime = useMemo(\n () => messageRuntime.getContentPartByIndex(partIndex),\n [messageRuntime, partIndex],\n );\n\n return (\n <ContentPartRuntimeProvider runtime={runtime}>\n <MessageContentPartComponent components={components} />\n </ContentPartRuntimeProvider>\n );\n};\n\nconst MessageContentPart = memo(\n MessageContentPartImpl,\n (prev, next) =>\n prev.partIndex === next.partIndex &&\n prev.components?.Text === next.components?.Text &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.Unstable_Audio === next.components?.Unstable_Audio &&\n prev.components?.UI === next.components?.UI &&\n prev.components?.tools === next.components?.tools,\n);\n\nexport const MessagePrimitiveContent: FC<MessagePrimitiveContent.Props> = ({\n components,\n}) => {\n const contentLength = useMessage((s) => s.content.length) || 1;\n\n return Array.from({ length: contentLength }, (_, index) => (\n <MessageContentPart key={index} partIndex={index} components={components} />\n ));\n};\n\nMessagePrimitiveContent.displayName = \"MessagePrimitive.Content\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/message/MessageContent.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ComponentType, type FC, memo, useMemo } from \"react\";\nimport {\n useContentPart,\n useContentPartRuntime,\n useToolUIs,\n} from \"../../context\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\nimport { ContentPartRuntimeProvider } from \"../../context/providers/ContentPartRuntimeProvider\";\nimport { ContentPartPrimitiveText } from \"../contentPart/ContentPartText\";\nimport { ContentPartPrimitiveImage } from \"../contentPart/ContentPartImage\";\nimport { ContentPartPrimitiveDisplay } from \"../contentPart/ContentPartDisplay\";\nimport type {\n Unstable_AudioContentPartComponent,\n EmptyContentPartComponent,\n ImageContentPartComponent,\n TextContentPartComponent,\n ToolCallContentPartComponent,\n ToolCallContentPartProps,\n UIContentPartComponent,\n FileContentPartComponent,\n} from \"../../types/ContentPartComponentTypes\";\nimport { ContentPartPrimitiveInProgress } from \"../contentPart/ContentPartInProgress\";\nimport { EMPTY_CONTENT_SYMBOL } from \"../../api/MessageRuntime\";\n\nexport namespace MessagePrimitiveContent {\n export type Props = {\n components?:\n | {\n Empty?: EmptyContentPartComponent | undefined;\n Text?: TextContentPartComponent | undefined;\n Image?: ImageContentPartComponent | undefined;\n File?: FileContentPartComponent | undefined;\n Unstable_Audio?: Unstable_AudioContentPartComponent | undefined;\n UI?: UIContentPartComponent | undefined;\n tools?:\n | {\n by_name?:\n | Record<string, ToolCallContentPartComponent | undefined>\n | undefined;\n Fallback?: ComponentType<ToolCallContentPartProps> | undefined;\n }\n | {\n Override: ComponentType<ToolCallContentPartProps>;\n }\n | undefined;\n }\n | undefined;\n };\n}\n\nconst ToolUIDisplay = ({\n Fallback,\n ...props\n}: {\n Fallback: ToolCallContentPartComponent | undefined;\n} & ToolCallContentPartProps) => {\n const Render = useToolUIs((s) => s.getToolUI(props.toolName)) ?? Fallback;\n if (!Render) return null;\n return <Render {...props} />;\n};\n\nconst defaultComponents = {\n Text: () => (\n <p style={{ whiteSpace: \"pre-line\" }}>\n <ContentPartPrimitiveText />\n <ContentPartPrimitiveInProgress>\n <span style={{ fontFamily: \"revert\" }}>{\" \\u25CF\"}</span>\n </ContentPartPrimitiveInProgress>\n </p>\n ),\n Image: () => <ContentPartPrimitiveImage />,\n File: () => null,\n Unstable_Audio: () => null,\n UI: () => <ContentPartPrimitiveDisplay />,\n} satisfies MessagePrimitiveContent.Props[\"components\"];\n\ntype MessageContentPartComponentProps = {\n components: MessagePrimitiveContent.Props[\"components\"];\n};\n\nconst MessageContentPartComponent: FC<MessageContentPartComponentProps> = ({\n components: {\n Text = defaultComponents.Text,\n Empty,\n Image = defaultComponents.Image,\n File = defaultComponents.File,\n Unstable_Audio: Audio = defaultComponents.Unstable_Audio,\n UI = defaultComponents.UI,\n tools = {},\n } = {},\n}) => {\n const contentPartRuntime = useContentPartRuntime();\n\n const part = useContentPart();\n\n const type = part.type;\n if (type === \"tool-call\") {\n const addResult = (result: any) => contentPartRuntime.addToolResult(result);\n if (\"Override\" in tools)\n return <tools.Override {...part} addResult={addResult} />;\n const Tool = tools.by_name?.[part.toolName] ?? tools.Fallback;\n return <ToolUIDisplay {...part} Fallback={Tool} addResult={addResult} />;\n }\n\n if (part.status.type === \"requires-action\")\n throw new Error(\"Encountered unexpected requires-action status\");\n\n switch (type) {\n case \"text\":\n if ((part as any)[EMPTY_CONTENT_SYMBOL] && !!Empty) {\n return <Empty status={part.status} />;\n }\n\n return <Text {...part} />;\n\n case \"image\":\n // eslint-disable-next-line jsx-a11y/alt-text\n return <Image {...part} />;\n\n case \"file\":\n return <File {...part} />;\n\n case \"audio\":\n return <Audio {...part} />;\n\n case \"ui\":\n return <UI {...part} />;\n\n default:\n const unhandledType: never = type;\n throw new Error(`Unknown content part type: ${unhandledType}`);\n }\n};\n\ntype MessageContentPartProps = {\n partIndex: number;\n components: MessagePrimitiveContent.Props[\"components\"];\n};\n\nconst MessageContentPartImpl: FC<MessageContentPartProps> = ({\n partIndex,\n components,\n}) => {\n const messageRuntime = useMessageRuntime();\n const runtime = useMemo(\n () => messageRuntime.getContentPartByIndex(partIndex),\n [messageRuntime, partIndex],\n );\n\n return (\n <ContentPartRuntimeProvider runtime={runtime}>\n <MessageContentPartComponent components={components} />\n </ContentPartRuntimeProvider>\n );\n};\n\nconst MessageContentPart = memo(\n MessageContentPartImpl,\n (prev, next) =>\n prev.partIndex === next.partIndex &&\n prev.components?.Text === next.components?.Text &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.File === next.components?.File &&\n prev.components?.Unstable_Audio === next.components?.Unstable_Audio &&\n prev.components?.UI === next.components?.UI &&\n prev.components?.tools === next.components?.tools,\n);\n\nexport const MessagePrimitiveContent: FC<MessagePrimitiveContent.Props> = ({\n components,\n}) => {\n const contentLength = useMessage((s) => s.content.length) || 1;\n\n return Array.from({ length: contentLength }, (_, index) => (\n <MessageContentPart key={index} partIndex={index} components={components} />\n ));\n};\n\nMessagePrimitiveContent.displayName = \"MessagePrimitive.Content\";\n"],"mappings":"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","names":[]}
@@ -32,6 +32,7 @@ var defaultComponents = {
32
32
  /* @__PURE__ */ jsx(ContentPartPrimitiveInProgress, { children: /* @__PURE__ */ jsx("span", { style: { fontFamily: "revert" }, children: " \u25CF" }) })
33
33
  ] }),
34
34
  Image: () => /* @__PURE__ */ jsx(ContentPartPrimitiveImage, {}),
35
+ File: () => null,
35
36
  Unstable_Audio: () => null,
36
37
  UI: () => /* @__PURE__ */ jsx(ContentPartPrimitiveDisplay, {})
37
38
  };
@@ -40,8 +41,9 @@ var MessageContentPartComponent = ({
40
41
  Text = defaultComponents.Text,
41
42
  Empty,
42
43
  Image = defaultComponents.Image,
43
- UI = defaultComponents.UI,
44
+ File = defaultComponents.File,
44
45
  Unstable_Audio: Audio = defaultComponents.Unstable_Audio,
46
+ UI = defaultComponents.UI,
45
47
  tools = {}
46
48
  } = {}
47
49
  }) => {
@@ -65,6 +67,8 @@ var MessageContentPartComponent = ({
65
67
  return /* @__PURE__ */ jsx(Text, { ...part });
66
68
  case "image":
67
69
  return /* @__PURE__ */ jsx(Image, { ...part });
70
+ case "file":
71
+ return /* @__PURE__ */ jsx(File, { ...part });
68
72
  case "audio":
69
73
  return /* @__PURE__ */ jsx(Audio, { ...part });
70
74
  case "ui":
@@ -87,7 +91,7 @@ var MessageContentPartImpl = ({
87
91
  };
88
92
  var MessageContentPart = memo(
89
93
  MessageContentPartImpl,
90
- (prev, next) => prev.partIndex === next.partIndex && prev.components?.Text === next.components?.Text && prev.components?.Image === next.components?.Image && prev.components?.Unstable_Audio === next.components?.Unstable_Audio && prev.components?.UI === next.components?.UI && prev.components?.tools === next.components?.tools
94
+ (prev, next) => prev.partIndex === next.partIndex && prev.components?.Text === next.components?.Text && prev.components?.Image === next.components?.Image && prev.components?.File === next.components?.File && prev.components?.Unstable_Audio === next.components?.Unstable_Audio && prev.components?.UI === next.components?.UI && prev.components?.tools === next.components?.tools
91
95
  );
92
96
  var MessagePrimitiveContent = ({
93
97
  components
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/message/MessageContent.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ComponentType, type FC, memo, useMemo } from \"react\";\nimport {\n useContentPart,\n useContentPartRuntime,\n useToolUIs,\n} from \"../../context\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\nimport { ContentPartRuntimeProvider } from \"../../context/providers/ContentPartRuntimeProvider\";\nimport { ContentPartPrimitiveText } from \"../contentPart/ContentPartText\";\nimport { ContentPartPrimitiveImage } from \"../contentPart/ContentPartImage\";\nimport { ContentPartPrimitiveDisplay } from \"../contentPart/ContentPartDisplay\";\nimport type {\n Unstable_AudioContentPartComponent,\n EmptyContentPartComponent,\n ImageContentPartComponent,\n TextContentPartComponent,\n ToolCallContentPartComponent,\n ToolCallContentPartProps,\n UIContentPartComponent,\n} from \"../../types/ContentPartComponentTypes\";\nimport { ContentPartPrimitiveInProgress } from \"../contentPart/ContentPartInProgress\";\nimport { EMPTY_CONTENT_SYMBOL } from \"../../api/MessageRuntime\";\n\nexport namespace MessagePrimitiveContent {\n export type Props = {\n components?:\n | {\n Empty?: EmptyContentPartComponent | undefined;\n Text?: TextContentPartComponent | undefined;\n Image?: ImageContentPartComponent | undefined;\n Unstable_Audio?: Unstable_AudioContentPartComponent | undefined;\n UI?: UIContentPartComponent | undefined;\n tools?:\n | {\n by_name?:\n | Record<string, ToolCallContentPartComponent | undefined>\n | undefined;\n Fallback?: ComponentType<ToolCallContentPartProps> | undefined;\n }\n | {\n Override: ComponentType<ToolCallContentPartProps>;\n }\n | undefined;\n }\n | undefined;\n };\n}\n\nconst ToolUIDisplay = ({\n Fallback,\n ...props\n}: {\n Fallback: ToolCallContentPartComponent | undefined;\n} & ToolCallContentPartProps) => {\n const Render = useToolUIs((s) => s.getToolUI(props.toolName)) ?? Fallback;\n if (!Render) return null;\n return <Render {...props} />;\n};\n\nconst defaultComponents = {\n Text: () => (\n <p style={{ whiteSpace: \"pre-line\" }}>\n <ContentPartPrimitiveText />\n <ContentPartPrimitiveInProgress>\n <span style={{ fontFamily: \"revert\" }}>{\" \\u25CF\"}</span>\n </ContentPartPrimitiveInProgress>\n </p>\n ),\n Image: () => <ContentPartPrimitiveImage />,\n Unstable_Audio: () => null,\n UI: () => <ContentPartPrimitiveDisplay />,\n} satisfies MessagePrimitiveContent.Props[\"components\"];\n\ntype MessageContentPartComponentProps = {\n components: MessagePrimitiveContent.Props[\"components\"];\n};\n\nconst MessageContentPartComponent: FC<MessageContentPartComponentProps> = ({\n components: {\n Text = defaultComponents.Text,\n Empty,\n Image = defaultComponents.Image,\n UI = defaultComponents.UI,\n Unstable_Audio: Audio = defaultComponents.Unstable_Audio,\n tools = {},\n } = {},\n}) => {\n const contentPartRuntime = useContentPartRuntime();\n\n const part = useContentPart();\n\n const type = part.type;\n if (type === \"tool-call\") {\n const addResult = (result: any) => contentPartRuntime.addToolResult(result);\n if (\"Override\" in tools)\n return <tools.Override {...part} addResult={addResult} />;\n const Tool = tools.by_name?.[part.toolName] ?? tools.Fallback;\n return <ToolUIDisplay {...part} Fallback={Tool} addResult={addResult} />;\n }\n\n if (part.status.type === \"requires-action\")\n throw new Error(\"Encountered unexpected requires-action status\");\n\n switch (type) {\n case \"text\":\n if ((part as any)[EMPTY_CONTENT_SYMBOL] && !!Empty) {\n return <Empty status={part.status} />;\n }\n\n return <Text {...part} />;\n\n case \"image\":\n // eslint-disable-next-line jsx-a11y/alt-text\n return <Image {...part} />;\n\n case \"audio\":\n return <Audio {...part} />;\n\n case \"ui\":\n return <UI {...part} />;\n\n default:\n const unhandledType: never = type;\n throw new Error(`Unknown content part type: ${unhandledType}`);\n }\n};\n\ntype MessageContentPartProps = {\n partIndex: number;\n components: MessagePrimitiveContent.Props[\"components\"];\n};\n\nconst MessageContentPartImpl: FC<MessageContentPartProps> = ({\n partIndex,\n components,\n}) => {\n const messageRuntime = useMessageRuntime();\n const runtime = useMemo(\n () => messageRuntime.getContentPartByIndex(partIndex),\n [messageRuntime, partIndex],\n );\n\n return (\n <ContentPartRuntimeProvider runtime={runtime}>\n <MessageContentPartComponent components={components} />\n </ContentPartRuntimeProvider>\n );\n};\n\nconst MessageContentPart = memo(\n MessageContentPartImpl,\n (prev, next) =>\n prev.partIndex === next.partIndex &&\n prev.components?.Text === next.components?.Text &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.Unstable_Audio === next.components?.Unstable_Audio &&\n prev.components?.UI === next.components?.UI &&\n prev.components?.tools === next.components?.tools,\n);\n\nexport const MessagePrimitiveContent: FC<MessagePrimitiveContent.Props> = ({\n components,\n}) => {\n const contentLength = useMessage((s) => s.content.length) || 1;\n\n return Array.from({ length: contentLength }, (_, index) => (\n <MessageContentPart key={index} partIndex={index} components={components} />\n ));\n};\n\nMessagePrimitiveContent.displayName = \"MessagePrimitive.Content\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/message/MessageContent.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ComponentType, type FC, memo, useMemo } from \"react\";\nimport {\n useContentPart,\n useContentPartRuntime,\n useToolUIs,\n} from \"../../context\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\nimport { ContentPartRuntimeProvider } from \"../../context/providers/ContentPartRuntimeProvider\";\nimport { ContentPartPrimitiveText } from \"../contentPart/ContentPartText\";\nimport { ContentPartPrimitiveImage } from \"../contentPart/ContentPartImage\";\nimport { ContentPartPrimitiveDisplay } from \"../contentPart/ContentPartDisplay\";\nimport type {\n Unstable_AudioContentPartComponent,\n EmptyContentPartComponent,\n ImageContentPartComponent,\n TextContentPartComponent,\n ToolCallContentPartComponent,\n ToolCallContentPartProps,\n UIContentPartComponent,\n FileContentPartComponent,\n} from \"../../types/ContentPartComponentTypes\";\nimport { ContentPartPrimitiveInProgress } from \"../contentPart/ContentPartInProgress\";\nimport { EMPTY_CONTENT_SYMBOL } from \"../../api/MessageRuntime\";\n\nexport namespace MessagePrimitiveContent {\n export type Props = {\n components?:\n | {\n Empty?: EmptyContentPartComponent | undefined;\n Text?: TextContentPartComponent | undefined;\n Image?: ImageContentPartComponent | undefined;\n File?: FileContentPartComponent | undefined;\n Unstable_Audio?: Unstable_AudioContentPartComponent | undefined;\n UI?: UIContentPartComponent | undefined;\n tools?:\n | {\n by_name?:\n | Record<string, ToolCallContentPartComponent | undefined>\n | undefined;\n Fallback?: ComponentType<ToolCallContentPartProps> | undefined;\n }\n | {\n Override: ComponentType<ToolCallContentPartProps>;\n }\n | undefined;\n }\n | undefined;\n };\n}\n\nconst ToolUIDisplay = ({\n Fallback,\n ...props\n}: {\n Fallback: ToolCallContentPartComponent | undefined;\n} & ToolCallContentPartProps) => {\n const Render = useToolUIs((s) => s.getToolUI(props.toolName)) ?? Fallback;\n if (!Render) return null;\n return <Render {...props} />;\n};\n\nconst defaultComponents = {\n Text: () => (\n <p style={{ whiteSpace: \"pre-line\" }}>\n <ContentPartPrimitiveText />\n <ContentPartPrimitiveInProgress>\n <span style={{ fontFamily: \"revert\" }}>{\" \\u25CF\"}</span>\n </ContentPartPrimitiveInProgress>\n </p>\n ),\n Image: () => <ContentPartPrimitiveImage />,\n File: () => null,\n Unstable_Audio: () => null,\n UI: () => <ContentPartPrimitiveDisplay />,\n} satisfies MessagePrimitiveContent.Props[\"components\"];\n\ntype MessageContentPartComponentProps = {\n components: MessagePrimitiveContent.Props[\"components\"];\n};\n\nconst MessageContentPartComponent: FC<MessageContentPartComponentProps> = ({\n components: {\n Text = defaultComponents.Text,\n Empty,\n Image = defaultComponents.Image,\n File = defaultComponents.File,\n Unstable_Audio: Audio = defaultComponents.Unstable_Audio,\n UI = defaultComponents.UI,\n tools = {},\n } = {},\n}) => {\n const contentPartRuntime = useContentPartRuntime();\n\n const part = useContentPart();\n\n const type = part.type;\n if (type === \"tool-call\") {\n const addResult = (result: any) => contentPartRuntime.addToolResult(result);\n if (\"Override\" in tools)\n return <tools.Override {...part} addResult={addResult} />;\n const Tool = tools.by_name?.[part.toolName] ?? tools.Fallback;\n return <ToolUIDisplay {...part} Fallback={Tool} addResult={addResult} />;\n }\n\n if (part.status.type === \"requires-action\")\n throw new Error(\"Encountered unexpected requires-action status\");\n\n switch (type) {\n case \"text\":\n if ((part as any)[EMPTY_CONTENT_SYMBOL] && !!Empty) {\n return <Empty status={part.status} />;\n }\n\n return <Text {...part} />;\n\n case \"image\":\n // eslint-disable-next-line jsx-a11y/alt-text\n return <Image {...part} />;\n\n case \"file\":\n return <File {...part} />;\n\n case \"audio\":\n return <Audio {...part} />;\n\n case \"ui\":\n return <UI {...part} />;\n\n default:\n const unhandledType: never = type;\n throw new Error(`Unknown content part type: ${unhandledType}`);\n }\n};\n\ntype MessageContentPartProps = {\n partIndex: number;\n components: MessagePrimitiveContent.Props[\"components\"];\n};\n\nconst MessageContentPartImpl: FC<MessageContentPartProps> = ({\n partIndex,\n components,\n}) => {\n const messageRuntime = useMessageRuntime();\n const runtime = useMemo(\n () => messageRuntime.getContentPartByIndex(partIndex),\n [messageRuntime, partIndex],\n );\n\n return (\n <ContentPartRuntimeProvider runtime={runtime}>\n <MessageContentPartComponent components={components} />\n </ContentPartRuntimeProvider>\n );\n};\n\nconst MessageContentPart = memo(\n MessageContentPartImpl,\n (prev, next) =>\n prev.partIndex === next.partIndex &&\n prev.components?.Text === next.components?.Text &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.File === next.components?.File &&\n prev.components?.Unstable_Audio === next.components?.Unstable_Audio &&\n prev.components?.UI === next.components?.UI &&\n prev.components?.tools === next.components?.tools,\n);\n\nexport const MessagePrimitiveContent: FC<MessagePrimitiveContent.Props> = ({\n components,\n}) => {\n const contentLength = useMessage((s) => s.content.length) || 1;\n\n return Array.from({ length: contentLength }, (_, index) => (\n <MessageContentPart key={index} partIndex={index} components={components} />\n ));\n};\n\nMessagePrimitiveContent.displayName = \"MessagePrimitive.Content\";\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,KAAK,UAAU,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAE9E,yBAAiB,mBAAmB,CAAC;IACnC,KAAY,OAAO,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACvD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,mBAAmB;;0DAK9B,CAAC"}
1
+ {"version":3,"file":"ThreadRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,KAAK,UAAU,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAE9E,yBAAiB,mBAAmB,CAAC;IACnC,KAAY,OAAO,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACvD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,mBAAmB;;0DAK9B,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/primitives/thread/ThreadRoot.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\n\nexport namespace ThreadPrimitiveRoot {\n export type Element = ElementRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div>;\n}\n\nexport const ThreadPrimitiveRoot = forwardRef<\n ThreadPrimitiveRoot.Element,\n ThreadPrimitiveRoot.Props\n>((props, ref) => {\n return <Primitive.div {...props} ref={ref} />;\n});\n\nThreadPrimitiveRoot.displayName = \"ThreadPrimitive.Root\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,6BAA0B;AAC1B,mBAAsE;AAW7D;AAJF,IAAM,0BAAsB,yBAGjC,CAAC,OAAO,QAAQ;AAChB,SAAO,4CAAC,iCAAU,KAAV,EAAe,GAAG,OAAO,KAAU;AAC7C,CAAC;AAED,oBAAoB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"sourcesContent":["import { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\n\nexport namespace ThreadPrimitiveRoot {\n export type Element = ElementRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div>;\n}\n\nexport const ThreadPrimitiveRoot = forwardRef<\n ThreadPrimitiveRoot.Element,\n ThreadPrimitiveRoot.Props\n>((props, ref) => {\n return <Primitive.div {...props} ref={ref} />;\n});\n\nThreadPrimitiveRoot.displayName = \"ThreadPrimitive.Root\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAA0B;AAC1B,mBAAsE;AAW7D;AAJF,IAAM,0BAAsB,yBAGjC,CAAC,OAAO,QAAQ;AAChB,SAAO,4CAAC,iCAAU,KAAV,EAAe,GAAG,OAAO,KAAU;AAC7C,CAAC;AAED,oBAAoB,cAAc;","names":[]}
@@ -1,5 +1,3 @@
1
- "use client";
2
-
3
1
  // src/primitives/thread/ThreadRoot.tsx
4
2
  import { Primitive } from "@radix-ui/react-primitive";
5
3
  import { forwardRef } from "react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\n\nexport namespace ThreadPrimitiveRoot {\n export type Element = ElementRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div>;\n}\n\nexport const ThreadPrimitiveRoot = forwardRef<\n ThreadPrimitiveRoot.Element,\n ThreadPrimitiveRoot.Props\n>((props, ref) => {\n return <Primitive.div {...props} ref={ref} />;\n});\n\nThreadPrimitiveRoot.displayName = \"ThreadPrimitive.Root\";\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAA0B,kBAA4C;AAW7D;AAJF,IAAM,sBAAsB,WAGjC,CAAC,OAAO,QAAQ;AAChB,SAAO,oBAAC,UAAU,KAAV,EAAe,GAAG,OAAO,KAAU;AAC7C,CAAC;AAED,oBAAoB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/thread/ThreadRoot.tsx"],"sourcesContent":["import { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\n\nexport namespace ThreadPrimitiveRoot {\n export type Element = ElementRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div>;\n}\n\nexport const ThreadPrimitiveRoot = forwardRef<\n ThreadPrimitiveRoot.Element,\n ThreadPrimitiveRoot.Props\n>((props, ref) => {\n return <Primitive.div {...props} ref={ref} />;\n});\n\nThreadPrimitiveRoot.displayName = \"ThreadPrimitive.Root\";\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAA0B,kBAA4C;AAW7D;AAJF,IAAM,sBAAsB,WAGjC,CAAC,OAAO,QAAQ;AAChB,SAAO,oBAAC,UAAU,KAAV,EAAe,GAAG,OAAO,KAAU;AAC7C,CAAC;AAED,oBAAoB,cAAc;","names":[]}
@@ -6,5 +6,5 @@ export declare namespace ThreadPrimitiveSuggestion {
6
6
  }
7
7
  export declare const ThreadPrimitiveSuggestion: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
8
8
  asChild?: boolean;
9
- }, "ref"> & import("../../primitive-hooks/thread/useThreadSuggestion").UseApplyThreadSuggestionProps & import("react").RefAttributes<HTMLButtonElement>>;
9
+ }, "ref"> & useThreadSuggestion.Options & import("react").RefAttributes<HTMLButtonElement>>;
10
10
  //# sourceMappingURL=ThreadSuggestion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadSuggestion.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAEvF,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACnE;AAED,eAAO,MAAM,yBAAyB;;wJAIrC,CAAC"}
1
+ {"version":3,"file":"ThreadSuggestion.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAEvF,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACnE;AAED,eAAO,MAAM,yBAAyB;;2FAIrC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { Primitive } from "@radix-ui/react-primitive";
2
2
  import { type ElementRef, ComponentPropsWithoutRef } from "react";
3
- import { UseThreadViewportAutoScrollProps } from "../../primitive-hooks/thread/useThreadViewportAutoScroll";
3
+ import { useThreadViewportAutoScroll } from "../../primitive-hooks/thread/useThreadViewportAutoScroll";
4
4
  export declare namespace ThreadPrimitiveViewport {
5
5
  type Element = ElementRef<typeof Primitive.div>;
6
- type Props = ComponentPropsWithoutRef<typeof Primitive.div> & UseThreadViewportAutoScrollProps;
6
+ type Props = ComponentPropsWithoutRef<typeof Primitive.div> & useThreadViewportAutoScroll.Options;
7
7
  }
8
8
  export declare const ThreadPrimitiveViewport: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
9
9
  asChild?: boolean;
10
- }, "ref"> & UseThreadViewportAutoScrollProps & import("react").RefAttributes<HTMLDivElement>>;
10
+ }, "ref"> & useThreadViewportAutoScroll.Options & import("react").RefAttributes<HTMLDivElement>>;
11
11
  //# sourceMappingURL=ThreadViewport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadViewport.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,KAAK,UAAU,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EACL,gCAAgC,EAEjC,MAAM,0DAA0D,CAAC;AAElE,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACvD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,GAChE,gCAAgC,CAAC;CACpC;AAED,eAAO,MAAM,uBAAuB;;6FAelC,CAAC"}
1
+ {"version":3,"file":"ThreadViewport.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,KAAK,UAAU,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AAEvG,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACvD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,GAChE,2BAA2B,CAAC,OAAO,CAAC;CACvC;AAED,eAAO,MAAM,uBAAuB;;gGAelC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"sourcesContent":["\"use client\";\n\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport {\n UseThreadViewportAutoScrollProps,\n useThreadViewportAutoScroll,\n} from \"../../primitive-hooks/thread/useThreadViewportAutoScroll\";\n\nexport namespace ThreadPrimitiveViewport {\n export type Element = ElementRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> &\n UseThreadViewportAutoScrollProps;\n}\n\nexport const ThreadPrimitiveViewport = forwardRef<\n ThreadPrimitiveViewport.Element,\n ThreadPrimitiveViewport.Props\n>(({ autoScroll, children, ...rest }, forwardedRef) => {\n const autoScrollRef = useThreadViewportAutoScroll<HTMLDivElement>({\n autoScroll,\n });\n\n const ref = useComposedRefs(forwardedRef, autoScrollRef);\n\n return (\n <Primitive.div {...rest} ref={ref}>\n {children}\n </Primitive.div>\n );\n});\n\nThreadPrimitiveViewport.displayName = \"ThreadPrimitive.Viewport\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gCAAgC;AAChC,6BAA0B;AAC1B,mBAAsE;AACtE,yCAGO;AAmBH;AAXG,IAAM,8BAA0B,yBAGrC,CAAC,EAAE,YAAY,UAAU,GAAG,KAAK,GAAG,iBAAiB;AACrD,QAAM,oBAAgB,gEAA4C;AAAA,IAChE;AAAA,EACF,CAAC;AAED,QAAM,UAAM,2CAAgB,cAAc,aAAa;AAEvD,SACE,4CAAC,iCAAU,KAAV,EAAe,GAAG,MAAM,KACtB,UACH;AAEJ,CAAC;AAED,wBAAwB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"sourcesContent":["\"use client\";\n\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { useThreadViewportAutoScroll } from \"../../primitive-hooks/thread/useThreadViewportAutoScroll\";\n\nexport namespace ThreadPrimitiveViewport {\n export type Element = ElementRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> &\n useThreadViewportAutoScroll.Options;\n}\n\nexport const ThreadPrimitiveViewport = forwardRef<\n ThreadPrimitiveViewport.Element,\n ThreadPrimitiveViewport.Props\n>(({ autoScroll, children, ...rest }, forwardedRef) => {\n const autoScrollRef = useThreadViewportAutoScroll<HTMLDivElement>({\n autoScroll,\n });\n\n const ref = useComposedRefs(forwardedRef, autoScrollRef);\n\n return (\n <Primitive.div {...rest} ref={ref}>\n {children}\n </Primitive.div>\n );\n});\n\nThreadPrimitiveViewport.displayName = \"ThreadPrimitive.Viewport\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gCAAgC;AAChC,6BAA0B;AAC1B,mBAAsE;AACtE,yCAA4C;AAmBxC;AAXG,IAAM,8BAA0B,yBAGrC,CAAC,EAAE,YAAY,UAAU,GAAG,KAAK,GAAG,iBAAiB;AACrD,QAAM,oBAAgB,gEAA4C;AAAA,IAChE;AAAA,EACF,CAAC;AAED,QAAM,UAAM,2CAAgB,cAAc,aAAa;AAEvD,SACE,4CAAC,iCAAU,KAAV,EAAe,GAAG,MAAM,KACtB,UACH;AAEJ,CAAC;AAED,wBAAwB,cAAc;","names":[]}
@@ -4,9 +4,7 @@
4
4
  import { useComposedRefs } from "@radix-ui/react-compose-refs";
5
5
  import { Primitive } from "@radix-ui/react-primitive";
6
6
  import { forwardRef } from "react";
7
- import {
8
- useThreadViewportAutoScroll
9
- } from "../../primitive-hooks/thread/useThreadViewportAutoScroll.mjs";
7
+ import { useThreadViewportAutoScroll } from "../../primitive-hooks/thread/useThreadViewportAutoScroll.mjs";
10
8
  import { jsx } from "react/jsx-runtime";
11
9
  var ThreadPrimitiveViewport = forwardRef(({ autoScroll, children, ...rest }, forwardedRef) => {
12
10
  const autoScrollRef = useThreadViewportAutoScroll({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"sourcesContent":["\"use client\";\n\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport {\n UseThreadViewportAutoScrollProps,\n useThreadViewportAutoScroll,\n} from \"../../primitive-hooks/thread/useThreadViewportAutoScroll\";\n\nexport namespace ThreadPrimitiveViewport {\n export type Element = ElementRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> &\n UseThreadViewportAutoScrollProps;\n}\n\nexport const ThreadPrimitiveViewport = forwardRef<\n ThreadPrimitiveViewport.Element,\n ThreadPrimitiveViewport.Props\n>(({ autoScroll, children, ...rest }, forwardedRef) => {\n const autoScrollRef = useThreadViewportAutoScroll<HTMLDivElement>({\n autoScroll,\n });\n\n const ref = useComposedRefs(forwardedRef, autoScrollRef);\n\n return (\n <Primitive.div {...rest} ref={ref}>\n {children}\n </Primitive.div>\n );\n});\n\nThreadPrimitiveViewport.displayName = \"ThreadPrimitive.Viewport\";\n"],"mappings":";;;AAEA,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAA0B,kBAA4C;AACtE;AAAA,EAEE;AAAA,OACK;AAmBH;AAXG,IAAM,0BAA0B,WAGrC,CAAC,EAAE,YAAY,UAAU,GAAG,KAAK,GAAG,iBAAiB;AACrD,QAAM,gBAAgB,4BAA4C;AAAA,IAChE;AAAA,EACF,CAAC;AAED,QAAM,MAAM,gBAAgB,cAAc,aAAa;AAEvD,SACE,oBAAC,UAAU,KAAV,EAAe,GAAG,MAAM,KACtB,UACH;AAEJ,CAAC;AAED,wBAAwB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"sourcesContent":["\"use client\";\n\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ElementRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { useThreadViewportAutoScroll } from \"../../primitive-hooks/thread/useThreadViewportAutoScroll\";\n\nexport namespace ThreadPrimitiveViewport {\n export type Element = ElementRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> &\n useThreadViewportAutoScroll.Options;\n}\n\nexport const ThreadPrimitiveViewport = forwardRef<\n ThreadPrimitiveViewport.Element,\n ThreadPrimitiveViewport.Props\n>(({ autoScroll, children, ...rest }, forwardedRef) => {\n const autoScrollRef = useThreadViewportAutoScroll<HTMLDivElement>({\n autoScroll,\n });\n\n const ref = useComposedRefs(forwardedRef, autoScrollRef);\n\n return (\n <Primitive.div {...rest} ref={ref}>\n {children}\n </Primitive.div>\n );\n});\n\nThreadPrimitiveViewport.displayName = \"ThreadPrimitive.Viewport\";\n"],"mappings":";;;AAEA,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAA0B,kBAA4C;AACtE,SAAS,mCAAmC;AAmBxC;AAXG,IAAM,0BAA0B,WAGrC,CAAC,EAAE,YAAY,UAAU,GAAG,KAAK,GAAG,iBAAiB;AACrD,QAAM,gBAAgB,4BAA4C;AAAA,IAChE;AAAA,EACF,CAAC;AAED,QAAM,MAAM,gBAAgB,cAAc,aAAa;AAEvD,SACE,oBAAC,UAAU,KAAV,EAAe,GAAG,MAAM,KACtB,UACH;AAEJ,CAAC;AAED,wBAAwB,cAAc;","names":[]}
@@ -1,7 +1,7 @@
1
- import type { FC } from "react";
1
+ import type { FC, ReactNode } from "react";
2
2
  export declare namespace ThreadListItemPrimitiveTitle {
3
3
  type Props = {
4
- fallback?: React.ReactNode;
4
+ fallback?: ReactNode;
5
5
  };
6
6
  }
7
7
  export declare const ThreadListItemPrimitiveTitle: FC<ThreadListItemPrimitiveTitle.Props>;
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItemTitle.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadListItem/ThreadListItemTitle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,yBAAiB,4BAA4B,CAAC;IAC5C,KAAY,KAAK,GAAG;QAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;KAC5B,CAAC;CACH;AAED,eAAO,MAAM,4BAA4B,EAAE,EAAE,CAC3C,4BAA4B,CAAC,KAAK,CAInC,CAAC"}
1
+ {"version":3,"file":"ThreadListItemTitle.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadListItem/ThreadListItemTitle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3C,yBAAiB,4BAA4B,CAAC;IAC5C,KAAY,KAAK,GAAG;QAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;KACtB,CAAC;CACH;AAED,eAAO,MAAM,4BAA4B,EAAE,EAAE,CAC3C,4BAA4B,CAAC,KAAK,CAInC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/threadListItem/ThreadListItemTitle.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC } from \"react\";\nimport { useThreadListItem } from \"../../context/react/ThreadListItemContext\";\n\nexport namespace ThreadListItemPrimitiveTitle {\n export type Props = {\n fallback?: React.ReactNode;\n };\n}\n\nexport const ThreadListItemPrimitiveTitle: FC<\n ThreadListItemPrimitiveTitle.Props\n> = ({ fallback }) => {\n const title = useThreadListItem((t) => t.title);\n return <>{title || fallback}</>;\n};\n\nThreadListItemPrimitiveTitle.displayName = \"ThreadListItemPrimitive.Title\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mCAAkC;AAYzB;AAJF,IAAM,+BAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,YAAQ,gDAAkB,CAAC,MAAM,EAAE,KAAK;AAC9C,SAAO,2EAAG,mBAAS,UAAS;AAC9B;AAEA,6BAA6B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/threadListItem/ThreadListItemTitle.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC, ReactNode } from \"react\";\nimport { useThreadListItem } from \"../../context/react/ThreadListItemContext\";\n\nexport namespace ThreadListItemPrimitiveTitle {\n export type Props = {\n fallback?: ReactNode;\n };\n}\n\nexport const ThreadListItemPrimitiveTitle: FC<\n ThreadListItemPrimitiveTitle.Props\n> = ({ fallback }) => {\n const title = useThreadListItem((t) => t.title);\n return <>{title || fallback}</>;\n};\n\nThreadListItemPrimitiveTitle.displayName = \"ThreadListItemPrimitive.Title\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mCAAkC;AAYzB;AAJF,IAAM,+BAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,YAAQ,gDAAkB,CAAC,MAAM,EAAE,KAAK;AAC9C,SAAO,2EAAG,mBAAS,UAAS;AAC9B;AAEA,6BAA6B,cAAc;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/threadListItem/ThreadListItemTitle.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC } from \"react\";\nimport { useThreadListItem } from \"../../context/react/ThreadListItemContext\";\n\nexport namespace ThreadListItemPrimitiveTitle {\n export type Props = {\n fallback?: React.ReactNode;\n };\n}\n\nexport const ThreadListItemPrimitiveTitle: FC<\n ThreadListItemPrimitiveTitle.Props\n> = ({ fallback }) => {\n const title = useThreadListItem((t) => t.title);\n return <>{title || fallback}</>;\n};\n\nThreadListItemPrimitiveTitle.displayName = \"ThreadListItemPrimitive.Title\";\n"],"mappings":";;;AAGA,SAAS,yBAAyB;AAYzB;AAJF,IAAM,+BAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,QAAQ,kBAAkB,CAAC,MAAM,EAAE,KAAK;AAC9C,SAAO,gCAAG,mBAAS,UAAS;AAC9B;AAEA,6BAA6B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/threadListItem/ThreadListItemTitle.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC, ReactNode } from \"react\";\nimport { useThreadListItem } from \"../../context/react/ThreadListItemContext\";\n\nexport namespace ThreadListItemPrimitiveTitle {\n export type Props = {\n fallback?: ReactNode;\n };\n}\n\nexport const ThreadListItemPrimitiveTitle: FC<\n ThreadListItemPrimitiveTitle.Props\n> = ({ fallback }) => {\n const title = useThreadListItem((t) => t.title);\n return <>{title || fallback}</>;\n};\n\nThreadListItemPrimitiveTitle.displayName = \"ThreadListItemPrimitive.Title\";\n"],"mappings":";;;AAGA,SAAS,yBAAyB;AAYzB;AAJF,IAAM,+BAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,QAAQ,kBAAkB,CAAC,MAAM,EAAE,KAAK;AAC9C,SAAO,gCAAG,mBAAS,UAAS;AAC9B;AAEA,6BAA6B,cAAc;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseComposerRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/composer/BaseComposerRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAK1E,8BAAsB,uBACpB,SAAQ,gBACR,YAAW,mBAAmB;IAE9B,SAAgB,SAAS,QAAQ;IAEjC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,iBAAiB,GAAG,SAAS;IAEjE,mBAAmB,IAAI,MAAM;IAIpC,OAAO,CAAC,YAAY,CAA6B;IACjD,IAAW,WAAW,0BAErB;IAED,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE;IAKrD,aAAoB,SAAS,IAAI,OAAO,CAAC;IAEzC,IAAW,OAAO,YAEjB;IAED,OAAO,CAAC,KAAK,CAAM;IAEnB,IAAI,IAAI,WAEP;IAED,OAAO,CAAC,KAAK,CAAuB;IAEpC,IAAI,IAAI,gBAEP;IAED,OAAO,CAAC,UAAU,CAAiB;IAEnC,IAAI,SAAS,cAEZ;IAEM,OAAO,CAAC,KAAK,EAAE,MAAM;IAOrB,OAAO,CAAC,IAAI,EAAE,WAAW;IAOzB,YAAY,CAAC,SAAS,EAAE,SAAS;IAOxC,OAAO,CAAC,wBAAwB;YAMlB,mBAAmB;IAOpB,KAAK;IAkBL,gBAAgB;IAOhB,IAAI;IAyBV,MAAM;IAIb,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,IAAI;IAC7E,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI;IAEjC,aAAa,CAAC,IAAI,EAAE,IAAI;IAUxB,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAc3C,OAAO,CAAC,iBAAiB,CAGrB;IAEJ,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,wBAAwB;IAO1D,WAAW,CAAC,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,IAAI;CAczE"}
1
+ {"version":3,"file":"BaseComposerRuntimeCore.d.ts","sourceRoot":"","sources":["../../../src/runtimes/composer/BaseComposerRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAK1E,8BAAsB,uBACpB,SAAQ,gBACR,YAAW,mBAAmB;IAE9B,SAAgB,SAAS,QAAQ;IAEjC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,iBAAiB,GAAG,SAAS;IAEjE,mBAAmB,IAAI,MAAM;IAIpC,OAAO,CAAC,YAAY,CAA6B;IACjD,IAAW,WAAW,0BAErB;IAED,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE;IAKrD,aAAoB,SAAS,IAAI,OAAO,CAAC;IAEzC,IAAW,OAAO,YAEjB;IAED,OAAO,CAAC,KAAK,CAAM;IAEnB,IAAI,IAAI,WAEP;IAED,OAAO,CAAC,KAAK,CAAuB;IAEpC,IAAI,IAAI,gBAEP;IAED,OAAO,CAAC,UAAU,CAAiB;IAEnC,IAAI,SAAS,cAEZ;IAEM,OAAO,CAAC,KAAK,EAAE,MAAM;IAOrB,OAAO,CAAC,IAAI,EAAE,WAAW;IAOzB,YAAY,CAAC,SAAS,EAAE,SAAS;IAOxC,OAAO,CAAC,wBAAwB;YAMlB,mBAAmB;IAOpB,KAAK;IAkBL,gBAAgB;IAOhB,IAAI;IAyBV,MAAM;IAIb,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,IAAI;IAC7E,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI;IAEjC,aAAa,CAAC,IAAI,EAAE,IAAI;IAWxB,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAc3C,OAAO,CAAC,iBAAiB,CAGrB;IAEJ,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,wBAAwB;IAO1D,WAAW,CAAC,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,IAAI;CAczE"}
@@ -121,6 +121,7 @@ var BaseComposerRuntimeCore = class extends import_BaseSubscribable.BaseSubscrib
121
121
  if (!adapter) throw new Error("Attachments are not supported");
122
122
  const attachment = await adapter.add({ file });
123
123
  this._attachments = [...this._attachments, attachment];
124
+ this._notifyEventSubscribers("attachment_add");
124
125
  this._notifySubscribers();
125
126
  }
126
127
  async removeAttachment(attachmentId) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/composer/BaseComposerRuntimeCore.tsx"],"sourcesContent":["import {\n Attachment,\n CompleteAttachment,\n PendingAttachment,\n} from \"../../types/AttachmentTypes\";\nimport { AppendMessage } from \"../../types\";\nimport { AttachmentAdapter } from \"../attachment\";\nimport {\n ComposerRuntimeCore,\n ComposerRuntimeEventType,\n} from \"../core/ComposerRuntimeCore\";\nimport { MessageRole, RunConfig } from \"../../types/AssistantTypes\";\nimport { BaseSubscribable } from \"../remote-thread-list/BaseSubscribable\";\n\nconst isAttachmentComplete = (a: Attachment): a is CompleteAttachment =>\n a.status.type === \"complete\";\n\nexport abstract class BaseComposerRuntimeCore\n extends BaseSubscribable\n implements ComposerRuntimeCore\n{\n public readonly isEditing = true;\n\n protected abstract getAttachmentAdapter(): AttachmentAdapter | undefined;\n\n public getAttachmentAccept(): string {\n return this.getAttachmentAdapter()?.accept ?? \"*\";\n }\n\n private _attachments: readonly Attachment[] = [];\n public get attachments() {\n return this._attachments;\n }\n\n protected setAttachments(value: readonly Attachment[]) {\n this._attachments = value;\n this._notifySubscribers();\n }\n\n public abstract get canCancel(): boolean;\n\n public get isEmpty() {\n return !this.text.trim() && !this.attachments.length;\n }\n\n private _text = \"\";\n\n get text() {\n return this._text;\n }\n\n private _role: MessageRole = \"user\";\n\n get role() {\n return this._role;\n }\n\n private _runConfig: RunConfig = {};\n\n get runConfig() {\n return this._runConfig;\n }\n\n public setText(value: string) {\n if (this._text === value) return;\n\n this._text = value;\n this._notifySubscribers();\n }\n\n public setRole(role: MessageRole) {\n if (this._role === role) return;\n\n this._role = role;\n this._notifySubscribers();\n }\n\n public setRunConfig(runConfig: RunConfig) {\n if (this._runConfig === runConfig) return;\n\n this._runConfig = runConfig;\n this._notifySubscribers();\n }\n\n private _emptyTextAndAttachments() {\n this._attachments = [];\n this._text = \"\";\n this._notifySubscribers();\n }\n\n private async _onClearAttachments() {\n const adapter = this.getAttachmentAdapter();\n if (adapter) {\n await Promise.all(this._attachments.map((a) => adapter.remove(a)));\n }\n }\n\n public async reset() {\n if (\n this._attachments.length === 0 &&\n this._text === \"\" &&\n this._role === \"user\" &&\n Object.keys(this._runConfig).length === 0\n ) {\n return;\n }\n\n this._role = \"user\";\n this._runConfig = {};\n\n const task = this._onClearAttachments();\n this._emptyTextAndAttachments();\n await task;\n }\n\n public async clearAttachments() {\n const task = this._onClearAttachments();\n this.setAttachments([]);\n\n await task;\n }\n\n public async send() {\n const adapter = this.getAttachmentAdapter();\n const attachments =\n adapter && this.attachments.length > 0\n ? await Promise.all(\n this.attachments.map(async (a) => {\n if (isAttachmentComplete(a)) return a;\n const result = await adapter.send(a);\n return result as CompleteAttachment;\n }),\n )\n : [];\n\n const message: Omit<AppendMessage, \"parentId\"> = {\n role: this.role,\n content: this.text ? [{ type: \"text\", text: this.text }] : [],\n attachments,\n runConfig: this.runConfig,\n };\n this._emptyTextAndAttachments();\n\n this.handleSend(message);\n this._notifyEventSubscribers(\"send\");\n }\n\n public cancel() {\n this.handleCancel();\n }\n\n protected abstract handleSend(message: Omit<AppendMessage, \"parentId\">): void;\n protected abstract handleCancel(): void;\n\n async addAttachment(file: File) {\n const adapter = this.getAttachmentAdapter();\n if (!adapter) throw new Error(\"Attachments are not supported\");\n\n const attachment = await adapter.add({ file });\n\n this._attachments = [...this._attachments, attachment as PendingAttachment];\n this._notifySubscribers();\n }\n\n async removeAttachment(attachmentId: string) {\n const adapter = this.getAttachmentAdapter();\n if (!adapter) throw new Error(\"Attachments are not supported\");\n\n const index = this._attachments.findIndex((a) => a.id === attachmentId);\n if (index === -1) throw new Error(\"Attachment not found\");\n const attachment = this._attachments[index]!;\n\n await adapter.remove(attachment);\n\n this._attachments = this._attachments.toSpliced(index, 1);\n this._notifySubscribers();\n }\n\n private _eventSubscribers = new Map<\n ComposerRuntimeEventType,\n Set<() => void>\n >();\n\n protected _notifyEventSubscribers(event: ComposerRuntimeEventType) {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) return;\n\n for (const callback of subscribers) callback();\n }\n\n public unstable_on(event: ComposerRuntimeEventType, callback: () => void) {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) {\n this._eventSubscribers.set(event, new Set([callback]));\n } else {\n subscribers.add(callback);\n }\n\n return () => {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) return;\n subscribers.delete(callback);\n };\n }\n}\n"],"mappings":"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","names":["subscribers"]}
1
+ {"version":3,"sources":["../../../src/runtimes/composer/BaseComposerRuntimeCore.tsx"],"sourcesContent":["import {\n Attachment,\n CompleteAttachment,\n PendingAttachment,\n} from \"../../types/AttachmentTypes\";\nimport { AppendMessage } from \"../../types\";\nimport { AttachmentAdapter } from \"../attachment\";\nimport {\n ComposerRuntimeCore,\n ComposerRuntimeEventType,\n} from \"../core/ComposerRuntimeCore\";\nimport { MessageRole, RunConfig } from \"../../types/AssistantTypes\";\nimport { BaseSubscribable } from \"../remote-thread-list/BaseSubscribable\";\n\nconst isAttachmentComplete = (a: Attachment): a is CompleteAttachment =>\n a.status.type === \"complete\";\n\nexport abstract class BaseComposerRuntimeCore\n extends BaseSubscribable\n implements ComposerRuntimeCore\n{\n public readonly isEditing = true;\n\n protected abstract getAttachmentAdapter(): AttachmentAdapter | undefined;\n\n public getAttachmentAccept(): string {\n return this.getAttachmentAdapter()?.accept ?? \"*\";\n }\n\n private _attachments: readonly Attachment[] = [];\n public get attachments() {\n return this._attachments;\n }\n\n protected setAttachments(value: readonly Attachment[]) {\n this._attachments = value;\n this._notifySubscribers();\n }\n\n public abstract get canCancel(): boolean;\n\n public get isEmpty() {\n return !this.text.trim() && !this.attachments.length;\n }\n\n private _text = \"\";\n\n get text() {\n return this._text;\n }\n\n private _role: MessageRole = \"user\";\n\n get role() {\n return this._role;\n }\n\n private _runConfig: RunConfig = {};\n\n get runConfig() {\n return this._runConfig;\n }\n\n public setText(value: string) {\n if (this._text === value) return;\n\n this._text = value;\n this._notifySubscribers();\n }\n\n public setRole(role: MessageRole) {\n if (this._role === role) return;\n\n this._role = role;\n this._notifySubscribers();\n }\n\n public setRunConfig(runConfig: RunConfig) {\n if (this._runConfig === runConfig) return;\n\n this._runConfig = runConfig;\n this._notifySubscribers();\n }\n\n private _emptyTextAndAttachments() {\n this._attachments = [];\n this._text = \"\";\n this._notifySubscribers();\n }\n\n private async _onClearAttachments() {\n const adapter = this.getAttachmentAdapter();\n if (adapter) {\n await Promise.all(this._attachments.map((a) => adapter.remove(a)));\n }\n }\n\n public async reset() {\n if (\n this._attachments.length === 0 &&\n this._text === \"\" &&\n this._role === \"user\" &&\n Object.keys(this._runConfig).length === 0\n ) {\n return;\n }\n\n this._role = \"user\";\n this._runConfig = {};\n\n const task = this._onClearAttachments();\n this._emptyTextAndAttachments();\n await task;\n }\n\n public async clearAttachments() {\n const task = this._onClearAttachments();\n this.setAttachments([]);\n\n await task;\n }\n\n public async send() {\n const adapter = this.getAttachmentAdapter();\n const attachments =\n adapter && this.attachments.length > 0\n ? await Promise.all(\n this.attachments.map(async (a) => {\n if (isAttachmentComplete(a)) return a;\n const result = await adapter.send(a);\n return result as CompleteAttachment;\n }),\n )\n : [];\n\n const message: Omit<AppendMessage, \"parentId\"> = {\n role: this.role,\n content: this.text ? [{ type: \"text\", text: this.text }] : [],\n attachments,\n runConfig: this.runConfig,\n };\n this._emptyTextAndAttachments();\n\n this.handleSend(message);\n this._notifyEventSubscribers(\"send\");\n }\n\n public cancel() {\n this.handleCancel();\n }\n\n protected abstract handleSend(message: Omit<AppendMessage, \"parentId\">): void;\n protected abstract handleCancel(): void;\n\n async addAttachment(file: File) {\n const adapter = this.getAttachmentAdapter();\n if (!adapter) throw new Error(\"Attachments are not supported\");\n\n const attachment = await adapter.add({ file });\n\n this._attachments = [...this._attachments, attachment as PendingAttachment];\n this._notifyEventSubscribers(\"attachment_add\");\n this._notifySubscribers();\n }\n\n async removeAttachment(attachmentId: string) {\n const adapter = this.getAttachmentAdapter();\n if (!adapter) throw new Error(\"Attachments are not supported\");\n\n const index = this._attachments.findIndex((a) => a.id === attachmentId);\n if (index === -1) throw new Error(\"Attachment not found\");\n const attachment = this._attachments[index]!;\n\n await adapter.remove(attachment);\n\n this._attachments = this._attachments.toSpliced(index, 1);\n this._notifySubscribers();\n }\n\n private _eventSubscribers = new Map<\n ComposerRuntimeEventType,\n Set<() => void>\n >();\n\n protected _notifyEventSubscribers(event: ComposerRuntimeEventType) {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) return;\n\n for (const callback of subscribers) callback();\n }\n\n public unstable_on(event: ComposerRuntimeEventType, callback: () => void) {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) {\n this._eventSubscribers.set(event, new Set([callback]));\n } else {\n subscribers.add(callback);\n }\n\n return () => {\n const subscribers = this._eventSubscribers.get(event);\n if (!subscribers) return;\n subscribers.delete(callback);\n };\n }\n}\n"],"mappings":"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","names":["subscribers"]}
@@ -97,6 +97,7 @@ var BaseComposerRuntimeCore = class extends BaseSubscribable {
97
97
  if (!adapter) throw new Error("Attachments are not supported");
98
98
  const attachment = await adapter.add({ file });
99
99
  this._attachments = [...this._attachments, attachment];
100
+ this._notifyEventSubscribers("attachment_add");
100
101
  this._notifySubscribers();
101
102
  }
102
103
  async removeAttachment(attachmentId) {