@assistant-ui/react 0.12.10 → 0.12.11

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 (944) hide show
  1. package/dist/client/DataRenderers.d.ts +3 -0
  2. package/dist/client/DataRenderers.d.ts.map +1 -0
  3. package/dist/client/DataRenderers.js +33 -0
  4. package/dist/client/DataRenderers.js.map +1 -0
  5. package/dist/client/ExternalThread.d.ts +1 -1
  6. package/dist/client/ExternalThread.d.ts.map +1 -1
  7. package/dist/client/ExternalThread.js +133 -134
  8. package/dist/client/ExternalThread.js.map +1 -1
  9. package/dist/client/InMemoryThreadList.d.ts.map +1 -1
  10. package/dist/client/InMemoryThreadList.js +62 -53
  11. package/dist/client/InMemoryThreadList.js.map +1 -1
  12. package/dist/client/Tools.d.ts.map +1 -1
  13. package/dist/client/Tools.js +10 -10
  14. package/dist/client/Tools.js.map +1 -1
  15. package/dist/client/index.d.ts +4 -3
  16. package/dist/client/index.d.ts.map +1 -1
  17. package/dist/client/index.js +6 -3
  18. package/dist/client/index.js.map +1 -1
  19. package/dist/context/providers/ChainOfThoughtByIndicesProvider.js +1 -1
  20. package/dist/context/providers/ChainOfThoughtByIndicesProvider.js.map +1 -1
  21. package/dist/context/providers/MessageByIndexProvider.js +1 -1
  22. package/dist/context/providers/MessageByIndexProvider.js.map +1 -1
  23. package/dist/context/providers/MessageProvider.d.ts +1 -1
  24. package/dist/context/providers/MessageProvider.d.ts.map +1 -1
  25. package/dist/context/providers/MessageProvider.js +1 -1
  26. package/dist/context/providers/MessageProvider.js.map +1 -1
  27. package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
  28. package/dist/context/providers/TextMessagePartProvider.js +6 -9
  29. package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
  30. package/dist/context/providers/ThreadListItemProvider.js +1 -1
  31. package/dist/context/providers/ThreadListItemProvider.js.map +1 -1
  32. package/dist/context/react/utils/useRuntimeState.d.ts +1 -1
  33. package/dist/context/react/utils/useRuntimeState.d.ts.map +1 -1
  34. package/dist/context/react/utils/useRuntimeState.js.map +1 -1
  35. package/dist/context/stores/ThreadViewport.d.ts +1 -1
  36. package/dist/context/stores/ThreadViewport.d.ts.map +1 -1
  37. package/dist/context/stores/ThreadViewport.js.map +1 -1
  38. package/dist/devtools/DevToolsHooks.d.ts +1 -1
  39. package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
  40. package/dist/hooks/useMessageQuote.d.ts +1 -1
  41. package/dist/hooks/useMessageQuote.d.ts.map +1 -1
  42. package/dist/hooks/useMessageTiming.d.ts +17 -0
  43. package/dist/hooks/useMessageTiming.d.ts.map +1 -0
  44. package/dist/hooks/useMessageTiming.js +20 -0
  45. package/dist/hooks/useMessageTiming.js.map +1 -0
  46. package/dist/internal.d.ts +3 -11
  47. package/dist/internal.d.ts.map +1 -1
  48. package/dist/internal.js +3 -9
  49. package/dist/internal.js.map +1 -1
  50. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
  51. package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
  52. package/dist/legacy-runtime/RuntimeAdapter.js +37 -24
  53. package/dist/legacy-runtime/RuntimeAdapter.js.map +1 -1
  54. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.d.ts +2 -2
  55. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  56. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.js +384 -80
  57. package/dist/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  58. package/dist/legacy-runtime/cloud/auiV0.d.ts +8 -9
  59. package/dist/legacy-runtime/cloud/auiV0.d.ts.map +1 -1
  60. package/dist/legacy-runtime/cloud/auiV0.js +20 -45
  61. package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
  62. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts +1 -1
  63. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  64. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.js +4 -5
  65. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.js.map +1 -1
  66. package/dist/legacy-runtime/hooks/AssistantContext.d.ts +11 -11
  67. package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +156 -156
  68. package/dist/legacy-runtime/hooks/ComposerContext.d.ts +11 -11
  69. package/dist/legacy-runtime/hooks/MessageContext.d.ts +22 -22
  70. package/dist/legacy-runtime/hooks/MessagePartContext.d.ts +11 -11
  71. package/dist/legacy-runtime/hooks/ThreadContext.d.ts +22 -22
  72. package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts +11 -11
  73. package/dist/legacy-runtime/runtime/AssistantRuntime.d.ts +2 -63
  74. package/dist/legacy-runtime/runtime/AssistantRuntime.d.ts.map +1 -1
  75. package/dist/legacy-runtime/runtime/AssistantRuntime.js +1 -45
  76. package/dist/legacy-runtime/runtime/AssistantRuntime.js.map +1 -1
  77. package/dist/legacy-runtime/runtime/AttachmentRuntime.d.ts +2 -62
  78. package/dist/legacy-runtime/runtime/AttachmentRuntime.d.ts.map +1 -1
  79. package/dist/legacy-runtime/runtime/AttachmentRuntime.js +1 -55
  80. package/dist/legacy-runtime/runtime/AttachmentRuntime.js.map +1 -1
  81. package/dist/legacy-runtime/runtime/ComposerRuntime.d.ts +3 -183
  82. package/dist/legacy-runtime/runtime/ComposerRuntime.d.ts.map +1 -1
  83. package/dist/legacy-runtime/runtime/ComposerRuntime.js +1 -249
  84. package/dist/legacy-runtime/runtime/ComposerRuntime.js.map +1 -1
  85. package/dist/legacy-runtime/runtime/MessagePartRuntime.d.ts +2 -39
  86. package/dist/legacy-runtime/runtime/MessagePartRuntime.d.ts.map +1 -1
  87. package/dist/legacy-runtime/runtime/MessagePartRuntime.js +1 -66
  88. package/dist/legacy-runtime/runtime/MessagePartRuntime.js.map +1 -1
  89. package/dist/legacy-runtime/runtime/MessageRuntime.d.ts +3 -91
  90. package/dist/legacy-runtime/runtime/MessageRuntime.d.ts.map +1 -1
  91. package/dist/legacy-runtime/runtime/MessageRuntime.js +1 -200
  92. package/dist/legacy-runtime/runtime/MessageRuntime.js.map +1 -1
  93. package/dist/legacy-runtime/runtime/RuntimeBindings.d.ts +2 -36
  94. package/dist/legacy-runtime/runtime/RuntimeBindings.d.ts.map +1 -1
  95. package/dist/legacy-runtime/runtime/RuntimeBindings.js +3 -0
  96. package/dist/legacy-runtime/runtime/RuntimeBindings.js.map +1 -1
  97. package/dist/legacy-runtime/runtime/RuntimePathTypes.d.ts +1 -63
  98. package/dist/legacy-runtime/runtime/RuntimePathTypes.d.ts.map +1 -1
  99. package/dist/legacy-runtime/runtime/ThreadListItemRuntime.d.ts +4 -49
  100. package/dist/legacy-runtime/runtime/ThreadListItemRuntime.d.ts.map +1 -1
  101. package/dist/legacy-runtime/runtime/ThreadListItemRuntime.js +1 -87
  102. package/dist/legacy-runtime/runtime/ThreadListItemRuntime.js.map +1 -1
  103. package/dist/legacy-runtime/runtime/ThreadListRuntime.d.ts +3 -43
  104. package/dist/legacy-runtime/runtime/ThreadListRuntime.d.ts.map +1 -1
  105. package/dist/legacy-runtime/runtime/ThreadListRuntime.js +1 -138
  106. package/dist/legacy-runtime/runtime/ThreadListRuntime.js.map +1 -1
  107. package/dist/legacy-runtime/runtime/ThreadRuntime.d.ts +3 -272
  108. package/dist/legacy-runtime/runtime/ThreadRuntime.d.ts.map +1 -1
  109. package/dist/legacy-runtime/runtime/ThreadRuntime.js +1 -242
  110. package/dist/legacy-runtime/runtime/ThreadRuntime.js.map +1 -1
  111. package/dist/legacy-runtime/runtime/index.d.ts +1 -8
  112. package/dist/legacy-runtime/runtime/index.d.ts.map +1 -1
  113. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.d.ts +1 -2
  114. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.d.ts.map +1 -1
  115. package/dist/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.js.map +1 -1
  116. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.d.ts +1 -2
  117. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.d.ts.map +1 -1
  118. package/dist/legacy-runtime/runtime-cores/adapters/attachment/index.d.ts +2 -4
  119. package/dist/legacy-runtime/runtime-cores/adapters/attachment/index.d.ts.map +1 -1
  120. package/dist/legacy-runtime/runtime-cores/adapters/attachment/index.js +2 -3
  121. package/dist/legacy-runtime/runtime-cores/adapters/attachment/index.js.map +1 -1
  122. package/dist/legacy-runtime/runtime-cores/adapters/feedback/index.d.ts +1 -1
  123. package/dist/legacy-runtime/runtime-cores/adapters/feedback/index.d.ts.map +1 -1
  124. package/dist/legacy-runtime/runtime-cores/adapters/speech/index.d.ts +2 -3
  125. package/dist/legacy-runtime/runtime-cores/adapters/speech/index.d.ts.map +1 -1
  126. package/dist/legacy-runtime/runtime-cores/adapters/speech/index.js +1 -2
  127. package/dist/legacy-runtime/runtime-cores/adapters/speech/index.js.map +1 -1
  128. package/dist/legacy-runtime/runtime-cores/adapters/suggestion/index.d.ts +1 -1
  129. package/dist/legacy-runtime/runtime-cores/adapters/suggestion/index.d.ts.map +1 -1
  130. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/index.d.ts +1 -2
  131. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/index.d.ts.map +1 -1
  132. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/index.js +1 -2
  133. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/index.js.map +1 -1
  134. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +1 -1
  135. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -1
  136. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
  137. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +2 -2
  138. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
  139. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.d.ts.map +1 -1
  140. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js +119 -28
  141. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js.map +1 -1
  142. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.d.ts +1 -10
  143. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.d.ts.map +1 -1
  144. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.js +1 -19
  145. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.js.map +1 -1
  146. package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.d.ts +1 -57
  147. package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
  148. package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.js +1 -326
  149. package/dist/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.js.map +1 -1
  150. package/dist/legacy-runtime/runtime-cores/composer/DefaultEditComposerRuntimeCore.d.ts +1 -27
  151. package/dist/legacy-runtime/runtime-cores/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -1
  152. package/dist/legacy-runtime/runtime-cores/composer/DefaultEditComposerRuntimeCore.js +1 -49
  153. package/dist/legacy-runtime/runtime-cores/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
  154. package/dist/legacy-runtime/runtime-cores/composer/DefaultThreadComposerRuntimeCore.d.ts +1 -23
  155. package/dist/legacy-runtime/runtime-cores/composer/DefaultThreadComposerRuntimeCore.d.ts.map +1 -1
  156. package/dist/legacy-runtime/runtime-cores/composer/DefaultThreadComposerRuntimeCore.js +1 -40
  157. package/dist/legacy-runtime/runtime-cores/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
  158. package/dist/legacy-runtime/runtime-cores/core/AssistantRuntimeCore.d.ts +1 -16
  159. package/dist/legacy-runtime/runtime-cores/core/AssistantRuntimeCore.d.ts.map +1 -1
  160. package/dist/legacy-runtime/runtime-cores/core/AssistantRuntimeCore.js.map +1 -1
  161. package/dist/legacy-runtime/runtime-cores/core/BaseAssistantRuntimeCore.d.ts +1 -11
  162. package/dist/legacy-runtime/runtime-cores/core/BaseAssistantRuntimeCore.d.ts.map +1 -1
  163. package/dist/legacy-runtime/runtime-cores/core/BaseAssistantRuntimeCore.js +1 -10
  164. package/dist/legacy-runtime/runtime-cores/core/BaseAssistantRuntimeCore.js.map +1 -1
  165. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.d.ts +1 -66
  166. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  167. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.js +1 -159
  168. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.js.map +1 -1
  169. package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.d.ts +1 -64
  170. package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.d.ts.map +1 -1
  171. package/dist/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.js.map +1 -1
  172. package/dist/legacy-runtime/runtime-cores/core/ThreadListRuntimeCore.d.ts +1 -36
  173. package/dist/legacy-runtime/runtime-cores/core/ThreadListRuntimeCore.d.ts.map +1 -1
  174. package/dist/legacy-runtime/runtime-cores/core/ThreadListRuntimeCore.js.map +1 -1
  175. package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.d.ts +1 -110
  176. package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.d.ts.map +1 -1
  177. package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.js.map +1 -1
  178. package/dist/legacy-runtime/runtime-cores/core/index.d.ts +1 -2
  179. package/dist/legacy-runtime/runtime-cores/core/index.d.ts.map +1 -1
  180. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.d.ts +1 -80
  181. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  182. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.js.map +1 -1
  183. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreRuntimeCore.d.ts +1 -8
  184. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
  185. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreRuntimeCore.js +1 -18
  186. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  187. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadListRuntimeCore.d.ts +2 -41
  188. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
  189. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadListRuntimeCore.js +1 -173
  190. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  191. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.d.ts +1 -46
  192. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  193. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.js +1 -259
  194. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  195. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageConverter.d.ts +2 -6
  196. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageConverter.d.ts.map +1 -1
  197. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageConverter.js +1 -11
  198. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageConverter.js.map +1 -1
  199. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.d.ts +2 -33
  200. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.d.ts.map +1 -1
  201. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.js +1 -126
  202. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.js.map +1 -1
  203. package/dist/legacy-runtime/runtime-cores/external-store/auto-status.d.ts +1 -4
  204. package/dist/legacy-runtime/runtime-cores/external-store/auto-status.d.ts.map +1 -1
  205. package/dist/legacy-runtime/runtime-cores/external-store/auto-status.js +1 -31
  206. package/dist/legacy-runtime/runtime-cores/external-store/auto-status.js.map +1 -1
  207. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.d.ts +1 -1
  208. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.d.ts.map +1 -1
  209. package/dist/legacy-runtime/runtime-cores/external-store/createMessageConverter.js.map +1 -1
  210. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts +2 -1
  211. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts.map +1 -1
  212. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js +4 -1
  213. package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js.map +1 -1
  214. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.d.ts +2 -8
  215. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.d.ts.map +1 -1
  216. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.js +2 -22
  217. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.js.map +1 -1
  218. package/dist/legacy-runtime/runtime-cores/external-store/index.d.ts +3 -3
  219. package/dist/legacy-runtime/runtime-cores/external-store/index.d.ts.map +1 -1
  220. package/dist/legacy-runtime/runtime-cores/external-store/index.js +2 -1
  221. package/dist/legacy-runtime/runtime-cores/external-store/index.js.map +1 -1
  222. package/dist/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.d.ts.map +1 -1
  223. package/dist/legacy-runtime/runtime-cores/external-store/useExternalStoreRuntime.js.map +1 -1
  224. package/dist/legacy-runtime/runtime-cores/index.d.ts +2 -1
  225. package/dist/legacy-runtime/runtime-cores/index.d.ts.map +1 -1
  226. package/dist/legacy-runtime/runtime-cores/index.js +1 -1
  227. package/dist/legacy-runtime/runtime-cores/index.js.map +1 -1
  228. package/dist/legacy-runtime/runtime-cores/local/ChatModelAdapter.d.ts +1 -38
  229. package/dist/legacy-runtime/runtime-cores/local/ChatModelAdapter.d.ts.map +1 -1
  230. package/dist/legacy-runtime/runtime-cores/local/ChatModelAdapter.js.map +1 -1
  231. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeCore.d.ts +1 -10
  232. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeCore.d.ts.map +1 -1
  233. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeCore.js +1 -21
  234. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeCore.js.map +1 -1
  235. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.d.ts +10 -30
  236. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.d.ts.map +1 -1
  237. package/dist/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.js.map +1 -1
  238. package/dist/legacy-runtime/runtime-cores/local/LocalThreadListRuntimeCore.d.ts +2 -45
  239. package/dist/legacy-runtime/runtime-cores/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
  240. package/dist/legacy-runtime/runtime-cores/local/LocalThreadListRuntimeCore.js +1 -86
  241. package/dist/legacy-runtime/runtime-cores/local/LocalThreadListRuntimeCore.js.map +1 -1
  242. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.d.ts +1 -58
  243. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  244. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.js +1 -415
  245. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.js.map +1 -1
  246. package/dist/legacy-runtime/runtime-cores/local/index.d.ts +1 -1
  247. package/dist/legacy-runtime/runtime-cores/local/index.d.ts.map +1 -1
  248. package/dist/legacy-runtime/runtime-cores/local/index.js +1 -0
  249. package/dist/legacy-runtime/runtime-cores/local/index.js.map +1 -1
  250. package/dist/legacy-runtime/runtime-cores/local/shouldContinue.d.ts +1 -2
  251. package/dist/legacy-runtime/runtime-cores/local/shouldContinue.d.ts.map +1 -1
  252. package/dist/legacy-runtime/runtime-cores/local/shouldContinue.js +1 -13
  253. package/dist/legacy-runtime/runtime-cores/local/shouldContinue.js.map +1 -1
  254. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.d.ts +1 -1
  255. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.d.ts.map +1 -1
  256. package/dist/legacy-runtime/runtime-cores/local/useLocalRuntime.js.map +1 -1
  257. package/dist/legacy-runtime/runtime-cores/remote-thread-list/BaseSubscribable.d.ts +1 -7
  258. package/dist/legacy-runtime/runtime-cores/remote-thread-list/BaseSubscribable.d.ts.map +1 -1
  259. package/dist/legacy-runtime/runtime-cores/remote-thread-list/BaseSubscribable.js +1 -37
  260. package/dist/legacy-runtime/runtime-cores/remote-thread-list/BaseSubscribable.js.map +1 -1
  261. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.d.ts +1 -2
  262. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
  263. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.js +1 -145
  264. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
  265. package/dist/legacy-runtime/runtime-cores/remote-thread-list/OptimisticState.d.ts +1 -22
  266. package/dist/legacy-runtime/runtime-cores/remote-thread-list/OptimisticState.d.ts.map +1 -1
  267. package/dist/legacy-runtime/runtime-cores/remote-thread-list/OptimisticState.js +1 -56
  268. package/dist/legacy-runtime/runtime-cores/remote-thread-list/OptimisticState.js.map +1 -1
  269. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +39 -39
  270. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  271. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.js +1 -1
  272. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  273. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +41 -67
  274. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  275. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +13 -72
  276. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  277. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.d.ts +1 -1
  278. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.d.ts.map +1 -1
  279. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.js +10 -3
  280. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.js.map +1 -1
  281. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/in-memory.d.ts +1 -12
  282. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/in-memory.d.ts.map +1 -1
  283. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/in-memory.js +1 -28
  284. package/dist/legacy-runtime/runtime-cores/remote-thread-list/adapter/in-memory.js.map +1 -1
  285. package/dist/legacy-runtime/runtime-cores/remote-thread-list/index.d.ts +2 -2
  286. package/dist/legacy-runtime/runtime-cores/remote-thread-list/index.d.ts.map +1 -1
  287. package/dist/legacy-runtime/runtime-cores/remote-thread-list/index.js +2 -1
  288. package/dist/legacy-runtime/runtime-cores/remote-thread-list/index.js.map +1 -1
  289. package/dist/legacy-runtime/runtime-cores/remote-thread-list/types.d.ts +1 -38
  290. package/dist/legacy-runtime/runtime-cores/remote-thread-list/types.d.ts.map +1 -1
  291. package/dist/legacy-runtime/runtime-cores/remote-thread-list/types.js.map +1 -1
  292. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.d.ts +2 -2
  293. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  294. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.js +1 -2
  295. package/dist/legacy-runtime/runtime-cores/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  296. package/dist/legacy-runtime/runtime-cores/utils/MessageRepository.d.ts +3 -163
  297. package/dist/legacy-runtime/runtime-cores/utils/MessageRepository.d.ts.map +1 -1
  298. package/dist/legacy-runtime/runtime-cores/utils/MessageRepository.js +2 -393
  299. package/dist/legacy-runtime/runtime-cores/utils/MessageRepository.js.map +1 -1
  300. package/dist/model-context/frame/index.d.ts +4 -3
  301. package/dist/model-context/frame/index.d.ts.map +1 -1
  302. package/dist/model-context/frame/index.js +3 -3
  303. package/dist/model-context/frame/index.js.map +1 -1
  304. package/dist/model-context/frame/useAssistantFrameHost.d.ts +2 -2
  305. package/dist/model-context/frame/useAssistantFrameHost.d.ts.map +1 -1
  306. package/dist/model-context/frame/useAssistantFrameHost.js +1 -1
  307. package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -1
  308. package/dist/model-context/index.d.ts +6 -3
  309. package/dist/model-context/index.d.ts.map +1 -1
  310. package/dist/model-context/index.js +5 -2
  311. package/dist/model-context/index.js.map +1 -1
  312. package/dist/model-context/makeAssistantDataUI.d.ts +7 -0
  313. package/dist/model-context/makeAssistantDataUI.d.ts.map +1 -0
  314. package/dist/model-context/makeAssistantDataUI.js +11 -0
  315. package/dist/model-context/makeAssistantDataUI.js.map +1 -0
  316. package/dist/model-context/makeAssistantTool.d.ts.map +1 -1
  317. package/dist/model-context/makeAssistantTool.js.map +1 -1
  318. package/dist/model-context/makeAssistantToolUI.d.ts.map +1 -1
  319. package/dist/model-context/makeAssistantToolUI.js.map +1 -1
  320. package/dist/model-context/makeAssistantVisible.js +1 -1
  321. package/dist/model-context/makeAssistantVisible.js.map +1 -1
  322. package/dist/model-context/registry/index.d.ts +2 -2
  323. package/dist/model-context/registry/index.d.ts.map +1 -1
  324. package/dist/model-context/registry/index.js +1 -2
  325. package/dist/model-context/registry/index.js.map +1 -1
  326. package/dist/model-context/toolbox.d.ts.map +1 -1
  327. package/dist/model-context/toolbox.js.map +1 -1
  328. package/dist/model-context/useAssistantDataUI.d.ts +7 -0
  329. package/dist/model-context/useAssistantDataUI.d.ts.map +1 -0
  330. package/dist/model-context/useAssistantDataUI.js +12 -0
  331. package/dist/model-context/useAssistantDataUI.js.map +1 -0
  332. package/dist/model-context/useAssistantInstructions.d.ts +2 -4
  333. package/dist/model-context/useAssistantInstructions.d.ts.map +1 -1
  334. package/dist/model-context/useAssistantInstructions.js.map +1 -1
  335. package/dist/model-context/useAssistantTool.d.ts +2 -3
  336. package/dist/model-context/useAssistantTool.d.ts.map +1 -1
  337. package/dist/model-context/useAssistantTool.js.map +1 -1
  338. package/dist/model-context/useAssistantToolUI.d.ts.map +1 -1
  339. package/dist/model-context/useAssistantToolUI.js.map +1 -1
  340. package/dist/model-context/useInlineRender.d.ts.map +1 -1
  341. package/dist/model-context/useInlineRender.js.map +1 -1
  342. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  343. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  344. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  345. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  346. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
  347. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  348. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
  349. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  350. package/dist/primitives/actionBarMore/scope.d.ts.map +1 -1
  351. package/dist/primitives/actionBarMore/scope.js.map +1 -1
  352. package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
  353. package/dist/primitives/assistantModal/scope.js.map +1 -1
  354. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
  355. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  356. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  357. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  358. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  359. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  360. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
  361. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js.map +1 -1
  362. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  363. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  364. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  365. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  366. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  367. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  368. package/dist/primitives/composer/ComposerDictate.d.ts.map +1 -1
  369. package/dist/primitives/composer/ComposerDictate.js.map +1 -1
  370. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -1
  371. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  372. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  373. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  374. package/dist/primitives/composer/ComposerStopDictation.d.ts.map +1 -1
  375. package/dist/primitives/composer/ComposerStopDictation.js.map +1 -1
  376. package/dist/primitives/index.d.ts +1 -0
  377. package/dist/primitives/index.d.ts.map +1 -1
  378. package/dist/primitives/index.js +1 -0
  379. package/dist/primitives/index.js.map +1 -1
  380. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
  381. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  382. package/dist/primitives/message/MessageError.d.ts.map +1 -1
  383. package/dist/primitives/message/MessageError.js.map +1 -1
  384. package/dist/primitives/message/MessageIf.d.ts.map +1 -1
  385. package/dist/primitives/message/MessageIf.js.map +1 -1
  386. package/dist/primitives/message/MessageParts.d.ts +9 -1
  387. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  388. package/dist/primitives/message/MessageParts.js +17 -3
  389. package/dist/primitives/message/MessageParts.js.map +1 -1
  390. package/dist/primitives/message/MessagePartsGrouped.d.ts +8 -1
  391. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  392. package/dist/primitives/message/MessagePartsGrouped.js +17 -3
  393. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  394. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  395. package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -1
  396. package/dist/primitives/messagePart/useMessagePartData.d.ts +1 -1
  397. package/dist/primitives/messagePart/useMessagePartData.d.ts.map +1 -1
  398. package/dist/primitives/messagePart/useMessagePartData.js.map +1 -1
  399. package/dist/primitives/messagePart/useMessagePartFile.d.ts +2 -2
  400. package/dist/primitives/messagePart/useMessagePartFile.d.ts.map +1 -1
  401. package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
  402. package/dist/primitives/messagePart/useMessagePartImage.d.ts +2 -2
  403. package/dist/primitives/messagePart/useMessagePartImage.d.ts.map +1 -1
  404. package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
  405. package/dist/primitives/messagePart/useMessagePartReasoning.d.ts +2 -2
  406. package/dist/primitives/messagePart/useMessagePartReasoning.d.ts.map +1 -1
  407. package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
  408. package/dist/primitives/messagePart/useMessagePartSource.d.ts +2 -2
  409. package/dist/primitives/messagePart/useMessagePartSource.d.ts.map +1 -1
  410. package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
  411. package/dist/primitives/messagePart/useMessagePartText.d.ts +3 -3
  412. package/dist/primitives/messagePart/useMessagePartText.d.ts.map +1 -1
  413. package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
  414. package/dist/primitives/reasoning/useScrollLock.d.ts.map +1 -1
  415. package/dist/primitives/reasoning/useScrollLock.js.map +1 -1
  416. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js +1 -1
  417. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js.map +1 -1
  418. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  419. package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -1
  420. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
  421. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  422. package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
  423. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  424. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  425. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  426. package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
  427. package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
  428. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  429. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  430. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  431. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  432. package/dist/primitives/threadListItemMore/scope.d.ts.map +1 -1
  433. package/dist/primitives/threadListItemMore/scope.js.map +1 -1
  434. package/dist/types/MessagePartComponentTypes.d.ts +4 -2
  435. package/dist/types/MessagePartComponentTypes.d.ts.map +1 -1
  436. package/dist/types/MessagePartComponentTypes.js.map +1 -1
  437. package/dist/types/index.d.ts +3 -6
  438. package/dist/types/index.d.ts.map +1 -1
  439. package/dist/types/scopes/dataRenderers.d.ts +13 -0
  440. package/dist/types/scopes/dataRenderers.d.ts.map +1 -0
  441. package/dist/types/scopes/dataRenderers.js +2 -0
  442. package/dist/types/scopes/dataRenderers.js.map +1 -0
  443. package/dist/types/scopes/index.d.ts +2 -11
  444. package/dist/types/scopes/index.d.ts.map +1 -1
  445. package/dist/types/scopes/tools.d.ts +1 -2
  446. package/dist/types/scopes/tools.d.ts.map +1 -1
  447. package/dist/types/store-augmentation.d.ts +5 -25
  448. package/dist/types/store-augmentation.d.ts.map +1 -1
  449. package/dist/types/store-augmentation.js +1 -1
  450. package/dist/types/store-augmentation.js.map +1 -1
  451. package/dist/utils/RequireAtLeastOne.d.ts.map +1 -1
  452. package/dist/utils/RequireAtLeastOne.js.map +1 -1
  453. package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -1
  454. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  455. package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -1
  456. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  457. package/dist/utils/smooth/useSmooth.d.ts +1 -2
  458. package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
  459. package/dist/utils/smooth/useSmooth.js +17 -7
  460. package/dist/utils/smooth/useSmooth.js.map +1 -1
  461. package/dist/utils/useToolArgsFieldStatus.d.ts.map +1 -1
  462. package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
  463. package/package.json +8 -5
  464. package/src/client/DataRenderers.ts +42 -0
  465. package/src/client/ExternalThread.ts +144 -143
  466. package/src/client/InMemoryThreadList.ts +68 -54
  467. package/src/client/Tools.ts +10 -10
  468. package/src/client/index.ts +7 -3
  469. package/src/context/providers/ChainOfThoughtByIndicesProvider.tsx +2 -2
  470. package/src/context/providers/MessageByIndexProvider.tsx +1 -1
  471. package/src/context/providers/MessageProvider.tsx +2 -2
  472. package/src/context/providers/TextMessagePartProvider.tsx +6 -9
  473. package/src/context/providers/ThreadListItemProvider.tsx +1 -1
  474. package/src/context/react/utils/useRuntimeState.ts +1 -1
  475. package/src/context/stores/{ThreadViewport.tsx → ThreadViewport.ts} +1 -1
  476. package/src/devtools/DevToolsHooks.ts +1 -1
  477. package/src/hooks/useMessageQuote.ts +1 -1
  478. package/src/hooks/useMessageTiming.ts +24 -0
  479. package/src/internal.ts +22 -13
  480. package/src/legacy-runtime/AssistantRuntimeProvider.tsx +4 -2
  481. package/src/legacy-runtime/RuntimeAdapter.ts +42 -24
  482. package/src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.ts +646 -0
  483. package/src/legacy-runtime/cloud/auiV0.ts +29 -53
  484. package/src/legacy-runtime/cloud/{useCloudThreadListRuntime.tsx → useCloudThreadListRuntime.ts} +5 -7
  485. package/src/legacy-runtime/runtime/AssistantRuntime.ts +2 -111
  486. package/src/legacy-runtime/runtime/AttachmentRuntime.ts +7 -119
  487. package/src/legacy-runtime/runtime/ComposerRuntime.ts +15 -497
  488. package/src/legacy-runtime/runtime/MessagePartRuntime.ts +2 -117
  489. package/src/legacy-runtime/runtime/MessageRuntime.ts +3 -335
  490. package/src/legacy-runtime/runtime/RuntimeBindings.ts +12 -69
  491. package/src/legacy-runtime/runtime/RuntimePathTypes.ts +8 -61
  492. package/src/legacy-runtime/runtime/ThreadListItemRuntime.ts +7 -152
  493. package/src/legacy-runtime/runtime/ThreadListRuntime.ts +6 -224
  494. package/src/legacy-runtime/runtime/ThreadRuntime.ts +14 -561
  495. package/src/legacy-runtime/runtime/index.ts +10 -13
  496. package/src/legacy-runtime/runtime-cores/adapters/RuntimeAdapterProvider.tsx +4 -2
  497. package/src/legacy-runtime/runtime-cores/adapters/attachment/CloudFileAttachmentAdapter.ts +4 -4
  498. package/src/legacy-runtime/runtime-cores/adapters/attachment/index.ts +9 -4
  499. package/src/legacy-runtime/runtime-cores/adapters/feedback/index.ts +2 -1
  500. package/src/legacy-runtime/runtime-cores/adapters/speech/index.ts +6 -3
  501. package/src/legacy-runtime/runtime-cores/adapters/suggestion/index.ts +2 -1
  502. package/src/legacy-runtime/runtime-cores/adapters/thread-history/index.ts +9 -2
  503. package/src/legacy-runtime/runtime-cores/assistant-transport/transport-scheduling.test.ts +136 -0
  504. package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +1 -1
  505. package/src/legacy-runtime/runtime-cores/assistant-transport/{useAssistantTransportRuntime.tsx → useAssistantTransportRuntime.ts} +5 -5
  506. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.test.ts +223 -0
  507. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.ts +171 -42
  508. package/src/legacy-runtime/runtime-cores/assistant-transport/utils.ts +5 -37
  509. package/src/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.ts +1 -0
  510. package/src/legacy-runtime/runtime-cores/composer/DefaultEditComposerRuntimeCore.ts +1 -0
  511. package/src/legacy-runtime/runtime-cores/composer/DefaultThreadComposerRuntimeCore.ts +1 -0
  512. package/src/legacy-runtime/runtime-cores/core/AssistantRuntimeCore.ts +1 -0
  513. package/src/legacy-runtime/runtime-cores/core/BaseAssistantRuntimeCore.ts +1 -0
  514. package/src/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.ts +1 -0
  515. package/src/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.ts +6 -0
  516. package/src/legacy-runtime/runtime-cores/core/ThreadListRuntimeCore.ts +4 -0
  517. package/src/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.ts +13 -0
  518. package/src/legacy-runtime/runtime-cores/core/index.ts +3 -3
  519. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.ts +6 -0
  520. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreRuntimeCore.ts +1 -0
  521. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadListRuntimeCore.ts +2 -0
  522. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.ts +4 -0
  523. package/src/legacy-runtime/runtime-cores/external-store/ThreadMessageConverter.ts +2 -23
  524. package/src/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.ts +2 -0
  525. package/src/legacy-runtime/runtime-cores/external-store/auto-status.ts +1 -0
  526. package/src/legacy-runtime/runtime-cores/external-store/{createMessageConverter.tsx → createMessageConverter.ts} +1 -1
  527. package/src/legacy-runtime/runtime-cores/external-store/{external-message-converter.tsx → external-message-converter.ts} +13 -4
  528. package/src/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.ts +5 -0
  529. package/src/legacy-runtime/runtime-cores/external-store/index.ts +9 -6
  530. package/src/legacy-runtime/runtime-cores/external-store/{useExternalStoreRuntime.tsx → useExternalStoreRuntime.ts} +1 -1
  531. package/src/legacy-runtime/runtime-cores/index.ts +3 -4
  532. package/src/legacy-runtime/runtime-cores/local/ChatModelAdapter.ts +7 -0
  533. package/src/legacy-runtime/runtime-cores/local/LocalRuntimeCore.ts +1 -0
  534. package/src/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.ts +36 -0
  535. package/src/legacy-runtime/runtime-cores/local/LocalThreadListRuntimeCore.ts +2 -0
  536. package/src/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.ts +1 -0
  537. package/src/legacy-runtime/runtime-cores/local/index.ts +10 -6
  538. package/src/legacy-runtime/runtime-cores/local/shouldContinue.ts +1 -0
  539. package/src/legacy-runtime/runtime-cores/remote-thread-list/BaseSubscribable.ts +1 -0
  540. package/src/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.ts +1 -0
  541. package/src/legacy-runtime/runtime-cores/remote-thread-list/OptimisticState.ts +1 -89
  542. package/src/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +1 -1
  543. package/src/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +33 -136
  544. package/src/legacy-runtime/runtime-cores/remote-thread-list/adapter/cloud.tsx +11 -3
  545. package/src/legacy-runtime/runtime-cores/remote-thread-list/adapter/in-memory.ts +1 -0
  546. package/src/legacy-runtime/runtime-cores/remote-thread-list/index.ts +5 -3
  547. package/src/legacy-runtime/runtime-cores/remote-thread-list/types.ts +7 -0
  548. package/src/legacy-runtime/runtime-cores/remote-thread-list/{useRemoteThreadListRuntime.tsx → useRemoteThreadListRuntime.ts} +9 -5
  549. package/src/legacy-runtime/runtime-cores/utils/MessageRepository.ts +3 -0
  550. package/src/model-context/frame/AssistantFrame.test.ts +6 -4
  551. package/src/model-context/frame/index.ts +9 -3
  552. package/src/model-context/frame/useAssistantFrameHost.ts +2 -2
  553. package/src/model-context/index.ts +12 -3
  554. package/src/model-context/makeAssistantDataUI.ts +22 -0
  555. package/src/model-context/makeAssistantVisible.tsx +1 -1
  556. package/src/model-context/registry/index.ts +6 -2
  557. package/src/model-context/useAssistantDataUI.ts +18 -0
  558. package/src/model-context/{useAssistantInstructions.tsx → useAssistantInstructions.ts} +2 -4
  559. package/src/model-context/{useAssistantTool.tsx → useAssistantTool.ts} +2 -3
  560. package/src/primitives/composer/ComposerAttachments.tsx +1 -1
  561. package/src/primitives/index.ts +1 -0
  562. package/src/primitives/message/MessageAttachments.tsx +1 -1
  563. package/src/primitives/message/MessageParts.tsx +33 -3
  564. package/src/primitives/message/MessagePartsGrouped.tsx +35 -3
  565. package/src/primitives/messagePart/{useMessagePartData.tsx → useMessagePartData.ts} +1 -1
  566. package/src/primitives/messagePart/{useMessagePartFile.tsx → useMessagePartFile.ts} +1 -2
  567. package/src/primitives/messagePart/{useMessagePartImage.tsx → useMessagePartImage.ts} +1 -2
  568. package/src/primitives/messagePart/{useMessagePartReasoning.tsx → useMessagePartReasoning.ts} +4 -2
  569. package/src/primitives/messagePart/{useMessagePartSource.tsx → useMessagePartSource.ts} +1 -2
  570. package/src/primitives/messagePart/{useMessagePartText.tsx → useMessagePartText.ts} +5 -2
  571. package/src/primitives/selectionToolbar/SelectionToolbarQuote.tsx +1 -1
  572. package/src/primitives/thread/ThreadMessages.tsx +1 -1
  573. package/src/primitives/threadListItem/ThreadListItemTitle.test.tsx +52 -0
  574. package/src/tests/BaseComposerRuntimeCore.test.ts +318 -0
  575. package/src/tests/BaseSubscribable.test.ts +54 -0
  576. package/src/tests/DataRenderers.test.ts +223 -0
  577. package/src/tests/ExternalStoreThreadRuntimeCore.test.ts +510 -0
  578. package/src/tests/LocalThreadRuntimeCore.test.ts +321 -0
  579. package/src/tests/external-message-converter.test.ts +1 -1
  580. package/src/tests/shouldContinue.test.ts +89 -0
  581. package/src/types/{MessagePartComponentTypes.tsx → MessagePartComponentTypes.ts} +9 -2
  582. package/src/types/index.ts +9 -10
  583. package/src/types/scopes/dataRenderers.ts +15 -0
  584. package/src/types/scopes/index.ts +10 -22
  585. package/src/types/scopes/tools.ts +1 -2
  586. package/src/types/store-augmentation.ts +5 -25
  587. package/src/utils/smooth/SmoothContext.tsx +2 -2
  588. package/src/utils/smooth/{useSmooth.tsx → useSmooth.ts} +21 -10
  589. package/dist/client/ChainOfThoughtClient.d.ts +0 -15
  590. package/dist/client/ChainOfThoughtClient.d.ts.map +0 -1
  591. package/dist/client/ChainOfThoughtClient.js +0 -21
  592. package/dist/client/ChainOfThoughtClient.js.map +0 -1
  593. package/dist/client/ModelContextClient.d.ts +0 -3
  594. package/dist/client/ModelContextClient.d.ts.map +0 -1
  595. package/dist/client/ModelContextClient.js +0 -17
  596. package/dist/client/ModelContextClient.js.map +0 -1
  597. package/dist/client/NoOpComposerClient.d.ts +0 -7
  598. package/dist/client/NoOpComposerClient.d.ts.map +0 -1
  599. package/dist/client/NoOpComposerClient.js +0 -65
  600. package/dist/client/NoOpComposerClient.js.map +0 -1
  601. package/dist/client/Suggestions.d.ts +0 -11
  602. package/dist/client/Suggestions.d.ts.map +0 -1
  603. package/dist/client/Suggestions.js +0 -43
  604. package/dist/client/Suggestions.js.map +0 -1
  605. package/dist/client/ThreadMessageClient.d.ts +0 -11
  606. package/dist/client/ThreadMessageClient.d.ts.map +0 -1
  607. package/dist/client/ThreadMessageClient.js +0 -121
  608. package/dist/client/ThreadMessageClient.js.map +0 -1
  609. package/dist/legacy-runtime/client/AttachmentRuntimeClient.d.ts +0 -8
  610. package/dist/legacy-runtime/client/AttachmentRuntimeClient.d.ts.map +0 -1
  611. package/dist/legacy-runtime/client/AttachmentRuntimeClient.js +0 -14
  612. package/dist/legacy-runtime/client/AttachmentRuntimeClient.js.map +0 -1
  613. package/dist/legacy-runtime/client/ComposerRuntimeClient.d.ts +0 -13
  614. package/dist/legacy-runtime/client/ComposerRuntimeClient.d.ts.map +0 -1
  615. package/dist/legacy-runtime/client/ComposerRuntimeClient.js +0 -86
  616. package/dist/legacy-runtime/client/ComposerRuntimeClient.js.map +0 -1
  617. package/dist/legacy-runtime/client/MessagePartRuntimeClient.d.ts +0 -8
  618. package/dist/legacy-runtime/client/MessagePartRuntimeClient.d.ts.map +0 -1
  619. package/dist/legacy-runtime/client/MessagePartRuntimeClient.js +0 -15
  620. package/dist/legacy-runtime/client/MessagePartRuntimeClient.js.map +0 -1
  621. package/dist/legacy-runtime/client/MessageRuntimeClient.d.ts +0 -11
  622. package/dist/legacy-runtime/client/MessageRuntimeClient.d.ts.map +0 -1
  623. package/dist/legacy-runtime/client/MessageRuntimeClient.js +0 -81
  624. package/dist/legacy-runtime/client/MessageRuntimeClient.js.map +0 -1
  625. package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.d.ts +0 -8
  626. package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.d.ts.map +0 -1
  627. package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.js +0 -44
  628. package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.js.map +0 -1
  629. package/dist/legacy-runtime/client/ThreadListRuntimeClient.d.ts +0 -11
  630. package/dist/legacy-runtime/client/ThreadListRuntimeClient.d.ts.map +0 -1
  631. package/dist/legacy-runtime/client/ThreadListRuntimeClient.js +0 -57
  632. package/dist/legacy-runtime/client/ThreadListRuntimeClient.js.map +0 -1
  633. package/dist/legacy-runtime/client/ThreadRuntimeClient.d.ts +0 -8
  634. package/dist/legacy-runtime/client/ThreadRuntimeClient.d.ts.map +0 -1
  635. package/dist/legacy-runtime/client/ThreadRuntimeClient.js +0 -94
  636. package/dist/legacy-runtime/client/ThreadRuntimeClient.js.map +0 -1
  637. package/dist/legacy-runtime/runtime/subscribable/BaseSubject.d.ts +0 -11
  638. package/dist/legacy-runtime/runtime/subscribable/BaseSubject.d.ts.map +0 -1
  639. package/dist/legacy-runtime/runtime/subscribable/BaseSubject.js +0 -31
  640. package/dist/legacy-runtime/runtime/subscribable/BaseSubject.js.map +0 -1
  641. package/dist/legacy-runtime/runtime/subscribable/EventSubscriptionSubject.d.ts +0 -13
  642. package/dist/legacy-runtime/runtime/subscribable/EventSubscriptionSubject.d.ts.map +0 -1
  643. package/dist/legacy-runtime/runtime/subscribable/EventSubscriptionSubject.js +0 -37
  644. package/dist/legacy-runtime/runtime/subscribable/EventSubscriptionSubject.js.map +0 -1
  645. package/dist/legacy-runtime/runtime/subscribable/LazyMemoizeSubject.d.ts +0 -13
  646. package/dist/legacy-runtime/runtime/subscribable/LazyMemoizeSubject.d.ts.map +0 -1
  647. package/dist/legacy-runtime/runtime/subscribable/LazyMemoizeSubject.js +0 -34
  648. package/dist/legacy-runtime/runtime/subscribable/LazyMemoizeSubject.js.map +0 -1
  649. package/dist/legacy-runtime/runtime/subscribable/NestedSubscriptionSubject.d.ts +0 -12
  650. package/dist/legacy-runtime/runtime/subscribable/NestedSubscriptionSubject.d.ts.map +0 -1
  651. package/dist/legacy-runtime/runtime/subscribable/NestedSubscriptionSubject.js +0 -39
  652. package/dist/legacy-runtime/runtime/subscribable/NestedSubscriptionSubject.js.map +0 -1
  653. package/dist/legacy-runtime/runtime/subscribable/SKIP_UPDATE.d.ts +0 -3
  654. package/dist/legacy-runtime/runtime/subscribable/SKIP_UPDATE.d.ts.map +0 -1
  655. package/dist/legacy-runtime/runtime/subscribable/SKIP_UPDATE.js +0 -2
  656. package/dist/legacy-runtime/runtime/subscribable/SKIP_UPDATE.js.map +0 -1
  657. package/dist/legacy-runtime/runtime/subscribable/ShallowMemoizeSubject.d.ts +0 -13
  658. package/dist/legacy-runtime/runtime/subscribable/ShallowMemoizeSubject.d.ts.map +0 -1
  659. package/dist/legacy-runtime/runtime/subscribable/ShallowMemoizeSubject.js +0 -41
  660. package/dist/legacy-runtime/runtime/subscribable/ShallowMemoizeSubject.js.map +0 -1
  661. package/dist/legacy-runtime/runtime/subscribable/Subscribable.d.ts +0 -16
  662. package/dist/legacy-runtime/runtime/subscribable/Subscribable.d.ts.map +0 -1
  663. package/dist/legacy-runtime/runtime/subscribable/Subscribable.js +0 -2
  664. package/dist/legacy-runtime/runtime/subscribable/Subscribable.js.map +0 -1
  665. package/dist/legacy-runtime/runtime/subscribable/shallowEqual.d.ts +0 -2
  666. package/dist/legacy-runtime/runtime/subscribable/shallowEqual.d.ts.map +0 -1
  667. package/dist/legacy-runtime/runtime/subscribable/shallowEqual.js +0 -16
  668. package/dist/legacy-runtime/runtime/subscribable/shallowEqual.js.map +0 -1
  669. package/dist/legacy-runtime/runtime-cores/adapters/attachment/AttachmentAdapter.d.ts +0 -64
  670. package/dist/legacy-runtime/runtime-cores/adapters/attachment/AttachmentAdapter.d.ts.map +0 -1
  671. package/dist/legacy-runtime/runtime-cores/adapters/attachment/AttachmentAdapter.js +0 -2
  672. package/dist/legacy-runtime/runtime-cores/adapters/attachment/AttachmentAdapter.js.map +0 -1
  673. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CompositeAttachmentAdapter.d.ts +0 -13
  674. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CompositeAttachmentAdapter.d.ts.map +0 -1
  675. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CompositeAttachmentAdapter.js +0 -79
  676. package/dist/legacy-runtime/runtime-cores/adapters/attachment/CompositeAttachmentAdapter.js.map +0 -1
  677. package/dist/legacy-runtime/runtime-cores/adapters/attachment/SimpleImageAttachmentAdapter.d.ts +0 -11
  678. package/dist/legacy-runtime/runtime-cores/adapters/attachment/SimpleImageAttachmentAdapter.d.ts.map +0 -1
  679. package/dist/legacy-runtime/runtime-cores/adapters/attachment/SimpleImageAttachmentAdapter.js +0 -35
  680. package/dist/legacy-runtime/runtime-cores/adapters/attachment/SimpleImageAttachmentAdapter.js.map +0 -1
  681. package/dist/legacy-runtime/runtime-cores/adapters/attachment/SimpleTextAttachmentAdapter.d.ts +0 -11
  682. package/dist/legacy-runtime/runtime-cores/adapters/attachment/SimpleTextAttachmentAdapter.d.ts.map +0 -1
  683. package/dist/legacy-runtime/runtime-cores/adapters/attachment/SimpleTextAttachmentAdapter.js +0 -35
  684. package/dist/legacy-runtime/runtime-cores/adapters/attachment/SimpleTextAttachmentAdapter.js.map +0 -1
  685. package/dist/legacy-runtime/runtime-cores/adapters/feedback/FeedbackAdapter.d.ts +0 -43
  686. package/dist/legacy-runtime/runtime-cores/adapters/feedback/FeedbackAdapter.d.ts.map +0 -1
  687. package/dist/legacy-runtime/runtime-cores/adapters/feedback/FeedbackAdapter.js +0 -2
  688. package/dist/legacy-runtime/runtime-cores/adapters/feedback/FeedbackAdapter.js.map +0 -1
  689. package/dist/legacy-runtime/runtime-cores/adapters/speech/SpeechAdapterTypes.d.ts +0 -110
  690. package/dist/legacy-runtime/runtime-cores/adapters/speech/SpeechAdapterTypes.d.ts.map +0 -1
  691. package/dist/legacy-runtime/runtime-cores/adapters/speech/SpeechAdapterTypes.js +0 -2
  692. package/dist/legacy-runtime/runtime-cores/adapters/speech/SpeechAdapterTypes.js.map +0 -1
  693. package/dist/legacy-runtime/runtime-cores/adapters/speech/WebSpeechDictationAdapter.d.ts +0 -61
  694. package/dist/legacy-runtime/runtime-cores/adapters/speech/WebSpeechDictationAdapter.d.ts.map +0 -1
  695. package/dist/legacy-runtime/runtime-cores/adapters/speech/WebSpeechDictationAdapter.js +0 -152
  696. package/dist/legacy-runtime/runtime-cores/adapters/speech/WebSpeechDictationAdapter.js.map +0 -1
  697. package/dist/legacy-runtime/runtime-cores/adapters/speech/WebSpeechSynthesisAdapter.d.ts +0 -5
  698. package/dist/legacy-runtime/runtime-cores/adapters/speech/WebSpeechSynthesisAdapter.d.ts.map +0 -1
  699. package/dist/legacy-runtime/runtime-cores/adapters/speech/WebSpeechSynthesisAdapter.js +0 -42
  700. package/dist/legacy-runtime/runtime-cores/adapters/speech/WebSpeechSynthesisAdapter.js.map +0 -1
  701. package/dist/legacy-runtime/runtime-cores/adapters/suggestion/SuggestionAdapter.d.ts +0 -10
  702. package/dist/legacy-runtime/runtime-cores/adapters/suggestion/SuggestionAdapter.d.ts.map +0 -1
  703. package/dist/legacy-runtime/runtime-cores/adapters/suggestion/SuggestionAdapter.js +0 -2
  704. package/dist/legacy-runtime/runtime-cores/adapters/suggestion/SuggestionAdapter.js.map +0 -1
  705. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/MessageFormatAdapter.d.ts +0 -21
  706. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/MessageFormatAdapter.d.ts.map +0 -1
  707. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/MessageFormatAdapter.js +0 -2
  708. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/MessageFormatAdapter.js.map +0 -1
  709. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/ThreadHistoryAdapter.d.ts +0 -16
  710. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/ThreadHistoryAdapter.d.ts.map +0 -1
  711. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/ThreadHistoryAdapter.js +0 -2
  712. package/dist/legacy-runtime/runtime-cores/adapters/thread-history/ThreadHistoryAdapter.js.map +0 -1
  713. package/dist/legacy-runtime/util-hooks/tapSubscribable.d.ts +0 -3
  714. package/dist/legacy-runtime/util-hooks/tapSubscribable.d.ts.map +0 -1
  715. package/dist/legacy-runtime/util-hooks/tapSubscribable.js +0 -12
  716. package/dist/legacy-runtime/util-hooks/tapSubscribable.js.map +0 -1
  717. package/dist/model-context/ModelContextTypes.d.ts +0 -29
  718. package/dist/model-context/ModelContextTypes.d.ts.map +0 -1
  719. package/dist/model-context/ModelContextTypes.js +0 -41
  720. package/dist/model-context/ModelContextTypes.js.map +0 -1
  721. package/dist/model-context/frame/AssistantFrameHost.d.ts +0 -37
  722. package/dist/model-context/frame/AssistantFrameHost.d.ts.map +0 -1
  723. package/dist/model-context/frame/AssistantFrameHost.js +0 -161
  724. package/dist/model-context/frame/AssistantFrameHost.js.map +0 -1
  725. package/dist/model-context/frame/AssistantFrameProvider.d.ts +0 -41
  726. package/dist/model-context/frame/AssistantFrameProvider.d.ts.map +0 -1
  727. package/dist/model-context/frame/AssistantFrameProvider.js +0 -167
  728. package/dist/model-context/frame/AssistantFrameProvider.js.map +0 -1
  729. package/dist/model-context/frame/AssistantFrameTypes.d.ts +0 -29
  730. package/dist/model-context/frame/AssistantFrameTypes.d.ts.map +0 -1
  731. package/dist/model-context/frame/AssistantFrameTypes.js +0 -2
  732. package/dist/model-context/frame/AssistantFrameTypes.js.map +0 -1
  733. package/dist/model-context/registry/ModelContextRegistry.d.ts +0 -19
  734. package/dist/model-context/registry/ModelContextRegistry.d.ts.map +0 -1
  735. package/dist/model-context/registry/ModelContextRegistry.js +0 -114
  736. package/dist/model-context/registry/ModelContextRegistry.js.map +0 -1
  737. package/dist/model-context/registry/ModelContextRegistryHandles.d.ts +0 -14
  738. package/dist/model-context/registry/ModelContextRegistryHandles.d.ts.map +0 -1
  739. package/dist/model-context/registry/ModelContextRegistryHandles.js +0 -2
  740. package/dist/model-context/registry/ModelContextRegistryHandles.js.map +0 -1
  741. package/dist/model-context/tool.d.ts +0 -3
  742. package/dist/model-context/tool.d.ts.map +0 -1
  743. package/dist/model-context/tool.js +0 -5
  744. package/dist/model-context/tool.js.map +0 -1
  745. package/dist/types/AssistantTypes.d.ts +0 -108
  746. package/dist/types/AssistantTypes.d.ts.map +0 -1
  747. package/dist/types/AssistantTypes.js +0 -2
  748. package/dist/types/AssistantTypes.js.map +0 -1
  749. package/dist/types/AttachmentTypes.d.ts +0 -35
  750. package/dist/types/AttachmentTypes.d.ts.map +0 -1
  751. package/dist/types/AttachmentTypes.js +0 -2
  752. package/dist/types/AttachmentTypes.js.map +0 -1
  753. package/dist/types/MessagePartTypes.d.ts +0 -62
  754. package/dist/types/MessagePartTypes.d.ts.map +0 -1
  755. package/dist/types/MessagePartTypes.js +0 -2
  756. package/dist/types/MessagePartTypes.js.map +0 -1
  757. package/dist/types/QuoteTypes.d.ts +0 -5
  758. package/dist/types/QuoteTypes.d.ts.map +0 -1
  759. package/dist/types/QuoteTypes.js +0 -2
  760. package/dist/types/QuoteTypes.js.map +0 -1
  761. package/dist/types/Unsubscribe.d.ts +0 -2
  762. package/dist/types/Unsubscribe.d.ts.map +0 -1
  763. package/dist/types/Unsubscribe.js +0 -2
  764. package/dist/types/Unsubscribe.js.map +0 -1
  765. package/dist/types/scopes/attachment.d.ts +0 -22
  766. package/dist/types/scopes/attachment.d.ts.map +0 -1
  767. package/dist/types/scopes/attachment.js +0 -2
  768. package/dist/types/scopes/attachment.js.map +0 -1
  769. package/dist/types/scopes/chainOfThought.d.ts +0 -40
  770. package/dist/types/scopes/chainOfThought.d.ts.map +0 -1
  771. package/dist/types/scopes/chainOfThought.js +0 -2
  772. package/dist/types/scopes/chainOfThought.js.map +0 -1
  773. package/dist/types/scopes/composer.d.ts +0 -77
  774. package/dist/types/scopes/composer.d.ts.map +0 -1
  775. package/dist/types/scopes/composer.js +0 -2
  776. package/dist/types/scopes/composer.js.map +0 -1
  777. package/dist/types/scopes/message.d.ts +0 -87
  778. package/dist/types/scopes/message.d.ts.map +0 -1
  779. package/dist/types/scopes/message.js +0 -2
  780. package/dist/types/scopes/message.js.map +0 -1
  781. package/dist/types/scopes/modelContext.d.ts +0 -12
  782. package/dist/types/scopes/modelContext.d.ts.map +0 -1
  783. package/dist/types/scopes/modelContext.js +0 -2
  784. package/dist/types/scopes/modelContext.js.map +0 -1
  785. package/dist/types/scopes/part.d.ts +0 -43
  786. package/dist/types/scopes/part.d.ts.map +0 -1
  787. package/dist/types/scopes/part.js +0 -2
  788. package/dist/types/scopes/part.js.map +0 -1
  789. package/dist/types/scopes/suggestion.d.ts +0 -20
  790. package/dist/types/scopes/suggestion.d.ts.map +0 -1
  791. package/dist/types/scopes/suggestion.js +0 -2
  792. package/dist/types/scopes/suggestion.js.map +0 -1
  793. package/dist/types/scopes/suggestions.d.ts +0 -20
  794. package/dist/types/scopes/suggestions.d.ts.map +0 -1
  795. package/dist/types/scopes/suggestions.js +0 -2
  796. package/dist/types/scopes/suggestions.js.map +0 -1
  797. package/dist/types/scopes/thread.d.ts +0 -138
  798. package/dist/types/scopes/thread.d.ts.map +0 -1
  799. package/dist/types/scopes/thread.js +0 -2
  800. package/dist/types/scopes/thread.js.map +0 -1
  801. package/dist/types/scopes/threadListItem.d.ts +0 -50
  802. package/dist/types/scopes/threadListItem.d.ts.map +0 -1
  803. package/dist/types/scopes/threadListItem.js +0 -2
  804. package/dist/types/scopes/threadListItem.js.map +0 -1
  805. package/dist/types/scopes/threads.d.ts +0 -28
  806. package/dist/types/scopes/threads.d.ts.map +0 -1
  807. package/dist/types/scopes/threads.js +0 -2
  808. package/dist/types/scopes/threads.js.map +0 -1
  809. package/dist/utils/CompositeContextProvider.d.ts +0 -10
  810. package/dist/utils/CompositeContextProvider.d.ts.map +0 -1
  811. package/dist/utils/CompositeContextProvider.js +0 -29
  812. package/dist/utils/CompositeContextProvider.js.map +0 -1
  813. package/dist/utils/getThreadMessageText.d.ts +0 -3
  814. package/dist/utils/getThreadMessageText.d.ts.map +0 -1
  815. package/dist/utils/getThreadMessageText.js +0 -5
  816. package/dist/utils/getThreadMessageText.js.map +0 -1
  817. package/dist/utils/idUtils.d.ts +0 -6
  818. package/dist/utils/idUtils.d.ts.map +0 -1
  819. package/dist/utils/idUtils.js +0 -9
  820. package/dist/utils/idUtils.js.map +0 -1
  821. package/src/client/ChainOfThoughtClient.ts +0 -43
  822. package/src/client/ModelContextClient.ts +0 -23
  823. package/src/client/NoOpComposerClient.tsx +0 -70
  824. package/src/client/Suggestions.ts +0 -74
  825. package/src/client/ThreadMessageClient.tsx +0 -178
  826. package/src/legacy-runtime/client/AttachmentRuntimeClient.ts +0 -19
  827. package/src/legacy-runtime/client/ComposerRuntimeClient.ts +0 -138
  828. package/src/legacy-runtime/client/MessagePartRuntimeClient.ts +0 -20
  829. package/src/legacy-runtime/client/MessageRuntimeClient.ts +0 -151
  830. package/src/legacy-runtime/client/ThreadListItemRuntimeClient.ts +0 -59
  831. package/src/legacy-runtime/client/ThreadListRuntimeClient.ts +0 -100
  832. package/src/legacy-runtime/client/ThreadRuntimeClient.ts +0 -148
  833. package/src/legacy-runtime/cloud/AssistantCloudThreadHistoryAdapter.tsx +0 -182
  834. package/src/legacy-runtime/runtime/subscribable/BaseSubject.ts +0 -36
  835. package/src/legacy-runtime/runtime/subscribable/EventSubscriptionSubject.ts +0 -44
  836. package/src/legacy-runtime/runtime/subscribable/LazyMemoizeSubject.ts +0 -42
  837. package/src/legacy-runtime/runtime/subscribable/NestedSubscriptionSubject.ts +0 -58
  838. package/src/legacy-runtime/runtime/subscribable/SKIP_UPDATE.ts +0 -2
  839. package/src/legacy-runtime/runtime/subscribable/ShallowMemoizeSubject.ts +0 -47
  840. package/src/legacy-runtime/runtime/subscribable/Subscribable.ts +0 -26
  841. package/src/legacy-runtime/runtime/subscribable/shallowEqual.ts +0 -16
  842. package/src/legacy-runtime/runtime-cores/adapters/attachment/AttachmentAdapter.ts +0 -71
  843. package/src/legacy-runtime/runtime-cores/adapters/attachment/CompositeAttachmentAdapter.ts +0 -107
  844. package/src/legacy-runtime/runtime-cores/adapters/attachment/SimpleImageAttachmentAdapter.ts +0 -49
  845. package/src/legacy-runtime/runtime-cores/adapters/attachment/SimpleTextAttachmentAdapter.ts +0 -50
  846. package/src/legacy-runtime/runtime-cores/adapters/feedback/FeedbackAdapter.ts +0 -43
  847. package/src/legacy-runtime/runtime-cores/adapters/speech/SpeechAdapterTypes.ts +0 -121
  848. package/src/legacy-runtime/runtime-cores/adapters/speech/WebSpeechDictationAdapter.ts +0 -255
  849. package/src/legacy-runtime/runtime-cores/adapters/speech/WebSpeechSynthesisAdapter.ts +0 -48
  850. package/src/legacy-runtime/runtime-cores/adapters/suggestion/SuggestionAdapter.ts +0 -14
  851. package/src/legacy-runtime/runtime-cores/adapters/thread-history/MessageFormatAdapter.ts +0 -25
  852. package/src/legacy-runtime/runtime-cores/adapters/thread-history/ThreadHistoryAdapter.ts +0 -26
  853. package/src/legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore.tsx +0 -423
  854. package/src/legacy-runtime/runtime-cores/composer/DefaultEditComposerRuntimeCore.tsx +0 -72
  855. package/src/legacy-runtime/runtime-cores/composer/DefaultThreadComposerRuntimeCore.tsx +0 -65
  856. package/src/legacy-runtime/runtime-cores/core/AssistantRuntimeCore.tsx +0 -19
  857. package/src/legacy-runtime/runtime-cores/core/BaseAssistantRuntimeCore.tsx +0 -20
  858. package/src/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.tsx +0 -237
  859. package/src/legacy-runtime/runtime-cores/core/ComposerRuntimeCore.tsx +0 -90
  860. package/src/legacy-runtime/runtime-cores/core/ThreadListRuntimeCore.tsx +0 -49
  861. package/src/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.tsx +0 -154
  862. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.tsx +0 -111
  863. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreRuntimeCore.tsx +0 -26
  864. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadListRuntimeCore.tsx +0 -235
  865. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.tsx +0 -368
  866. package/src/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.tsx +0 -227
  867. package/src/legacy-runtime/runtime-cores/external-store/auto-status.tsx +0 -67
  868. package/src/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.tsx +0 -37
  869. package/src/legacy-runtime/runtime-cores/local/ChatModelAdapter.tsx +0 -64
  870. package/src/legacy-runtime/runtime-cores/local/LocalRuntimeCore.tsx +0 -32
  871. package/src/legacy-runtime/runtime-cores/local/LocalRuntimeOptions.tsx +0 -60
  872. package/src/legacy-runtime/runtime-cores/local/LocalThreadListRuntimeCore.tsx +0 -116
  873. package/src/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.tsx +0 -519
  874. package/src/legacy-runtime/runtime-cores/local/shouldContinue.tsx +0 -26
  875. package/src/legacy-runtime/runtime-cores/remote-thread-list/BaseSubscribable.tsx +0 -41
  876. package/src/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.tsx +0 -200
  877. package/src/legacy-runtime/runtime-cores/remote-thread-list/adapter/in-memory.tsx +0 -43
  878. package/src/legacy-runtime/runtime-cores/remote-thread-list/types.tsx +0 -49
  879. package/src/legacy-runtime/runtime-cores/utils/MessageRepository.tsx +0 -551
  880. package/src/legacy-runtime/util-hooks/tapSubscribable.ts +0 -16
  881. package/src/model-context/ModelContextTypes.ts +0 -76
  882. package/src/model-context/frame/AssistantFrameHost.ts +0 -218
  883. package/src/model-context/frame/AssistantFrameProvider.ts +0 -230
  884. package/src/model-context/frame/AssistantFrameTypes.ts +0 -40
  885. package/src/model-context/registry/ModelContextRegistry.ts +0 -165
  886. package/src/model-context/registry/ModelContextRegistryHandles.ts +0 -19
  887. package/src/model-context/tool.ts +0 -9
  888. package/src/tests/MessageRepository.test.ts +0 -786
  889. package/src/types/AssistantTypes.ts +0 -166
  890. package/src/types/AttachmentTypes.ts +0 -45
  891. package/src/types/MessagePartTypes.ts +0 -82
  892. package/src/types/QuoteTypes.ts +0 -4
  893. package/src/types/Unsubscribe.tsx +0 -1
  894. package/src/types/scopes/attachment.ts +0 -22
  895. package/src/types/scopes/chainOfThought.ts +0 -42
  896. package/src/types/scopes/composer.ts +0 -80
  897. package/src/types/scopes/message.ts +0 -78
  898. package/src/types/scopes/modelContext.ts +0 -14
  899. package/src/types/scopes/part.ts +0 -49
  900. package/src/types/scopes/suggestion.ts +0 -20
  901. package/src/types/scopes/suggestions.ts +0 -21
  902. package/src/types/scopes/thread.ts +0 -141
  903. package/src/types/scopes/threadListItem.ts +0 -44
  904. package/src/types/scopes/threads.ts +0 -36
  905. package/src/utils/CompositeContextProvider.ts +0 -36
  906. package/src/utils/getThreadMessageText.tsx +0 -15
  907. package/src/utils/idUtils.tsx +0 -14
  908. /package/src/legacy-runtime/runtime-cores/local/{useLocalRuntime.tsx → useLocalRuntime.ts} +0 -0
  909. /package/src/model-context/{makeAssistantTool.tsx → makeAssistantTool.ts} +0 -0
  910. /package/src/model-context/{makeAssistantToolUI.tsx → makeAssistantToolUI.ts} +0 -0
  911. /package/src/model-context/{toolbox.tsx → toolbox.ts} +0 -0
  912. /package/src/model-context/{useAssistantToolUI.tsx → useAssistantToolUI.ts} +0 -0
  913. /package/src/model-context/{useInlineRender.tsx → useInlineRender.ts} +0 -0
  914. /package/src/primitives/actionBar/{ActionBarEdit.tsx → ActionBarEdit.ts} +0 -0
  915. /package/src/primitives/actionBar/{ActionBarReload.tsx → ActionBarReload.ts} +0 -0
  916. /package/src/primitives/actionBar/{ActionBarSpeak.tsx → ActionBarSpeak.ts} +0 -0
  917. /package/src/primitives/actionBar/{useActionBarFloatStatus.tsx → useActionBarFloatStatus.ts} +0 -0
  918. /package/src/primitives/actionBarMore/{scope.tsx → scope.ts} +0 -0
  919. /package/src/primitives/assistantModal/{scope.tsx → scope.ts} +0 -0
  920. /package/src/primitives/attachment/{AttachmentRemove.tsx → AttachmentRemove.ts} +0 -0
  921. /package/src/primitives/branchPicker/{BranchPickerNext.tsx → BranchPickerNext.ts} +0 -0
  922. /package/src/primitives/branchPicker/{BranchPickerPrevious.tsx → BranchPickerPrevious.ts} +0 -0
  923. /package/src/primitives/chainOfThought/{ChainOfThoughtAccordionTrigger.tsx → ChainOfThoughtAccordionTrigger.ts} +0 -0
  924. /package/src/primitives/composer/{ComposerAddAttachment.tsx → ComposerAddAttachment.ts} +0 -0
  925. /package/src/primitives/composer/{ComposerCancel.tsx → ComposerCancel.ts} +0 -0
  926. /package/src/primitives/composer/{ComposerDictate.tsx → ComposerDictate.ts} +0 -0
  927. /package/src/primitives/composer/{ComposerIf.tsx → ComposerIf.ts} +0 -0
  928. /package/src/primitives/composer/{ComposerSend.tsx → ComposerSend.ts} +0 -0
  929. /package/src/primitives/composer/{ComposerStopDictation.tsx → ComposerStopDictation.ts} +0 -0
  930. /package/src/primitives/message/{MessageError.tsx → MessageError.ts} +0 -0
  931. /package/src/primitives/message/{MessageIf.tsx → MessageIf.ts} +0 -0
  932. /package/src/primitives/messagePart/{MessagePartInProgress.tsx → MessagePartInProgress.ts} +0 -0
  933. /package/src/primitives/reasoning/{useScrollLock.tsx → useScrollLock.ts} +0 -0
  934. /package/src/primitives/suggestion/{SuggestionTrigger.tsx → SuggestionTrigger.ts} +0 -0
  935. /package/src/primitives/thread/{ThreadEmpty.tsx → ThreadEmpty.ts} +0 -0
  936. /package/src/primitives/thread/{ThreadIf.tsx → ThreadIf.ts} +0 -0
  937. /package/src/primitives/thread/{ThreadScrollToBottom.tsx → ThreadScrollToBottom.ts} +0 -0
  938. /package/src/primitives/thread/{ThreadSuggestion.tsx → ThreadSuggestion.ts} +0 -0
  939. /package/src/primitives/thread/{useThreadViewportAutoScroll.tsx → useThreadViewportAutoScroll.ts} +0 -0
  940. /package/src/primitives/threadListItemMore/{scope.tsx → scope.ts} +0 -0
  941. /package/src/utils/{RequireAtLeastOne.tsx → RequireAtLeastOne.ts} +0 -0
  942. /package/src/utils/hooks/{useOnResizeContent.tsx → useOnResizeContent.ts} +0 -0
  943. /package/src/utils/hooks/{useOnScrollToBottom.tsx → useOnScrollToBottom.ts} +0 -0
  944. /package/src/utils/{useToolArgsFieldStatus.tsx → useToolArgsFieldStatus.ts} +0 -0
@@ -17,6 +17,8 @@ import { MessagePartPrimitiveText } from "../messagePart/MessagePartText";
17
17
  import { MessagePartPrimitiveImage } from "../messagePart/MessagePartImage";
18
18
  import type {
19
19
  Unstable_AudioMessagePartComponent,
20
+ DataMessagePartComponent,
21
+ DataMessagePartProps,
20
22
  EmptyMessagePartComponent,
21
23
  TextMessagePartComponent,
22
24
  ImageMessagePartComponent,
@@ -28,7 +30,7 @@ import type {
28
30
  ReasoningGroupComponent,
29
31
  } from "../../types/MessagePartComponentTypes";
30
32
  import { MessagePartPrimitiveInProgress } from "../messagePart/MessagePartInProgress";
31
- import { MessagePartStatus } from "../../types/AssistantTypes";
33
+ import type { MessagePartStatus } from "@assistant-ui/core";
32
34
  import { useShallow } from "zustand/shallow";
33
35
 
34
36
  type MessagePartRange =
@@ -145,6 +147,13 @@ const useMessagePartsGroups = (
145
147
  };
146
148
 
147
149
  export namespace MessagePrimitiveParts {
150
+ type DataConfig = {
151
+ /** Map data event names to specific components */
152
+ by_name?: Record<string, DataMessagePartComponent | undefined> | undefined;
153
+ /** Fallback component for unmatched data events */
154
+ Fallback?: DataMessagePartComponent | undefined;
155
+ };
156
+
148
157
  type BaseComponents = {
149
158
  /** Component for rendering empty messages */
150
159
  Empty?: EmptyMessagePartComponent | undefined;
@@ -158,6 +167,8 @@ export namespace MessagePrimitiveParts {
158
167
  File?: FileMessagePartComponent | undefined;
159
168
  /** Component for rendering audio content (experimental) */
160
169
  Unstable_Audio?: Unstable_AudioMessagePartComponent | undefined;
170
+ /** Configuration for data part rendering */
171
+ data?: DataConfig | undefined;
161
172
  };
162
173
 
163
174
  type ToolsConfig =
@@ -330,6 +341,21 @@ const ToolUIDisplay = ({
330
341
  return <Render {...props} />;
331
342
  };
332
343
 
344
+ const DataUIDisplay = ({
345
+ Fallback,
346
+ ...props
347
+ }: {
348
+ Fallback: DataMessagePartComponent | undefined;
349
+ } & DataMessagePartProps) => {
350
+ const Render = useAuiState((s) => {
351
+ const Render = s.dataRenderers.renderers[props.name] ?? Fallback;
352
+ if (Array.isArray(Render)) return Render[0] ?? Fallback;
353
+ return Render;
354
+ });
355
+ if (!Render) return null;
356
+ return <Render {...props} />;
357
+ };
358
+
333
359
  const defaultComponents = {
334
360
  Text: () => (
335
361
  <p style={{ whiteSpace: "pre-line" }}>
@@ -361,6 +387,7 @@ export const MessagePartComponent: FC<MessagePartComponentProps> = ({
361
387
  File = defaultComponents.File,
362
388
  Unstable_Audio: Audio = defaultComponents.Unstable_Audio,
363
389
  tools = {},
390
+ data,
364
391
  } = {},
365
392
  }) => {
366
393
  const aui = useAui();
@@ -405,8 +432,10 @@ export const MessagePartComponent: FC<MessagePartComponentProps> = ({
405
432
  case "audio":
406
433
  return <Audio {...part} />;
407
434
 
408
- case "data":
409
- return null;
435
+ case "data": {
436
+ const Data = data?.by_name?.[part.name] ?? data?.Fallback;
437
+ return <DataUIDisplay {...part} Fallback={Data} />;
438
+ }
410
439
 
411
440
  default:
412
441
  const unhandledType: never = type;
@@ -456,6 +485,7 @@ export const MessagePrimitivePartByIndex: FC<MessagePrimitivePartByIndex.Props>
456
485
  prev.components?.File === next.components?.File &&
457
486
  prev.components?.Unstable_Audio === next.components?.Unstable_Audio &&
458
487
  prev.components?.tools === next.components?.tools &&
488
+ prev.components?.data === next.components?.data &&
459
489
  prev.components?.ToolGroup === next.components?.ToolGroup &&
460
490
  prev.components?.ReasoningGroup === next.components?.ReasoningGroup,
461
491
  );
@@ -16,6 +16,8 @@ import { MessagePartPrimitiveText } from "../messagePart/MessagePartText";
16
16
  import { MessagePartPrimitiveImage } from "../messagePart/MessagePartImage";
17
17
  import type {
18
18
  Unstable_AudioMessagePartComponent,
19
+ DataMessagePartComponent,
20
+ DataMessagePartProps,
19
21
  EmptyMessagePartComponent,
20
22
  TextMessagePartComponent,
21
23
  ImageMessagePartComponent,
@@ -26,7 +28,7 @@ import type {
26
28
  ReasoningMessagePartComponent,
27
29
  } from "../../types/MessagePartComponentTypes";
28
30
  import { MessagePartPrimitiveInProgress } from "../messagePart/MessagePartInProgress";
29
- import { MessagePartStatus } from "../../types/AssistantTypes";
31
+ import type { MessagePartStatus } from "@assistant-ui/core";
30
32
 
31
33
  type MessagePartGroup = {
32
34
  groupKey: string | undefined;
@@ -153,6 +155,17 @@ export namespace MessagePrimitiveUnstable_PartsGrouped {
153
155
  File?: FileMessagePartComponent | undefined;
154
156
  /** Component for rendering audio content (experimental) */
155
157
  Unstable_Audio?: Unstable_AudioMessagePartComponent | undefined;
158
+ /** Configuration for data part rendering */
159
+ data?:
160
+ | {
161
+ /** Map data event names to specific components */
162
+ by_name?:
163
+ | Record<string, DataMessagePartComponent | undefined>
164
+ | undefined;
165
+ /** Fallback component for unmatched data events */
166
+ Fallback?: DataMessagePartComponent | undefined;
167
+ }
168
+ | undefined;
156
169
  /** Configuration for tool call rendering */
157
170
  tools?:
158
171
  | {
@@ -228,6 +241,21 @@ const ToolUIDisplay = ({
228
241
  return <Render {...props} />;
229
242
  };
230
243
 
244
+ const DataUIDisplay = ({
245
+ Fallback,
246
+ ...props
247
+ }: {
248
+ Fallback: DataMessagePartComponent | undefined;
249
+ } & DataMessagePartProps) => {
250
+ const Render = useAuiState((s) => {
251
+ const Render = s.dataRenderers.renderers[props.name] ?? Fallback;
252
+ if (Array.isArray(Render)) return Render[0] ?? Fallback;
253
+ return Render;
254
+ });
255
+ if (!Render) return null;
256
+ return <Render {...props} />;
257
+ };
258
+
231
259
  const defaultComponents = {
232
260
  Text: () => (
233
261
  <p style={{ whiteSpace: "pre-line" }}>
@@ -258,6 +286,7 @@ const MessagePartComponent: FC<MessagePartComponentProps> = ({
258
286
  File = defaultComponents.File,
259
287
  Unstable_Audio: Audio = defaultComponents.Unstable_Audio,
260
288
  tools = {},
289
+ data,
261
290
  } = {},
262
291
  }) => {
263
292
  const aui = useAui();
@@ -302,8 +331,10 @@ const MessagePartComponent: FC<MessagePartComponentProps> = ({
302
331
  case "audio":
303
332
  return <Audio {...part} />;
304
333
 
305
- case "data":
306
- return null;
334
+ case "data": {
335
+ const Data = data?.by_name?.[part.name] ?? data?.Fallback;
336
+ return <DataUIDisplay {...part} Fallback={Data} />;
337
+ }
307
338
 
308
339
  default:
309
340
  const unhandledType: never = type;
@@ -335,6 +366,7 @@ const MessagePart = memo(
335
366
  prev.components?.File === next.components?.File &&
336
367
  prev.components?.Unstable_Audio === next.components?.Unstable_Audio &&
337
368
  prev.components?.tools === next.components?.tools &&
369
+ prev.components?.data === next.components?.data &&
338
370
  prev.components?.Group === next.components?.Group,
339
371
  );
340
372
 
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
+ import type { DataMessagePart } from "@assistant-ui/core";
3
4
  import { useAuiState } from "@assistant-ui/store";
4
- import { DataMessagePart } from "../../types";
5
5
 
6
6
  export const useMessagePartData = <T = any>(name?: string) => {
7
7
  const part = useAuiState((s) => {
@@ -1,8 +1,7 @@
1
1
  "use client";
2
2
 
3
- import { MessagePartState } from "../../legacy-runtime/runtime/MessagePartRuntime";
3
+ import type { FileMessagePart, MessagePartState } from "@assistant-ui/core";
4
4
  import { useAuiState } from "@assistant-ui/store";
5
- import { FileMessagePart } from "../../types";
6
5
 
7
6
  export const useMessagePartFile = () => {
8
7
  const file = useAuiState((s) => {
@@ -1,8 +1,7 @@
1
1
  "use client";
2
2
 
3
- import { MessagePartState } from "../../legacy-runtime/runtime/MessagePartRuntime";
3
+ import type { ImageMessagePart, MessagePartState } from "@assistant-ui/core";
4
4
  import { useAuiState } from "@assistant-ui/store";
5
- import { ImageMessagePart } from "../../types";
6
5
 
7
6
  export const useMessagePartImage = () => {
8
7
  const image = useAuiState((s) => {
@@ -1,8 +1,10 @@
1
1
  "use client";
2
2
 
3
- import { MessagePartState } from "../../legacy-runtime/runtime/MessagePartRuntime";
3
+ import type {
4
+ ReasoningMessagePart,
5
+ MessagePartState,
6
+ } from "@assistant-ui/core";
4
7
  import { useAuiState } from "@assistant-ui/store";
5
- import { ReasoningMessagePart } from "../../types";
6
8
 
7
9
  export const useMessagePartReasoning = () => {
8
10
  const text = useAuiState((s) => {
@@ -1,8 +1,7 @@
1
1
  "use client";
2
2
 
3
- import type { MessagePartState } from "../../legacy-runtime/runtime/MessagePartRuntime";
3
+ import type { SourceMessagePart, MessagePartState } from "@assistant-ui/core";
4
4
  import { useAuiState } from "@assistant-ui/store";
5
- import { SourceMessagePart } from "../../types";
6
5
 
7
6
  export const useMessagePartSource = () => {
8
7
  const source = useAuiState((s) => {
@@ -1,8 +1,11 @@
1
1
  "use client";
2
2
 
3
- import { MessagePartState } from "../../legacy-runtime/runtime/MessagePartRuntime";
3
+ import type {
4
+ TextMessagePart,
5
+ ReasoningMessagePart,
6
+ MessagePartState,
7
+ } from "@assistant-ui/core";
4
8
  import { useAuiState } from "@assistant-ui/store";
5
- import { TextMessagePart, ReasoningMessagePart } from "../../types";
6
9
 
7
10
  export const useMessagePartText = () => {
8
11
  const text = useAuiState((s) => {
@@ -40,7 +40,7 @@ export const SelectionToolbarPrimitiveQuote = forwardRef<
40
40
  const handleClick = useCallback(() => {
41
41
  if (!info) return;
42
42
 
43
- aui.thread().composer.setQuote({
43
+ aui.thread().composer().setQuote({
44
44
  text: info.text,
45
45
  messageId: info.messageId,
46
46
  });
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
+ import type { ThreadMessage as ThreadMessageType } from "@assistant-ui/core";
3
4
  import { type ComponentType, type FC, memo, useMemo } from "react";
4
5
  import { useAuiState } from "@assistant-ui/store";
5
6
  import { MessageByIndexProvider } from "../../context/providers";
6
- import { ThreadMessage as ThreadMessageType } from "../../types";
7
7
 
8
8
  export namespace ThreadPrimitiveMessages {
9
9
  export type Props = {
@@ -0,0 +1,52 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { renderToStaticMarkup } from "react-dom/server";
3
+ import type { ReactNode } from "react";
4
+ import { ThreadListItemPrimitiveTitle } from "./ThreadListItemTitle";
5
+
6
+ const mockUseAuiState = vi.fn();
7
+ type UseAuiStateSelector = Parameters<
8
+ typeof import("@assistant-ui/store")["useAuiState"]
9
+ >[0];
10
+
11
+ vi.mock("@assistant-ui/store", () => ({
12
+ useAuiState: (selector: UseAuiStateSelector) => mockUseAuiState(selector),
13
+ }));
14
+
15
+ const renderTitle = (
16
+ title: string | undefined,
17
+ fallback: ReactNode = "New Chat",
18
+ ) => {
19
+ mockUseAuiState.mockImplementation((selector: UseAuiStateSelector) =>
20
+ selector({ threadListItem: { title } } as never),
21
+ );
22
+
23
+ return renderToStaticMarkup(
24
+ <ThreadListItemPrimitiveTitle fallback={fallback} />,
25
+ );
26
+ };
27
+
28
+ describe("ThreadListItemPrimitiveTitle", () => {
29
+ it("renders the thread title text", () => {
30
+ const html = renderTitle("Weather Inquiry for San Francisco");
31
+
32
+ expect(html).toBe("Weather Inquiry for San Francisco");
33
+ });
34
+
35
+ it("renders fallback text when title is missing", () => {
36
+ const html = renderTitle(undefined, "New Chat");
37
+
38
+ expect(html).toBe("New Chat");
39
+ });
40
+
41
+ it("renders fallback text when title is an empty string", () => {
42
+ const html = renderTitle("", "New Chat");
43
+
44
+ expect(html).toBe("New Chat");
45
+ });
46
+
47
+ it("renders ReactNode fallback content", () => {
48
+ const html = renderTitle(undefined, <em>New Chat</em>);
49
+
50
+ expect(html).toBe("<em>New Chat</em>");
51
+ });
52
+ });
@@ -0,0 +1,318 @@
1
+ import { describe, it, expect, vi, beforeEach } from "vitest";
2
+ import { BaseComposerRuntimeCore } from "../legacy-runtime/runtime-cores/composer/BaseComposerRuntimeCore";
3
+ import type { AttachmentAdapter } from "../legacy-runtime/runtime-cores/adapters/attachment";
4
+ import type { DictationAdapter } from "../legacy-runtime/runtime-cores/adapters/speech/SpeechAdapterTypes";
5
+ import type { AppendMessage, PendingAttachment } from "@assistant-ui/core";
6
+
7
+ class TestComposerCore extends BaseComposerRuntimeCore {
8
+ private _attachmentAdapter: AttachmentAdapter | undefined;
9
+ private _dictationAdapter: DictationAdapter | undefined;
10
+ public sentMessages: Array<Omit<AppendMessage, "parentId" | "sourceId">> = [];
11
+ public cancelCalled = false;
12
+
13
+ protected getAttachmentAdapter() {
14
+ return this._attachmentAdapter;
15
+ }
16
+ protected getDictationAdapter() {
17
+ return this._dictationAdapter;
18
+ }
19
+
20
+ setAttachmentAdapter(adapter: AttachmentAdapter | undefined) {
21
+ this._attachmentAdapter = adapter;
22
+ }
23
+
24
+ setDictationAdapter(adapter: DictationAdapter | undefined) {
25
+ this._dictationAdapter = adapter;
26
+ }
27
+
28
+ get canCancel() {
29
+ return false;
30
+ }
31
+
32
+ protected handleSend(message: Omit<AppendMessage, "parentId" | "sourceId">) {
33
+ this.sentMessages.push(message);
34
+ }
35
+
36
+ protected handleCancel() {
37
+ this.cancelCalled = true;
38
+ }
39
+ }
40
+
41
+ const makePendingAttachment = (
42
+ id: string,
43
+ name = "file.txt",
44
+ ): PendingAttachment => ({
45
+ id,
46
+ type: "file",
47
+ name,
48
+ contentType: "text/plain",
49
+ file: new File(["content"], name),
50
+ status: { type: "requires-action", reason: "composer-send" },
51
+ });
52
+
53
+ describe("BaseComposerRuntimeCore", () => {
54
+ let composer: TestComposerCore;
55
+
56
+ beforeEach(() => {
57
+ composer = new TestComposerCore();
58
+ });
59
+
60
+ it("sets and gets text", () => {
61
+ composer.setText("hello");
62
+ expect(composer.text).toBe("hello");
63
+ });
64
+
65
+ it("setText does not notify when value unchanged", () => {
66
+ composer.setText("same");
67
+ const listener = vi.fn();
68
+ composer.subscribe(listener);
69
+
70
+ composer.setText("same");
71
+ expect(listener).not.toHaveBeenCalled();
72
+ });
73
+
74
+ it("isEmpty returns true when no text and no attachments", () => {
75
+ expect(composer.isEmpty).toBe(true);
76
+ });
77
+
78
+ it("isEmpty returns false when text is present", () => {
79
+ composer.setText("hi");
80
+ expect(composer.isEmpty).toBe(false);
81
+ });
82
+
83
+ it("isEmpty returns true for whitespace-only text", () => {
84
+ composer.setText(" ");
85
+ expect(composer.isEmpty).toBe(true);
86
+ });
87
+
88
+ it("sets and gets role", () => {
89
+ composer.setRole("assistant");
90
+ expect(composer.role).toBe("assistant");
91
+ });
92
+
93
+ it("setRole does not notify when value unchanged", () => {
94
+ composer.setRole("user");
95
+ const listener = vi.fn();
96
+ composer.subscribe(listener);
97
+
98
+ composer.setRole("user");
99
+ expect(listener).not.toHaveBeenCalled();
100
+ });
101
+
102
+ it("sets and gets runConfig", () => {
103
+ const config = { custom: { model: "gpt-4" } };
104
+ composer.setRunConfig(config);
105
+ expect(composer.runConfig).toBe(config);
106
+ });
107
+
108
+ it("sets and gets quote", () => {
109
+ const quote = { text: "some quote", messageId: "msg-1" };
110
+ composer.setQuote(quote);
111
+ expect(composer.quote).toBe(quote);
112
+ });
113
+
114
+ it("setQuote does not notify when value unchanged", () => {
115
+ const quote = { text: "q", messageId: "m1" };
116
+ composer.setQuote(quote);
117
+ const listener = vi.fn();
118
+ composer.subscribe(listener);
119
+
120
+ composer.setQuote(quote);
121
+ expect(listener).not.toHaveBeenCalled();
122
+ });
123
+
124
+ it("reset clears text, attachments, role, runConfig, and quote", async () => {
125
+ composer.setText("hello");
126
+ composer.setRole("assistant");
127
+ composer.setRunConfig({ custom: { k: "v" } });
128
+ composer.setQuote({ text: "q", messageId: "m1" });
129
+
130
+ await composer.reset();
131
+
132
+ expect(composer.text).toBe("");
133
+ expect(composer.role).toBe("user");
134
+ expect(composer.runConfig).toEqual({});
135
+ expect(composer.quote).toBeUndefined();
136
+ expect(composer.attachments).toEqual([]);
137
+ });
138
+
139
+ it("reset does nothing when already in default state", async () => {
140
+ const listener = vi.fn();
141
+ composer.subscribe(listener);
142
+
143
+ await composer.reset();
144
+ expect(listener).not.toHaveBeenCalled();
145
+ });
146
+
147
+ it("send constructs message with text content and fires send event", async () => {
148
+ composer.setText("hello world");
149
+
150
+ await composer.send();
151
+
152
+ expect(composer.sentMessages).toHaveLength(1);
153
+ const msg = composer.sentMessages[0]!;
154
+ expect(msg.role).toBe("user");
155
+ expect(msg.content).toEqual([{ type: "text", text: "hello world" }]);
156
+ expect(msg.attachments).toEqual([]);
157
+ });
158
+
159
+ it("send clears text and attachments after sending", async () => {
160
+ composer.setText("hello");
161
+
162
+ await composer.send();
163
+
164
+ expect(composer.text).toBe("");
165
+ expect(composer.attachments).toEqual([]);
166
+ });
167
+
168
+ it("send includes quote in metadata and clears it", async () => {
169
+ const quote = { text: "quoted", messageId: "m1" };
170
+ composer.setText("reply");
171
+ composer.setQuote(quote);
172
+
173
+ await composer.send();
174
+
175
+ const msg = composer.sentMessages[0]!;
176
+ expect(msg.metadata).toEqual({ custom: { quote } });
177
+ expect(composer.quote).toBeUndefined();
178
+ });
179
+
180
+ it("send with empty text produces empty content array", async () => {
181
+ await composer.send();
182
+
183
+ expect(composer.sentMessages).toHaveLength(1);
184
+ expect(composer.sentMessages[0]!.content).toEqual([]);
185
+ });
186
+
187
+ it("addAttachment throws when no adapter", async () => {
188
+ const file = new File(["data"], "test.txt");
189
+ await expect(composer.addAttachment(file)).rejects.toThrow(
190
+ "Attachments are not supported",
191
+ );
192
+ });
193
+
194
+ it("addAttachment adds via adapter", async () => {
195
+ const pending = makePendingAttachment("att-1", "test.txt");
196
+ const adapter: AttachmentAdapter = {
197
+ accept: "text/*",
198
+ add: vi.fn().mockResolvedValue(pending),
199
+ remove: vi.fn().mockResolvedValue(undefined),
200
+ send: vi.fn(),
201
+ };
202
+ composer.setAttachmentAdapter(adapter);
203
+
204
+ await composer.addAttachment(new File(["data"], "test.txt"));
205
+
206
+ expect(composer.attachments).toHaveLength(1);
207
+ expect(composer.attachments[0]!.id).toBe("att-1");
208
+ });
209
+
210
+ it("removeAttachment removes via adapter", async () => {
211
+ const pending = makePendingAttachment("att-1");
212
+ const adapter: AttachmentAdapter = {
213
+ accept: "*",
214
+ add: vi.fn().mockResolvedValue(pending),
215
+ remove: vi.fn().mockResolvedValue(undefined),
216
+ send: vi.fn(),
217
+ };
218
+ composer.setAttachmentAdapter(adapter);
219
+
220
+ await composer.addAttachment(new File([""], "f.txt"));
221
+ expect(composer.attachments).toHaveLength(1);
222
+
223
+ await composer.removeAttachment("att-1");
224
+ expect(composer.attachments).toHaveLength(0);
225
+ expect(adapter.remove).toHaveBeenCalledWith(pending);
226
+ });
227
+
228
+ it("removeAttachment throws for unknown id", async () => {
229
+ const adapter: AttachmentAdapter = {
230
+ accept: "*",
231
+ add: vi.fn(),
232
+ remove: vi.fn(),
233
+ send: vi.fn(),
234
+ };
235
+ composer.setAttachmentAdapter(adapter);
236
+
237
+ await expect(composer.removeAttachment("nonexistent")).rejects.toThrow(
238
+ "Attachment not found",
239
+ );
240
+ });
241
+
242
+ it("unstable_on registers event listener for send", async () => {
243
+ const callback = vi.fn();
244
+ composer.unstable_on("send", callback);
245
+
246
+ composer.setText("test");
247
+ await composer.send();
248
+
249
+ expect(callback).toHaveBeenCalledTimes(1);
250
+ });
251
+
252
+ it("unstable_on unsubscribe stops notifications", async () => {
253
+ const callback = vi.fn();
254
+ const unsub = composer.unstable_on("send", callback);
255
+ unsub();
256
+
257
+ composer.setText("test");
258
+ await composer.send();
259
+
260
+ expect(callback).not.toHaveBeenCalled();
261
+ });
262
+
263
+ it("unstable_on fires attachmentAdd event", async () => {
264
+ const callback = vi.fn();
265
+ composer.unstable_on("attachmentAdd", callback);
266
+
267
+ const pending = makePendingAttachment("att-1");
268
+ const adapter: AttachmentAdapter = {
269
+ accept: "*",
270
+ add: vi.fn().mockResolvedValue(pending),
271
+ remove: vi.fn(),
272
+ send: vi.fn(),
273
+ };
274
+ composer.setAttachmentAdapter(adapter);
275
+
276
+ await composer.addAttachment(new File([""], "f.txt"));
277
+ expect(callback).toHaveBeenCalledTimes(1);
278
+ });
279
+
280
+ it("isEditing is always true", () => {
281
+ expect(composer.isEditing).toBe(true);
282
+ });
283
+
284
+ it("attachmentAccept returns adapter accept or default", () => {
285
+ expect(composer.attachmentAccept).toBe("*");
286
+
287
+ const adapter: AttachmentAdapter = {
288
+ accept: "image/*",
289
+ add: vi.fn(),
290
+ remove: vi.fn(),
291
+ send: vi.fn(),
292
+ };
293
+ composer.setAttachmentAdapter(adapter);
294
+ expect(composer.attachmentAccept).toBe("image/*");
295
+ });
296
+
297
+ it("cancel delegates to handleCancel", () => {
298
+ composer.cancel();
299
+ expect(composer.cancelCalled).toBe(true);
300
+ });
301
+
302
+ it("subscribe notifies on text change", () => {
303
+ const listener = vi.fn();
304
+ composer.subscribe(listener);
305
+
306
+ composer.setText("new");
307
+ expect(listener).toHaveBeenCalledTimes(1);
308
+ });
309
+
310
+ it("subscribe returns working unsubscribe function", () => {
311
+ const listener = vi.fn();
312
+ const unsub = composer.subscribe(listener);
313
+ unsub();
314
+
315
+ composer.setText("change");
316
+ expect(listener).not.toHaveBeenCalled();
317
+ });
318
+ });
@@ -0,0 +1,54 @@
1
+ import { describe, expect, it, vi, beforeEach } from "vitest";
2
+ import { BaseSubscribable } from "@assistant-ui/core/internal";
3
+
4
+ class TestSubscribable extends BaseSubscribable {
5
+ public notify() {
6
+ this._notifySubscribers();
7
+ }
8
+ }
9
+
10
+ describe("BaseSubscribable", () => {
11
+ let subscribable: TestSubscribable;
12
+
13
+ beforeEach(() => {
14
+ subscribable = new TestSubscribable();
15
+ });
16
+
17
+ it("subscribe registers a callback that is called on notify", () => {
18
+ const callback = vi.fn();
19
+ subscribable.subscribe(callback);
20
+ subscribable.notify();
21
+ expect(callback).toHaveBeenCalledOnce();
22
+ });
23
+
24
+ it("unsubscribe stops notifications", () => {
25
+ const callback = vi.fn();
26
+ const unsub = subscribable.subscribe(callback);
27
+ unsub();
28
+ subscribable.notify();
29
+ expect(callback).not.toHaveBeenCalled();
30
+ });
31
+
32
+ it("multiple subscribers all get notified", () => {
33
+ const cb1 = vi.fn();
34
+ const cb2 = vi.fn();
35
+ subscribable.subscribe(cb1);
36
+ subscribable.subscribe(cb2);
37
+ subscribable.notify();
38
+ expect(cb1).toHaveBeenCalledOnce();
39
+ expect(cb2).toHaveBeenCalledOnce();
40
+ });
41
+
42
+ it("subscribe returns an unsubscribe function", () => {
43
+ const cb1 = vi.fn();
44
+ const cb2 = vi.fn();
45
+ const unsub1 = subscribable.subscribe(cb1);
46
+ subscribable.subscribe(cb2);
47
+
48
+ unsub1();
49
+ subscribable.notify();
50
+
51
+ expect(cb1).not.toHaveBeenCalled();
52
+ expect(cb2).toHaveBeenCalledOnce();
53
+ });
54
+ });