@assistant-ui/core 0.2.3 → 0.2.5

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 (828) hide show
  1. package/dist/adapters/attachment.d.ts +43 -39
  2. package/dist/adapters/attachment.d.ts.map +1 -1
  3. package/dist/adapters/attachment.js +148 -183
  4. package/dist/adapters/attachment.js.map +1 -1
  5. package/dist/adapters/directive-formatter.d.ts +6 -2
  6. package/dist/adapters/directive-formatter.d.ts.map +1 -1
  7. package/dist/adapters/directive-formatter.js +36 -33
  8. package/dist/adapters/directive-formatter.js.map +1 -1
  9. package/dist/adapters/feedback.d.ts +9 -6
  10. package/dist/adapters/feedback.d.ts.map +1 -1
  11. package/dist/adapters/feedback.js +0 -2
  12. package/dist/adapters/index.d.ts +9 -13
  13. package/dist/adapters/index.js +5 -6
  14. package/dist/adapters/speech.d.ts +66 -63
  15. package/dist/adapters/speech.d.ts.map +1 -1
  16. package/dist/adapters/speech.js +170 -174
  17. package/dist/adapters/speech.js.map +1 -1
  18. package/dist/adapters/suggestion.d.ts +9 -6
  19. package/dist/adapters/suggestion.d.ts.map +1 -1
  20. package/dist/adapters/suggestion.js +0 -2
  21. package/dist/adapters/thread-history.d.ts +40 -37
  22. package/dist/adapters/thread-history.d.ts.map +1 -1
  23. package/dist/adapters/thread-history.js +0 -2
  24. package/dist/adapters/trigger.d.ts +9 -8
  25. package/dist/adapters/trigger.d.ts.map +1 -1
  26. package/dist/adapters/trigger.js +0 -2
  27. package/dist/adapters/voice.d.ts +46 -42
  28. package/dist/adapters/voice.d.ts.map +1 -1
  29. package/dist/adapters/voice.js +98 -107
  30. package/dist/adapters/voice.js.map +1 -1
  31. package/dist/index.d.ts +45 -53
  32. package/dist/index.js +16 -20
  33. package/dist/internal.d.ts +37 -8
  34. package/dist/internal.js +34 -18
  35. package/dist/model-context/frame/host.d.ts +23 -19
  36. package/dist/model-context/frame/host.d.ts.map +1 -1
  37. package/dist/model-context/frame/host.js +121 -135
  38. package/dist/model-context/frame/host.js.map +1 -1
  39. package/dist/model-context/frame/provider.d.ts +20 -16
  40. package/dist/model-context/frame/provider.d.ts.map +1 -1
  41. package/dist/model-context/frame/provider.js +115 -126
  42. package/dist/model-context/frame/provider.js.map +1 -1
  43. package/dist/model-context/frame/types.d.ts +25 -22
  44. package/dist/model-context/frame/types.d.ts.map +1 -1
  45. package/dist/model-context/frame/types.js +5 -1
  46. package/dist/model-context/frame/types.js.map +1 -1
  47. package/dist/model-context/registry-handles.d.ts +13 -9
  48. package/dist/model-context/registry-handles.d.ts.map +1 -1
  49. package/dist/model-context/registry-handles.js +0 -2
  50. package/dist/model-context/registry.d.ts +19 -15
  51. package/dist/model-context/registry.d.ts.map +1 -1
  52. package/dist/model-context/registry.js +93 -107
  53. package/dist/model-context/registry.js.map +1 -1
  54. package/dist/model-context/tool.d.ts +6 -2
  55. package/dist/model-context/tool.d.ts.map +1 -1
  56. package/dist/model-context/tool.js +30 -27
  57. package/dist/model-context/tool.js.map +1 -1
  58. package/dist/model-context/types.d.ts +37 -33
  59. package/dist/model-context/types.d.ts.map +1 -1
  60. package/dist/model-context/types.js +24 -38
  61. package/dist/model-context/types.js.map +1 -1
  62. package/dist/react/AssistantProvider.d.ts +12 -8
  63. package/dist/react/AssistantProvider.d.ts.map +1 -1
  64. package/dist/react/AssistantProvider.js +16 -9
  65. package/dist/react/AssistantProvider.js.map +1 -1
  66. package/dist/react/AssistantRuntimeProvider.d.ts +26 -18
  67. package/dist/react/AssistantRuntimeProvider.d.ts.map +1 -1
  68. package/dist/react/AssistantRuntimeProvider.js +33 -25
  69. package/dist/react/AssistantRuntimeProvider.js.map +1 -1
  70. package/dist/react/RuntimeAdapter.d.ts +5 -2
  71. package/dist/react/RuntimeAdapter.d.ts.map +1 -1
  72. package/dist/react/RuntimeAdapter.js +11 -11
  73. package/dist/react/RuntimeAdapter.js.map +1 -1
  74. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts +14 -11
  75. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
  76. package/dist/react/adapters/LocalStorageThreadListAdapter.js +136 -147
  77. package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
  78. package/dist/react/adapters/TitleGenerationAdapter.d.ts +8 -4
  79. package/dist/react/adapters/TitleGenerationAdapter.d.ts.map +1 -1
  80. package/dist/react/adapters/TitleGenerationAdapter.js +13 -13
  81. package/dist/react/adapters/TitleGenerationAdapter.js.map +1 -1
  82. package/dist/react/client/DataRenderers.d.ts +6 -2
  83. package/dist/react/client/DataRenderers.d.ts.map +1 -1
  84. package/dist/react/client/DataRenderers.js +53 -51
  85. package/dist/react/client/DataRenderers.js.map +1 -1
  86. package/dist/react/client/Interactables.d.ts +6 -2
  87. package/dist/react/client/Interactables.d.ts.map +1 -1
  88. package/dist/react/client/Interactables.js +251 -257
  89. package/dist/react/client/Interactables.js.map +1 -1
  90. package/dist/react/client/Tools.d.ts +13 -14
  91. package/dist/react/client/Tools.d.ts.map +1 -1
  92. package/dist/react/client/Tools.js +57 -68
  93. package/dist/react/client/Tools.js.map +1 -1
  94. package/dist/react/client/interactable-model-context.d.ts +10 -6
  95. package/dist/react/client/interactable-model-context.d.ts.map +1 -1
  96. package/dist/react/client/interactable-model-context.js +51 -59
  97. package/dist/react/client/interactable-model-context.js.map +1 -1
  98. package/dist/react/index.d.ts +95 -90
  99. package/dist/react/index.js +88 -96
  100. package/dist/react/model-context/makeAssistantDataUI.d.ts +9 -6
  101. package/dist/react/model-context/makeAssistantDataUI.d.ts.map +1 -1
  102. package/dist/react/model-context/makeAssistantDataUI.js +17 -13
  103. package/dist/react/model-context/makeAssistantDataUI.js.map +1 -1
  104. package/dist/react/model-context/makeAssistantTool.d.ts +9 -6
  105. package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -1
  106. package/dist/react/model-context/makeAssistantTool.js +18 -14
  107. package/dist/react/model-context/makeAssistantTool.js.map +1 -1
  108. package/dist/react/model-context/makeAssistantToolUI.d.ts +9 -6
  109. package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -1
  110. package/dist/react/model-context/makeAssistantToolUI.js +19 -15
  111. package/dist/react/model-context/makeAssistantToolUI.js.map +1 -1
  112. package/dist/react/model-context/toolbox.d.ts +13 -11
  113. package/dist/react/model-context/toolbox.d.ts.map +1 -1
  114. package/dist/react/model-context/toolbox.js +0 -2
  115. package/dist/react/model-context/useAssistantContext.d.ts +5 -3
  116. package/dist/react/model-context/useAssistantContext.d.ts.map +1 -1
  117. package/dist/react/model-context/useAssistantContext.js +13 -14
  118. package/dist/react/model-context/useAssistantContext.js.map +1 -1
  119. package/dist/react/model-context/useAssistantDataUI.d.ts +9 -7
  120. package/dist/react/model-context/useAssistantDataUI.d.ts.map +1 -1
  121. package/dist/react/model-context/useAssistantDataUI.js +19 -12
  122. package/dist/react/model-context/useAssistantDataUI.js.map +1 -1
  123. package/dist/react/model-context/useAssistantInstructions.d.ts +5 -3
  124. package/dist/react/model-context/useAssistantInstructions.d.ts.map +1 -1
  125. package/dist/react/model-context/useAssistantInstructions.js +18 -16
  126. package/dist/react/model-context/useAssistantInstructions.js.map +1 -1
  127. package/dist/react/model-context/useAssistantInteractable.d.ts +12 -8
  128. package/dist/react/model-context/useAssistantInteractable.d.ts.map +1 -1
  129. package/dist/react/model-context/useAssistantInteractable.js +36 -26
  130. package/dist/react/model-context/useAssistantInteractable.js.map +1 -1
  131. package/dist/react/model-context/useAssistantTool.d.ts +9 -6
  132. package/dist/react/model-context/useAssistantTool.d.ts.map +1 -1
  133. package/dist/react/model-context/useAssistantTool.js +48 -47
  134. package/dist/react/model-context/useAssistantTool.js.map +1 -1
  135. package/dist/react/model-context/useAssistantToolUI.d.ts +9 -7
  136. package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -1
  137. package/dist/react/model-context/useAssistantToolUI.js +22 -15
  138. package/dist/react/model-context/useAssistantToolUI.js.map +1 -1
  139. package/dist/react/model-context/useInlineRender.d.ts +7 -3
  140. package/dist/react/model-context/useInlineRender.d.ts.map +1 -1
  141. package/dist/react/model-context/useInlineRender.js +12 -12
  142. package/dist/react/model-context/useInlineRender.js.map +1 -1
  143. package/dist/react/model-context/useInteractableState.d.ts +9 -7
  144. package/dist/react/model-context/useInteractableState.d.ts.map +1 -1
  145. package/dist/react/model-context/useInteractableState.js +29 -31
  146. package/dist/react/model-context/useInteractableState.js.map +1 -1
  147. package/dist/react/model-context/useToolArgsStatus.d.ts +7 -7
  148. package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -1
  149. package/dist/react/model-context/useToolArgsStatus.js +44 -50
  150. package/dist/react/model-context/useToolArgsStatus.js.map +1 -1
  151. package/dist/react/primitive-hooks/useActionBarCopy.d.ts +13 -7
  152. package/dist/react/primitive-hooks/useActionBarCopy.d.ts.map +1 -1
  153. package/dist/react/primitive-hooks/useActionBarCopy.js +31 -23
  154. package/dist/react/primitive-hooks/useActionBarCopy.js.map +1 -1
  155. package/dist/react/primitive-hooks/useActionBarEdit.d.ts +6 -3
  156. package/dist/react/primitive-hooks/useActionBarEdit.d.ts.map +1 -1
  157. package/dist/react/primitive-hooks/useActionBarEdit.js +13 -7
  158. package/dist/react/primitive-hooks/useActionBarEdit.js.map +1 -1
  159. package/dist/react/primitive-hooks/useActionBarFeedback.d.ts +9 -6
  160. package/dist/react/primitive-hooks/useActionBarFeedback.d.ts.map +1 -1
  161. package/dist/react/primitive-hooks/useActionBarFeedback.js +22 -14
  162. package/dist/react/primitive-hooks/useActionBarFeedback.js.map +1 -1
  163. package/dist/react/primitive-hooks/useActionBarReload.d.ts +6 -3
  164. package/dist/react/primitive-hooks/useActionBarReload.d.ts.map +1 -1
  165. package/dist/react/primitive-hooks/useActionBarReload.js +13 -9
  166. package/dist/react/primitive-hooks/useActionBarReload.js.map +1 -1
  167. package/dist/react/primitive-hooks/useActionBarSpeak.d.ts +6 -3
  168. package/dist/react/primitive-hooks/useActionBarSpeak.d.ts.map +1 -1
  169. package/dist/react/primitive-hooks/useActionBarSpeak.js +15 -11
  170. package/dist/react/primitive-hooks/useActionBarSpeak.js.map +1 -1
  171. package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts +6 -3
  172. package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts.map +1 -1
  173. package/dist/react/primitive-hooks/useActionBarStopSpeaking.js +13 -7
  174. package/dist/react/primitive-hooks/useActionBarStopSpeaking.js.map +1 -1
  175. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts +6 -3
  176. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts.map +1 -1
  177. package/dist/react/primitive-hooks/useBranchPickerNext.js +17 -14
  178. package/dist/react/primitive-hooks/useBranchPickerNext.js.map +1 -1
  179. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts +6 -3
  180. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts.map +1 -1
  181. package/dist/react/primitive-hooks/useBranchPickerPrevious.js +17 -14
  182. package/dist/react/primitive-hooks/useBranchPickerPrevious.js.map +1 -1
  183. package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts +8 -4
  184. package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts.map +1 -1
  185. package/dist/react/primitive-hooks/useComposerAddAttachment.js +13 -7
  186. package/dist/react/primitive-hooks/useComposerAddAttachment.js.map +1 -1
  187. package/dist/react/primitive-hooks/useComposerCancel.d.ts +6 -3
  188. package/dist/react/primitive-hooks/useComposerCancel.d.ts.map +1 -1
  189. package/dist/react/primitive-hooks/useComposerCancel.js +13 -7
  190. package/dist/react/primitive-hooks/useComposerCancel.js.map +1 -1
  191. package/dist/react/primitive-hooks/useComposerDictate.d.ts +6 -3
  192. package/dist/react/primitive-hooks/useComposerDictate.d.ts.map +1 -1
  193. package/dist/react/primitive-hooks/useComposerDictate.js +13 -9
  194. package/dist/react/primitive-hooks/useComposerDictate.js.map +1 -1
  195. package/dist/react/primitive-hooks/useComposerSend.d.ts +8 -4
  196. package/dist/react/primitive-hooks/useComposerSend.d.ts.map +1 -1
  197. package/dist/react/primitive-hooks/useComposerSend.js +13 -8
  198. package/dist/react/primitive-hooks/useComposerSend.js.map +1 -1
  199. package/dist/react/primitive-hooks/useEditComposerCancel.d.ts +5 -2
  200. package/dist/react/primitive-hooks/useEditComposerCancel.d.ts.map +1 -1
  201. package/dist/react/primitive-hooks/useEditComposerCancel.js +9 -6
  202. package/dist/react/primitive-hooks/useEditComposerCancel.js.map +1 -1
  203. package/dist/react/primitive-hooks/useEditComposerSend.d.ts +6 -3
  204. package/dist/react/primitive-hooks/useEditComposerSend.d.ts.map +1 -1
  205. package/dist/react/primitive-hooks/useEditComposerSend.js +13 -7
  206. package/dist/react/primitive-hooks/useEditComposerSend.js.map +1 -1
  207. package/dist/react/primitive-hooks/useMessageBranching.d.ts +8 -5
  208. package/dist/react/primitive-hooks/useMessageBranching.d.ts.map +1 -1
  209. package/dist/react/primitive-hooks/useMessageBranching.js +16 -11
  210. package/dist/react/primitive-hooks/useMessageBranching.js.map +1 -1
  211. package/dist/react/primitive-hooks/useMessageError.d.ts +4 -1
  212. package/dist/react/primitive-hooks/useMessageError.d.ts.map +1 -1
  213. package/dist/react/primitive-hooks/useMessageError.js +6 -5
  214. package/dist/react/primitive-hooks/useMessageError.js.map +1 -1
  215. package/dist/react/primitive-hooks/useMessageReload.d.ts +6 -3
  216. package/dist/react/primitive-hooks/useMessageReload.d.ts.map +1 -1
  217. package/dist/react/primitive-hooks/useMessageReload.js +13 -7
  218. package/dist/react/primitive-hooks/useMessageReload.js.map +1 -1
  219. package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts +14 -7
  220. package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts.map +1 -1
  221. package/dist/react/primitive-hooks/useSuggestionTrigger.js +33 -28
  222. package/dist/react/primitive-hooks/useSuggestionTrigger.js.map +1 -1
  223. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts +4 -1
  224. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts.map +1 -1
  225. package/dist/react/primitive-hooks/useThreadIsEmpty.js +6 -2
  226. package/dist/react/primitive-hooks/useThreadIsEmpty.js.map +1 -1
  227. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts +4 -1
  228. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts.map +1 -1
  229. package/dist/react/primitive-hooks/useThreadIsRunning.js +6 -2
  230. package/dist/react/primitive-hooks/useThreadIsRunning.js.map +1 -1
  231. package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts +5 -2
  232. package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts.map +1 -1
  233. package/dist/react/primitive-hooks/useThreadListItemArchive.js +9 -6
  234. package/dist/react/primitive-hooks/useThreadListItemArchive.js.map +1 -1
  235. package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts +5 -2
  236. package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts.map +1 -1
  237. package/dist/react/primitive-hooks/useThreadListItemDelete.js +9 -6
  238. package/dist/react/primitive-hooks/useThreadListItemDelete.js.map +1 -1
  239. package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts +5 -2
  240. package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts.map +1 -1
  241. package/dist/react/primitive-hooks/useThreadListItemTrigger.js +9 -6
  242. package/dist/react/primitive-hooks/useThreadListItemTrigger.js.map +1 -1
  243. package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts +5 -2
  244. package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts.map +1 -1
  245. package/dist/react/primitive-hooks/useThreadListItemUnarchive.js +9 -6
  246. package/dist/react/primitive-hooks/useThreadListItemUnarchive.js.map +1 -1
  247. package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts +6 -3
  248. package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts.map +1 -1
  249. package/dist/react/primitive-hooks/useThreadListLoadMore.js +13 -7
  250. package/dist/react/primitive-hooks/useThreadListLoadMore.js.map +1 -1
  251. package/dist/react/primitive-hooks/useThreadListNew.d.ts +5 -2
  252. package/dist/react/primitive-hooks/useThreadListNew.d.ts.map +1 -1
  253. package/dist/react/primitive-hooks/useThreadListNew.js +9 -6
  254. package/dist/react/primitive-hooks/useThreadListNew.js.map +1 -1
  255. package/dist/react/primitive-hooks/useThreadMessages.d.ts +6 -2
  256. package/dist/react/primitive-hooks/useThreadMessages.d.ts.map +1 -1
  257. package/dist/react/primitive-hooks/useThreadMessages.js +6 -2
  258. package/dist/react/primitive-hooks/useThreadMessages.js.map +1 -1
  259. package/dist/react/primitive-hooks/useVoice.d.ts +12 -8
  260. package/dist/react/primitive-hooks/useVoice.d.ts.map +1 -1
  261. package/dist/react/primitive-hooks/useVoice.js +25 -21
  262. package/dist/react/primitive-hooks/useVoice.js.map +1 -1
  263. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +26 -27
  264. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -1
  265. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js +30 -28
  266. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js.map +1 -1
  267. package/dist/react/primitives/composer/ComposerAttachments.d.ts +27 -26
  268. package/dist/react/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  269. package/dist/react/primitives/composer/ComposerAttachments.js +44 -48
  270. package/dist/react/primitives/composer/ComposerAttachments.js.map +1 -1
  271. package/dist/react/primitives/composer/ComposerIf.d.ts +12 -13
  272. package/dist/react/primitives/composer/ComposerIf.d.ts.map +1 -1
  273. package/dist/react/primitives/composer/ComposerIf.js +16 -17
  274. package/dist/react/primitives/composer/ComposerIf.js.map +1 -1
  275. package/dist/react/primitives/composer/ComposerQueue.d.ts +16 -13
  276. package/dist/react/primitives/composer/ComposerQueue.d.ts.map +1 -1
  277. package/dist/react/primitives/composer/ComposerQueue.js +31 -23
  278. package/dist/react/primitives/composer/ComposerQueue.js.map +1 -1
  279. package/dist/react/primitives/generativeUI/GenerativeUI.d.ts +64 -0
  280. package/dist/react/primitives/generativeUI/GenerativeUI.d.ts.map +1 -0
  281. package/dist/react/primitives/generativeUI/GenerativeUI.js +91 -0
  282. package/dist/react/primitives/generativeUI/GenerativeUI.js.map +1 -0
  283. package/dist/react/primitives/message/MessageAttachments.d.ts +27 -26
  284. package/dist/react/primitives/message/MessageAttachments.d.ts.map +1 -1
  285. package/dist/react/primitives/message/MessageAttachments.js +47 -52
  286. package/dist/react/primitives/message/MessageAttachments.js.map +1 -1
  287. package/dist/react/primitives/message/MessageGroupedParts.d.ts +73 -66
  288. package/dist/react/primitives/message/MessageGroupedParts.d.ts.map +1 -1
  289. package/dist/react/primitives/message/MessageGroupedParts.js +64 -60
  290. package/dist/react/primitives/message/MessageGroupedParts.js.map +1 -1
  291. package/dist/react/primitives/message/MessageParts.d.ts +147 -145
  292. package/dist/react/primitives/message/MessageParts.d.ts.map +1 -1
  293. package/dist/react/primitives/message/MessageParts.js +358 -329
  294. package/dist/react/primitives/message/MessageParts.js.map +1 -1
  295. package/dist/react/primitives/message/MessageQuote.d.ts +11 -8
  296. package/dist/react/primitives/message/MessageQuote.d.ts.map +1 -1
  297. package/dist/react/primitives/message/MessageQuote.js +24 -21
  298. package/dist/react/primitives/message/MessageQuote.js.map +1 -1
  299. package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts +8 -4
  300. package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  301. package/dist/react/primitives/messagePart/MessagePartInProgress.js +6 -3
  302. package/dist/react/primitives/messagePart/MessagePartInProgress.js.map +1 -1
  303. package/dist/react/primitives/part/PartMessages.d.ts +16 -13
  304. package/dist/react/primitives/part/PartMessages.d.ts.map +1 -1
  305. package/dist/react/primitives/part/PartMessages.js +45 -41
  306. package/dist/react/primitives/part/PartMessages.js.map +1 -1
  307. package/dist/react/primitives/thread/ThreadMessages.d.ts +40 -55
  308. package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -1
  309. package/dist/react/primitives/thread/ThreadMessages.js +58 -92
  310. package/dist/react/primitives/thread/ThreadMessages.js.map +1 -1
  311. package/dist/react/primitives/thread/ThreadSuggestions.d.ts +25 -25
  312. package/dist/react/primitives/thread/ThreadSuggestions.d.ts.map +1 -1
  313. package/dist/react/primitives/thread/ThreadSuggestions.js +39 -35
  314. package/dist/react/primitives/thread/ThreadSuggestions.js.map +1 -1
  315. package/dist/react/primitives/threadList/ThreadListItems.d.ts +27 -26
  316. package/dist/react/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  317. package/dist/react/primitives/threadList/ThreadListItems.js +47 -23
  318. package/dist/react/primitives/threadList/ThreadListItems.js.map +1 -1
  319. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts +10 -6
  320. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
  321. package/dist/react/primitives/threadListItem/ThreadListItemTitle.js +7 -4
  322. package/dist/react/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
  323. package/dist/react/providers/AttachmentByIndexProvider.d.ts +9 -5
  324. package/dist/react/providers/AttachmentByIndexProvider.d.ts.map +1 -1
  325. package/dist/react/providers/AttachmentByIndexProvider.js +30 -20
  326. package/dist/react/providers/AttachmentByIndexProvider.js.map +1 -1
  327. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts +8 -4
  328. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -1
  329. package/dist/react/providers/ChainOfThoughtByIndicesProvider.js +19 -17
  330. package/dist/react/providers/ChainOfThoughtByIndicesProvider.js.map +1 -1
  331. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts +7 -3
  332. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -1
  333. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js +18 -11
  334. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js.map +1 -1
  335. package/dist/react/providers/MessageByIndexProvider.d.ts +7 -3
  336. package/dist/react/providers/MessageByIndexProvider.d.ts.map +1 -1
  337. package/dist/react/providers/MessageByIndexProvider.js +25 -16
  338. package/dist/react/providers/MessageByIndexProvider.js.map +1 -1
  339. package/dist/react/providers/PartByIndexProvider.d.ts +7 -3
  340. package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -1
  341. package/dist/react/providers/PartByIndexProvider.js +18 -11
  342. package/dist/react/providers/PartByIndexProvider.js.map +1 -1
  343. package/dist/react/providers/QueueItemByIndexProvider.d.ts +8 -4
  344. package/dist/react/providers/QueueItemByIndexProvider.d.ts.map +1 -1
  345. package/dist/react/providers/QueueItemByIndexProvider.js +14 -10
  346. package/dist/react/providers/QueueItemByIndexProvider.js.map +1 -1
  347. package/dist/react/providers/ReadonlyThreadProvider.d.ts +11 -7
  348. package/dist/react/providers/ReadonlyThreadProvider.d.ts.map +1 -1
  349. package/dist/react/providers/ReadonlyThreadProvider.js +46 -42
  350. package/dist/react/providers/ReadonlyThreadProvider.js.map +1 -1
  351. package/dist/react/providers/SuggestionByIndexProvider.d.ts +8 -4
  352. package/dist/react/providers/SuggestionByIndexProvider.d.ts.map +1 -1
  353. package/dist/react/providers/SuggestionByIndexProvider.js +14 -10
  354. package/dist/react/providers/SuggestionByIndexProvider.js.map +1 -1
  355. package/dist/react/providers/TextMessagePartProvider.d.ts +8 -4
  356. package/dist/react/providers/TextMessagePartProvider.d.ts.map +1 -1
  357. package/dist/react/providers/TextMessagePartProvider.js +29 -22
  358. package/dist/react/providers/TextMessagePartProvider.js.map +1 -1
  359. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts +8 -4
  360. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts.map +1 -1
  361. package/dist/react/providers/ThreadListItemByIndexProvider.js +22 -11
  362. package/dist/react/providers/ThreadListItemByIndexProvider.js.map +1 -1
  363. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts +8 -4
  364. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
  365. package/dist/react/providers/ThreadListItemRuntimeProvider.js +12 -8
  366. package/dist/react/providers/ThreadListItemRuntimeProvider.js.map +1 -1
  367. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +119 -109
  368. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  369. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +123 -129
  370. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
  371. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +147 -135
  372. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  373. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +460 -515
  374. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  375. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts +19 -15
  376. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts.map +1 -1
  377. package/dist/react/runtimes/RuntimeAdapterProvider.js +16 -9
  378. package/dist/react/runtimes/RuntimeAdapterProvider.js.map +1 -1
  379. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +8 -4
  380. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  381. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +372 -485
  382. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  383. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +19 -13
  384. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts.map +1 -1
  385. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js +83 -80
  386. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js.map +1 -1
  387. package/dist/react/runtimes/cloud/auiV0.d.ts +61 -58
  388. package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
  389. package/dist/react/runtimes/cloud/auiV0.js +80 -87
  390. package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
  391. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts +10 -7
  392. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts.map +1 -1
  393. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js +101 -101
  394. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js.map +1 -1
  395. package/dist/react/runtimes/createMessageConverter.d.ts +23 -14
  396. package/dist/react/runtimes/createMessageConverter.d.ts.map +1 -1
  397. package/dist/react/runtimes/createMessageConverter.js +43 -46
  398. package/dist/react/runtimes/createMessageConverter.js.map +1 -1
  399. package/dist/react/runtimes/external-message-converter.d.ts +40 -31
  400. package/dist/react/runtimes/external-message-converter.d.ts.map +1 -1
  401. package/dist/react/runtimes/external-message-converter.js +222 -296
  402. package/dist/react/runtimes/external-message-converter.js.map +1 -1
  403. package/dist/react/runtimes/useExternalStoreRuntime.d.ts +7 -3
  404. package/dist/react/runtimes/useExternalStoreRuntime.d.ts.map +1 -1
  405. package/dist/react/runtimes/useExternalStoreRuntime.js +18 -15
  406. package/dist/react/runtimes/useExternalStoreRuntime.js.map +1 -1
  407. package/dist/react/runtimes/useLocalRuntime.d.ts +41 -26
  408. package/dist/react/runtimes/useLocalRuntime.d.ts.map +1 -1
  409. package/dist/react/runtimes/useLocalRuntime.js +58 -67
  410. package/dist/react/runtimes/useLocalRuntime.js.map +1 -1
  411. package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts +7 -3
  412. package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
  413. package/dist/react/runtimes/useRemoteThreadListRuntime.js +51 -62
  414. package/dist/react/runtimes/useRemoteThreadListRuntime.js.map +1 -1
  415. package/dist/react/runtimes/useToolInvocations.d.ts +39 -34
  416. package/dist/react/runtimes/useToolInvocations.d.ts.map +1 -1
  417. package/dist/react/runtimes/useToolInvocations.js +371 -481
  418. package/dist/react/runtimes/useToolInvocations.js.map +1 -1
  419. package/dist/react/types/MessagePartComponentTypes.d.ts +65 -41
  420. package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -1
  421. package/dist/react/types/MessagePartComponentTypes.js +0 -2
  422. package/dist/react/types/scopes/dataRenderers.d.ts +15 -11
  423. package/dist/react/types/scopes/dataRenderers.d.ts.map +1 -1
  424. package/dist/react/types/scopes/dataRenderers.js +0 -2
  425. package/dist/react/types/scopes/interactables.d.ts +44 -42
  426. package/dist/react/types/scopes/interactables.d.ts.map +1 -1
  427. package/dist/react/types/scopes/interactables.js +0 -2
  428. package/dist/react/types/scopes/tools.d.ts +16 -12
  429. package/dist/react/types/scopes/tools.d.ts.map +1 -1
  430. package/dist/react/types/scopes/tools.js +0 -2
  431. package/dist/react/types/store-augmentation.d.ts +11 -9
  432. package/dist/react/types/store-augmentation.d.ts.map +1 -1
  433. package/dist/react/types/store-augmentation.js +0 -2
  434. package/dist/react/utils/getMessageQuote.d.ts +9 -6
  435. package/dist/react/utils/getMessageQuote.d.ts.map +1 -1
  436. package/dist/react/utils/getMessageQuote.js +8 -5
  437. package/dist/react/utils/getMessageQuote.js.map +1 -1
  438. package/dist/react/utils/groupParts.d.ts +22 -19
  439. package/dist/react/utils/groupParts.d.ts.map +1 -1
  440. package/dist/react/utils/groupParts.js +62 -89
  441. package/dist/react/utils/groupParts.js.map +1 -1
  442. package/dist/runtime/api/assistant-runtime.d.ts +32 -28
  443. package/dist/runtime/api/assistant-runtime.d.ts.map +1 -1
  444. package/dist/runtime/api/assistant-runtime.js +25 -22
  445. package/dist/runtime/api/assistant-runtime.js.map +1 -1
  446. package/dist/runtime/api/attachment-runtime.d.ts +48 -45
  447. package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
  448. package/dist/runtime/api/attachment-runtime.js +55 -52
  449. package/dist/runtime/api/attachment-runtime.js.map +1 -1
  450. package/dist/runtime/api/bindings.d.ts +30 -25
  451. package/dist/runtime/api/bindings.d.ts.map +1 -1
  452. package/dist/runtime/api/bindings.js +0 -2
  453. package/dist/runtime/api/composer-runtime.d.ts +184 -182
  454. package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
  455. package/dist/runtime/api/composer-runtime.js +239 -245
  456. package/dist/runtime/api/composer-runtime.js.map +1 -1
  457. package/dist/runtime/api/message-part-runtime.d.ts +29 -27
  458. package/dist/runtime/api/message-part-runtime.d.ts.map +1 -1
  459. package/dist/runtime/api/message-part-runtime.js +61 -65
  460. package/dist/runtime/api/message-part-runtime.js.map +1 -1
  461. package/dist/runtime/api/message-runtime.d.ts +91 -80
  462. package/dist/runtime/api/message-runtime.d.ts.map +1 -1
  463. package/dist/runtime/api/message-runtime.js +169 -194
  464. package/dist/runtime/api/message-runtime.js.map +1 -1
  465. package/dist/runtime/api/paths.d.ts +57 -54
  466. package/dist/runtime/api/paths.d.ts.map +1 -1
  467. package/dist/runtime/api/paths.js +0 -2
  468. package/dist/runtime/api/thread-list-item-runtime.d.ts +68 -61
  469. package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
  470. package/dist/runtime/api/thread-list-item-runtime.js +85 -84
  471. package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
  472. package/dist/runtime/api/thread-list-runtime.d.ts +57 -48
  473. package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
  474. package/dist/runtime/api/thread-list-runtime.js +160 -147
  475. package/dist/runtime/api/thread-list-runtime.js.map +1 -1
  476. package/dist/runtime/api/thread-runtime.d.ts +278 -272
  477. package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
  478. package/dist/runtime/api/thread-runtime.js +244 -244
  479. package/dist/runtime/api/thread-runtime.js.map +1 -1
  480. package/dist/runtime/base/base-assistant-runtime-core.d.ts +13 -9
  481. package/dist/runtime/base/base-assistant-runtime-core.d.ts.map +1 -1
  482. package/dist/runtime/base/base-assistant-runtime-core.js +13 -9
  483. package/dist/runtime/base/base-assistant-runtime-core.js.map +1 -1
  484. package/dist/runtime/base/base-composer-runtime-core.d.ts +60 -57
  485. package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
  486. package/dist/runtime/base/base-composer-runtime-core.js +348 -392
  487. package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
  488. package/dist/runtime/base/base-thread-runtime-core.d.ts +89 -84
  489. package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
  490. package/dist/runtime/base/base-thread-runtime-core.js +349 -357
  491. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  492. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts +37 -30
  493. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts.map +1 -1
  494. package/dist/runtime/base/default-edit-composer-runtime-core.js +70 -77
  495. package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
  496. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +25 -21
  497. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
  498. package/dist/runtime/base/default-thread-composer-runtime-core.js +51 -48
  499. package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
  500. package/dist/runtime/interfaces/assistant-runtime-core.d.ts +12 -8
  501. package/dist/runtime/interfaces/assistant-runtime-core.d.ts.map +1 -1
  502. package/dist/runtime/interfaces/assistant-runtime-core.js +0 -2
  503. package/dist/runtime/interfaces/composer-runtime-core.d.ts +70 -67
  504. package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
  505. package/dist/runtime/interfaces/composer-runtime-core.js +0 -2
  506. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +45 -39
  507. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
  508. package/dist/runtime/interfaces/thread-list-runtime-core.js +0 -2
  509. package/dist/runtime/interfaces/thread-runtime-core.d.ts +149 -145
  510. package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
  511. package/dist/runtime/interfaces/thread-runtime-core.js +0 -2
  512. package/dist/runtime/internal.d.ts +19 -23
  513. package/dist/runtime/internal.js +18 -22
  514. package/dist/runtime/utils/auto-status.d.ts +8 -4
  515. package/dist/runtime/utils/auto-status.d.ts.map +1 -1
  516. package/dist/runtime/utils/auto-status.js +18 -22
  517. package/dist/runtime/utils/auto-status.js.map +1 -1
  518. package/dist/runtime/utils/chat-model-adapter.d.ts +34 -31
  519. package/dist/runtime/utils/chat-model-adapter.d.ts.map +1 -1
  520. package/dist/runtime/utils/chat-model-adapter.js +0 -2
  521. package/dist/runtime/utils/external-store-message.d.ts +9 -5
  522. package/dist/runtime/utils/external-store-message.d.ts.map +1 -1
  523. package/dist/runtime/utils/external-store-message.js +21 -21
  524. package/dist/runtime/utils/external-store-message.js.map +1 -1
  525. package/dist/runtime/utils/message-repository.d.ts +48 -42
  526. package/dist/runtime/utils/message-repository.d.ts.map +1 -1
  527. package/dist/runtime/utils/message-repository.js +213 -267
  528. package/dist/runtime/utils/message-repository.js.map +1 -1
  529. package/dist/runtime/utils/thread-message-like.d.ts +41 -39
  530. package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
  531. package/dist/runtime/utils/thread-message-like.js +125 -139
  532. package/dist/runtime/utils/thread-message-like.js.map +1 -1
  533. package/dist/runtimes/assistant-transport/utils.d.ts +4 -1
  534. package/dist/runtimes/assistant-transport/utils.d.ts.map +1 -1
  535. package/dist/runtimes/assistant-transport/utils.js +9 -5
  536. package/dist/runtimes/assistant-transport/utils.js.map +1 -1
  537. package/dist/runtimes/external-store/external-store-adapter.d.ts +100 -97
  538. package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
  539. package/dist/runtimes/external-store/external-store-adapter.js +0 -2
  540. package/dist/runtimes/external-store/external-store-runtime-core.d.ts +9 -5
  541. package/dist/runtimes/external-store/external-store-runtime-core.d.ts.map +1 -1
  542. package/dist/runtimes/external-store/external-store-runtime-core.js +16 -13
  543. package/dist/runtimes/external-store/external-store-runtime-core.js.map +1 -1
  544. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts +46 -40
  545. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
  546. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js +141 -171
  547. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
  548. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +53 -47
  549. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
  550. package/dist/runtimes/external-store/external-store-thread-runtime-core.js +212 -288
  551. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  552. package/dist/runtimes/external-store/thread-message-converter.d.ts +9 -5
  553. package/dist/runtimes/external-store/thread-message-converter.d.ts.map +1 -1
  554. package/dist/runtimes/external-store/thread-message-converter.js +14 -11
  555. package/dist/runtimes/external-store/thread-message-converter.js.map +1 -1
  556. package/dist/runtimes/internal.d.ts +15 -19
  557. package/dist/runtimes/internal.js +13 -17
  558. package/dist/runtimes/local/local-runtime-core.d.ts +11 -7
  559. package/dist/runtimes/local/local-runtime-core.d.ts.map +1 -1
  560. package/dist/runtimes/local/local-runtime-core.js +18 -18
  561. package/dist/runtimes/local/local-runtime-core.js.map +1 -1
  562. package/dist/runtimes/local/local-runtime-options.d.ts +27 -23
  563. package/dist/runtimes/local/local-runtime-options.d.ts.map +1 -1
  564. package/dist/runtimes/local/local-runtime-options.js +0 -2
  565. package/dist/runtimes/local/local-thread-list-runtime-core.d.ts +46 -42
  566. package/dist/runtimes/local/local-thread-list-runtime-core.d.ts.map +1 -1
  567. package/dist/runtimes/local/local-thread-list-runtime-core.js +84 -83
  568. package/dist/runtimes/local/local-thread-list-runtime-core.js.map +1 -1
  569. package/dist/runtimes/local/local-thread-runtime-core.d.ts +80 -59
  570. package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
  571. package/dist/runtimes/local/local-thread-runtime-core.js +342 -424
  572. package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
  573. package/dist/runtimes/local/should-continue.d.ts +6 -2
  574. package/dist/runtimes/local/should-continue.d.ts.map +1 -1
  575. package/dist/runtimes/local/should-continue.js +7 -12
  576. package/dist/runtimes/local/should-continue.js.map +1 -1
  577. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +96 -92
  578. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
  579. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js +164 -176
  580. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js.map +1 -1
  581. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +15 -11
  582. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -1
  583. package/dist/runtimes/remote-thread-list/adapter/in-memory.js +33 -28
  584. package/dist/runtimes/remote-thread-list/adapter/in-memory.js.map +1 -1
  585. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts +6 -2
  586. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
  587. package/dist/runtimes/remote-thread-list/empty-thread-core.js +152 -160
  588. package/dist/runtimes/remote-thread-list/empty-thread-core.js.map +1 -1
  589. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts +27 -27
  590. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts.map +1 -1
  591. package/dist/runtimes/remote-thread-list/optimistic-state.js +63 -73
  592. package/dist/runtimes/remote-thread-list/optimistic-state.js.map +1 -1
  593. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts +46 -43
  594. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts.map +1 -1
  595. package/dist/runtimes/remote-thread-list/remote-thread-state.js +81 -91
  596. package/dist/runtimes/remote-thread-list/remote-thread-state.js.map +1 -1
  597. package/dist/runtimes/remote-thread-list/types.d.ts +65 -61
  598. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  599. package/dist/runtimes/remote-thread-list/types.js +0 -2
  600. package/dist/store/clients/chain-of-thought-client.d.ts +16 -12
  601. package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
  602. package/dist/store/clients/chain-of-thought-client.js +24 -15
  603. package/dist/store/clients/chain-of-thought-client.js.map +1 -1
  604. package/dist/store/clients/model-context-client.d.ts +6 -2
  605. package/dist/store/clients/model-context-client.d.ts.map +1 -1
  606. package/dist/store/clients/model-context-client.js +32 -26
  607. package/dist/store/clients/model-context-client.js.map +1 -1
  608. package/dist/store/clients/no-op-composer-client.d.ts +8 -4
  609. package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
  610. package/dist/store/clients/no-op-composer-client.js +67 -63
  611. package/dist/store/clients/no-op-composer-client.js.map +1 -1
  612. package/dist/store/clients/runtime-adapter.d.ts +8 -4
  613. package/dist/store/clients/runtime-adapter.d.ts.map +1 -1
  614. package/dist/store/clients/runtime-adapter.js +33 -33
  615. package/dist/store/clients/runtime-adapter.js.map +1 -1
  616. package/dist/store/clients/suggestions.d.ts +12 -8
  617. package/dist/store/clients/suggestions.d.ts.map +1 -1
  618. package/dist/store/clients/suggestions.js +28 -32
  619. package/dist/store/clients/suggestions.js.map +1 -1
  620. package/dist/store/clients/thread-message-client.d.ts +13 -9
  621. package/dist/store/clients/thread-message-client.d.ts.map +1 -1
  622. package/dist/store/clients/thread-message-client.js +95 -105
  623. package/dist/store/clients/thread-message-client.js.map +1 -1
  624. package/dist/store/index.d.ts +18 -18
  625. package/dist/store/index.js +6 -8
  626. package/dist/store/internal.d.ts +9 -9
  627. package/dist/store/internal.js +9 -9
  628. package/dist/store/runtime-clients/attachment-runtime-client.d.ts +9 -5
  629. package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
  630. package/dist/store/runtime-clients/attachment-runtime-client.js +12 -8
  631. package/dist/store/runtime-clients/attachment-runtime-client.js.map +1 -1
  632. package/dist/store/runtime-clients/composer-runtime-client.d.ts +14 -10
  633. package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
  634. package/dist/store/runtime-clients/composer-runtime-client.js +86 -89
  635. package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
  636. package/dist/store/runtime-clients/message-part-runtime-client.d.ts +9 -5
  637. package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
  638. package/dist/store/runtime-clients/message-part-runtime-client.js +13 -9
  639. package/dist/store/runtime-clients/message-part-runtime-client.js.map +1 -1
  640. package/dist/store/runtime-clients/message-runtime-client.d.ts +12 -8
  641. package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
  642. package/dist/store/runtime-clients/message-runtime-client.js +66 -70
  643. package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
  644. package/dist/store/runtime-clients/tap-subscribable.d.ts +6 -2
  645. package/dist/store/runtime-clients/tap-subscribable.d.ts.map +1 -1
  646. package/dist/store/runtime-clients/tap-subscribable.js +14 -10
  647. package/dist/store/runtime-clients/tap-subscribable.js.map +1 -1
  648. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts +9 -5
  649. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
  650. package/dist/store/runtime-clients/thread-list-item-runtime-client.js +33 -38
  651. package/dist/store/runtime-clients/thread-list-item-runtime-client.js.map +1 -1
  652. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts +12 -8
  653. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
  654. package/dist/store/runtime-clients/thread-list-runtime-client.js +53 -53
  655. package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
  656. package/dist/store/runtime-clients/thread-runtime-client.d.ts +9 -5
  657. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  658. package/dist/store/runtime-clients/thread-runtime-client.js +93 -85
  659. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  660. package/dist/store/scope-registration.d.ts +29 -27
  661. package/dist/store/scope-registration.d.ts.map +1 -1
  662. package/dist/store/scope-registration.js +0 -2
  663. package/dist/store/scopes/attachment.d.ts +23 -19
  664. package/dist/store/scopes/attachment.d.ts.map +1 -1
  665. package/dist/store/scopes/attachment.js +0 -2
  666. package/dist/store/scopes/chain-of-thought.d.ts +36 -33
  667. package/dist/store/scopes/chain-of-thought.d.ts.map +1 -1
  668. package/dist/store/scopes/chain-of-thought.js +0 -2
  669. package/dist/store/scopes/composer.d.ts +118 -115
  670. package/dist/store/scopes/composer.d.ts.map +1 -1
  671. package/dist/store/scopes/composer.js +0 -2
  672. package/dist/store/scopes/message.d.ts +81 -81
  673. package/dist/store/scopes/message.d.ts.map +1 -1
  674. package/dist/store/scopes/message.js +0 -2
  675. package/dist/store/scopes/model-context.d.ts +14 -10
  676. package/dist/store/scopes/model-context.d.ts.map +1 -1
  677. package/dist/store/scopes/model-context.js +0 -2
  678. package/dist/store/scopes/part.d.ts +42 -39
  679. package/dist/store/scopes/part.d.ts.map +1 -1
  680. package/dist/store/scopes/part.js +0 -2
  681. package/dist/store/scopes/queue-item.d.ts +18 -15
  682. package/dist/store/scopes/queue-item.d.ts.map +1 -1
  683. package/dist/store/scopes/queue-item.js +0 -2
  684. package/dist/store/scopes/suggestion.d.ts +17 -14
  685. package/dist/store/scopes/suggestion.d.ts.map +1 -1
  686. package/dist/store/scopes/suggestion.js +0 -2
  687. package/dist/store/scopes/suggestions.d.ts +18 -14
  688. package/dist/store/scopes/suggestions.d.ts.map +1 -1
  689. package/dist/store/scopes/suggestions.js +0 -2
  690. package/dist/store/scopes/thread-list-item.d.ts +62 -56
  691. package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
  692. package/dist/store/scopes/thread-list-item.js +0 -2
  693. package/dist/store/scopes/thread.d.ts +151 -149
  694. package/dist/store/scopes/thread.d.ts.map +1 -1
  695. package/dist/store/scopes/thread.js +0 -2
  696. package/dist/store/scopes/threads.d.ts +36 -30
  697. package/dist/store/scopes/threads.d.ts.map +1 -1
  698. package/dist/store/scopes/threads.js +0 -2
  699. package/dist/subscribable/subscribable.d.ts +62 -58
  700. package/dist/subscribable/subscribable.d.ts.map +1 -1
  701. package/dist/subscribable/subscribable.js +196 -220
  702. package/dist/subscribable/subscribable.js.map +1 -1
  703. package/dist/tests/remote-thread-list-test-helpers.d.ts +13 -9
  704. package/dist/tests/remote-thread-list-test-helpers.d.ts.map +1 -1
  705. package/dist/tests/remote-thread-list-test-helpers.js +49 -42
  706. package/dist/tests/remote-thread-list-test-helpers.js.map +1 -1
  707. package/dist/types/attachment.d.ts +35 -32
  708. package/dist/types/attachment.d.ts.map +1 -1
  709. package/dist/types/attachment.js +0 -2
  710. package/dist/types/directive.d.ts +15 -13
  711. package/dist/types/directive.d.ts.map +1 -1
  712. package/dist/types/directive.js +0 -2
  713. package/dist/types/index.d.ts +7 -7
  714. package/dist/types/index.js +0 -2
  715. package/dist/types/message.d.ts +238 -214
  716. package/dist/types/message.d.ts.map +1 -1
  717. package/dist/types/message.js +6 -2
  718. package/dist/types/message.js.map +1 -1
  719. package/dist/types/quote.d.ts +6 -3
  720. package/dist/types/quote.d.ts.map +1 -1
  721. package/dist/types/quote.js +0 -2
  722. package/dist/types/trigger.d.ts +14 -10
  723. package/dist/types/trigger.d.ts.map +1 -1
  724. package/dist/types/trigger.js +0 -2
  725. package/dist/types/unsubscribe.d.ts +4 -1
  726. package/dist/types/unsubscribe.d.ts.map +1 -1
  727. package/dist/types/unsubscribe.js +0 -2
  728. package/dist/utils/composite-context-provider.d.ts +11 -8
  729. package/dist/utils/composite-context-provider.d.ts.map +1 -1
  730. package/dist/utils/composite-context-provider.js +31 -28
  731. package/dist/utils/composite-context-provider.js.map +1 -1
  732. package/dist/utils/id.d.ts +8 -5
  733. package/dist/utils/id.d.ts.map +1 -1
  734. package/dist/utils/id.js +9 -5
  735. package/dist/utils/id.js.map +1 -1
  736. package/dist/utils/json/is-json-equal.d.ts +4 -1
  737. package/dist/utils/json/is-json-equal.d.ts.map +1 -1
  738. package/dist/utils/json/is-json-equal.js +20 -25
  739. package/dist/utils/json/is-json-equal.js.map +1 -1
  740. package/dist/utils/json/is-json.d.ts +9 -5
  741. package/dist/utils/json/is-json.d.ts.map +1 -1
  742. package/dist/utils/json/is-json.js +17 -28
  743. package/dist/utils/json/is-json.js.map +1 -1
  744. package/dist/utils/text.d.ts +6 -2
  745. package/dist/utils/text.d.ts.map +1 -1
  746. package/dist/utils/text.js +6 -3
  747. package/dist/utils/text.js.map +1 -1
  748. package/package.json +12 -12
  749. package/src/index.ts +3 -0
  750. package/src/react/index.ts +17 -0
  751. package/src/react/primitives/generativeUI/GenerativeUI.tsx +182 -0
  752. package/src/react/primitives/message/MessageGroupedParts.tsx +2 -1
  753. package/src/react/primitives/message/MessageParts.tsx +70 -15
  754. package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +11 -7
  755. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +7 -2
  756. package/src/react/runtimes/cloud/auiV0.ts +1 -1
  757. package/src/react/types/MessagePartComponentTypes.ts +26 -0
  758. package/src/runtime/api/thread-list-item-runtime.ts +3 -3
  759. package/src/runtime/api/thread-list-runtime.ts +9 -3
  760. package/src/runtime/base/base-thread-runtime-core.ts +8 -0
  761. package/src/runtime/interfaces/thread-list-runtime-core.ts +4 -1
  762. package/src/runtime/interfaces/thread-runtime-core.ts +6 -5
  763. package/src/runtime/utils/thread-message-like.ts +11 -3
  764. package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +4 -1
  765. package/src/store/runtime-clients/thread-list-runtime-client.ts +2 -2
  766. package/src/store/scopes/thread-list-item.ts +1 -1
  767. package/src/store/scopes/threads.ts +1 -1
  768. package/src/tests/RemoteThreadListThreadListRuntimeCore-switchToThread-unarchive.test.ts +88 -0
  769. package/src/tests/external-store-thread-runtime-core.test.ts +83 -0
  770. package/src/types/index.ts +3 -0
  771. package/src/types/message.ts +49 -1
  772. package/dist/adapters/feedback.js.map +0 -1
  773. package/dist/adapters/index.d.ts.map +0 -1
  774. package/dist/adapters/index.js.map +0 -1
  775. package/dist/adapters/suggestion.js.map +0 -1
  776. package/dist/adapters/thread-history.js.map +0 -1
  777. package/dist/adapters/trigger.js.map +0 -1
  778. package/dist/index.d.ts.map +0 -1
  779. package/dist/index.js.map +0 -1
  780. package/dist/internal.d.ts.map +0 -1
  781. package/dist/internal.js.map +0 -1
  782. package/dist/model-context/registry-handles.js.map +0 -1
  783. package/dist/react/index.d.ts.map +0 -1
  784. package/dist/react/index.js.map +0 -1
  785. package/dist/react/model-context/toolbox.js.map +0 -1
  786. package/dist/react/types/MessagePartComponentTypes.js.map +0 -1
  787. package/dist/react/types/scopes/dataRenderers.js.map +0 -1
  788. package/dist/react/types/scopes/interactables.js.map +0 -1
  789. package/dist/react/types/scopes/tools.js.map +0 -1
  790. package/dist/react/types/store-augmentation.js.map +0 -1
  791. package/dist/runtime/api/bindings.js.map +0 -1
  792. package/dist/runtime/api/paths.js.map +0 -1
  793. package/dist/runtime/interfaces/assistant-runtime-core.js.map +0 -1
  794. package/dist/runtime/interfaces/composer-runtime-core.js.map +0 -1
  795. package/dist/runtime/interfaces/thread-list-runtime-core.js.map +0 -1
  796. package/dist/runtime/interfaces/thread-runtime-core.js.map +0 -1
  797. package/dist/runtime/internal.d.ts.map +0 -1
  798. package/dist/runtime/internal.js.map +0 -1
  799. package/dist/runtime/utils/chat-model-adapter.js.map +0 -1
  800. package/dist/runtimes/external-store/external-store-adapter.js.map +0 -1
  801. package/dist/runtimes/internal.d.ts.map +0 -1
  802. package/dist/runtimes/internal.js.map +0 -1
  803. package/dist/runtimes/local/local-runtime-options.js.map +0 -1
  804. package/dist/runtimes/remote-thread-list/types.js.map +0 -1
  805. package/dist/store/index.d.ts.map +0 -1
  806. package/dist/store/index.js.map +0 -1
  807. package/dist/store/internal.d.ts.map +0 -1
  808. package/dist/store/internal.js.map +0 -1
  809. package/dist/store/scope-registration.js.map +0 -1
  810. package/dist/store/scopes/attachment.js.map +0 -1
  811. package/dist/store/scopes/chain-of-thought.js.map +0 -1
  812. package/dist/store/scopes/composer.js.map +0 -1
  813. package/dist/store/scopes/message.js.map +0 -1
  814. package/dist/store/scopes/model-context.js.map +0 -1
  815. package/dist/store/scopes/part.js.map +0 -1
  816. package/dist/store/scopes/queue-item.js.map +0 -1
  817. package/dist/store/scopes/suggestion.js.map +0 -1
  818. package/dist/store/scopes/suggestions.js.map +0 -1
  819. package/dist/store/scopes/thread-list-item.js.map +0 -1
  820. package/dist/store/scopes/thread.js.map +0 -1
  821. package/dist/store/scopes/threads.js.map +0 -1
  822. package/dist/types/attachment.js.map +0 -1
  823. package/dist/types/directive.js.map +0 -1
  824. package/dist/types/index.d.ts.map +0 -1
  825. package/dist/types/index.js.map +0 -1
  826. package/dist/types/quote.js.map +0 -1
  827. package/dist/types/trigger.js.map +0 -1
  828. package/dist/types/unsubscribe.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MessageGroupedParts.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/message/MessageGroupedParts.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,sCAAmC;AAC5D,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EAC1B,kCAA+B;AAChC,OAAO,EAEL,KAAK,QAAQ,EAGd,kCAA+B;AAChC,OAAO,EAAuB,KAAK,iBAAiB,EAAE,0BAAuB;AAE7E,yBAAiB,4BAA4B,CAAC;IAC5C;;;;;OAKG;IACH,KAAY,SAAS,CAAC,IAAI,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,IAAI;QAC1E,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACpB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,yBAAyB,CAAC;QAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;KACrC,CAAC;IAEF,KAAY,UAAU,CAAC,IAAI,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,IAAI;QAC3E;;;;WAIG;QACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC;QACnD;;;;;WAKG;QACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;KAC9B,CAAC;IAEF,KAAY,KAAK,CAAC,IAAI,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,IAAI;QACtE;;;;;;;;;;;;;;;;;;;WAmBG;QACH,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,SAAS,EAAE,KACxB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpB;;;;;;;;WAQG;QACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;KAC1D,CAAC;CACH;AAkDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,4BAA4B;KAAI,IAAI,SAAS,SAAS,MAAM,EAAE,0BAGxE,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS;;CAYtD,CAAC"}
1
+ {"version":3,"file":"MessageGroupedParts.d.ts","names":[],"sources":["../../../../src/react/primitives/message/MessageGroupedParts.tsx"],"mappings":";;;;;;;kBAkBiB,4BAAA;;AAAjB;;;;;OAOc,SAAA;IAAA,SACD,IAAA,EAAM,IAAA;IAAA,SACN,MAAA,EAAQ,iBAAA,GAAoB,yBAAA;IAAA,SAC5B,OAAA;EAAA;EAAA,KAGC,UAAA;IAwCQ;;;;;IAAA,SAlCT,IAAA,EAAM,SAAA,CAAU,IAAA,IAAQ,iBAAA;IA8CuB;;;;;;IAAA,SAvC/C,QAAA,EAAU,SAAA;EAAA;EAAA,KAGT,KAAA;IAnBD;;;;;;;;;;;;;;;;;;;;IAAA,SAwCA,OAAA,GACP,IAAA,EAAM,SAAA,EACN,KAAA,UACA,KAAA,WAAgB,SAAA,OACb,QAAA,CAAS,IAAA;IAWuB;;;;AAAmB;AAsF5D;;;;IAtFyC,SAA5B,QAAA,GAAW,IAAA,EAAM,UAAA,CAAW,IAAA,MAAU,SAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsFtC,4BAAA;EAAA;IAA8D,OAAA;IAAA;EAAA,GAGxE,4BAAA,CAA6B,KAAA,CAAM,IAAA,IAAQ,SAAA"}
@@ -1,74 +1,78 @@
1
1
  "use client";
2
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { MessagePartChildren } from "./MessageParts.js";
3
+ import { buildGroupTree, normalizeGroupKey } from "../../utils/groupParts.js";
3
4
  import { Fragment, useMemo } from "react";
4
5
  import { useAuiState } from "@assistant-ui/store";
6
+ import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
5
7
  import { useShallow } from "zustand/shallow";
6
- import { buildGroupTree, normalizeGroupKey, } from "../../utils/groupParts.js";
7
- import { MessagePartChildren } from "./MessageParts.js";
8
+ //#region src/react/primitives/message/MessageGroupedParts.tsx
8
9
  const COMPLETE_STATUS = Object.freeze({ type: "complete" });
9
10
  /**
10
- * `children` placeholder passed for leaf-part renders. Leaf parts have no
11
- * inner subtree; rendering this sentinel signals the consumer wrote
12
- * `default: return children;` and accidentally fell through for a part —
13
- * surface the bug loudly instead of silently rendering nothing.
14
- */
11
+ * `children` placeholder passed for leaf-part renders. Leaf parts have no
12
+ * inner subtree; rendering this sentinel signals the consumer wrote
13
+ * `default: return children;` and accidentally fell through for a part —
14
+ * surface the bug loudly instead of silently rendering nothing.
15
+ */
15
16
  const PartChildrenSentinel = () => {
16
- throw new Error("MessagePrimitive.GroupedParts: rendered `children` under a leaf " +
17
- "part. `children` is only meaningful for `group-…` cases — add a " +
18
- "matching case for the part type or return `null` to skip it.");
17
+ throw new Error("MessagePrimitive.GroupedParts: rendered `children` under a leaf part. `children` is only meaningful for `group-…` cases — add a matching case for the part type or return `null` to skip it.");
19
18
  };
20
19
  const renderNode = (node, parts, render) => {
21
- if (node.type === "part") {
22
- return (_jsx(MessagePartChildren, { index: node.index, children: ({ part }) => render({ part, children: _jsx(PartChildrenSentinel, {}) }) }, node.nodeKey));
23
- }
24
- const status = parts[node.indices.at(-1)]?.status ?? COMPLETE_STATUS;
25
- const groupPart = {
26
- type: node.key,
27
- status,
28
- indices: node.indices,
29
- };
30
- return (_jsx(Fragment, { children: render({
31
- part: groupPart,
32
- children: (_jsx(_Fragment, { children: node.children.map((child) => renderNode(child, parts, render)) })),
33
- }) }, node.nodeKey));
20
+ if (node.type === "part") return /* @__PURE__ */ jsx(MessagePartChildren, {
21
+ index: node.index,
22
+ children: ({ part }) => render({
23
+ part,
24
+ children: /* @__PURE__ */ jsx(PartChildrenSentinel, {})
25
+ })
26
+ }, `part-${node.index}`);
27
+ const status = parts[node.indices.at(-1)]?.status ?? COMPLETE_STATUS;
28
+ return /* @__PURE__ */ jsx(Fragment, { children: render({
29
+ part: {
30
+ type: node.key,
31
+ status,
32
+ indices: node.indices
33
+ },
34
+ children: /* @__PURE__ */ jsx(Fragment$1, { children: node.children.map((child) => renderNode(child, parts, render)) })
35
+ }) }, node.nodeKey);
34
36
  };
35
37
  /**
36
- * Groups adjacent message parts into a tree of coalesced runs and
37
- * renders each node — group or part — through a single `children`
38
- * function.
39
- *
40
- * The render function receives `{ part, children }` where `part.type`
41
- * is either a `"group-…"` literal (for a group, `children` is the
42
- * recursively-rendered subtree) or a real part type (`"text"`,
43
- * `"tool-call"`, …) for a leaf (`children` is a sentinel that throws
44
- * if rendered — use `part.type` to distinguish).
45
- *
46
- * @example
47
- * ```tsx
48
- * <MessagePrimitive.GroupedParts
49
- * groupBy={(part) =>
50
- * part.type === "reasoning" ? ["group-thought", "group-reasoning"] :
51
- * part.type === "tool-call" ? ["group-thought", "group-tool"] :
52
- * null
53
- * }
54
- * >
55
- * {({ part, children }) => {
56
- * switch (part.type) {
57
- * case "group-thought": return <Thought>{children}</Thought>;
58
- * case "group-reasoning": return <Reasoning>{children}</Reasoning>;
59
- * case "group-tool": return <ToolStack>{children}</ToolStack>;
60
- * case "text": return <MarkdownText />;
61
- * case "tool-call": return part.toolUI ?? <ToolFallback {...part} />;
62
- * default: return null;
63
- * }
64
- * }}
65
- * </MessagePrimitive.GroupedParts>
66
- * ```
67
- */
68
- export const MessagePrimitiveGroupedParts = ({ groupBy, children, }) => {
69
- const parts = useAuiState(useShallow((s) => s.message.parts));
70
- const tree = useMemo(() => buildGroupTree(parts.map((part, i) => normalizeGroupKey(groupBy(part, i, parts)))), [parts, groupBy]);
71
- return _jsx(_Fragment, { children: tree.map((node) => renderNode(node, parts, children)) });
38
+ * Groups adjacent message parts into a tree of coalesced runs and
39
+ * renders each node — group or part — through a single `children`
40
+ * function.
41
+ *
42
+ * The render function receives `{ part, children }` where `part.type`
43
+ * is either a `"group-…"` literal (for a group, `children` is the
44
+ * recursively-rendered subtree) or a real part type (`"text"`,
45
+ * `"tool-call"`, …) for a leaf (`children` is a sentinel that throws
46
+ * if rendered — use `part.type` to distinguish).
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * <MessagePrimitive.GroupedParts
51
+ * groupBy={(part) =>
52
+ * part.type === "reasoning" ? ["group-thought", "group-reasoning"] :
53
+ * part.type === "tool-call" ? ["group-thought", "group-tool"] :
54
+ * null
55
+ * }
56
+ * >
57
+ * {({ part, children }) => {
58
+ * switch (part.type) {
59
+ * case "group-thought": return <Thought>{children}</Thought>;
60
+ * case "group-reasoning": return <Reasoning>{children}</Reasoning>;
61
+ * case "group-tool": return <ToolStack>{children}</ToolStack>;
62
+ * case "text": return <MarkdownText />;
63
+ * case "tool-call": return part.toolUI ?? <ToolFallback {...part} />;
64
+ * default: return null;
65
+ * }
66
+ * }}
67
+ * </MessagePrimitive.GroupedParts>
68
+ * ```
69
+ */
70
+ const MessagePrimitiveGroupedParts = ({ groupBy, children }) => {
71
+ const parts = useAuiState(useShallow((s) => s.message.parts));
72
+ return /* @__PURE__ */ jsx(Fragment$1, { children: useMemo(() => buildGroupTree(parts.map((part, i) => normalizeGroupKey(groupBy(part, i, parts)))), [parts, groupBy]).map((node) => renderNode(node, parts, children)) });
72
73
  };
73
74
  MessagePrimitiveGroupedParts.displayName = "MessagePrimitive.GroupedParts";
75
+ //#endregion
76
+ export { MessagePrimitiveGroupedParts };
77
+
74
78
  //# sourceMappingURL=MessageGroupedParts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageGroupedParts.js","sourceRoot":"","sources":["../../../../src/react/primitives/message/MessageGroupedParts.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAA2B,OAAO,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,OAAO,EACL,cAAc,EAGd,iBAAiB,GAClB,kCAA+B;AAChC,OAAO,EAAE,mBAAmB,EAA0B,0BAAuB;AAuE7E,MAAM,eAAe,GAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,oBAAoB,GAAO,GAAG,EAAE;IACpC,MAAM,IAAI,KAAK,CACb,kEAAkE;QAChE,kEAAkE;QAClE,8DAA8D,CACjE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,IAAe,EACf,KAA2B,EAC3B,MAA0E,EAC/D,EAAE;IACb,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,CACL,KAAC,mBAAmB,IAAoB,KAAK,EAAE,IAAI,CAAC,KAAK,YACtD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAC,oBAAoB,KAAG,EAAE,CAAC,IAD3C,IAAI,CAAC,OAAO,CAEhB,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,MAAM,IAAI,eAAe,CAAC;IACtE,MAAM,SAAS,GAAiD;QAC9D,IAAI,EAAE,IAAI,CAAC,GAAW;QACtB,MAAM;QACN,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,cACN,MAAM,CAAC;YACN,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CACR,4BAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAAI,CACtE;SACF,CAAC,IANW,IAAI,CAAC,OAAO,CAOhB,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAiC,EAC3E,OAAO,EACP,QAAQ,GACiC,EAAa,EAAE;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE,CACH,cAAc,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CACnE,EACH,CAAC,KAAK,EAAE,OAAO,CAAC,CACjB,CAAC;IAEF,OAAO,4BAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAI,CAAC;AACtE,CAAC,CAAC;AAEF,4BAA4B,CAAC,WAAW,GAAG,+BAA+B,CAAC"}
1
+ {"version":3,"file":"MessageGroupedParts.js","names":[],"sources":["../../../../src/react/primitives/message/MessageGroupedParts.tsx"],"sourcesContent":["\"use client\";\n\nimport { Fragment, type FC, type ReactNode, useMemo } from \"react\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { useShallow } from \"zustand/shallow\";\nimport type { PartState } from \"../../../store/scopes/part\";\nimport type {\n MessagePartStatus,\n ToolCallMessagePartStatus,\n} from \"../../../types/message\";\nimport {\n buildGroupTree,\n type GroupKey,\n type GroupNode,\n normalizeGroupKey,\n} from \"../../utils/groupParts\";\nimport { MessagePartChildren, type EnrichedPartState } from \"./MessageParts\";\n\nexport namespace MessagePrimitiveGroupedParts {\n /**\n * A coalesced group of adjacent parts. Surfaced through the same\n * `{ part }` channel as a leaf {@link EnrichedPartState} so consumers\n * dispatch on a single `switch (part.type)`. `type` is the group key\n * (always `\"group-…\"`); `status` mirrors the last contained part.\n */\n export type GroupPart<TKey extends `group-${string}` = `group-${string}`> = {\n readonly type: TKey;\n readonly status: MessagePartStatus | ToolCallMessagePartStatus;\n readonly indices: readonly number[];\n };\n\n export type RenderInfo<TKey extends `group-${string}` = `group-${string}`> = {\n /**\n * Either a coalesced group ({@link GroupPart}, identified by a\n * `group-…` `type`) or a single enriched part. Use one switch over\n * `part.type` to handle both.\n */\n readonly part: GroupPart<TKey> | EnrichedPartState;\n /**\n * For group nodes: the recursively-rendered subtree (subgroups +\n * leaf parts). For leaf parts: a sentinel that throws when rendered\n * — accidental fall-through (`default: return children;`) errors\n * loudly instead of silently rendering nothing.\n */\n readonly children: ReactNode;\n };\n\n export type Props<TKey extends `group-${string}` = `group-${string}`> = {\n /**\n * Maps each part to its group key path. Adjacent parts that share a\n * prefix coalesce up to that prefix. Return `null`, `undefined`, or\n * `[]` to leave a part ungrouped — it will be rendered as a leaf\n * through `children` with `part` set to its {@link EnrichedPartState}.\n *\n * Keys must start with `\"group-\"` so the renderer's\n * `switch (part.type)` can distinguish groups from real part types.\n *\n * For best performance, pass a stable reference (module-level\n * constant or `useCallback`).\n *\n * @example\n * ```ts\n * const groupBy = (part) =>\n * part.type === \"reasoning\" ? [\"group-thought\", \"group-reasoning\"] :\n * part.type === \"tool-call\" ? [\"group-thought\", \"group-tool\"] :\n * null;\n * ```\n */\n readonly groupBy: (\n part: PartState,\n index: number,\n parts: readonly PartState[],\n ) => GroupKey<TKey>;\n\n /**\n * Render function called once per group node and once per leaf part.\n * Switch on `part.type`: `\"group-…\"` cases wrap `children`; real\n * part types (`\"text\"`, `\"tool-call\"`, …) render the part directly.\n *\n * Leaf parts receive the same {@link EnrichedPartState} that\n * `<MessagePrimitive.Parts>` would produce (`toolUI`, `addResult`,\n * `resume`, `dataRendererUI`).\n */\n readonly children: (info: RenderInfo<TKey>) => ReactNode;\n };\n}\n\nconst COMPLETE_STATUS: MessagePartStatus = Object.freeze({ type: \"complete\" });\n\n/**\n * `children` placeholder passed for leaf-part renders. Leaf parts have no\n * inner subtree; rendering this sentinel signals the consumer wrote\n * `default: return children;` and accidentally fell through for a part —\n * surface the bug loudly instead of silently rendering nothing.\n */\nconst PartChildrenSentinel: FC = () => {\n throw new Error(\n \"MessagePrimitive.GroupedParts: rendered `children` under a leaf \" +\n \"part. `children` is only meaningful for `group-…` cases — add a \" +\n \"matching case for the part type or return `null` to skip it.\",\n );\n};\n\nconst renderNode = <TKey extends `group-${string}`>(\n node: GroupNode,\n parts: readonly PartState[],\n render: (info: MessagePrimitiveGroupedParts.RenderInfo<TKey>) => ReactNode,\n): ReactNode => {\n if (node.type === \"part\") {\n // Key by absolute part index, not structural nodeKey — prevents zombie fiber subscriptions when parts reshape (#4051).\n return (\n <MessagePartChildren key={`part-${node.index}`} index={node.index}>\n {({ part }) => render({ part, children: <PartChildrenSentinel /> })}\n </MessagePartChildren>\n );\n }\n\n const status = parts[node.indices.at(-1)!]?.status ?? COMPLETE_STATUS;\n const groupPart: MessagePrimitiveGroupedParts.GroupPart<TKey> = {\n type: node.key as TKey,\n status,\n indices: node.indices,\n };\n\n return (\n <Fragment key={node.nodeKey}>\n {render({\n part: groupPart,\n children: (\n <>{node.children.map((child) => renderNode(child, parts, render))}</>\n ),\n })}\n </Fragment>\n );\n};\n\n/**\n * Groups adjacent message parts into a tree of coalesced runs and\n * renders each node — group or part — through a single `children`\n * function.\n *\n * The render function receives `{ part, children }` where `part.type`\n * is either a `\"group-…\"` literal (for a group, `children` is the\n * recursively-rendered subtree) or a real part type (`\"text\"`,\n * `\"tool-call\"`, …) for a leaf (`children` is a sentinel that throws\n * if rendered — use `part.type` to distinguish).\n *\n * @example\n * ```tsx\n * <MessagePrimitive.GroupedParts\n * groupBy={(part) =>\n * part.type === \"reasoning\" ? [\"group-thought\", \"group-reasoning\"] :\n * part.type === \"tool-call\" ? [\"group-thought\", \"group-tool\"] :\n * null\n * }\n * >\n * {({ part, children }) => {\n * switch (part.type) {\n * case \"group-thought\": return <Thought>{children}</Thought>;\n * case \"group-reasoning\": return <Reasoning>{children}</Reasoning>;\n * case \"group-tool\": return <ToolStack>{children}</ToolStack>;\n * case \"text\": return <MarkdownText />;\n * case \"tool-call\": return part.toolUI ?? <ToolFallback {...part} />;\n * default: return null;\n * }\n * }}\n * </MessagePrimitive.GroupedParts>\n * ```\n */\nexport const MessagePrimitiveGroupedParts = <TKey extends `group-${string}`>({\n groupBy,\n children,\n}: MessagePrimitiveGroupedParts.Props<TKey>): ReactNode => {\n const parts = useAuiState(useShallow((s) => s.message.parts));\n\n const tree = useMemo(\n () =>\n buildGroupTree(\n parts.map((part, i) => normalizeGroupKey(groupBy(part, i, parts))),\n ),\n [parts, groupBy],\n );\n\n return <>{tree.map((node) => renderNode(node, parts, children))}</>;\n};\n\nMessagePrimitiveGroupedParts.displayName = \"MessagePrimitive.GroupedParts\";\n"],"mappings":";;;;;;;;AAuFA,MAAM,kBAAqC,OAAO,OAAO,EAAE,MAAM,WAAW,CAAC;;;;;;;AAQ7E,MAAM,6BAAiC;CACrC,MAAM,IAAI,MACR,8LAGF;AACF;AAEA,MAAM,cACJ,MACA,OACA,WACc;CACd,IAAI,KAAK,SAAS,QAEhB,OACE,oBAAC,qBAAD;EAAgD,OAAO,KAAK;aACxD,EAAE,WAAW,OAAO;GAAE;GAAM,UAAU,oBAAC,sBAAD,CAAuB,CAAA;EAAE,CAAC;CAC/C,GAFK,QAAQ,KAAK,OAElB;CAIzB,MAAM,SAAS,MAAM,KAAK,QAAQ,GAAG,EAAE,IAAK,UAAU;CAOtD,OACE,oBAAC,UAAD,EAAA,UACG,OAAO;EACN,MAAM;GARV,MAAM,KAAK;GACX;GACA,SAAS,KAAK;EAMI;EACd,UACE,oBAAA,YAAA,EAAA,UAAG,KAAK,SAAS,KAAK,UAAU,WAAW,OAAO,OAAO,MAAM,CAAC,EAAI,CAAA;CAExE,CAAC,EACO,GAPK,KAAK,OAOV;AAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAa,gCAAgE,EAC3E,SACA,eACyD;CACzD,MAAM,QAAQ,YAAY,YAAY,MAAM,EAAE,QAAQ,KAAK,CAAC;CAU5D,OAAO,oBAAA,YAAA,EAAA,UARM,cAET,eACE,MAAM,KAAK,MAAM,MAAM,kBAAkB,QAAQ,MAAM,GAAG,KAAK,CAAC,CAAC,CACnE,GACF,CAAC,OAAO,OAAO,CAGJ,EAAE,KAAK,SAAS,WAAW,MAAM,OAAO,QAAQ,CAAC,EAAI,CAAA;AACpE;AAEA,6BAA6B,cAAc"}
@@ -1,152 +1,156 @@
1
- import { type ComponentType, type FC, type ReactNode, type PropsWithChildren } from "react";
2
- import type { PartState } from "../../../store/scopes/part.js";
3
- import type { Unstable_AudioMessagePartComponent, DataMessagePartComponent, EmptyMessagePartComponent, TextMessagePartComponent, ImageMessagePartComponent, SourceMessagePartComponent, ToolCallMessagePartComponent, ToolCallMessagePartProps, FileMessagePartComponent, ReasoningMessagePartComponent, ReasoningGroupComponent, QuoteMessagePartComponent } from "../../types/MessagePartComponentTypes.js";
4
- export declare namespace MessagePrimitiveParts {
5
- type DataConfig = {
6
- /** Map data event names to specific components */
7
- by_name?: Record<string, DataMessagePartComponent | undefined> | undefined;
8
- /** Fallback component for unmatched data events */
9
- Fallback?: DataMessagePartComponent | undefined;
10
- };
11
- type BaseComponents = {
12
- /** Component for rendering empty messages */
13
- Empty?: EmptyMessagePartComponent | undefined;
14
- /** Component for rendering text content */
15
- Text?: TextMessagePartComponent | undefined;
16
- /** Component for rendering source content */
17
- Source?: SourceMessagePartComponent | undefined;
18
- /** Component for rendering image content */
19
- Image?: ImageMessagePartComponent | undefined;
20
- /** Component for rendering file content */
21
- File?: FileMessagePartComponent | undefined;
22
- /** Component for rendering audio content (experimental) */
23
- Unstable_Audio?: Unstable_AudioMessagePartComponent | undefined;
24
- /** Configuration for data part rendering */
25
- data?: DataConfig | undefined;
26
- /** Component for rendering a quoted message reference (from metadata, not parts) */
27
- Quote?: QuoteMessagePartComponent | undefined;
28
- };
29
- type ToolsConfig = {
30
- /** Map of tool names to their specific components */
31
- by_name?: Record<string, ToolCallMessagePartComponent | undefined> | undefined;
32
- /** Fallback component for unregistered tools */
33
- Fallback?: ComponentType<ToolCallMessagePartProps> | undefined;
34
- } | {
35
- /** Override component that handles all tool calls */
36
- Override: ComponentType<ToolCallMessagePartProps>;
37
- };
1
+ import { DataMessagePartComponent, EmptyMessagePartComponent, FileMessagePartComponent, GenerativeUIComponentRegistry, ImageMessagePartComponent, QuoteMessagePartComponent, ReasoningGroupComponent, ReasoningMessagePartComponent, SourceMessagePartComponent, TextMessagePartComponent, ToolCallMessagePartComponent, ToolCallMessagePartProps, Unstable_AudioMessagePartComponent } from "../../types/MessagePartComponentTypes.js";
2
+ import { PartState } from "../../../store/scopes/part.js";
3
+ import { ComponentType, FC, PropsWithChildren, ReactNode } from "react";
4
+
5
+ //#region src/react/primitives/message/MessageParts.d.ts
6
+ declare namespace MessagePrimitiveParts {
7
+ type DataConfig = {
8
+ /** Map data event names to specific components */by_name?: Record<string, DataMessagePartComponent | undefined> | undefined; /** Fallback component for unmatched data events */
9
+ Fallback?: DataMessagePartComponent | undefined;
10
+ };
11
+ type BaseComponents = {
12
+ /** Component for rendering empty messages */Empty?: EmptyMessagePartComponent | undefined; /** Component for rendering text content */
13
+ Text?: TextMessagePartComponent | undefined; /** Component for rendering source content */
14
+ Source?: SourceMessagePartComponent | undefined; /** Component for rendering image content */
15
+ Image?: ImageMessagePartComponent | undefined; /** Component for rendering file content */
16
+ File?: FileMessagePartComponent | undefined; /** Component for rendering audio content (experimental) */
17
+ Unstable_Audio?: Unstable_AudioMessagePartComponent | undefined; /** Configuration for data part rendering */
18
+ data?: DataConfig | undefined; /** Component for rendering a quoted message reference (from metadata, not parts) */
19
+ Quote?: QuoteMessagePartComponent | undefined;
38
20
  /**
39
- * Standard component configuration for rendering reasoning and tool-call parts
40
- * individually (with optional grouping).
21
+ * Configuration for generative-ui part rendering.
41
22
  *
42
- * Cannot be combined with `ChainOfThought`.
23
+ * `components` is the consumer-provided allowlist of React components
24
+ * the agent's JSON spec is permitted to render. Any name not present in
25
+ * the registry is rejected with a typed `GenerativeUIRenderError` —
26
+ * this is the security boundary in the same-realm rendering path.
43
27
  */
44
- type StandardComponents = BaseComponents & {
45
- /** Component for rendering reasoning content (typically hidden) */
46
- Reasoning?: ReasoningMessagePartComponent | undefined;
47
- /** Configuration for tool call rendering */
48
- tools?: ToolsConfig | undefined;
49
- /**
50
- * Component for rendering grouped consecutive tool calls.
51
- *
52
- * @param startIndex - Index of the first tool call in the group
53
- * @param endIndex - Index of the last tool call in the group
54
- * @param children - Rendered tool call components to display within the group
55
- *
56
- * @deprecated Use `<MessagePrimitive.GroupedParts>` with a custom `groupBy` instead.
57
- */
58
- ToolGroup?: ComponentType<PropsWithChildren<{
59
- startIndex: number;
60
- endIndex: number;
61
- }>>;
62
- /**
63
- * Component for rendering grouped reasoning parts.
64
- *
65
- * @param startIndex - Index of the first reasoning part in the group
66
- * @param endIndex - Index of the last reasoning part in the group
67
- * @param children - Rendered reasoning part components
68
- *
69
- * @deprecated Use `<MessagePrimitive.GroupedParts>` with a custom `groupBy` instead.
70
- */
71
- ReasoningGroup?: ReasoningGroupComponent;
72
- ChainOfThought?: never;
73
- };
28
+ generativeUI?: {
29
+ /** The component allowlist (the security boundary). */components: GenerativeUIComponentRegistry; /** Optional fallback for unknown component names. */
30
+ Fallback?: ComponentType<{
31
+ component: string;
32
+ props?: unknown;
33
+ }> | undefined;
34
+ } | undefined;
35
+ };
36
+ type ToolsConfig = {
37
+ /** Map of tool names to their specific components */by_name?: Record<string, ToolCallMessagePartComponent | undefined> | undefined; /** Fallback component for unregistered tools */
38
+ Fallback?: ComponentType<ToolCallMessagePartProps> | undefined;
39
+ } | {
40
+ /** Override component that handles all tool calls */Override: ComponentType<ToolCallMessagePartProps>;
41
+ };
42
+ /**
43
+ * Standard component configuration for rendering reasoning and tool-call parts
44
+ * individually (with optional grouping).
45
+ *
46
+ * Cannot be combined with `ChainOfThought`.
47
+ */
48
+ type StandardComponents = BaseComponents & {
49
+ /** Component for rendering reasoning content (typically hidden) */Reasoning?: ReasoningMessagePartComponent | undefined; /** Configuration for tool call rendering */
50
+ tools?: ToolsConfig | undefined;
74
51
  /**
75
- * Chain of thought component configuration.
52
+ * Component for rendering grouped consecutive tool calls.
76
53
  *
77
- * When `ChainOfThought` is set, it takes control of rendering ALL reasoning and
78
- * tool-call parts in the message. The `Reasoning`, `tools`, `ReasoningGroup`, and
79
- * `ToolGroup` components cannot be used alongside it.
54
+ * @param startIndex - Index of the first tool call in the group
55
+ * @param endIndex - Index of the last tool call in the group
56
+ * @param children - Rendered tool call components to display within the group
57
+ *
58
+ * @deprecated Use `<MessagePrimitive.GroupedParts>` with a custom `groupBy` instead.
59
+ */
60
+ ToolGroup?: ComponentType<PropsWithChildren<{
61
+ startIndex: number;
62
+ endIndex: number;
63
+ }>>;
64
+ /**
65
+ * Component for rendering grouped reasoning parts.
66
+ *
67
+ * @param startIndex - Index of the first reasoning part in the group
68
+ * @param endIndex - Index of the last reasoning part in the group
69
+ * @param children - Rendered reasoning part components
70
+ *
71
+ * @deprecated Use `<MessagePrimitive.GroupedParts>` with a custom `groupBy` instead.
72
+ */
73
+ ReasoningGroup?: ReasoningGroupComponent;
74
+ ChainOfThought?: never;
75
+ };
76
+ /**
77
+ * Chain of thought component configuration.
78
+ *
79
+ * When `ChainOfThought` is set, it takes control of rendering ALL reasoning and
80
+ * tool-call parts in the message. The `Reasoning`, `tools`, `ReasoningGroup`, and
81
+ * `ToolGroup` components cannot be used alongside it.
82
+ */
83
+ type ChainOfThoughtComponents = BaseComponents & {
84
+ /**
85
+ * @deprecated Use `<MessagePrimitive.GroupedParts>` with a `groupBy`
86
+ * that returns `["group-thought", ...]` for reasoning and tool-call
87
+ * parts. See `@assistant-ui/ui` for a worked example.
80
88
  */
81
- type ChainOfThoughtComponents = BaseComponents & {
82
- /**
83
- * @deprecated Use `<MessagePrimitive.GroupedParts>` with a `groupBy`
84
- * that returns `["group-thought", ...]` for reasoning and tool-call
85
- * parts. See `@assistant-ui/ui` for a worked example.
86
- */
87
- ChainOfThought: ComponentType;
88
- Reasoning?: never;
89
- tools?: never;
90
- ToolGroup?: never;
91
- ReasoningGroup?: never;
92
- };
93
- export type Props = {
94
- /**
95
- * Component configuration for rendering different types of message content.
96
- *
97
- * Use either `Reasoning`/`tools`/`ToolGroup`/`ReasoningGroup` for standard rendering,
98
- * or `ChainOfThought` to group all reasoning and tool-call parts into a single
99
- * collapsible component. These two modes are mutually exclusive.
100
- */
101
- components?: StandardComponents | ChainOfThoughtComponents | undefined;
102
- /**
103
- * When enabled, shows the Empty component if the last part in the message
104
- * is anything other than Text or Reasoning.
105
- *
106
- * @experimental This API is experimental and may change in future versions.
107
- * @default true
108
- */
109
- unstable_showEmptyOnNonTextEnd?: boolean | undefined;
110
- children?: never;
111
- } | {
112
- /** Render function called for each part. Receives the enriched part state. */
113
- children: (value: {
114
- part: EnrichedPartState;
115
- }) => ReactNode;
116
- components?: never;
117
- unstable_showEmptyOnNonTextEnd?: never;
118
- };
119
- export {};
89
+ ChainOfThought: ComponentType;
90
+ Reasoning?: never;
91
+ tools?: never;
92
+ ToolGroup?: never;
93
+ ReasoningGroup?: never;
94
+ };
95
+ export type Props = {
96
+ /**
97
+ * Component configuration for rendering different types of message content.
98
+ *
99
+ * Use either `Reasoning`/`tools`/`ToolGroup`/`ReasoningGroup` for standard rendering,
100
+ * or `ChainOfThought` to group all reasoning and tool-call parts into a single
101
+ * collapsible component. These two modes are mutually exclusive.
102
+ */
103
+ components?: StandardComponents | ChainOfThoughtComponents | undefined;
104
+ /**
105
+ * When enabled, shows the Empty component if the last part in the message
106
+ * is anything other than Text or Reasoning.
107
+ *
108
+ * @experimental This API is experimental and may change in future versions.
109
+ * @default true
110
+ */
111
+ unstable_showEmptyOnNonTextEnd?: boolean | undefined;
112
+ children?: never;
113
+ } | {
114
+ /** Render function called for each part. Receives the enriched part state. */children: (value: {
115
+ part: EnrichedPartState;
116
+ }) => ReactNode;
117
+ components?: never;
118
+ unstable_showEmptyOnNonTextEnd?: never;
119
+ };
120
+ export {};
120
121
  }
121
122
  /**
122
123
  * Platform-agnostic no-op default components.
123
124
  * Each platform (web, RN) wraps MessagePrimitiveParts with its own defaults.
124
125
  */
125
- export declare const defaultComponents: {
126
- Text: () => null;
127
- Reasoning: () => null;
128
- Source: () => null;
129
- Image: () => null;
130
- File: () => null;
131
- Unstable_Audio: () => null;
132
- ToolGroup: ({ children }: PropsWithChildren) => ReactNode;
133
- ReasoningGroup: ({ children }: PropsWithChildren) => ReactNode;
126
+ declare const defaultComponents: {
127
+ Text: () => null;
128
+ Reasoning: () => null;
129
+ Source: () => null;
130
+ Image: () => null;
131
+ File: () => null;
132
+ Unstable_Audio: () => null;
133
+ ToolGroup: ({
134
+ children
135
+ }: PropsWithChildren) => ReactNode;
136
+ ReasoningGroup: ({
137
+ children
138
+ }: PropsWithChildren) => ReactNode;
134
139
  };
135
140
  type MessagePartComponentProps = {
136
- components: MessagePrimitiveParts.Props["components"];
141
+ components: MessagePrimitiveParts.Props["components"];
137
142
  };
138
- export declare const MessagePartComponent: FC<MessagePartComponentProps>;
139
- export declare namespace MessagePrimitivePartByIndex {
140
- type Props = {
141
- index: number;
142
- components: MessagePrimitiveParts.Props["components"];
143
- };
143
+ declare const MessagePartComponent: FC<MessagePartComponentProps>;
144
+ declare namespace MessagePrimitivePartByIndex {
145
+ type Props = {
146
+ index: number;
147
+ components: MessagePrimitiveParts.Props["components"];
148
+ };
144
149
  }
145
150
  /**
146
151
  * Renders a single message part at the specified index.
147
152
  */
148
- export declare const MessagePrimitivePartByIndex: FC<MessagePrimitivePartByIndex.Props>;
149
- export type { PartState };
153
+ declare const MessagePrimitivePartByIndex: FC<MessagePrimitivePartByIndex.Props>;
150
154
  /**
151
155
  * Enriched part state passed to children render functions.
152
156
  *
@@ -159,24 +163,20 @@ export type { PartState };
159
163
  * loading indicator can render. Differentiate this from a real empty text
160
164
  * via `part.status?.type === "running" && part.text === ""`.
161
165
  */
162
- export type EnrichedPartState = (Extract<PartState, {
163
- type: "tool-call";
166
+ type EnrichedPartState = (Extract<PartState, {
167
+ type: "tool-call";
164
168
  }> & {
165
- /** The registered tool UI element, or null if none registered. */
166
- readonly toolUI: ReactNode;
167
- /** Add a tool result to this tool call. */
168
- addResult: ToolCallMessagePartProps["addResult"];
169
- /** Resume a tool call waiting for human input. */
170
- resume: ToolCallMessagePartProps["resume"];
169
+ /** The registered tool UI element, or null if none registered. */readonly toolUI: ReactNode; /** Add a tool result to this tool call. */
170
+ addResult: ToolCallMessagePartProps["addResult"]; /** Resume a tool call waiting for human input. */
171
+ resume: ToolCallMessagePartProps["resume"];
171
172
  }) | (Extract<PartState, {
172
- type: "data";
173
+ type: "data";
173
174
  }> & {
174
- /** The registered data renderer UI element, or null if none registered. */
175
- readonly dataRendererUI: ReactNode;
175
+ /** The registered data renderer UI element, or null if none registered. */readonly dataRendererUI: ReactNode;
176
176
  }) | Exclude<PartState, {
177
- type: "tool-call";
177
+ type: "tool-call";
178
178
  } | {
179
- type: "data";
179
+ type: "data";
180
180
  }>;
181
181
  /**
182
182
  * Renders the parts of a message with support for multiple content types.
@@ -184,5 +184,7 @@ export type EnrichedPartState = (Extract<PartState, {
184
184
  * This is the platform-agnostic base. Each platform wraps this with its own
185
185
  * default components (web uses `<p>`, `<span>`; RN would use `<Text>`, etc.).
186
186
  */
187
- export declare const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props>;
187
+ declare const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props>;
188
+ //#endregion
189
+ export { EnrichedPartState, MessagePartComponent, MessagePrimitivePartByIndex, MessagePrimitiveParts, type PartState, defaultComponents };
188
190
  //# sourceMappingURL=MessageParts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageParts.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/message/MessageParts.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,EAAE,EACP,KAAK,SAAS,EAEd,KAAK,iBAAiB,EAEvB,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EAAE,SAAS,EAAE,sCAAmC;AAK5D,OAAO,KAAK,EACV,kCAAkC,EAClC,wBAAwB,EAExB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,EAC1B,iDAA8C;AAuH/C,yBAAiB,qBAAqB,CAAC;IACrC,KAAK,UAAU,GAAG;QAChB,kDAAkD;QAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;QAC3E,mDAAmD;QACnD,QAAQ,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;KACjD,CAAC;IAEF,KAAK,cAAc,GAAG;QACpB,6CAA6C;QAC7C,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;QAC9C,2CAA2C;QAC3C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;QAC5C,6CAA6C;QAC7C,MAAM,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;QAChD,4CAA4C;QAC5C,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;QAC9C,2CAA2C;QAC3C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;QAC5C,2DAA2D;QAC3D,cAAc,CAAC,EAAE,kCAAkC,GAAG,SAAS,CAAC;QAChE,4CAA4C;QAC5C,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QAC9B,oFAAoF;QACpF,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;KAC/C,CAAC;IAEF,KAAK,WAAW,GACZ;QACE,qDAAqD;QACrD,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,4BAA4B,GAAG,SAAS,CAAC,GACxD,SAAS,CAAC;QACd,gDAAgD;QAChD,QAAQ,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;KAChE,GACD;QACE,qDAAqD;QACrD,QAAQ,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;KACnD,CAAC;IAEN;;;;;OAKG;IACH,KAAK,kBAAkB,GAAG,cAAc,GAAG;QACzC,mEAAmE;QACnE,SAAS,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;QACtD,4CAA4C;QAC5C,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QAEhC;;;;;;;;WAQG;QACH,SAAS,CAAC,EAAE,aAAa,CACvB,iBAAiB,CAAC;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAC5D,CAAC;QAEF;;;;;;;;WAQG;QACH,cAAc,CAAC,EAAE,uBAAuB,CAAC;QAEzC,cAAc,CAAC,EAAE,KAAK,CAAC;KACxB,CAAC;IAEF;;;;;;OAMG;IACH,KAAK,wBAAwB,GAAG,cAAc,GAAG;QAC/C;;;;WAIG;QACH,cAAc,EAAE,aAAa,CAAC;QAE9B,SAAS,CAAC,EAAE,KAAK,CAAC;QAClB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,SAAS,CAAC,EAAE,KAAK,CAAC;QAClB,cAAc,CAAC,EAAE,KAAK,CAAC;KACxB,CAAC;IAEF,MAAM,MAAM,KAAK,GACb;QACE;;;;;;WAMG;QACH,UAAU,CAAC,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,SAAS,CAAC;QACvE;;;;;;WAMG;QACH,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrD,QAAQ,CAAC,EAAE,KAAK,CAAC;KAClB,GACD;QACE,8EAA8E;QAC9E,QAAQ,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,iBAAiB,CAAA;SAAE,KAAK,SAAS,CAAC;QAC5D,UAAU,CAAC,EAAE,KAAK,CAAC;QACnB,8BAA8B,CAAC,EAAE,KAAK,CAAC;KACxC,CAAC;;CACP;AAwCD;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;8BAOF,iBAAiB;mCACZ,iBAAiB;CACG,CAAC;AAEtD,KAAK,yBAAyB,GAAG;IAC/B,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CA+D9D,CAAC;AAEF,yBAAiB,2BAA2B,CAAC;IAC3C,KAAY,KAAK,GAAG;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KACvD,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAqB3E,CAAC;AA2JJ,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,iBAAiB,GACzB,CAAC,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,GAAG;IAC3C,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,2CAA2C;IAC3C,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACjD,kDAAkD;IAClD,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC;CAC5C,CAAC,GACF,CAAC,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG;IACtC,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;CACpC,CAAC,GACF,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AA6FjE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAcjE,CAAC"}
1
+ {"version":3,"file":"MessageParts.d.ts","names":[],"sources":["../../../../src/react/primitives/message/MessageParts.tsx"],"mappings":";;;;;kBA6JiB,qBAAA;EAAA,KACV,UAAA;IADU,kDAGb,OAAA,GAAU,MAAA,SAAe,wBAAA,2BAHS;IAKlC,QAAA,GAAW,wBAAA;EAAA;EAAA,KAGR,cAAA;IAEK,6CAAR,KAAA,GAAQ,yBAAA,cAIC;IAFT,IAAA,GAAO,wBAAA,cAMA;IAJP,MAAA,GAAS,0BAAA,cAQF;IANP,KAAA,GAAQ,yBAAA,cAoBU;IAlBlB,IAAA,GAAO,wBAAA,cA+BgB;IA7BvB,cAAA,GAAiB,kCAAA,cAgCY;IA9B7B,IAAA,GAAO,UAAA,cAkCqB;IAhC5B,KAAA,GAAQ,yBAAA;IAyCgB;;;;;;;;IAhCxB,YAAA;MA+FsC,uDA5FhC,UAAA,EAAY,6BAAA,EAyGoC;MAvGhD,QAAA,GACI,aAAA;QAAgB,SAAA;QAAmB,KAAA;MAAA;IAAA;EAAA;EAAA,KAM1C,WAAA;IAxCQ,qDA2CP,OAAA,GACI,MAAA,SAAe,4BAAA,2BAvCvB;IA0CI,QAAA,GAAW,aAAA,CAAc,wBAAA;EAAA;IAxCtB,qDA4CH,QAAA,EAAU,aAAA,CAAc,wBAAA;EAAA;EAxC5B;;;;;;EAAA,KAiDG,kBAAA,GAAqB,cAAA;IA3CjB,mEA6CP,SAAA,GAAY,6BAAA,cA3CJ;IA6CR,KAAA,GAAQ,WAAA;IAjCF;;;;;;;;;IA4CN,SAAA,GAAY,aAAA,CACV,iBAAA;MAAoB,UAAA;MAAoB,QAAA;IAAA;IAzBtC;;;;;;;;;IAqCJ,cAAA,GAAiB,uBAAA;IAEjB,cAAA;EAAA;EAdsB;;;;;;;EAAA,KAwBnB,wBAAA,GAA2B,cAAA;IAMd;;;;;IAAhB,cAAA,EAAgB,aAAA;IAEhB,SAAA;IACA,KAAA;IACA,SAAA;IACA,cAAA;EAAA;EAAA,YAGU,KAAA;IAsBc;;;;;;;IAbpB,UAAA,GAAa,kBAAA,GAAqB,wBAAA;IA6D7B;;;;;;;IArDL,8BAAA;IACA,QAAA;EAAA;IA4D0C,8EAxD1C,QAAA,GAAW,KAAA;MAAS,IAAA,EAAM,iBAAA;IAAA,MAAwB,SAAA;IAClD,UAAA;IACA,8BAAA;EAAA;EAAA;AAAA;;;;;cA8CK,iBAAA;;;;;;;;;KAOe,iBAAA,KAAiB,SAAA;;;KACZ,iBAAA,KAAiB,SAAA;AAAA;AAAA,KAG7C,yBAAA;EACH,UAAA,EAAY,qBAAA,CAAsB,KAAK;AAAA;AAAA,cAG5B,oBAAA,EAAsB,EAAE,CAAC,yBAAA;AAAA,kBAyFrB,2BAAA;EAAA,KACH,KAAA;IACV,KAAA;IACA,UAAA,EAAY,qBAAA,CAAsB,KAAK;EAAA;AAAA;AAH3C;;;AAAA,cAUa,2BAAA,EAA6B,EAAE,CAAC,2BAAA,CAA4B,KAAA;;;;;;AAP9B;AAO3C;;;;;;KA+LY,iBAAA,IACP,OAAA,CAAQ,SAAA;EAAa,IAAA;AAAA;EADd,2EAGG,MAAA,EAAQ,SAAA;EAEjB,SAAA,EAAW,wBAAA,eAJZ;EAMC,MAAA,EAAQ,wBAAA;AAAA,MAET,OAAA,CAAQ,SAAA;EAAa,IAAA;AAAA;EAArB,oFAEU,cAAA,EAAgB,SAAA;AAAA,KAE3B,OAAA,CAAQ,SAAA;EAAa,IAAA;AAAA;EAAwB,IAAA;AAAA;;;;;;;cAmGpC,qBAAA,EAAuB,EAAE,CAAC,qBAAA,CAAsB,KAAA"}