@assistant-ui/react 0.7.8 → 0.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. package/dist/api/AssistantRuntime.d.ts +4 -5
  2. package/dist/api/AssistantRuntime.d.ts.map +1 -1
  3. package/dist/api/AssistantRuntime.js +19 -22
  4. package/dist/api/AssistantRuntime.js.map +1 -1
  5. package/dist/api/AssistantRuntime.mjs +16 -19
  6. package/dist/api/AssistantRuntime.mjs.map +1 -1
  7. package/dist/api/ComposerRuntime.d.ts.map +1 -1
  8. package/dist/api/ComposerRuntime.js +4 -4
  9. package/dist/api/MessageRuntime.js +7 -7
  10. package/dist/api/ThreadListItemRuntime.d.ts +11 -2
  11. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
  12. package/dist/api/ThreadListItemRuntime.js +16 -5
  13. package/dist/api/ThreadListItemRuntime.js.map +1 -1
  14. package/dist/api/ThreadListItemRuntime.mjs +16 -5
  15. package/dist/api/ThreadListItemRuntime.mjs.map +1 -1
  16. package/dist/api/ThreadListRuntime.d.ts +3 -0
  17. package/dist/api/ThreadListRuntime.d.ts.map +1 -1
  18. package/dist/api/ThreadListRuntime.js +31 -12
  19. package/dist/api/ThreadListRuntime.js.map +1 -1
  20. package/dist/api/ThreadListRuntime.mjs +27 -8
  21. package/dist/api/ThreadListRuntime.mjs.map +1 -1
  22. package/dist/api/ThreadRuntime.d.ts +10 -7
  23. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  24. package/dist/api/ThreadRuntime.js +22 -12
  25. package/dist/api/ThreadRuntime.js.map +1 -1
  26. package/dist/api/ThreadRuntime.mjs +16 -6
  27. package/dist/api/ThreadRuntime.mjs.map +1 -1
  28. package/dist/api/subscribable/LazyMemoizeSubject.js +2 -2
  29. package/dist/api/subscribable/NestedSubscriptionSubject.js +1 -1
  30. package/dist/api/subscribable/ShallowMemoizeSubject.js +3 -3
  31. package/dist/context/index.js +6 -6
  32. package/dist/context/index.js.map +1 -1
  33. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  34. package/dist/context/providers/AssistantRuntimeProvider.js +12 -5
  35. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  36. package/dist/context/providers/AssistantRuntimeProvider.mjs +8 -1
  37. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  38. package/dist/context/providers/AttachmentRuntimeProvider.js +2 -2
  39. package/dist/context/providers/ContentPartRuntimeProvider.js +2 -2
  40. package/dist/context/providers/MessageRuntimeProvider.js +3 -3
  41. package/dist/context/providers/TextContentPartProvider.js +3 -3
  42. package/dist/context/providers/ThreadListItemRuntimeProvider.js +2 -2
  43. package/dist/context/providers/ThreadRuntimeProvider.d.ts +2 -0
  44. package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +1 -1
  45. package/dist/context/providers/ThreadRuntimeProvider.js +6 -5
  46. package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
  47. package/dist/context/providers/ThreadRuntimeProvider.mjs +3 -2
  48. package/dist/context/providers/ThreadRuntimeProvider.mjs.map +1 -1
  49. package/dist/context/providers/index.js +2 -2
  50. package/dist/context/react/AssistantContext.js +2 -2
  51. package/dist/context/react/AttachmentContext.js +1 -1
  52. package/dist/context/react/ComposerContext.js +3 -3
  53. package/dist/context/react/ContentPartContext.js +2 -2
  54. package/dist/context/react/MessageContext.js +2 -2
  55. package/dist/context/react/ThreadContext.js +2 -2
  56. package/dist/context/react/ThreadListItemContext.js +2 -2
  57. package/dist/context/react/index.js +6 -6
  58. package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
  59. package/dist/edge.js +1 -1
  60. package/dist/index.js +17 -17
  61. package/dist/index.js.map +1 -1
  62. package/dist/internal.d.ts +1 -2
  63. package/dist/internal.d.ts.map +1 -1
  64. package/dist/internal.js +10 -13
  65. package/dist/internal.js.map +1 -1
  66. package/dist/internal.mjs +0 -2
  67. package/dist/internal.mjs.map +1 -1
  68. package/dist/model-config/index.js +6 -6
  69. package/dist/model-config/makeAssistantTool.js +1 -1
  70. package/dist/model-config/makeAssistantToolUI.js +1 -1
  71. package/dist/model-config/useAssistantInstructions.js +1 -1
  72. package/dist/model-config/useAssistantTool.js +1 -1
  73. package/dist/model-config/useAssistantToolUI.js +1 -1
  74. package/dist/primitive-hooks/actionBar/useActionBarCopy.js +2 -2
  75. package/dist/primitive-hooks/actionBar/useActionBarEdit.js +1 -1
  76. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +1 -1
  77. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +1 -1
  78. package/dist/primitive-hooks/actionBar/useActionBarReload.js +3 -3
  79. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +1 -1
  80. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +1 -1
  81. package/dist/primitive-hooks/attachment/useAttachmentRemove.js +1 -1
  82. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js +1 -1
  83. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +1 -1
  84. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js +1 -1
  85. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +1 -1
  86. package/dist/primitive-hooks/composer/useComposerAddAttachment.js +1 -1
  87. package/dist/primitive-hooks/composer/useComposerCancel.js +1 -1
  88. package/dist/primitive-hooks/composer/useComposerIf.js +1 -1
  89. package/dist/primitive-hooks/composer/useComposerSend.js +3 -3
  90. package/dist/primitive-hooks/contentPart/index.js +3 -3
  91. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js +1 -1
  92. package/dist/primitive-hooks/contentPart/useContentPartImage.js +1 -1
  93. package/dist/primitive-hooks/contentPart/useContentPartText.js +1 -1
  94. package/dist/primitive-hooks/index.js +2 -2
  95. package/dist/primitive-hooks/index.js.map +1 -1
  96. package/dist/primitive-hooks/message/useMessageIf.js +2 -2
  97. package/dist/primitive-hooks/thread/useThreadEmpty.js +1 -1
  98. package/dist/primitive-hooks/thread/useThreadIf.js +1 -1
  99. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +2 -2
  100. package/dist/primitive-hooks/thread/useThreadSuggestion.js +2 -2
  101. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js +5 -5
  102. package/dist/primitives/actionBar/ActionBarCopy.js +2 -2
  103. package/dist/primitives/actionBar/ActionBarEdit.js +2 -2
  104. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +2 -2
  105. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +2 -2
  106. package/dist/primitives/actionBar/ActionBarReload.js +2 -2
  107. package/dist/primitives/actionBar/ActionBarRoot.js +1 -1
  108. package/dist/primitives/actionBar/ActionBarSpeak.js +2 -2
  109. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +1 -1
  110. package/dist/primitives/actionBar/index.js +8 -8
  111. package/dist/primitives/actionBar/useActionBarFloatStatus.js +3 -3
  112. package/dist/primitives/assistantModal/AssistantModalAnchor.js +1 -1
  113. package/dist/primitives/assistantModal/AssistantModalContent.js +1 -1
  114. package/dist/primitives/assistantModal/AssistantModalRoot.js +2 -2
  115. package/dist/primitives/assistantModal/AssistantModalTrigger.js +1 -1
  116. package/dist/primitives/assistantModal/index.js +4 -4
  117. package/dist/primitives/attachment/AttachmentName.js +1 -1
  118. package/dist/primitives/attachment/AttachmentRemove.js +2 -2
  119. package/dist/primitives/attachment/AttachmentThumb.js +1 -1
  120. package/dist/primitives/attachment/index.js +4 -4
  121. package/dist/primitives/branchPicker/BranchPickerCount.js +1 -1
  122. package/dist/primitives/branchPicker/BranchPickerNext.js +2 -2
  123. package/dist/primitives/branchPicker/BranchPickerNumber.js +1 -1
  124. package/dist/primitives/branchPicker/BranchPickerPrevious.js +2 -2
  125. package/dist/primitives/branchPicker/BranchPickerRoot.js +1 -1
  126. package/dist/primitives/branchPicker/index.js +5 -5
  127. package/dist/primitives/composer/ComposerAddAttachment.js +2 -2
  128. package/dist/primitives/composer/ComposerAttachments.js +3 -3
  129. package/dist/primitives/composer/ComposerCancel.js +2 -2
  130. package/dist/primitives/composer/ComposerIf.js +1 -1
  131. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  132. package/dist/primitives/composer/ComposerInput.js +6 -4
  133. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  134. package/dist/primitives/composer/ComposerInput.mjs +3 -1
  135. package/dist/primitives/composer/ComposerInput.mjs.map +1 -1
  136. package/dist/primitives/composer/ComposerRoot.js +1 -1
  137. package/dist/primitives/composer/ComposerSend.js +2 -2
  138. package/dist/primitives/composer/index.js +7 -7
  139. package/dist/primitives/contentPart/ContentPartDisplay.js +1 -1
  140. package/dist/primitives/contentPart/ContentPartImage.js +1 -1
  141. package/dist/primitives/contentPart/ContentPartInProgress.js +1 -1
  142. package/dist/primitives/contentPart/ContentPartText.js +2 -2
  143. package/dist/primitives/contentPart/index.js +4 -4
  144. package/dist/primitives/index.js +10 -10
  145. package/dist/primitives/message/MessageAttachments.js +3 -3
  146. package/dist/primitives/message/MessageContent.js +8 -8
  147. package/dist/primitives/message/MessageIf.js +1 -1
  148. package/dist/primitives/message/MessageRoot.js +2 -2
  149. package/dist/primitives/message/index.js +4 -4
  150. package/dist/primitives/thread/ThreadEmpty.js +1 -1
  151. package/dist/primitives/thread/ThreadIf.js +1 -1
  152. package/dist/primitives/thread/ThreadMessages.js +3 -3
  153. package/dist/primitives/thread/ThreadScrollToBottom.js +2 -2
  154. package/dist/primitives/thread/ThreadSuggestion.js +2 -2
  155. package/dist/primitives/thread/ThreadViewport.js +1 -1
  156. package/dist/primitives/thread/index.js +7 -7
  157. package/dist/primitives/threadList/ThreadListItems.js +2 -2
  158. package/dist/primitives/threadList/ThreadListNew.js +2 -2
  159. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  160. package/dist/primitives/threadList/ThreadListNew.mjs +1 -1
  161. package/dist/primitives/threadList/ThreadListNew.mjs.map +1 -1
  162. package/dist/primitives/threadList/index.js +2 -2
  163. package/dist/primitives/threadListItem/ThreadListItemArchive.js +2 -2
  164. package/dist/primitives/threadListItem/ThreadListItemDelete.js +2 -2
  165. package/dist/primitives/threadListItem/ThreadListItemRoot.js +2 -2
  166. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  167. package/dist/primitives/threadListItem/ThreadListItemRoot.mjs +1 -1
  168. package/dist/primitives/threadListItem/ThreadListItemRoot.mjs.map +1 -1
  169. package/dist/primitives/threadListItem/ThreadListItemTitle.js +1 -1
  170. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +2 -2
  171. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +2 -2
  172. package/dist/primitives/threadListItem/index.js +6 -6
  173. package/dist/runtimes/attachment/index.js +3 -3
  174. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +2 -2
  175. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +1 -1
  176. package/dist/runtimes/core/BaseAssistantRuntimeCore.js +1 -1
  177. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +2 -4
  178. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  179. package/dist/runtimes/core/BaseThreadRuntimeCore.js +5 -9
  180. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  181. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +1 -5
  182. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
  183. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +14 -6
  184. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
  185. package/dist/runtimes/core/ThreadListRuntimeCore.js.map +1 -1
  186. package/dist/runtimes/core/ThreadRuntimeCore.d.ts +1 -15
  187. package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
  188. package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
  189. package/dist/runtimes/core/index.d.ts +1 -1
  190. package/dist/runtimes/core/index.d.ts.map +1 -1
  191. package/dist/runtimes/core/index.js.map +1 -1
  192. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js +6 -6
  193. package/dist/runtimes/dangerous-in-browser/index.js +1 -1
  194. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +3 -3
  195. package/dist/runtimes/edge/EdgeChatAdapter.js +7 -7
  196. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +1 -1
  197. package/dist/runtimes/edge/converters/fromCoreMessage.js +1 -1
  198. package/dist/runtimes/edge/converters/index.js +6 -6
  199. package/dist/runtimes/edge/createEdgeRuntimeAPI.js +9 -9
  200. package/dist/runtimes/edge/index.js +6 -6
  201. package/dist/runtimes/edge/index.js.map +1 -1
  202. package/dist/runtimes/edge/partial-json/parse-partial-json.js +1 -1
  203. package/dist/runtimes/edge/streams/assistantDecoderStream.js +1 -1
  204. package/dist/runtimes/edge/streams/assistantEncoderStream.js +1 -1
  205. package/dist/runtimes/edge/streams/runResultStream.js +1 -1
  206. package/dist/runtimes/edge/streams/utils/index.js +2 -2
  207. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js +2 -2
  208. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.d.ts +1 -1
  209. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.d.ts.map +1 -1
  210. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js +1 -1
  211. package/dist/runtimes/edge/useEdgeRuntime.js +3 -3
  212. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +20 -3
  213. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  214. package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
  215. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts +0 -1
  216. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
  217. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +6 -13
  218. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  219. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +3 -10
  220. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
  221. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +9 -11
  222. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
  223. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +19 -27
  224. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  225. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs +19 -27
  226. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.mjs.map +1 -1
  227. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +2 -2
  228. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  229. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +10 -13
  230. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  231. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +4 -7
  232. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
  233. package/dist/runtimes/external-store/external-message-converter.js +4 -4
  234. package/dist/runtimes/external-store/index.js +3 -3
  235. package/dist/runtimes/external-store/useExternalStoreRuntime.js +3 -3
  236. package/dist/runtimes/index.js +16 -16
  237. package/dist/runtimes/index.js.map +1 -1
  238. package/dist/runtimes/local/LocalRuntimeCore.d.ts +0 -1
  239. package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
  240. package/dist/runtimes/local/LocalRuntimeCore.js +7 -16
  241. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  242. package/dist/runtimes/local/LocalRuntimeCore.mjs +3 -12
  243. package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
  244. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +17 -15
  245. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
  246. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +95 -93
  247. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
  248. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs +94 -92
  249. package/dist/runtimes/local/LocalThreadListRuntimeCore.mjs.map +1 -1
  250. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +4 -3
  251. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  252. package/dist/runtimes/local/LocalThreadRuntimeCore.js +15 -14
  253. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  254. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +11 -10
  255. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  256. package/dist/runtimes/local/index.js +1 -1
  257. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
  258. package/dist/runtimes/local/useLocalRuntime.js +7 -10
  259. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  260. package/dist/runtimes/local/useLocalRuntime.mjs +4 -7
  261. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  262. package/dist/runtimes/speech/index.js +1 -1
  263. package/dist/runtimes/utils/MessageRepository.js +2 -2
  264. package/dist/styles/index.css +12 -0
  265. package/dist/styles/index.css.map +1 -1
  266. package/dist/styles/tailwindcss/thread.css +1 -1
  267. package/dist/styles/tailwindcss/thread.css.json +1 -1
  268. package/dist/ui/assistant-action-bar.js +5 -5
  269. package/dist/ui/assistant-message.js +7 -7
  270. package/dist/ui/assistant-modal.js +5 -5
  271. package/dist/ui/attachment-ui.js +7 -7
  272. package/dist/ui/base/avatar.js +1 -1
  273. package/dist/ui/base/index.js +5 -5
  274. package/dist/ui/base/tooltip-icon-button.js +2 -2
  275. package/dist/ui/base/tooltip.js +1 -1
  276. package/dist/ui/branch-picker.js +5 -5
  277. package/dist/ui/composer.js +7 -7
  278. package/dist/ui/content-part.js +2 -2
  279. package/dist/ui/edit-composer.js +4 -4
  280. package/dist/ui/index.d.ts +4 -4
  281. package/dist/ui/index.d.ts.map +1 -1
  282. package/dist/ui/index.js +15 -15
  283. package/dist/ui/index.js.map +1 -1
  284. package/dist/ui/index.mjs +18 -18
  285. package/dist/ui/index.mjs.map +1 -1
  286. package/dist/ui/thread-config.d.ts +1 -1
  287. package/dist/ui/thread-config.d.ts.map +1 -1
  288. package/dist/ui/thread-config.js +2 -2
  289. package/dist/ui/thread-config.js.map +1 -1
  290. package/dist/ui/thread-config.mjs.map +1 -1
  291. package/dist/ui/thread-list-item.d.ts +2 -11
  292. package/dist/ui/thread-list-item.d.ts.map +1 -1
  293. package/dist/ui/thread-list-item.js +20 -33
  294. package/dist/ui/thread-list-item.js.map +1 -1
  295. package/dist/ui/thread-list-item.mjs +16 -29
  296. package/dist/ui/thread-list-item.mjs.map +1 -1
  297. package/dist/ui/thread-list.d.ts +10 -3
  298. package/dist/ui/thread-list.d.ts.map +1 -1
  299. package/dist/ui/thread-list.js +8 -9
  300. package/dist/ui/thread-list.js.map +1 -1
  301. package/dist/ui/thread-list.mjs +3 -4
  302. package/dist/ui/thread-list.mjs.map +1 -1
  303. package/dist/ui/thread-welcome.js +5 -5
  304. package/dist/ui/thread.js +10 -10
  305. package/dist/ui/user-action-bar.js +5 -5
  306. package/dist/ui/user-message.js +6 -6
  307. package/dist/utils/ProxyConfigProvider.js +1 -1
  308. package/dist/utils/combined/createCombinedStore.d.ts.map +1 -1
  309. package/dist/utils/combined/useCombinedStore.d.ts.map +1 -1
  310. package/dist/utils/combined/useCombinedStore.js +1 -1
  311. package/dist/utils/hooks/useOnResizeContent.js +1 -1
  312. package/dist/utils/hooks/useOnScrollToBottom.js +1 -1
  313. package/dist/utils/smooth/SmoothContext.js +2 -2
  314. package/dist/utils/smooth/index.js +3 -3
  315. package/dist/utils/smooth/useSmooth.js +3 -3
  316. package/package.json +1 -1
  317. package/src/api/AssistantRuntime.ts +21 -25
  318. package/src/api/ThreadListItemRuntime.ts +36 -7
  319. package/src/api/ThreadListRuntime.ts +31 -9
  320. package/src/api/ThreadRuntime.ts +38 -10
  321. package/src/context/providers/AssistantRuntimeProvider.tsx +4 -1
  322. package/src/context/providers/ThreadRuntimeProvider.tsx +9 -2
  323. package/src/internal.ts +1 -1
  324. package/src/primitives/composer/ComposerInput.tsx +3 -1
  325. package/src/primitives/threadList/ThreadListNew.tsx +1 -1
  326. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +1 -1
  327. package/src/runtimes/core/BaseThreadRuntimeCore.tsx +1 -9
  328. package/src/runtimes/core/ThreadListRuntimeCore.tsx +16 -7
  329. package/src/runtimes/core/ThreadRuntimeCore.tsx +1 -19
  330. package/src/runtimes/core/index.ts +0 -1
  331. package/src/runtimes/external-store/ExternalStoreAdapter.tsx +20 -3
  332. package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +5 -12
  333. package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +22 -35
  334. package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +3 -7
  335. package/src/runtimes/local/LocalRuntimeCore.tsx +7 -14
  336. package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +110 -103
  337. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +11 -10
  338. package/src/runtimes/local/useLocalRuntime.tsx +5 -12
  339. package/src/styles/tailwindcss/thread.css +1 -1
  340. package/src/ui/index.ts +6 -6
  341. package/src/ui/thread-config.tsx +1 -1
  342. package/src/ui/thread-list-item.tsx +24 -32
  343. package/src/ui/thread-list.tsx +13 -7
  344. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.d.ts +0 -19
  345. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.d.ts.map +0 -1
  346. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.js +0 -87
  347. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.js.map +0 -1
  348. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.mjs +0 -62
  349. package/dist/runtimes/local/LocalThreadMetadataRuntimeCore.mjs.map +0 -1
  350. package/src/runtimes/local/LocalThreadMetadataRuntimeCore.tsx +0 -79
@@ -24,8 +24,8 @@ __export(ComposerAddAttachment_exports, {
24
24
  ComposerPrimitiveAddAttachment: () => ComposerPrimitiveAddAttachment
25
25
  });
26
26
  module.exports = __toCommonJS(ComposerAddAttachment_exports);
27
- var import_createActionButton = require("../../utils/createActionButton.cjs");
28
- var import_useComposerAddAttachment = require("../../primitive-hooks/composer/useComposerAddAttachment.cjs");
27
+ var import_createActionButton = require("../../utils/createActionButton.js");
28
+ var import_useComposerAddAttachment = require("../../primitive-hooks/composer/useComposerAddAttachment.js");
29
29
  var ComposerPrimitiveAddAttachment = (0, import_createActionButton.createActionButton)(
30
30
  "ComposerPrimitive.AddAttachment",
31
31
  import_useComposerAddAttachment.useComposerAddAttachment
@@ -25,9 +25,9 @@ __export(ComposerAttachments_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(ComposerAttachments_exports);
27
27
  var import_react = require("react");
28
- var import_context = require("../../context/index.cjs");
29
- var import_AttachmentContext = require("../../context/react/AttachmentContext.cjs");
30
- var import_AttachmentRuntimeProvider = require("../../context/providers/AttachmentRuntimeProvider.cjs");
28
+ var import_context = require("../../context/index.js");
29
+ var import_AttachmentContext = require("../../context/react/AttachmentContext.js");
30
+ var import_AttachmentRuntimeProvider = require("../../context/providers/AttachmentRuntimeProvider.js");
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
32
  var getComponent = (components, attachment) => {
33
33
  const type = attachment.type;
@@ -24,8 +24,8 @@ __export(ComposerCancel_exports, {
24
24
  ComposerPrimitiveCancel: () => ComposerPrimitiveCancel
25
25
  });
26
26
  module.exports = __toCommonJS(ComposerCancel_exports);
27
- var import_createActionButton = require("../../utils/createActionButton.cjs");
28
- var import_useComposerCancel = require("../../primitive-hooks/composer/useComposerCancel.cjs");
27
+ var import_createActionButton = require("../../utils/createActionButton.js");
28
+ var import_useComposerCancel = require("../../primitive-hooks/composer/useComposerCancel.js");
29
29
  var ComposerPrimitiveCancel = (0, import_createActionButton.createActionButton)(
30
30
  "ComposerPrimitive.Cancel",
31
31
  import_useComposerCancel.useComposerCancel
@@ -24,7 +24,7 @@ __export(ComposerIf_exports, {
24
24
  ComposerPrimitiveIf: () => ComposerPrimitiveIf
25
25
  });
26
26
  module.exports = __toCommonJS(ComposerIf_exports);
27
- var import_useComposerIf = require("../../primitive-hooks/composer/useComposerIf.cjs");
27
+ var import_useComposerIf = require("../../primitive-hooks/composer/useComposerIf.js");
28
28
  var ComposerPrimitiveIf = ({
29
29
  children,
30
30
  ...query
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerInput.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerInput.tsx"],"names":[],"mappings":"AAYA,OAAyB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AASjC,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C,KAAY,KAAK,GAAG,qBAAqB,GAAG;QAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACpC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrC,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/C,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrD,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACtD,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB;cATrB,OAAO,GAAG,SAAS;oBACb,OAAO,GAAG,SAAS;qBAClB,OAAO,GAAG,SAAS;+BACT,OAAO,GAAG,SAAS;qCACb,OAAO,GAAG,SAAS;qCACnB,OAAO,GAAG,SAAS;uDAiHvD,CAAC"}
1
+ {"version":3,"file":"ComposerInput.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerInput.tsx"],"names":[],"mappings":"AAYA,OAAyB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAUjC,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C,KAAY,KAAK,GAAG,qBAAqB,GAAG;QAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACpC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrC,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/C,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrD,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACtD,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB;cATrB,OAAO,GAAG,SAAS;oBACb,OAAO,GAAG,SAAS;qBAClB,OAAO,GAAG,SAAS;+BACT,OAAO,GAAG,SAAS;qCACb,OAAO,GAAG,SAAS;qCACnB,OAAO,GAAG,SAAS;uDAkHvD,CAAC"}
@@ -39,10 +39,11 @@ var import_react_compose_refs = require("@radix-ui/react-compose-refs");
39
39
  var import_react_slot = require("@radix-ui/react-slot");
40
40
  var import_react = require("react");
41
41
  var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"));
42
- var import_ComposerContext = require("../../context/react/ComposerContext.cjs");
43
- var import_ThreadContext = require("../../context/react/ThreadContext.cjs");
42
+ var import_ComposerContext = require("../../context/react/ComposerContext.js");
43
+ var import_ThreadContext = require("../../context/react/ThreadContext.js");
44
44
  var import_react_use_escape_keydown = require("@radix-ui/react-use-escape-keydown");
45
- var import_useOnScrollToBottom = require("../../utils/hooks/useOnScrollToBottom.cjs");
45
+ var import_useOnScrollToBottom = require("../../utils/hooks/useOnScrollToBottom.js");
46
+ var import_ThreadListItemContext = require("../../context/react/ThreadListItemContext.js");
46
47
  var import_jsx_runtime = require("react/jsx-runtime");
47
48
  var ComposerPrimitiveInput = (0, import_react.forwardRef)(
48
49
  ({
@@ -58,6 +59,7 @@ var ComposerPrimitiveInput = (0, import_react.forwardRef)(
58
59
  unstable_focusOnThreadSwitched = true,
59
60
  ...rest
60
61
  }, forwardedRef) => {
62
+ const threadListItemRuntime = (0, import_ThreadListItemContext.useThreadListItemRuntime)();
61
63
  const threadRuntime = (0, import_ThreadContext.useThreadRuntime)();
62
64
  const composerRuntime = (0, import_ComposerContext.useComposerRuntime)();
63
65
  const value = (0, import_ComposerContext.useComposer)((c) => {
@@ -110,7 +112,7 @@ var ComposerPrimitiveInput = (0, import_react.forwardRef)(
110
112
  (0, import_react.useEffect)(() => {
111
113
  if (composerRuntime.type !== "thread" || !unstable_focusOnThreadSwitched)
112
114
  return void 0;
113
- return threadRuntime.unstable_on("switched-to", focus);
115
+ return threadListItemRuntime.unstable_on("switched-to", focus);
114
116
  }, [unstable_focusOnThreadSwitched]);
115
117
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
116
118
  Component,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/composer/ComposerInput.tsx"],"sourcesContent":["\"use client\";\n\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n type KeyboardEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport TextareaAutosize, {\n type TextareaAutosizeProps,\n} from \"react-textarea-autosize\";\nimport {\n useComposer,\n useComposerRuntime,\n} from \"../../context/react/ComposerContext\";\nimport { useThread, useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { useOnScrollToBottom } from \"../../utils/hooks/useOnScrollToBottom\";\n\nexport namespace ComposerPrimitiveInput {\n export type Element = HTMLTextAreaElement;\n export type Props = TextareaAutosizeProps & {\n asChild?: boolean | undefined;\n submitOnEnter?: boolean | undefined;\n cancelOnEscape?: boolean | undefined;\n unstable_focusOnRunStart?: boolean | undefined;\n unstable_focusOnScrollToBottom?: boolean | undefined;\n unstable_focusOnThreadSwitched?: boolean | undefined;\n };\n}\n\nexport const ComposerPrimitiveInput = forwardRef<\n ComposerPrimitiveInput.Element,\n ComposerPrimitiveInput.Props\n>(\n (\n {\n autoFocus = false,\n asChild,\n disabled: disabledProp,\n onChange,\n onKeyDown,\n submitOnEnter = true,\n cancelOnEscape = true,\n unstable_focusOnRunStart = true,\n unstable_focusOnScrollToBottom = true,\n unstable_focusOnThreadSwitched = true,\n ...rest\n },\n forwardedRef,\n ) => {\n const threadRuntime = useThreadRuntime();\n const composerRuntime = useComposerRuntime();\n\n const value = useComposer((c) => {\n if (!c.isEditing) return \"\";\n return c.text;\n });\n\n const Component = asChild ? Slot : TextareaAutosize;\n\n const isDisabled = useThread((t) => t.isDisabled) ?? disabledProp ?? false;\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const ref = useComposedRefs(forwardedRef, textareaRef);\n\n useEscapeKeydown((e) => {\n if (!cancelOnEscape) return;\n\n if (composerRuntime.getState().canCancel) {\n composerRuntime.cancel();\n e.preventDefault();\n }\n });\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (isDisabled || !submitOnEnter) return;\n\n // ignore IME composition events\n if (e.nativeEvent.isComposing) return;\n\n if (e.key === \"Enter\" && e.shiftKey === false) {\n const { isRunning } = threadRuntime.getState();\n\n if (!isRunning) {\n e.preventDefault();\n\n textareaRef.current?.closest(\"form\")?.requestSubmit();\n }\n }\n };\n\n const autoFocusEnabled = autoFocus && !isDisabled;\n const focus = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea || !autoFocusEnabled) return;\n\n textarea.focus({ preventScroll: true });\n textarea.setSelectionRange(\n textareaRef.current.value.length,\n textareaRef.current.value.length,\n );\n }, [autoFocusEnabled]);\n\n useEffect(() => focus(), [focus]);\n\n useOnScrollToBottom(() => {\n if (composerRuntime.type === \"thread\" && unstable_focusOnScrollToBottom) {\n focus();\n }\n });\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnRunStart)\n return undefined;\n\n return threadRuntime.unstable_on(\"run-start\", focus);\n }, [unstable_focusOnRunStart]);\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnThreadSwitched)\n return undefined;\n\n return threadRuntime.unstable_on(\"switched-to\", focus);\n }, [unstable_focusOnThreadSwitched]);\n\n return (\n <Component\n name=\"input\"\n value={value}\n {...rest}\n ref={ref}\n disabled={isDisabled}\n onChange={composeEventHandlers(onChange, (e) => {\n if (!composerRuntime.getState().isEditing) return;\n return composerRuntime.setText(e.target.value);\n })}\n onKeyDown={composeEventHandlers(onKeyDown, handleKeyPress)}\n />\n );\n },\n);\n\nComposerPrimitiveInput.displayName = \"ComposerPrimitive.Input\";\n"],"mappings":"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","names":["TextareaAutosize"]}
1
+ {"version":3,"sources":["../../../src/primitives/composer/ComposerInput.tsx"],"sourcesContent":["\"use client\";\n\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n type KeyboardEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport TextareaAutosize, {\n type TextareaAutosizeProps,\n} from \"react-textarea-autosize\";\nimport {\n useComposer,\n useComposerRuntime,\n} from \"../../context/react/ComposerContext\";\nimport { useThread, useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { useOnScrollToBottom } from \"../../utils/hooks/useOnScrollToBottom\";\nimport { useThreadListItemRuntime } from \"../../context/react/ThreadListItemContext\";\n\nexport namespace ComposerPrimitiveInput {\n export type Element = HTMLTextAreaElement;\n export type Props = TextareaAutosizeProps & {\n asChild?: boolean | undefined;\n submitOnEnter?: boolean | undefined;\n cancelOnEscape?: boolean | undefined;\n unstable_focusOnRunStart?: boolean | undefined;\n unstable_focusOnScrollToBottom?: boolean | undefined;\n unstable_focusOnThreadSwitched?: boolean | undefined;\n };\n}\n\nexport const ComposerPrimitiveInput = forwardRef<\n ComposerPrimitiveInput.Element,\n ComposerPrimitiveInput.Props\n>(\n (\n {\n autoFocus = false,\n asChild,\n disabled: disabledProp,\n onChange,\n onKeyDown,\n submitOnEnter = true,\n cancelOnEscape = true,\n unstable_focusOnRunStart = true,\n unstable_focusOnScrollToBottom = true,\n unstable_focusOnThreadSwitched = true,\n ...rest\n },\n forwardedRef,\n ) => {\n const threadListItemRuntime = useThreadListItemRuntime();\n const threadRuntime = useThreadRuntime();\n const composerRuntime = useComposerRuntime();\n\n const value = useComposer((c) => {\n if (!c.isEditing) return \"\";\n return c.text;\n });\n\n const Component = asChild ? Slot : TextareaAutosize;\n\n const isDisabled = useThread((t) => t.isDisabled) ?? disabledProp ?? false;\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const ref = useComposedRefs(forwardedRef, textareaRef);\n\n useEscapeKeydown((e) => {\n if (!cancelOnEscape) return;\n\n if (composerRuntime.getState().canCancel) {\n composerRuntime.cancel();\n e.preventDefault();\n }\n });\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (isDisabled || !submitOnEnter) return;\n\n // ignore IME composition events\n if (e.nativeEvent.isComposing) return;\n\n if (e.key === \"Enter\" && e.shiftKey === false) {\n const { isRunning } = threadRuntime.getState();\n\n if (!isRunning) {\n e.preventDefault();\n\n textareaRef.current?.closest(\"form\")?.requestSubmit();\n }\n }\n };\n\n const autoFocusEnabled = autoFocus && !isDisabled;\n const focus = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea || !autoFocusEnabled) return;\n\n textarea.focus({ preventScroll: true });\n textarea.setSelectionRange(\n textareaRef.current.value.length,\n textareaRef.current.value.length,\n );\n }, [autoFocusEnabled]);\n\n useEffect(() => focus(), [focus]);\n\n useOnScrollToBottom(() => {\n if (composerRuntime.type === \"thread\" && unstable_focusOnScrollToBottom) {\n focus();\n }\n });\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnRunStart)\n return undefined;\n\n return threadRuntime.unstable_on(\"run-start\", focus);\n }, [unstable_focusOnRunStart]);\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnThreadSwitched)\n return undefined;\n\n return threadListItemRuntime.unstable_on(\"switched-to\", focus);\n }, [unstable_focusOnThreadSwitched]);\n\n return (\n <Component\n name=\"input\"\n value={value}\n {...rest}\n ref={ref}\n disabled={isDisabled}\n onChange={composeEventHandlers(onChange, (e) => {\n if (!composerRuntime.getState().isEditing) return;\n return composerRuntime.setText(e.target.value);\n })}\n onKeyDown={composeEventHandlers(onKeyDown, handleKeyPress)}\n />\n );\n },\n);\n\nComposerPrimitiveInput.displayName = \"ComposerPrimitive.Input\";\n"],"mappings":"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","names":["TextareaAutosize"]}
@@ -18,6 +18,7 @@ import {
18
18
  import { useThread, useThreadRuntime } from "../../context/react/ThreadContext.mjs";
19
19
  import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
20
20
  import { useOnScrollToBottom } from "../../utils/hooks/useOnScrollToBottom.mjs";
21
+ import { useThreadListItemRuntime } from "../../context/react/ThreadListItemContext.mjs";
21
22
  import { jsx } from "react/jsx-runtime";
22
23
  var ComposerPrimitiveInput = forwardRef(
23
24
  ({
@@ -33,6 +34,7 @@ var ComposerPrimitiveInput = forwardRef(
33
34
  unstable_focusOnThreadSwitched = true,
34
35
  ...rest
35
36
  }, forwardedRef) => {
37
+ const threadListItemRuntime = useThreadListItemRuntime();
36
38
  const threadRuntime = useThreadRuntime();
37
39
  const composerRuntime = useComposerRuntime();
38
40
  const value = useComposer((c) => {
@@ -85,7 +87,7 @@ var ComposerPrimitiveInput = forwardRef(
85
87
  useEffect(() => {
86
88
  if (composerRuntime.type !== "thread" || !unstable_focusOnThreadSwitched)
87
89
  return void 0;
88
- return threadRuntime.unstable_on("switched-to", focus);
90
+ return threadListItemRuntime.unstable_on("switched-to", focus);
89
91
  }, [unstable_focusOnThreadSwitched]);
90
92
  return /* @__PURE__ */ jsx(
91
93
  Component,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/composer/ComposerInput.tsx"],"sourcesContent":["\"use client\";\n\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n type KeyboardEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport TextareaAutosize, {\n type TextareaAutosizeProps,\n} from \"react-textarea-autosize\";\nimport {\n useComposer,\n useComposerRuntime,\n} from \"../../context/react/ComposerContext\";\nimport { useThread, useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { useOnScrollToBottom } from \"../../utils/hooks/useOnScrollToBottom\";\n\nexport namespace ComposerPrimitiveInput {\n export type Element = HTMLTextAreaElement;\n export type Props = TextareaAutosizeProps & {\n asChild?: boolean | undefined;\n submitOnEnter?: boolean | undefined;\n cancelOnEscape?: boolean | undefined;\n unstable_focusOnRunStart?: boolean | undefined;\n unstable_focusOnScrollToBottom?: boolean | undefined;\n unstable_focusOnThreadSwitched?: boolean | undefined;\n };\n}\n\nexport const ComposerPrimitiveInput = forwardRef<\n ComposerPrimitiveInput.Element,\n ComposerPrimitiveInput.Props\n>(\n (\n {\n autoFocus = false,\n asChild,\n disabled: disabledProp,\n onChange,\n onKeyDown,\n submitOnEnter = true,\n cancelOnEscape = true,\n unstable_focusOnRunStart = true,\n unstable_focusOnScrollToBottom = true,\n unstable_focusOnThreadSwitched = true,\n ...rest\n },\n forwardedRef,\n ) => {\n const threadRuntime = useThreadRuntime();\n const composerRuntime = useComposerRuntime();\n\n const value = useComposer((c) => {\n if (!c.isEditing) return \"\";\n return c.text;\n });\n\n const Component = asChild ? Slot : TextareaAutosize;\n\n const isDisabled = useThread((t) => t.isDisabled) ?? disabledProp ?? false;\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const ref = useComposedRefs(forwardedRef, textareaRef);\n\n useEscapeKeydown((e) => {\n if (!cancelOnEscape) return;\n\n if (composerRuntime.getState().canCancel) {\n composerRuntime.cancel();\n e.preventDefault();\n }\n });\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (isDisabled || !submitOnEnter) return;\n\n // ignore IME composition events\n if (e.nativeEvent.isComposing) return;\n\n if (e.key === \"Enter\" && e.shiftKey === false) {\n const { isRunning } = threadRuntime.getState();\n\n if (!isRunning) {\n e.preventDefault();\n\n textareaRef.current?.closest(\"form\")?.requestSubmit();\n }\n }\n };\n\n const autoFocusEnabled = autoFocus && !isDisabled;\n const focus = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea || !autoFocusEnabled) return;\n\n textarea.focus({ preventScroll: true });\n textarea.setSelectionRange(\n textareaRef.current.value.length,\n textareaRef.current.value.length,\n );\n }, [autoFocusEnabled]);\n\n useEffect(() => focus(), [focus]);\n\n useOnScrollToBottom(() => {\n if (composerRuntime.type === \"thread\" && unstable_focusOnScrollToBottom) {\n focus();\n }\n });\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnRunStart)\n return undefined;\n\n return threadRuntime.unstable_on(\"run-start\", focus);\n }, [unstable_focusOnRunStart]);\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnThreadSwitched)\n return undefined;\n\n return threadRuntime.unstable_on(\"switched-to\", focus);\n }, [unstable_focusOnThreadSwitched]);\n\n return (\n <Component\n name=\"input\"\n value={value}\n {...rest}\n ref={ref}\n disabled={isDisabled}\n onChange={composeEventHandlers(onChange, (e) => {\n if (!composerRuntime.getState().isEditing) return;\n return composerRuntime.setText(e.target.value);\n })}\n onKeyDown={composeEventHandlers(onKeyDown, handleKeyPress)}\n />\n );\n },\n);\n\nComposerPrimitiveInput.displayName = \"ComposerPrimitive.Input\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/composer/ComposerInput.tsx"],"sourcesContent":["\"use client\";\n\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n type KeyboardEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport TextareaAutosize, {\n type TextareaAutosizeProps,\n} from \"react-textarea-autosize\";\nimport {\n useComposer,\n useComposerRuntime,\n} from \"../../context/react/ComposerContext\";\nimport { useThread, useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { useOnScrollToBottom } from \"../../utils/hooks/useOnScrollToBottom\";\nimport { useThreadListItemRuntime } from \"../../context/react/ThreadListItemContext\";\n\nexport namespace ComposerPrimitiveInput {\n export type Element = HTMLTextAreaElement;\n export type Props = TextareaAutosizeProps & {\n asChild?: boolean | undefined;\n submitOnEnter?: boolean | undefined;\n cancelOnEscape?: boolean | undefined;\n unstable_focusOnRunStart?: boolean | undefined;\n unstable_focusOnScrollToBottom?: boolean | undefined;\n unstable_focusOnThreadSwitched?: boolean | undefined;\n };\n}\n\nexport const ComposerPrimitiveInput = forwardRef<\n ComposerPrimitiveInput.Element,\n ComposerPrimitiveInput.Props\n>(\n (\n {\n autoFocus = false,\n asChild,\n disabled: disabledProp,\n onChange,\n onKeyDown,\n submitOnEnter = true,\n cancelOnEscape = true,\n unstable_focusOnRunStart = true,\n unstable_focusOnScrollToBottom = true,\n unstable_focusOnThreadSwitched = true,\n ...rest\n },\n forwardedRef,\n ) => {\n const threadListItemRuntime = useThreadListItemRuntime();\n const threadRuntime = useThreadRuntime();\n const composerRuntime = useComposerRuntime();\n\n const value = useComposer((c) => {\n if (!c.isEditing) return \"\";\n return c.text;\n });\n\n const Component = asChild ? Slot : TextareaAutosize;\n\n const isDisabled = useThread((t) => t.isDisabled) ?? disabledProp ?? false;\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const ref = useComposedRefs(forwardedRef, textareaRef);\n\n useEscapeKeydown((e) => {\n if (!cancelOnEscape) return;\n\n if (composerRuntime.getState().canCancel) {\n composerRuntime.cancel();\n e.preventDefault();\n }\n });\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (isDisabled || !submitOnEnter) return;\n\n // ignore IME composition events\n if (e.nativeEvent.isComposing) return;\n\n if (e.key === \"Enter\" && e.shiftKey === false) {\n const { isRunning } = threadRuntime.getState();\n\n if (!isRunning) {\n e.preventDefault();\n\n textareaRef.current?.closest(\"form\")?.requestSubmit();\n }\n }\n };\n\n const autoFocusEnabled = autoFocus && !isDisabled;\n const focus = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea || !autoFocusEnabled) return;\n\n textarea.focus({ preventScroll: true });\n textarea.setSelectionRange(\n textareaRef.current.value.length,\n textareaRef.current.value.length,\n );\n }, [autoFocusEnabled]);\n\n useEffect(() => focus(), [focus]);\n\n useOnScrollToBottom(() => {\n if (composerRuntime.type === \"thread\" && unstable_focusOnScrollToBottom) {\n focus();\n }\n });\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnRunStart)\n return undefined;\n\n return threadRuntime.unstable_on(\"run-start\", focus);\n }, [unstable_focusOnRunStart]);\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnThreadSwitched)\n return undefined;\n\n return threadListItemRuntime.unstable_on(\"switched-to\", focus);\n }, [unstable_focusOnThreadSwitched]);\n\n return (\n <Component\n name=\"input\"\n value={value}\n {...rest}\n ref={ref}\n disabled={isDisabled}\n onChange={composeEventHandlers(onChange, (e) => {\n if (!composerRuntime.getState().isEditing) return;\n return composerRuntime.setText(e.target.value);\n })}\n onKeyDown={composeEventHandlers(onKeyDown, handleKeyPress)}\n />\n );\n },\n);\n\nComposerPrimitiveInput.displayName = \"ComposerPrimitive.Input\";\n"],"mappings":"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","names":[]}
@@ -27,7 +27,7 @@ module.exports = __toCommonJS(ComposerRoot_exports);
27
27
  var import_primitive = require("@radix-ui/primitive");
28
28
  var import_react_primitive = require("@radix-ui/react-primitive");
29
29
  var import_react = require("react");
30
- var import_useComposerSend = require("../../primitive-hooks/composer/useComposerSend.cjs");
30
+ var import_useComposerSend = require("../../primitive-hooks/composer/useComposerSend.js");
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
32
  var ComposerPrimitiveRoot = (0, import_react.forwardRef)(({ onSubmit, ...rest }, forwardedRef) => {
33
33
  const send = (0, import_useComposerSend.useComposerSend)();
@@ -24,8 +24,8 @@ __export(ComposerSend_exports, {
24
24
  ComposerPrimitiveSend: () => ComposerPrimitiveSend
25
25
  });
26
26
  module.exports = __toCommonJS(ComposerSend_exports);
27
- var import_createActionButton = require("../../utils/createActionButton.cjs");
28
- var import_useComposerSend = require("../../primitive-hooks/composer/useComposerSend.cjs");
27
+ var import_createActionButton = require("../../utils/createActionButton.js");
28
+ var import_useComposerSend = require("../../primitive-hooks/composer/useComposerSend.js");
29
29
  var ComposerPrimitiveSend = (0, import_createActionButton.createActionButton)(
30
30
  "ComposerPrimitive.Send",
31
31
  import_useComposerSend.useComposerSend
@@ -29,13 +29,13 @@ __export(composer_exports, {
29
29
  Send: () => import_ComposerSend.ComposerPrimitiveSend
30
30
  });
31
31
  module.exports = __toCommonJS(composer_exports);
32
- var import_ComposerRoot = require("./ComposerRoot.cjs");
33
- var import_ComposerInput = require("./ComposerInput.cjs");
34
- var import_ComposerSend = require("./ComposerSend.cjs");
35
- var import_ComposerCancel = require("./ComposerCancel.cjs");
36
- var import_ComposerAddAttachment = require("./ComposerAddAttachment.cjs");
37
- var import_ComposerAttachments = require("./ComposerAttachments.cjs");
38
- var import_ComposerIf = require("./ComposerIf.cjs");
32
+ var import_ComposerRoot = require("./ComposerRoot.js");
33
+ var import_ComposerInput = require("./ComposerInput.js");
34
+ var import_ComposerSend = require("./ComposerSend.js");
35
+ var import_ComposerCancel = require("./ComposerCancel.js");
36
+ var import_ComposerAddAttachment = require("./ComposerAddAttachment.js");
37
+ var import_ComposerAttachments = require("./ComposerAttachments.js");
38
+ var import_ComposerIf = require("./ComposerIf.js");
39
39
  // Annotate the CommonJS export names for ESM import in node:
40
40
  0 && (module.exports = {
41
41
  AddAttachment,
@@ -23,7 +23,7 @@ __export(ContentPartDisplay_exports, {
23
23
  ContentPartPrimitiveDisplay: () => ContentPartPrimitiveDisplay
24
24
  });
25
25
  module.exports = __toCommonJS(ContentPartDisplay_exports);
26
- var import_useContentPartDisplay = require("../../primitive-hooks/contentPart/useContentPartDisplay.cjs");
26
+ var import_useContentPartDisplay = require("../../primitive-hooks/contentPart/useContentPartDisplay.js");
27
27
  var ContentPartPrimitiveDisplay = () => {
28
28
  const { display } = (0, import_useContentPartDisplay.useContentPartDisplay)();
29
29
  return display ?? null;
@@ -25,7 +25,7 @@ __export(ContentPartImage_exports, {
25
25
  module.exports = __toCommonJS(ContentPartImage_exports);
26
26
  var import_react_primitive = require("@radix-ui/react-primitive");
27
27
  var import_react = require("react");
28
- var import_useContentPartImage = require("../../primitive-hooks/contentPart/useContentPartImage.cjs");
28
+ var import_useContentPartImage = require("../../primitive-hooks/contentPart/useContentPartImage.js");
29
29
  var import_jsx_runtime = require("react/jsx-runtime");
30
30
  var ContentPartPrimitiveImage = (0, import_react.forwardRef)((props, forwardedRef) => {
31
31
  const { image } = (0, import_useContentPartImage.useContentPartImage)();
@@ -23,7 +23,7 @@ __export(ContentPartInProgress_exports, {
23
23
  ContentPartPrimitiveInProgress: () => ContentPartPrimitiveInProgress
24
24
  });
25
25
  module.exports = __toCommonJS(ContentPartInProgress_exports);
26
- var import_context = require("../../context/index.cjs");
26
+ var import_context = require("../../context/index.js");
27
27
  var ContentPartPrimitiveInProgress = ({ children }) => {
28
28
  const isInProgress = (0, import_context.useContentPart)((c) => c.status.type === "running");
29
29
  return isInProgress ? children : null;
@@ -25,8 +25,8 @@ __export(ContentPartText_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(ContentPartText_exports);
27
27
  var import_react = require("react");
28
- var import_useContentPartText = require("../../primitive-hooks/contentPart/useContentPartText.cjs");
29
- var import_useSmooth = require("../../utils/smooth/useSmooth.cjs");
28
+ var import_useContentPartText = require("../../primitive-hooks/contentPart/useContentPartText.js");
29
+ var import_useSmooth = require("../../utils/smooth/useSmooth.js");
30
30
  var import_jsx_runtime = require("react/jsx-runtime");
31
31
  var ContentPartPrimitiveText = (0, import_react.forwardRef)(({ smooth = true, component: Component = "span", ...rest }, forwardedRef) => {
32
32
  const { text, status } = (0, import_useSmooth.useSmooth)((0, import_useContentPartText.useContentPartText)(), smooth);
@@ -26,10 +26,10 @@ __export(contentPart_exports, {
26
26
  Text: () => import_ContentPartText.ContentPartPrimitiveText
27
27
  });
28
28
  module.exports = __toCommonJS(contentPart_exports);
29
- var import_ContentPartText = require("./ContentPartText.cjs");
30
- var import_ContentPartImage = require("./ContentPartImage.cjs");
31
- var import_ContentPartDisplay = require("./ContentPartDisplay.cjs");
32
- var import_ContentPartInProgress = require("./ContentPartInProgress.cjs");
29
+ var import_ContentPartText = require("./ContentPartText.js");
30
+ var import_ContentPartImage = require("./ContentPartImage.js");
31
+ var import_ContentPartDisplay = require("./ContentPartDisplay.js");
32
+ var import_ContentPartInProgress = require("./ContentPartInProgress.js");
33
33
  // Annotate the CommonJS export names for ESM import in node:
34
34
  0 && (module.exports = {
35
35
  Display,
@@ -42,16 +42,16 @@ __export(primitives_exports, {
42
42
  ThreadPrimitive: () => ThreadPrimitive
43
43
  });
44
44
  module.exports = __toCommonJS(primitives_exports);
45
- var ActionBarPrimitive = __toESM(require("./actionBar/index.cjs"));
46
- var AssistantModalPrimitive = __toESM(require("./assistantModal/index.cjs"));
47
- var AttachmentPrimitive = __toESM(require("./attachment/index.cjs"));
48
- var BranchPickerPrimitive = __toESM(require("./branchPicker/index.cjs"));
49
- var ComposerPrimitive = __toESM(require("./composer/index.cjs"));
50
- var ContentPartPrimitive = __toESM(require("./contentPart/index.cjs"));
51
- var MessagePrimitive = __toESM(require("./message/index.cjs"));
52
- var ThreadPrimitive = __toESM(require("./thread/index.cjs"));
53
- var ThreadListPrimitive = __toESM(require("./threadList/index.cjs"));
54
- var ThreadListItemPrimitive = __toESM(require("./threadListItem/index.cjs"));
45
+ var ActionBarPrimitive = __toESM(require("./actionBar/index.js"));
46
+ var AssistantModalPrimitive = __toESM(require("./assistantModal/index.js"));
47
+ var AttachmentPrimitive = __toESM(require("./attachment/index.js"));
48
+ var BranchPickerPrimitive = __toESM(require("./branchPicker/index.js"));
49
+ var ComposerPrimitive = __toESM(require("./composer/index.js"));
50
+ var ContentPartPrimitive = __toESM(require("./contentPart/index.js"));
51
+ var MessagePrimitive = __toESM(require("./message/index.js"));
52
+ var ThreadPrimitive = __toESM(require("./thread/index.js"));
53
+ var ThreadListPrimitive = __toESM(require("./threadList/index.js"));
54
+ var ThreadListItemPrimitive = __toESM(require("./threadListItem/index.js"));
55
55
  // Annotate the CommonJS export names for ESM import in node:
56
56
  0 && (module.exports = {
57
57
  ActionBarPrimitive,
@@ -25,9 +25,9 @@ __export(MessageAttachments_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(MessageAttachments_exports);
27
27
  var import_react = require("react");
28
- var import_context = require("../../context/index.cjs");
29
- var import_AttachmentContext = require("../../context/react/AttachmentContext.cjs");
30
- var import_AttachmentRuntimeProvider = require("../../context/providers/AttachmentRuntimeProvider.cjs");
28
+ var import_context = require("../../context/index.js");
29
+ var import_AttachmentContext = require("../../context/react/AttachmentContext.js");
30
+ var import_AttachmentRuntimeProvider = require("../../context/providers/AttachmentRuntimeProvider.js");
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
32
  var getComponent = (components, attachment) => {
33
33
  const type = attachment.type;
@@ -25,14 +25,14 @@ __export(MessageContent_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(MessageContent_exports);
27
27
  var import_react = require("react");
28
- var import_context = require("../../context/index.cjs");
29
- var import_MessageContext = require("../../context/react/MessageContext.cjs");
30
- var import_ContentPartRuntimeProvider = require("../../context/providers/ContentPartRuntimeProvider.cjs");
31
- var import_ContentPartText = require("../contentPart/ContentPartText.cjs");
32
- var import_ContentPartImage = require("../contentPart/ContentPartImage.cjs");
33
- var import_ContentPartDisplay = require("../contentPart/ContentPartDisplay.cjs");
34
- var import_ContentPartInProgress = require("../contentPart/ContentPartInProgress.cjs");
35
- var import_MessageRuntime = require("../../api/MessageRuntime.cjs");
28
+ var import_context = require("../../context/index.js");
29
+ var import_MessageContext = require("../../context/react/MessageContext.js");
30
+ var import_ContentPartRuntimeProvider = require("../../context/providers/ContentPartRuntimeProvider.js");
31
+ var import_ContentPartText = require("../contentPart/ContentPartText.js");
32
+ var import_ContentPartImage = require("../contentPart/ContentPartImage.js");
33
+ var import_ContentPartDisplay = require("../contentPart/ContentPartDisplay.js");
34
+ var import_ContentPartInProgress = require("../contentPart/ContentPartInProgress.js");
35
+ var import_MessageRuntime = require("../../api/MessageRuntime.js");
36
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
37
  var ToolUIDisplay = ({
38
38
  UI,
@@ -24,7 +24,7 @@ __export(MessageIf_exports, {
24
24
  MessagePrimitiveIf: () => MessagePrimitiveIf
25
25
  });
26
26
  module.exports = __toCommonJS(MessageIf_exports);
27
- var import_useMessageIf = require("../../primitive-hooks/message/useMessageIf.cjs");
27
+ var import_useMessageIf = require("../../primitive-hooks/message/useMessageIf.js");
28
28
  var MessagePrimitiveIf = ({
29
29
  children,
30
30
  ...query
@@ -26,8 +26,8 @@ __export(MessageRoot_exports, {
26
26
  module.exports = __toCommonJS(MessageRoot_exports);
27
27
  var import_react_primitive = require("@radix-ui/react-primitive");
28
28
  var import_react = require("react");
29
- var import_MessageContext = require("../../context/react/MessageContext.cjs");
30
- var import_useManagedRef = require("../../utils/hooks/useManagedRef.cjs");
29
+ var import_MessageContext = require("../../context/react/MessageContext.js");
30
+ var import_useManagedRef = require("../../utils/hooks/useManagedRef.js");
31
31
  var import_react_compose_refs = require("@radix-ui/react-compose-refs");
32
32
  var import_jsx_runtime = require("react/jsx-runtime");
33
33
  var useIsHoveringRef = () => {
@@ -26,10 +26,10 @@ __export(message_exports, {
26
26
  Root: () => import_MessageRoot.MessagePrimitiveRoot
27
27
  });
28
28
  module.exports = __toCommonJS(message_exports);
29
- var import_MessageRoot = require("./MessageRoot.cjs");
30
- var import_MessageIf = require("./MessageIf.cjs");
31
- var import_MessageContent = require("./MessageContent.cjs");
32
- var import_MessageAttachments = require("./MessageAttachments.cjs");
29
+ var import_MessageRoot = require("./MessageRoot.js");
30
+ var import_MessageIf = require("./MessageIf.js");
31
+ var import_MessageContent = require("./MessageContent.js");
32
+ var import_MessageAttachments = require("./MessageAttachments.js");
33
33
  // Annotate the CommonJS export names for ESM import in node:
34
34
  0 && (module.exports = {
35
35
  Attachments,
@@ -24,7 +24,7 @@ __export(ThreadEmpty_exports, {
24
24
  ThreadPrimitiveEmpty: () => ThreadPrimitiveEmpty
25
25
  });
26
26
  module.exports = __toCommonJS(ThreadEmpty_exports);
27
- var import_useThreadEmpty = require("../../primitive-hooks/thread/useThreadEmpty.cjs");
27
+ var import_useThreadEmpty = require("../../primitive-hooks/thread/useThreadEmpty.js");
28
28
  var ThreadPrimitiveEmpty = ({
29
29
  children
30
30
  }) => {
@@ -24,7 +24,7 @@ __export(ThreadIf_exports, {
24
24
  ThreadPrimitiveIf: () => ThreadPrimitiveIf
25
25
  });
26
26
  module.exports = __toCommonJS(ThreadIf_exports);
27
- var import_useThreadIf = require("../../primitive-hooks/thread/useThreadIf.cjs");
27
+ var import_useThreadIf = require("../../primitive-hooks/thread/useThreadIf.js");
28
28
  var ThreadPrimitiveIf = ({
29
29
  children,
30
30
  ...query
@@ -26,9 +26,9 @@ __export(ThreadMessages_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(ThreadMessages_exports);
28
28
  var import_react = require("react");
29
- var import_ThreadContext = require("../../context/react/ThreadContext.cjs");
30
- var import_MessageRuntimeProvider = require("../../context/providers/MessageRuntimeProvider.cjs");
31
- var import_context = require("../../context/index.cjs");
29
+ var import_ThreadContext = require("../../context/react/ThreadContext.js");
30
+ var import_MessageRuntimeProvider = require("../../context/providers/MessageRuntimeProvider.js");
31
+ var import_context = require("../../context/index.js");
32
32
  var import_jsx_runtime = require("react/jsx-runtime");
33
33
  var isComponentsSame = (prev, next) => {
34
34
  return prev.Message === next.Message && prev.EditComposer === next.EditComposer && prev.UserEditComposer === next.UserEditComposer && prev.AssistantEditComposer === next.AssistantEditComposer && prev.SystemEditComposer === next.SystemEditComposer && prev.UserMessage === next.UserMessage && prev.AssistantMessage === next.AssistantMessage && prev.SystemMessage === next.SystemMessage;
@@ -24,8 +24,8 @@ __export(ThreadScrollToBottom_exports, {
24
24
  ThreadPrimitiveScrollToBottom: () => ThreadPrimitiveScrollToBottom
25
25
  });
26
26
  module.exports = __toCommonJS(ThreadScrollToBottom_exports);
27
- var import_createActionButton = require("../../utils/createActionButton.cjs");
28
- var import_useThreadScrollToBottom = require("../../primitive-hooks/thread/useThreadScrollToBottom.cjs");
27
+ var import_createActionButton = require("../../utils/createActionButton.js");
28
+ var import_useThreadScrollToBottom = require("../../primitive-hooks/thread/useThreadScrollToBottom.js");
29
29
  var ThreadPrimitiveScrollToBottom = (0, import_createActionButton.createActionButton)(
30
30
  "ThreadPrimitive.ScrollToBottom",
31
31
  import_useThreadScrollToBottom.useThreadScrollToBottom
@@ -24,8 +24,8 @@ __export(ThreadSuggestion_exports, {
24
24
  ThreadPrimitiveSuggestion: () => ThreadPrimitiveSuggestion
25
25
  });
26
26
  module.exports = __toCommonJS(ThreadSuggestion_exports);
27
- var import_createActionButton = require("../../utils/createActionButton.cjs");
28
- var import_useThreadSuggestion = require("../../primitive-hooks/thread/useThreadSuggestion.cjs");
27
+ var import_createActionButton = require("../../utils/createActionButton.js");
28
+ var import_useThreadSuggestion = require("../../primitive-hooks/thread/useThreadSuggestion.js");
29
29
  var ThreadPrimitiveSuggestion = (0, import_createActionButton.createActionButton)(
30
30
  "ThreadPrimitive.Suggestion",
31
31
  import_useThreadSuggestion.useThreadSuggestion,
@@ -27,7 +27,7 @@ module.exports = __toCommonJS(ThreadViewport_exports);
27
27
  var import_react_compose_refs = require("@radix-ui/react-compose-refs");
28
28
  var import_react_primitive = require("@radix-ui/react-primitive");
29
29
  var import_react = require("react");
30
- var import_useThreadViewportAutoScroll = require("../../primitive-hooks/thread/useThreadViewportAutoScroll.cjs");
30
+ var import_useThreadViewportAutoScroll = require("../../primitive-hooks/thread/useThreadViewportAutoScroll.js");
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
32
  var ThreadPrimitiveViewport = (0, import_react.forwardRef)(({ autoScroll, children, ...rest }, forwardedRef) => {
33
33
  const autoScrollRef = (0, import_useThreadViewportAutoScroll.useThreadViewportAutoScroll)({
@@ -29,13 +29,13 @@ __export(thread_exports, {
29
29
  Viewport: () => import_ThreadViewport.ThreadPrimitiveViewport
30
30
  });
31
31
  module.exports = __toCommonJS(thread_exports);
32
- var import_ThreadRoot = require("./ThreadRoot.cjs");
33
- var import_ThreadEmpty = require("./ThreadEmpty.cjs");
34
- var import_ThreadIf = require("./ThreadIf.cjs");
35
- var import_ThreadViewport = require("./ThreadViewport.cjs");
36
- var import_ThreadMessages = require("./ThreadMessages.cjs");
37
- var import_ThreadScrollToBottom = require("./ThreadScrollToBottom.cjs");
38
- var import_ThreadSuggestion = require("./ThreadSuggestion.cjs");
32
+ var import_ThreadRoot = require("./ThreadRoot.js");
33
+ var import_ThreadEmpty = require("./ThreadEmpty.js");
34
+ var import_ThreadIf = require("./ThreadIf.js");
35
+ var import_ThreadViewport = require("./ThreadViewport.js");
36
+ var import_ThreadMessages = require("./ThreadMessages.js");
37
+ var import_ThreadScrollToBottom = require("./ThreadScrollToBottom.js");
38
+ var import_ThreadSuggestion = require("./ThreadSuggestion.js");
39
39
  // Annotate the CommonJS export names for ESM import in node:
40
40
  0 && (module.exports = {
41
41
  Empty,
@@ -25,8 +25,8 @@ __export(ThreadListItems_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(ThreadListItems_exports);
27
27
  var import_react = require("react");
28
- var import_ThreadListItemRuntimeProvider = require("../../context/providers/ThreadListItemRuntimeProvider.cjs");
29
- var import_context = require("../../context/index.cjs");
28
+ var import_ThreadListItemRuntimeProvider = require("../../context/providers/ThreadListItemRuntimeProvider.js");
29
+ var import_context = require("../../context/index.js");
30
30
  var import_jsx_runtime = require("react/jsx-runtime");
31
31
  var ThreadListItemImpl = ({
32
32
  partIndex,
@@ -24,7 +24,7 @@ __export(ThreadListNew_exports, {
24
24
  ThreadListPrimitiveNew: () => ThreadListPrimitiveNew
25
25
  });
26
26
  module.exports = __toCommonJS(ThreadListNew_exports);
27
- var import_context = require("../../context/index.cjs");
27
+ var import_context = require("../../context/index.js");
28
28
  var import_react = require("react");
29
29
  var import_react_primitive = require("@radix-ui/react-primitive");
30
30
  var import_primitive = require("@radix-ui/primitive");
@@ -42,7 +42,7 @@ var ThreadListPrimitiveNew = (0, import_react.forwardRef)(({ onClick, disabled,
42
42
  import_react_primitive.Primitive.button,
43
43
  {
44
44
  type: "button",
45
- ...isMain ? { "data-active": "true" } : null,
45
+ ...isMain ? { "data-active": "true", "aria-current": "true" } : null,
46
46
  ...props,
47
47
  ref: forwardedRef,
48
48
  disabled: disabled || !callback,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n} from \"../../utils/createActionButton\";\nimport { useAssistantRuntime, useThreadList } from \"../../context\";\nimport { forwardRef } from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\nconst useThreadListNew = () => {\n const runtime = useAssistantRuntime();\n return () => {\n runtime.switchToNewThread();\n };\n};\n\nexport namespace ThreadListPrimitiveNew {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useThreadListNew>;\n}\n\nexport const ThreadListPrimitiveNew = forwardRef<\n ThreadListPrimitiveNew.Element,\n ThreadListPrimitiveNew.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isMain = useThreadList((t) => t.newThread === t.mainThreadId);\n const callback = useThreadListNew();\n\n return (\n <Primitive.button\n type=\"button\"\n {...(isMain ? { \"data-active\": \"true\" } : null)}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nThreadListPrimitiveNew.displayName = \"ThreadListPrimitive.New\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmD;AACnD,mBAA2B;AAC3B,6BAA0B;AAC1B,uBAAqC;AAsBjC;AApBJ,IAAM,mBAAmB,MAAM;AAC7B,QAAM,cAAU,oCAAoB;AACpC,SAAO,MAAM;AACX,YAAQ,kBAAkB;AAAA,EAC5B;AACF;AAOO,IAAM,6BAAyB,yBAGpC,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,aAAS,8BAAc,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY;AAClE,QAAM,WAAW,iBAAiB;AAElC,SACE;AAAA,IAAC,iCAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,SAAS,EAAE,eAAe,OAAO,IAAI;AAAA,MACzC,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,aAAS,uCAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,uBAAuB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n} from \"../../utils/createActionButton\";\nimport { useAssistantRuntime, useThreadList } from \"../../context\";\nimport { forwardRef } from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\nconst useThreadListNew = () => {\n const runtime = useAssistantRuntime();\n return () => {\n runtime.switchToNewThread();\n };\n};\n\nexport namespace ThreadListPrimitiveNew {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useThreadListNew>;\n}\n\nexport const ThreadListPrimitiveNew = forwardRef<\n ThreadListPrimitiveNew.Element,\n ThreadListPrimitiveNew.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isMain = useThreadList((t) => t.newThread === t.mainThreadId);\n const callback = useThreadListNew();\n\n return (\n <Primitive.button\n type=\"button\"\n {...(isMain ? { \"data-active\": \"true\", \"aria-current\": \"true\" } : null)}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nThreadListPrimitiveNew.displayName = \"ThreadListPrimitive.New\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmD;AACnD,mBAA2B;AAC3B,6BAA0B;AAC1B,uBAAqC;AAsBjC;AApBJ,IAAM,mBAAmB,MAAM;AAC7B,QAAM,cAAU,oCAAoB;AACpC,SAAO,MAAM;AACX,YAAQ,kBAAkB;AAAA,EAC5B;AACF;AAOO,IAAM,6BAAyB,yBAGpC,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,aAAS,8BAAc,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY;AAClE,QAAM,WAAW,iBAAiB;AAElC,SACE;AAAA,IAAC,iCAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,SAAS,EAAE,eAAe,QAAQ,gBAAgB,OAAO,IAAI;AAAA,MACjE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,aAAS,uCAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,uBAAuB,cAAc;","names":[]}
@@ -19,7 +19,7 @@ var ThreadListPrimitiveNew = forwardRef(({ onClick, disabled, ...props }, forwar
19
19
  Primitive.button,
20
20
  {
21
21
  type: "button",
22
- ...isMain ? { "data-active": "true" } : null,
22
+ ...isMain ? { "data-active": "true", "aria-current": "true" } : null,
23
23
  ...props,
24
24
  ref: forwardedRef,
25
25
  disabled: disabled || !callback,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n} from \"../../utils/createActionButton\";\nimport { useAssistantRuntime, useThreadList } from \"../../context\";\nimport { forwardRef } from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\nconst useThreadListNew = () => {\n const runtime = useAssistantRuntime();\n return () => {\n runtime.switchToNewThread();\n };\n};\n\nexport namespace ThreadListPrimitiveNew {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useThreadListNew>;\n}\n\nexport const ThreadListPrimitiveNew = forwardRef<\n ThreadListPrimitiveNew.Element,\n ThreadListPrimitiveNew.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isMain = useThreadList((t) => t.newThread === t.mainThreadId);\n const callback = useThreadListNew();\n\n return (\n <Primitive.button\n type=\"button\"\n {...(isMain ? { \"data-active\": \"true\" } : null)}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nThreadListPrimitiveNew.displayName = \"ThreadListPrimitive.New\";\n"],"mappings":";;;AAMA,SAAS,qBAAqB,qBAAqB;AACnD,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AAsBjC;AApBJ,IAAM,mBAAmB,MAAM;AAC7B,QAAM,UAAU,oBAAoB;AACpC,SAAO,MAAM;AACX,YAAQ,kBAAkB;AAAA,EAC5B;AACF;AAOO,IAAM,yBAAyB,WAGpC,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,SAAS,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY;AAClE,QAAM,WAAW,iBAAiB;AAElC,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,SAAS,EAAE,eAAe,OAAO,IAAI;AAAA,MACzC,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,uBAAuB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n} from \"../../utils/createActionButton\";\nimport { useAssistantRuntime, useThreadList } from \"../../context\";\nimport { forwardRef } from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\nconst useThreadListNew = () => {\n const runtime = useAssistantRuntime();\n return () => {\n runtime.switchToNewThread();\n };\n};\n\nexport namespace ThreadListPrimitiveNew {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useThreadListNew>;\n}\n\nexport const ThreadListPrimitiveNew = forwardRef<\n ThreadListPrimitiveNew.Element,\n ThreadListPrimitiveNew.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isMain = useThreadList((t) => t.newThread === t.mainThreadId);\n const callback = useThreadListNew();\n\n return (\n <Primitive.button\n type=\"button\"\n {...(isMain ? { \"data-active\": \"true\", \"aria-current\": \"true\" } : null)}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nThreadListPrimitiveNew.displayName = \"ThreadListPrimitive.New\";\n"],"mappings":";;;AAMA,SAAS,qBAAqB,qBAAqB;AACnD,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AAsBjC;AApBJ,IAAM,mBAAmB,MAAM;AAC7B,QAAM,UAAU,oBAAoB;AACpC,SAAO,MAAM;AACX,YAAQ,kBAAkB;AAAA,EAC5B;AACF;AAOO,IAAM,yBAAyB,WAGpC,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,SAAS,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY;AAClE,QAAM,WAAW,iBAAiB;AAElC,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,SAAS,EAAE,eAAe,QAAQ,gBAAgB,OAAO,IAAI;AAAA,MACjE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,uBAAuB,cAAc;","names":[]}
@@ -24,8 +24,8 @@ __export(threadList_exports, {
24
24
  New: () => import_ThreadListNew.ThreadListPrimitiveNew
25
25
  });
26
26
  module.exports = __toCommonJS(threadList_exports);
27
- var import_ThreadListNew = require("./ThreadListNew.cjs");
28
- var import_ThreadListItems = require("./ThreadListItems.cjs");
27
+ var import_ThreadListNew = require("./ThreadListNew.js");
28
+ var import_ThreadListItems = require("./ThreadListItems.js");
29
29
  // Annotate the CommonJS export names for ESM import in node:
30
30
  0 && (module.exports = {
31
31
  Items,
@@ -24,8 +24,8 @@ __export(ThreadListItemArchive_exports, {
24
24
  ThreadListItemPrimitiveArchive: () => ThreadListItemPrimitiveArchive
25
25
  });
26
26
  module.exports = __toCommonJS(ThreadListItemArchive_exports);
27
- var import_createActionButton = require("../../utils/createActionButton.cjs");
28
- var import_ThreadListItemContext = require("../../context/react/ThreadListItemContext.cjs");
27
+ var import_createActionButton = require("../../utils/createActionButton.js");
28
+ var import_ThreadListItemContext = require("../../context/react/ThreadListItemContext.js");
29
29
  var import_react = require("react");
30
30
  var useThreadListItemArchive = () => {
31
31
  const runtime = (0, import_ThreadListItemContext.useThreadListItemRuntime)();
@@ -24,8 +24,8 @@ __export(ThreadListItemDelete_exports, {
24
24
  ThreadListItemPrimitiveDelete: () => ThreadListItemPrimitiveDelete
25
25
  });
26
26
  module.exports = __toCommonJS(ThreadListItemDelete_exports);
27
- var import_createActionButton = require("../../utils/createActionButton.cjs");
28
- var import_ThreadListItemContext = require("../../context/react/ThreadListItemContext.cjs");
27
+ var import_createActionButton = require("../../utils/createActionButton.js");
28
+ var import_ThreadListItemContext = require("../../context/react/ThreadListItemContext.js");
29
29
  var useThreadListItemDelete = () => {
30
30
  const runtime = (0, import_ThreadListItemContext.useThreadListItemRuntime)();
31
31
  return () => {