@assistant-ui/core 0.2.4 → 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 (827) 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 -61
  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 -335
  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/MessageParts.tsx +50 -1
  753. package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +11 -7
  754. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +7 -2
  755. package/src/react/runtimes/cloud/auiV0.ts +1 -1
  756. package/src/react/types/MessagePartComponentTypes.ts +26 -0
  757. package/src/runtime/api/thread-list-item-runtime.ts +3 -3
  758. package/src/runtime/api/thread-list-runtime.ts +9 -3
  759. package/src/runtime/base/base-thread-runtime-core.ts +8 -0
  760. package/src/runtime/interfaces/thread-list-runtime-core.ts +4 -1
  761. package/src/runtime/interfaces/thread-runtime-core.ts +6 -5
  762. package/src/runtime/utils/thread-message-like.ts +11 -3
  763. package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +4 -1
  764. package/src/store/runtime-clients/thread-list-runtime-client.ts +2 -2
  765. package/src/store/scopes/thread-list-item.ts +1 -1
  766. package/src/store/scopes/threads.ts +1 -1
  767. package/src/tests/RemoteThreadListThreadListRuntimeCore-switchToThread-unarchive.test.ts +88 -0
  768. package/src/tests/external-store-thread-runtime-core.test.ts +83 -0
  769. package/src/types/index.ts +3 -0
  770. package/src/types/message.ts +49 -1
  771. package/dist/adapters/feedback.js.map +0 -1
  772. package/dist/adapters/index.d.ts.map +0 -1
  773. package/dist/adapters/index.js.map +0 -1
  774. package/dist/adapters/suggestion.js.map +0 -1
  775. package/dist/adapters/thread-history.js.map +0 -1
  776. package/dist/adapters/trigger.js.map +0 -1
  777. package/dist/index.d.ts.map +0 -1
  778. package/dist/index.js.map +0 -1
  779. package/dist/internal.d.ts.map +0 -1
  780. package/dist/internal.js.map +0 -1
  781. package/dist/model-context/registry-handles.js.map +0 -1
  782. package/dist/react/index.d.ts.map +0 -1
  783. package/dist/react/index.js.map +0 -1
  784. package/dist/react/model-context/toolbox.js.map +0 -1
  785. package/dist/react/types/MessagePartComponentTypes.js.map +0 -1
  786. package/dist/react/types/scopes/dataRenderers.js.map +0 -1
  787. package/dist/react/types/scopes/interactables.js.map +0 -1
  788. package/dist/react/types/scopes/tools.js.map +0 -1
  789. package/dist/react/types/store-augmentation.js.map +0 -1
  790. package/dist/runtime/api/bindings.js.map +0 -1
  791. package/dist/runtime/api/paths.js.map +0 -1
  792. package/dist/runtime/interfaces/assistant-runtime-core.js.map +0 -1
  793. package/dist/runtime/interfaces/composer-runtime-core.js.map +0 -1
  794. package/dist/runtime/interfaces/thread-list-runtime-core.js.map +0 -1
  795. package/dist/runtime/interfaces/thread-runtime-core.js.map +0 -1
  796. package/dist/runtime/internal.d.ts.map +0 -1
  797. package/dist/runtime/internal.js.map +0 -1
  798. package/dist/runtime/utils/chat-model-adapter.js.map +0 -1
  799. package/dist/runtimes/external-store/external-store-adapter.js.map +0 -1
  800. package/dist/runtimes/internal.d.ts.map +0 -1
  801. package/dist/runtimes/internal.js.map +0 -1
  802. package/dist/runtimes/local/local-runtime-options.js.map +0 -1
  803. package/dist/runtimes/remote-thread-list/types.js.map +0 -1
  804. package/dist/store/index.d.ts.map +0 -1
  805. package/dist/store/index.js.map +0 -1
  806. package/dist/store/internal.d.ts.map +0 -1
  807. package/dist/store/internal.js.map +0 -1
  808. package/dist/store/scope-registration.js.map +0 -1
  809. package/dist/store/scopes/attachment.js.map +0 -1
  810. package/dist/store/scopes/chain-of-thought.js.map +0 -1
  811. package/dist/store/scopes/composer.js.map +0 -1
  812. package/dist/store/scopes/message.js.map +0 -1
  813. package/dist/store/scopes/model-context.js.map +0 -1
  814. package/dist/store/scopes/part.js.map +0 -1
  815. package/dist/store/scopes/queue-item.js.map +0 -1
  816. package/dist/store/scopes/suggestion.js.map +0 -1
  817. package/dist/store/scopes/suggestions.js.map +0 -1
  818. package/dist/store/scopes/thread-list-item.js.map +0 -1
  819. package/dist/store/scopes/thread.js.map +0 -1
  820. package/dist/store/scopes/threads.js.map +0 -1
  821. package/dist/types/attachment.js.map +0 -1
  822. package/dist/types/directive.js.map +0 -1
  823. package/dist/types/index.d.ts.map +0 -1
  824. package/dist/types/index.js.map +0 -1
  825. package/dist/types/quote.js.map +0 -1
  826. package/dist/types/trigger.js.map +0 -1
  827. package/dist/types/unsubscribe.js.map +0 -1
@@ -1,361 +1,353 @@
1
- import { getThreadMessageText } from "../../utils/text.js";
2
1
  import { generateId } from "../../utils/id.js";
3
- import { ExportedMessageRepository, MessageRepository, } from "../utils/message-repository.js";
2
+ import { ExportedMessageRepository, MessageRepository } from "../utils/message-repository.js";
3
+ import { getThreadMessageText } from "../../utils/text.js";
4
4
  import { DefaultThreadComposerRuntimeCore } from "./default-thread-composer-runtime-core.js";
5
5
  import { DefaultEditComposerRuntimeCore } from "./default-edit-composer-runtime-core.js";
6
- export class BaseThreadRuntimeCore {
7
- _contextProvider;
8
- _subscriptions = new Set();
9
- _isInitialized = false;
10
- repository = new MessageRepository();
11
- _voiceMessages = [];
12
- _voiceGeneration = 0;
13
- _cachedMergedMessages = null;
14
- _cachedVoiceGeneration = -1;
15
- _cachedMergedBase = null;
16
- _markVoiceMessagesDirty() {
17
- this._voiceGeneration++;
18
- this._cachedMergedMessages = null;
19
- }
20
- _getBaseMessages() {
21
- return this.repository.getMessages();
22
- }
23
- get messages() {
24
- if (this._voiceMessages.length === 0) {
25
- return this._getBaseMessages();
26
- }
27
- const base = this._getBaseMessages();
28
- if (this._cachedVoiceGeneration !== this._voiceGeneration ||
29
- this._cachedMergedBase !== base) {
30
- this._cachedMergedMessages = [...base, ...this._voiceMessages];
31
- this._cachedVoiceGeneration = this._voiceGeneration;
32
- this._cachedMergedBase = base;
33
- }
34
- return this._cachedMergedMessages;
35
- }
36
- get state() {
37
- let mostRecentAssistantMessage;
38
- for (const message of this.messages) {
39
- if (message.role === "assistant") {
40
- mostRecentAssistantMessage = message;
41
- }
42
- }
43
- return mostRecentAssistantMessage?.metadata.unstable_state ?? null;
44
- }
45
- composer = new DefaultThreadComposerRuntimeCore(this);
46
- constructor(_contextProvider) {
47
- this._contextProvider = _contextProvider;
48
- }
49
- getModelContext() {
50
- return this._contextProvider.getModelContext();
51
- }
52
- _editComposers = new Map();
53
- getEditComposer(messageId) {
54
- return this._editComposers.get(messageId);
55
- }
56
- beginEdit(messageId) {
57
- if (this._editComposers.has(messageId))
58
- throw new Error("Edit already in progress");
59
- this._editComposers.set(messageId, new DefaultEditComposerRuntimeCore(this, () => this._editComposers.delete(messageId), this.repository.getMessage(messageId)));
60
- this._notifySubscribers();
61
- }
62
- getMessageById(messageId) {
63
- try {
64
- return this.repository.getMessage(messageId);
65
- }
66
- catch {
67
- // Check voice messages
68
- const baseMessages = this.repository.getMessages();
69
- const voiceIdx = this._voiceMessages.findIndex((m) => m.id === messageId);
70
- if (voiceIdx !== -1) {
71
- const parentId = voiceIdx > 0
72
- ? this._voiceMessages[voiceIdx - 1].id
73
- : (baseMessages.at(-1)?.id ?? null);
74
- return {
75
- parentId,
76
- message: this._voiceMessages[voiceIdx],
77
- index: baseMessages.length + voiceIdx,
78
- };
79
- }
80
- return undefined;
81
- }
82
- }
83
- getBranches(messageId) {
84
- if (this._voiceMessages.some((m) => m.id === messageId)) {
85
- return [];
86
- }
87
- return this.repository.getBranches(messageId);
88
- }
89
- switchToBranch(branchId) {
90
- this.repository.switchToBranch(branchId);
91
- this._notifySubscribers();
92
- }
93
- _notifySubscribers() {
94
- for (const callback of this._subscriptions)
95
- callback();
96
- }
97
- _notifyEventSubscribers(event, payload) {
98
- const subscribers = this._eventSubscribers.get(event);
99
- if (!subscribers)
100
- return;
101
- for (const callback of subscribers)
102
- callback(payload);
103
- }
104
- subscribe(callback) {
105
- this._subscriptions.add(callback);
106
- return () => this._subscriptions.delete(callback);
107
- }
108
- submitFeedback({ messageId, type }) {
109
- const adapter = this.adapters?.feedback;
110
- if (!adapter)
111
- throw new Error("Feedback adapter not configured");
112
- const { message, parentId } = this.repository.getMessage(messageId);
113
- adapter.submit({ message, type });
114
- if (message.role === "assistant") {
115
- const updatedMessage = {
116
- ...message,
117
- metadata: {
118
- ...message.metadata,
119
- submittedFeedback: { type },
120
- },
121
- };
122
- this.repository.addOrUpdateMessage(parentId, updatedMessage);
123
- }
124
- this._notifySubscribers();
125
- }
126
- _stopSpeaking;
127
- speech;
128
- speak(messageId) {
129
- const adapter = this.adapters?.speech;
130
- if (!adapter)
131
- throw new Error("Speech adapter not configured");
132
- const { message } = this.repository.getMessage(messageId);
133
- this._stopSpeaking?.();
134
- const utterance = adapter.speak(getThreadMessageText(message));
135
- const unsub = utterance.subscribe(() => {
136
- if (utterance.status.type === "ended") {
137
- this._stopSpeaking = undefined;
138
- this.speech = undefined;
139
- }
140
- else {
141
- this.speech = { messageId, status: utterance.status };
142
- }
143
- this._notifySubscribers();
144
- });
145
- this.speech = { messageId, status: utterance.status };
146
- this._notifySubscribers();
147
- this._stopSpeaking = () => {
148
- utterance.cancel();
149
- unsub();
150
- this.speech = undefined;
151
- this._stopSpeaking = undefined;
152
- };
153
- }
154
- stopSpeaking() {
155
- if (!this._stopSpeaking)
156
- throw new Error("No message is being spoken");
157
- this._stopSpeaking();
158
- this._notifySubscribers();
159
- }
160
- _voiceSession;
161
- _voiceUnsubs = [];
162
- voice;
163
- _voiceVolume = 0;
164
- _voiceVolumeSubscribers = new Set();
165
- getVoiceVolume = () => this._voiceVolume;
166
- subscribeVoiceVolume = (callback) => {
167
- this._voiceVolumeSubscribers.add(callback);
168
- return () => this._voiceVolumeSubscribers.delete(callback);
169
- };
170
- connectVoice() {
171
- const adapter = this.adapters?.voice;
172
- if (!adapter)
173
- throw new Error("Voice adapter not configured");
174
- this.disconnectVoice();
175
- const session = adapter.connect({});
176
- this._voiceSession = session;
177
- const unsubs = [];
178
- let currentMode = "listening";
179
- this.voice = {
180
- status: session.status,
181
- isMuted: session.isMuted,
182
- mode: currentMode,
183
- };
184
- this._voiceVolume = 0;
185
- this._notifySubscribers();
186
- unsubs.push(session.onStatusChange((status) => {
187
- if (status.type === "ended") {
188
- this._finishVoiceAssistantMessage();
189
- this._voiceSession = undefined;
190
- this.voice = undefined;
191
- }
192
- else {
193
- this.voice = {
194
- status,
195
- isMuted: session.isMuted,
196
- mode: currentMode,
197
- };
198
- }
199
- this._notifySubscribers();
200
- }));
201
- unsubs.push(session.onModeChange((mode) => {
202
- currentMode = mode;
203
- if (this.voice) {
204
- this.voice = { ...this.voice, mode };
205
- this._notifySubscribers();
206
- }
207
- }));
208
- unsubs.push(session.onVolumeChange((volume) => {
209
- this._voiceVolume = volume;
210
- for (const cb of this._voiceVolumeSubscribers)
211
- cb();
212
- }));
213
- unsubs.push(session.onTranscript((transcript) => {
214
- this._handleVoiceTranscript(transcript);
215
- }));
216
- this._voiceUnsubs = unsubs;
217
- }
218
- _currentAssistantMsg = null;
219
- _handleVoiceTranscript(transcript) {
220
- this.ensureInitialized();
221
- if (transcript.role === "user") {
222
- this._finishVoiceAssistantMessage();
223
- this._currentAssistantMsg = null;
224
- if (transcript.isFinal) {
225
- this._voiceMessages.push({
226
- id: generateId(),
227
- role: "user",
228
- content: [{ type: "text", text: transcript.text }],
229
- metadata: { custom: {} },
230
- createdAt: new Date(),
231
- status: { type: "complete", reason: "unknown" },
232
- attachments: [],
233
- });
234
- this._markVoiceMessagesDirty();
235
- this._notifySubscribers();
236
- }
237
- }
238
- else {
239
- if (!this._currentAssistantMsg) {
240
- this._currentAssistantMsg = {
241
- id: generateId(),
242
- role: "assistant",
243
- content: [{ type: "text", text: transcript.text }],
244
- metadata: {
245
- unstable_state: this.state,
246
- unstable_annotations: [],
247
- unstable_data: [],
248
- steps: [],
249
- custom: {},
250
- },
251
- status: { type: "running" },
252
- createdAt: new Date(),
253
- };
254
- this._voiceMessages.push(this._currentAssistantMsg);
255
- }
256
- else {
257
- const idx = this._voiceMessages.indexOf(this._currentAssistantMsg);
258
- if (idx === -1)
259
- return;
260
- const updated = {
261
- ...this._currentAssistantMsg,
262
- content: [{ type: "text", text: transcript.text }],
263
- ...(transcript.isFinal
264
- ? { status: { type: "complete", reason: "stop" } }
265
- : {}),
266
- };
267
- this._voiceMessages[idx] = updated;
268
- this._currentAssistantMsg = updated;
269
- }
270
- if (transcript.isFinal) {
271
- this._currentAssistantMsg = null;
272
- }
273
- this._markVoiceMessagesDirty();
274
- this._notifySubscribers();
275
- }
276
- }
277
- _finishVoiceAssistantMessage() {
278
- const last = this._voiceMessages.at(-1);
279
- if (last?.role === "assistant" && last.status.type === "running") {
280
- const idx = this._voiceMessages.length - 1;
281
- this._voiceMessages[idx] = {
282
- ...last,
283
- status: { type: "complete", reason: "stop" },
284
- };
285
- this._markVoiceMessagesDirty();
286
- this._notifySubscribers();
287
- }
288
- }
289
- disconnectVoice() {
290
- this._finishVoiceAssistantMessage();
291
- this._currentAssistantMsg = null;
292
- for (const unsub of this._voiceUnsubs)
293
- unsub();
294
- this._voiceUnsubs = [];
295
- this._voiceSession?.disconnect();
296
- this._voiceSession = undefined;
297
- this.voice = undefined;
298
- this._voiceVolume = 0;
299
- for (const cb of this._voiceVolumeSubscribers)
300
- cb();
301
- this._voiceMessages = [];
302
- this._markVoiceMessagesDirty();
303
- this._notifySubscribers();
304
- }
305
- muteVoice() {
306
- if (!this._voiceSession)
307
- throw new Error("No active voice session");
308
- this._voiceSession.mute();
309
- this.voice = {
310
- ...this.voice,
311
- isMuted: true,
312
- };
313
- this._notifySubscribers();
314
- }
315
- unmuteVoice() {
316
- if (!this._voiceSession)
317
- throw new Error("No active voice session");
318
- this._voiceSession.unmute();
319
- this.voice = {
320
- ...this.voice,
321
- isMuted: false,
322
- };
323
- this._notifySubscribers();
324
- }
325
- ensureInitialized() {
326
- if (!this._isInitialized) {
327
- this._isInitialized = true;
328
- this._notifyEventSubscribers("initialize", {});
329
- }
330
- }
331
- export() {
332
- return this.repository.export();
333
- }
334
- import(data) {
335
- this.ensureInitialized();
336
- this.repository.clear();
337
- this.repository.import(data);
338
- this._notifySubscribers();
339
- }
340
- reset(initialMessages) {
341
- this.import(ExportedMessageRepository.fromArray(initialMessages ?? []));
342
- }
343
- _eventSubscribers = new Map();
344
- unstable_on(event, callback) {
345
- const wrapped = callback;
346
- if (event === "modelContextUpdate") {
347
- // provider.subscribe is `() => void`; pump the typed empty payload to the user callback.
348
- return this._contextProvider.subscribe?.(() => wrapped({})) ?? (() => { });
349
- }
350
- let subscribers = this._eventSubscribers.get(event);
351
- if (!subscribers) {
352
- subscribers = new Set();
353
- this._eventSubscribers.set(event, subscribers);
354
- }
355
- subscribers.add(wrapped);
356
- return () => {
357
- this._eventSubscribers.get(event)?.delete(wrapped);
358
- };
359
- }
360
- }
6
+ //#region src/runtime/base/base-thread-runtime-core.ts
7
+ var BaseThreadRuntimeCore = class {
8
+ _contextProvider;
9
+ _subscriptions = /* @__PURE__ */ new Set();
10
+ _isInitialized = false;
11
+ repository = new MessageRepository();
12
+ _voiceMessages = [];
13
+ _voiceGeneration = 0;
14
+ _cachedMergedMessages = null;
15
+ _cachedVoiceGeneration = -1;
16
+ _cachedMergedBase = null;
17
+ _markVoiceMessagesDirty() {
18
+ this._voiceGeneration++;
19
+ this._cachedMergedMessages = null;
20
+ }
21
+ _getBaseMessages() {
22
+ return this.repository.getMessages();
23
+ }
24
+ get messages() {
25
+ if (this._voiceMessages.length === 0) return this._getBaseMessages();
26
+ const base = this._getBaseMessages();
27
+ if (this._cachedVoiceGeneration !== this._voiceGeneration || this._cachedMergedBase !== base) {
28
+ this._cachedMergedMessages = [...base, ...this._voiceMessages];
29
+ this._cachedVoiceGeneration = this._voiceGeneration;
30
+ this._cachedMergedBase = base;
31
+ }
32
+ return this._cachedMergedMessages;
33
+ }
34
+ get state() {
35
+ let mostRecentAssistantMessage;
36
+ for (const message of this.messages) if (message.role === "assistant") mostRecentAssistantMessage = message;
37
+ return mostRecentAssistantMessage?.metadata.unstable_state ?? null;
38
+ }
39
+ composer = new DefaultThreadComposerRuntimeCore(this);
40
+ constructor(_contextProvider) {
41
+ this._contextProvider = _contextProvider;
42
+ }
43
+ getModelContext() {
44
+ return this._contextProvider.getModelContext();
45
+ }
46
+ _editComposers = /* @__PURE__ */ new Map();
47
+ getEditComposer(messageId) {
48
+ return this._editComposers.get(messageId);
49
+ }
50
+ beginEdit(messageId) {
51
+ if (this._editComposers.has(messageId)) throw new Error("Edit already in progress");
52
+ this._editComposers.set(messageId, new DefaultEditComposerRuntimeCore(this, () => this._editComposers.delete(messageId), this.repository.getMessage(messageId)));
53
+ this._notifySubscribers();
54
+ }
55
+ getMessageById(messageId) {
56
+ try {
57
+ return this.repository.getMessage(messageId);
58
+ } catch {
59
+ const baseMessages = this.repository.getMessages();
60
+ const voiceIdx = this._voiceMessages.findIndex((m) => m.id === messageId);
61
+ if (voiceIdx !== -1) return {
62
+ parentId: voiceIdx > 0 ? this._voiceMessages[voiceIdx - 1].id : baseMessages.at(-1)?.id ?? null,
63
+ message: this._voiceMessages[voiceIdx],
64
+ index: baseMessages.length + voiceIdx
65
+ };
66
+ return;
67
+ }
68
+ }
69
+ getBranches(messageId) {
70
+ if (this._voiceMessages.some((m) => m.id === messageId)) return [];
71
+ return this.repository.getBranches(messageId);
72
+ }
73
+ switchToBranch(branchId) {
74
+ this.repository.switchToBranch(branchId);
75
+ this._notifySubscribers();
76
+ }
77
+ _notifySubscribers() {
78
+ for (const callback of this._subscriptions) callback();
79
+ }
80
+ _notifyEventSubscribers(event, payload) {
81
+ const subscribers = this._eventSubscribers.get(event);
82
+ if (!subscribers) return;
83
+ for (const callback of subscribers) callback(payload);
84
+ }
85
+ subscribe(callback) {
86
+ this._subscriptions.add(callback);
87
+ return () => this._subscriptions.delete(callback);
88
+ }
89
+ submitFeedback({ messageId, type }) {
90
+ const adapter = this.adapters?.feedback;
91
+ if (!adapter) throw new Error("Feedback adapter not configured");
92
+ const { message, parentId } = this.repository.getMessage(messageId);
93
+ adapter.submit({
94
+ message,
95
+ type
96
+ });
97
+ if (message.role === "assistant") {
98
+ const updatedMessage = {
99
+ ...message,
100
+ metadata: {
101
+ ...message.metadata,
102
+ submittedFeedback: { type }
103
+ }
104
+ };
105
+ this.repository.addOrUpdateMessage(parentId, updatedMessage);
106
+ }
107
+ this._notifySubscribers();
108
+ }
109
+ _stopSpeaking;
110
+ speech;
111
+ speak(messageId) {
112
+ const adapter = this.adapters?.speech;
113
+ if (!adapter) throw new Error("Speech adapter not configured");
114
+ const { message } = this.repository.getMessage(messageId);
115
+ this._stopSpeaking?.();
116
+ const utterance = adapter.speak(getThreadMessageText(message));
117
+ const unsub = utterance.subscribe(() => {
118
+ if (utterance.status.type === "ended") {
119
+ this._stopSpeaking = void 0;
120
+ this.speech = void 0;
121
+ } else this.speech = {
122
+ messageId,
123
+ status: utterance.status
124
+ };
125
+ this._notifySubscribers();
126
+ });
127
+ this.speech = {
128
+ messageId,
129
+ status: utterance.status
130
+ };
131
+ this._notifySubscribers();
132
+ this._stopSpeaking = () => {
133
+ utterance.cancel();
134
+ unsub();
135
+ this.speech = void 0;
136
+ this._stopSpeaking = void 0;
137
+ };
138
+ }
139
+ stopSpeaking() {
140
+ if (!this._stopSpeaking) throw new Error("No message is being spoken");
141
+ this._stopSpeaking();
142
+ this._notifySubscribers();
143
+ }
144
+ _voiceSession;
145
+ _voiceUnsubs = [];
146
+ voice;
147
+ _voiceVolume = 0;
148
+ _voiceVolumeSubscribers = /* @__PURE__ */ new Set();
149
+ getVoiceVolume = () => this._voiceVolume;
150
+ subscribeVoiceVolume = (callback) => {
151
+ this._voiceVolumeSubscribers.add(callback);
152
+ return () => this._voiceVolumeSubscribers.delete(callback);
153
+ };
154
+ connectVoice() {
155
+ const adapter = this.adapters?.voice;
156
+ if (!adapter) throw new Error("Voice adapter not configured");
157
+ this.disconnectVoice();
158
+ const session = adapter.connect({});
159
+ this._voiceSession = session;
160
+ const unsubs = [];
161
+ let currentMode = "listening";
162
+ this.voice = {
163
+ status: session.status,
164
+ isMuted: session.isMuted,
165
+ mode: currentMode
166
+ };
167
+ this._voiceVolume = 0;
168
+ this._notifySubscribers();
169
+ unsubs.push(session.onStatusChange((status) => {
170
+ if (status.type === "ended") {
171
+ this._finishVoiceAssistantMessage();
172
+ this._voiceSession = void 0;
173
+ this.voice = void 0;
174
+ } else this.voice = {
175
+ status,
176
+ isMuted: session.isMuted,
177
+ mode: currentMode
178
+ };
179
+ this._notifySubscribers();
180
+ }));
181
+ unsubs.push(session.onModeChange((mode) => {
182
+ currentMode = mode;
183
+ if (this.voice) {
184
+ this.voice = {
185
+ ...this.voice,
186
+ mode
187
+ };
188
+ this._notifySubscribers();
189
+ }
190
+ }));
191
+ unsubs.push(session.onVolumeChange((volume) => {
192
+ this._voiceVolume = volume;
193
+ for (const cb of this._voiceVolumeSubscribers) cb();
194
+ }));
195
+ unsubs.push(session.onTranscript((transcript) => {
196
+ this._handleVoiceTranscript(transcript);
197
+ }));
198
+ this._voiceUnsubs = unsubs;
199
+ }
200
+ _currentAssistantMsg = null;
201
+ _handleVoiceTranscript(transcript) {
202
+ this.ensureInitialized();
203
+ if (transcript.role === "user") {
204
+ this._finishVoiceAssistantMessage();
205
+ this._currentAssistantMsg = null;
206
+ if (transcript.isFinal) {
207
+ this._voiceMessages.push({
208
+ id: generateId(),
209
+ role: "user",
210
+ content: [{
211
+ type: "text",
212
+ text: transcript.text
213
+ }],
214
+ metadata: { custom: {} },
215
+ createdAt: /* @__PURE__ */ new Date(),
216
+ status: {
217
+ type: "complete",
218
+ reason: "unknown"
219
+ },
220
+ attachments: []
221
+ });
222
+ this._markVoiceMessagesDirty();
223
+ this._notifySubscribers();
224
+ }
225
+ } else {
226
+ if (!this._currentAssistantMsg) {
227
+ this._currentAssistantMsg = {
228
+ id: generateId(),
229
+ role: "assistant",
230
+ content: [{
231
+ type: "text",
232
+ text: transcript.text
233
+ }],
234
+ metadata: {
235
+ unstable_state: this.state,
236
+ unstable_annotations: [],
237
+ unstable_data: [],
238
+ steps: [],
239
+ custom: {}
240
+ },
241
+ status: { type: "running" },
242
+ createdAt: /* @__PURE__ */ new Date()
243
+ };
244
+ this._voiceMessages.push(this._currentAssistantMsg);
245
+ } else {
246
+ const idx = this._voiceMessages.indexOf(this._currentAssistantMsg);
247
+ if (idx === -1) return;
248
+ const updated = {
249
+ ...this._currentAssistantMsg,
250
+ content: [{
251
+ type: "text",
252
+ text: transcript.text
253
+ }],
254
+ ...transcript.isFinal ? { status: {
255
+ type: "complete",
256
+ reason: "stop"
257
+ } } : {}
258
+ };
259
+ this._voiceMessages[idx] = updated;
260
+ this._currentAssistantMsg = updated;
261
+ }
262
+ if (transcript.isFinal) this._currentAssistantMsg = null;
263
+ this._markVoiceMessagesDirty();
264
+ this._notifySubscribers();
265
+ }
266
+ }
267
+ _finishVoiceAssistantMessage() {
268
+ const last = this._voiceMessages.at(-1);
269
+ if (last?.role === "assistant" && last.status.type === "running") {
270
+ const idx = this._voiceMessages.length - 1;
271
+ this._voiceMessages[idx] = {
272
+ ...last,
273
+ status: {
274
+ type: "complete",
275
+ reason: "stop"
276
+ }
277
+ };
278
+ this._markVoiceMessagesDirty();
279
+ this._notifySubscribers();
280
+ }
281
+ }
282
+ disconnectVoice() {
283
+ this._finishVoiceAssistantMessage();
284
+ this._currentAssistantMsg = null;
285
+ for (const unsub of this._voiceUnsubs) unsub();
286
+ this._voiceUnsubs = [];
287
+ this._voiceSession?.disconnect();
288
+ this._voiceSession = void 0;
289
+ this.voice = void 0;
290
+ this._voiceVolume = 0;
291
+ for (const cb of this._voiceVolumeSubscribers) cb();
292
+ this._voiceMessages = [];
293
+ this._markVoiceMessagesDirty();
294
+ this._notifySubscribers();
295
+ }
296
+ muteVoice() {
297
+ if (!this._voiceSession) throw new Error("No active voice session");
298
+ this._voiceSession.mute();
299
+ this.voice = {
300
+ ...this.voice,
301
+ isMuted: true
302
+ };
303
+ this._notifySubscribers();
304
+ }
305
+ unmuteVoice() {
306
+ if (!this._voiceSession) throw new Error("No active voice session");
307
+ this._voiceSession.unmute();
308
+ this.voice = {
309
+ ...this.voice,
310
+ isMuted: false
311
+ };
312
+ this._notifySubscribers();
313
+ }
314
+ ensureInitialized() {
315
+ if (!this._isInitialized) {
316
+ this._isInitialized = true;
317
+ this._notifyEventSubscribers("initialize", {});
318
+ }
319
+ }
320
+ export() {
321
+ return this.repository.export();
322
+ }
323
+ import(data) {
324
+ this.ensureInitialized();
325
+ this.repository.clear();
326
+ this.repository.import(data);
327
+ this._notifySubscribers();
328
+ }
329
+ reset(initialMessages) {
330
+ this.import(ExportedMessageRepository.fromArray(initialMessages ?? []));
331
+ }
332
+ _eventSubscribers = /* @__PURE__ */ new Map();
333
+ unstable_on(event, callback) {
334
+ const wrapped = callback;
335
+ if (event === "modelContextUpdate") return this._contextProvider.subscribe?.(() => wrapped({})) ?? (() => {});
336
+ let subscribers = this._eventSubscribers.get(event);
337
+ if (!subscribers) {
338
+ subscribers = /* @__PURE__ */ new Set();
339
+ this._eventSubscribers.set(event, subscribers);
340
+ }
341
+ subscribers.add(wrapped);
342
+ if (event === "initialize" && this._isInitialized) queueMicrotask(() => {
343
+ if (subscribers.has(wrapped)) wrapped({});
344
+ });
345
+ return () => {
346
+ this._eventSubscribers.get(event)?.delete(wrapped);
347
+ };
348
+ }
349
+ };
350
+ //#endregion
351
+ export { BaseThreadRuntimeCore };
352
+
361
353
  //# sourceMappingURL=base-thread-runtime-core.js.map