@assistant-ui/core 0.3.19 → 0.3.21

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 (934) hide show
  1. package/dist/adapters/attachment.d.ts +50 -43
  2. package/dist/adapters/attachment.d.ts.map +1 -1
  3. package/dist/adapters/attachment.js +52 -21
  4. package/dist/adapters/attachment.js.map +1 -1
  5. package/dist/adapters/directive-formatter.d.ts +2 -5
  6. package/dist/adapters/directive-formatter.d.ts.map +1 -1
  7. package/dist/adapters/feedback.d.ts +7 -8
  8. package/dist/adapters/feedback.d.ts.map +1 -1
  9. package/dist/adapters/index.d.ts +14 -9
  10. package/dist/adapters/index.d.ts.map +1 -0
  11. package/dist/adapters/index.js +1 -1
  12. package/dist/adapters/speech.d.ts +63 -65
  13. package/dist/adapters/speech.d.ts.map +1 -1
  14. package/dist/adapters/speech.js +16 -2
  15. package/dist/adapters/speech.js.map +1 -1
  16. package/dist/adapters/suggestion.d.ts +19 -22
  17. package/dist/adapters/suggestion.d.ts.map +1 -1
  18. package/dist/adapters/thread-history.d.ts +60 -58
  19. package/dist/adapters/thread-history.d.ts.map +1 -1
  20. package/dist/adapters/trigger.d.ts +8 -11
  21. package/dist/adapters/trigger.d.ts.map +1 -1
  22. package/dist/adapters/voice.d.ts +50 -45
  23. package/dist/adapters/voice.d.ts.map +1 -1
  24. package/dist/adapters/voice.js +17 -3
  25. package/dist/adapters/voice.js.map +1 -1
  26. package/dist/index.d.ts +70 -56
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +6 -6
  29. package/dist/index.js.map +1 -1
  30. package/dist/internal/duplicate-detection.d.ts +1 -4
  31. package/dist/internal/duplicate-detection.d.ts.map +1 -1
  32. package/dist/internal.d.ts +27 -58
  33. package/dist/internal.d.ts.map +1 -0
  34. package/dist/internal.js +8 -6
  35. package/dist/model-context/frame/host.d.ts +20 -23
  36. package/dist/model-context/frame/host.d.ts.map +1 -1
  37. package/dist/model-context/frame/host.js +3 -1
  38. package/dist/model-context/frame/host.js.map +1 -1
  39. package/dist/model-context/frame/provider.d.ts +28 -30
  40. package/dist/model-context/frame/provider.d.ts.map +1 -1
  41. package/dist/model-context/frame/provider.js +6 -0
  42. package/dist/model-context/frame/provider.js.map +1 -1
  43. package/dist/model-context/frame/types.d.ts +24 -27
  44. package/dist/model-context/frame/types.d.ts.map +1 -1
  45. package/dist/model-context/frame/validate.d.ts +3 -0
  46. package/dist/model-context/frame/validate.d.ts.map +1 -0
  47. package/dist/model-context/frame/validate.js +26 -0
  48. package/dist/model-context/frame/validate.js.map +1 -0
  49. package/dist/model-context/interactable-composer-metadata.d.ts +51 -39
  50. package/dist/model-context/interactable-composer-metadata.d.ts.map +1 -1
  51. package/dist/model-context/interactable-composer-metadata.js +30 -6
  52. package/dist/model-context/interactable-composer-metadata.js.map +1 -1
  53. package/dist/model-context/registry-handles.d.ts +9 -12
  54. package/dist/model-context/registry-handles.d.ts.map +1 -1
  55. package/dist/model-context/registry.d.ts +15 -18
  56. package/dist/model-context/registry.d.ts.map +1 -1
  57. package/dist/model-context/tool-call-text.d.ts +15 -17
  58. package/dist/model-context/tool-call-text.d.ts.map +1 -1
  59. package/dist/model-context/tool.d.ts +12 -14
  60. package/dist/model-context/tool.d.ts.map +1 -1
  61. package/dist/model-context/types.d.ts +40 -43
  62. package/dist/model-context/types.d.ts.map +1 -1
  63. package/dist/react/AssistantProvider.d.ts +9 -12
  64. package/dist/react/AssistantProvider.d.ts.map +1 -1
  65. package/dist/react/AssistantRuntimeProvider.d.ts +23 -26
  66. package/dist/react/AssistantRuntimeProvider.d.ts.map +1 -1
  67. package/dist/react/RuntimeAdapter.d.ts +4 -8
  68. package/dist/react/RuntimeAdapter.d.ts.map +1 -1
  69. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts +28 -23
  70. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
  71. package/dist/react/adapters/LocalStorageThreadListAdapter.js +77 -58
  72. package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
  73. package/dist/react/adapters/TitleGenerationAdapter.d.ts +4 -7
  74. package/dist/react/adapters/TitleGenerationAdapter.d.ts.map +1 -1
  75. package/dist/react/client/AdaptedRemoteThread.d.ts +6 -9
  76. package/dist/react/client/AdaptedRemoteThread.d.ts.map +1 -1
  77. package/dist/react/client/DataRenderers.d.ts +2 -5
  78. package/dist/react/client/DataRenderers.d.ts.map +1 -1
  79. package/dist/react/client/InMemoryThreadList.d.ts +9 -12
  80. package/dist/react/client/InMemoryThreadList.d.ts.map +1 -1
  81. package/dist/react/client/Interactables.d.ts +3 -6
  82. package/dist/react/client/Interactables.d.ts.map +1 -1
  83. package/dist/react/client/Interactables.js +306 -101
  84. package/dist/react/client/Interactables.js.map +1 -1
  85. package/dist/react/client/RemoteThreadList.d.ts +34 -37
  86. package/dist/react/client/RemoteThreadList.d.ts.map +1 -1
  87. package/dist/react/client/RemoteThreadList.js +2 -1
  88. package/dist/react/client/RemoteThreadList.js.map +1 -1
  89. package/dist/react/client/Tools.d.ts +10 -12
  90. package/dist/react/client/Tools.d.ts.map +1 -1
  91. package/dist/react/client/Tools.js +4 -8
  92. package/dist/react/client/Tools.js.map +1 -1
  93. package/dist/react/client/interactable-model-context.d.ts +9 -11
  94. package/dist/react/client/interactable-model-context.d.ts.map +1 -1
  95. package/dist/react/client/interactable-model-context.js +32 -22
  96. package/dist/react/client/interactable-model-context.js.map +1 -1
  97. package/dist/react/index.d.ts +160 -122
  98. package/dist/react/index.d.ts.map +1 -0
  99. package/dist/react/index.js +5 -5
  100. package/dist/react/interactables-legacy/Interactables.d.ts +2 -5
  101. package/dist/react/interactables-legacy/Interactables.d.ts.map +1 -1
  102. package/dist/react/interactables-legacy/Interactables.js +15 -8
  103. package/dist/react/interactables-legacy/Interactables.js.map +1 -1
  104. package/dist/react/interactables-legacy/interactable-model-context.d.ts +6 -9
  105. package/dist/react/interactables-legacy/interactable-model-context.d.ts.map +1 -1
  106. package/dist/react/interactables-legacy/interactable-model-context.js +13 -14
  107. package/dist/react/interactables-legacy/interactable-model-context.js.map +1 -1
  108. package/dist/react/interactables-legacy/scopes.d.ts +42 -46
  109. package/dist/react/interactables-legacy/scopes.d.ts.map +1 -1
  110. package/dist/react/interactables-legacy/useAssistantInteractable.d.ts +8 -11
  111. package/dist/react/interactables-legacy/useAssistantInteractable.d.ts.map +1 -1
  112. package/dist/react/interactables-legacy/useInteractableState.d.ts +7 -9
  113. package/dist/react/interactables-legacy/useInteractableState.d.ts.map +1 -1
  114. package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts +23 -14
  115. package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts.map +1 -1
  116. package/dist/react/interactables-shared/useInteractablePersistenceQueue.js +54 -25
  117. package/dist/react/interactables-shared/useInteractablePersistenceQueue.js.map +1 -1
  118. package/dist/react/model-context/define-mcp-toolkit.d.ts +15 -18
  119. package/dist/react/model-context/define-mcp-toolkit.d.ts.map +1 -1
  120. package/dist/react/model-context/define-toolkit.d.ts +13 -6
  121. package/dist/react/model-context/define-toolkit.d.ts.map +1 -1
  122. package/dist/react/model-context/external-tool.d.ts +1 -4
  123. package/dist/react/model-context/external-tool.d.ts.map +1 -1
  124. package/dist/react/model-context/human-tool.d.ts +3 -6
  125. package/dist/react/model-context/human-tool.d.ts.map +1 -1
  126. package/dist/react/model-context/interactableTool.d.ts +26 -29
  127. package/dist/react/model-context/interactableTool.d.ts.map +1 -1
  128. package/dist/react/model-context/makeAssistantDataUI.d.ts +6 -9
  129. package/dist/react/model-context/makeAssistantDataUI.d.ts.map +1 -1
  130. package/dist/react/model-context/makeAssistantTool.d.ts +6 -9
  131. package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -1
  132. package/dist/react/model-context/makeAssistantToolUI.d.ts +6 -9
  133. package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -1
  134. package/dist/react/model-context/provider-tool.d.ts +5 -7
  135. package/dist/react/model-context/provider-tool.d.ts.map +1 -1
  136. package/dist/react/model-context/stub-tool.d.ts +1 -4
  137. package/dist/react/model-context/stub-tool.d.ts.map +1 -1
  138. package/dist/react/model-context/toolbox.d.ts +44 -32
  139. package/dist/react/model-context/toolbox.d.ts.map +1 -1
  140. package/dist/react/model-context/useAssistantContext.d.ts +3 -6
  141. package/dist/react/model-context/useAssistantContext.d.ts.map +1 -1
  142. package/dist/react/model-context/useAssistantDataUI.d.ts +7 -10
  143. package/dist/react/model-context/useAssistantDataUI.d.ts.map +1 -1
  144. package/dist/react/model-context/useAssistantInstructions.d.ts +3 -6
  145. package/dist/react/model-context/useAssistantInstructions.d.ts.map +1 -1
  146. package/dist/react/model-context/useAssistantTool.d.ts +9 -13
  147. package/dist/react/model-context/useAssistantTool.d.ts.map +1 -1
  148. package/dist/react/model-context/useAssistantToolUI.d.ts +13 -16
  149. package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -1
  150. package/dist/react/model-context/useAuiToolOverrides.d.ts +3 -5
  151. package/dist/react/model-context/useAuiToolOverrides.d.ts.map +1 -1
  152. package/dist/react/model-context/useInlineRender.d.ts +3 -6
  153. package/dist/react/model-context/useInlineRender.d.ts.map +1 -1
  154. package/dist/react/model-context/useInteractable.d.ts +40 -40
  155. package/dist/react/model-context/useInteractable.d.ts.map +1 -1
  156. package/dist/react/model-context/useInteractableState.d.ts +10 -9
  157. package/dist/react/model-context/useInteractableState.d.ts.map +1 -1
  158. package/dist/react/model-context/useInteractableVersions.d.ts +4 -7
  159. package/dist/react/model-context/useInteractableVersions.d.ts.map +1 -1
  160. package/dist/react/model-context/useToolArgsStatus.d.ts +7 -9
  161. package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -1
  162. package/dist/react/primitive-hooks/useActionBarCopy.d.ts +7 -10
  163. package/dist/react/primitive-hooks/useActionBarCopy.d.ts.map +1 -1
  164. package/dist/react/primitive-hooks/useActionBarEdit.d.ts +3 -6
  165. package/dist/react/primitive-hooks/useActionBarEdit.d.ts.map +1 -1
  166. package/dist/react/primitive-hooks/useActionBarFeedback.d.ts +6 -9
  167. package/dist/react/primitive-hooks/useActionBarFeedback.d.ts.map +1 -1
  168. package/dist/react/primitive-hooks/useActionBarReload.d.ts +3 -6
  169. package/dist/react/primitive-hooks/useActionBarReload.d.ts.map +1 -1
  170. package/dist/react/primitive-hooks/useActionBarSpeak.d.ts +3 -6
  171. package/dist/react/primitive-hooks/useActionBarSpeak.d.ts.map +1 -1
  172. package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts +3 -6
  173. package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts.map +1 -1
  174. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts +3 -6
  175. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts.map +1 -1
  176. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts +3 -6
  177. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts.map +1 -1
  178. package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts +4 -7
  179. package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts.map +1 -1
  180. package/dist/react/primitive-hooks/useComposerCancel.d.ts +3 -6
  181. package/dist/react/primitive-hooks/useComposerCancel.d.ts.map +1 -1
  182. package/dist/react/primitive-hooks/useComposerDictate.d.ts +3 -6
  183. package/dist/react/primitive-hooks/useComposerDictate.d.ts.map +1 -1
  184. package/dist/react/primitive-hooks/useComposerSend.d.ts +4 -7
  185. package/dist/react/primitive-hooks/useComposerSend.d.ts.map +1 -1
  186. package/dist/react/primitive-hooks/useEditComposerCancel.d.ts +2 -5
  187. package/dist/react/primitive-hooks/useEditComposerCancel.d.ts.map +1 -1
  188. package/dist/react/primitive-hooks/useEditComposerSend.d.ts +3 -6
  189. package/dist/react/primitive-hooks/useEditComposerSend.d.ts.map +1 -1
  190. package/dist/react/primitive-hooks/useMessageBranching.d.ts +5 -8
  191. package/dist/react/primitive-hooks/useMessageBranching.d.ts.map +1 -1
  192. package/dist/react/primitive-hooks/useMessageError.d.ts +1 -4
  193. package/dist/react/primitive-hooks/useMessageError.d.ts.map +1 -1
  194. package/dist/react/primitive-hooks/useMessageReload.d.ts +3 -6
  195. package/dist/react/primitive-hooks/useMessageReload.d.ts.map +1 -1
  196. package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts +7 -10
  197. package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts.map +1 -1
  198. package/dist/react/primitive-hooks/useSuggestionTrigger.js +4 -4
  199. package/dist/react/primitive-hooks/useSuggestionTrigger.js.map +1 -1
  200. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts +1 -4
  201. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts.map +1 -1
  202. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts +1 -4
  203. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts.map +1 -1
  204. package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts +2 -5
  205. package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts.map +1 -1
  206. package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts +2 -5
  207. package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts.map +1 -1
  208. package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts +2 -5
  209. package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts.map +1 -1
  210. package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts +2 -5
  211. package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts.map +1 -1
  212. package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts +3 -6
  213. package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts.map +1 -1
  214. package/dist/react/primitive-hooks/useThreadListNew.d.ts +2 -5
  215. package/dist/react/primitive-hooks/useThreadListNew.d.ts.map +1 -1
  216. package/dist/react/primitive-hooks/useThreadMessageIds.d.ts +1 -4
  217. package/dist/react/primitive-hooks/useThreadMessageIds.d.ts.map +1 -1
  218. package/dist/react/primitive-hooks/useThreadMessages.d.ts +2 -5
  219. package/dist/react/primitive-hooks/useThreadMessages.d.ts.map +1 -1
  220. package/dist/react/primitive-hooks/useVoice.d.ts +8 -11
  221. package/dist/react/primitive-hooks/useVoice.d.ts.map +1 -1
  222. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +27 -29
  223. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -1
  224. package/dist/react/primitives/composer/ComposerAttachments.d.ts +26 -28
  225. package/dist/react/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  226. package/dist/react/primitives/composer/ComposerIf.d.ts +13 -13
  227. package/dist/react/primitives/composer/ComposerIf.d.ts.map +1 -1
  228. package/dist/react/primitives/composer/ComposerQueue.d.ts +13 -17
  229. package/dist/react/primitives/composer/ComposerQueue.d.ts.map +1 -1
  230. package/dist/react/primitives/generativeUI/GenerativeUI.d.ts +30 -33
  231. package/dist/react/primitives/generativeUI/GenerativeUI.d.ts.map +1 -1
  232. package/dist/react/primitives/generativeUI/GenerativeUI.js +42 -33
  233. package/dist/react/primitives/generativeUI/GenerativeUI.js.map +1 -1
  234. package/dist/react/primitives/message/MessageAttachments.d.ts +30 -28
  235. package/dist/react/primitives/message/MessageAttachments.d.ts.map +1 -1
  236. package/dist/react/primitives/message/MessageAttachments.js +14 -15
  237. package/dist/react/primitives/message/MessageAttachments.js.map +1 -1
  238. package/dist/react/primitives/message/MessageGroupedParts.d.ts +122 -120
  239. package/dist/react/primitives/message/MessageGroupedParts.d.ts.map +1 -1
  240. package/dist/react/primitives/message/MessageGroupedParts.js +3 -3
  241. package/dist/react/primitives/message/MessageGroupedParts.js.map +1 -1
  242. package/dist/react/primitives/message/MessageParts.d.ts +208 -194
  243. package/dist/react/primitives/message/MessageParts.d.ts.map +1 -1
  244. package/dist/react/primitives/message/MessageParts.js +124 -82
  245. package/dist/react/primitives/message/MessageParts.js.map +1 -1
  246. package/dist/react/primitives/message/MessageQuote.d.ts +8 -11
  247. package/dist/react/primitives/message/MessageQuote.d.ts.map +1 -1
  248. package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts +4 -7
  249. package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  250. package/dist/react/primitives/part/PartMessages.d.ts +16 -19
  251. package/dist/react/primitives/part/PartMessages.d.ts.map +1 -1
  252. package/dist/react/primitives/thread/ThreadMessages.d.ts +61 -64
  253. package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -1
  254. package/dist/react/primitives/thread/ThreadSuggestions.d.ts +25 -27
  255. package/dist/react/primitives/thread/ThreadSuggestions.d.ts.map +1 -1
  256. package/dist/react/primitives/thread/ThreadSuggestions.js +24 -5
  257. package/dist/react/primitives/thread/ThreadSuggestions.js.map +1 -1
  258. package/dist/react/primitives/threadList/ThreadListItems.d.ts +26 -28
  259. package/dist/react/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  260. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts +6 -9
  261. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
  262. package/dist/react/providers/AttachmentByIndexProvider.d.ts +5 -8
  263. package/dist/react/providers/AttachmentByIndexProvider.d.ts.map +1 -1
  264. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts +4 -7
  265. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -1
  266. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts +3 -6
  267. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -1
  268. package/dist/react/providers/MessageByIdProvider.d.ts +3 -6
  269. package/dist/react/providers/MessageByIdProvider.d.ts.map +1 -1
  270. package/dist/react/providers/MessageByIndexProvider.d.ts +3 -6
  271. package/dist/react/providers/MessageByIndexProvider.d.ts.map +1 -1
  272. package/dist/react/providers/PartByIndexProvider.d.ts +3 -6
  273. package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -1
  274. package/dist/react/providers/QueueItemByIndexProvider.d.ts +4 -7
  275. package/dist/react/providers/QueueItemByIndexProvider.d.ts.map +1 -1
  276. package/dist/react/providers/ReadonlyThreadProvider.d.ts +7 -10
  277. package/dist/react/providers/ReadonlyThreadProvider.d.ts.map +1 -1
  278. package/dist/react/providers/ReadonlyThreadProvider.js.map +1 -1
  279. package/dist/react/providers/SuggestionByIndexProvider.d.ts +4 -7
  280. package/dist/react/providers/SuggestionByIndexProvider.d.ts.map +1 -1
  281. package/dist/react/providers/TextMessagePartProvider.d.ts +4 -7
  282. package/dist/react/providers/TextMessagePartProvider.d.ts.map +1 -1
  283. package/dist/react/providers/TextMessagePartProvider.js +5 -1
  284. package/dist/react/providers/TextMessagePartProvider.js.map +1 -1
  285. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts +4 -7
  286. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts.map +1 -1
  287. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts +4 -8
  288. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
  289. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +210 -219
  290. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  291. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +70 -46
  292. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
  293. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +186 -198
  294. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  295. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +13 -4
  296. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  297. package/dist/react/runtimes/RemoteThreadResource.d.ts +17 -23
  298. package/dist/react/runtimes/RemoteThreadResource.d.ts.map +1 -1
  299. package/dist/react/runtimes/RemoteThreadResource.js +3 -1
  300. package/dist/react/runtimes/RemoteThreadResource.js.map +1 -1
  301. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts +10 -11
  302. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts.map +1 -1
  303. package/dist/react/runtimes/assistant-transport/commandQueue.d.ts +11 -14
  304. package/dist/react/runtimes/assistant-transport/commandQueue.d.ts.map +1 -1
  305. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts +6 -8
  306. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts.map +1 -1
  307. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.js +9 -2
  308. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.js.map +1 -1
  309. package/dist/react/runtimes/assistant-transport/runManager.d.ts +9 -12
  310. package/dist/react/runtimes/assistant-transport/runManager.d.ts.map +1 -1
  311. package/dist/react/runtimes/assistant-transport/runManager.js +4 -1
  312. package/dist/react/runtimes/assistant-transport/runManager.js.map +1 -1
  313. package/dist/react/runtimes/assistant-transport/types.d.ts +123 -118
  314. package/dist/react/runtimes/assistant-transport/types.d.ts.map +1 -1
  315. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts +7 -10
  316. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
  317. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.js +17 -6
  318. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
  319. package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts +3 -6
  320. package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts.map +1 -1
  321. package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts +2 -5
  322. package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts.map +1 -1
  323. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +7 -10
  324. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  325. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +426 -216
  326. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  327. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +15 -18
  328. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts.map +1 -1
  329. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js +8 -4
  330. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js.map +1 -1
  331. package/dist/react/runtimes/cloud/auiV0.d.ts +146 -125
  332. package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
  333. package/dist/react/runtimes/cloud/auiV0.js +120 -8
  334. package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
  335. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts +13 -15
  336. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts.map +1 -1
  337. package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts +5 -7
  338. package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts.map +1 -1
  339. package/dist/react/runtimes/cloud/sdkIdentity.d.ts +2 -5
  340. package/dist/react/runtimes/cloud/sdkIdentity.d.ts.map +1 -1
  341. package/dist/react/runtimes/cloud/sdkIdentity.js +1 -1
  342. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts +3 -6
  343. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts.map +1 -1
  344. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts +9 -11
  345. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  346. package/dist/react/runtimes/createMessageConverter.d.ts +15 -19
  347. package/dist/react/runtimes/createMessageConverter.d.ts.map +1 -1
  348. package/dist/react/runtimes/createMessageConverter.js.map +1 -1
  349. package/dist/react/runtimes/createRuntimeExtras.d.ts +14 -17
  350. package/dist/react/runtimes/createRuntimeExtras.d.ts.map +1 -1
  351. package/dist/react/runtimes/external-message-converter.d.ts +17 -21
  352. package/dist/react/runtimes/external-message-converter.d.ts.map +1 -1
  353. package/dist/react/runtimes/external-store-history-copy.d.ts +25 -0
  354. package/dist/react/runtimes/external-store-history-copy.d.ts.map +1 -0
  355. package/dist/react/runtimes/external-store-history-copy.js +148 -0
  356. package/dist/react/runtimes/external-store-history-copy.js.map +1 -0
  357. package/dist/react/runtimes/useExternalStoreRuntime.d.ts +3 -6
  358. package/dist/react/runtimes/useExternalStoreRuntime.d.ts.map +1 -1
  359. package/dist/react/runtimes/useExternalStoreRuntime.js +72 -35
  360. package/dist/react/runtimes/useExternalStoreRuntime.js.map +1 -1
  361. package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts +2 -5
  362. package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts.map +1 -1
  363. package/dist/react/runtimes/useLocalRuntime.d.ts +29 -41
  364. package/dist/react/runtimes/useLocalRuntime.d.ts.map +1 -1
  365. package/dist/react/runtimes/useLocalRuntime.js +142 -34
  366. package/dist/react/runtimes/useLocalRuntime.js.map +1 -1
  367. package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts +3 -6
  368. package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
  369. package/dist/react/runtimes/useRemoteThreadListRuntime.js +2 -2
  370. package/dist/react/runtimes/useRemoteThreadListRuntime.js.map +1 -1
  371. package/dist/react/runtimes/useRuntimeAdapters.d.ts +5 -7
  372. package/dist/react/runtimes/useRuntimeAdapters.d.ts.map +1 -1
  373. package/dist/react/runtimes/useStreamingTiming.d.ts +4 -6
  374. package/dist/react/runtimes/useStreamingTiming.d.ts.map +1 -1
  375. package/dist/react/types/MessagePartComponentTypes.d.ts +72 -70
  376. package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -1
  377. package/dist/react/types/scopes/dataRenderers.d.ts +11 -15
  378. package/dist/react/types/scopes/dataRenderers.d.ts.map +1 -1
  379. package/dist/react/types/scopes/interactables.d.ts +60 -60
  380. package/dist/react/types/scopes/interactables.d.ts.map +1 -1
  381. package/dist/react/types/scopes/tools.d.ts +21 -24
  382. package/dist/react/types/scopes/tools.d.ts.map +1 -1
  383. package/dist/react/types/store-augmentation.d.ts +10 -11
  384. package/dist/react/types/store-augmentation.d.ts.map +1 -1
  385. package/dist/react/utils/getMessageQuote.d.ts +6 -8
  386. package/dist/react/utils/getMessageQuote.d.ts.map +1 -1
  387. package/dist/react/utils/groupParts.d.ts +35 -37
  388. package/dist/react/utils/groupParts.d.ts.map +1 -1
  389. package/dist/react/utils/useJSONEqual.d.ts +3 -6
  390. package/dist/react/utils/useJSONEqual.d.ts.map +1 -1
  391. package/dist/react/utils/useJSONSchemaDependency.d.ts +3 -6
  392. package/dist/react/utils/useJSONSchemaDependency.d.ts.map +1 -1
  393. package/dist/runtime/api/assistant-runtime.d.ts +28 -31
  394. package/dist/runtime/api/assistant-runtime.d.ts.map +1 -1
  395. package/dist/runtime/api/attachment-runtime.d.ts +51 -49
  396. package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
  397. package/dist/runtime/api/attachment-runtime.js.map +1 -1
  398. package/dist/runtime/api/bindings.d.ts +35 -35
  399. package/dist/runtime/api/bindings.d.ts.map +1 -1
  400. package/dist/runtime/api/composer-runtime.d.ts +215 -201
  401. package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
  402. package/dist/runtime/api/composer-runtime.js +4 -0
  403. package/dist/runtime/api/composer-runtime.js.map +1 -1
  404. package/dist/runtime/api/message-part-runtime.d.ts +31 -30
  405. package/dist/runtime/api/message-part-runtime.d.ts.map +1 -1
  406. package/dist/runtime/api/message-part-runtime.js +25 -2
  407. package/dist/runtime/api/message-part-runtime.js.map +1 -1
  408. package/dist/runtime/api/message-runtime.d.ts +87 -82
  409. package/dist/runtime/api/message-runtime.d.ts.map +1 -1
  410. package/dist/runtime/api/message-runtime.js +4 -3
  411. package/dist/runtime/api/message-runtime.js.map +1 -1
  412. package/dist/runtime/api/paths.d.ts +54 -57
  413. package/dist/runtime/api/paths.d.ts.map +1 -1
  414. package/dist/runtime/api/thread-list-item-runtime.d.ts +70 -72
  415. package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
  416. package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
  417. package/dist/runtime/api/thread-list-runtime.d.ts +77 -81
  418. package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
  419. package/dist/runtime/api/thread-list-runtime.js.map +1 -1
  420. package/dist/runtime/api/thread-runtime.d.ts +306 -308
  421. package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
  422. package/dist/runtime/api/thread-runtime.js +2 -1
  423. package/dist/runtime/api/thread-runtime.js.map +1 -1
  424. package/dist/runtime/base/base-assistant-runtime-core.d.ts +9 -12
  425. package/dist/runtime/base/base-assistant-runtime-core.d.ts.map +1 -1
  426. package/dist/runtime/base/base-composer-runtime-core.d.ts +150 -101
  427. package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
  428. package/dist/runtime/base/base-composer-runtime-core.js +400 -122
  429. package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
  430. package/dist/runtime/base/base-thread-runtime-core.d.ts +121 -104
  431. package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
  432. package/dist/runtime/base/base-thread-runtime-core.js +174 -62
  433. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  434. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts +30 -31
  435. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts.map +1 -1
  436. package/dist/runtime/base/default-edit-composer-runtime-core.js +21 -2
  437. package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
  438. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +28 -31
  439. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
  440. package/dist/runtime/base/default-thread-composer-runtime-core.js +23 -2
  441. package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
  442. package/dist/runtime/branch/external-thread-branch-adapter.d.ts +15 -18
  443. package/dist/runtime/branch/external-thread-branch-adapter.d.ts.map +1 -1
  444. package/dist/runtime/interfaces/assistant-runtime-core.d.ts +8 -11
  445. package/dist/runtime/interfaces/assistant-runtime-core.d.ts.map +1 -1
  446. package/dist/runtime/interfaces/composer-runtime-core.d.ts +98 -83
  447. package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
  448. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +67 -70
  449. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
  450. package/dist/runtime/interfaces/thread-runtime-core.d.ts +225 -211
  451. package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
  452. package/dist/runtime/internal.d.ts +25 -20
  453. package/dist/runtime/internal.d.ts.map +1 -0
  454. package/dist/runtime/queue/external-thread-queue-adapter.d.ts +37 -40
  455. package/dist/runtime/queue/external-thread-queue-adapter.d.ts.map +1 -1
  456. package/dist/runtime/queue/message-queue.d.ts +32 -33
  457. package/dist/runtime/queue/message-queue.d.ts.map +1 -1
  458. package/dist/runtime/queue/message-queue.js +10 -2
  459. package/dist/runtime/queue/message-queue.js.map +1 -1
  460. package/dist/runtime/queue/queue-item.d.ts +7 -10
  461. package/dist/runtime/queue/queue-item.d.ts.map +1 -1
  462. package/dist/runtime/utils/abortable-thread-load.d.ts +9 -11
  463. package/dist/runtime/utils/abortable-thread-load.d.ts.map +1 -1
  464. package/dist/runtime/utils/attachment-add-operations.d.ts +16 -15
  465. package/dist/runtime/utils/attachment-add-operations.d.ts.map +1 -1
  466. package/dist/runtime/utils/attachment-add-operations.js +24 -2
  467. package/dist/runtime/utils/attachment-add-operations.js.map +1 -1
  468. package/dist/runtime/utils/attachment-send-operations.d.ts +12 -0
  469. package/dist/runtime/utils/attachment-send-operations.d.ts.map +1 -0
  470. package/dist/runtime/utils/attachment-send-operations.js +34 -0
  471. package/dist/runtime/utils/attachment-send-operations.js.map +1 -0
  472. package/dist/runtime/utils/auto-status.d.ts +11 -13
  473. package/dist/runtime/utils/auto-status.d.ts.map +1 -1
  474. package/dist/runtime/utils/auto-status.js +3 -5
  475. package/dist/runtime/utils/auto-status.js.map +1 -1
  476. package/dist/runtime/utils/chat-model-adapter.d.ts +31 -33
  477. package/dist/runtime/utils/chat-model-adapter.d.ts.map +1 -1
  478. package/dist/runtime/utils/external-message-conversion.d.ts +47 -48
  479. package/dist/runtime/utils/external-message-conversion.d.ts.map +1 -1
  480. package/dist/runtime/utils/external-message-conversion.js +6 -5
  481. package/dist/runtime/utils/external-message-conversion.js.map +1 -1
  482. package/dist/runtime/utils/external-store-message.d.ts +6 -9
  483. package/dist/runtime/utils/external-store-message.d.ts.map +1 -1
  484. package/dist/runtime/utils/message-repository-session.d.ts +24 -27
  485. package/dist/runtime/utils/message-repository-session.d.ts.map +1 -1
  486. package/dist/runtime/utils/message-repository.d.ts +52 -54
  487. package/dist/runtime/utils/message-repository.d.ts.map +1 -1
  488. package/dist/runtime/utils/message-repository.js +8 -7
  489. package/dist/runtime/utils/message-repository.js.map +1 -1
  490. package/dist/runtime/utils/pending-tool-calls.d.ts +12 -14
  491. package/dist/runtime/utils/pending-tool-calls.d.ts.map +1 -1
  492. package/dist/runtime/utils/resolveToolApprovalResponse.d.ts +7 -10
  493. package/dist/runtime/utils/resolveToolApprovalResponse.d.ts.map +1 -1
  494. package/dist/runtime/utils/runtime-extras-brand.d.ts +6 -9
  495. package/dist/runtime/utils/runtime-extras-brand.d.ts.map +1 -1
  496. package/dist/runtime/utils/stored-message-parts.d.ts +21 -0
  497. package/dist/runtime/utils/stored-message-parts.d.ts.map +1 -0
  498. package/dist/runtime/utils/stored-message-parts.js +103 -0
  499. package/dist/runtime/utils/stored-message-parts.js.map +1 -0
  500. package/dist/runtime/utils/streaming-timing.d.ts +23 -26
  501. package/dist/runtime/utils/streaming-timing.d.ts.map +1 -1
  502. package/dist/runtime/utils/thread-message-like.d.ts +38 -34
  503. package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
  504. package/dist/runtime/utils/thread-message-like.js +16 -6
  505. package/dist/runtime/utils/thread-message-like.js.map +1 -1
  506. package/dist/runtime/utils/thread-runtime-lifecycle.d.ts +5 -7
  507. package/dist/runtime/utils/thread-runtime-lifecycle.d.ts.map +1 -1
  508. package/dist/runtime/utils/thread-runtime-lifecycle.js +31 -4
  509. package/dist/runtime/utils/thread-runtime-lifecycle.js.map +1 -1
  510. package/dist/runtime/utils/tool-call-tree.d.ts +10 -13
  511. package/dist/runtime/utils/tool-call-tree.d.ts.map +1 -1
  512. package/dist/runtime/utils/tool-interactions.d.ts +10 -0
  513. package/dist/runtime/utils/tool-interactions.d.ts.map +1 -0
  514. package/dist/runtime/utils/tool-interactions.js +92 -0
  515. package/dist/runtime/utils/tool-interactions.js.map +1 -0
  516. package/dist/runtimes/assistant-transport/utils.d.ts +1 -4
  517. package/dist/runtimes/assistant-transport/utils.d.ts.map +1 -1
  518. package/dist/runtimes/external-store/external-store-adapter.d.ts +220 -200
  519. package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
  520. package/dist/runtimes/external-store/external-store-runtime-core.d.ts +6 -8
  521. package/dist/runtimes/external-store/external-store-runtime-core.d.ts.map +1 -1
  522. package/dist/runtimes/external-store/external-store-runtime-core.js +4 -1
  523. package/dist/runtimes/external-store/external-store-runtime-core.js.map +1 -1
  524. package/dist/runtimes/external-store/external-store-shared-options.d.ts +3 -6
  525. package/dist/runtimes/external-store/external-store-shared-options.d.ts.map +1 -1
  526. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts +40 -43
  527. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
  528. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js +2 -2
  529. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
  530. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +119 -125
  531. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
  532. package/dist/runtimes/external-store/external-store-thread-runtime-core.js +71 -18
  533. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  534. package/dist/runtimes/external-store/thread-message-converter.d.ts +5 -8
  535. package/dist/runtimes/external-store/thread-message-converter.d.ts.map +1 -1
  536. package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts +96 -98
  537. package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts.map +1 -1
  538. package/dist/runtimes/inert/InertThreadRuntimeCore.js +3 -0
  539. package/dist/runtimes/inert/InertThreadRuntimeCore.js.map +1 -1
  540. package/dist/runtimes/internal.d.ts +20 -16
  541. package/dist/runtimes/internal.d.ts.map +1 -0
  542. package/dist/runtimes/local/local-runtime-core.d.ts +7 -10
  543. package/dist/runtimes/local/local-runtime-core.d.ts.map +1 -1
  544. package/dist/runtimes/local/local-runtime-options.d.ts +41 -44
  545. package/dist/runtimes/local/local-runtime-options.d.ts.map +1 -1
  546. package/dist/runtimes/local/local-thread-list-runtime-core.d.ts +42 -45
  547. package/dist/runtimes/local/local-thread-list-runtime-core.d.ts.map +1 -1
  548. package/dist/runtimes/local/local-thread-runtime-core.d.ts +94 -93
  549. package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
  550. package/dist/runtimes/local/local-thread-runtime-core.js +220 -29
  551. package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
  552. package/dist/runtimes/local/should-continue.d.ts +2 -5
  553. package/dist/runtimes/local/should-continue.d.ts.map +1 -1
  554. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +77 -55
  555. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
  556. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js +28 -1
  557. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js.map +1 -1
  558. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +12 -15
  559. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -1
  560. package/dist/runtimes/remote-thread-list/adapter-changed.d.ts +3 -6
  561. package/dist/runtimes/remote-thread-list/adapter-changed.d.ts.map +1 -1
  562. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts +2 -5
  563. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
  564. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts +34 -31
  565. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts.map +1 -1
  566. package/dist/runtimes/remote-thread-list/optimistic-state.js +8 -3
  567. package/dist/runtimes/remote-thread-list/optimistic-state.js.map +1 -1
  568. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts +60 -63
  569. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts.map +1 -1
  570. package/dist/runtimes/remote-thread-list/remote-thread-state.js +1 -1
  571. package/dist/runtimes/remote-thread-list/title-generation.d.ts +31 -33
  572. package/dist/runtimes/remote-thread-list/title-generation.d.ts.map +1 -1
  573. package/dist/runtimes/remote-thread-list/title.d.ts +5 -8
  574. package/dist/runtimes/remote-thread-list/title.d.ts.map +1 -1
  575. package/dist/runtimes/remote-thread-list/types.d.ts +119 -121
  576. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  577. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts +147 -149
  578. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts.map +1 -1
  579. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js +22 -7
  580. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
  581. package/dist/store/clients/chain-of-thought-client.d.ts +8 -11
  582. package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
  583. package/dist/store/clients/external-thread.d.ts +56 -58
  584. package/dist/store/clients/external-thread.d.ts.map +1 -1
  585. package/dist/store/clients/external-thread.js +1270 -741
  586. package/dist/store/clients/external-thread.js.map +1 -1
  587. package/dist/store/clients/model-context-client.d.ts +2 -5
  588. package/dist/store/clients/model-context-client.d.ts.map +1 -1
  589. package/dist/store/clients/no-op-composer-client.d.ts +3 -6
  590. package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
  591. package/dist/store/clients/no-op-composer-client.js +3 -1
  592. package/dist/store/clients/no-op-composer-client.js.map +1 -1
  593. package/dist/store/clients/runtime-adapter.d.ts +2 -5
  594. package/dist/store/clients/runtime-adapter.d.ts.map +1 -1
  595. package/dist/store/clients/single-thread-list.d.ts +4 -6
  596. package/dist/store/clients/single-thread-list.d.ts.map +1 -1
  597. package/dist/store/clients/submission-message.d.ts +8 -0
  598. package/dist/store/clients/submission-message.d.ts.map +1 -0
  599. package/dist/store/clients/submission-message.js +22 -0
  600. package/dist/store/clients/submission-message.js.map +1 -0
  601. package/dist/store/clients/suggestions.d.ts +8 -11
  602. package/dist/store/clients/suggestions.d.ts.map +1 -1
  603. package/dist/store/clients/thread-message-client.d.ts +12 -12
  604. package/dist/store/clients/thread-message-client.d.ts.map +1 -1
  605. package/dist/store/clients/thread-message-client.js +81 -82
  606. package/dist/store/clients/thread-message-client.js.map +1 -1
  607. package/dist/store/clients/thread-selection-events.d.ts +1 -4
  608. package/dist/store/clients/thread-selection-events.d.ts.map +1 -1
  609. package/dist/store/clients/thread-tasks.d.ts +7 -10
  610. package/dist/store/clients/thread-tasks.d.ts.map +1 -1
  611. package/dist/store/env.d.ts +1 -4
  612. package/dist/store/env.d.ts.map +1 -1
  613. package/dist/store/index.d.ts +33 -36
  614. package/dist/store/index.d.ts.map +1 -0
  615. package/dist/store/index.js +5 -5
  616. package/dist/store/internal.d.ts +12 -12
  617. package/dist/store/internal.d.ts.map +1 -0
  618. package/dist/store/internal.js +2 -2
  619. package/dist/store/primitive-predicates.d.ts +14 -16
  620. package/dist/store/primitive-predicates.d.ts.map +1 -1
  621. package/dist/store/primitive-predicates.js +10 -5
  622. package/dist/store/primitive-predicates.js.map +1 -1
  623. package/dist/store/runtime-clients/attachment-runtime-client.d.ts +4 -7
  624. package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
  625. package/dist/store/runtime-clients/composer-runtime-client.d.ts +11 -14
  626. package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
  627. package/dist/store/runtime-clients/composer-runtime-client.js +65 -62
  628. package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
  629. package/dist/store/runtime-clients/handle-runtime-action.d.ts +1 -4
  630. package/dist/store/runtime-clients/handle-runtime-action.d.ts.map +1 -1
  631. package/dist/store/runtime-clients/handle-thread-list-action.d.ts +1 -4
  632. package/dist/store/runtime-clients/handle-thread-list-action.d.ts.map +1 -1
  633. package/dist/store/runtime-clients/liveRef.d.ts +2 -5
  634. package/dist/store/runtime-clients/liveRef.d.ts.map +1 -1
  635. package/dist/store/runtime-clients/message-part-runtime-client.d.ts +4 -7
  636. package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
  637. package/dist/store/runtime-clients/message-part-runtime-client.js +26 -16
  638. package/dist/store/runtime-clients/message-part-runtime-client.js.map +1 -1
  639. package/dist/store/runtime-clients/message-runtime-client.d.ts +10 -11
  640. package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
  641. package/dist/store/runtime-clients/message-runtime-client.js +121 -113
  642. package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
  643. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts +5 -8
  644. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
  645. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts +6 -9
  646. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
  647. package/dist/store/runtime-clients/thread-runtime-client.d.ts +4 -7
  648. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  649. package/dist/store/runtime-clients/thread-runtime-client.js +221 -158
  650. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  651. package/dist/store/runtime-clients/useSubscribable.d.ts +3 -6
  652. package/dist/store/runtime-clients/useSubscribable.d.ts.map +1 -1
  653. package/dist/store/scope-registration.d.ts +28 -29
  654. package/dist/store/scope-registration.d.ts.map +1 -1
  655. package/dist/store/scopes/attachment.d.ts +19 -22
  656. package/dist/store/scopes/attachment.d.ts.map +1 -1
  657. package/dist/store/scopes/chain-of-thought.d.ts +33 -35
  658. package/dist/store/scopes/chain-of-thought.d.ts.map +1 -1
  659. package/dist/store/scopes/composer.d.ts +147 -135
  660. package/dist/store/scopes/composer.d.ts.map +1 -1
  661. package/dist/store/scopes/message.d.ts +119 -112
  662. package/dist/store/scopes/message.d.ts.map +1 -1
  663. package/dist/store/scopes/model-context.d.ts +10 -13
  664. package/dist/store/scopes/model-context.d.ts.map +1 -1
  665. package/dist/store/scopes/part.d.ts +53 -50
  666. package/dist/store/scopes/part.d.ts.map +1 -1
  667. package/dist/store/scopes/queue-item.d.ts +21 -23
  668. package/dist/store/scopes/queue-item.d.ts.map +1 -1
  669. package/dist/store/scopes/suggestion.d.ts +14 -17
  670. package/dist/store/scopes/suggestion.d.ts.map +1 -1
  671. package/dist/store/scopes/suggestions.d.ts +18 -21
  672. package/dist/store/scopes/suggestions.d.ts.map +1 -1
  673. package/dist/store/scopes/task.d.ts +27 -30
  674. package/dist/store/scopes/task.d.ts.map +1 -1
  675. package/dist/store/scopes/thread-list-item.d.ts +68 -71
  676. package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
  677. package/dist/store/scopes/thread.d.ts +197 -200
  678. package/dist/store/scopes/thread.d.ts.map +1 -1
  679. package/dist/store/scopes/threads.d.ts +49 -52
  680. package/dist/store/scopes/threads.d.ts.map +1 -1
  681. package/dist/subscribable/subscribable.d.ts +73 -69
  682. package/dist/subscribable/subscribable.d.ts.map +1 -1
  683. package/dist/subscribable/subscribable.js +35 -7
  684. package/dist/subscribable/subscribable.js.map +1 -1
  685. package/dist/types/attachment.d.ts +35 -37
  686. package/dist/types/attachment.d.ts.map +1 -1
  687. package/dist/types/augmentations.d.ts +7 -8
  688. package/dist/types/augmentations.d.ts.map +1 -1
  689. package/dist/types/directive.d.ts +13 -16
  690. package/dist/types/directive.d.ts.map +1 -1
  691. package/dist/types/error.d.ts +15 -17
  692. package/dist/types/error.d.ts.map +1 -1
  693. package/dist/types/index.d.ts +7 -7
  694. package/dist/types/index.d.ts.map +1 -0
  695. package/dist/types/message.d.ts +358 -318
  696. package/dist/types/message.d.ts.map +1 -1
  697. package/dist/types/message.js.map +1 -1
  698. package/dist/types/quote.d.ts +3 -6
  699. package/dist/types/quote.d.ts.map +1 -1
  700. package/dist/types/trigger.d.ts +10 -13
  701. package/dist/types/trigger.d.ts.map +1 -1
  702. package/dist/types/unsubscribe.d.ts +1 -4
  703. package/dist/types/unsubscribe.d.ts.map +1 -1
  704. package/dist/utils/abortable-iterable.d.ts +2 -5
  705. package/dist/utils/abortable-iterable.d.ts.map +1 -1
  706. package/dist/utils/composite-context-provider.d.ts +9 -13
  707. package/dist/utils/composite-context-provider.d.ts.map +1 -1
  708. package/dist/utils/data-url.d.ts +16 -19
  709. package/dist/utils/data-url.d.ts.map +1 -1
  710. package/dist/utils/getGroupStatus.d.ts +19 -21
  711. package/dist/utils/getGroupStatus.d.ts.map +1 -1
  712. package/dist/utils/id.d.ts +3 -6
  713. package/dist/utils/id.d.ts.map +1 -1
  714. package/dist/utils/image-media-type.d.ts +1 -4
  715. package/dist/utils/image-media-type.d.ts.map +1 -1
  716. package/dist/utils/invoke-user-callback.d.ts +1 -4
  717. package/dist/utils/invoke-user-callback.d.ts.map +1 -1
  718. package/dist/utils/json/is-json-equal.d.ts +1 -4
  719. package/dist/utils/json/is-json-equal.d.ts.map +1 -1
  720. package/dist/utils/json/is-json.d.ts +5 -8
  721. package/dist/utils/json/is-json.d.ts.map +1 -1
  722. package/dist/utils/json/stable-stringify-tool-args.d.ts +3 -6
  723. package/dist/utils/json/stable-stringify-tool-args.d.ts.map +1 -1
  724. package/dist/utils/normalizePartStatus.d.ts +6 -8
  725. package/dist/utils/normalizePartStatus.d.ts.map +1 -1
  726. package/dist/utils/normalizePartStatus.js +3 -2
  727. package/dist/utils/normalizePartStatus.js.map +1 -1
  728. package/dist/utils/notify-event-listeners.d.ts +2 -4
  729. package/dist/utils/notify-event-listeners.d.ts.map +1 -1
  730. package/dist/utils/record.d.ts +1 -4
  731. package/dist/utils/record.d.ts.map +1 -1
  732. package/dist/utils/silent-runtime-action.d.ts +2 -5
  733. package/dist/utils/silent-runtime-action.d.ts.map +1 -1
  734. package/dist/utils/text.d.ts +2 -5
  735. package/dist/utils/text.d.ts.map +1 -1
  736. package/dist/utils/wire-media.d.ts +3 -6
  737. package/dist/utils/wire-media.d.ts.map +1 -1
  738. package/package.json +15 -13
  739. package/src/adapters/attachment.test.ts +98 -1
  740. package/src/adapters/attachment.ts +77 -20
  741. package/src/adapters/feedback.ts +1 -0
  742. package/src/adapters/speech.test.ts +94 -0
  743. package/src/adapters/speech.ts +16 -2
  744. package/src/adapters/thread-history.ts +16 -5
  745. package/src/adapters/voice.test.ts +169 -0
  746. package/src/adapters/voice.ts +25 -4
  747. package/src/index.ts +14 -2
  748. package/src/internal.ts +7 -0
  749. package/src/model-context/frame/host.test.ts +51 -1
  750. package/src/model-context/frame/host.ts +3 -1
  751. package/src/model-context/frame/provider.test.ts +106 -20
  752. package/src/model-context/frame/provider.ts +8 -1
  753. package/src/model-context/frame/validate.ts +57 -0
  754. package/src/model-context/interactable-composer-metadata.test.ts +82 -0
  755. package/src/model-context/interactable-composer-metadata.ts +45 -2
  756. package/src/react/RuntimeAdapter.test.ts +4 -1
  757. package/src/react/adapters/LocalStorageThreadListAdapter.test.ts +711 -0
  758. package/src/react/adapters/LocalStorageThreadListAdapter.tsx +125 -109
  759. package/src/react/client/Interactables.test.ts +865 -8
  760. package/src/react/client/Interactables.ts +325 -45
  761. package/src/react/client/RemoteThreadList.concurrent.test.tsx +9 -3
  762. package/src/react/client/RemoteThreadList.initialize-failure.test.ts +124 -0
  763. package/src/react/client/RemoteThreadList.test.ts +5 -6
  764. package/src/react/client/RemoteThreadList.ts +6 -0
  765. package/src/react/client/Tools.ts +2 -3
  766. package/src/react/client/interactable-model-context.test.ts +56 -13
  767. package/src/react/client/interactable-model-context.ts +48 -23
  768. package/src/react/index.ts +2 -2
  769. package/src/react/interactables-legacy/Interactables.test.ts +221 -4
  770. package/src/react/interactables-legacy/Interactables.ts +25 -14
  771. package/src/react/interactables-legacy/interactable-model-context.ts +26 -24
  772. package/src/react/interactables-legacy/useAssistantInteractable.test.tsx +40 -22
  773. package/src/react/interactables-shared/useInteractablePersistenceQueue.test.tsx +22 -2
  774. package/src/react/interactables-shared/useInteractablePersistenceQueue.ts +63 -11
  775. package/src/react/model-context/useInteractable.test.tsx +56 -29
  776. package/src/react/primitive-hooks/useActionBarCopy.test.ts +5 -5
  777. package/src/react/primitive-hooks/useSuggestionTrigger.test.ts +33 -0
  778. package/src/react/primitive-hooks/useSuggestionTrigger.ts +7 -4
  779. package/src/react/primitives/generativeUI/GenerativeUI.test.tsx +170 -0
  780. package/src/react/primitives/generativeUI/GenerativeUI.tsx +43 -28
  781. package/src/react/primitives/message/MessageAttachments.test.tsx +2 -6
  782. package/src/react/primitives/message/MessageAttachments.tsx +14 -8
  783. package/src/react/primitives/message/MessageGroupedParts.test.tsx +155 -8
  784. package/src/react/primitives/message/MessageGroupedParts.tsx +19 -6
  785. package/src/react/primitives/message/MessageParts.test.tsx +84 -0
  786. package/src/react/primitives/message/MessageParts.tool-interaction.test.tsx +69 -0
  787. package/src/react/primitives/message/MessageParts.tsx +29 -8
  788. package/src/react/primitives/thread/ThreadMessages.test.tsx +25 -7
  789. package/src/react/primitives/thread/ThreadSuggestions.test.tsx +97 -0
  790. package/src/react/primitives/thread/ThreadSuggestions.tsx +29 -6
  791. package/src/react/providers/ReadonlyThreadProvider.tsx +2 -2
  792. package/src/react/providers/TextMessagePartProvider.tsx +3 -0
  793. package/src/react/runtimes/RemoteThreadListHookInstanceManager.layout.test.tsx +62 -0
  794. package/src/react/runtimes/RemoteThreadListHookInstanceManager.retry.test.tsx +2 -2
  795. package/src/react/runtimes/RemoteThreadListHookInstanceManager.running.test.tsx +93 -0
  796. package/src/react/runtimes/RemoteThreadListHookInstanceManager.test.tsx +181 -21
  797. package/src/react/runtimes/RemoteThreadListHookInstanceManager.title.test.tsx +62 -17
  798. package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +112 -77
  799. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +19 -3
  800. package/src/react/runtimes/RemoteThreadResource.ts +5 -2
  801. package/src/react/runtimes/assistant-transport/replayBoundaryStream.test.ts +3 -1
  802. package/src/react/runtimes/assistant-transport/replayBoundaryStream.ts +10 -2
  803. package/src/react/runtimes/assistant-transport/runManager.ts +3 -0
  804. package/src/react/runtimes/assistant-transport/transport-parentid.test.tsx +57 -0
  805. package/src/react/runtimes/assistant-transport/transport-scheduling.test.ts +73 -46
  806. package/src/react/runtimes/assistant-transport/transport-thread-id.test.tsx +571 -0
  807. package/src/react/runtimes/assistant-transport/types.ts +9 -1
  808. package/src/react/runtimes/assistant-transport/useAssistantTransport.spec.md +10 -0
  809. package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.test.tsx +108 -1
  810. package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.ts +33 -9
  811. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.copy.integration.test.tsx +289 -0
  812. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.copy.test.tsx +471 -0
  813. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.engagement.test.tsx +330 -0
  814. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.ts +78 -2
  815. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +463 -2
  816. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +595 -227
  817. package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.test.ts +33 -4
  818. package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.ts +7 -3
  819. package/src/react/runtimes/cloud/auiV0.ts +275 -6
  820. package/src/react/runtimes/cloud/auiV0DecodeSafely.test.ts +873 -0
  821. package/src/react/runtimes/createMessageConverter.ts +9 -3
  822. package/src/react/runtimes/external-message-converter.test.ts +7 -3
  823. package/src/react/runtimes/external-store-history-copy.ts +223 -0
  824. package/src/react/runtimes/remote-thread-hook-on-tap.test.ts +2 -1
  825. package/src/react/runtimes/useExternalStoreRuntime.history-copy.test.tsx +483 -0
  826. package/src/react/runtimes/useExternalStoreRuntime.lifecycle.test.tsx +84 -3
  827. package/src/react/runtimes/useExternalStoreRuntime.suggestions.test.tsx +6 -2
  828. package/src/react/runtimes/useExternalStoreRuntime.ts +25 -5
  829. package/src/react/runtimes/useLocalRuntime.test.tsx +145 -1
  830. package/src/react/runtimes/useLocalRuntime.ts +8 -5
  831. package/src/react/runtimes/useRemoteThreadListRuntime.concurrent.test.tsx +84 -4
  832. package/src/react/runtimes/useRemoteThreadListRuntime.ts +5 -1
  833. package/src/react/types/MessagePartComponentTypes.ts +10 -0
  834. package/src/react/types/scopes/interactables.ts +3 -0
  835. package/src/runtime/api/attachment-runtime.ts +10 -5
  836. package/src/runtime/api/bindings.ts +6 -1
  837. package/src/runtime/api/composer-runtime.ts +29 -6
  838. package/src/runtime/api/message-part-runtime.test.ts +215 -0
  839. package/src/runtime/api/message-part-runtime.ts +44 -1
  840. package/src/runtime/api/message-runtime.test.ts +112 -2
  841. package/src/runtime/api/message-runtime.ts +25 -7
  842. package/src/runtime/api/thread-list-item-runtime.ts +5 -5
  843. package/src/runtime/api/thread-list-runtime.ts +3 -3
  844. package/src/runtime/api/thread-runtime.test.ts +59 -0
  845. package/src/runtime/api/thread-runtime.ts +21 -11
  846. package/src/runtime/base/base-composer-runtime-core.ts +548 -153
  847. package/src/runtime/base/base-thread-runtime-core.test.ts +1614 -136
  848. package/src/runtime/base/base-thread-runtime-core.ts +236 -46
  849. package/src/runtime/base/default-edit-composer-runtime-core.ts +24 -2
  850. package/src/runtime/base/default-thread-composer-runtime-core.ts +33 -3
  851. package/src/runtime/interfaces/composer-runtime-core.ts +19 -0
  852. package/src/runtime/interfaces/thread-runtime-core.ts +24 -1
  853. package/src/runtime/queue/message-queue.ts +11 -1
  854. package/src/runtime/utils/attachment-add-operations.ts +45 -2
  855. package/src/runtime/utils/attachment-send-operations.ts +54 -0
  856. package/src/runtime/utils/auto-status.test.ts +54 -0
  857. package/src/runtime/utils/auto-status.ts +3 -10
  858. package/src/runtime/utils/external-message-conversion.test.ts +91 -0
  859. package/src/runtime/utils/external-message-conversion.ts +9 -6
  860. package/src/runtime/utils/message-repository.test.ts +69 -1
  861. package/src/runtime/utils/message-repository.ts +14 -7
  862. package/src/runtime/utils/stored-message-parts.ts +216 -0
  863. package/src/runtime/utils/thread-message-like.test.ts +58 -0
  864. package/src/runtime/utils/thread-message-like.ts +79 -48
  865. package/src/runtime/utils/thread-runtime-lifecycle.test.ts +67 -0
  866. package/src/runtime/utils/thread-runtime-lifecycle.ts +42 -8
  867. package/src/runtime/utils/tool-interactions.test.ts +193 -0
  868. package/src/runtime/utils/tool-interactions.ts +147 -0
  869. package/src/runtimes/external-store/external-store-adapter.ts +25 -0
  870. package/src/runtimes/external-store/external-store-runtime-core.ts +10 -2
  871. package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +2 -2
  872. package/src/runtimes/external-store/external-store-thread-runtime-core.test.ts +49 -0
  873. package/src/runtimes/external-store/external-store-thread-runtime-core.ts +114 -32
  874. package/src/runtimes/inert/InertThreadRuntimeCore.test.ts +127 -56
  875. package/src/runtimes/inert/InertThreadRuntimeCore.ts +10 -1
  876. package/src/runtimes/local/local-thread-runtime-core.edit-cancellation.test.ts +70 -0
  877. package/src/runtimes/local/local-thread-runtime-core.test.ts +1866 -169
  878. package/src/runtimes/local/local-thread-runtime-core.ts +365 -40
  879. package/src/runtimes/readonly/ReadonlyThreadRuntimeCore.ts +53 -1
  880. package/src/runtimes/remote-thread-list/optimistic-state.ts +8 -3
  881. package/src/runtimes/tool-invocations/EDGE_CASES.md +19 -4
  882. package/src/runtimes/tool-invocations/ToolInvocationTracker.test.ts +392 -39
  883. package/src/runtimes/tool-invocations/ToolInvocationTracker.ts +31 -8
  884. package/src/store/clients/external-thread.test.ts +145 -0
  885. package/src/store/clients/external-thread.ts +669 -144
  886. package/src/store/clients/model-context-client.test.ts +8 -8
  887. package/src/store/clients/no-op-composer-client.ts +2 -0
  888. package/src/store/clients/submission-message.ts +27 -0
  889. package/src/store/clients/thread-message-client.test.ts +39 -0
  890. package/src/store/clients/thread-message-client.ts +13 -6
  891. package/src/store/index.ts +2 -2
  892. package/src/store/internal.ts +1 -0
  893. package/src/store/primitive-predicates.test.ts +119 -0
  894. package/src/store/primitive-predicates.ts +19 -4
  895. package/src/store/runtime-clients/composer-runtime-client.ts +4 -3
  896. package/src/store/runtime-clients/message-part-runtime-client.test.ts +42 -0
  897. package/src/store/runtime-clients/message-part-runtime-client.ts +4 -0
  898. package/src/store/runtime-clients/message-runtime-client.ts +5 -0
  899. package/src/store/runtime-clients/thread-runtime-client.test.tsx +243 -0
  900. package/src/store/runtime-clients/thread-runtime-client.ts +46 -9
  901. package/src/store/scopes/composer.ts +22 -4
  902. package/src/store/scopes/message.ts +12 -1
  903. package/src/store/scopes/part.ts +8 -0
  904. package/src/subscribable/subscribable.test.ts +205 -3
  905. package/src/subscribable/subscribable.ts +49 -7
  906. package/src/tests/RemoteThreadListThreadListRuntimeCore-errors.test.ts +95 -1
  907. package/src/tests/attachment-adapters.test.ts +16 -1
  908. package/src/tests/auiV0Encode.test.ts +412 -1
  909. package/src/tests/base-composer-runtime-core-addAttachment.test.ts +6 -6
  910. package/src/tests/base-composer-runtime-core-send.test.ts +722 -29
  911. package/src/tests/base-composer-runtime-core.test.ts +212 -5
  912. package/src/tests/composer-can-cancel.test.ts +35 -6
  913. package/src/tests/composer-can-send.test.ts +120 -1
  914. package/src/tests/composer-submission.test.tsx +796 -0
  915. package/src/tests/default-edit-composer-runtime-core.test.ts +149 -2
  916. package/src/tests/external-store-thread-list-runtime-core.test.ts +111 -0
  917. package/src/tests/external-store-thread-runtime-core-adapter.test.ts +810 -28
  918. package/src/tests/external-store-thread-runtime-core.test.ts +217 -0
  919. package/src/tests/external-thread-attachments.test.tsx +763 -26
  920. package/src/tests/external-thread-feedback.test.tsx +20 -7
  921. package/src/tests/external-thread-isLast.test.tsx +69 -0
  922. package/src/tests/external-thread-parity.test.tsx +1 -1
  923. package/src/tests/get-thread-state-isRunning.test.ts +2 -2
  924. package/src/tests/message-queue.test.ts +45 -10
  925. package/src/tests/remote-thread-list-adapter-switch.test.ts +45 -1
  926. package/src/tests/thread-switch-events.test.tsx +11 -7
  927. package/src/tests/useRemoteThreadListRuntime-controlled.test.tsx +2 -1
  928. package/src/types/message.test.ts +19 -0
  929. package/src/types/message.ts +65 -10
  930. package/src/utils/normalizePartStatus.ts +14 -1
  931. package/dist/tests/remote-thread-list-test-helpers.d.ts +0 -16
  932. package/dist/tests/remote-thread-list-test-helpers.d.ts.map +0 -1
  933. package/dist/tests/remote-thread-list-test-helpers.js +0 -59
  934. package/dist/tests/remote-thread-list-test-helpers.js.map +0 -1
@@ -1,7 +1,10 @@
1
+ import { runCleanups } from "../../subscribable/subscribable.js";
1
2
  import { useSubscribable } from "./useSubscribable.js";
2
3
  import { ComposerClient } from "./composer-runtime-client.js";
3
4
  import { liveRef } from "./liveRef.js";
4
5
  import { MessageClient } from "./message-runtime-client.js";
6
+ import { ThreadMessageClient } from "../clients/thread-message-client.js";
7
+ import { submissionThreadMessage } from "../clients/submission-message.js";
5
8
  import { ThreadSuggestions } from "../clients/suggestions.js";
6
9
  import { TaskClient, createTaskDeriver, getTaskKey } from "../clients/thread-tasks.js";
7
10
  import { useAssistantEmit, useClientLookup, useClientResource } from "@assistant-ui/store/client";
@@ -10,8 +13,8 @@ import { useEffect } from "@assistant-ui/tap/react-shim";
10
13
  import { resource, useResource, withKey } from "@assistant-ui/tap";
11
14
  //#region src/store/runtime-clients/thread-runtime-client.ts
12
15
  const useMessageClientById = (t0) => {
13
- const $ = c(7);
14
- const { runtime, id, threadIdRef, threadId } = t0;
16
+ const $ = c(8);
17
+ const { runtime, id, threadIdRef, threadId, isLast } = t0;
15
18
  let t1;
16
19
  if ($[0] !== id || $[1] !== runtime) {
17
20
  t1 = runtime.getMessageById(id);
@@ -21,22 +24,24 @@ const useMessageClientById = (t0) => {
21
24
  } else t1 = $[2];
22
25
  const messageRuntime = t1;
23
26
  let t2;
24
- if ($[3] !== messageRuntime || $[4] !== threadId || $[5] !== threadIdRef) {
27
+ if ($[3] !== isLast || $[4] !== messageRuntime || $[5] !== threadId || $[6] !== threadIdRef) {
25
28
  t2 = MessageClient({
26
29
  runtime: messageRuntime,
27
30
  threadIdRef,
28
- threadId
31
+ threadId,
32
+ isLast
29
33
  });
30
- $[3] = messageRuntime;
31
- $[4] = threadId;
32
- $[5] = threadIdRef;
33
- $[6] = t2;
34
- } else t2 = $[6];
34
+ $[3] = isLast;
35
+ $[4] = messageRuntime;
36
+ $[5] = threadId;
37
+ $[6] = threadIdRef;
38
+ $[7] = t2;
39
+ } else t2 = $[7];
35
40
  return useResource(t2);
36
41
  };
37
42
  const MessageClientById = resource(useMessageClientById);
38
43
  const useThreadClient = (t0) => {
39
- const $ = c(93);
44
+ const $ = c(111);
40
45
  const { runtime } = t0;
41
46
  const runtimeState = useSubscribable(runtime);
42
47
  const emit = useAssistantEmit();
@@ -64,9 +69,7 @@ const useThreadClient = (t0) => {
64
69
  ...payload
65
70
  });
66
71
  }));
67
- return () => {
68
- for (const unsub of unsubscribers) unsub();
69
- };
72
+ return () => runCleanups(unsubscribers);
70
73
  };
71
74
  t2 = [runtime, emit];
72
75
  $[0] = emit;
@@ -142,39 +145,99 @@ const useThreadClient = (t0) => {
142
145
  $[21] = t10;
143
146
  } else t10 = $[21];
144
147
  const taskClients = useClientLookup(t10);
148
+ const submission = composer.state.submission;
149
+ const inTransit = composer.state.inTransit;
145
150
  let t11;
146
- if ($[22] !== runtime || $[23] !== runtimeState.messages || $[24] !== runtimeState.threadId || $[25] !== threadIdRef) {
147
- let t12;
148
- if ($[27] !== runtime || $[28] !== runtimeState.threadId || $[29] !== threadIdRef) {
149
- t12 = (m) => withKey(m.id, MessageClientById({
150
- runtime,
151
- id: m.id,
152
- threadIdRef,
153
- threadId: runtimeState.threadId
154
- }), [
155
- runtime,
156
- m.id,
157
- threadIdRef,
158
- runtimeState.threadId
159
- ]);
160
- $[27] = runtime;
161
- $[28] = runtimeState.threadId;
162
- $[29] = threadIdRef;
163
- $[30] = t12;
164
- } else t12 = $[30];
165
- t11 = runtimeState.messages.map(t12);
166
- $[22] = runtime;
167
- $[23] = runtimeState.messages;
168
- $[24] = runtimeState.threadId;
169
- $[25] = threadIdRef;
170
- $[26] = t11;
171
- } else t11 = $[26];
172
- const messages = useClientLookup(t11);
173
- const t12 = messages.state.length === 0 && !runtimeState.isLoading;
151
+ if ($[22] !== inTransit) {
152
+ t11 = inTransit ?? [];
153
+ $[22] = inTransit;
154
+ $[23] = t11;
155
+ } else t11 = $[23];
156
+ let t12;
157
+ if ($[24] !== submission) {
158
+ t12 = submission ? [submission] : [];
159
+ $[24] = submission;
160
+ $[25] = t12;
161
+ } else t12 = $[25];
174
162
  let t13;
175
- if ($[31] !== composer.state || $[32] !== messages.state || $[33] !== runtimeState.capabilities || $[34] !== runtimeState.extras || $[35] !== runtimeState.isDisabled || $[36] !== runtimeState.isLoading || $[37] !== runtimeState.isRunning || $[38] !== runtimeState.speech || $[39] !== runtimeState.state || $[40] !== runtimeState.suggestions || $[41] !== runtimeState.voice || $[42] !== t12 || $[43] !== tasks) {
176
- t13 = {
177
- isEmpty: t12,
163
+ if ($[26] !== t11 || $[27] !== t12) {
164
+ t13 = [...t11, ...t12];
165
+ $[26] = t11;
166
+ $[27] = t12;
167
+ $[28] = t13;
168
+ } else t13 = $[28];
169
+ const pending = t13;
170
+ let t14;
171
+ if ($[29] !== pending) {
172
+ t14 = pending.map(submissionThreadMessage);
173
+ $[29] = pending;
174
+ $[30] = t14;
175
+ } else t14 = $[30];
176
+ const pendingMessages = t14;
177
+ const lastIndex = runtimeState.messages.length - 1;
178
+ let t15;
179
+ if ($[31] !== lastIndex || $[32] !== pending || $[33] !== pendingMessages || $[34] !== runtime || $[35] !== runtimeState.messages || $[36] !== runtimeState.threadId || $[37] !== threadIdRef) {
180
+ let t16;
181
+ if ($[39] !== lastIndex || $[40] !== pending.length || $[41] !== runtime || $[42] !== runtimeState.threadId || $[43] !== threadIdRef) {
182
+ t16 = (m, index) => {
183
+ const isLast = index === lastIndex && pending.length > 0 ? false : void 0;
184
+ return withKey(m.id, MessageClientById({
185
+ runtime,
186
+ id: m.id,
187
+ threadIdRef,
188
+ threadId: runtimeState.threadId,
189
+ isLast
190
+ }), [
191
+ runtime,
192
+ m.id,
193
+ threadIdRef,
194
+ runtimeState.threadId,
195
+ isLast
196
+ ]);
197
+ };
198
+ $[39] = lastIndex;
199
+ $[40] = pending.length;
200
+ $[41] = runtime;
201
+ $[42] = runtimeState.threadId;
202
+ $[43] = threadIdRef;
203
+ $[44] = t16;
204
+ } else t16 = $[44];
205
+ const t17 = runtimeState.messages.map(t16);
206
+ let t18;
207
+ if ($[45] !== pending || $[46] !== pendingMessages || $[47] !== runtimeState.messages.length) {
208
+ t18 = pending.map((row, index_0) => withKey(row.id, ThreadMessageClient({
209
+ message: pendingMessages[index_0],
210
+ submission: row,
211
+ index: runtimeState.messages.length + index_0,
212
+ isLast: index_0 === pending.length - 1
213
+ }), [
214
+ pendingMessages[index_0],
215
+ row,
216
+ runtimeState.messages.length,
217
+ index_0,
218
+ pending.length
219
+ ]));
220
+ $[45] = pending;
221
+ $[46] = pendingMessages;
222
+ $[47] = runtimeState.messages.length;
223
+ $[48] = t18;
224
+ } else t18 = $[48];
225
+ t15 = [...t17, ...t18];
226
+ $[31] = lastIndex;
227
+ $[32] = pending;
228
+ $[33] = pendingMessages;
229
+ $[34] = runtime;
230
+ $[35] = runtimeState.messages;
231
+ $[36] = runtimeState.threadId;
232
+ $[37] = threadIdRef;
233
+ $[38] = t15;
234
+ } else t15 = $[38];
235
+ const messages = useClientLookup(t15);
236
+ const t16 = messages.state.length === 0 && !runtimeState.isLoading;
237
+ let t17;
238
+ if ($[49] !== composer.state || $[50] !== messages.state || $[51] !== runtimeState.capabilities || $[52] !== runtimeState.extras || $[53] !== runtimeState.isDisabled || $[54] !== runtimeState.isLoading || $[55] !== runtimeState.isRunning || $[56] !== runtimeState.speech || $[57] !== runtimeState.state || $[58] !== runtimeState.suggestions || $[59] !== runtimeState.voice || $[60] !== t16 || $[61] !== tasks) {
239
+ t17 = {
240
+ isEmpty: t16,
178
241
  isDisabled: runtimeState.isDisabled,
179
242
  isLoading: runtimeState.isLoading,
180
243
  isRunning: runtimeState.isRunning,
@@ -188,56 +251,56 @@ const useThreadClient = (t0) => {
188
251
  messages: messages.state,
189
252
  tasks
190
253
  };
191
- $[31] = composer.state;
192
- $[32] = messages.state;
193
- $[33] = runtimeState.capabilities;
194
- $[34] = runtimeState.extras;
195
- $[35] = runtimeState.isDisabled;
196
- $[36] = runtimeState.isLoading;
197
- $[37] = runtimeState.isRunning;
198
- $[38] = runtimeState.speech;
199
- $[39] = runtimeState.state;
200
- $[40] = runtimeState.suggestions;
201
- $[41] = runtimeState.voice;
202
- $[42] = t12;
203
- $[43] = tasks;
204
- $[44] = t13;
205
- } else t13 = $[44];
206
- const state = t13;
207
- let t14;
208
- if ($[45] !== state) {
209
- t14 = () => state;
210
- $[45] = state;
211
- $[46] = t14;
212
- } else t14 = $[46];
213
- let t15;
214
- if ($[47] !== composer.methods) {
215
- t15 = () => composer.methods;
216
- $[47] = composer.methods;
217
- $[48] = t15;
218
- } else t15 = $[48];
219
- let t16;
220
- if ($[49] !== suggestions) {
221
- t16 = () => suggestions.methods;
222
- $[49] = suggestions;
223
- $[50] = t16;
224
- } else t16 = $[50];
225
- let t17;
226
- if ($[51] !== taskClients || $[52] !== tasks) {
227
- t17 = (selector) => {
254
+ $[49] = composer.state;
255
+ $[50] = messages.state;
256
+ $[51] = runtimeState.capabilities;
257
+ $[52] = runtimeState.extras;
258
+ $[53] = runtimeState.isDisabled;
259
+ $[54] = runtimeState.isLoading;
260
+ $[55] = runtimeState.isRunning;
261
+ $[56] = runtimeState.speech;
262
+ $[57] = runtimeState.state;
263
+ $[58] = runtimeState.suggestions;
264
+ $[59] = runtimeState.voice;
265
+ $[60] = t16;
266
+ $[61] = tasks;
267
+ $[62] = t17;
268
+ } else t17 = $[62];
269
+ const state = t17;
270
+ let t18;
271
+ if ($[63] !== state) {
272
+ t18 = () => state;
273
+ $[63] = state;
274
+ $[64] = t18;
275
+ } else t18 = $[64];
276
+ let t19;
277
+ if ($[65] !== composer.methods) {
278
+ t19 = () => composer.methods;
279
+ $[65] = composer.methods;
280
+ $[66] = t19;
281
+ } else t19 = $[66];
282
+ let t20;
283
+ if ($[67] !== suggestions) {
284
+ t20 = () => suggestions.methods;
285
+ $[67] = suggestions;
286
+ $[68] = t20;
287
+ } else t20 = $[68];
288
+ let t21;
289
+ if ($[69] !== taskClients || $[70] !== tasks) {
290
+ t21 = (selector) => {
228
291
  if ("id" in selector) {
229
292
  const task_0 = tasks.find((candidate) => candidate.id === selector.id);
230
293
  return taskClients.get({ key: task_0 ? getTaskKey(task_0) : selector.id });
231
294
  }
232
295
  return taskClients.get(selector);
233
296
  };
234
- $[51] = taskClients;
235
- $[52] = tasks;
236
- $[53] = t17;
237
- } else t17 = $[53];
238
- let t18;
239
- if ($[54] !== emit || $[55] !== isSuggestion || $[56] !== runtime) {
240
- t18 = (message) => {
297
+ $[69] = taskClients;
298
+ $[70] = tasks;
299
+ $[71] = t21;
300
+ } else t21 = $[71];
301
+ let t22;
302
+ if ($[72] !== emit || $[73] !== isSuggestion || $[74] !== runtime) {
303
+ t22 = (message) => {
241
304
  const appended = typeof message === "string" ? { content: [{
242
305
  type: "text",
243
306
  text: message
@@ -253,100 +316,100 @@ const useThreadClient = (t0) => {
253
316
  }
254
317
  runtime.append(message);
255
318
  };
256
- $[54] = emit;
257
- $[55] = isSuggestion;
258
- $[56] = runtime;
259
- $[57] = t18;
260
- } else t18 = $[57];
261
- let t19;
262
- if ($[58] !== emitThreadEvent || $[59] !== runtime || $[60] !== runtimeState.isRunning) {
263
- t19 = () => {
319
+ $[72] = emit;
320
+ $[73] = isSuggestion;
321
+ $[74] = runtime;
322
+ $[75] = t22;
323
+ } else t22 = $[75];
324
+ let t23;
325
+ if ($[76] !== emitThreadEvent || $[77] !== runtime || $[78] !== runtimeState.isRunning) {
326
+ t23 = () => {
264
327
  if (runtimeState.isRunning) emitThreadEvent("thread.cancelRun");
265
328
  runtime.cancelRun();
266
329
  };
267
- $[58] = emitThreadEvent;
268
- $[59] = runtime;
269
- $[60] = runtimeState.isRunning;
270
- $[61] = t19;
271
- } else t19 = $[61];
272
- let t20;
273
- if ($[62] !== emitThreadEvent || $[63] !== runtime) {
274
- t20 = () => {
330
+ $[76] = emitThreadEvent;
331
+ $[77] = runtime;
332
+ $[78] = runtimeState.isRunning;
333
+ $[79] = t23;
334
+ } else t23 = $[79];
335
+ let t24;
336
+ if ($[80] !== emitThreadEvent || $[81] !== runtime) {
337
+ t24 = () => {
275
338
  runtime.connectVoice();
276
339
  emitThreadEvent("thread.voiceStarted");
277
340
  };
278
- $[62] = emitThreadEvent;
279
- $[63] = runtime;
280
- $[64] = t20;
281
- } else t20 = $[64];
282
- let t21;
283
- if ($[65] !== messages) {
284
- t21 = (selector_0) => {
341
+ $[80] = emitThreadEvent;
342
+ $[81] = runtime;
343
+ $[82] = t24;
344
+ } else t24 = $[82];
345
+ let t25;
346
+ if ($[83] !== messages) {
347
+ t25 = (selector_0) => {
285
348
  if ("id" in selector_0) return messages.get({ key: selector_0.id });
286
349
  else return messages.get(selector_0);
287
350
  };
288
- $[65] = messages;
289
- $[66] = t21;
290
- } else t21 = $[66];
291
- let t22;
292
- if ($[67] !== runtime) {
293
- t22 = () => runtime;
294
- $[67] = runtime;
295
- $[68] = t22;
296
- } else t22 = $[68];
297
- let t23;
298
- if ($[69] !== runtime.deleteMessage || $[70] !== runtime.disconnectVoice || $[71] !== runtime.export || $[72] !== runtime.getModelContext || $[73] !== runtime.getVoiceVolume || $[74] !== runtime.import || $[75] !== runtime.importExternalState || $[76] !== runtime.muteVoice || $[77] !== runtime.reset || $[78] !== runtime.resumeRun || $[79] !== runtime.startRun || $[80] !== runtime.stopSpeaking || $[81] !== runtime.subscribeVoiceVolume || $[82] !== runtime.unmuteVoice || $[83] !== t14 || $[84] !== t15 || $[85] !== t16 || $[86] !== t17 || $[87] !== t18 || $[88] !== t19 || $[89] !== t20 || $[90] !== t21 || $[91] !== t22) {
299
- t23 = {
300
- getState: t14,
301
- composer: t15,
302
- suggestions: t16,
303
- task: t17,
304
- append: t18,
351
+ $[83] = messages;
352
+ $[84] = t25;
353
+ } else t25 = $[84];
354
+ let t26;
355
+ if ($[85] !== runtime) {
356
+ t26 = () => runtime;
357
+ $[85] = runtime;
358
+ $[86] = t26;
359
+ } else t26 = $[86];
360
+ let t27;
361
+ if ($[87] !== runtime.deleteMessage || $[88] !== runtime.disconnectVoice || $[89] !== runtime.export || $[90] !== runtime.getModelContext || $[91] !== runtime.getVoiceVolume || $[92] !== runtime.import || $[93] !== runtime.importExternalState || $[94] !== runtime.muteVoice || $[95] !== runtime.reset || $[96] !== runtime.resumeRun || $[97] !== runtime.startRun || $[98] !== runtime.stopSpeaking || $[99] !== runtime.subscribeVoiceVolume || $[100] !== runtime.unmuteVoice || $[101] !== t18 || $[102] !== t19 || $[103] !== t20 || $[104] !== t21 || $[105] !== t22 || $[106] !== t23 || $[107] !== t24 || $[108] !== t25 || $[109] !== t26) {
362
+ t27 = {
363
+ getState: t18,
364
+ composer: t19,
365
+ suggestions: t20,
366
+ task: t21,
367
+ append: t22,
305
368
  deleteMessage: runtime.deleteMessage,
306
369
  startRun: runtime.startRun,
307
370
  resumeRun: runtime.resumeRun,
308
371
  importExternalState: runtime.importExternalState,
309
- cancelRun: t19,
372
+ cancelRun: t23,
310
373
  getModelContext: runtime.getModelContext,
311
374
  export: runtime.export,
312
375
  import: runtime.import,
313
376
  reset: runtime.reset,
314
377
  stopSpeaking: runtime.stopSpeaking,
315
- connectVoice: t20,
378
+ connectVoice: t24,
316
379
  disconnectVoice: runtime.disconnectVoice,
317
380
  getVoiceVolume: runtime.getVoiceVolume,
318
381
  subscribeVoiceVolume: runtime.subscribeVoiceVolume,
319
382
  muteVoice: runtime.muteVoice,
320
383
  unmuteVoice: runtime.unmuteVoice,
321
- message: t21,
322
- __internal_getRuntime: t22
384
+ message: t25,
385
+ __internal_getRuntime: t26
323
386
  };
324
- $[69] = runtime.deleteMessage;
325
- $[70] = runtime.disconnectVoice;
326
- $[71] = runtime.export;
327
- $[72] = runtime.getModelContext;
328
- $[73] = runtime.getVoiceVolume;
329
- $[74] = runtime.import;
330
- $[75] = runtime.importExternalState;
331
- $[76] = runtime.muteVoice;
332
- $[77] = runtime.reset;
333
- $[78] = runtime.resumeRun;
334
- $[79] = runtime.startRun;
335
- $[80] = runtime.stopSpeaking;
336
- $[81] = runtime.subscribeVoiceVolume;
337
- $[82] = runtime.unmuteVoice;
338
- $[83] = t14;
339
- $[84] = t15;
340
- $[85] = t16;
341
- $[86] = t17;
342
- $[87] = t18;
343
- $[88] = t19;
344
- $[89] = t20;
345
- $[90] = t21;
346
- $[91] = t22;
347
- $[92] = t23;
348
- } else t23 = $[92];
349
- return t23;
387
+ $[87] = runtime.deleteMessage;
388
+ $[88] = runtime.disconnectVoice;
389
+ $[89] = runtime.export;
390
+ $[90] = runtime.getModelContext;
391
+ $[91] = runtime.getVoiceVolume;
392
+ $[92] = runtime.import;
393
+ $[93] = runtime.importExternalState;
394
+ $[94] = runtime.muteVoice;
395
+ $[95] = runtime.reset;
396
+ $[96] = runtime.resumeRun;
397
+ $[97] = runtime.startRun;
398
+ $[98] = runtime.stopSpeaking;
399
+ $[99] = runtime.subscribeVoiceVolume;
400
+ $[100] = runtime.unmuteVoice;
401
+ $[101] = t18;
402
+ $[102] = t19;
403
+ $[103] = t20;
404
+ $[104] = t21;
405
+ $[105] = t22;
406
+ $[106] = t23;
407
+ $[107] = t24;
408
+ $[108] = t25;
409
+ $[109] = t26;
410
+ $[110] = t27;
411
+ } else t27 = $[110];
412
+ return t27;
350
413
  };
351
414
  const ThreadClient = resource(useThreadClient);
352
415
  function _temp(task) {
@@ -1 +1 @@
1
- {"version":3,"file":"thread-runtime-client.js","names":["Unsubscribe","ThreadRuntimeEventType","CreateAppendMessage","ThreadRuntime","useMemo","useEffect","useCallback","RefObject","useResource","resource","withKey","liveRef","ClientOutput","useAssistantEmit","useClientLookup","useClientResource","ComposerClient","MessageClient","ThreadSuggestions","createTaskDeriver","getTaskKey","TaskClient","useSubscribable","ThreadState","useMessageClientById","t0","$","_c","runtime","id","threadIdRef","threadId","t1","getMessageById","messageRuntime","t2","MessageClientById","useThreadClient","runtimeState","emit","unsubscribers","threadEvents","event","unsubscribe","unstable_on","getState","push","payload","threadId_0","unsub","t3","t4","event_0","emitThreadEvent","t5","text","suggestions","some","suggestion","prompt","isSuggestion","t6","composer","t7","t8","Symbol","for","taskDeriver","t9","messages","tasks","t10","map","_temp","taskClients","t11","t12","m","state","length","isLoading","t13","capabilities","extras","isDisabled","isRunning","speech","voice","isEmpty","t14","t15","methods","t16","t17","selector","task_0","find","candidate","get","key","task","t18","message","appended","content","type","role","text_0","_temp2","join","chars","attachments","undefined","append","t19","cancelRun","t20","connectVoice","t21","selector_0","t22","t23","deleteMessage","disconnectVoice","export","getModelContext","getVoiceVolume","import","importExternalState","muteVoice","reset","resumeRun","startRun","stopSpeaking","subscribeVoiceVolume","unmuteVoice","__internal_getRuntime","ThreadClient","part"],"sources":["../../../src/store/runtime-clients/thread-runtime-client.ts"],"sourcesContent":["import type { Unsubscribe } from \"../../types/unsubscribe\";\nimport type { ThreadRuntimeEventType } from \"../../runtime/interfaces/thread-runtime-core\";\nimport type {\n CreateAppendMessage,\n ThreadRuntime,\n} from \"../../runtime/api/thread-runtime\";\nimport { useMemo, useEffect, useCallback, type RefObject } from \"react\";\nimport { useResource, resource, withKey } from \"@assistant-ui/tap\";\nimport { liveRef } from \"./liveRef\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport {\n useAssistantEmit,\n useClientLookup,\n useClientResource,\n} from \"@assistant-ui/store/client\";\nimport { ComposerClient } from \"./composer-runtime-client\";\nimport { MessageClient } from \"./message-runtime-client\";\nimport { ThreadSuggestions } from \"../clients/suggestions\";\nimport {\n createTaskDeriver,\n getTaskKey,\n TaskClient,\n} from \"../clients/thread-tasks\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport type { ThreadState } from \"../scopes/thread\";\n\nconst useMessageClientById = ({\n runtime,\n id,\n threadIdRef,\n threadId,\n}: {\n runtime: ThreadRuntime;\n id: string;\n threadIdRef: RefObject<string>;\n threadId: string;\n}) => {\n const messageRuntime = useMemo(\n () => runtime.getMessageById(id),\n [runtime, id],\n );\n\n return useResource(\n MessageClient({ runtime: messageRuntime, threadIdRef, threadId }),\n );\n};\n\nconst MessageClientById = resource(useMessageClientById);\n\nconst useThreadClient = ({\n runtime,\n}: {\n runtime: ThreadRuntime;\n}): ClientOutput<\"thread\"> => {\n const runtimeState = useSubscribable(runtime);\n const emit = useAssistantEmit();\n\n useEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n const threadEvents: ThreadRuntimeEventType[] = [\n \"runStart\",\n \"runEnd\",\n \"initialize\",\n \"modelContextUpdate\",\n ];\n\n for (const event of threadEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n emit(`thread.${event}`, {\n threadId,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n unsubscribers.push(\n runtime.unstable_on(\"toolApprovalAnswered\", (payload) => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n emit(\"thread.toolApprovalAnswered\", { threadId, ...payload });\n }),\n );\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, emit]);\n\n const threadIdRef = useMemo(\n () => liveRef(() => runtime.getState()!.threadId),\n [runtime],\n );\n const emitThreadEvent = (\n event: \"thread.cancelRun\" | \"thread.voiceStarted\",\n ) => {\n emit(event, { threadId: runtime.getState()!.threadId });\n };\n const isSuggestion = useCallback(\n (text: string) =>\n runtime\n .getState()!\n .suggestions.some((suggestion) => suggestion.prompt === text),\n [runtime],\n );\n\n const composer = useClientResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n isSuggestion,\n }),\n );\n const suggestions = useClientResource(\n ThreadSuggestions(runtimeState.suggestions),\n );\n const taskDeriver = useMemo(() => createTaskDeriver(), []);\n const tasks = useMemo(\n () => taskDeriver(runtimeState.messages),\n [taskDeriver, runtimeState.messages],\n );\n const taskClients = useClientLookup(\n tasks.map((task) =>\n withKey(getTaskKey(task), TaskClient({ task }), [task]),\n ),\n );\n const messages = useClientLookup(\n runtimeState.messages.map((m) =>\n withKey(\n m.id,\n MessageClientById({\n runtime,\n id: m.id,\n threadIdRef,\n threadId: runtimeState.threadId,\n }),\n [runtime, m.id, threadIdRef, runtimeState.threadId],\n ),\n ),\n );\n\n const state = useMemo<ThreadState>(() => {\n return {\n isEmpty: messages.state.length === 0 && !runtimeState.isLoading,\n isDisabled: runtimeState.isDisabled,\n isLoading: runtimeState.isLoading,\n isRunning: runtimeState.isRunning,\n capabilities: runtimeState.capabilities,\n state: runtimeState.state,\n suggestions: runtimeState.suggestions,\n extras: runtimeState.extras,\n speech: runtimeState.speech,\n voice: runtimeState.voice,\n\n composer: composer.state,\n messages: messages.state,\n tasks,\n };\n }, [runtimeState, messages, composer.state, tasks]);\n\n return {\n getState: () => state,\n composer: () => composer.methods,\n suggestions: () => suggestions.methods,\n task: (selector) => {\n if (\"id\" in selector) {\n const task = tasks.find((candidate) => candidate.id === selector.id);\n return taskClients.get({ key: task ? getTaskKey(task) : selector.id });\n }\n return taskClients.get(selector);\n },\n append: (message) => {\n const appended: Exclude<CreateAppendMessage, string> =\n typeof message === \"string\"\n ? { content: [{ type: \"text\", text: message }] }\n : message;\n if ((appended.role ?? \"user\") === \"user\") {\n const text = appended.content\n .map((part) => (part.type === \"text\" ? part.text : \"\"))\n .join(\"\");\n emit(\"composer.send\", {\n threadId: runtime.getState()!.threadId,\n chars: text.length,\n attachments: appended.attachments?.length ?? 0,\n ...(isSuggestion(text) ? { suggestion: true } : undefined),\n });\n }\n runtime.append(message);\n },\n deleteMessage: runtime.deleteMessage,\n startRun: runtime.startRun,\n resumeRun: runtime.resumeRun,\n importExternalState: runtime.importExternalState,\n cancelRun: () => {\n if (runtimeState.isRunning) emitThreadEvent(\"thread.cancelRun\");\n runtime.cancelRun();\n },\n getModelContext: runtime.getModelContext,\n export: runtime.export,\n import: runtime.import,\n reset: runtime.reset,\n stopSpeaking: runtime.stopSpeaking,\n connectVoice: () => {\n runtime.connectVoice();\n emitThreadEvent(\"thread.voiceStarted\");\n },\n disconnectVoice: runtime.disconnectVoice,\n getVoiceVolume: runtime.getVoiceVolume,\n subscribeVoiceVolume: runtime.subscribeVoiceVolume,\n muteVoice: runtime.muteVoice,\n unmuteVoice: runtime.unmuteVoice,\n message: (selector) => {\n if (\"id\" in selector) {\n return messages.get({ key: selector.id });\n } else {\n return messages.get(selector);\n }\n },\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const ThreadClient = resource(useThreadClient);\n"],"mappings":"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"}
1
+ {"version":3,"file":"thread-runtime-client.js","names":["Unsubscribe","ThreadRuntimeEventType","CreateAppendMessage","ThreadRuntime","useMemo","useEffect","useCallback","RefObject","useResource","resource","withKey","liveRef","ClientOutput","useAssistantEmit","useClientLookup","useClientResource","ComposerClient","ThreadMessageClient","submissionThreadMessage","MessageClient","ThreadSuggestions","createTaskDeriver","getTaskKey","TaskClient","useSubscribable","ThreadState","runCleanups","useMessageClientById","t0","$","_c","runtime","id","threadIdRef","threadId","isLast","t1","getMessageById","messageRuntime","t2","MessageClientById","useThreadClient","runtimeState","emit","unsubscribers","threadEvents","event","unsubscribe","unstable_on","getState","push","payload","threadId_0","t3","t4","event_0","emitThreadEvent","t5","text","suggestions","some","suggestion","prompt","isSuggestion","t6","composer","t7","t8","Symbol","for","taskDeriver","t9","messages","tasks","t10","map","_temp","taskClients","submission","state","inTransit","t11","t12","t13","pending","t14","pendingMessages","lastIndex","length","t15","t16","m","index","undefined","t17","t18","row","index_0","message","isLoading","capabilities","extras","isDisabled","isRunning","speech","voice","isEmpty","t19","methods","t20","t21","selector","task_0","find","candidate","get","key","task","t22","appended","content","type","role","text_0","_temp2","join","chars","attachments","append","t23","cancelRun","t24","connectVoice","t25","selector_0","t26","t27","deleteMessage","disconnectVoice","export","getModelContext","getVoiceVolume","import","importExternalState","muteVoice","reset","resumeRun","startRun","stopSpeaking","subscribeVoiceVolume","unmuteVoice","__internal_getRuntime","ThreadClient","part"],"sources":["../../../src/store/runtime-clients/thread-runtime-client.ts"],"sourcesContent":["import type { Unsubscribe } from \"../../types/unsubscribe\";\nimport type { ThreadRuntimeEventType } from \"../../runtime/interfaces/thread-runtime-core\";\nimport type {\n CreateAppendMessage,\n ThreadRuntime,\n} from \"../../runtime/api/thread-runtime\";\nimport { useMemo, useEffect, useCallback, type RefObject } from \"react\";\nimport { useResource, resource, withKey } from \"@assistant-ui/tap\";\nimport { liveRef } from \"./liveRef\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport {\n useAssistantEmit,\n useClientLookup,\n useClientResource,\n} from \"@assistant-ui/store/client\";\nimport { ComposerClient } from \"./composer-runtime-client\";\nimport { ThreadMessageClient } from \"../clients/thread-message-client\";\nimport { submissionThreadMessage } from \"../clients/submission-message\";\nimport { MessageClient } from \"./message-runtime-client\";\nimport { ThreadSuggestions } from \"../clients/suggestions\";\nimport {\n createTaskDeriver,\n getTaskKey,\n TaskClient,\n} from \"../clients/thread-tasks\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport type { ThreadState } from \"../scopes/thread\";\nimport { runCleanups } from \"../../subscribable/subscribable\";\n\nconst useMessageClientById = ({\n runtime,\n id,\n threadIdRef,\n threadId,\n isLast,\n}: {\n runtime: ThreadRuntime;\n id: string;\n threadIdRef: RefObject<string>;\n threadId: string;\n isLast: false | undefined;\n}) => {\n const messageRuntime = useMemo(\n () => runtime.getMessageById(id),\n [runtime, id],\n );\n\n return useResource(\n MessageClient({ runtime: messageRuntime, threadIdRef, threadId, isLast }),\n );\n};\n\nconst MessageClientById = resource(useMessageClientById);\n\nconst useThreadClient = ({\n runtime,\n}: {\n runtime: ThreadRuntime;\n}): ClientOutput<\"thread\"> => {\n const runtimeState = useSubscribable(runtime);\n const emit = useAssistantEmit();\n\n useEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n const threadEvents: ThreadRuntimeEventType[] = [\n \"runStart\",\n \"runEnd\",\n \"initialize\",\n \"modelContextUpdate\",\n ];\n\n for (const event of threadEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n emit(`thread.${event}`, {\n threadId,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n unsubscribers.push(\n runtime.unstable_on(\"toolApprovalAnswered\", (payload) => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n emit(\"thread.toolApprovalAnswered\", { threadId, ...payload });\n }),\n );\n\n return () => runCleanups(unsubscribers);\n }, [runtime, emit]);\n\n const threadIdRef = useMemo(\n () => liveRef(() => runtime.getState()!.threadId),\n [runtime],\n );\n const emitThreadEvent = (\n event: \"thread.cancelRun\" | \"thread.voiceStarted\",\n ) => {\n emit(event, { threadId: runtime.getState()!.threadId });\n };\n const isSuggestion = useCallback(\n (text: string) =>\n runtime\n .getState()!\n .suggestions.some((suggestion) => suggestion.prompt === text),\n [runtime],\n );\n\n const composer = useClientResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n isSuggestion,\n }),\n );\n const suggestions = useClientResource(\n ThreadSuggestions(runtimeState.suggestions),\n );\n const taskDeriver = useMemo(() => createTaskDeriver(), []);\n const tasks = useMemo(\n () => taskDeriver(runtimeState.messages),\n [taskDeriver, runtimeState.messages],\n );\n const taskClients = useClientLookup(\n tasks.map((task) =>\n withKey(getTaskKey(task), TaskClient({ task }), [task]),\n ),\n );\n const submission = composer.state.submission;\n const inTransit = composer.state.inTransit;\n // Messages the composer sent that the runtime does not show yet render after\n // the thread's own, oldest first, so a send never leaves the conversation.\n const pending = useMemo(\n () => [...(inTransit ?? []), ...(submission ? [submission] : [])],\n [inTransit, submission],\n );\n const pendingMessages = useMemo(\n () => pending.map(submissionThreadMessage),\n [pending],\n );\n const lastIndex = runtimeState.messages.length - 1;\n const messages = useClientLookup([\n ...runtimeState.messages.map((m, index) => {\n const isLast =\n index === lastIndex && pending.length > 0 ? false : undefined;\n return withKey(\n m.id,\n MessageClientById({\n runtime,\n id: m.id,\n threadIdRef,\n threadId: runtimeState.threadId,\n isLast,\n }),\n [runtime, m.id, threadIdRef, runtimeState.threadId, isLast],\n );\n }),\n ...pending.map((row, index) =>\n withKey(\n row.id,\n ThreadMessageClient({\n message: pendingMessages[index]!,\n submission: row,\n index: runtimeState.messages.length + index,\n isLast: index === pending.length - 1,\n }),\n [\n pendingMessages[index],\n row,\n runtimeState.messages.length,\n index,\n pending.length,\n ],\n ),\n ),\n ]);\n\n const state = useMemo<ThreadState>(() => {\n return {\n isEmpty: messages.state.length === 0 && !runtimeState.isLoading,\n isDisabled: runtimeState.isDisabled,\n isLoading: runtimeState.isLoading,\n isRunning: runtimeState.isRunning,\n capabilities: runtimeState.capabilities,\n state: runtimeState.state,\n suggestions: runtimeState.suggestions,\n extras: runtimeState.extras,\n speech: runtimeState.speech,\n voice: runtimeState.voice,\n\n composer: composer.state,\n messages: messages.state,\n tasks,\n };\n }, [runtimeState, messages, composer.state, tasks]);\n\n return {\n getState: () => state,\n composer: () => composer.methods,\n suggestions: () => suggestions.methods,\n task: (selector) => {\n if (\"id\" in selector) {\n const task = tasks.find((candidate) => candidate.id === selector.id);\n return taskClients.get({ key: task ? getTaskKey(task) : selector.id });\n }\n return taskClients.get(selector);\n },\n append: (message) => {\n const appended: Exclude<CreateAppendMessage, string> =\n typeof message === \"string\"\n ? { content: [{ type: \"text\", text: message }] }\n : message;\n if ((appended.role ?? \"user\") === \"user\") {\n const text = appended.content\n .map((part) => (part.type === \"text\" ? part.text : \"\"))\n .join(\"\");\n emit(\"composer.send\", {\n threadId: runtime.getState()!.threadId,\n chars: text.length,\n attachments: appended.attachments?.length ?? 0,\n ...(isSuggestion(text) ? { suggestion: true } : undefined),\n });\n }\n runtime.append(message);\n },\n deleteMessage: runtime.deleteMessage,\n startRun: runtime.startRun,\n resumeRun: runtime.resumeRun,\n importExternalState: runtime.importExternalState,\n cancelRun: () => {\n if (runtimeState.isRunning) emitThreadEvent(\"thread.cancelRun\");\n runtime.cancelRun();\n },\n getModelContext: runtime.getModelContext,\n export: runtime.export,\n import: runtime.import,\n reset: runtime.reset,\n stopSpeaking: runtime.stopSpeaking,\n connectVoice: () => {\n runtime.connectVoice();\n emitThreadEvent(\"thread.voiceStarted\");\n },\n disconnectVoice: runtime.disconnectVoice,\n getVoiceVolume: runtime.getVoiceVolume,\n subscribeVoiceVolume: runtime.subscribeVoiceVolume,\n muteVoice: runtime.muteVoice,\n unmuteVoice: runtime.unmuteVoice,\n message: (selector) => {\n if (\"id\" in selector) {\n return messages.get({ key: selector.id });\n } else {\n return messages.get(selector);\n }\n },\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const ThreadClient = resource(useThreadClient);\n"],"mappings":"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"}
@@ -1,8 +1,5 @@
1
- import { SubscribableWithState } from "../../subscribable/subscribable.js";
2
- //#region src/store/runtime-clients/useSubscribable.d.ts
3
- declare const useSubscribable: <T>(subscribable: Omit<SubscribableWithState<T, any>, "path"> & {
4
- getServerSnapshot?: () => T;
1
+ import type { SubscribableWithState } from "../../subscribable/subscribable.js";
2
+ export declare const useSubscribable: <T>(subscribable: Omit<SubscribableWithState<T, any>, "path"> & {
3
+ getServerSnapshot?: () => T;
5
4
  }) => T;
6
- //#endregion
7
- export { useSubscribable };
8
5
  //# sourceMappingURL=useSubscribable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSubscribable.d.ts","names":[],"sources":["../../../src/store/runtime-clients/useSubscribable.ts"],"mappings":";;cAGa,kBAAmB,GAC9B,cAAc,KAAK,sBAAsB;EACvC,0BAA0B;MAC3B"}
1
+ {"version":3,"file":"useSubscribable.d.ts","sourceRoot":"","sources":["../../../src/store/runtime-clients/useSubscribable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,2CAAwC;AAE7E,eAAO,MAAM,eAAe,GAAI,CAAC,EAC/B,cAAc,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;CAC7B,MAOF,CAAC"}
@@ -1,32 +1,31 @@
1
- import { ThreadListItemClientSchema } from "./scopes/thread-list-item.js";
2
- import { AttachmentClientSchema } from "./scopes/attachment.js";
3
- import { QueueItemClientSchema } from "./scopes/queue-item.js";
4
- import { ComposerClientSchema } from "./scopes/composer.js";
5
- import { PartClientSchema } from "./scopes/part.js";
6
- import { MessageClientSchema } from "./scopes/message.js";
7
- import { SuggestionClientSchema } from "./scopes/suggestion.js";
8
- import { SuggestionsClientSchema } from "./scopes/suggestions.js";
9
- import { TaskClientSchema } from "./scopes/task.js";
10
- import { ThreadClientSchema } from "./scopes/thread.js";
11
- import { ThreadsClientSchema } from "./scopes/threads.js";
12
- import { ModelContextClientSchema } from "./scopes/model-context.js";
13
- import { ChainOfThoughtClientSchema } from "./scopes/chain-of-thought.js";
14
- //#region src/store/scope-registration.d.ts
1
+ import type { ThreadsClientSchema } from "./scopes/threads.js";
2
+ import type { ThreadListItemClientSchema } from "./scopes/thread-list-item.js";
3
+ import type { ThreadClientSchema } from "./scopes/thread.js";
4
+ import type { MessageClientSchema } from "./scopes/message.js";
5
+ import type { PartClientSchema } from "./scopes/part.js";
6
+ import type { ComposerClientSchema } from "./scopes/composer.js";
7
+ import type { AttachmentClientSchema } from "./scopes/attachment.js";
8
+ import type { ModelContextClientSchema } from "./scopes/model-context.js";
9
+ import type { SuggestionsClientSchema } from "./scopes/suggestions.js";
10
+ import type { SuggestionClientSchema } from "./scopes/suggestion.js";
11
+ import type { ChainOfThoughtClientSchema } from "./scopes/chain-of-thought.js";
12
+ import type { QueueItemClientSchema } from "./scopes/queue-item.js";
13
+ import type { TaskClientSchema } from "./scopes/task.js";
15
14
  declare module "@assistant-ui/store" {
16
- interface ScopeRegistry {
17
- threads: ThreadsClientSchema;
18
- threadListItem: ThreadListItemClientSchema;
19
- thread: ThreadClientSchema;
20
- message: MessageClientSchema;
21
- part: PartClientSchema;
22
- composer: ComposerClientSchema;
23
- attachment: AttachmentClientSchema;
24
- modelContext: ModelContextClientSchema;
25
- suggestions: SuggestionsClientSchema;
26
- suggestion: SuggestionClientSchema;
27
- chainOfThought: ChainOfThoughtClientSchema;
28
- queueItem: QueueItemClientSchema;
29
- task: TaskClientSchema;
30
- }
15
+ interface ScopeRegistry {
16
+ threads: ThreadsClientSchema;
17
+ threadListItem: ThreadListItemClientSchema;
18
+ thread: ThreadClientSchema;
19
+ message: MessageClientSchema;
20
+ part: PartClientSchema;
21
+ composer: ComposerClientSchema;
22
+ attachment: AttachmentClientSchema;
23
+ modelContext: ModelContextClientSchema;
24
+ suggestions: SuggestionsClientSchema;
25
+ suggestion: SuggestionClientSchema;
26
+ chainOfThought: ChainOfThoughtClientSchema;
27
+ queueItem: QueueItemClientSchema;
28
+ task: TaskClientSchema;
29
+ }
31
30
  }
32
31
  //# sourceMappingURL=scope-registration.d.ts.map