@assistant-ui/react 0.10.50 → 0.11.0

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 (526) hide show
  1. package/dist/api/AttachmentRuntime.d.ts.map +1 -1
  2. package/dist/api/AttachmentRuntime.js +1 -0
  3. package/dist/api/AttachmentRuntime.js.map +1 -1
  4. package/dist/api/ComposerRuntime.d.ts +5 -2
  5. package/dist/api/ComposerRuntime.d.ts.map +1 -1
  6. package/dist/api/ComposerRuntime.js +4 -6
  7. package/dist/api/ComposerRuntime.js.map +1 -1
  8. package/dist/api/MessagePartRuntime.d.ts.map +1 -1
  9. package/dist/api/MessagePartRuntime.js +1 -0
  10. package/dist/api/MessagePartRuntime.js.map +1 -1
  11. package/dist/api/MessageRuntime.d.ts.map +1 -1
  12. package/dist/api/MessageRuntime.js +1 -0
  13. package/dist/api/MessageRuntime.js.map +1 -1
  14. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
  15. package/dist/api/ThreadListItemRuntime.js +5 -0
  16. package/dist/api/ThreadListItemRuntime.js.map +1 -1
  17. package/dist/api/ThreadListRuntime.d.ts +2 -3
  18. package/dist/api/ThreadListRuntime.d.ts.map +1 -1
  19. package/dist/api/ThreadListRuntime.js +6 -7
  20. package/dist/api/ThreadListRuntime.js.map +1 -1
  21. package/dist/api/ThreadRuntime.d.ts +6 -6
  22. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  23. package/dist/api/ThreadRuntime.js +5 -4
  24. package/dist/api/ThreadRuntime.js.map +1 -1
  25. package/dist/client/AssistantRuntimeClient.d.ts +86 -0
  26. package/dist/client/AssistantRuntimeClient.d.ts.map +1 -0
  27. package/dist/client/AssistantRuntimeClient.js +138 -0
  28. package/dist/client/AssistantRuntimeClient.js.map +1 -0
  29. package/dist/client/AttachmentClient.d.ts +6 -0
  30. package/dist/client/AttachmentClient.d.ts.map +1 -0
  31. package/dist/client/AttachmentClient.js +1 -0
  32. package/dist/client/AttachmentClient.js.map +1 -0
  33. package/dist/client/ComposerClient.d.ts +42 -0
  34. package/dist/client/ComposerClient.d.ts.map +1 -0
  35. package/dist/client/ComposerClient.js +76 -0
  36. package/dist/client/ComposerClient.js.map +1 -0
  37. package/dist/client/EventManagerClient.d.ts +9 -0
  38. package/dist/client/EventManagerClient.d.ts.map +1 -0
  39. package/dist/client/EventManagerClient.js +40 -0
  40. package/dist/client/EventManagerClient.js.map +1 -0
  41. package/dist/client/MessageClient.d.ts +67 -0
  42. package/dist/client/MessageClient.d.ts.map +1 -0
  43. package/dist/client/MessageClient.js +108 -0
  44. package/dist/client/MessageClient.js.map +1 -0
  45. package/dist/client/MessagePartClient.d.ts +21 -0
  46. package/dist/client/MessagePartClient.d.ts.map +1 -0
  47. package/dist/client/MessagePartClient.js +25 -0
  48. package/dist/client/MessagePartClient.js.map +1 -0
  49. package/dist/client/ThreadClient.d.ts +111 -0
  50. package/dist/client/ThreadClient.d.ts.map +1 -0
  51. package/dist/client/ThreadClient.js +126 -0
  52. package/dist/client/ThreadClient.js.map +1 -0
  53. package/dist/client/ThreadListClient.d.ts +33 -0
  54. package/dist/client/ThreadListClient.d.ts.map +1 -0
  55. package/dist/client/ThreadListClient.js +87 -0
  56. package/dist/client/ThreadListClient.js.map +1 -0
  57. package/dist/client/ThreadListItemClient.d.ts +32 -0
  58. package/dist/client/ThreadListItemClient.d.ts.map +1 -0
  59. package/dist/client/ThreadListItemClient.js +53 -0
  60. package/dist/client/ThreadListItemClient.js.map +1 -0
  61. package/dist/client/util-hooks/tapLookupResources.d.ts +16 -0
  62. package/dist/client/util-hooks/tapLookupResources.d.ts.map +1 -0
  63. package/dist/client/util-hooks/tapLookupResources.js +21 -0
  64. package/dist/client/util-hooks/tapLookupResources.js.map +1 -0
  65. package/dist/client/util-hooks/tapSubscribable.d.ts +3 -0
  66. package/dist/client/util-hooks/tapSubscribable.d.ts.map +1 -0
  67. package/dist/client/util-hooks/tapSubscribable.js +16 -0
  68. package/dist/client/util-hooks/tapSubscribable.js.map +1 -0
  69. package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  70. package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +21 -12
  71. package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  72. package/dist/context/providers/AssistantRuntimeProvider.d.ts +3 -3
  73. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  74. package/dist/context/providers/AssistantRuntimeProvider.js +14 -42
  75. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  76. package/dist/context/providers/AttachmentProvider.d.ts +8 -0
  77. package/dist/context/providers/AttachmentProvider.d.ts.map +1 -0
  78. package/dist/context/providers/AttachmentProvider.js +41 -0
  79. package/dist/context/providers/AttachmentProvider.js.map +1 -0
  80. package/dist/context/providers/MessageProvider.d.ts +5 -0
  81. package/dist/context/providers/MessageProvider.d.ts.map +1 -0
  82. package/dist/context/providers/MessageProvider.js +47 -0
  83. package/dist/context/providers/MessageProvider.js.map +1 -0
  84. package/dist/context/providers/PartProvider.d.ts +5 -0
  85. package/dist/context/providers/PartProvider.d.ts.map +1 -0
  86. package/dist/context/providers/PartProvider.js +27 -0
  87. package/dist/context/providers/PartProvider.js.map +1 -0
  88. package/dist/context/providers/TextMessagePartProvider.d.ts +5 -8
  89. package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
  90. package/dist/context/providers/TextMessagePartProvider.js +42 -53
  91. package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
  92. package/dist/context/providers/ThreadListItemProvider.d.ts +9 -0
  93. package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -0
  94. package/dist/context/providers/ThreadListItemProvider.js +65 -0
  95. package/dist/context/providers/ThreadListItemProvider.js.map +1 -0
  96. package/dist/context/providers/index.d.ts +4 -1
  97. package/dist/context/providers/index.d.ts.map +1 -1
  98. package/dist/context/providers/index.js +17 -3
  99. package/dist/context/providers/index.js.map +1 -1
  100. package/dist/context/react/AssistantApiContext.d.ts +112 -0
  101. package/dist/context/react/AssistantApiContext.d.ts.map +1 -0
  102. package/dist/context/react/AssistantApiContext.js +197 -0
  103. package/dist/context/react/AssistantApiContext.js.map +1 -0
  104. package/dist/context/react/index.d.ts +9 -12
  105. package/dist/context/react/index.d.ts.map +1 -1
  106. package/dist/context/react/index.js +38 -33
  107. package/dist/context/react/index.js.map +1 -1
  108. package/dist/context/react/legacy/AssistantContext.d.ts +58 -0
  109. package/dist/context/react/legacy/AssistantContext.d.ts.map +1 -0
  110. package/dist/context/react/legacy/AssistantContext.js +20 -0
  111. package/dist/context/react/legacy/AssistantContext.js.map +1 -0
  112. package/dist/context/react/{AttachmentContext.d.ts → legacy/AttachmentContext.d.ts} +133 -139
  113. package/dist/context/react/legacy/AttachmentContext.d.ts.map +1 -0
  114. package/dist/context/react/{AttachmentContext.js → legacy/AttachmentContext.js} +9 -15
  115. package/dist/context/react/legacy/AttachmentContext.js.map +1 -0
  116. package/dist/context/react/{ComposerContext.d.ts → legacy/ComposerContext.d.ts} +12 -12
  117. package/dist/context/react/legacy/ComposerContext.d.ts.map +1 -0
  118. package/dist/context/react/legacy/ComposerContext.js +19 -0
  119. package/dist/context/react/legacy/ComposerContext.js.map +1 -0
  120. package/dist/context/react/{MessageContext.d.ts → legacy/MessageContext.d.ts} +23 -47
  121. package/dist/context/react/legacy/MessageContext.d.ts.map +1 -0
  122. package/dist/context/react/legacy/MessageContext.js +24 -0
  123. package/dist/context/react/legacy/MessageContext.js.map +1 -0
  124. package/dist/context/react/legacy/MessagePartContext.d.ts +35 -0
  125. package/dist/context/react/legacy/MessagePartContext.d.ts.map +1 -0
  126. package/dist/context/react/legacy/MessagePartContext.js +19 -0
  127. package/dist/context/react/legacy/MessagePartContext.js.map +1 -0
  128. package/dist/context/react/{ThreadContext.d.ts → legacy/ThreadContext.d.ts} +24 -30
  129. package/dist/context/react/legacy/ThreadContext.d.ts.map +1 -0
  130. package/dist/context/react/legacy/ThreadContext.js +33 -0
  131. package/dist/context/react/legacy/ThreadContext.js.map +1 -0
  132. package/dist/context/react/legacy/ThreadListItemContext.d.ts +35 -0
  133. package/dist/context/react/legacy/ThreadListItemContext.d.ts.map +1 -0
  134. package/dist/context/react/legacy/ThreadListItemContext.js +21 -0
  135. package/dist/context/react/legacy/ThreadListItemContext.js.map +1 -0
  136. package/dist/context/stores/index.d.ts +0 -2
  137. package/dist/context/stores/index.d.ts.map +1 -1
  138. package/dist/hooks/useAssistantEvent.d.ts +3 -0
  139. package/dist/hooks/useAssistantEvent.d.ts.map +1 -0
  140. package/dist/hooks/useAssistantEvent.js +22 -0
  141. package/dist/hooks/useAssistantEvent.js.map +1 -0
  142. package/dist/model-context/makeAssistantVisible.js +4 -4
  143. package/dist/model-context/makeAssistantVisible.js.map +1 -1
  144. package/dist/model-context/useAssistantInstructions.js +4 -4
  145. package/dist/model-context/useAssistantInstructions.js.map +1 -1
  146. package/dist/model-context/useAssistantTool.d.ts.map +1 -1
  147. package/dist/model-context/useAssistantTool.js +7 -10
  148. package/dist/model-context/useAssistantTool.js.map +1 -1
  149. package/dist/model-context/useAssistantToolUI.js +5 -5
  150. package/dist/model-context/useAssistantToolUI.js.map +1 -1
  151. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  152. package/dist/primitives/actionBar/ActionBarCopy.js +12 -17
  153. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  154. package/dist/primitives/actionBar/ActionBarEdit.js +5 -5
  155. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  156. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  157. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +6 -7
  158. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  159. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -6
  160. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  161. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  162. package/dist/primitives/actionBar/ActionBarReload.js +6 -10
  163. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  164. package/dist/primitives/actionBar/ActionBarSpeak.js +6 -6
  165. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  166. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  167. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -8
  168. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  169. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
  170. package/dist/primitives/actionBar/useActionBarFloatStatus.js +10 -21
  171. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  172. package/dist/primitives/assistantModal/AssistantModalRoot.js +4 -4
  173. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  174. package/dist/primitives/attachment/AttachmentName.js +2 -2
  175. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  176. package/dist/primitives/attachment/AttachmentRemove.js +4 -4
  177. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  178. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  179. package/dist/primitives/attachment/AttachmentThumb.js +5 -2
  180. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  181. package/dist/primitives/branchPicker/BranchPickerCount.js +2 -2
  182. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  183. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  184. package/dist/primitives/branchPicker/BranchPickerNext.js +7 -8
  185. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  186. package/dist/primitives/branchPicker/BranchPickerNumber.js +2 -2
  187. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  188. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  189. package/dist/primitives/branchPicker/BranchPickerPrevious.js +7 -8
  190. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  191. package/dist/primitives/composer/ComposerAddAttachment.js +6 -6
  192. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  193. package/dist/primitives/composer/ComposerAttachmentDropzone.js +4 -4
  194. package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
  195. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  196. package/dist/primitives/composer/ComposerAttachments.js +11 -13
  197. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  198. package/dist/primitives/composer/ComposerCancel.js +5 -5
  199. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  200. package/dist/primitives/composer/ComposerIf.js +2 -2
  201. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  202. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  203. package/dist/primitives/composer/ComposerInput.js +22 -32
  204. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  205. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  206. package/dist/primitives/composer/ComposerSend.js +6 -10
  207. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  208. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
  209. package/dist/primitives/error/ErrorMessage.js +3 -3
  210. package/dist/primitives/error/ErrorMessage.js.map +1 -1
  211. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
  212. package/dist/primitives/message/MessageAttachments.js +9 -11
  213. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  214. package/dist/primitives/message/MessageError.d.ts.map +1 -1
  215. package/dist/primitives/message/MessageError.js +3 -3
  216. package/dist/primitives/message/MessageError.js.map +1 -1
  217. package/dist/primitives/message/MessageIf.d.ts.map +1 -1
  218. package/dist/primitives/message/MessageIf.js +28 -34
  219. package/dist/primitives/message/MessageIf.js.map +1 -1
  220. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  221. package/dist/primitives/message/MessageParts.js +25 -27
  222. package/dist/primitives/message/MessageParts.js.map +1 -1
  223. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  224. package/dist/primitives/message/MessagePartsGrouped.js +24 -26
  225. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  226. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  227. package/dist/primitives/message/MessageRoot.js +8 -7
  228. package/dist/primitives/message/MessageRoot.js.map +1 -1
  229. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  230. package/dist/primitives/messagePart/MessagePartInProgress.js +4 -2
  231. package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -1
  232. package/dist/primitives/messagePart/useMessagePartFile.js +4 -4
  233. package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
  234. package/dist/primitives/messagePart/useMessagePartImage.js +4 -4
  235. package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
  236. package/dist/primitives/messagePart/useMessagePartReasoning.js +4 -4
  237. package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
  238. package/dist/primitives/messagePart/useMessagePartSource.js +4 -4
  239. package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
  240. package/dist/primitives/messagePart/useMessagePartText.js +4 -4
  241. package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
  242. package/dist/primitives/thread/ThreadEmpty.js +2 -2
  243. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  244. package/dist/primitives/thread/ThreadIf.js +2 -2
  245. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  246. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  247. package/dist/primitives/thread/ThreadMessages.js +9 -12
  248. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  249. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  250. package/dist/primitives/thread/ThreadSuggestion.js +8 -8
  251. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  252. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  253. package/dist/primitives/thread/useThreadViewportAutoScroll.js +3 -6
  254. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  255. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  256. package/dist/primitives/threadList/ThreadListItems.js +7 -10
  257. package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
  258. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -3
  259. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  260. package/dist/primitives/threadList/ThreadListNew.js +7 -11
  261. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  262. package/dist/primitives/threadListItem/ThreadListItemArchive.js +4 -4
  263. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  264. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  265. package/dist/primitives/threadListItem/ThreadListItemDelete.js +6 -5
  266. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
  267. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  268. package/dist/primitives/threadListItem/ThreadListItemRoot.js +4 -2
  269. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  270. package/dist/primitives/threadListItem/ThreadListItemTitle.js +2 -2
  271. package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
  272. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  273. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +6 -5
  274. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  275. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  276. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +6 -5
  277. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
  278. package/dist/runtimes/adapters/attachment/index.js.map +1 -1
  279. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +1 -1
  280. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
  281. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +3 -3
  282. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  283. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -1
  284. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  285. package/dist/runtimes/core/BaseThreadRuntimeCore.js +5 -1
  286. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  287. package/dist/runtimes/core/ComposerRuntimeCore.d.ts +2 -2
  288. package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
  289. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +5 -5
  290. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
  291. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +5 -2
  292. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  293. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +6 -4
  294. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
  295. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +42 -7
  296. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  297. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  298. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +3 -0
  299. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  300. package/dist/runtimes/external-store/createMessageConverter.d.ts +2 -2
  301. package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -1
  302. package/dist/runtimes/external-store/createMessageConverter.js +9 -6
  303. package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
  304. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +10 -1
  305. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
  306. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +15 -2
  307. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
  308. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
  309. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +3 -5
  310. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
  311. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  312. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +13 -19
  313. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  314. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +11 -7
  315. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  316. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +41 -35
  317. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  318. package/dist/tests/setup.js +8 -8
  319. package/dist/tests/setup.js.map +1 -1
  320. package/dist/types/EventTypes.d.ts +49 -0
  321. package/dist/types/EventTypes.d.ts.map +1 -0
  322. package/dist/types/EventTypes.js +22 -0
  323. package/dist/types/EventTypes.js.map +1 -0
  324. package/dist/types/index.d.ts +1 -0
  325. package/dist/types/index.d.ts.map +1 -1
  326. package/dist/utils/smooth/SmoothContext.js +3 -3
  327. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  328. package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
  329. package/dist/utils/smooth/useSmooth.js +2 -5
  330. package/dist/utils/smooth/useSmooth.js.map +1 -1
  331. package/dist/utils/tap-store/index.d.ts +3 -0
  332. package/dist/utils/tap-store/index.d.ts.map +1 -0
  333. package/dist/utils/tap-store/index.js +8 -0
  334. package/dist/utils/tap-store/index.js.map +1 -0
  335. package/dist/utils/tap-store/store.d.ts +21 -0
  336. package/dist/utils/tap-store/store.d.ts.map +1 -0
  337. package/dist/utils/tap-store/store.js +29 -0
  338. package/dist/utils/tap-store/store.js.map +1 -0
  339. package/dist/utils/tap-store/tap-store-api.d.ts +8 -0
  340. package/dist/utils/tap-store/tap-store-api.d.ts.map +1 -0
  341. package/dist/utils/tap-store/tap-store-api.js +57 -0
  342. package/dist/utils/tap-store/tap-store-api.js.map +1 -0
  343. package/dist/utils/useToolArgsFieldStatus.js +6 -6
  344. package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
  345. package/package.json +2 -1
  346. package/src/api/AttachmentRuntime.ts +3 -1
  347. package/src/api/ComposerRuntime.ts +16 -9
  348. package/src/api/MessagePartRuntime.ts +3 -1
  349. package/src/api/MessageRuntime.ts +2 -0
  350. package/src/api/ThreadListItemRuntime.ts +11 -1
  351. package/src/api/ThreadListRuntime.ts +9 -9
  352. package/src/api/ThreadRuntime.ts +9 -7
  353. package/src/client/AssistantRuntimeClient.ts +197 -0
  354. package/src/client/AttachmentClient.ts +11 -0
  355. package/src/client/ComposerClient.ts +133 -0
  356. package/src/client/EventManagerClient.ts +63 -0
  357. package/src/client/MessageClient.ts +196 -0
  358. package/src/client/MessagePartClient.ts +53 -0
  359. package/src/client/ThreadClient.ts +280 -0
  360. package/src/client/ThreadListClient.ts +135 -0
  361. package/src/client/ThreadListItemClient.ts +88 -0
  362. package/src/client/util-hooks/tapLookupResources.ts +31 -0
  363. package/src/client/util-hooks/tapSubscribable.ts +16 -0
  364. package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +24 -13
  365. package/src/context/providers/AssistantRuntimeProvider.tsx +27 -51
  366. package/src/context/providers/AttachmentProvider.tsx +48 -0
  367. package/src/context/providers/MessageProvider.tsx +57 -0
  368. package/src/context/providers/PartProvider.tsx +28 -0
  369. package/src/context/providers/TextMessagePartProvider.tsx +53 -78
  370. package/src/context/providers/ThreadListItemProvider.tsx +84 -0
  371. package/src/context/providers/index.ts +10 -3
  372. package/src/context/react/AssistantApiContext.tsx +392 -0
  373. package/src/context/react/index.ts +30 -37
  374. package/src/context/react/{AssistantContext.ts → legacy/AssistantContext.ts} +12 -31
  375. package/src/context/react/{AttachmentContext.ts → legacy/AttachmentContext.ts} +11 -22
  376. package/src/context/react/{ComposerContext.ts → legacy/ComposerContext.ts} +11 -9
  377. package/src/context/react/{MessageContext.ts → legacy/MessageContext.ts} +12 -29
  378. package/src/context/react/legacy/MessagePartContext.ts +24 -0
  379. package/src/context/react/{ThreadContext.ts → legacy/ThreadContext.ts} +15 -25
  380. package/src/context/react/legacy/ThreadListItemContext.ts +28 -0
  381. package/src/context/stores/index.ts +0 -2
  382. package/src/hooks/useAssistantEvent.ts +24 -0
  383. package/src/model-context/makeAssistantVisible.tsx +4 -4
  384. package/src/model-context/useAssistantInstructions.tsx +4 -4
  385. package/src/model-context/useAssistantTool.tsx +7 -12
  386. package/src/model-context/useAssistantToolUI.tsx +5 -5
  387. package/src/primitives/actionBar/ActionBarCopy.tsx +14 -20
  388. package/src/primitives/actionBar/ActionBarEdit.tsx +5 -5
  389. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +6 -7
  390. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +6 -6
  391. package/src/primitives/actionBar/ActionBarReload.tsx +9 -10
  392. package/src/primitives/actionBar/ActionBarSpeak.tsx +7 -7
  393. package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +5 -8
  394. package/src/primitives/actionBar/useActionBarFloatStatus.tsx +22 -34
  395. package/src/primitives/assistantModal/AssistantModalRoot.tsx +4 -4
  396. package/src/primitives/attachment/AttachmentName.tsx +2 -2
  397. package/src/primitives/attachment/AttachmentRemove.tsx +4 -4
  398. package/src/primitives/attachment/AttachmentThumb.tsx +5 -2
  399. package/src/primitives/branchPicker/BranchPickerCount.tsx +2 -2
  400. package/src/primitives/branchPicker/BranchPickerNext.tsx +7 -8
  401. package/src/primitives/branchPicker/BranchPickerNumber.tsx +2 -2
  402. package/src/primitives/branchPicker/BranchPickerPrevious.tsx +7 -8
  403. package/src/primitives/composer/ComposerAddAttachment.tsx +6 -6
  404. package/src/primitives/composer/ComposerAttachmentDropzone.tsx +4 -4
  405. package/src/primitives/composer/ComposerAttachments.tsx +12 -15
  406. package/src/primitives/composer/ComposerCancel.tsx +5 -5
  407. package/src/primitives/composer/ComposerIf.tsx +2 -2
  408. package/src/primitives/composer/ComposerInput.tsx +32 -32
  409. package/src/primitives/composer/ComposerSend.tsx +6 -10
  410. package/src/primitives/error/ErrorMessage.tsx +5 -4
  411. package/src/primitives/message/MessageAttachments.tsx +10 -13
  412. package/src/primitives/message/MessageError.tsx +5 -3
  413. package/src/primitives/message/MessageIf.tsx +43 -52
  414. package/src/primitives/message/MessageParts.tsx +26 -31
  415. package/src/primitives/message/MessagePartsGrouped.tsx +25 -30
  416. package/src/primitives/message/MessageRoot.tsx +10 -8
  417. package/src/primitives/messagePart/MessagePartInProgress.tsx +4 -2
  418. package/src/primitives/messagePart/useMessagePartFile.tsx +4 -4
  419. package/src/primitives/messagePart/useMessagePartImage.tsx +4 -4
  420. package/src/primitives/messagePart/useMessagePartReasoning.tsx +4 -4
  421. package/src/primitives/messagePart/useMessagePartSource.tsx +4 -4
  422. package/src/primitives/messagePart/useMessagePartText.tsx +4 -4
  423. package/src/primitives/thread/ThreadEmpty.tsx +2 -2
  424. package/src/primitives/thread/ThreadIf.tsx +2 -2
  425. package/src/primitives/thread/ThreadMessages.tsx +10 -14
  426. package/src/primitives/thread/ThreadSuggestion.tsx +8 -8
  427. package/src/primitives/thread/useThreadViewportAutoScroll.tsx +3 -6
  428. package/src/primitives/threadList/ThreadListItems.tsx +8 -15
  429. package/src/primitives/threadList/ThreadListNew.tsx +9 -13
  430. package/src/primitives/threadListItem/ThreadListItemArchive.ts +4 -4
  431. package/src/primitives/threadListItem/ThreadListItemDelete.ts +6 -5
  432. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +4 -2
  433. package/src/primitives/threadListItem/ThreadListItemTitle.tsx +2 -2
  434. package/src/primitives/threadListItem/ThreadListItemTrigger.ts +6 -5
  435. package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +6 -5
  436. package/src/runtimes/adapters/attachment/index.ts +1 -1
  437. package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +3 -3
  438. package/src/runtimes/core/BaseThreadRuntimeCore.tsx +5 -1
  439. package/src/runtimes/core/ComposerRuntimeCore.tsx +2 -2
  440. package/src/runtimes/core/ThreadListRuntimeCore.tsx +6 -4
  441. package/src/runtimes/external-store/ExternalStoreAdapter.tsx +5 -2
  442. package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +53 -12
  443. package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +4 -0
  444. package/src/runtimes/external-store/createMessageConverter.tsx +10 -6
  445. package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +16 -2
  446. package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +3 -6
  447. package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +14 -19
  448. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +50 -43
  449. package/src/types/EventTypes.ts +92 -0
  450. package/src/types/index.ts +6 -0
  451. package/src/utils/smooth/SmoothContext.tsx +3 -3
  452. package/src/utils/smooth/useSmooth.tsx +2 -5
  453. package/src/utils/tap-store/index.ts +2 -0
  454. package/src/utils/tap-store/store.ts +51 -0
  455. package/src/utils/tap-store/tap-store-api.ts +75 -0
  456. package/src/utils/useToolArgsFieldStatus.tsx +6 -6
  457. package/dist/context/providers/AttachmentRuntimeProvider.d.ts +0 -9
  458. package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +0 -1
  459. package/dist/context/providers/AttachmentRuntimeProvider.js +0 -33
  460. package/dist/context/providers/AttachmentRuntimeProvider.js.map +0 -1
  461. package/dist/context/providers/MessagePartRuntimeProvider.d.ts +0 -9
  462. package/dist/context/providers/MessagePartRuntimeProvider.d.ts.map +0 -1
  463. package/dist/context/providers/MessagePartRuntimeProvider.js +0 -28
  464. package/dist/context/providers/MessagePartRuntimeProvider.js.map +0 -1
  465. package/dist/context/providers/MessageRuntimeProvider.d.ts +0 -9
  466. package/dist/context/providers/MessageRuntimeProvider.d.ts.map +0 -1
  467. package/dist/context/providers/MessageRuntimeProvider.js +0 -37
  468. package/dist/context/providers/MessageRuntimeProvider.js.map +0 -1
  469. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +0 -9
  470. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +0 -1
  471. package/dist/context/providers/ThreadListItemRuntimeProvider.js +0 -30
  472. package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +0 -1
  473. package/dist/context/providers/ThreadRuntimeProvider.d.ts +0 -10
  474. package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +0 -1
  475. package/dist/context/providers/ThreadRuntimeProvider.js +0 -33
  476. package/dist/context/providers/ThreadRuntimeProvider.js.map +0 -1
  477. package/dist/context/react/AssistantContext.d.ts +0 -85
  478. package/dist/context/react/AssistantContext.d.ts.map +0 -1
  479. package/dist/context/react/AssistantContext.js +0 -34
  480. package/dist/context/react/AssistantContext.js.map +0 -1
  481. package/dist/context/react/AttachmentContext.d.ts.map +0 -1
  482. package/dist/context/react/AttachmentContext.js.map +0 -1
  483. package/dist/context/react/ComposerContext.d.ts.map +0 -1
  484. package/dist/context/react/ComposerContext.js +0 -17
  485. package/dist/context/react/ComposerContext.js.map +0 -1
  486. package/dist/context/react/MessageContext.d.ts.map +0 -1
  487. package/dist/context/react/MessageContext.js +0 -35
  488. package/dist/context/react/MessageContext.js.map +0 -1
  489. package/dist/context/react/MessagePartContext.d.ts +0 -41
  490. package/dist/context/react/MessagePartContext.d.ts.map +0 -1
  491. package/dist/context/react/MessagePartContext.js +0 -25
  492. package/dist/context/react/MessagePartContext.js.map +0 -1
  493. package/dist/context/react/ThreadContext.d.ts.map +0 -1
  494. package/dist/context/react/ThreadContext.js +0 -38
  495. package/dist/context/react/ThreadContext.js.map +0 -1
  496. package/dist/context/react/ThreadListItemContext.d.ts +0 -41
  497. package/dist/context/react/ThreadListItemContext.d.ts.map +0 -1
  498. package/dist/context/react/ThreadListItemContext.js +0 -25
  499. package/dist/context/react/ThreadListItemContext.js.map +0 -1
  500. package/dist/context/stores/AssistantToolUIs.d.ts +0 -14
  501. package/dist/context/stores/AssistantToolUIs.d.ts.map +0 -1
  502. package/dist/context/stores/AssistantToolUIs.js +0 -35
  503. package/dist/context/stores/AssistantToolUIs.js.map +0 -1
  504. package/dist/context/stores/MessageUtils.d.ts +0 -8
  505. package/dist/context/stores/MessageUtils.d.ts.map +0 -1
  506. package/dist/context/stores/MessageUtils.js +0 -18
  507. package/dist/context/stores/MessageUtils.js.map +0 -1
  508. package/dist/utils/combined/createCombinedStore.d.ts +0 -8
  509. package/dist/utils/combined/createCombinedStore.d.ts.map +0 -1
  510. package/dist/utils/combined/createCombinedStore.js +0 -22
  511. package/dist/utils/combined/createCombinedStore.js.map +0 -1
  512. package/dist/utils/combined/useCombinedStore.d.ts +0 -3
  513. package/dist/utils/combined/useCombinedStore.d.ts.map +0 -1
  514. package/dist/utils/combined/useCombinedStore.js +0 -15
  515. package/dist/utils/combined/useCombinedStore.js.map +0 -1
  516. package/src/context/providers/AttachmentRuntimeProvider.tsx +0 -44
  517. package/src/context/providers/MessagePartRuntimeProvider.tsx +0 -42
  518. package/src/context/providers/MessageRuntimeProvider.tsx +0 -50
  519. package/src/context/providers/ThreadListItemRuntimeProvider.tsx +0 -43
  520. package/src/context/providers/ThreadRuntimeProvider.tsx +0 -53
  521. package/src/context/react/MessagePartContext.ts +0 -37
  522. package/src/context/react/ThreadListItemContext.ts +0 -38
  523. package/src/context/stores/AssistantToolUIs.ts +0 -51
  524. package/src/context/stores/MessageUtils.ts +0 -23
  525. package/src/utils/combined/createCombinedStore.ts +0 -31
  526. package/src/utils/combined/useCombinedStore.ts +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useAssistantEvent.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\nimport {\n AssistantEventSelector,\n AssistantEvents,\n normalizeEventSelector,\n} from \"../types/EventTypes\";\n\nexport const useAssistantEvent = <TEvent extends keyof AssistantEvents>(\n selector: AssistantEventSelector<TEvent>,\n callback: (e: AssistantEvents[TEvent]) => void,\n) => {\n const api = useAssistantApi();\n const callbackRef = useRef(callback);\n useEffect(() => {\n callbackRef.current = callback;\n });\n\n const { scope, event } = normalizeEventSelector(selector);\n useEffect(\n () => api.on({ scope, event }, (e) => callbackRef.current(e)),\n [api, scope, event],\n );\n};\n"],"mappings":";AAAA,SAAS,WAAW,cAAc;AAClC,SAAS,uBAAuB;AAChC;AAAA,EAGE;AAAA,OACK;AAEA,IAAM,oBAAoB,CAC/B,UACA,aACG;AACH,QAAM,MAAM,gBAAgB;AAC5B,QAAM,cAAc,OAAO,QAAQ;AACnC,YAAU,MAAM;AACd,gBAAY,UAAU;AAAA,EACxB,CAAC;AAED,QAAM,EAAE,OAAO,MAAM,IAAI,uBAAuB,QAAQ;AACxD;AAAA,IACE,MAAM,IAAI,GAAG,EAAE,OAAO,MAAM,GAAG,CAAC,MAAM,YAAY,QAAQ,CAAC,CAAC;AAAA,IAC5D,CAAC,KAAK,OAAO,KAAK;AAAA,EACpB;AACF;","names":[]}
@@ -10,7 +10,7 @@ import {
10
10
  useContext
11
11
  } from "react";
12
12
  import { z } from "zod";
13
- import { useAssistantRuntime } from "../context/index.js";
13
+ import { useAssistantApi } from "../context/react/AssistantApiContext.js";
14
14
  import { useComposedRefs } from "@radix-ui/react-compose-refs";
15
15
  import { tool } from "./tool.js";
16
16
  import { jsx } from "react/jsx-runtime";
@@ -56,10 +56,10 @@ var makeAssistantVisible = (Component, config) => {
56
56
  const isNestedReadable = useContext(ReadableContext);
57
57
  const clickId = useId();
58
58
  const componentRef = useRef(null);
59
- const assistant = useAssistantRuntime();
59
+ const api = useAssistantApi();
60
60
  const { clickable, editable } = config ?? {};
61
61
  useEffect(() => {
62
- return assistant.registerModelContextProvider({
62
+ return api.registerModelContextProvider({
63
63
  getModelContext: () => {
64
64
  return {
65
65
  tools: {
@@ -70,7 +70,7 @@ var makeAssistantVisible = (Component, config) => {
70
70
  };
71
71
  }
72
72
  });
73
- }, [isNestedReadable, assistant, clickable, editable]);
73
+ }, [isNestedReadable, api, clickable, editable]);
74
74
  const ref = useComposedRefs(componentRef, outerRef);
75
75
  return /* @__PURE__ */ jsx(ReadableContext.Provider, { value: true, children: /* @__PURE__ */ jsx(
76
76
  Component,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/model-context/makeAssistantVisible.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useRef,\n forwardRef,\n ComponentType,\n ForwardedRef,\n PropsWithoutRef,\n useId,\n createContext,\n useContext,\n} from \"react\";\nimport { z } from \"zod\";\nimport { useAssistantRuntime } from \"../context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { tool } from \"./tool\";\n\n// TODO replace zod with json-schema so we can drop the zod dep\n\nconst click = tool({\n parameters: z.object({\n clickId: z.string(),\n }),\n execute: async ({ clickId }) => {\n const escapedClickId = CSS.escape(clickId);\n const el = document.querySelector(`[data-click-id='${escapedClickId}']`);\n if (el instanceof HTMLElement) {\n el.click();\n\n // todo make adjustable\n await new Promise((resolve) => setTimeout(resolve, 2000));\n return {};\n } else {\n return \"Element not found\";\n }\n },\n});\n\nconst edit = tool({\n parameters: z.object({\n editId: z.string(),\n value: z.string(),\n }),\n execute: async ({ editId, value }) => {\n const escapedEditId = CSS.escape(editId);\n const el = document.querySelector(`[data-edit-id='${escapedEditId}']`);\n if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {\n el.value = value;\n el.dispatchEvent(new Event(\"input\", { bubbles: true }));\n el.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\n // todo make adjustable\n await new Promise((resolve) => setTimeout(resolve, 2000));\n return {};\n } else {\n return \"Element not found\";\n }\n },\n});\n\nconst ReadableContext = createContext<boolean>(false);\n\nexport const makeAssistantVisible = <T extends ComponentType<any>>(\n Component: T,\n config?: { clickable?: boolean | undefined; editable?: boolean | undefined },\n) => {\n const ReadableComponent = forwardRef(\n (props: PropsWithoutRef<T>, outerRef: ForwardedRef<any>) => {\n const isNestedReadable = useContext(ReadableContext);\n\n const clickId = useId();\n const componentRef = useRef<HTMLElement>(null);\n\n const assistant = useAssistantRuntime();\n\n const { clickable, editable } = config ?? {};\n useEffect(() => {\n return assistant.registerModelContextProvider({\n getModelContext: () => {\n return {\n tools: {\n ...(clickable ? { click } : {}),\n ...(editable ? { edit } : {}),\n },\n system: !isNestedReadable // only pass content if this readable isn't nested in another readable\n ? componentRef.current?.outerHTML\n : undefined,\n };\n },\n });\n }, [isNestedReadable, assistant, clickable, editable]);\n\n const ref = useComposedRefs(componentRef, outerRef);\n\n return (\n <ReadableContext.Provider value={true}>\n <Component\n {...(props as any)}\n {...(config?.clickable ? { \"data-click-id\": clickId } : {})}\n {...(config?.editable ? { \"data-edit-id\": clickId } : {})}\n ref={ref}\n />\n </ReadableContext.Provider>\n );\n },\n );\n\n ReadableComponent.displayName = Component.displayName;\n\n return ReadableComponent as unknown as T;\n};\n\nexport default makeAssistantVisible;\n"],"mappings":";;;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAClB,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,SAAS,YAAY;AAiFX;AA7EV,IAAM,QAAQ,KAAK;AAAA,EACjB,YAAY,EAAE,OAAO;AAAA,IACnB,SAAS,EAAE,OAAO;AAAA,EACpB,CAAC;AAAA,EACD,SAAS,OAAO,EAAE,QAAQ,MAAM;AAC9B,UAAM,iBAAiB,IAAI,OAAO,OAAO;AACzC,UAAM,KAAK,SAAS,cAAc,mBAAmB,cAAc,IAAI;AACvE,QAAI,cAAc,aAAa;AAC7B,SAAG,MAAM;AAGT,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAI,CAAC;AACxD,aAAO,CAAC;AAAA,IACV,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAED,IAAM,OAAO,KAAK;AAAA,EAChB,YAAY,EAAE,OAAO;AAAA,IACnB,QAAQ,EAAE,OAAO;AAAA,IACjB,OAAO,EAAE,OAAO;AAAA,EAClB,CAAC;AAAA,EACD,SAAS,OAAO,EAAE,QAAQ,MAAM,MAAM;AACpC,UAAM,gBAAgB,IAAI,OAAO,MAAM;AACvC,UAAM,KAAK,SAAS,cAAc,kBAAkB,aAAa,IAAI;AACrE,QAAI,cAAc,oBAAoB,cAAc,qBAAqB;AACvE,SAAG,QAAQ;AACX,SAAG,cAAc,IAAI,MAAM,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC;AACtD,SAAG,cAAc,IAAI,MAAM,UAAU,EAAE,SAAS,KAAK,CAAC,CAAC;AAGvD,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAI,CAAC;AACxD,aAAO,CAAC;AAAA,IACV,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB,cAAuB,KAAK;AAE7C,IAAM,uBAAuB,CAClC,WACA,WACG;AACH,QAAM,oBAAoB;AAAA,IACxB,CAAC,OAA2B,aAAgC;AAC1D,YAAM,mBAAmB,WAAW,eAAe;AAEnD,YAAM,UAAU,MAAM;AACtB,YAAM,eAAe,OAAoB,IAAI;AAE7C,YAAM,YAAY,oBAAoB;AAEtC,YAAM,EAAE,WAAW,SAAS,IAAI,UAAU,CAAC;AAC3C,gBAAU,MAAM;AACd,eAAO,UAAU,6BAA6B;AAAA,UAC5C,iBAAiB,MAAM;AACrB,mBAAO;AAAA,cACL,OAAO;AAAA,gBACL,GAAI,YAAY,EAAE,MAAM,IAAI,CAAC;AAAA,gBAC7B,GAAI,WAAW,EAAE,KAAK,IAAI,CAAC;AAAA,cAC7B;AAAA,cACA,QAAQ,CAAC,mBACL,aAAa,SAAS,YACtB;AAAA,YACN;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH,GAAG,CAAC,kBAAkB,WAAW,WAAW,QAAQ,CAAC;AAErD,YAAM,MAAM,gBAAgB,cAAc,QAAQ;AAElD,aACE,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,MAC/B;AAAA,QAAC;AAAA;AAAA,UACE,GAAI;AAAA,UACJ,GAAI,QAAQ,YAAY,EAAE,iBAAiB,QAAQ,IAAI,CAAC;AAAA,UACxD,GAAI,QAAQ,WAAW,EAAE,gBAAgB,QAAQ,IAAI,CAAC;AAAA,UACvD;AAAA;AAAA,MACF,GACF;AAAA,IAEJ;AAAA,EACF;AAEA,oBAAkB,cAAc,UAAU;AAE1C,SAAO;AACT;AAEA,IAAO,+BAAQ;","names":[]}
1
+ {"version":3,"sources":["../../src/model-context/makeAssistantVisible.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useRef,\n forwardRef,\n ComponentType,\n ForwardedRef,\n PropsWithoutRef,\n useId,\n createContext,\n useContext,\n} from \"react\";\nimport { z } from \"zod\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { tool } from \"./tool\";\n\n// TODO replace zod with json-schema so we can drop the zod dep\n\nconst click = tool({\n parameters: z.object({\n clickId: z.string(),\n }),\n execute: async ({ clickId }) => {\n const escapedClickId = CSS.escape(clickId);\n const el = document.querySelector(`[data-click-id='${escapedClickId}']`);\n if (el instanceof HTMLElement) {\n el.click();\n\n // todo make adjustable\n await new Promise((resolve) => setTimeout(resolve, 2000));\n return {};\n } else {\n return \"Element not found\";\n }\n },\n});\n\nconst edit = tool({\n parameters: z.object({\n editId: z.string(),\n value: z.string(),\n }),\n execute: async ({ editId, value }) => {\n const escapedEditId = CSS.escape(editId);\n const el = document.querySelector(`[data-edit-id='${escapedEditId}']`);\n if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {\n el.value = value;\n el.dispatchEvent(new Event(\"input\", { bubbles: true }));\n el.dispatchEvent(new Event(\"change\", { bubbles: true }));\n\n // todo make adjustable\n await new Promise((resolve) => setTimeout(resolve, 2000));\n return {};\n } else {\n return \"Element not found\";\n }\n },\n});\n\nconst ReadableContext = createContext<boolean>(false);\n\nexport const makeAssistantVisible = <T extends ComponentType<any>>(\n Component: T,\n config?: { clickable?: boolean | undefined; editable?: boolean | undefined },\n) => {\n const ReadableComponent = forwardRef(\n (props: PropsWithoutRef<T>, outerRef: ForwardedRef<any>) => {\n const isNestedReadable = useContext(ReadableContext);\n\n const clickId = useId();\n const componentRef = useRef<HTMLElement>(null);\n\n const api = useAssistantApi();\n\n const { clickable, editable } = config ?? {};\n useEffect(() => {\n return api.registerModelContextProvider({\n getModelContext: () => {\n return {\n tools: {\n ...(clickable ? { click } : {}),\n ...(editable ? { edit } : {}),\n },\n system: !isNestedReadable // only pass content if this readable isn't nested in another readable\n ? componentRef.current?.outerHTML\n : undefined,\n };\n },\n });\n }, [isNestedReadable, api, clickable, editable]);\n\n const ref = useComposedRefs(componentRef, outerRef);\n\n return (\n <ReadableContext.Provider value={true}>\n <Component\n {...(props as any)}\n {...(config?.clickable ? { \"data-click-id\": clickId } : {})}\n {...(config?.editable ? { \"data-edit-id\": clickId } : {})}\n ref={ref}\n />\n </ReadableContext.Provider>\n );\n },\n );\n\n ReadableComponent.displayName = Component.displayName;\n\n return ReadableComponent as unknown as T;\n};\n\nexport default makeAssistantVisible;\n"],"mappings":";;;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AAClB,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,YAAY;AAiFX;AA7EV,IAAM,QAAQ,KAAK;AAAA,EACjB,YAAY,EAAE,OAAO;AAAA,IACnB,SAAS,EAAE,OAAO;AAAA,EACpB,CAAC;AAAA,EACD,SAAS,OAAO,EAAE,QAAQ,MAAM;AAC9B,UAAM,iBAAiB,IAAI,OAAO,OAAO;AACzC,UAAM,KAAK,SAAS,cAAc,mBAAmB,cAAc,IAAI;AACvE,QAAI,cAAc,aAAa;AAC7B,SAAG,MAAM;AAGT,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAI,CAAC;AACxD,aAAO,CAAC;AAAA,IACV,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAED,IAAM,OAAO,KAAK;AAAA,EAChB,YAAY,EAAE,OAAO;AAAA,IACnB,QAAQ,EAAE,OAAO;AAAA,IACjB,OAAO,EAAE,OAAO;AAAA,EAClB,CAAC;AAAA,EACD,SAAS,OAAO,EAAE,QAAQ,MAAM,MAAM;AACpC,UAAM,gBAAgB,IAAI,OAAO,MAAM;AACvC,UAAM,KAAK,SAAS,cAAc,kBAAkB,aAAa,IAAI;AACrE,QAAI,cAAc,oBAAoB,cAAc,qBAAqB;AACvE,SAAG,QAAQ;AACX,SAAG,cAAc,IAAI,MAAM,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC;AACtD,SAAG,cAAc,IAAI,MAAM,UAAU,EAAE,SAAS,KAAK,CAAC,CAAC;AAGvD,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAI,CAAC;AACxD,aAAO,CAAC;AAAA,IACV,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAED,IAAM,kBAAkB,cAAuB,KAAK;AAE7C,IAAM,uBAAuB,CAClC,WACA,WACG;AACH,QAAM,oBAAoB;AAAA,IACxB,CAAC,OAA2B,aAAgC;AAC1D,YAAM,mBAAmB,WAAW,eAAe;AAEnD,YAAM,UAAU,MAAM;AACtB,YAAM,eAAe,OAAoB,IAAI;AAE7C,YAAM,MAAM,gBAAgB;AAE5B,YAAM,EAAE,WAAW,SAAS,IAAI,UAAU,CAAC;AAC3C,gBAAU,MAAM;AACd,eAAO,IAAI,6BAA6B;AAAA,UACtC,iBAAiB,MAAM;AACrB,mBAAO;AAAA,cACL,OAAO;AAAA,gBACL,GAAI,YAAY,EAAE,MAAM,IAAI,CAAC;AAAA,gBAC7B,GAAI,WAAW,EAAE,KAAK,IAAI,CAAC;AAAA,cAC7B;AAAA,cACA,QAAQ,CAAC,mBACL,aAAa,SAAS,YACtB;AAAA,YACN;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH,GAAG,CAAC,kBAAkB,KAAK,WAAW,QAAQ,CAAC;AAE/C,YAAM,MAAM,gBAAgB,cAAc,QAAQ;AAElD,aACE,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,MAC/B;AAAA,QAAC;AAAA;AAAA,UACE,GAAI;AAAA,UACJ,GAAI,QAAQ,YAAY,EAAE,iBAAiB,QAAQ,IAAI,CAAC;AAAA,UACxD,GAAI,QAAQ,WAAW,EAAE,gBAAgB,QAAQ,IAAI,CAAC;AAAA,UACvD;AAAA;AAAA,MACF,GACF;AAAA,IAEJ;AAAA,EACF;AAEA,oBAAkB,cAAc,UAAU;AAE1C,SAAO;AACT;AAEA,IAAO,+BAAQ;","names":[]}
@@ -2,23 +2,23 @@
2
2
 
3
3
  // src/model-context/useAssistantInstructions.tsx
4
4
  import { useEffect } from "react";
5
- import { useAssistantRuntime } from "../context/index.js";
5
+ import { useAssistantApi } from "../context/react/AssistantApiContext.js";
6
6
  var getInstructions = (instruction) => {
7
7
  if (typeof instruction === "string") return { instruction };
8
8
  return instruction;
9
9
  };
10
10
  var useAssistantInstructions = (config) => {
11
11
  const { instruction, disabled = false } = getInstructions(config);
12
- const assistantRuntime = useAssistantRuntime();
12
+ const api = useAssistantApi();
13
13
  useEffect(() => {
14
14
  if (disabled) return;
15
15
  const config2 = {
16
16
  system: instruction
17
17
  };
18
- return assistantRuntime.registerModelContextProvider({
18
+ return api.registerModelContextProvider({
19
19
  getModelContext: () => config2
20
20
  });
21
- }, [assistantRuntime, instruction, disabled]);
21
+ }, [api, instruction, disabled]);
22
22
  };
23
23
  export {
24
24
  useAssistantInstructions
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/model-context/useAssistantInstructions.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useAssistantRuntime } from \"../context\";\n\nexport type AssistantInstructionsConfig = {\n disabled?: boolean | undefined;\n instruction: string;\n};\n\nconst getInstructions = (\n instruction: string | AssistantInstructionsConfig,\n): AssistantInstructionsConfig => {\n if (typeof instruction === \"string\") return { instruction };\n return instruction;\n};\n\nexport const useAssistantInstructions = (\n config: string | AssistantInstructionsConfig,\n) => {\n const { instruction, disabled = false } = getInstructions(config);\n const assistantRuntime = useAssistantRuntime();\n\n useEffect(() => {\n if (disabled) return;\n\n const config = {\n system: instruction,\n };\n return assistantRuntime.registerModelContextProvider({\n getModelContext: () => config,\n });\n }, [assistantRuntime, instruction, disabled]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAAS,2BAA2B;AAOpC,IAAM,kBAAkB,CACtB,gBACgC;AAChC,MAAI,OAAO,gBAAgB,SAAU,QAAO,EAAE,YAAY;AAC1D,SAAO;AACT;AAEO,IAAM,2BAA2B,CACtC,WACG;AACH,QAAM,EAAE,aAAa,WAAW,MAAM,IAAI,gBAAgB,MAAM;AAChE,QAAM,mBAAmB,oBAAoB;AAE7C,YAAU,MAAM;AACd,QAAI,SAAU;AAEd,UAAMA,UAAS;AAAA,MACb,QAAQ;AAAA,IACV;AACA,WAAO,iBAAiB,6BAA6B;AAAA,MACnD,iBAAiB,MAAMA;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,kBAAkB,aAAa,QAAQ,CAAC;AAC9C;","names":["config"]}
1
+ {"version":3,"sources":["../../src/model-context/useAssistantInstructions.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\n\nexport type AssistantInstructionsConfig = {\n disabled?: boolean | undefined;\n instruction: string;\n};\n\nconst getInstructions = (\n instruction: string | AssistantInstructionsConfig,\n): AssistantInstructionsConfig => {\n if (typeof instruction === \"string\") return { instruction };\n return instruction;\n};\n\nexport const useAssistantInstructions = (\n config: string | AssistantInstructionsConfig,\n) => {\n const { instruction, disabled = false } = getInstructions(config);\n const api = useAssistantApi();\n\n useEffect(() => {\n if (disabled) return;\n\n const config = {\n system: instruction,\n };\n return api.registerModelContextProvider({\n getModelContext: () => config,\n });\n }, [api, instruction, disabled]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAOhC,IAAM,kBAAkB,CACtB,gBACgC;AAChC,MAAI,OAAO,gBAAgB,SAAU,QAAO,EAAE,YAAY;AAC1D,SAAO;AACT;AAEO,IAAM,2BAA2B,CACtC,WACG;AACH,QAAM,EAAE,aAAa,WAAW,MAAM,IAAI,gBAAgB,MAAM;AAChE,QAAM,MAAM,gBAAgB;AAE5B,YAAU,MAAM;AACd,QAAI,SAAU;AAEd,UAAMA,UAAS;AAAA,MACb,QAAQ;AAAA,IACV;AACA,WAAO,IAAI,6BAA6B;AAAA,MACtC,iBAAiB,MAAMA;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,aAAa,QAAQ,CAAC;AACjC;","names":["config"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useAssistantTool.d.ts","sourceRoot":"","sources":["../../src/model-context/useAssistantTool.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,IACL,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACnE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,EAEP,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,SAsBzC,CAAC"}
1
+ {"version":3,"file":"useAssistantTool.d.ts","sourceRoot":"","sources":["../../src/model-context/useAssistantTool.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,IACL,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACnE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,EAEP,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,SAoBzC,CAAC"}
@@ -2,16 +2,13 @@
2
2
 
3
3
  // src/model-context/useAssistantTool.tsx
4
4
  import { useEffect } from "react";
5
- import {
6
- useAssistantRuntime,
7
- useToolUIsStore
8
- } from "../context/react/AssistantContext.js";
5
+ import { useAssistantApi } from "../context/react/AssistantApiContext.js";
9
6
  var useAssistantTool = (tool) => {
10
- const assistantRuntime = useAssistantRuntime();
11
- const toolUIsStore = useToolUIsStore();
7
+ const api = useAssistantApi();
12
8
  useEffect(() => {
13
- return tool.render ? toolUIsStore.getState().setToolUI(tool.toolName, tool.render) : void 0;
14
- }, [toolUIsStore, tool.toolName, tool.render]);
9
+ if (!tool.render) return void 0;
10
+ return api.toolUIs().setToolUI(tool.toolName, tool.render);
11
+ }, [api, tool.toolName, tool.render]);
15
12
  useEffect(() => {
16
13
  const { toolName, render, ...rest } = tool;
17
14
  const context = {
@@ -19,10 +16,10 @@ var useAssistantTool = (tool) => {
19
16
  [toolName]: rest
20
17
  }
21
18
  };
22
- return assistantRuntime.registerModelContextProvider({
19
+ return api.registerModelContextProvider({
23
20
  getModelContext: () => context
24
21
  });
25
- }, [assistantRuntime, tool]);
22
+ }, [api, tool]);
26
23
  };
27
24
  export {
28
25
  useAssistantTool
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/model-context/useAssistantTool.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport {\n useAssistantRuntime,\n useToolUIsStore,\n} from \"../context/react/AssistantContext\";\nimport type { ToolCallMessagePartComponent } from \"../types/MessagePartComponentTypes\";\nimport type { Tool } from \"assistant-stream\";\n\nexport type AssistantToolProps<\n TArgs extends Record<string, unknown>,\n TResult,\n> = Tool<TArgs, TResult> & {\n toolName: string;\n render?: ToolCallMessagePartComponent<TArgs, TResult> | undefined;\n};\n\nexport const useAssistantTool = <\n TArgs extends Record<string, unknown>,\n TResult,\n>(\n tool: AssistantToolProps<TArgs, TResult>,\n) => {\n const assistantRuntime = useAssistantRuntime();\n const toolUIsStore = useToolUIsStore();\n\n useEffect(() => {\n return tool.render\n ? toolUIsStore.getState().setToolUI(tool.toolName, tool.render)\n : undefined;\n }, [toolUIsStore, tool.toolName, tool.render]);\n\n useEffect(() => {\n const { toolName, render, ...rest } = tool;\n const context = {\n tools: {\n [toolName]: rest,\n },\n };\n return assistantRuntime.registerModelContextProvider({\n getModelContext: () => context,\n });\n }, [assistantRuntime, tool]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAYA,IAAM,mBAAmB,CAI9B,SACG;AACH,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,eAAe,gBAAgB;AAErC,YAAU,MAAM;AACd,WAAO,KAAK,SACR,aAAa,SAAS,EAAE,UAAU,KAAK,UAAU,KAAK,MAAM,IAC5D;AAAA,EACN,GAAG,CAAC,cAAc,KAAK,UAAU,KAAK,MAAM,CAAC;AAE7C,YAAU,MAAM;AACd,UAAM,EAAE,UAAU,QAAQ,GAAG,KAAK,IAAI;AACtC,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,QACL,CAAC,QAAQ,GAAG;AAAA,MACd;AAAA,IACF;AACA,WAAO,iBAAiB,6BAA6B;AAAA,MACnD,iBAAiB,MAAM;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,kBAAkB,IAAI,CAAC;AAC7B;","names":[]}
1
+ {"version":3,"sources":["../../src/model-context/useAssistantTool.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\nimport type { ToolCallMessagePartComponent } from \"../types/MessagePartComponentTypes\";\nimport type { Tool } from \"assistant-stream\";\n\nexport type AssistantToolProps<\n TArgs extends Record<string, unknown>,\n TResult,\n> = Tool<TArgs, TResult> & {\n toolName: string;\n render?: ToolCallMessagePartComponent<TArgs, TResult> | undefined;\n};\n\nexport const useAssistantTool = <\n TArgs extends Record<string, unknown>,\n TResult,\n>(\n tool: AssistantToolProps<TArgs, TResult>,\n) => {\n const api = useAssistantApi();\n\n useEffect(() => {\n if (!tool.render) return undefined;\n return api.toolUIs().setToolUI(tool.toolName, tool.render);\n }, [api, tool.toolName, tool.render]);\n\n useEffect(() => {\n const { toolName, render, ...rest } = tool;\n const context = {\n tools: {\n [toolName]: rest,\n },\n };\n return api.registerModelContextProvider({\n getModelContext: () => context,\n });\n }, [api, tool]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAYzB,IAAM,mBAAmB,CAI9B,SACG;AACH,QAAM,MAAM,gBAAgB;AAE5B,YAAU,MAAM;AACd,QAAI,CAAC,KAAK,OAAQ,QAAO;AACzB,WAAO,IAAI,QAAQ,EAAE,UAAU,KAAK,UAAU,KAAK,MAAM;AAAA,EAC3D,GAAG,CAAC,KAAK,KAAK,UAAU,KAAK,MAAM,CAAC;AAEpC,YAAU,MAAM;AACd,UAAM,EAAE,UAAU,QAAQ,GAAG,KAAK,IAAI;AACtC,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,QACL,CAAC,QAAQ,GAAG;AAAA,MACd;AAAA,IACF;AACA,WAAO,IAAI,6BAA6B;AAAA,MACtC,iBAAiB,MAAM;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,IAAI,CAAC;AAChB;","names":[]}
@@ -2,13 +2,13 @@
2
2
 
3
3
  // src/model-context/useAssistantToolUI.tsx
4
4
  import { useEffect } from "react";
5
- import { useToolUIsStore } from "../context/react/AssistantContext.js";
5
+ import { useAssistantApi } from "../context/react/AssistantApiContext.js";
6
6
  var useAssistantToolUI = (tool) => {
7
- const toolUIsStore = useToolUIsStore();
7
+ const api = useAssistantApi();
8
8
  useEffect(() => {
9
- if (!tool?.toolName || !tool?.render) return;
10
- return toolUIsStore.getState().setToolUI(tool.toolName, tool.render);
11
- }, [toolUIsStore, tool?.toolName, tool?.render]);
9
+ if (!tool?.toolName || !tool?.render) return void 0;
10
+ return api.toolUIs().setToolUI(tool.toolName, tool.render);
11
+ }, [api, tool?.toolName, tool?.render]);
12
12
  };
13
13
  export {
14
14
  useAssistantToolUI
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/model-context/useAssistantToolUI.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useToolUIsStore } from \"../context/react/AssistantContext\";\nimport type { ToolCallMessagePartComponent } from \"../types/MessagePartComponentTypes\";\n\nexport type AssistantToolUIProps<TArgs, TResult> = {\n toolName: string;\n render: ToolCallMessagePartComponent<TArgs, TResult>;\n};\n\nexport const useAssistantToolUI = (\n tool: AssistantToolUIProps<any, any> | null,\n) => {\n const toolUIsStore = useToolUIsStore();\n useEffect(() => {\n if (!tool?.toolName || !tool?.render) return;\n return toolUIsStore.getState().setToolUI(tool.toolName, tool.render);\n }, [toolUIsStore, tool?.toolName, tool?.render]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAQzB,IAAM,qBAAqB,CAChC,SACG;AACH,QAAM,eAAe,gBAAgB;AACrC,YAAU,MAAM;AACd,QAAI,CAAC,MAAM,YAAY,CAAC,MAAM,OAAQ;AACtC,WAAO,aAAa,SAAS,EAAE,UAAU,KAAK,UAAU,KAAK,MAAM;AAAA,EACrE,GAAG,CAAC,cAAc,MAAM,UAAU,MAAM,MAAM,CAAC;AACjD;","names":[]}
1
+ {"version":3,"sources":["../../src/model-context/useAssistantToolUI.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { useAssistantApi } from \"../context/react/AssistantApiContext\";\nimport type { ToolCallMessagePartComponent } from \"../types/MessagePartComponentTypes\";\n\nexport type AssistantToolUIProps<TArgs, TResult> = {\n toolName: string;\n render: ToolCallMessagePartComponent<TArgs, TResult>;\n};\n\nexport const useAssistantToolUI = (\n tool: AssistantToolUIProps<any, any> | null,\n) => {\n const api = useAssistantApi();\n useEffect(() => {\n if (!tool?.toolName || !tool?.render) return undefined;\n return api.toolUIs().setToolUI(tool.toolName, tool.render);\n }, [api, tool?.toolName, tool?.render]);\n};\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAQzB,IAAM,qBAAqB,CAChC,SACG;AACH,QAAM,MAAM,gBAAgB;AAC5B,YAAU,MAAM;AACd,QAAI,CAAC,MAAM,YAAY,CAAC,MAAM,OAAQ,QAAO;AAC7C,WAAO,IAAI,QAAQ,EAAE,UAAU,KAAK,UAAU,KAAK,MAAM;AAAA,EAC3D,GAAG,CAAC,KAAK,MAAM,UAAU,MAAM,MAAM,CAAC;AACxC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarCopy.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAWnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,yBAAyB,GAAI,sBAEhC;IAAE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,wBA0B9C,CAAC;AAEF,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,yBAAyB,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;;;qBAnDb,MAAM,GAAG,SAAS;qDAqEtC,CAAC"}
1
+ {"version":3,"file":"ActionBarCopy.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAMnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,yBAAyB,GAAI,sBAEhC;IAAE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,wBAyB9C,CAAC;AAEF,yBAAiB,sBAAsB,CAAC;IACtC,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,yBAAyB,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;;;qBAlDb,MAAM,GAAG,SAAS;qDAoEtC,CAAC"}
@@ -4,36 +4,31 @@
4
4
  import { forwardRef } from "react";
5
5
  import { composeEventHandlers } from "@radix-ui/primitive";
6
6
  import { Primitive } from "@radix-ui/react-primitive";
7
- import { useMessageUtils } from "../../context/index.js";
8
7
  import { useCallback } from "react";
9
- import {
10
- useMessage,
11
- useMessageRuntime
12
- } from "../../context/react/MessageContext.js";
13
- import { useComposerRuntime } from "../../context/index.js";
8
+ import { useAssistantState, useAssistantApi } from "../../context/index.js";
14
9
  import { jsx } from "react/jsx-runtime";
15
10
  var useActionBarPrimitiveCopy = ({
16
11
  copiedDuration = 3e3
17
12
  } = {}) => {
18
- const messageRuntime = useMessageRuntime();
19
- const composerRuntime = useComposerRuntime();
20
- const setIsCopied = useMessageUtils((s) => s.setIsCopied);
21
- const hasCopyableContent = useMessage((message) => {
22
- return (message.role !== "assistant" || message.status.type !== "running") && message.content.some((c) => c.type === "text" && c.text.length > 0);
13
+ const api = useAssistantApi();
14
+ const hasCopyableContent = useAssistantState(({ message }) => {
15
+ return (message.role !== "assistant" || message.status?.type !== "running") && message.parts.some((c) => c.type === "text" && c.text.length > 0);
23
16
  });
17
+ const isEditing = useAssistantState(({ composer }) => composer.isEditing);
18
+ const composerValue = useAssistantState(({ composer }) => composer.text);
24
19
  const callback = useCallback(() => {
25
- const { isEditing, text: composerValue } = composerRuntime.getState();
26
- const valueToCopy = isEditing ? composerValue : messageRuntime.unstable_getCopyText();
20
+ const valueToCopy = isEditing ? composerValue : api.message().getCopyText();
21
+ if (!valueToCopy) return;
27
22
  navigator.clipboard.writeText(valueToCopy).then(() => {
28
- setIsCopied(true);
29
- setTimeout(() => setIsCopied(false), copiedDuration);
23
+ api.message().setIsCopied(true);
24
+ setTimeout(() => api.message().setIsCopied(false), copiedDuration);
30
25
  });
31
- }, [messageRuntime, setIsCopied, composerRuntime, copiedDuration]);
26
+ }, [api, isEditing, composerValue, copiedDuration]);
32
27
  if (!hasCopyableContent) return null;
33
28
  return callback;
34
29
  };
35
30
  var ActionBarPrimitiveCopy = forwardRef(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {
36
- const isCopied = useMessageUtils((u) => u.isCopied);
31
+ const isCopied = useAssistantState(({ message }) => message.isCopied);
37
32
  const callback = useActionBarPrimitiveCopy({ copiedDuration });
38
33
  return /* @__PURE__ */ jsx(
39
34
  Primitive.button,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useMessageUtils } from \"../../context\";\nimport { useCallback } from \"react\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\nimport { useComposerRuntime } from \"../../context\";\n\n/**\n * Hook that provides copy functionality for action bar buttons.\n *\n * This hook returns a callback function that copies message content to the clipboard,\n * or null if copying is not available. It handles both regular message content and\n * composer text when in editing mode.\n *\n * @param options Configuration options\n * @param options.copiedDuration Duration in milliseconds to show the copied state\n * @returns A copy callback function, or null if copying is disabled\n *\n * @example\n * ```tsx\n * function CustomCopyButton() {\n * const copy = useActionBarPrimitiveCopy({ copiedDuration: 2000 });\n *\n * return (\n * <button onClick={copy} disabled={!copy}>\n * {copy ? \"Copy\" : \"Cannot Copy\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarPrimitiveCopy = ({\n copiedDuration = 3000,\n}: { copiedDuration?: number | undefined } = {}) => {\n const messageRuntime = useMessageRuntime();\n const composerRuntime = useComposerRuntime();\n const setIsCopied = useMessageUtils((s) => s.setIsCopied);\n const hasCopyableContent = useMessage((message) => {\n return (\n (message.role !== \"assistant\" || message.status.type !== \"running\") &&\n message.content.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n const callback = useCallback(() => {\n const { isEditing, text: composerValue } = composerRuntime.getState();\n\n const valueToCopy = isEditing\n ? composerValue\n : messageRuntime.unstable_getCopyText();\n\n navigator.clipboard.writeText(valueToCopy).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), copiedDuration);\n });\n }, [messageRuntime, setIsCopied, composerRuntime, copiedDuration]);\n\n if (!hasCopyableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveCopy {\n export type Element = HTMLButtonElement;\n /**\n * Props for the ActionBarPrimitive.Copy component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarPrimitiveCopy>;\n}\n\n/**\n * A button component that copies message content to the clipboard.\n *\n * This component automatically handles copying message text to the clipboard\n * and provides visual feedback through the data-copied attribute. It's disabled\n * when there's no copyable content available.\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Copy copiedDuration={2000}>\n * Copy Message\n * </ActionBarPrimitive.Copy>\n * ```\n */\nexport const ActionBarPrimitiveCopy = forwardRef<\n ActionBarPrimitiveCopy.Element,\n ActionBarPrimitiveCopy.Props\n>(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {\n const isCopied = useMessageUtils((u) => u.isCopied);\n const callback = useActionBarPrimitiveCopy({ copiedDuration });\n return (\n <Primitive.button\n type=\"button\"\n {...(isCopied ? { \"data-copied\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveCopy.displayName = \"ActionBarPrimitive.Copy\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,4BAA4B;AACrC,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,0BAA0B;AAsF/B;AA5DJ,IAAM,4BAA4B,CAAC;AAAA,EACjC,iBAAiB;AACnB,IAA6C,CAAC,MAAM;AAClD,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,kBAAkB,mBAAmB;AAC3C,QAAM,cAAc,gBAAgB,CAAC,MAAM,EAAE,WAAW;AACxD,QAAM,qBAAqB,WAAW,CAAC,YAAY;AACjD,YACG,QAAQ,SAAS,eAAe,QAAQ,OAAO,SAAS,cACzD,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC;AAAA,EAEtE,CAAC;AAED,QAAM,WAAW,YAAY,MAAM;AACjC,UAAM,EAAE,WAAW,MAAM,cAAc,IAAI,gBAAgB,SAAS;AAEpE,UAAM,cAAc,YAChB,gBACA,eAAe,qBAAqB;AAExC,cAAU,UAAU,UAAU,WAAW,EAAE,KAAK,MAAM;AACpD,kBAAY,IAAI;AAChB,iBAAW,MAAM,YAAY,KAAK,GAAG,cAAc;AAAA,IACrD,CAAC;AAAA,EACH,GAAG,CAAC,gBAAgB,aAAa,iBAAiB,cAAc,CAAC;AAEjE,MAAI,CAAC,mBAAoB,QAAO;AAChC,SAAO;AACT;AAyBO,IAAM,yBAAyB,WAGpC,CAAC,EAAE,gBAAgB,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnE,QAAM,WAAW,gBAAgB,CAAC,MAAM,EAAE,QAAQ;AAClD,QAAM,WAAW,0BAA0B,EAAE,eAAe,CAAC;AAC7D,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,WAAW,EAAE,eAAe,OAAO,IAAI,CAAC;AAAA,MAC5C,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,uBAAuB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarCopy.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\n/**\n * Hook that provides copy functionality for action bar buttons.\n *\n * This hook returns a callback function that copies message content to the clipboard,\n * or null if copying is not available. It handles both regular message content and\n * composer text when in editing mode.\n *\n * @param options Configuration options\n * @param options.copiedDuration Duration in milliseconds to show the copied state\n * @returns A copy callback function, or null if copying is disabled\n *\n * @example\n * ```tsx\n * function CustomCopyButton() {\n * const copy = useActionBarPrimitiveCopy({ copiedDuration: 2000 });\n *\n * return (\n * <button onClick={copy} disabled={!copy}>\n * {copy ? \"Copy\" : \"Cannot Copy\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarPrimitiveCopy = ({\n copiedDuration = 3000,\n}: { copiedDuration?: number | undefined } = {}) => {\n const api = useAssistantApi();\n const hasCopyableContent = useAssistantState(({ message }) => {\n return (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n const isEditing = useAssistantState(({ composer }) => composer.isEditing);\n const composerValue = useAssistantState(({ composer }) => composer.text);\n\n const callback = useCallback(() => {\n const valueToCopy = isEditing ? composerValue : api.message().getCopyText();\n\n if (!valueToCopy) return;\n\n navigator.clipboard.writeText(valueToCopy).then(() => {\n api.message().setIsCopied(true);\n setTimeout(() => api.message().setIsCopied(false), copiedDuration);\n });\n }, [api, isEditing, composerValue, copiedDuration]);\n\n if (!hasCopyableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveCopy {\n export type Element = HTMLButtonElement;\n /**\n * Props for the ActionBarPrimitive.Copy component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarPrimitiveCopy>;\n}\n\n/**\n * A button component that copies message content to the clipboard.\n *\n * This component automatically handles copying message text to the clipboard\n * and provides visual feedback through the data-copied attribute. It's disabled\n * when there's no copyable content available.\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Copy copiedDuration={2000}>\n * Copy Message\n * </ActionBarPrimitive.Copy>\n * ```\n */\nexport const ActionBarPrimitiveCopy = forwardRef<\n ActionBarPrimitiveCopy.Element,\n ActionBarPrimitiveCopy.Props\n>(({ copiedDuration, onClick, disabled, ...props }, forwardedRef) => {\n const isCopied = useAssistantState(({ message }) => message.isCopied);\n const callback = useActionBarPrimitiveCopy({ copiedDuration });\n return (\n <Primitive.button\n type=\"button\"\n {...(isCopied ? { \"data-copied\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveCopy.displayName = \"ActionBarPrimitive.Copy\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,4BAA4B;AACrC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AAqF/C;AA3DJ,IAAM,4BAA4B,CAAC;AAAA,EACjC,iBAAiB;AACnB,IAA6C,CAAC,MAAM;AAClD,QAAM,MAAM,gBAAgB;AAC5B,QAAM,qBAAqB,kBAAkB,CAAC,EAAE,QAAQ,MAAM;AAC5D,YACG,QAAQ,SAAS,eAAe,QAAQ,QAAQ,SAAS,cAC1D,QAAQ,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC;AAAA,EAEpE,CAAC;AAED,QAAM,YAAY,kBAAkB,CAAC,EAAE,SAAS,MAAM,SAAS,SAAS;AACxE,QAAM,gBAAgB,kBAAkB,CAAC,EAAE,SAAS,MAAM,SAAS,IAAI;AAEvE,QAAM,WAAW,YAAY,MAAM;AACjC,UAAM,cAAc,YAAY,gBAAgB,IAAI,QAAQ,EAAE,YAAY;AAE1E,QAAI,CAAC,YAAa;AAElB,cAAU,UAAU,UAAU,WAAW,EAAE,KAAK,MAAM;AACpD,UAAI,QAAQ,EAAE,YAAY,IAAI;AAC9B,iBAAW,MAAM,IAAI,QAAQ,EAAE,YAAY,KAAK,GAAG,cAAc;AAAA,IACnE,CAAC;AAAA,EACH,GAAG,CAAC,KAAK,WAAW,eAAe,cAAc,CAAC;AAElD,MAAI,CAAC,mBAAoB,QAAO;AAChC,SAAO;AACT;AAyBO,IAAM,yBAAyB,WAGpC,CAAC,EAAE,gBAAgB,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnE,QAAM,WAAW,kBAAkB,CAAC,EAAE,QAAQ,MAAM,QAAQ,QAAQ;AACpE,QAAM,WAAW,0BAA0B,EAAE,eAAe,CAAC;AAC7D,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,WAAW,EAAE,eAAe,OAAO,IAAI,CAAC;AAAA,MAC5C,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,uBAAuB,cAAc;","names":[]}
@@ -5,13 +5,13 @@ import {
5
5
  createActionButton
6
6
  } from "../../utils/createActionButton.js";
7
7
  import { useCallback } from "react";
8
- import { useEditComposer, useMessageRuntime } from "../../context/index.js";
8
+ import { useAssistantState, useAssistantApi } from "../../context/index.js";
9
9
  var useActionBarEdit = () => {
10
- const messageRuntime = useMessageRuntime();
11
- const disabled = useEditComposer((c) => c.isEditing);
10
+ const api = useAssistantApi();
11
+ const disabled = useAssistantState(({ composer }) => composer.isEditing);
12
12
  const callback = useCallback(() => {
13
- messageRuntime.composer.beginEdit();
14
- }, [messageRuntime]);
13
+ api.composer().beginEdit();
14
+ }, [api]);
15
15
  if (disabled) return null;
16
16
  return callback;
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarEdit.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useEditComposer, useMessageRuntime } from \"../../context\";\n\n/**\n * Hook that provides edit functionality for action bar buttons.\n *\n * This hook returns a callback function that starts editing the current message,\n * or null if editing is not available (e.g., already in editing mode).\n *\n * @returns An edit callback function, or null if editing is disabled\n *\n * @example\n * ```tsx\n * function CustomEditButton() {\n * const edit = useActionBarEdit();\n *\n * return (\n * <button onClick={edit} disabled={!edit}>\n * {edit ? \"Edit Message\" : \"Cannot Edit\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarEdit = () => {\n const messageRuntime = useMessageRuntime();\n const disabled = useEditComposer((c) => c.isEditing);\n\n const callback = useCallback(() => {\n messageRuntime.composer.beginEdit();\n }, [messageRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveEdit {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Edit component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarEdit>;\n}\n\n/**\n * A button component that starts editing the current message.\n *\n * This component automatically handles starting the edit mode for the current message\n * and is disabled when editing is not available (e.g., already in editing mode).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Edit>\n * Edit Message\n * </ActionBarPrimitive.Edit>\n * ```\n */\nexport const ActionBarPrimitiveEdit = createActionButton(\n \"ActionBarPrimitive.Edit\",\n useActionBarEdit,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB,yBAAyB;AAuBnD,IAAM,mBAAmB,MAAM;AAC7B,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,WAAW,gBAAgB,CAAC,MAAM,EAAE,SAAS;AAEnD,QAAM,WAAW,YAAY,MAAM;AACjC,mBAAe,SAAS,UAAU;AAAA,EACpC,GAAG,CAAC,cAAc,CAAC;AAEnB,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAwBO,IAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarEdit.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\n/**\n * Hook that provides edit functionality for action bar buttons.\n *\n * This hook returns a callback function that starts editing the current message,\n * or null if editing is not available (e.g., already in editing mode).\n *\n * @returns An edit callback function, or null if editing is disabled\n *\n * @example\n * ```tsx\n * function CustomEditButton() {\n * const edit = useActionBarEdit();\n *\n * return (\n * <button onClick={edit} disabled={!edit}>\n * {edit ? \"Edit Message\" : \"Cannot Edit\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarEdit = () => {\n const api = useAssistantApi();\n const disabled = useAssistantState(({ composer }) => composer.isEditing);\n\n const callback = useCallback(() => {\n api.composer().beginEdit();\n }, [api]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveEdit {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Edit component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarEdit>;\n}\n\n/**\n * A button component that starts editing the current message.\n *\n * This component automatically handles starting the edit mode for the current message\n * and is disabled when editing is not available (e.g., already in editing mode).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Edit>\n * Edit Message\n * </ActionBarPrimitive.Edit>\n * ```\n */\nexport const ActionBarPrimitiveEdit = createActionButton(\n \"ActionBarPrimitive.Edit\",\n useActionBarEdit,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AAuBnD,IAAM,mBAAmB,MAAM;AAC7B,QAAM,MAAM,gBAAgB;AAC5B,QAAM,WAAW,kBAAkB,CAAC,EAAE,SAAS,MAAM,SAAS,SAAS;AAEvE,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,SAAS,EAAE,UAAU;AAAA,EAC3B,GAAG,CAAC,GAAG,CAAC;AAER,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAwBO,IAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackNegative.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAOnE,QAAA,MAAM,4BAA4B,kBAQjC,CAAC;AAEF,yBAAiB,kCAAkC,CAAC;IAClD,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,4BAA4B,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,kCAAkC;;6DAoB7C,CAAC"}
1
+ {"version":3,"file":"ActionBarFeedbackNegative.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAMnE,QAAA,MAAM,4BAA4B,kBAQjC,CAAC;AAEF,yBAAiB,kCAAkC,CAAC;IAClD,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,4BAA4B,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,kCAAkC;;6DAoB7C,CAAC"}
@@ -3,21 +3,20 @@
3
3
  // src/primitives/actionBar/ActionBarFeedbackNegative.tsx
4
4
  import { forwardRef } from "react";
5
5
  import { composeEventHandlers } from "@radix-ui/primitive";
6
- import { useMessage } from "../../context/index.js";
7
6
  import { Primitive } from "@radix-ui/react-primitive";
8
7
  import { useCallback } from "react";
9
- import { useMessageRuntime } from "../../context/index.js";
8
+ import { useAssistantState, useAssistantApi } from "../../context/index.js";
10
9
  import { jsx } from "react/jsx-runtime";
11
10
  var useActionBarFeedbackNegative = () => {
12
- const messageRuntime = useMessageRuntime();
11
+ const api = useAssistantApi();
13
12
  const callback = useCallback(() => {
14
- messageRuntime.submitFeedback({ type: "negative" });
15
- }, [messageRuntime]);
13
+ api.message().submitFeedback({ type: "negative" });
14
+ }, [api]);
16
15
  return callback;
17
16
  };
18
17
  var ActionBarPrimitiveFeedbackNegative = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
19
- const isSubmitted = useMessage(
20
- (u) => u.submittedFeedback?.type === "negative"
18
+ const isSubmitted = useAssistantState(
19
+ (s) => s.message.submittedFeedback?.type === "negative"
21
20
  );
22
21
  const callback = useActionBarFeedbackNegative();
23
22
  return /* @__PURE__ */ jsx(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useMessage } from \"../../context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallback } from \"react\";\nimport { useMessageRuntime } from \"../../context\";\n\nconst useActionBarFeedbackNegative = () => {\n const messageRuntime = useMessageRuntime();\n\n const callback = useCallback(() => {\n messageRuntime.submitFeedback({ type: \"negative\" });\n }, [messageRuntime]);\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveFeedbackNegative {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackNegative>;\n}\n\nexport const ActionBarPrimitiveFeedbackNegative = forwardRef<\n ActionBarPrimitiveFeedbackNegative.Element,\n ActionBarPrimitiveFeedbackNegative.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useMessage(\n (u) => u.submittedFeedback?.type === \"negative\",\n );\n const callback = useActionBarFeedbackNegative();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackNegative.displayName =\n \"ActionBarPrimitive.FeedbackNegative\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AA0B9B;AAxBJ,IAAM,+BAA+B,MAAM;AACzC,QAAM,iBAAiB,kBAAkB;AAEzC,QAAM,WAAW,YAAY,MAAM;AACjC,mBAAe,eAAe,EAAE,MAAM,WAAW,CAAC;AAAA,EACpD,GAAG,CAAC,cAAc,CAAC;AAEnB,SAAO;AACT;AAOO,IAAM,qCAAqC,WAGhD,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,cAAc;AAAA,IAClB,CAAC,MAAM,EAAE,mBAAmB,SAAS;AAAA,EACvC;AACA,QAAM,WAAW,6BAA6B;AAC9C,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;AAAA,MAClD,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,mCAAmC,cACjC;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\nconst useActionBarFeedbackNegative = () => {\n const api = useAssistantApi();\n\n const callback = useCallback(() => {\n api.message().submitFeedback({ type: \"negative\" });\n }, [api]);\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveFeedbackNegative {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackNegative>;\n}\n\nexport const ActionBarPrimitiveFeedbackNegative = forwardRef<\n ActionBarPrimitiveFeedbackNegative.Element,\n ActionBarPrimitiveFeedbackNegative.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAssistantState(\n (s) => s.message.submittedFeedback?.type === \"negative\",\n );\n const callback = useActionBarFeedbackNegative();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackNegative.displayName =\n \"ActionBarPrimitive.FeedbackNegative\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,4BAA4B;AACrC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AA0B/C;AAxBJ,IAAM,+BAA+B,MAAM;AACzC,QAAM,MAAM,gBAAgB;AAE5B,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,QAAQ,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAAA,EACnD,GAAG,CAAC,GAAG,CAAC;AAER,SAAO;AACT;AAOO,IAAM,qCAAqC,WAGhD,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,cAAc;AAAA,IAClB,CAAC,MAAM,EAAE,QAAQ,mBAAmB,SAAS;AAAA,EAC/C;AACA,QAAM,WAAW,6BAA6B;AAC9C,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;AAAA,MAClD,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,mCAAmC,cACjC;","names":[]}
@@ -3,19 +3,19 @@
3
3
  // src/primitives/actionBar/ActionBarFeedbackPositive.tsx
4
4
  import { forwardRef, useCallback } from "react";
5
5
  import { composeEventHandlers } from "@radix-ui/primitive";
6
- import { useMessage, useMessageRuntime } from "../../context/index.js";
6
+ import { useAssistantState, useAssistantApi } from "../../context/index.js";
7
7
  import { Primitive } from "@radix-ui/react-primitive";
8
8
  import { jsx } from "react/jsx-runtime";
9
9
  var useActionBarFeedbackPositive = () => {
10
- const messageRuntime = useMessageRuntime();
10
+ const api = useAssistantApi();
11
11
  const callback = useCallback(() => {
12
- messageRuntime.submitFeedback({ type: "positive" });
13
- }, [messageRuntime]);
12
+ api.message().submitFeedback({ type: "positive" });
13
+ }, [api]);
14
14
  return callback;
15
15
  };
16
16
  var ActionBarPrimitiveFeedbackPositive = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
17
- const isSubmitted = useMessage(
18
- (u) => u.submittedFeedback?.type === "positive"
17
+ const isSubmitted = useAssistantState(
18
+ (s) => s.message.submittedFeedback?.type === "positive"
19
19
  );
20
20
  const callback = useActionBarFeedbackPositive();
21
21
  return /* @__PURE__ */ jsx(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useMessage, useMessageRuntime } from \"../../context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\n\nconst useActionBarFeedbackPositive = () => {\n const messageRuntime = useMessageRuntime();\n\n const callback = useCallback(() => {\n messageRuntime.submitFeedback({ type: \"positive\" });\n }, [messageRuntime]);\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveFeedbackPositive {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackPositive>;\n}\n\nexport const ActionBarPrimitiveFeedbackPositive = forwardRef<\n ActionBarPrimitiveFeedbackPositive.Element,\n ActionBarPrimitiveFeedbackPositive.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useMessage(\n (u) => u.submittedFeedback?.type === \"positive\",\n );\n const callback = useActionBarFeedbackPositive();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackPositive.displayName =\n \"ActionBarPrimitive.FeedbackPositive\";\n"],"mappings":";;;AAEA,SAAS,YAAY,mBAAmB;AAExC,SAAS,4BAA4B;AACrC,SAAS,YAAY,yBAAyB;AAC9C,SAAS,iBAAiB;AA0BtB;AAxBJ,IAAM,+BAA+B,MAAM;AACzC,QAAM,iBAAiB,kBAAkB;AAEzC,QAAM,WAAW,YAAY,MAAM;AACjC,mBAAe,eAAe,EAAE,MAAM,WAAW,CAAC;AAAA,EACpD,GAAG,CAAC,cAAc,CAAC;AAEnB,SAAO;AACT;AAOO,IAAM,qCAAqC,WAGhD,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,cAAc;AAAA,IAClB,CAAC,MAAM,EAAE,mBAAmB,SAAS;AAAA,EACvC;AACA,QAAM,WAAW,6BAA6B;AAC9C,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;AAAA,MAClD,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,mCAAmC,cACjC;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\n\nconst useActionBarFeedbackPositive = () => {\n const api = useAssistantApi();\n\n const callback = useCallback(() => {\n api.message().submitFeedback({ type: \"positive\" });\n }, [api]);\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveFeedbackPositive {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackPositive>;\n}\n\nexport const ActionBarPrimitiveFeedbackPositive = forwardRef<\n ActionBarPrimitiveFeedbackPositive.Element,\n ActionBarPrimitiveFeedbackPositive.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAssistantState(\n (s) => s.message.submittedFeedback?.type === \"positive\",\n );\n const callback = useActionBarFeedbackPositive();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackPositive.displayName =\n \"ActionBarPrimitive.FeedbackPositive\";\n"],"mappings":";;;AAEA,SAAS,YAAY,mBAAmB;AAExC,SAAS,4BAA4B;AACrC,SAAS,mBAAmB,uBAAuB;AACnD,SAAS,iBAAiB;AA0BtB;AAxBJ,IAAM,+BAA+B,MAAM;AACzC,QAAM,MAAM,gBAAgB;AAE5B,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,QAAQ,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAAA,EACnD,GAAG,CAAC,GAAG,CAAC;AAER,SAAO;AACT;AAOO,IAAM,qCAAqC,WAGhD,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACnD,QAAM,cAAc;AAAA,IAClB,CAAC,MAAM,EAAE,QAAQ,mBAAmB,SAAS;AAAA,EAC/C;AACA,QAAM,WAAW,6BAA6B;AAC9C,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACJ,GAAI,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;AAAA,MAClD,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,YAAY,CAAC;AAAA,MACvB,SAAS,qBAAqB,SAAS,MAAM;AAC3C,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,mCAAmC,cACjC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarReload.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarReload.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,gCAAgC,CAAC;AAMxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,kBAAkB,2BAevB,CAAC;AAEF,yBAAiB,wBAAwB,CAAC;IACxC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,kBAAkB,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;;6DAGpC,CAAC"}
1
+ {"version":3,"file":"ActionBarReload.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarReload.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,gCAAgC,CAAC;AAIxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,kBAAkB,2BAgBvB,CAAC;AAEF,yBAAiB,wBAAwB,CAAC;IACxC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,kBAAkB,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;;6DAGpC,CAAC"}
@@ -5,19 +5,15 @@ import {
5
5
  createActionButton
6
6
  } from "../../utils/createActionButton.js";
7
7
  import { useCallback } from "react";
8
- import { useMessageRuntime } from "../../context/index.js";
9
- import { useThreadRuntime } from "../../context/react/ThreadContext.js";
10
- import { useCombinedStore } from "../../utils/combined/useCombinedStore.js";
8
+ import { useAssistantState, useAssistantApi } from "../../context/index.js";
11
9
  var useActionBarReload = () => {
12
- const messageRuntime = useMessageRuntime();
13
- const threadRuntime = useThreadRuntime();
14
- const disabled = useCombinedStore(
15
- [threadRuntime, messageRuntime],
16
- (t, m) => t.isRunning || t.isDisabled || m.role !== "assistant"
10
+ const api = useAssistantApi();
11
+ const disabled = useAssistantState(
12
+ (s) => s.thread.isRunning || s.thread.isDisabled || s.message.role !== "assistant"
17
13
  );
18
14
  const callback = useCallback(() => {
19
- messageRuntime.reload();
20
- }, [messageRuntime]);
15
+ api.message().reload();
16
+ }, [api]);
21
17
  if (disabled) return null;
22
18
  return callback;
23
19
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarReload.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useMessageRuntime } from \"../../context\";\nimport { useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useCombinedStore } from \"../../utils/combined/useCombinedStore\";\n\n/**\n * Hook that provides reload functionality for action bar buttons.\n *\n * This hook returns a callback function that reloads/regenerates the current assistant message,\n * or null if reloading is not available (e.g., thread is running, disabled, or message is not from assistant).\n *\n * @returns A reload callback function, or null if reloading is disabled\n *\n * @example\n * ```tsx\n * function CustomReloadButton() {\n * const reload = useActionBarReload();\n *\n * return (\n * <button onClick={reload} disabled={!reload}>\n * {reload ? \"Reload Message\" : \"Cannot Reload\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarReload = () => {\n const messageRuntime = useMessageRuntime();\n const threadRuntime = useThreadRuntime();\n\n const disabled = useCombinedStore(\n [threadRuntime, messageRuntime],\n (t, m) => t.isRunning || t.isDisabled || m.role !== \"assistant\",\n );\n\n const callback = useCallback(() => {\n messageRuntime.reload();\n }, [messageRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveReload {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Reload component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarReload>;\n}\n\n/**\n * A button component that reloads/regenerates the current assistant message.\n *\n * This component automatically handles reloading the current assistant message\n * and is disabled when reloading is not available (e.g., thread is running,\n * disabled, or message is not from assistant).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Reload>\n * Reload Message\n * </ActionBarPrimitive.Reload>\n * ```\n */\nexport const ActionBarPrimitiveReload = createActionButton(\n \"ActionBarPrimitive.Reload\",\n useActionBarReload,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAuBjC,IAAM,qBAAqB,MAAM;AAC/B,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,gBAAgB,iBAAiB;AAEvC,QAAM,WAAW;AAAA,IACf,CAAC,eAAe,cAAc;AAAA,IAC9B,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS;AAAA,EACtD;AAEA,QAAM,WAAW,YAAY,MAAM;AACjC,mBAAe,OAAO;AAAA,EACxB,GAAG,CAAC,cAAc,CAAC;AAEnB,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAyBO,IAAM,2BAA2B;AAAA,EACtC;AAAA,EACA;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarReload.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\n/**\n * Hook that provides reload functionality for action bar buttons.\n *\n * This hook returns a callback function that reloads/regenerates the current assistant message,\n * or null if reloading is not available (e.g., thread is running, disabled, or message is not from assistant).\n *\n * @returns A reload callback function, or null if reloading is disabled\n *\n * @example\n * ```tsx\n * function CustomReloadButton() {\n * const reload = useActionBarReload();\n *\n * return (\n * <button onClick={reload} disabled={!reload}>\n * {reload ? \"Reload Message\" : \"Cannot Reload\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarReload = () => {\n const api = useAssistantApi();\n\n const disabled = useAssistantState(\n (s) =>\n s.thread.isRunning ||\n s.thread.isDisabled ||\n s.message.role !== \"assistant\",\n );\n\n const callback = useCallback(() => {\n api.message().reload();\n }, [api]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveReload {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Reload component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarReload>;\n}\n\n/**\n * A button component that reloads/regenerates the current assistant message.\n *\n * This component automatically handles reloading the current assistant message\n * and is disabled when reloading is not available (e.g., thread is running,\n * disabled, or message is not from assistant).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Reload>\n * Reload Message\n * </ActionBarPrimitive.Reload>\n * ```\n */\nexport const ActionBarPrimitiveReload = createActionButton(\n \"ActionBarPrimitive.Reload\",\n useActionBarReload,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AAuBnD,IAAM,qBAAqB,MAAM;AAC/B,QAAM,MAAM,gBAAgB;AAE5B,QAAM,WAAW;AAAA,IACf,CAAC,MACC,EAAE,OAAO,aACT,EAAE,OAAO,cACT,EAAE,QAAQ,SAAS;AAAA,EACvB;AAEA,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,QAAQ,EAAE,OAAO;AAAA,EACvB,GAAG,CAAC,GAAG,CAAC;AAER,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAyBO,IAAM,2BAA2B;AAAA,EACtC;AAAA,EACA;AACF;","names":[]}
@@ -2,17 +2,17 @@
2
2
 
3
3
  // src/primitives/actionBar/ActionBarSpeak.tsx
4
4
  import { useCallback } from "react";
5
- import { useMessage, useMessageRuntime } from "../../context/index.js";
5
+ import { useAssistantState, useAssistantApi } from "../../context/index.js";
6
6
  import {
7
7
  createActionButton
8
8
  } from "../../utils/createActionButton.js";
9
9
  var useActionBarSpeak = () => {
10
- const messageRuntime = useMessageRuntime();
10
+ const api = useAssistantApi();
11
11
  const callback = useCallback(async () => {
12
- messageRuntime.speak();
13
- }, [messageRuntime]);
14
- const hasSpeakableContent = useMessage((m) => {
15
- return (m.role !== "assistant" || m.status.type !== "running") && m.content.some((c) => c.type === "text" && c.text.length > 0);
12
+ api.message().speak();
13
+ }, [api]);
14
+ const hasSpeakableContent = useAssistantState(({ message }) => {
15
+ return (message.role !== "assistant" || message.status?.type !== "running") && message.parts.some((c) => c.type === "text" && c.text.length > 0);
16
16
  });
17
17
  if (!hasSpeakableContent) return null;
18
18
  return callback;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarSpeak.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback } from \"react\";\nimport { useMessage, useMessageRuntime } from \"../../context\";\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\n\nconst useActionBarSpeak = () => {\n const messageRuntime = useMessageRuntime();\n const callback = useCallback(async () => {\n messageRuntime.speak();\n }, [messageRuntime]);\n\n const hasSpeakableContent = useMessage((m) => {\n return (\n (m.role !== \"assistant\" || m.status.type !== \"running\") &&\n m.content.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n if (!hasSpeakableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveSpeak {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarSpeak>;\n}\n\nexport const ActionBarPrimitiveSpeak = createActionButton(\n \"ActionBarPrimitive.Speak\",\n useActionBarSpeak,\n);\n"],"mappings":";;;AAEA,SAAS,mBAAmB;AAC5B,SAAS,YAAY,yBAAyB;AAC9C;AAAA,EAGE;AAAA,OACK;AAEP,IAAM,oBAAoB,MAAM;AAC9B,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,WAAW,YAAY,YAAY;AACvC,mBAAe,MAAM;AAAA,EACvB,GAAG,CAAC,cAAc,CAAC;AAEnB,QAAM,sBAAsB,WAAW,CAAC,MAAM;AAC5C,YACG,EAAE,SAAS,eAAe,EAAE,OAAO,SAAS,cAC7C,EAAE,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC;AAAA,EAEhE,CAAC;AAED,MAAI,CAAC,oBAAqB,QAAO;AACjC,SAAO;AACT;AAOO,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarSpeak.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\n\nconst useActionBarSpeak = () => {\n const api = useAssistantApi();\n const callback = useCallback(async () => {\n api.message().speak();\n }, [api]);\n\n const hasSpeakableContent = useAssistantState(({ message }) => {\n return (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n if (!hasSpeakableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveSpeak {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarSpeak>;\n}\n\nexport const ActionBarPrimitiveSpeak = createActionButton(\n \"ActionBarPrimitive.Speak\",\n useActionBarSpeak,\n);\n"],"mappings":";;;AAEA,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AACnD;AAAA,EAGE;AAAA,OACK;AAEP,IAAM,oBAAoB,MAAM;AAC9B,QAAM,MAAM,gBAAgB;AAC5B,QAAM,WAAW,YAAY,YAAY;AACvC,QAAI,QAAQ,EAAE,MAAM;AAAA,EACtB,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,sBAAsB,kBAAkB,CAAC,EAAE,QAAQ,MAAM;AAC7D,YACG,QAAQ,SAAS,eAAe,QAAQ,QAAQ,SAAS,cAC1D,QAAQ,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC;AAAA,EAEpE,CAAC;AAED,MAAI,CAAC,oBAAqB,QAAO;AACjC,SAAO;AACT;AAOO,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarStopSpeaking.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAUnE,QAAA,MAAM,wBAAwB,2BAW7B,CAAC;AAEF,yBAAiB,8BAA8B,CAAC;IAC9C,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,8BAA8B;;6DAyBzC,CAAC"}
1
+ {"version":3,"file":"ActionBarStopSpeaking.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAOnE,QAAA,MAAM,wBAAwB,2BAW7B,CAAC;AAEF,yBAAiB,8BAA8B,CAAC;IAC9C,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,8BAA8B;;6DAyBzC,CAAC"}
@@ -6,17 +6,14 @@ import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
6
6
  import { Primitive } from "@radix-ui/react-primitive";
7
7
  import { composeEventHandlers } from "@radix-ui/primitive";
8
8
  import { useCallback } from "react";
9
- import {
10
- useMessage,
11
- useMessageRuntime
12
- } from "../../context/react/MessageContext.js";
9
+ import { useAssistantState, useAssistantApi } from "../../context/index.js";
13
10
  import { jsx } from "react/jsx-runtime";
14
11
  var useActionBarStopSpeaking = () => {
15
- const messageRuntime = useMessageRuntime();
16
- const isSpeaking = useMessage((u) => u.speech != null);
12
+ const api = useAssistantApi();
13
+ const isSpeaking = useAssistantState(({ message }) => message.speech != null);
17
14
  const callback = useCallback(() => {
18
- messageRuntime.stopSpeaking();
19
- }, [messageRuntime]);
15
+ api.message().stopSpeaking();
16
+ }, [api]);
20
17
  if (!isSpeaking) return null;
21
18
  return callback;
22
19
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useCallback } from \"react\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\n\nconst useActionBarStopSpeaking = () => {\n const messageRuntime = useMessageRuntime();\n const isSpeaking = useMessage((u) => u.speech != null);\n\n const callback = useCallback(() => {\n messageRuntime.stopSpeaking();\n }, [messageRuntime]);\n\n if (!isSpeaking) return null;\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveStopSpeaking {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarStopSpeaking>;\n}\n\nexport const ActionBarPrimitiveStopSpeaking = forwardRef<\n ActionBarPrimitiveStopSpeaking.Element,\n ActionBarPrimitiveStopSpeaking.Props\n>((props, ref) => {\n const callback = useActionBarStopSpeaking();\n\n // TODO this stops working if the user is not hovering over an older message\n useEscapeKeydown((e) => {\n if (callback) {\n e.preventDefault();\n callback();\n }\n });\n\n return (\n <Primitive.button\n type=\"button\"\n disabled={!callback}\n {...props}\n ref={ref}\n onClick={composeEventHandlers(props.onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveStopSpeaking.displayName = \"ActionBarPrimitive.StopSpeaking\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAmCH;AAjCJ,IAAM,2BAA2B,MAAM;AACrC,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,aAAa,WAAW,CAAC,MAAM,EAAE,UAAU,IAAI;AAErD,QAAM,WAAW,YAAY,MAAM;AACjC,mBAAe,aAAa;AAAA,EAC9B,GAAG,CAAC,cAAc,CAAC;AAEnB,MAAI,CAAC,WAAY,QAAO;AAExB,SAAO;AACT;AAOO,IAAM,iCAAiC,WAG5C,CAAC,OAAO,QAAQ;AAChB,QAAM,WAAW,yBAAyB;AAG1C,mBAAiB,CAAC,MAAM;AACtB,QAAI,UAAU;AACZ,QAAE,eAAe;AACjB,eAAS;AAAA,IACX;AAAA,EACF,CAAC;AAED,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACL,UAAU,CAAC;AAAA,MACV,GAAG;AAAA,MACJ;AAAA,MACA,SAAS,qBAAqB,MAAM,SAAS,MAAM;AACjD,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,+BAA+B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/primitives/actionBar/ActionBarStopSpeaking.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useCallback } from \"react\";\nimport { useAssistantState, useAssistantApi } from \"../../context\";\n\nconst useActionBarStopSpeaking = () => {\n const api = useAssistantApi();\n const isSpeaking = useAssistantState(({ message }) => message.speech != null);\n\n const callback = useCallback(() => {\n api.message().stopSpeaking();\n }, [api]);\n\n if (!isSpeaking) return null;\n\n return callback;\n};\n\nexport namespace ActionBarPrimitiveStopSpeaking {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarStopSpeaking>;\n}\n\nexport const ActionBarPrimitiveStopSpeaking = forwardRef<\n ActionBarPrimitiveStopSpeaking.Element,\n ActionBarPrimitiveStopSpeaking.Props\n>((props, ref) => {\n const callback = useActionBarStopSpeaking();\n\n // TODO this stops working if the user is not hovering over an older message\n useEscapeKeydown((e) => {\n if (callback) {\n e.preventDefault();\n callback();\n }\n });\n\n return (\n <Primitive.button\n type=\"button\"\n disabled={!callback}\n {...props}\n ref={ref}\n onClick={composeEventHandlers(props.onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveStopSpeaking.displayName = \"ActionBarPrimitive.StopSpeaking\";\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAE3B,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB,uBAAuB;AAmC/C;AAjCJ,IAAM,2BAA2B,MAAM;AACrC,QAAM,MAAM,gBAAgB;AAC5B,QAAM,aAAa,kBAAkB,CAAC,EAAE,QAAQ,MAAM,QAAQ,UAAU,IAAI;AAE5E,QAAM,WAAW,YAAY,MAAM;AACjC,QAAI,QAAQ,EAAE,aAAa;AAAA,EAC7B,GAAG,CAAC,GAAG,CAAC;AAER,MAAI,CAAC,WAAY,QAAO;AAExB,SAAO;AACT;AAOO,IAAM,iCAAiC,WAG5C,CAAC,OAAO,QAAQ;AAChB,QAAM,WAAW,yBAAyB;AAG1C,mBAAiB,CAAC,MAAM;AACtB,QAAI,UAAU;AACZ,QAAE,eAAe;AACjB,eAAS;AAAA,IACX;AAAA,EACF,CAAC;AAED,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACL,UAAU,CAAC;AAAA,MACV,GAAG;AAAA,MACJ;AAAA,MACA,SAAS,qBAAqB,MAAM,SAAS,MAAM;AACjD,mBAAW;AAAA,MACb,CAAC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,+BAA+B,cAAc;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useActionBarFloatStatus.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/useActionBarFloatStatus.tsx"],"names":[],"mappings":"AASA,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,aAAa,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;CAClE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,+CAIrC,4BAA4B,uBA6B9B,CAAC"}
1
+ {"version":3,"file":"useActionBarFloatStatus.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/useActionBarFloatStatus.tsx"],"names":[],"mappings":"AAIA,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,aAAa,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;CAClE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,+CAIrC,4BAA4B,uBAsB9B,CAAC"}