@assistant-ui/react 0.12.11 → 0.12.12

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 (352) hide show
  1. package/README.md +68 -58
  2. package/dist/client/ExternalThread.d.ts.map +1 -1
  3. package/dist/client/ExternalThread.js +25 -13
  4. package/dist/client/ExternalThread.js.map +1 -1
  5. package/dist/client/InMemoryThreadList.d.ts.map +1 -1
  6. package/dist/client/InMemoryThreadList.js +1 -2
  7. package/dist/client/InMemoryThreadList.js.map +1 -1
  8. package/dist/client/index.d.ts +1 -2
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js +2 -2
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/context/providers/AttachmentByIndexProvider.d.ts +1 -7
  13. package/dist/context/providers/AttachmentByIndexProvider.d.ts.map +1 -1
  14. package/dist/context/providers/AttachmentByIndexProvider.js +1 -22
  15. package/dist/context/providers/AttachmentByIndexProvider.js.map +1 -1
  16. package/dist/context/providers/ChainOfThoughtByIndicesProvider.d.ts +1 -5
  17. package/dist/context/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -1
  18. package/dist/context/providers/ChainOfThoughtByIndicesProvider.js +1 -19
  19. package/dist/context/providers/ChainOfThoughtByIndicesProvider.js.map +1 -1
  20. package/dist/context/providers/ChainOfThoughtPartByIndexProvider.d.ts +1 -4
  21. package/dist/context/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -1
  22. package/dist/context/providers/ChainOfThoughtPartByIndexProvider.js +1 -12
  23. package/dist/context/providers/ChainOfThoughtPartByIndexProvider.js.map +1 -1
  24. package/dist/context/providers/MessageByIndexProvider.d.ts +1 -4
  25. package/dist/context/providers/MessageByIndexProvider.d.ts.map +1 -1
  26. package/dist/context/providers/MessageByIndexProvider.js +1 -17
  27. package/dist/context/providers/MessageByIndexProvider.js.map +1 -1
  28. package/dist/context/providers/PartByIndexProvider.d.ts +1 -4
  29. package/dist/context/providers/PartByIndexProvider.d.ts.map +1 -1
  30. package/dist/context/providers/PartByIndexProvider.js +1 -12
  31. package/dist/context/providers/PartByIndexProvider.js.map +1 -1
  32. package/dist/context/providers/SuggestionByIndexProvider.d.ts +1 -5
  33. package/dist/context/providers/SuggestionByIndexProvider.d.ts.map +1 -1
  34. package/dist/context/providers/SuggestionByIndexProvider.js +1 -12
  35. package/dist/context/providers/SuggestionByIndexProvider.js.map +1 -1
  36. package/dist/context/providers/TextMessagePartProvider.d.ts +1 -5
  37. package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
  38. package/dist/context/providers/TextMessagePartProvider.js +1 -25
  39. package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
  40. package/dist/context/providers/ThreadListItemProvider.d.ts +1 -9
  41. package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -1
  42. package/dist/context/providers/ThreadListItemProvider.js +1 -19
  43. package/dist/context/providers/ThreadListItemProvider.js.map +1 -1
  44. package/dist/context/providers/index.d.ts +1 -0
  45. package/dist/context/providers/index.d.ts.map +1 -1
  46. package/dist/context/providers/index.js +1 -0
  47. package/dist/context/providers/index.js.map +1 -1
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
  53. package/dist/legacy-runtime/AssistantRuntimeProvider.js +8 -9
  54. package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
  55. package/dist/legacy-runtime/RuntimeAdapter.d.ts +1 -2
  56. package/dist/legacy-runtime/RuntimeAdapter.d.ts.map +1 -1
  57. package/dist/legacy-runtime/RuntimeAdapter.js +1 -48
  58. package/dist/legacy-runtime/RuntimeAdapter.js.map +1 -1
  59. package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +280 -112
  60. package/dist/legacy-runtime/hooks/AttachmentContext.d.ts.map +1 -1
  61. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.js +1 -1
  62. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.js.map +1 -1
  63. package/dist/legacy-runtime/runtime-cores/assistant-transport/index.d.ts +1 -1
  64. package/dist/legacy-runtime/runtime-cores/assistant-transport/index.d.ts.map +1 -1
  65. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +22 -0
  66. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -1
  67. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.js.map +1 -1
  68. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
  69. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +17 -13
  70. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
  71. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts.map +1 -1
  72. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js +8 -6
  73. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js.map +1 -1
  74. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.d.ts +1 -1
  75. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.d.ts.map +1 -1
  76. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.js +1 -1
  77. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.js.map +1 -1
  78. package/dist/legacy-runtime/runtime-cores/external-store/index.d.ts +1 -1
  79. package/dist/legacy-runtime/runtime-cores/external-store/index.d.ts.map +1 -1
  80. package/dist/legacy-runtime/runtime-cores/external-store/index.js +1 -1
  81. package/dist/legacy-runtime/runtime-cores/external-store/index.js.map +1 -1
  82. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  83. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.js +14 -4
  84. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  85. package/dist/model-context/index.d.ts +4 -13
  86. package/dist/model-context/index.d.ts.map +1 -1
  87. package/dist/model-context/index.js +6 -11
  88. package/dist/model-context/index.js.map +1 -1
  89. package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts +1 -1
  90. package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts.map +1 -1
  91. package/dist/primitives/actionBarMore/ActionBarMoreContent.js +1 -1
  92. package/dist/primitives/actionBarMore/ActionBarMoreContent.js.map +1 -1
  93. package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts +1 -1
  94. package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts.map +1 -1
  95. package/dist/primitives/actionBarMore/ActionBarMoreItem.js +1 -1
  96. package/dist/primitives/actionBarMore/ActionBarMoreItem.js.map +1 -1
  97. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts +1 -1
  98. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -1
  99. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js +1 -1
  100. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -1
  101. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts +1 -1
  102. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts.map +1 -1
  103. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js +1 -1
  104. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js.map +1 -1
  105. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts +1 -1
  106. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts.map +1 -1
  107. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js +1 -1
  108. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js.map +1 -1
  109. package/dist/primitives/actionBarMore/scope.d.ts +1 -1
  110. package/dist/primitives/actionBarMore/scope.d.ts.map +1 -1
  111. package/dist/primitives/actionBarMore/scope.js +1 -1
  112. package/dist/primitives/actionBarMore/scope.js.map +1 -1
  113. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +1 -1
  114. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
  115. package/dist/primitives/assistantModal/AssistantModalAnchor.js +1 -1
  116. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  117. package/dist/primitives/assistantModal/AssistantModalContent.d.ts +1 -1
  118. package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
  119. package/dist/primitives/assistantModal/AssistantModalContent.js +1 -1
  120. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  121. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +1 -1
  122. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
  123. package/dist/primitives/assistantModal/AssistantModalRoot.js +1 -1
  124. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  125. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +1 -1
  126. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
  127. package/dist/primitives/assistantModal/AssistantModalTrigger.js +1 -1
  128. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  129. package/dist/primitives/assistantModal/scope.d.ts +1 -1
  130. package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
  131. package/dist/primitives/assistantModal/scope.js +1 -1
  132. package/dist/primitives/assistantModal/scope.js.map +1 -1
  133. package/dist/primitives/chainOfThought/ChainOfThoughtParts.d.ts +1 -38
  134. package/dist/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -1
  135. package/dist/primitives/chainOfThought/ChainOfThoughtParts.js +1 -38
  136. package/dist/primitives/chainOfThought/ChainOfThoughtParts.js.map +1 -1
  137. package/dist/primitives/composer/ComposerAttachmentDropzone.js +2 -2
  138. package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
  139. package/dist/primitives/composer/ComposerAttachments.d.ts +1 -36
  140. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  141. package/dist/primitives/composer/ComposerAttachments.js +1 -61
  142. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  143. package/dist/primitives/composer/ComposerIf.d.ts +2 -17
  144. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -1
  145. package/dist/primitives/composer/ComposerIf.js +1 -23
  146. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  147. package/dist/primitives/composer/ComposerInput.js +2 -2
  148. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  149. package/dist/primitives/message/MessageAttachments.d.ts +1 -36
  150. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
  151. package/dist/primitives/message/MessageAttachments.js +1 -65
  152. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  153. package/dist/primitives/message/MessageIf.d.ts +1 -1
  154. package/dist/primitives/message/MessageIf.js +1 -1
  155. package/dist/primitives/message/MessageParts.d.ts +5 -219
  156. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  157. package/dist/primitives/message/MessageParts.js +29 -270
  158. package/dist/primitives/message/MessageParts.js.map +1 -1
  159. package/dist/primitives/message/MessagePartsGrouped.d.ts +1 -1
  160. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  161. package/dist/primitives/message/MessagePartsGrouped.js +2 -2
  162. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  163. package/dist/primitives/thread/ThreadEmpty.d.ts +3 -0
  164. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
  165. package/dist/primitives/thread/ThreadEmpty.js +4 -1
  166. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  167. package/dist/primitives/thread/ThreadIf.d.ts +1 -1
  168. package/dist/primitives/thread/ThreadIf.js +1 -1
  169. package/dist/primitives/thread/ThreadMessages.d.ts +1 -94
  170. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  171. package/dist/primitives/thread/ThreadMessages.js +1 -109
  172. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  173. package/dist/primitives/thread/ThreadSuggestions.d.ts +1 -52
  174. package/dist/primitives/thread/ThreadSuggestions.d.ts.map +1 -1
  175. package/dist/primitives/thread/ThreadSuggestions.js +1 -56
  176. package/dist/primitives/thread/ThreadSuggestions.js.map +1 -1
  177. package/dist/primitives/thread/ThreadViewportSlack.js +2 -2
  178. package/dist/primitives/thread/ThreadViewportSlack.js.map +1 -1
  179. package/dist/primitives/threadList/ThreadListItems.d.ts +1 -34
  180. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  181. package/dist/primitives/threadList/ThreadListItems.js +1 -35
  182. package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
  183. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +1 -7
  184. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
  185. package/dist/primitives/threadListItem/ThreadListItemTitle.js +1 -7
  186. package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
  187. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +1 -1
  188. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -1
  189. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +1 -1
  190. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -1
  191. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +1 -1
  192. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -1
  193. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js +1 -1
  194. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -1
  195. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +1 -1
  196. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -1
  197. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js +1 -1
  198. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -1
  199. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +1 -1
  200. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -1
  201. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js +1 -1
  202. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -1
  203. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +1 -1
  204. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -1
  205. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +1 -1
  206. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -1
  207. package/dist/primitives/threadListItemMore/scope.d.ts +1 -1
  208. package/dist/primitives/threadListItemMore/scope.d.ts.map +1 -1
  209. package/dist/primitives/threadListItemMore/scope.js +1 -1
  210. package/dist/primitives/threadListItemMore/scope.js.map +1 -1
  211. package/dist/types/index.d.ts +2 -2
  212. package/dist/types/index.d.ts.map +1 -1
  213. package/dist/types/scopes/index.d.ts +1 -2
  214. package/dist/types/scopes/index.d.ts.map +1 -1
  215. package/package.json +10 -12
  216. package/src/client/ExternalThread.ts +25 -13
  217. package/src/client/InMemoryThreadList.ts +1 -2
  218. package/src/client/index.ts +3 -2
  219. package/src/context/providers/AttachmentByIndexProvider.tsx +4 -34
  220. package/src/context/providers/ChainOfThoughtByIndicesProvider.tsx +1 -34
  221. package/src/context/providers/ChainOfThoughtPartByIndexProvider.tsx +1 -18
  222. package/src/context/providers/MessageByIndexProvider.tsx +1 -23
  223. package/src/context/providers/PartByIndexProvider.tsx +1 -18
  224. package/src/context/providers/SuggestionByIndexProvider.tsx +4 -21
  225. package/src/context/providers/TextMessagePartProvider.tsx +1 -46
  226. package/src/context/providers/ThreadListItemProvider.tsx +4 -33
  227. package/src/context/providers/index.ts +1 -0
  228. package/src/index.ts +1 -1
  229. package/src/legacy-runtime/AssistantRuntimeProvider.tsx +13 -21
  230. package/src/legacy-runtime/RuntimeAdapter.ts +1 -66
  231. package/src/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.ts +1 -1
  232. package/src/legacy-runtime/runtime-cores/assistant-transport/index.ts +1 -0
  233. package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +25 -0
  234. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.ts +22 -13
  235. package/src/legacy-runtime/runtime-cores/external-store/external-message-converter.ts +19 -21
  236. package/src/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.ts +1 -0
  237. package/src/legacy-runtime/runtime-cores/external-store/index.ts +1 -0
  238. package/src/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.ts +20 -4
  239. package/src/model-context/index.ts +29 -22
  240. package/src/primitives/actionBarMore/ActionBarMoreContent.tsx +1 -1
  241. package/src/primitives/actionBarMore/ActionBarMoreItem.tsx +1 -1
  242. package/src/primitives/actionBarMore/ActionBarMoreRoot.tsx +1 -1
  243. package/src/primitives/actionBarMore/ActionBarMoreSeparator.tsx +1 -1
  244. package/src/primitives/actionBarMore/ActionBarMoreTrigger.tsx +1 -1
  245. package/src/primitives/actionBarMore/scope.ts +1 -1
  246. package/src/primitives/assistantModal/AssistantModalAnchor.tsx +1 -1
  247. package/src/primitives/assistantModal/AssistantModalContent.tsx +1 -1
  248. package/src/primitives/assistantModal/AssistantModalRoot.tsx +1 -1
  249. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +1 -1
  250. package/src/primitives/assistantModal/scope.ts +1 -1
  251. package/src/primitives/chainOfThought/ChainOfThoughtParts.tsx +1 -85
  252. package/src/primitives/composer/ComposerAttachmentDropzone.tsx +2 -2
  253. package/src/primitives/composer/ComposerAttachments.tsx +4 -110
  254. package/src/primitives/composer/ComposerIf.ts +2 -42
  255. package/src/primitives/composer/ComposerInput.tsx +2 -2
  256. package/src/primitives/message/MessageAttachments.tsx +4 -113
  257. package/src/primitives/message/MessageIf.ts +1 -1
  258. package/src/primitives/message/MessageParts.tsx +43 -642
  259. package/src/primitives/message/MessagePartsGrouped.tsx +3 -3
  260. package/src/primitives/thread/ThreadEmpty.ts +4 -3
  261. package/src/primitives/thread/ThreadIf.ts +1 -1
  262. package/src/primitives/thread/ThreadMessages.tsx +4 -217
  263. package/src/primitives/thread/ThreadSuggestions.tsx +4 -106
  264. package/src/primitives/thread/ThreadViewportSlack.tsx +2 -2
  265. package/src/primitives/threadList/ThreadListItems.tsx +4 -79
  266. package/src/primitives/threadListItem/ThreadListItemTitle.test.tsx +7 -3
  267. package/src/primitives/threadListItem/ThreadListItemTitle.tsx +1 -17
  268. package/src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx +1 -1
  269. package/src/primitives/threadListItemMore/ThreadListItemMoreItem.tsx +1 -1
  270. package/src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx +1 -1
  271. package/src/primitives/threadListItemMore/ThreadListItemMoreSeparator.tsx +1 -1
  272. package/src/primitives/threadListItemMore/ThreadListItemMoreTrigger.tsx +1 -1
  273. package/src/primitives/threadListItemMore/scope.ts +1 -1
  274. package/src/tests/BaseComposerRuntimeCore.test.ts +106 -1
  275. package/src/tests/DataRenderers.test.ts +1 -2
  276. package/src/types/index.ts +3 -2
  277. package/src/types/scopes/index.ts +5 -3
  278. package/dist/client/DataRenderers.d.ts +0 -3
  279. package/dist/client/DataRenderers.d.ts.map +0 -1
  280. package/dist/client/DataRenderers.js +0 -33
  281. package/dist/client/DataRenderers.js.map +0 -1
  282. package/dist/client/Tools.d.ts +0 -8
  283. package/dist/client/Tools.d.ts.map +0 -1
  284. package/dist/client/Tools.js +0 -68
  285. package/dist/client/Tools.js.map +0 -1
  286. package/dist/model-context/makeAssistantDataUI.d.ts +0 -7
  287. package/dist/model-context/makeAssistantDataUI.d.ts.map +0 -1
  288. package/dist/model-context/makeAssistantDataUI.js +0 -11
  289. package/dist/model-context/makeAssistantDataUI.js.map +0 -1
  290. package/dist/model-context/makeAssistantTool.d.ts +0 -7
  291. package/dist/model-context/makeAssistantTool.d.ts.map +0 -1
  292. package/dist/model-context/makeAssistantTool.js +0 -11
  293. package/dist/model-context/makeAssistantTool.js.map +0 -1
  294. package/dist/model-context/makeAssistantToolUI.d.ts +0 -7
  295. package/dist/model-context/makeAssistantToolUI.d.ts.map +0 -1
  296. package/dist/model-context/makeAssistantToolUI.js +0 -11
  297. package/dist/model-context/makeAssistantToolUI.js.map +0 -1
  298. package/dist/model-context/toolbox.d.ts +0 -10
  299. package/dist/model-context/toolbox.d.ts.map +0 -1
  300. package/dist/model-context/toolbox.js +0 -3
  301. package/dist/model-context/toolbox.js.map +0 -1
  302. package/dist/model-context/useAssistantDataUI.d.ts +0 -7
  303. package/dist/model-context/useAssistantDataUI.d.ts.map +0 -1
  304. package/dist/model-context/useAssistantDataUI.js +0 -12
  305. package/dist/model-context/useAssistantDataUI.js.map +0 -1
  306. package/dist/model-context/useAssistantInstructions.d.ts +0 -4
  307. package/dist/model-context/useAssistantInstructions.d.ts.map +0 -1
  308. package/dist/model-context/useAssistantInstructions.js +0 -23
  309. package/dist/model-context/useAssistantInstructions.js.map +0 -1
  310. package/dist/model-context/useAssistantTool.d.ts +0 -7
  311. package/dist/model-context/useAssistantTool.d.ts.map +0 -1
  312. package/dist/model-context/useAssistantTool.js +0 -23
  313. package/dist/model-context/useAssistantTool.js.map +0 -1
  314. package/dist/model-context/useAssistantToolUI.d.ts +0 -7
  315. package/dist/model-context/useAssistantToolUI.d.ts.map +0 -1
  316. package/dist/model-context/useAssistantToolUI.js +0 -12
  317. package/dist/model-context/useAssistantToolUI.js.map +0 -1
  318. package/dist/model-context/useInlineRender.d.ts +0 -4
  319. package/dist/model-context/useInlineRender.d.ts.map +0 -1
  320. package/dist/model-context/useInlineRender.js +0 -16
  321. package/dist/model-context/useInlineRender.js.map +0 -1
  322. package/dist/types/MessagePartComponentTypes.d.ts +0 -33
  323. package/dist/types/MessagePartComponentTypes.d.ts.map +0 -1
  324. package/dist/types/MessagePartComponentTypes.js +0 -2
  325. package/dist/types/MessagePartComponentTypes.js.map +0 -1
  326. package/dist/types/scopes/dataRenderers.d.ts +0 -13
  327. package/dist/types/scopes/dataRenderers.d.ts.map +0 -1
  328. package/dist/types/scopes/dataRenderers.js +0 -2
  329. package/dist/types/scopes/dataRenderers.js.map +0 -1
  330. package/dist/types/scopes/tools.d.ts +0 -13
  331. package/dist/types/scopes/tools.d.ts.map +0 -1
  332. package/dist/types/scopes/tools.js +0 -2
  333. package/dist/types/scopes/tools.js.map +0 -1
  334. package/dist/types/store-augmentation.d.ts +0 -10
  335. package/dist/types/store-augmentation.d.ts.map +0 -1
  336. package/dist/types/store-augmentation.js +0 -2
  337. package/dist/types/store-augmentation.js.map +0 -1
  338. package/src/client/DataRenderers.ts +0 -42
  339. package/src/client/Tools.ts +0 -97
  340. package/src/model-context/makeAssistantDataUI.ts +0 -22
  341. package/src/model-context/makeAssistantTool.ts +0 -22
  342. package/src/model-context/makeAssistantToolUI.ts +0 -22
  343. package/src/model-context/toolbox.ts +0 -17
  344. package/src/model-context/useAssistantDataUI.ts +0 -18
  345. package/src/model-context/useAssistantInstructions.ts +0 -32
  346. package/src/model-context/useAssistantTool.ts +0 -39
  347. package/src/model-context/useAssistantToolUI.ts +0 -20
  348. package/src/model-context/useInlineRender.ts +0 -27
  349. package/src/types/MessagePartComponentTypes.ts +0 -66
  350. package/src/types/scopes/dataRenderers.ts +0 -15
  351. package/src/types/scopes/tools.ts +0 -18
  352. package/src/types/store-augmentation.ts +0 -11
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessagePartComponentTypes.d.ts","sourceRoot":"","sources":["../../src/types/MessagePartComponentTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAE7E,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,eAAe,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE3E,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAChF,MAAM,MAAM,6BAA6B,GACvC,aAAa,CAAC,yBAAyB,CAAC,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAEzE,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAC1E,MAAM,MAAM,0BAA0B,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AACxE,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAE7E,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,eAAe,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE3E,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,GAC3D,yBAAyB,CAAC;AAC5B,MAAM,MAAM,kCAAkC,GAC5C,aAAa,CAAC,8BAA8B,CAAC,CAAC;AAEhD,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,GAAG,IAAI,gBAAgB,GAC1D,eAAe,CAAC,CAAC,CAAC,CAAC;AACrB,MAAM,MAAM,wBAAwB,CAAC,CAAC,GAAG,GAAG,IAAI,aAAa,CAC3D,oBAAoB,CAAC,CAAC,CAAC,CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,OAAO,IACf,gBAAgB,GAClB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IACpC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC7D,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,CAAC;AAEJ,MAAM,MAAM,4BAA4B,CACtC,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,GAAG,IACX,aAAa,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MessagePartComponentTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessagePartComponentTypes.js","sourceRoot":"","sources":["../../src/types/MessagePartComponentTypes.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import type { DataMessagePartComponent } from "../MessagePartComponentTypes.js";
2
- import type { Unsubscribe } from "@assistant-ui/core";
3
- export type DataRenderersState = {
4
- renderers: Record<string, DataMessagePartComponent[]>;
5
- };
6
- export type DataRenderersMethods = {
7
- getState(): DataRenderersState;
8
- setDataUI(name: string, render: DataMessagePartComponent): Unsubscribe;
9
- };
10
- export type DataRenderersClientSchema = {
11
- methods: DataRenderersMethods;
12
- };
13
- //# sourceMappingURL=dataRenderers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataRenderers.d.ts","sourceRoot":"","sources":["../../../src/types/scopes/dataRenderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wCAAqC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,IAAI,kBAAkB,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,GAAG,WAAW,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dataRenderers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataRenderers.js","sourceRoot":"","sources":["../../../src/types/scopes/dataRenderers.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import type { ToolCallMessagePartComponent } from "../MessagePartComponentTypes.js";
2
- import type { Unsubscribe } from "@assistant-ui/core";
3
- export type ToolsState = {
4
- tools: Record<string, ToolCallMessagePartComponent[]>;
5
- };
6
- export type ToolsMethods = {
7
- getState(): ToolsState;
8
- setToolUI(toolName: string, render: ToolCallMessagePartComponent): Unsubscribe;
9
- };
10
- export type ToolsClientSchema = {
11
- methods: ToolsMethods;
12
- };
13
- //# sourceMappingURL=tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/types/scopes/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,wCAAqC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,IAAI,UAAU,CAAC;IACvB,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,4BAA4B,GACnC,WAAW,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/types/scopes/tools.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import "@assistant-ui/core/store";
2
- import type { ToolsClientSchema } from "./scopes/tools.js";
3
- import type { DataRenderersClientSchema } from "./scopes/dataRenderers.js";
4
- declare module "@assistant-ui/core/store" {
5
- interface ScopeRegistry {
6
- tools: ToolsClientSchema;
7
- dataRenderers: DataRenderersClientSchema;
8
- }
9
- }
10
- //# sourceMappingURL=store-augmentation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-augmentation.d.ts","sourceRoot":"","sources":["../../src/types/store-augmentation.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAAuB;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,kCAA+B;AAExE,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAU,aAAa;QACrB,KAAK,EAAE,iBAAiB,CAAC;QACzB,aAAa,EAAE,yBAAyB,CAAC;KAC1C;CACF"}
@@ -1,2 +0,0 @@
1
- import "@assistant-ui/core/store";
2
- //# sourceMappingURL=store-augmentation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-augmentation.js","sourceRoot":"","sources":["../../src/types/store-augmentation.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC"}
@@ -1,42 +0,0 @@
1
- import { resource, tapState, tapCallback } from "@assistant-ui/tap";
2
- import { type ClientOutput } from "@assistant-ui/store";
3
- import { DataRenderersState } from "../types/scopes";
4
- import { DataMessagePartComponent } from "../types";
5
-
6
- export const DataRenderers = resource((): ClientOutput<"dataRenderers"> => {
7
- const [state, setState] = tapState<DataRenderersState>(() => ({
8
- renderers: {},
9
- }));
10
-
11
- const setDataUI = tapCallback(
12
- (name: string, render: DataMessagePartComponent) => {
13
- setState((prev) => {
14
- return {
15
- ...prev,
16
- renderers: {
17
- ...prev.renderers,
18
- [name]: [...(prev.renderers[name] ?? []), render],
19
- },
20
- };
21
- });
22
-
23
- return () => {
24
- setState((prev) => {
25
- return {
26
- ...prev,
27
- renderers: {
28
- ...prev.renderers,
29
- [name]: prev.renderers[name]?.filter((r) => r !== render) ?? [],
30
- },
31
- };
32
- });
33
- };
34
- },
35
- [],
36
- );
37
-
38
- return {
39
- getState: () => state,
40
- setDataUI,
41
- };
42
- });
@@ -1,97 +0,0 @@
1
- import { resource, tapState, tapEffect, tapCallback } from "@assistant-ui/tap";
2
- import {
3
- tapAssistantClientRef,
4
- type ClientOutput,
5
- attachTransformScopes,
6
- } from "@assistant-ui/store";
7
- import { ToolsState } from "../types/scopes";
8
- import type { Tool } from "assistant-stream";
9
- import { type Toolkit } from "../model-context/toolbox";
10
- import { ToolCallMessagePartComponent } from "../types";
11
- import { ModelContext } from "@assistant-ui/core/store";
12
-
13
- export const Tools = resource(
14
- ({ toolkit }: { toolkit?: Toolkit }): ClientOutput<"tools"> => {
15
- const [state, setState] = tapState<ToolsState>(() => ({
16
- tools: {},
17
- }));
18
-
19
- const clientRef = tapAssistantClientRef();
20
-
21
- const setToolUI = tapCallback(
22
- (toolName: string, render: ToolCallMessagePartComponent) => {
23
- setState((prev) => {
24
- return {
25
- ...prev,
26
- tools: {
27
- ...prev.tools,
28
- [toolName]: [...(prev.tools[toolName] ?? []), render],
29
- },
30
- };
31
- });
32
-
33
- return () => {
34
- setState((prev) => {
35
- return {
36
- ...prev,
37
- tools: {
38
- ...prev.tools,
39
- [toolName]:
40
- prev.tools[toolName]?.filter((r) => r !== render) ?? [],
41
- },
42
- };
43
- });
44
- };
45
- },
46
- [],
47
- );
48
-
49
- tapEffect(() => {
50
- if (!toolkit) return;
51
- const unsubscribes: (() => void)[] = [];
52
-
53
- // Register tool UIs (exclude symbols)
54
- for (const [toolName, tool] of Object.entries(toolkit)) {
55
- if (tool.render) {
56
- unsubscribes.push(setToolUI(toolName, tool.render));
57
- }
58
- }
59
-
60
- // Register tools with model context (exclude symbols)
61
- const toolsWithoutRender = Object.entries(toolkit).reduce(
62
- (acc, [name, tool]) => {
63
- const { render, ...rest } = tool;
64
- acc[name] = rest;
65
- return acc;
66
- },
67
- {} as Record<string, Tool<any, any>>,
68
- );
69
-
70
- const modelContextProvider = {
71
- getModelContext: () => ({
72
- tools: toolsWithoutRender,
73
- }),
74
- };
75
-
76
- unsubscribes.push(
77
- clientRef.current!.modelContext().register(modelContextProvider),
78
- );
79
-
80
- return () => {
81
- unsubscribes.forEach((fn) => fn());
82
- };
83
- }, [toolkit, setToolUI, clientRef]);
84
-
85
- return {
86
- getState: () => state,
87
- setToolUI,
88
- };
89
- },
90
- );
91
-
92
- attachTransformScopes(Tools, (scopes, parent) => ({
93
- ...scopes,
94
- ...(scopes.modelContext || parent.modelContext.source !== null
95
- ? {}
96
- : { modelContext: ModelContext() }),
97
- }));
@@ -1,22 +0,0 @@
1
- "use client";
2
-
3
- import type { FC } from "react";
4
- import {
5
- type AssistantDataUIProps,
6
- useAssistantDataUI,
7
- } from "./useAssistantDataUI";
8
-
9
- export type AssistantDataUI = FC & {
10
- unstable_data: AssistantDataUIProps;
11
- };
12
-
13
- export const makeAssistantDataUI = <T = any>(
14
- dataUI: AssistantDataUIProps<T>,
15
- ) => {
16
- const DataUI: AssistantDataUI = () => {
17
- useAssistantDataUI(dataUI);
18
- return null;
19
- };
20
- DataUI.unstable_data = dataUI;
21
- return DataUI;
22
- };
@@ -1,22 +0,0 @@
1
- "use client";
2
-
3
- import { FC } from "react";
4
- import { type AssistantToolProps, useAssistantTool } from "./useAssistantTool";
5
-
6
- export type AssistantTool = FC & {
7
- unstable_tool: AssistantToolProps<any, any>;
8
- };
9
-
10
- export const makeAssistantTool = <
11
- TArgs extends Record<string, unknown>,
12
- TResult,
13
- >(
14
- tool: AssistantToolProps<TArgs, TResult>,
15
- ) => {
16
- const Tool: AssistantTool = () => {
17
- useAssistantTool(tool);
18
- return null;
19
- };
20
- Tool.unstable_tool = tool;
21
- return Tool;
22
- };
@@ -1,22 +0,0 @@
1
- "use client";
2
-
3
- import { FC } from "react";
4
- import {
5
- type AssistantToolUIProps,
6
- useAssistantToolUI,
7
- } from "./useAssistantToolUI";
8
-
9
- export type AssistantToolUI = FC & {
10
- unstable_tool: AssistantToolUIProps<any, any>;
11
- };
12
-
13
- export const makeAssistantToolUI = <TArgs, TResult>(
14
- tool: AssistantToolUIProps<TArgs, TResult>,
15
- ) => {
16
- const ToolUI: AssistantToolUI = () => {
17
- useAssistantToolUI(tool);
18
- return null;
19
- };
20
- ToolUI.unstable_tool = tool;
21
- return ToolUI;
22
- };
@@ -1,17 +0,0 @@
1
- "use client";
2
-
3
- import type { Tool } from "assistant-stream";
4
- import type { ToolCallMessagePartComponent } from "../types/MessagePartComponentTypes";
5
-
6
- export type ToolDefinition<
7
- TArgs extends Record<string, unknown>,
8
- TResult,
9
- > = Tool<TArgs, TResult> & {
10
- render?: ToolCallMessagePartComponent<TArgs, TResult> | undefined;
11
- };
12
-
13
- export type Toolkit = Record<string, ToolDefinition<any, any>>;
14
-
15
- export type ToolsConfig = {
16
- toolkit: Toolkit;
17
- };
@@ -1,18 +0,0 @@
1
- "use client";
2
-
3
- import { useEffect } from "react";
4
- import { useAui } from "@assistant-ui/store";
5
- import type { DataMessagePartComponent } from "../types/MessagePartComponentTypes";
6
-
7
- export type AssistantDataUIProps<T = any> = {
8
- name: string;
9
- render: DataMessagePartComponent<T>;
10
- };
11
-
12
- export const useAssistantDataUI = (dataUI: AssistantDataUIProps | null) => {
13
- const aui = useAui();
14
- useEffect(() => {
15
- if (!dataUI?.name || !dataUI?.render) return undefined;
16
- return aui.dataRenderers().setDataUI(dataUI.name, dataUI.render);
17
- }, [aui, dataUI?.name, dataUI?.render]);
18
- };
@@ -1,32 +0,0 @@
1
- "use client";
2
-
3
- import { useEffect } from "react";
4
- import { useAui } from "@assistant-ui/store";
5
- import type { AssistantInstructionsConfig } from "@assistant-ui/core";
6
-
7
- export type { AssistantInstructionsConfig };
8
-
9
- const getInstructions = (
10
- instruction: string | AssistantInstructionsConfig,
11
- ): AssistantInstructionsConfig => {
12
- if (typeof instruction === "string") return { instruction };
13
- return instruction;
14
- };
15
-
16
- export const useAssistantInstructions = (
17
- config: string | AssistantInstructionsConfig,
18
- ) => {
19
- const { instruction, disabled = false } = getInstructions(config);
20
- const aui = useAui();
21
-
22
- useEffect(() => {
23
- if (disabled) return;
24
-
25
- const config = {
26
- system: instruction,
27
- };
28
- return aui.modelContext().register({
29
- getModelContext: () => config,
30
- });
31
- }, [aui, instruction, disabled]);
32
- };
@@ -1,39 +0,0 @@
1
- "use client";
2
-
3
- import { useEffect } from "react";
4
- import { useAui } from "@assistant-ui/store";
5
- import type { ToolCallMessagePartComponent } from "../types/MessagePartComponentTypes";
6
- import type { AssistantToolProps as CoreAssistantToolProps } from "@assistant-ui/core";
7
-
8
- export type AssistantToolProps<
9
- TArgs extends Record<string, unknown>,
10
- TResult,
11
- > = CoreAssistantToolProps<TArgs, TResult> & {
12
- render?: ToolCallMessagePartComponent<TArgs, TResult> | undefined;
13
- };
14
-
15
- export const useAssistantTool = <
16
- TArgs extends Record<string, unknown>,
17
- TResult,
18
- >(
19
- tool: AssistantToolProps<TArgs, TResult>,
20
- ) => {
21
- const aui = useAui();
22
-
23
- useEffect(() => {
24
- if (!tool.render) return undefined;
25
- return aui.tools().setToolUI(tool.toolName, tool.render);
26
- }, [aui, tool.toolName, tool.render]);
27
-
28
- useEffect(() => {
29
- const { toolName, render, ...rest } = tool;
30
- const context = {
31
- tools: {
32
- [toolName]: rest,
33
- },
34
- };
35
- return aui.modelContext().register({
36
- getModelContext: () => context,
37
- });
38
- }, [aui, tool]);
39
- };
@@ -1,20 +0,0 @@
1
- "use client";
2
-
3
- import { useEffect } from "react";
4
- import { useAui } from "@assistant-ui/store";
5
- import type { ToolCallMessagePartComponent } from "../types/MessagePartComponentTypes";
6
-
7
- export type AssistantToolUIProps<TArgs, TResult> = {
8
- toolName: string;
9
- render: ToolCallMessagePartComponent<TArgs, TResult>;
10
- };
11
-
12
- export const useAssistantToolUI = (
13
- tool: AssistantToolUIProps<any, any> | null,
14
- ) => {
15
- const aui = useAui();
16
- useEffect(() => {
17
- if (!tool?.toolName || !tool?.render) return undefined;
18
- return aui.tools().setToolUI(tool.toolName, tool.render);
19
- }, [aui, tool?.toolName, tool?.render]);
20
- };
@@ -1,27 +0,0 @@
1
- "use client";
2
-
3
- import { FC, useCallback, useEffect, useState } from "react";
4
- import { ToolCallMessagePartProps } from "../types";
5
- import { create } from "zustand";
6
-
7
- export const useInlineRender = <TArgs, TResult>(
8
- toolUI: FC<ToolCallMessagePartProps<TArgs, TResult>>,
9
- ): FC<ToolCallMessagePartProps<TArgs, TResult>> => {
10
- const [useToolUIStore] = useState(() =>
11
- create(() => ({
12
- toolUI,
13
- })),
14
- );
15
-
16
- useEffect(() => {
17
- useToolUIStore.setState({ toolUI });
18
- }, [toolUI, useToolUIStore]);
19
-
20
- return useCallback(
21
- function ToolUI(args) {
22
- const store = useToolUIStore();
23
- return store.toolUI(args);
24
- },
25
- [useToolUIStore],
26
- );
27
- };
@@ -1,66 +0,0 @@
1
- import type { ComponentType, PropsWithChildren } from "react";
2
- import type {
3
- MessagePartStatus,
4
- DataMessagePart,
5
- FileMessagePart,
6
- ImageMessagePart,
7
- ReasoningMessagePart,
8
- SourceMessagePart,
9
- TextMessagePart,
10
- ToolCallMessagePart,
11
- Unstable_AudioMessagePart,
12
- } from "@assistant-ui/core";
13
- import type { MessagePartState } from "@assistant-ui/core";
14
- import { ToolResponse } from "assistant-stream";
15
-
16
- export type EmptyMessagePartProps = {
17
- status: MessagePartStatus;
18
- };
19
- export type EmptyMessagePartComponent = ComponentType<EmptyMessagePartProps>;
20
-
21
- export type TextMessagePartProps = MessagePartState & TextMessagePart;
22
- export type TextMessagePartComponent = ComponentType<TextMessagePartProps>;
23
-
24
- export type ReasoningMessagePartProps = MessagePartState & ReasoningMessagePart;
25
- export type ReasoningMessagePartComponent =
26
- ComponentType<ReasoningMessagePartProps>;
27
-
28
- export type ReasoningGroupProps = PropsWithChildren<{
29
- startIndex: number;
30
- endIndex: number;
31
- }>;
32
- export type ReasoningGroupComponent = ComponentType<ReasoningGroupProps>;
33
-
34
- export type SourceMessagePartProps = MessagePartState & SourceMessagePart;
35
- export type SourceMessagePartComponent = ComponentType<SourceMessagePartProps>;
36
-
37
- export type ImageMessagePartProps = MessagePartState & ImageMessagePart;
38
- export type ImageMessagePartComponent = ComponentType<ImageMessagePartProps>;
39
-
40
- export type FileMessagePartProps = MessagePartState & FileMessagePart;
41
- export type FileMessagePartComponent = ComponentType<FileMessagePartProps>;
42
-
43
- export type Unstable_AudioMessagePartProps = MessagePartState &
44
- Unstable_AudioMessagePart;
45
- export type Unstable_AudioMessagePartComponent =
46
- ComponentType<Unstable_AudioMessagePartProps>;
47
-
48
- export type DataMessagePartProps<T = any> = MessagePartState &
49
- DataMessagePart<T>;
50
- export type DataMessagePartComponent<T = any> = ComponentType<
51
- DataMessagePartProps<T>
52
- >;
53
-
54
- export type ToolCallMessagePartProps<
55
- TArgs = any,
56
- TResult = unknown,
57
- > = MessagePartState &
58
- ToolCallMessagePart<TArgs, TResult> & {
59
- addResult: (result: TResult | ToolResponse<TResult>) => void;
60
- resume: (payload: unknown) => void;
61
- };
62
-
63
- export type ToolCallMessagePartComponent<
64
- TArgs = any,
65
- TResult = any,
66
- > = ComponentType<ToolCallMessagePartProps<TArgs, TResult>>;
@@ -1,15 +0,0 @@
1
- import type { DataMessagePartComponent } from "../MessagePartComponentTypes";
2
- import type { Unsubscribe } from "@assistant-ui/core";
3
-
4
- export type DataRenderersState = {
5
- renderers: Record<string, DataMessagePartComponent[]>;
6
- };
7
-
8
- export type DataRenderersMethods = {
9
- getState(): DataRenderersState;
10
- setDataUI(name: string, render: DataMessagePartComponent): Unsubscribe;
11
- };
12
-
13
- export type DataRenderersClientSchema = {
14
- methods: DataRenderersMethods;
15
- };
@@ -1,18 +0,0 @@
1
- import type { ToolCallMessagePartComponent } from "../MessagePartComponentTypes";
2
- import type { Unsubscribe } from "@assistant-ui/core";
3
-
4
- export type ToolsState = {
5
- tools: Record<string, ToolCallMessagePartComponent[]>;
6
- };
7
-
8
- export type ToolsMethods = {
9
- getState(): ToolsState;
10
- setToolUI(
11
- toolName: string,
12
- render: ToolCallMessagePartComponent,
13
- ): Unsubscribe;
14
- };
15
-
16
- export type ToolsClientSchema = {
17
- methods: ToolsMethods;
18
- };
@@ -1,11 +0,0 @@
1
- import "@assistant-ui/core/store";
2
-
3
- import type { ToolsClientSchema } from "./scopes/tools";
4
- import type { DataRenderersClientSchema } from "./scopes/dataRenderers";
5
-
6
- declare module "@assistant-ui/core/store" {
7
- interface ScopeRegistry {
8
- tools: ToolsClientSchema;
9
- dataRenderers: DataRenderersClientSchema;
10
- }
11
- }