@assistant-ui/react 0.7.7 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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;