@assistant-ui/react 0.7.7 → 0.7.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. package/dist/api/AssistantRuntime.js +3 -3
  2. package/dist/api/ComposerRuntime.d.ts.map +1 -1
  3. package/dist/api/ComposerRuntime.js +4 -4
  4. package/dist/api/MessageRuntime.js +7 -7
  5. package/dist/api/ThreadListRuntime.js +4 -4
  6. package/dist/api/ThreadRuntime.js +6 -6
  7. package/dist/api/subscribable/LazyMemoizeSubject.js +2 -2
  8. package/dist/api/subscribable/NestedSubscriptionSubject.js +1 -1
  9. package/dist/api/subscribable/ShallowMemoizeSubject.js +3 -3
  10. package/dist/context/index.js +6 -6
  11. package/dist/context/index.js.map +1 -1
  12. package/dist/context/providers/AssistantRuntimeProvider.js +4 -4
  13. package/dist/context/providers/AttachmentRuntimeProvider.js +2 -2
  14. package/dist/context/providers/ContentPartRuntimeProvider.js +2 -2
  15. package/dist/context/providers/MessageRuntimeProvider.js +3 -3
  16. package/dist/context/providers/TextContentPartProvider.js +3 -3
  17. package/dist/context/providers/ThreadListItemRuntimeProvider.js +2 -2
  18. package/dist/context/providers/ThreadRuntimeProvider.js +3 -3
  19. package/dist/context/providers/index.js +2 -2
  20. package/dist/context/react/AssistantContext.js +2 -2
  21. package/dist/context/react/AttachmentContext.js +1 -1
  22. package/dist/context/react/ComposerContext.js +3 -3
  23. package/dist/context/react/ContentPartContext.js +2 -2
  24. package/dist/context/react/MessageContext.js +2 -2
  25. package/dist/context/react/ThreadContext.js +2 -2
  26. package/dist/context/react/ThreadListItemContext.js +2 -2
  27. package/dist/context/react/index.js +6 -6
  28. package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
  29. package/dist/edge.js +1 -1
  30. package/dist/index.js +17 -17
  31. package/dist/index.js.map +1 -1
  32. package/dist/internal.js +11 -11
  33. package/dist/internal.js.map +1 -1
  34. package/dist/model-config/index.js +6 -6
  35. package/dist/model-config/makeAssistantTool.js +1 -1
  36. package/dist/model-config/makeAssistantToolUI.js +1 -1
  37. package/dist/model-config/useAssistantInstructions.js +1 -1
  38. package/dist/model-config/useAssistantTool.js +1 -1
  39. package/dist/model-config/useAssistantToolUI.js +1 -1
  40. package/dist/primitive-hooks/actionBar/useActionBarCopy.js +2 -2
  41. package/dist/primitive-hooks/actionBar/useActionBarEdit.js +1 -1
  42. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +1 -1
  43. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +1 -1
  44. package/dist/primitive-hooks/actionBar/useActionBarReload.js +3 -3
  45. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +1 -1
  46. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +1 -1
  47. package/dist/primitive-hooks/attachment/useAttachmentRemove.js +1 -1
  48. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js +1 -1
  49. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +1 -1
  50. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js +1 -1
  51. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +1 -1
  52. package/dist/primitive-hooks/composer/useComposerAddAttachment.js +1 -1
  53. package/dist/primitive-hooks/composer/useComposerCancel.js +1 -1
  54. package/dist/primitive-hooks/composer/useComposerIf.js +1 -1
  55. package/dist/primitive-hooks/composer/useComposerSend.js +3 -3
  56. package/dist/primitive-hooks/contentPart/index.js +3 -3
  57. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js +1 -1
  58. package/dist/primitive-hooks/contentPart/useContentPartImage.js +1 -1
  59. package/dist/primitive-hooks/contentPart/useContentPartText.js +1 -1
  60. package/dist/primitive-hooks/index.js +2 -2
  61. package/dist/primitive-hooks/index.js.map +1 -1
  62. package/dist/primitive-hooks/message/useMessageIf.js +2 -2
  63. package/dist/primitive-hooks/thread/useThreadEmpty.js +1 -1
  64. package/dist/primitive-hooks/thread/useThreadIf.js +1 -1
  65. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +2 -2
  66. package/dist/primitive-hooks/thread/useThreadSuggestion.js +2 -2
  67. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js +5 -5
  68. package/dist/primitives/actionBar/ActionBarCopy.js +2 -2
  69. package/dist/primitives/actionBar/ActionBarEdit.js +2 -2
  70. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +2 -2
  71. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +2 -2
  72. package/dist/primitives/actionBar/ActionBarReload.js +2 -2
  73. package/dist/primitives/actionBar/ActionBarRoot.js +1 -1
  74. package/dist/primitives/actionBar/ActionBarSpeak.js +2 -2
  75. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +1 -1
  76. package/dist/primitives/actionBar/index.js +8 -8
  77. package/dist/primitives/actionBar/useActionBarFloatStatus.js +3 -3
  78. package/dist/primitives/assistantModal/AssistantModalAnchor.js +1 -1
  79. package/dist/primitives/assistantModal/AssistantModalContent.js +1 -1
  80. package/dist/primitives/assistantModal/AssistantModalRoot.js +2 -2
  81. package/dist/primitives/assistantModal/AssistantModalTrigger.js +1 -1
  82. package/dist/primitives/assistantModal/index.js +4 -4
  83. package/dist/primitives/attachment/AttachmentName.js +1 -1
  84. package/dist/primitives/attachment/AttachmentRemove.js +2 -2
  85. package/dist/primitives/attachment/AttachmentThumb.js +1 -1
  86. package/dist/primitives/attachment/index.js +4 -4
  87. package/dist/primitives/branchPicker/BranchPickerCount.js +1 -1
  88. package/dist/primitives/branchPicker/BranchPickerNext.js +2 -2
  89. package/dist/primitives/branchPicker/BranchPickerNumber.js +1 -1
  90. package/dist/primitives/branchPicker/BranchPickerPrevious.js +2 -2
  91. package/dist/primitives/branchPicker/BranchPickerRoot.js +1 -1
  92. package/dist/primitives/branchPicker/index.js +5 -5
  93. package/dist/primitives/composer/ComposerAddAttachment.js +2 -2
  94. package/dist/primitives/composer/ComposerAttachments.js +3 -3
  95. package/dist/primitives/composer/ComposerCancel.js +2 -2
  96. package/dist/primitives/composer/ComposerIf.js +1 -1
  97. package/dist/primitives/composer/ComposerInput.js +3 -3
  98. package/dist/primitives/composer/ComposerRoot.js +1 -1
  99. package/dist/primitives/composer/ComposerSend.js +2 -2
  100. package/dist/primitives/composer/index.js +7 -7
  101. package/dist/primitives/contentPart/ContentPartDisplay.js +1 -1
  102. package/dist/primitives/contentPart/ContentPartImage.js +1 -1
  103. package/dist/primitives/contentPart/ContentPartInProgress.js +1 -1
  104. package/dist/primitives/contentPart/ContentPartText.js +2 -2
  105. package/dist/primitives/contentPart/index.js +4 -4
  106. package/dist/primitives/index.js +10 -10
  107. package/dist/primitives/message/MessageAttachments.js +3 -3
  108. package/dist/primitives/message/MessageContent.js +8 -8
  109. package/dist/primitives/message/MessageIf.js +1 -1
  110. package/dist/primitives/message/MessageRoot.js +2 -2
  111. package/dist/primitives/message/index.js +4 -4
  112. package/dist/primitives/thread/ThreadEmpty.js +1 -1
  113. package/dist/primitives/thread/ThreadIf.js +1 -1
  114. package/dist/primitives/thread/ThreadMessages.js +3 -3
  115. package/dist/primitives/thread/ThreadScrollToBottom.js +2 -2
  116. package/dist/primitives/thread/ThreadSuggestion.js +2 -2
  117. package/dist/primitives/thread/ThreadViewport.js +1 -1
  118. package/dist/primitives/thread/index.js +7 -7
  119. package/dist/primitives/threadList/ThreadListItems.d.ts +2 -2
  120. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  121. package/dist/primitives/threadList/ThreadListItems.js +2 -2
  122. package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
  123. package/dist/primitives/threadList/ThreadListItems.mjs.map +1 -1
  124. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  125. package/dist/primitives/threadList/ThreadListNew.js +24 -7
  126. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  127. package/dist/primitives/threadList/ThreadListNew.mjs +24 -9
  128. package/dist/primitives/threadList/ThreadListNew.mjs.map +1 -1
  129. package/dist/primitives/threadList/index.js +2 -2
  130. package/dist/primitives/threadListItem/ThreadListItemArchive.js +2 -2
  131. package/dist/primitives/threadListItem/ThreadListItemDelete.js +2 -2
  132. package/dist/primitives/threadListItem/ThreadListItemRoot.js +2 -2
  133. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  134. package/dist/primitives/threadListItem/ThreadListItemRoot.mjs +1 -1
  135. package/dist/primitives/threadListItem/ThreadListItemRoot.mjs.map +1 -1
  136. package/dist/primitives/threadListItem/ThreadListItemTitle.js +1 -1
  137. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +2 -2
  138. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +2 -2
  139. package/dist/primitives/threadListItem/index.js +6 -6
  140. package/dist/runtimes/attachment/index.js +3 -3
  141. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +2 -2
  142. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +1 -1
  143. package/dist/runtimes/core/BaseAssistantRuntimeCore.js +1 -1
  144. package/dist/runtimes/core/BaseThreadRuntimeCore.js +4 -4
  145. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js +6 -6
  146. package/dist/runtimes/dangerous-in-browser/index.js +1 -1
  147. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +3 -3
  148. package/dist/runtimes/edge/EdgeChatAdapter.js +7 -7
  149. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +1 -1
  150. package/dist/runtimes/edge/converters/fromCoreMessage.js +1 -1
  151. package/dist/runtimes/edge/converters/index.js +6 -6
  152. package/dist/runtimes/edge/createEdgeRuntimeAPI.js +9 -9
  153. package/dist/runtimes/edge/index.js +6 -6
  154. package/dist/runtimes/edge/index.js.map +1 -1
  155. package/dist/runtimes/edge/partial-json/parse-partial-json.js +1 -1
  156. package/dist/runtimes/edge/streams/assistantDecoderStream.js +1 -1
  157. package/dist/runtimes/edge/streams/assistantEncoderStream.js +1 -1
  158. package/dist/runtimes/edge/streams/runResultStream.js +1 -1
  159. package/dist/runtimes/edge/streams/utils/index.js +2 -2
  160. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js +2 -2
  161. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.d.ts +1 -1
  162. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.d.ts.map +1 -1
  163. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js +1 -1
  164. package/dist/runtimes/edge/useEdgeRuntime.js +3 -3
  165. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +3 -3
  166. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +7 -7
  167. package/dist/runtimes/external-store/external-message-converter.js +4 -4
  168. package/dist/runtimes/external-store/index.js +3 -3
  169. package/dist/runtimes/external-store/useExternalStoreRuntime.js +3 -3
  170. package/dist/runtimes/index.js +16 -16
  171. package/dist/runtimes/index.js.map +1 -1
  172. package/dist/runtimes/local/LocalRuntimeCore.js +4 -4
  173. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +1 -1
  174. package/dist/runtimes/local/LocalThreadRuntimeCore.js +5 -5
  175. package/dist/runtimes/local/index.js +1 -1
  176. package/dist/runtimes/local/useLocalRuntime.js +3 -3
  177. package/dist/runtimes/speech/index.js +1 -1
  178. package/dist/runtimes/utils/MessageRepository.js +2 -2
  179. package/dist/styles/index.css +78 -0
  180. package/dist/styles/index.css.map +1 -1
  181. package/dist/styles/tailwindcss/thread.css +30 -0
  182. package/dist/styles/tailwindcss/thread.css.json +21 -0
  183. package/dist/ui/assistant-action-bar.d.ts +7 -7
  184. package/dist/ui/assistant-action-bar.d.ts.map +1 -1
  185. package/dist/ui/assistant-action-bar.js +5 -5
  186. package/dist/ui/assistant-action-bar.js.map +1 -1
  187. package/dist/ui/assistant-action-bar.mjs +1 -3
  188. package/dist/ui/assistant-action-bar.mjs.map +1 -1
  189. package/dist/ui/assistant-message.js +7 -7
  190. package/dist/ui/assistant-modal.d.ts +3 -3
  191. package/dist/ui/assistant-modal.d.ts.map +1 -1
  192. package/dist/ui/assistant-modal.js +5 -5
  193. package/dist/ui/assistant-modal.js.map +1 -1
  194. package/dist/ui/assistant-modal.mjs +1 -3
  195. package/dist/ui/assistant-modal.mjs.map +1 -1
  196. package/dist/ui/attachment-ui.d.ts +2 -2
  197. package/dist/ui/attachment-ui.d.ts.map +1 -1
  198. package/dist/ui/attachment-ui.js +7 -7
  199. package/dist/ui/attachment-ui.js.map +1 -1
  200. package/dist/ui/attachment-ui.mjs +1 -3
  201. package/dist/ui/attachment-ui.mjs.map +1 -1
  202. package/dist/ui/base/avatar.js +1 -1
  203. package/dist/ui/base/index.d.ts +1 -1
  204. package/dist/ui/base/index.d.ts.map +1 -1
  205. package/dist/ui/base/index.js +5 -5
  206. package/dist/ui/base/index.js.map +1 -1
  207. package/dist/ui/base/index.mjs +1 -3
  208. package/dist/ui/base/index.mjs.map +1 -1
  209. package/dist/ui/base/tooltip-icon-button.d.ts +6 -4
  210. package/dist/ui/base/tooltip-icon-button.d.ts.map +1 -1
  211. package/dist/ui/base/tooltip-icon-button.js +2 -2
  212. package/dist/ui/base/tooltip-icon-button.js.map +1 -1
  213. package/dist/ui/base/tooltip-icon-button.mjs.map +1 -1
  214. package/dist/ui/base/tooltip.js +1 -1
  215. package/dist/ui/branch-picker.d.ts +3 -3
  216. package/dist/ui/branch-picker.d.ts.map +1 -1
  217. package/dist/ui/branch-picker.js +5 -5
  218. package/dist/ui/branch-picker.js.map +1 -1
  219. package/dist/ui/branch-picker.mjs +1 -3
  220. package/dist/ui/branch-picker.mjs.map +1 -1
  221. package/dist/ui/composer.d.ts +4 -4
  222. package/dist/ui/composer.d.ts.map +1 -1
  223. package/dist/ui/composer.js +7 -7
  224. package/dist/ui/composer.js.map +1 -1
  225. package/dist/ui/composer.mjs +1 -3
  226. package/dist/ui/composer.mjs.map +1 -1
  227. package/dist/ui/content-part.js +2 -2
  228. package/dist/ui/edit-composer.js +4 -4
  229. package/dist/ui/index.d.ts +4 -2
  230. package/dist/ui/index.d.ts.map +1 -1
  231. package/dist/ui/index.js +19 -13
  232. package/dist/ui/index.js.map +1 -1
  233. package/dist/ui/index.mjs +18 -14
  234. package/dist/ui/index.mjs.map +1 -1
  235. package/dist/ui/thread-config.d.ts +13 -0
  236. package/dist/ui/thread-config.d.ts.map +1 -1
  237. package/dist/ui/thread-config.js +2 -2
  238. package/dist/ui/thread-config.js.map +1 -1
  239. package/dist/ui/thread-config.mjs.map +1 -1
  240. package/dist/ui/thread-list-item.d.ts +15 -0
  241. package/dist/ui/thread-list-item.d.ts.map +1 -0
  242. package/dist/ui/thread-list-item.js +94 -0
  243. package/dist/ui/thread-list-item.js.map +1 -0
  244. package/dist/ui/thread-list-item.mjs +64 -0
  245. package/dist/ui/thread-list-item.mjs.map +1 -0
  246. package/dist/ui/thread-list.d.ts +27 -0
  247. package/dist/ui/thread-list.d.ts.map +1 -0
  248. package/dist/ui/thread-list.js +91 -0
  249. package/dist/ui/thread-list.js.map +1 -0
  250. package/dist/ui/thread-list.mjs +61 -0
  251. package/dist/ui/thread-list.mjs.map +1 -0
  252. package/dist/ui/thread-welcome.js +5 -5
  253. package/dist/ui/thread.d.ts +2 -2
  254. package/dist/ui/thread.d.ts.map +1 -1
  255. package/dist/ui/thread.js +10 -10
  256. package/dist/ui/thread.js.map +1 -1
  257. package/dist/ui/thread.mjs +1 -3
  258. package/dist/ui/thread.mjs.map +1 -1
  259. package/dist/ui/user-action-bar.d.ts +2 -2
  260. package/dist/ui/user-action-bar.d.ts.map +1 -1
  261. package/dist/ui/user-action-bar.js +5 -5
  262. package/dist/ui/user-action-bar.js.map +1 -1
  263. package/dist/ui/user-action-bar.mjs +1 -3
  264. package/dist/ui/user-action-bar.mjs.map +1 -1
  265. package/dist/ui/user-message.js +6 -6
  266. package/dist/utils/ProxyConfigProvider.js +1 -1
  267. package/dist/utils/combined/createCombinedStore.d.ts.map +1 -1
  268. package/dist/utils/combined/useCombinedStore.d.ts.map +1 -1
  269. package/dist/utils/combined/useCombinedStore.js +1 -1
  270. package/dist/utils/hooks/useOnResizeContent.js +1 -1
  271. package/dist/utils/hooks/useOnScrollToBottom.js +1 -1
  272. package/dist/utils/smooth/SmoothContext.js +2 -2
  273. package/dist/utils/smooth/index.js +3 -3
  274. package/dist/utils/smooth/useSmooth.js +3 -3
  275. package/package.json +5 -5
  276. package/src/primitives/threadList/ThreadListItems.tsx +3 -3
  277. package/src/primitives/threadList/ThreadListNew.tsx +45 -0
  278. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +1 -1
  279. package/src/styles/tailwindcss/thread.css +30 -0
  280. package/src/ui/assistant-action-bar.tsx +7 -10
  281. package/src/ui/assistant-modal.tsx +3 -6
  282. package/src/ui/attachment-ui.tsx +2 -5
  283. package/src/ui/base/index.ts +1 -4
  284. package/src/ui/base/tooltip-icon-button.tsx +7 -5
  285. package/src/ui/branch-picker.tsx +3 -6
  286. package/src/ui/composer.tsx +4 -7
  287. package/src/ui/index.ts +7 -3
  288. package/src/ui/thread-config.tsx +13 -0
  289. package/src/ui/thread-list-item.tsx +91 -0
  290. package/src/ui/thread-list.tsx +78 -0
  291. package/src/ui/thread.tsx +2 -5
  292. package/src/ui/user-action-bar.tsx +2 -5
  293. package/src/primitives/threadList/ThreadListNew.ts +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"user-action-bar.d.ts","sourceRoot":"","sources":["../../src/ui/user-action-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAEL,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAYpC,QAAA,MAAM,aAAa,EAAE,EAQpB,CAAC;AAkCF,QAAA,MAAM,OAAO;;;;;;;CAGZ,CAAC;wBAEsD,OAAO,aAAa,GAC1E,OAAO,OAAO;AADhB,wBACiB"}
1
+ {"version":3,"file":"user-action-bar.d.ts","sourceRoot":"","sources":["../../src/ui/user-action-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAY/D,QAAA,MAAM,aAAa,EAAE,EAQpB,CAAC;AAkCF,QAAA,MAAM,OAAO;;;;;;;CAGZ,CAAC;wBAEsD,OAAO,aAAa,GAC1E,OAAO,OAAO;AADhB,wBACiB"}
@@ -26,11 +26,11 @@ __export(user_action_bar_exports, {
26
26
  module.exports = __toCommonJS(user_action_bar_exports);
27
27
  var import_react = require("react");
28
28
  var import_lucide_react = require("lucide-react");
29
- var import_tooltip_icon_button = require("./base/tooltip-icon-button.cjs");
30
- var import_withDefaults = require("./utils/withDefaults.cjs");
31
- var import_thread_config = require("./thread-config.cjs");
32
- var import_context = require("../context/index.cjs");
33
- var import_primitives = require("../primitives/index.cjs");
29
+ var import_tooltip_icon_button = require("./base/tooltip-icon-button.js");
30
+ var import_withDefaults = require("./utils/withDefaults.js");
31
+ var import_thread_config = require("./thread-config.js");
32
+ var import_context = require("../context/index.js");
33
+ var import_primitives = require("../primitives/index.js");
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var useAllowEdit = (ensureCapability = false) => {
36
36
  const { userMessage: { allowEdit = true } = {} } = (0, import_thread_config.useThreadConfig)();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/user-action-bar.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, type FC } from \"react\";\nimport { PencilIcon } from \"lucide-react\";\n\nimport {\n TooltipIconButton,\n TooltipIconButtonProps,\n} from \"./base/tooltip-icon-button\";\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { useThreadConfig } from \"./thread-config\";\nimport { useThread } from \"../context\";\nimport { ActionBarPrimitive } from \"../primitives\";\n\nconst useAllowEdit = (ensureCapability = false) => {\n const { userMessage: { allowEdit = true } = {} } = useThreadConfig();\n const editSupported = useThread((t) => t.capabilities.edit);\n return allowEdit && (!ensureCapability || editSupported);\n};\n\nconst UserActionBar: FC = () => {\n const allowEdit = useAllowEdit(true);\n if (!allowEdit) return null;\n return (\n <UserActionBarRoot hideWhenRunning autohide=\"not-last\">\n <UserActionBarEdit />\n </UserActionBarRoot>\n );\n};\n\nUserActionBar.displayName = \"UserActionBar\";\n\nconst UserActionBarRoot = withDefaults(ActionBarPrimitive.Root, {\n className: \"aui-user-action-bar-root\",\n});\n\nUserActionBarRoot.displayName = \"UserActionBarRoot\";\n\nnamespace UserActionBarEdit {\n export type Element = ActionBarPrimitive.Edit.Element;\n export type Props = Partial<TooltipIconButtonProps>;\n}\n\nconst UserActionBarEdit = forwardRef<\n UserActionBarEdit.Element,\n UserActionBarEdit.Props\n>((props, ref) => {\n const {\n strings: { userMessage: { edit: { tooltip = \"Edit\" } = {} } = {} } = {},\n } = useThreadConfig();\n const allowEdit = useAllowEdit();\n return (\n <ActionBarPrimitive.Edit disabled={!allowEdit} asChild>\n <TooltipIconButton tooltip={tooltip} {...props} ref={ref}>\n {props.children ?? <PencilIcon />}\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n );\n});\n\nUserActionBarEdit.displayName = \"UserActionBarEdit\";\n\nconst exports = {\n Root: UserActionBarRoot,\n Edit: UserActionBarEdit,\n};\n\nexport default Object.assign(UserActionBar, exports) as typeof UserActionBar &\n typeof exports;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAoC;AACpC,0BAA2B;AAE3B,iCAGO;AACP,0BAA6B;AAC7B,2BAAgC;AAChC,qBAA0B;AAC1B,wBAAmC;AAa7B;AAXN,IAAM,eAAe,CAAC,mBAAmB,UAAU;AACjD,QAAM,EAAE,aAAa,EAAE,YAAY,KAAK,IAAI,CAAC,EAAE,QAAI,sCAAgB;AACnE,QAAM,oBAAgB,0BAAU,CAAC,MAAM,EAAE,aAAa,IAAI;AAC1D,SAAO,cAAc,CAAC,oBAAoB;AAC5C;AAEA,IAAM,gBAAoB,MAAM;AAC9B,QAAM,YAAY,aAAa,IAAI;AACnC,MAAI,CAAC,UAAW,QAAO;AACvB,SACE,4CAAC,qBAAkB,iBAAe,MAAC,UAAS,YAC1C,sDAAC,qBAAkB,GACrB;AAEJ;AAEA,cAAc,cAAc;AAE5B,IAAM,wBAAoB,kCAAa,qCAAmB,MAAM;AAAA,EAC9D,WAAW;AACb,CAAC;AAED,kBAAkB,cAAc;AAOhC,IAAM,wBAAoB,yBAGxB,CAAC,OAAO,QAAQ;AAChB,QAAM;AAAA,IACJ,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,EACxE,QAAI,sCAAgB;AACpB,QAAM,YAAY,aAAa;AAC/B,SACE,4CAAC,qCAAmB,MAAnB,EAAwB,UAAU,CAAC,WAAW,SAAO,MACpD,sDAAC,gDAAkB,SAAmB,GAAG,OAAO,KAC7C,gBAAM,YAAY,4CAAC,kCAAW,GACjC,GACF;AAEJ,CAAC;AAED,kBAAkB,cAAc;AAEhC,IAAMA,WAAU;AAAA,EACd,MAAM;AAAA,EACN,MAAM;AACR;AAEA,IAAO,0BAAQ,OAAO,OAAO,eAAeA,QAAO;","names":["exports"]}
1
+ {"version":3,"sources":["../../src/ui/user-action-bar.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, type FC } from \"react\";\nimport { PencilIcon } from \"lucide-react\";\n\nimport { TooltipIconButton } from \"./base/tooltip-icon-button\";\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { useThreadConfig } from \"./thread-config\";\nimport { useThread } from \"../context\";\nimport { ActionBarPrimitive } from \"../primitives\";\n\nconst useAllowEdit = (ensureCapability = false) => {\n const { userMessage: { allowEdit = true } = {} } = useThreadConfig();\n const editSupported = useThread((t) => t.capabilities.edit);\n return allowEdit && (!ensureCapability || editSupported);\n};\n\nconst UserActionBar: FC = () => {\n const allowEdit = useAllowEdit(true);\n if (!allowEdit) return null;\n return (\n <UserActionBarRoot hideWhenRunning autohide=\"not-last\">\n <UserActionBarEdit />\n </UserActionBarRoot>\n );\n};\n\nUserActionBar.displayName = \"UserActionBar\";\n\nconst UserActionBarRoot = withDefaults(ActionBarPrimitive.Root, {\n className: \"aui-user-action-bar-root\",\n});\n\nUserActionBarRoot.displayName = \"UserActionBarRoot\";\n\nnamespace UserActionBarEdit {\n export type Element = ActionBarPrimitive.Edit.Element;\n export type Props = Partial<TooltipIconButton.Props>;\n}\n\nconst UserActionBarEdit = forwardRef<\n UserActionBarEdit.Element,\n UserActionBarEdit.Props\n>((props, ref) => {\n const {\n strings: { userMessage: { edit: { tooltip = \"Edit\" } = {} } = {} } = {},\n } = useThreadConfig();\n const allowEdit = useAllowEdit();\n return (\n <ActionBarPrimitive.Edit disabled={!allowEdit} asChild>\n <TooltipIconButton tooltip={tooltip} {...props} ref={ref}>\n {props.children ?? <PencilIcon />}\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n );\n});\n\nUserActionBarEdit.displayName = \"UserActionBarEdit\";\n\nconst exports = {\n Root: UserActionBarRoot,\n Edit: UserActionBarEdit,\n};\n\nexport default Object.assign(UserActionBar, exports) as typeof UserActionBar &\n typeof exports;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAoC;AACpC,0BAA2B;AAE3B,iCAAkC;AAClC,0BAA6B;AAC7B,2BAAgC;AAChC,qBAA0B;AAC1B,wBAAmC;AAa7B;AAXN,IAAM,eAAe,CAAC,mBAAmB,UAAU;AACjD,QAAM,EAAE,aAAa,EAAE,YAAY,KAAK,IAAI,CAAC,EAAE,QAAI,sCAAgB;AACnE,QAAM,oBAAgB,0BAAU,CAAC,MAAM,EAAE,aAAa,IAAI;AAC1D,SAAO,cAAc,CAAC,oBAAoB;AAC5C;AAEA,IAAM,gBAAoB,MAAM;AAC9B,QAAM,YAAY,aAAa,IAAI;AACnC,MAAI,CAAC,UAAW,QAAO;AACvB,SACE,4CAAC,qBAAkB,iBAAe,MAAC,UAAS,YAC1C,sDAAC,qBAAkB,GACrB;AAEJ;AAEA,cAAc,cAAc;AAE5B,IAAM,wBAAoB,kCAAa,qCAAmB,MAAM;AAAA,EAC9D,WAAW;AACb,CAAC;AAED,kBAAkB,cAAc;AAOhC,IAAM,wBAAoB,yBAGxB,CAAC,OAAO,QAAQ;AAChB,QAAM;AAAA,IACJ,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,EACxE,QAAI,sCAAgB;AACpB,QAAM,YAAY,aAAa;AAC/B,SACE,4CAAC,qCAAmB,MAAnB,EAAwB,UAAU,CAAC,WAAW,SAAO,MACpD,sDAAC,gDAAkB,SAAmB,GAAG,OAAO,KAC7C,gBAAM,YAAY,4CAAC,kCAAW,GACjC,GACF;AAEJ,CAAC;AAED,kBAAkB,cAAc;AAEhC,IAAMA,WAAU;AAAA,EACd,MAAM;AAAA,EACN,MAAM;AACR;AAEA,IAAO,0BAAQ,OAAO,OAAO,eAAeA,QAAO;","names":["exports"]}
@@ -3,9 +3,7 @@
3
3
  // src/ui/user-action-bar.tsx
4
4
  import { forwardRef } from "react";
5
5
  import { PencilIcon } from "lucide-react";
6
- import {
7
- TooltipIconButton
8
- } from "./base/tooltip-icon-button.mjs";
6
+ import { TooltipIconButton } from "./base/tooltip-icon-button.mjs";
9
7
  import { withDefaults } from "./utils/withDefaults.mjs";
10
8
  import { useThreadConfig } from "./thread-config.mjs";
11
9
  import { useThread } from "../context/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/user-action-bar.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, type FC } from \"react\";\nimport { PencilIcon } from \"lucide-react\";\n\nimport {\n TooltipIconButton,\n TooltipIconButtonProps,\n} from \"./base/tooltip-icon-button\";\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { useThreadConfig } from \"./thread-config\";\nimport { useThread } from \"../context\";\nimport { ActionBarPrimitive } from \"../primitives\";\n\nconst useAllowEdit = (ensureCapability = false) => {\n const { userMessage: { allowEdit = true } = {} } = useThreadConfig();\n const editSupported = useThread((t) => t.capabilities.edit);\n return allowEdit && (!ensureCapability || editSupported);\n};\n\nconst UserActionBar: FC = () => {\n const allowEdit = useAllowEdit(true);\n if (!allowEdit) return null;\n return (\n <UserActionBarRoot hideWhenRunning autohide=\"not-last\">\n <UserActionBarEdit />\n </UserActionBarRoot>\n );\n};\n\nUserActionBar.displayName = \"UserActionBar\";\n\nconst UserActionBarRoot = withDefaults(ActionBarPrimitive.Root, {\n className: \"aui-user-action-bar-root\",\n});\n\nUserActionBarRoot.displayName = \"UserActionBarRoot\";\n\nnamespace UserActionBarEdit {\n export type Element = ActionBarPrimitive.Edit.Element;\n export type Props = Partial<TooltipIconButtonProps>;\n}\n\nconst UserActionBarEdit = forwardRef<\n UserActionBarEdit.Element,\n UserActionBarEdit.Props\n>((props, ref) => {\n const {\n strings: { userMessage: { edit: { tooltip = \"Edit\" } = {} } = {} } = {},\n } = useThreadConfig();\n const allowEdit = useAllowEdit();\n return (\n <ActionBarPrimitive.Edit disabled={!allowEdit} asChild>\n <TooltipIconButton tooltip={tooltip} {...props} ref={ref}>\n {props.children ?? <PencilIcon />}\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n );\n});\n\nUserActionBarEdit.displayName = \"UserActionBarEdit\";\n\nconst exports = {\n Root: UserActionBarRoot,\n Edit: UserActionBarEdit,\n};\n\nexport default Object.assign(UserActionBar, exports) as typeof UserActionBar &\n typeof exports;\n"],"mappings":";;;AAEA,SAAS,kBAA2B;AACpC,SAAS,kBAAkB;AAE3B;AAAA,EACE;AAAA,OAEK;AACP,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AAa7B;AAXN,IAAM,eAAe,CAAC,mBAAmB,UAAU;AACjD,QAAM,EAAE,aAAa,EAAE,YAAY,KAAK,IAAI,CAAC,EAAE,IAAI,gBAAgB;AACnE,QAAM,gBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,IAAI;AAC1D,SAAO,cAAc,CAAC,oBAAoB;AAC5C;AAEA,IAAM,gBAAoB,MAAM;AAC9B,QAAM,YAAY,aAAa,IAAI;AACnC,MAAI,CAAC,UAAW,QAAO;AACvB,SACE,oBAAC,qBAAkB,iBAAe,MAAC,UAAS,YAC1C,8BAAC,qBAAkB,GACrB;AAEJ;AAEA,cAAc,cAAc;AAE5B,IAAM,oBAAoB,aAAa,mBAAmB,MAAM;AAAA,EAC9D,WAAW;AACb,CAAC;AAED,kBAAkB,cAAc;AAOhC,IAAM,oBAAoB,WAGxB,CAAC,OAAO,QAAQ;AAChB,QAAM;AAAA,IACJ,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,EACxE,IAAI,gBAAgB;AACpB,QAAM,YAAY,aAAa;AAC/B,SACE,oBAAC,mBAAmB,MAAnB,EAAwB,UAAU,CAAC,WAAW,SAAO,MACpD,8BAAC,qBAAkB,SAAmB,GAAG,OAAO,KAC7C,gBAAM,YAAY,oBAAC,cAAW,GACjC,GACF;AAEJ,CAAC;AAED,kBAAkB,cAAc;AAEhC,IAAM,UAAU;AAAA,EACd,MAAM;AAAA,EACN,MAAM;AACR;AAEA,IAAO,0BAAQ,OAAO,OAAO,eAAe,OAAO;","names":[]}
1
+ {"version":3,"sources":["../../src/ui/user-action-bar.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, type FC } from \"react\";\nimport { PencilIcon } from \"lucide-react\";\n\nimport { TooltipIconButton } from \"./base/tooltip-icon-button\";\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { useThreadConfig } from \"./thread-config\";\nimport { useThread } from \"../context\";\nimport { ActionBarPrimitive } from \"../primitives\";\n\nconst useAllowEdit = (ensureCapability = false) => {\n const { userMessage: { allowEdit = true } = {} } = useThreadConfig();\n const editSupported = useThread((t) => t.capabilities.edit);\n return allowEdit && (!ensureCapability || editSupported);\n};\n\nconst UserActionBar: FC = () => {\n const allowEdit = useAllowEdit(true);\n if (!allowEdit) return null;\n return (\n <UserActionBarRoot hideWhenRunning autohide=\"not-last\">\n <UserActionBarEdit />\n </UserActionBarRoot>\n );\n};\n\nUserActionBar.displayName = \"UserActionBar\";\n\nconst UserActionBarRoot = withDefaults(ActionBarPrimitive.Root, {\n className: \"aui-user-action-bar-root\",\n});\n\nUserActionBarRoot.displayName = \"UserActionBarRoot\";\n\nnamespace UserActionBarEdit {\n export type Element = ActionBarPrimitive.Edit.Element;\n export type Props = Partial<TooltipIconButton.Props>;\n}\n\nconst UserActionBarEdit = forwardRef<\n UserActionBarEdit.Element,\n UserActionBarEdit.Props\n>((props, ref) => {\n const {\n strings: { userMessage: { edit: { tooltip = \"Edit\" } = {} } = {} } = {},\n } = useThreadConfig();\n const allowEdit = useAllowEdit();\n return (\n <ActionBarPrimitive.Edit disabled={!allowEdit} asChild>\n <TooltipIconButton tooltip={tooltip} {...props} ref={ref}>\n {props.children ?? <PencilIcon />}\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n );\n});\n\nUserActionBarEdit.displayName = \"UserActionBarEdit\";\n\nconst exports = {\n Root: UserActionBarRoot,\n Edit: UserActionBarEdit,\n};\n\nexport default Object.assign(UserActionBar, exports) as typeof UserActionBar &\n typeof exports;\n"],"mappings":";;;AAEA,SAAS,kBAA2B;AACpC,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AAa7B;AAXN,IAAM,eAAe,CAAC,mBAAmB,UAAU;AACjD,QAAM,EAAE,aAAa,EAAE,YAAY,KAAK,IAAI,CAAC,EAAE,IAAI,gBAAgB;AACnE,QAAM,gBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,IAAI;AAC1D,SAAO,cAAc,CAAC,oBAAoB;AAC5C;AAEA,IAAM,gBAAoB,MAAM;AAC9B,QAAM,YAAY,aAAa,IAAI;AACnC,MAAI,CAAC,UAAW,QAAO;AACvB,SACE,oBAAC,qBAAkB,iBAAe,MAAC,UAAS,YAC1C,8BAAC,qBAAkB,GACrB;AAEJ;AAEA,cAAc,cAAc;AAE5B,IAAM,oBAAoB,aAAa,mBAAmB,MAAM;AAAA,EAC9D,WAAW;AACb,CAAC;AAED,kBAAkB,cAAc;AAOhC,IAAM,oBAAoB,WAGxB,CAAC,OAAO,QAAQ;AAChB,QAAM;AAAA,IACJ,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,EACxE,IAAI,gBAAgB;AACpB,QAAM,YAAY,aAAa;AAC/B,SACE,oBAAC,mBAAmB,MAAnB,EAAwB,UAAU,CAAC,WAAW,SAAO,MACpD,8BAAC,qBAAkB,SAAmB,GAAG,OAAO,KAC7C,gBAAM,YAAY,oBAAC,cAAW,GACjC,GACF;AAEJ,CAAC;AAED,kBAAkB,cAAc;AAEhC,IAAM,UAAU;AAAA,EACd,MAAM;AAAA,EACN,MAAM;AACR;AAEA,IAAO,0BAAQ,OAAO,OAAO,eAAe,OAAO;","names":[]}
@@ -35,12 +35,12 @@ __export(user_message_exports, {
35
35
  });
36
36
  module.exports = __toCommonJS(user_message_exports);
37
37
  var import_react = require("react");
38
- var import_branch_picker = __toESM(require("./branch-picker.cjs"));
39
- var import_withDefaults = require("./utils/withDefaults.cjs");
40
- var import_user_action_bar = __toESM(require("./user-action-bar.cjs"));
41
- var import_content_part = __toESM(require("./content-part.cjs"));
42
- var import_primitives = require("../primitives/index.cjs");
43
- var import_attachment_ui = __toESM(require("./attachment-ui.cjs"));
38
+ var import_branch_picker = __toESM(require("./branch-picker.js"));
39
+ var import_withDefaults = require("./utils/withDefaults.js");
40
+ var import_user_action_bar = __toESM(require("./user-action-bar.js"));
41
+ var import_content_part = __toESM(require("./content-part.js"));
42
+ var import_primitives = require("../primitives/index.js");
43
+ var import_attachment_ui = __toESM(require("./attachment-ui.js"));
44
44
  var import_jsx_runtime = require("react/jsx-runtime");
45
45
  var UserMessage = () => {
46
46
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UserMessageRoot, { children: [
@@ -23,7 +23,7 @@ __export(ProxyConfigProvider_exports, {
23
23
  ProxyConfigProvider: () => ProxyConfigProvider
24
24
  });
25
25
  module.exports = __toCommonJS(ProxyConfigProvider_exports);
26
- var import_ModelConfigTypes = require("../types/ModelConfigTypes.cjs");
26
+ var import_ModelConfigTypes = require("../types/ModelConfigTypes.js");
27
27
  var ProxyConfigProvider = class {
28
28
  _providers = /* @__PURE__ */ new Set();
29
29
  getModelConfig() {
@@ -1 +1 @@
1
- {"version":3,"file":"createCombinedStore.d.ts","sourceRoot":"","sources":["../../../src/utils/combined/createCombinedStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,WAAW,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,GACtE,CAAY,IAAP,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACrC,gBAUmB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAM5C,CAAC"}
1
+ {"version":3,"file":"createCombinedStore.d.ts","sourceRoot":"","sources":["../../../src/utils/combined/createCombinedStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,WAAW,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,GACtE,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACrC,gBAUmB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAM5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCombinedStore.d.ts","sourceRoot":"","sources":["../../../src/utils/combined/useCombinedStore.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EAErB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAClD,GAAG,CAAY,IAAP,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,YACtC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,KAC/B,CAIF,CAAC"}
1
+ {"version":3,"file":"useCombinedStore.d.ts","sourceRoot":"","sources":["../../../src/utils/combined/useCombinedStore.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EAErB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAClD,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,YACtC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,KAC/B,CAIF,CAAC"}
@@ -24,7 +24,7 @@ __export(useCombinedStore_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(useCombinedStore_exports);
26
26
  var import_react = require("react");
27
- var import_createCombinedStore = require("./createCombinedStore.cjs");
27
+ var import_createCombinedStore = require("./createCombinedStore.js");
28
28
  var useCombinedStore = (stores, selector) => {
29
29
  const useCombined = (0, import_react.useMemo)(() => (0, import_createCombinedStore.createCombinedStore)(stores), stores);
30
30
  return useCombined(selector);
@@ -25,7 +25,7 @@ __export(useOnResizeContent_exports, {
25
25
  module.exports = __toCommonJS(useOnResizeContent_exports);
26
26
  var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
27
27
  var import_react = require("react");
28
- var import_useManagedRef = require("./useManagedRef.cjs");
28
+ var import_useManagedRef = require("./useManagedRef.js");
29
29
  var useOnResizeContent = (callback) => {
30
30
  const callbackRef = (0, import_react_use_callback_ref.useCallbackRef)(callback);
31
31
  const refCallback = (0, import_react.useCallback)(
@@ -25,7 +25,7 @@ __export(useOnScrollToBottom_exports, {
25
25
  module.exports = __toCommonJS(useOnScrollToBottom_exports);
26
26
  var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
27
27
  var import_react = require("react");
28
- var import_ThreadContext = require("../../context/react/ThreadContext.cjs");
28
+ var import_ThreadContext = require("../../context/react/ThreadContext.js");
29
29
  var useOnScrollToBottom = (callback) => {
30
30
  const callbackRef = (0, import_react_use_callback_ref.useCallbackRef)(callback);
31
31
  const onScrollToBottom = (0, import_ThreadContext.useThreadViewport)((vp) => vp.onScrollToBottom);
@@ -28,8 +28,8 @@ __export(SmoothContext_exports, {
28
28
  module.exports = __toCommonJS(SmoothContext_exports);
29
29
  var import_react = require("react");
30
30
  var import_zustand = require("zustand");
31
- var import_ContentPartContext = require("../../context/react/ContentPartContext.cjs");
32
- var import_createContextStoreHook = require("../../context/react/utils/createContextStoreHook.cjs");
31
+ var import_ContentPartContext = require("../../context/react/ContentPartContext.js");
32
+ var import_createContextStoreHook = require("../../context/react/utils/createContextStoreHook.js");
33
33
  var import_jsx_runtime = require("react/jsx-runtime");
34
34
  var SmoothContext = (0, import_react.createContext)(null);
35
35
  var makeSmoothContext = (initialState) => {
@@ -25,9 +25,9 @@ __export(smooth_exports, {
25
25
  withSmoothContextProvider: () => import_SmoothContext2.withSmoothContextProvider
26
26
  });
27
27
  module.exports = __toCommonJS(smooth_exports);
28
- var import_useSmooth = require("./useSmooth.cjs");
29
- var import_SmoothContext = require("./SmoothContext.cjs");
30
- var import_SmoothContext2 = require("./SmoothContext.cjs");
28
+ var import_useSmooth = require("./useSmooth.js");
29
+ var import_SmoothContext = require("./SmoothContext.js");
30
+ var import_SmoothContext2 = require("./SmoothContext.js");
31
31
  // Annotate the CommonJS export names for ESM import in node:
32
32
  0 && (module.exports = {
33
33
  useSmooth,
@@ -25,10 +25,10 @@ __export(useSmooth_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(useSmooth_exports);
27
27
  var import_react = require("react");
28
- var import_context = require("../../context/index.cjs");
28
+ var import_context = require("../../context/index.js");
29
29
  var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
30
- var import_SmoothContext = require("./SmoothContext.cjs");
31
- var import_ReadonlyStore = require("../../context/ReadonlyStore.cjs");
30
+ var import_SmoothContext = require("./SmoothContext.js");
31
+ var import_ReadonlyStore = require("../../context/ReadonlyStore.js");
32
32
  var TextStreamAnimator = class {
33
33
  constructor(currentText, setText) {
34
34
  this.currentText = currentText;
package/package.json CHANGED
@@ -29,7 +29,7 @@
29
29
  "conversational-ui",
30
30
  "conversational-ai"
31
31
  ],
32
- "version": "0.7.7",
32
+ "version": "0.7.9",
33
33
  "license": "MIT",
34
34
  "exports": {
35
35
  ".": {
@@ -65,7 +65,7 @@
65
65
  ],
66
66
  "sideEffects": false,
67
67
  "dependencies": {
68
- "@ai-sdk/provider": "^1.0.0",
68
+ "@ai-sdk/provider": "^1.0.1",
69
69
  "@radix-ui/primitive": "^1.1.0",
70
70
  "@radix-ui/react-avatar": "^1.1.1",
71
71
  "@radix-ui/react-compose-refs": "^1.1.0",
@@ -108,7 +108,7 @@
108
108
  },
109
109
  "devDependencies": {
110
110
  "@types/json-schema": "^7.0.15",
111
- "@types/node": "^22.9.1",
111
+ "@types/node": "^22.9.3",
112
112
  "autoprefixer": "^10.4.20",
113
113
  "esbuild-plugin-file-path-extensions": "^2.1.3",
114
114
  "eslint": "^9",
@@ -121,8 +121,8 @@
121
121
  "tsup": "8.3.5",
122
122
  "tsx": "^4.19.2",
123
123
  "@assistant-ui/tailwindcss-transformer": "0.1.0",
124
- "@assistant-ui/tsconfig": "0.0.0",
125
- "@assistant-ui/tsbuildutils": "^0.0.0"
124
+ "@assistant-ui/tsbuildutils": "^0.0.0",
125
+ "@assistant-ui/tsconfig": "0.0.0"
126
126
  },
127
127
  "publishConfig": {
128
128
  "access": "public",
@@ -4,7 +4,7 @@ import { ComponentType, FC, memo, useMemo } from "react";
4
4
  import { ThreadListItemRuntimeProvider } from "../../context/providers/ThreadListItemRuntimeProvider";
5
5
  import { useAssistantRuntime, useThreadList } from "../../context";
6
6
 
7
- export namespace MessagePrimitiveContent {
7
+ export namespace ThreadListPrimitiveItems {
8
8
  export type Props = {
9
9
  archived?: boolean | undefined;
10
10
  components: {
@@ -16,7 +16,7 @@ export namespace MessagePrimitiveContent {
16
16
  type ThreadListItemProps = {
17
17
  partIndex: number;
18
18
  archived: boolean;
19
- components: MessagePrimitiveContent.Props["components"];
19
+ components: ThreadListPrimitiveItems.Props["components"];
20
20
  };
21
21
 
22
22
  const ThreadListItemImpl: FC<ThreadListItemProps> = ({
@@ -52,7 +52,7 @@ const ThreadListItem = memo(
52
52
  prev.components.ThreadListItem === next.components.ThreadListItem,
53
53
  );
54
54
 
55
- export const ThreadListPrimitiveItems: FC<MessagePrimitiveContent.Props> = ({
55
+ export const ThreadListPrimitiveItems: FC<ThreadListPrimitiveItems.Props> = ({
56
56
  archived = false,
57
57
  components,
58
58
  }) => {
@@ -0,0 +1,45 @@
1
+ "use client";
2
+
3
+ import {
4
+ ActionButtonElement,
5
+ ActionButtonProps,
6
+ } from "../../utils/createActionButton";
7
+ import { useAssistantRuntime, useThreadList } from "../../context";
8
+ import { forwardRef } from "react";
9
+ import { Primitive } from "@radix-ui/react-primitive";
10
+ import { composeEventHandlers } from "@radix-ui/primitive";
11
+
12
+ const useThreadListNew = () => {
13
+ const runtime = useAssistantRuntime();
14
+ return () => {
15
+ runtime.switchToNewThread();
16
+ };
17
+ };
18
+
19
+ export namespace ThreadListPrimitiveNew {
20
+ export type Element = ActionButtonElement;
21
+ export type Props = ActionButtonProps<typeof useThreadListNew>;
22
+ }
23
+
24
+ export const ThreadListPrimitiveNew = forwardRef<
25
+ ThreadListPrimitiveNew.Element,
26
+ ThreadListPrimitiveNew.Props
27
+ >(({ onClick, disabled, ...props }, forwardedRef) => {
28
+ const isMain = useThreadList((t) => t.newThread === t.mainThreadId);
29
+ const callback = useThreadListNew();
30
+
31
+ return (
32
+ <Primitive.button
33
+ type="button"
34
+ {...(isMain ? { "data-active": "true", "aria-current": "true" } : null)}
35
+ {...props}
36
+ ref={forwardedRef}
37
+ disabled={disabled || !callback}
38
+ onClick={composeEventHandlers(onClick, () => {
39
+ callback?.();
40
+ })}
41
+ />
42
+ );
43
+ });
44
+
45
+ ThreadListPrimitiveNew.displayName = "ThreadListPrimitive.New";
@@ -19,7 +19,7 @@ export const ThreadListItemPrimitiveRoot = forwardRef<
19
19
 
20
20
  return (
21
21
  <Primitive.div
22
- {...(isMain ? { "data-active": "true" } : null)}
22
+ {...(isMain ? { "data-active": "true", "aria-current": "true" } : null)}
23
23
  {...props}
24
24
  ref={ref}
25
25
  />
@@ -219,3 +219,33 @@
219
219
  .aui-text-running::after {
220
220
  @apply animate-pulse font-sans content-['\25CF'] ltr:ml-1 rtl:mr-1;
221
221
  }
222
+
223
+ /* thread-list */
224
+
225
+ .aui-thread-list-root {
226
+ @apply flex flex-col items-stretch gap-1.5;
227
+ }
228
+
229
+ .aui-thread-list-item {
230
+ @apply data-[active]:bg-aui-muted hover:bg-aui-muted focus-visible:bg-aui-muted focus-visible:ring-aui-ring flex items-center gap-2 rounded-lg transition-all focus-visible:outline-none focus-visible:ring-2;
231
+ }
232
+
233
+ .aui-thread-list-new {
234
+ @apply data-[active]:bg-aui-muted hover:bg-aui-muted flex items-center justify-start gap-1 rounded-lg px-2.5 py-2 text-start;
235
+ }
236
+
237
+ .aui-thread-list-new > .lucide-plus {
238
+ @apply size-5;
239
+ }
240
+
241
+ .aui-thread-list-item-trigger {
242
+ @apply flex-grow px-3 py-2 text-start;
243
+ }
244
+
245
+ .aui-thread-list-item-title {
246
+ @apply text-sm;
247
+ }
248
+
249
+ .aui-thread-list-item-archive {
250
+ @apply hover:text-aui-primary text-aui-foreground ml-auto mr-3 size-4 p-0;
251
+ }
@@ -11,10 +11,7 @@ import {
11
11
  ThumbsUpIcon,
12
12
  } from "lucide-react";
13
13
  import { ActionBarPrimitive, MessagePrimitive } from "../primitives";
14
- import {
15
- TooltipIconButton,
16
- TooltipIconButtonProps,
17
- } from "./base/tooltip-icon-button";
14
+ import { TooltipIconButton } from "./base/tooltip-icon-button";
18
15
  import { withDefaults } from "./utils/withDefaults";
19
16
  import { useThreadConfig } from "./thread-config";
20
17
  import { useThread } from "../context";
@@ -91,7 +88,7 @@ AssistantActionBarRoot.displayName = "AssistantActionBarRoot";
91
88
 
92
89
  namespace AssistantActionBarCopy {
93
90
  export type Element = ActionBarPrimitive.Copy.Element;
94
- export type Props = Partial<TooltipIconButtonProps> & {
91
+ export type Props = Partial<TooltipIconButton.Props> & {
95
92
  copiedDuration?: number | undefined;
96
93
  };
97
94
  }
@@ -141,7 +138,7 @@ const AssistantActionBarSpeechControl: FC = () => {
141
138
 
142
139
  namespace AssistantActionBarSpeak {
143
140
  export type Element = ActionBarPrimitive.Speak.Element;
144
- export type Props = Partial<TooltipIconButtonProps>;
141
+ export type Props = Partial<TooltipIconButton.Props>;
145
142
  }
146
143
 
147
144
  const AssistantActionBarSpeak = forwardRef<
@@ -168,7 +165,7 @@ AssistantActionBarSpeak.displayName = "AssistantActionBarSpeak";
168
165
 
169
166
  namespace AssistantActionBarStopSpeaking {
170
167
  export type Element = ActionBarPrimitive.StopSpeaking.Element;
171
- export type Props = Partial<TooltipIconButtonProps>;
168
+ export type Props = Partial<TooltipIconButton.Props>;
172
169
  }
173
170
 
174
171
  const AssistantActionBarStopSpeaking = forwardRef<
@@ -197,7 +194,7 @@ AssistantActionBarStopSpeaking.displayName = "AssistantActionBarStopSpeaking";
197
194
 
198
195
  namespace AssistantActionBarReload {
199
196
  export type Element = ActionBarPrimitive.Reload.Element;
200
- export type Props = Partial<TooltipIconButtonProps>;
197
+ export type Props = Partial<TooltipIconButton.Props>;
201
198
  }
202
199
 
203
200
  const AssistantActionBarReload = forwardRef<
@@ -223,7 +220,7 @@ AssistantActionBarReload.displayName = "AssistantActionBarReload";
223
220
 
224
221
  namespace AssistantActionBarFeedbackPositive {
225
222
  export type Element = ActionBarPrimitive.FeedbackPositive.Element;
226
- export type Props = Partial<TooltipIconButtonProps>;
223
+ export type Props = Partial<TooltipIconButton.Props>;
227
224
  }
228
225
 
229
226
  const AssistantActionBarFeedbackPositive = forwardRef<
@@ -256,7 +253,7 @@ AssistantActionBarFeedbackPositive.displayName =
256
253
 
257
254
  namespace AssistantActionBarFeedbackNegative {
258
255
  export type Element = ActionBarPrimitive.FeedbackNegative.Element;
259
- export type Props = Partial<TooltipIconButtonProps>;
256
+ export type Props = Partial<TooltipIconButton.Props>;
260
257
  }
261
258
 
262
259
  const AssistantActionBarFeedbackNegative = forwardRef<
@@ -6,10 +6,7 @@ import { BotIcon, ChevronDownIcon } from "lucide-react";
6
6
  import { AssistantModalPrimitive } from "../primitives";
7
7
  import Thread from "./thread";
8
8
  import { withDefaults } from "./utils/withDefaults";
9
- import {
10
- TooltipIconButton,
11
- TooltipIconButtonProps,
12
- } from "./base/tooltip-icon-button";
9
+ import { TooltipIconButton } from "./base/tooltip-icon-button";
13
10
  import {
14
11
  ThreadConfig,
15
12
  ThreadConfigProvider,
@@ -50,7 +47,7 @@ AssistantModalRoot.displayName = "AssistantModalRoot";
50
47
 
51
48
  namespace AssistantModalTrigger {
52
49
  export type Element = HTMLButtonElement;
53
- export type Props = Partial<TooltipIconButtonProps>;
50
+ export type Props = Partial<TooltipIconButton.Props>;
54
51
  }
55
52
 
56
53
  const AssistantModalTrigger = forwardRef<
@@ -81,7 +78,7 @@ const ModalButtonStyled = withDefaults(TooltipIconButton, {
81
78
 
82
79
  namespace AssistantModalButton {
83
80
  export type Element = HTMLButtonElement;
84
- export type Props = Partial<TooltipIconButtonProps> & {
81
+ export type Props = Partial<TooltipIconButton.Props> & {
85
82
  "data-state"?: "open" | "closed";
86
83
  };
87
84
  }
@@ -10,10 +10,7 @@ import {
10
10
  import { CircleXIcon, FileIcon } from "lucide-react";
11
11
  import { withDefaults } from "./utils/withDefaults";
12
12
  import { useThreadConfig } from "./thread-config";
13
- import {
14
- TooltipIconButton,
15
- TooltipIconButtonProps,
16
- } from "./base/tooltip-icon-button";
13
+ import { TooltipIconButton } from "./base/tooltip-icon-button";
17
14
  import { AttachmentPrimitive } from "../primitives";
18
15
  import { useAttachment } from "../context/react/AttachmentContext";
19
16
  import {
@@ -169,7 +166,7 @@ AttachmentUI.displayName = "Attachment";
169
166
 
170
167
  namespace AttachmentRemove {
171
168
  export type Element = HTMLButtonElement;
172
- export type Props = Partial<TooltipIconButtonProps>;
169
+ export type Props = Partial<TooltipIconButton.Props>;
173
170
  }
174
171
 
175
172
  const AttachmentRemove = forwardRef<
@@ -10,9 +10,6 @@ export { Button, buttonVariants, type ButtonProps } from "./button";
10
10
 
11
11
  export { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip";
12
12
 
13
- export {
14
- TooltipIconButton,
15
- type TooltipIconButtonProps,
16
- } from "./tooltip-icon-button";
13
+ export { TooltipIconButton } from "./tooltip-icon-button";
17
14
 
18
15
  export { CircleStopIcon } from "./CircleStopIcon";
@@ -4,14 +4,16 @@ import { forwardRef } from "react";
4
4
  import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip";
5
5
  import { Button, ButtonProps } from "./button";
6
6
 
7
- export type TooltipIconButtonProps = ButtonProps & {
8
- tooltip: string;
9
- side?: "top" | "bottom" | "left" | "right";
10
- };
7
+ export namespace TooltipIconButton {
8
+ export type Props = ButtonProps & {
9
+ tooltip: string;
10
+ side?: "top" | "bottom" | "left" | "right";
11
+ };
12
+ }
11
13
 
12
14
  export const TooltipIconButton = forwardRef<
13
15
  HTMLButtonElement,
14
- TooltipIconButtonProps
16
+ TooltipIconButton.Props
15
17
  >(({ children, tooltip, side = "bottom", ...rest }, ref) => {
16
18
  return (
17
19
  <Tooltip>
@@ -3,10 +3,7 @@
3
3
  import { ComponentPropsWithoutRef, forwardRef, type FC } from "react";
4
4
  import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
5
5
 
6
- import {
7
- TooltipIconButton,
8
- TooltipIconButtonProps,
9
- } from "./base/tooltip-icon-button";
6
+ import { TooltipIconButton } from "./base/tooltip-icon-button";
10
7
  import { withDefaults } from "./utils/withDefaults";
11
8
  import { useThreadConfig } from "./thread-config";
12
9
  import { BranchPickerPrimitive } from "../primitives";
@@ -40,7 +37,7 @@ BranchPickerRoot.displayName = "BranchPickerRoot";
40
37
 
41
38
  namespace BranchPickerPrevious {
42
39
  export type Element = BranchPickerPrimitive.Previous.Element;
43
- export type Props = Partial<TooltipIconButtonProps>;
40
+ export type Props = Partial<TooltipIconButton.Props>;
44
41
  }
45
42
 
46
43
  const BranchPickerPrevious = forwardRef<
@@ -88,7 +85,7 @@ BranchPickerState.displayName = "BranchPickerState";
88
85
 
89
86
  namespace BranchPickerNext {
90
87
  export type Element = BranchPickerPrimitive.Next.Element;
91
- export type Props = Partial<TooltipIconButtonProps>;
88
+ export type Props = Partial<TooltipIconButton.Props>;
92
89
  }
93
90
 
94
91
  const BranchPickerNext = forwardRef<
@@ -5,10 +5,7 @@ import { ComponentPropsWithoutRef, forwardRef, type FC } from "react";
5
5
  import { PaperclipIcon, SendHorizontalIcon } from "lucide-react";
6
6
  import { withDefaults } from "./utils/withDefaults";
7
7
  import { useThreadConfig } from "./thread-config";
8
- import {
9
- TooltipIconButton,
10
- TooltipIconButtonProps,
11
- } from "./base/tooltip-icon-button";
8
+ import { TooltipIconButton } from "./base/tooltip-icon-button";
12
9
  import { CircleStopIcon } from "./base/CircleStopIcon";
13
10
  import { ComposerPrimitive, ThreadPrimitive } from "../primitives";
14
11
  import { useThread } from "../context/react/ThreadContext";
@@ -94,7 +91,7 @@ const ComposerAttachButton = withDefaults(TooltipIconButton, {
94
91
 
95
92
  namespace ComposerAddAttachment {
96
93
  export type Element = HTMLButtonElement;
97
- export type Props = Partial<TooltipIconButtonProps>;
94
+ export type Props = Partial<TooltipIconButton.Props>;
98
95
  }
99
96
 
100
97
  const ComposerAddAttachment = forwardRef<
@@ -152,7 +149,7 @@ const ComposerSendButton = withDefaults(TooltipIconButton, {
152
149
 
153
150
  namespace ComposerSend {
154
151
  export type Element = HTMLButtonElement;
155
- export type Props = Partial<TooltipIconButtonProps>;
152
+ export type Props = Partial<TooltipIconButton.Props>;
156
153
  }
157
154
 
158
155
  const ComposerSend = forwardRef<ComposerSend.Element, ComposerSend.Props>(
@@ -179,7 +176,7 @@ const ComposerCancelButton = withDefaults(TooltipIconButton, {
179
176
 
180
177
  namespace ComposerCancel {
181
178
  export type Element = HTMLButtonElement;
182
- export type Props = Partial<TooltipIconButtonProps>;
179
+ export type Props = Partial<TooltipIconButton.Props>;
183
180
  }
184
181
 
185
182
  const ComposerCancel = forwardRef<ComposerCancel.Element, ComposerCancel.Props>(
package/src/ui/index.ts CHANGED
@@ -20,6 +20,8 @@ export { default as BranchPicker } from "./branch-picker";
20
20
 
21
21
  export { default as Composer } from "./composer";
22
22
 
23
+ export { default as ContentPart } from "./content-part";
24
+
23
25
  export {
24
26
  default as AttachmentUI, // TODO name collision with Attachment
25
27
  } from "./attachment-ui";
@@ -28,10 +30,12 @@ export { default as EditComposer } from "./edit-composer";
28
30
 
29
31
  export { default as Thread } from "./thread";
30
32
 
31
- export { default as UserMessage } from "./user-message";
33
+ export { default as ThreadList } from "./thread-list";
32
34
 
33
- export { default as UserActionBar } from "./user-action-bar";
35
+ export { default as ThreadListItem } from "./thread-list-item";
34
36
 
35
37
  export { default as ThreadWelcome } from "./thread-welcome";
36
38
 
37
- export { default as ContentPart } from "./content-part";
39
+ export { default as UserMessage } from "./user-message";
40
+
41
+ export { default as UserActionBar } from "./user-action-bar";
@@ -65,6 +65,19 @@ export type StringsConfig = {
65
65
  };
66
66
  };
67
67
  };
68
+ threadList?: {
69
+ new?: {
70
+ label?: string | undefined;
71
+ };
72
+ item?: {
73
+ title?: {
74
+ fallback?: string | undefined;
75
+ };
76
+ archive?: {
77
+ tooltip?: string | undefined;
78
+ };
79
+ };
80
+ };
68
81
  thread?: {
69
82
  scrollToBottom?: {
70
83
  tooltip?: string | undefined;