@assistant-ui/core 0.3.20 → 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 (905) hide show
  1. package/dist/adapters/attachment.d.ts +42 -34
  2. package/dist/adapters/attachment.d.ts.map +1 -1
  3. package/dist/adapters/attachment.js +51 -21
  4. package/dist/adapters/attachment.js.map +1 -1
  5. package/dist/adapters/directive-formatter.d.ts +1 -3
  6. package/dist/adapters/directive-formatter.d.ts.map +1 -1
  7. package/dist/adapters/feedback.d.ts +6 -7
  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 +57 -58
  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 +14 -16
  17. package/dist/adapters/suggestion.d.ts.map +1 -1
  18. package/dist/adapters/thread-history.d.ts +54 -51
  19. package/dist/adapters/thread-history.d.ts.map +1 -1
  20. package/dist/adapters/trigger.d.ts +7 -9
  21. package/dist/adapters/trigger.d.ts.map +1 -1
  22. package/dist/adapters/voice.d.ts +46 -40
  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 +0 -2
  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 +19 -21
  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 +27 -28
  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 +19 -21
  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 +42 -29
  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 +6 -8
  54. package/dist/model-context/registry-handles.d.ts.map +1 -1
  55. package/dist/model-context/registry.d.ts +14 -16
  56. package/dist/model-context/registry.d.ts.map +1 -1
  57. package/dist/model-context/tool-call-text.d.ts +13 -14
  58. package/dist/model-context/tool-call-text.d.ts.map +1 -1
  59. package/dist/model-context/tool.d.ts +10 -11
  60. package/dist/model-context/tool.d.ts.map +1 -1
  61. package/dist/model-context/types.d.ts +32 -34
  62. package/dist/model-context/types.d.ts.map +1 -1
  63. package/dist/react/AssistantProvider.d.ts +6 -8
  64. package/dist/react/AssistantProvider.d.ts.map +1 -1
  65. package/dist/react/AssistantRuntimeProvider.d.ts +23 -25
  66. package/dist/react/AssistantRuntimeProvider.d.ts.map +1 -1
  67. package/dist/react/RuntimeAdapter.d.ts +2 -5
  68. package/dist/react/RuntimeAdapter.d.ts.map +1 -1
  69. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts +24 -18
  70. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
  71. package/dist/react/adapters/LocalStorageThreadListAdapter.js +58 -25
  72. package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
  73. package/dist/react/adapters/TitleGenerationAdapter.d.ts +2 -4
  74. package/dist/react/adapters/TitleGenerationAdapter.d.ts.map +1 -1
  75. package/dist/react/client/AdaptedRemoteThread.d.ts +5 -7
  76. package/dist/react/client/AdaptedRemoteThread.d.ts.map +1 -1
  77. package/dist/react/client/DataRenderers.d.ts +1 -3
  78. package/dist/react/client/DataRenderers.d.ts.map +1 -1
  79. package/dist/react/client/InMemoryThreadList.d.ts +6 -8
  80. package/dist/react/client/InMemoryThreadList.d.ts.map +1 -1
  81. package/dist/react/client/Interactables.d.ts +2 -4
  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 +32 -34
  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 +9 -11
  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 -10
  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 +1 -3
  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 -8
  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 +33 -36
  109. package/dist/react/interactables-legacy/scopes.d.ts.map +1 -1
  110. package/dist/react/interactables-legacy/useAssistantInteractable.d.ts +6 -8
  111. package/dist/react/interactables-legacy/useAssistantInteractable.d.ts.map +1 -1
  112. package/dist/react/interactables-legacy/useInteractableState.d.ts +6 -7
  113. package/dist/react/interactables-legacy/useInteractableState.d.ts.map +1 -1
  114. package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts +23 -13
  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 +11 -13
  119. package/dist/react/model-context/define-mcp-toolkit.d.ts.map +1 -1
  120. package/dist/react/model-context/define-toolkit.d.ts +12 -4
  121. package/dist/react/model-context/define-toolkit.d.ts.map +1 -1
  122. package/dist/react/model-context/external-tool.d.ts +0 -2
  123. package/dist/react/model-context/external-tool.d.ts.map +1 -1
  124. package/dist/react/model-context/human-tool.d.ts +0 -2
  125. package/dist/react/model-context/human-tool.d.ts.map +1 -1
  126. package/dist/react/model-context/interactableTool.d.ts +23 -25
  127. package/dist/react/model-context/interactableTool.d.ts.map +1 -1
  128. package/dist/react/model-context/makeAssistantDataUI.d.ts +4 -6
  129. package/dist/react/model-context/makeAssistantDataUI.d.ts.map +1 -1
  130. package/dist/react/model-context/makeAssistantTool.d.ts +4 -6
  131. package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -1
  132. package/dist/react/model-context/makeAssistantToolUI.d.ts +4 -6
  133. package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -1
  134. package/dist/react/model-context/provider-tool.d.ts +3 -4
  135. package/dist/react/model-context/provider-tool.d.ts.map +1 -1
  136. package/dist/react/model-context/stub-tool.d.ts +0 -2
  137. package/dist/react/model-context/stub-tool.d.ts.map +1 -1
  138. package/dist/react/model-context/toolbox.d.ts +37 -24
  139. package/dist/react/model-context/toolbox.d.ts.map +1 -1
  140. package/dist/react/model-context/useAssistantContext.d.ts +2 -5
  141. package/dist/react/model-context/useAssistantContext.d.ts.map +1 -1
  142. package/dist/react/model-context/useAssistantDataUI.d.ts +5 -7
  143. package/dist/react/model-context/useAssistantDataUI.d.ts.map +1 -1
  144. package/dist/react/model-context/useAssistantInstructions.d.ts +2 -5
  145. package/dist/react/model-context/useAssistantInstructions.d.ts.map +1 -1
  146. package/dist/react/model-context/useAssistantTool.d.ts +8 -11
  147. package/dist/react/model-context/useAssistantTool.d.ts.map +1 -1
  148. package/dist/react/model-context/useAssistantToolUI.d.ts +11 -13
  149. package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -1
  150. package/dist/react/model-context/useAuiToolOverrides.d.ts +2 -3
  151. package/dist/react/model-context/useAuiToolOverrides.d.ts.map +1 -1
  152. package/dist/react/model-context/useInlineRender.d.ts +2 -4
  153. package/dist/react/model-context/useInlineRender.d.ts.map +1 -1
  154. package/dist/react/model-context/useInteractable.d.ts +37 -36
  155. package/dist/react/model-context/useInteractable.d.ts.map +1 -1
  156. package/dist/react/model-context/useInteractableState.d.ts +10 -8
  157. package/dist/react/model-context/useInteractableState.d.ts.map +1 -1
  158. package/dist/react/model-context/useInteractableVersions.d.ts +3 -5
  159. package/dist/react/model-context/useInteractableVersions.d.ts.map +1 -1
  160. package/dist/react/model-context/useToolArgsStatus.d.ts +5 -6
  161. package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -1
  162. package/dist/react/primitive-hooks/useActionBarCopy.d.ts +6 -8
  163. package/dist/react/primitive-hooks/useActionBarCopy.d.ts.map +1 -1
  164. package/dist/react/primitive-hooks/useActionBarEdit.d.ts +2 -4
  165. package/dist/react/primitive-hooks/useActionBarEdit.d.ts.map +1 -1
  166. package/dist/react/primitive-hooks/useActionBarFeedback.d.ts +4 -6
  167. package/dist/react/primitive-hooks/useActionBarFeedback.d.ts.map +1 -1
  168. package/dist/react/primitive-hooks/useActionBarReload.d.ts +2 -4
  169. package/dist/react/primitive-hooks/useActionBarReload.d.ts.map +1 -1
  170. package/dist/react/primitive-hooks/useActionBarSpeak.d.ts +2 -4
  171. package/dist/react/primitive-hooks/useActionBarSpeak.d.ts.map +1 -1
  172. package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts +2 -4
  173. package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts.map +1 -1
  174. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts +2 -4
  175. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts.map +1 -1
  176. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts +2 -4
  177. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts.map +1 -1
  178. package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts +3 -5
  179. package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts.map +1 -1
  180. package/dist/react/primitive-hooks/useComposerCancel.d.ts +2 -4
  181. package/dist/react/primitive-hooks/useComposerCancel.d.ts.map +1 -1
  182. package/dist/react/primitive-hooks/useComposerDictate.d.ts +2 -4
  183. package/dist/react/primitive-hooks/useComposerDictate.d.ts.map +1 -1
  184. package/dist/react/primitive-hooks/useComposerSend.d.ts +3 -5
  185. package/dist/react/primitive-hooks/useComposerSend.d.ts.map +1 -1
  186. package/dist/react/primitive-hooks/useEditComposerCancel.d.ts +1 -3
  187. package/dist/react/primitive-hooks/useEditComposerCancel.d.ts.map +1 -1
  188. package/dist/react/primitive-hooks/useEditComposerSend.d.ts +2 -4
  189. package/dist/react/primitive-hooks/useEditComposerSend.d.ts.map +1 -1
  190. package/dist/react/primitive-hooks/useMessageBranching.d.ts +4 -6
  191. package/dist/react/primitive-hooks/useMessageBranching.d.ts.map +1 -1
  192. package/dist/react/primitive-hooks/useMessageError.d.ts +0 -2
  193. package/dist/react/primitive-hooks/useMessageError.d.ts.map +1 -1
  194. package/dist/react/primitive-hooks/useMessageReload.d.ts +2 -4
  195. package/dist/react/primitive-hooks/useMessageReload.d.ts.map +1 -1
  196. package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts +6 -8
  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 +0 -2
  201. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts.map +1 -1
  202. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts +0 -2
  203. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts.map +1 -1
  204. package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts +1 -3
  205. package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts.map +1 -1
  206. package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts +1 -3
  207. package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts.map +1 -1
  208. package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts +1 -3
  209. package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts.map +1 -1
  210. package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts +1 -3
  211. package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts.map +1 -1
  212. package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts +2 -4
  213. package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts.map +1 -1
  214. package/dist/react/primitive-hooks/useThreadListNew.d.ts +1 -3
  215. package/dist/react/primitive-hooks/useThreadListNew.d.ts.map +1 -1
  216. package/dist/react/primitive-hooks/useThreadMessageIds.d.ts +0 -2
  217. package/dist/react/primitive-hooks/useThreadMessageIds.d.ts.map +1 -1
  218. package/dist/react/primitive-hooks/useThreadMessages.d.ts +1 -3
  219. package/dist/react/primitive-hooks/useThreadMessages.d.ts.map +1 -1
  220. package/dist/react/primitive-hooks/useVoice.d.ts +5 -7
  221. package/dist/react/primitive-hooks/useVoice.d.ts.map +1 -1
  222. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +25 -26
  223. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -1
  224. package/dist/react/primitives/composer/ComposerAttachments.d.ts +22 -23
  225. package/dist/react/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  226. package/dist/react/primitives/composer/ComposerIf.d.ts +10 -9
  227. package/dist/react/primitives/composer/ComposerIf.d.ts.map +1 -1
  228. package/dist/react/primitives/composer/ComposerQueue.d.ts +11 -14
  229. package/dist/react/primitives/composer/ComposerQueue.d.ts.map +1 -1
  230. package/dist/react/primitives/generativeUI/GenerativeUI.d.ts +26 -28
  231. package/dist/react/primitives/generativeUI/GenerativeUI.d.ts.map +1 -1
  232. package/dist/react/primitives/generativeUI/GenerativeUI.js +16 -6
  233. package/dist/react/primitives/generativeUI/GenerativeUI.js.map +1 -1
  234. package/dist/react/primitives/message/MessageAttachments.d.ts +26 -23
  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 +120 -117
  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 +199 -185
  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 +6 -8
  247. package/dist/react/primitives/message/MessageQuote.d.ts.map +1 -1
  248. package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts +2 -4
  249. package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  250. package/dist/react/primitives/part/PartMessages.d.ts +13 -15
  251. package/dist/react/primitives/part/PartMessages.d.ts.map +1 -1
  252. package/dist/react/primitives/thread/ThreadMessages.d.ts +54 -56
  253. package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -1
  254. package/dist/react/primitives/thread/ThreadSuggestions.d.ts +20 -21
  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 +22 -23
  259. package/dist/react/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  260. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts +4 -6
  261. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
  262. package/dist/react/providers/AttachmentByIndexProvider.d.ts +3 -5
  263. package/dist/react/providers/AttachmentByIndexProvider.d.ts.map +1 -1
  264. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts +3 -5
  265. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -1
  266. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts +2 -4
  267. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -1
  268. package/dist/react/providers/MessageByIdProvider.d.ts +2 -4
  269. package/dist/react/providers/MessageByIdProvider.d.ts.map +1 -1
  270. package/dist/react/providers/MessageByIndexProvider.d.ts +2 -4
  271. package/dist/react/providers/MessageByIndexProvider.d.ts.map +1 -1
  272. package/dist/react/providers/PartByIndexProvider.d.ts +2 -4
  273. package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -1
  274. package/dist/react/providers/QueueItemByIndexProvider.d.ts +2 -4
  275. package/dist/react/providers/QueueItemByIndexProvider.d.ts.map +1 -1
  276. package/dist/react/providers/ReadonlyThreadProvider.d.ts +5 -7
  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 +2 -4
  280. package/dist/react/providers/SuggestionByIndexProvider.d.ts.map +1 -1
  281. package/dist/react/providers/TextMessagePartProvider.d.ts +3 -5
  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 +3 -5
  286. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts.map +1 -1
  287. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts +3 -6
  288. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
  289. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +209 -219
  290. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  291. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +53 -39
  292. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
  293. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +185 -196
  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 +14 -19
  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 +8 -9
  302. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts.map +1 -1
  303. package/dist/react/runtimes/assistant-transport/commandQueue.d.ts +9 -11
  304. package/dist/react/runtimes/assistant-transport/commandQueue.d.ts.map +1 -1
  305. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts +4 -5
  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 +7 -9
  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 +106 -100
  314. package/dist/react/runtimes/assistant-transport/types.d.ts.map +1 -1
  315. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts +3 -5
  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 +2 -4
  320. package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts.map +1 -1
  321. package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts +1 -3
  322. package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts.map +1 -1
  323. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +5 -7
  324. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  325. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +410 -213
  326. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  327. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +14 -16
  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 +136 -123
  332. package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
  333. package/dist/react/runtimes/cloud/auiV0.js +60 -9
  334. package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
  335. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts +9 -10
  336. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts.map +1 -1
  337. package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts +4 -5
  338. package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts.map +1 -1
  339. package/dist/react/runtimes/cloud/sdkIdentity.d.ts +1 -3
  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 +2 -4
  343. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts.map +1 -1
  344. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts +8 -9
  345. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  346. package/dist/react/runtimes/createMessageConverter.d.ts +14 -17
  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 +11 -13
  350. package/dist/react/runtimes/createRuntimeExtras.d.ts.map +1 -1
  351. package/dist/react/runtimes/external-message-converter.d.ts +14 -18
  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 +2 -4
  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 +1 -3
  362. package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts.map +1 -1
  363. package/dist/react/runtimes/useLocalRuntime.d.ts +26 -37
  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 +2 -4
  368. package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
  369. package/dist/react/runtimes/useRuntimeAdapters.d.ts +1 -3
  370. package/dist/react/runtimes/useRuntimeAdapters.d.ts.map +1 -1
  371. package/dist/react/runtimes/useStreamingTiming.d.ts +3 -5
  372. package/dist/react/runtimes/useStreamingTiming.d.ts.map +1 -1
  373. package/dist/react/types/MessagePartComponentTypes.d.ts +46 -43
  374. package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -1
  375. package/dist/react/types/scopes/dataRenderers.d.ts +8 -11
  376. package/dist/react/types/scopes/dataRenderers.d.ts.map +1 -1
  377. package/dist/react/types/scopes/interactables.d.ts +50 -49
  378. package/dist/react/types/scopes/interactables.d.ts.map +1 -1
  379. package/dist/react/types/scopes/tools.d.ts +17 -19
  380. package/dist/react/types/scopes/tools.d.ts.map +1 -1
  381. package/dist/react/types/store-augmentation.d.ts +10 -11
  382. package/dist/react/types/store-augmentation.d.ts.map +1 -1
  383. package/dist/react/utils/getMessageQuote.d.ts +5 -6
  384. package/dist/react/utils/getMessageQuote.d.ts.map +1 -1
  385. package/dist/react/utils/groupParts.d.ts +28 -29
  386. package/dist/react/utils/groupParts.d.ts.map +1 -1
  387. package/dist/react/utils/useJSONEqual.d.ts +1 -3
  388. package/dist/react/utils/useJSONEqual.d.ts.map +1 -1
  389. package/dist/react/utils/useJSONSchemaDependency.d.ts +2 -4
  390. package/dist/react/utils/useJSONSchemaDependency.d.ts.map +1 -1
  391. package/dist/runtime/api/assistant-runtime.d.ts +26 -28
  392. package/dist/runtime/api/assistant-runtime.d.ts.map +1 -1
  393. package/dist/runtime/api/attachment-runtime.d.ts +46 -43
  394. package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
  395. package/dist/runtime/api/attachment-runtime.js.map +1 -1
  396. package/dist/runtime/api/bindings.d.ts +31 -30
  397. package/dist/runtime/api/bindings.d.ts.map +1 -1
  398. package/dist/runtime/api/composer-runtime.d.ts +207 -193
  399. package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
  400. package/dist/runtime/api/composer-runtime.js +4 -0
  401. package/dist/runtime/api/composer-runtime.js.map +1 -1
  402. package/dist/runtime/api/message-part-runtime.d.ts +28 -26
  403. package/dist/runtime/api/message-part-runtime.d.ts.map +1 -1
  404. package/dist/runtime/api/message-part-runtime.js +22 -0
  405. package/dist/runtime/api/message-part-runtime.js.map +1 -1
  406. package/dist/runtime/api/message-runtime.d.ts +87 -84
  407. package/dist/runtime/api/message-runtime.d.ts.map +1 -1
  408. package/dist/runtime/api/message-runtime.js +1 -1
  409. package/dist/runtime/api/message-runtime.js.map +1 -1
  410. package/dist/runtime/api/paths.d.ts +48 -50
  411. package/dist/runtime/api/paths.d.ts.map +1 -1
  412. package/dist/runtime/api/thread-list-item-runtime.d.ts +64 -66
  413. package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
  414. package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
  415. package/dist/runtime/api/thread-list-runtime.d.ts +73 -76
  416. package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
  417. package/dist/runtime/api/thread-list-runtime.js.map +1 -1
  418. package/dist/runtime/api/thread-runtime.d.ts +299 -300
  419. package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
  420. package/dist/runtime/api/thread-runtime.js +2 -1
  421. package/dist/runtime/api/thread-runtime.js.map +1 -1
  422. package/dist/runtime/base/base-assistant-runtime-core.d.ts +8 -10
  423. package/dist/runtime/base/base-assistant-runtime-core.d.ts.map +1 -1
  424. package/dist/runtime/base/base-composer-runtime-core.d.ts +149 -99
  425. package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
  426. package/dist/runtime/base/base-composer-runtime-core.js +400 -122
  427. package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
  428. package/dist/runtime/base/base-thread-runtime-core.d.ts +120 -108
  429. package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
  430. package/dist/runtime/base/base-thread-runtime-core.js +109 -41
  431. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  432. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts +29 -29
  433. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts.map +1 -1
  434. package/dist/runtime/base/default-edit-composer-runtime-core.js +10 -1
  435. package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
  436. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +27 -29
  437. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
  438. package/dist/runtime/base/default-thread-composer-runtime-core.js +21 -6
  439. package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
  440. package/dist/runtime/branch/external-thread-branch-adapter.d.ts +14 -16
  441. package/dist/runtime/branch/external-thread-branch-adapter.d.ts.map +1 -1
  442. package/dist/runtime/interfaces/assistant-runtime-core.d.ts +7 -9
  443. package/dist/runtime/interfaces/assistant-runtime-core.d.ts.map +1 -1
  444. package/dist/runtime/interfaces/composer-runtime-core.d.ts +88 -72
  445. package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
  446. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +63 -65
  447. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
  448. package/dist/runtime/interfaces/thread-runtime-core.d.ts +210 -197
  449. package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
  450. package/dist/runtime/internal.d.ts +25 -20
  451. package/dist/runtime/internal.d.ts.map +1 -0
  452. package/dist/runtime/queue/external-thread-queue-adapter.d.ts +35 -37
  453. package/dist/runtime/queue/external-thread-queue-adapter.d.ts.map +1 -1
  454. package/dist/runtime/queue/message-queue.d.ts +29 -31
  455. package/dist/runtime/queue/message-queue.d.ts.map +1 -1
  456. package/dist/runtime/queue/message-queue.js +1 -1
  457. package/dist/runtime/queue/queue-item.d.ts +5 -7
  458. package/dist/runtime/queue/queue-item.d.ts.map +1 -1
  459. package/dist/runtime/utils/abortable-thread-load.d.ts +7 -8
  460. package/dist/runtime/utils/abortable-thread-load.d.ts.map +1 -1
  461. package/dist/runtime/utils/attachment-add-operations.d.ts +13 -11
  462. package/dist/runtime/utils/attachment-add-operations.d.ts.map +1 -1
  463. package/dist/runtime/utils/attachment-add-operations.js +24 -2
  464. package/dist/runtime/utils/attachment-add-operations.js.map +1 -1
  465. package/dist/runtime/utils/attachment-send-operations.d.ts +12 -0
  466. package/dist/runtime/utils/attachment-send-operations.d.ts.map +1 -0
  467. package/dist/runtime/utils/attachment-send-operations.js +34 -0
  468. package/dist/runtime/utils/attachment-send-operations.js.map +1 -0
  469. package/dist/runtime/utils/auto-status.d.ts +4 -5
  470. package/dist/runtime/utils/auto-status.d.ts.map +1 -1
  471. package/dist/runtime/utils/auto-status.js +3 -5
  472. package/dist/runtime/utils/auto-status.js.map +1 -1
  473. package/dist/runtime/utils/chat-model-adapter.d.ts +26 -27
  474. package/dist/runtime/utils/chat-model-adapter.d.ts.map +1 -1
  475. package/dist/runtime/utils/external-message-conversion.d.ts +32 -32
  476. package/dist/runtime/utils/external-message-conversion.d.ts.map +1 -1
  477. package/dist/runtime/utils/external-message-conversion.js +3 -3
  478. package/dist/runtime/utils/external-message-conversion.js.map +1 -1
  479. package/dist/runtime/utils/external-store-message.d.ts +2 -4
  480. package/dist/runtime/utils/external-store-message.d.ts.map +1 -1
  481. package/dist/runtime/utils/message-repository-session.d.ts +21 -23
  482. package/dist/runtime/utils/message-repository-session.d.ts.map +1 -1
  483. package/dist/runtime/utils/message-repository.d.ts +50 -51
  484. package/dist/runtime/utils/message-repository.d.ts.map +1 -1
  485. package/dist/runtime/utils/message-repository.js +8 -7
  486. package/dist/runtime/utils/message-repository.js.map +1 -1
  487. package/dist/runtime/utils/pending-tool-calls.d.ts +10 -11
  488. package/dist/runtime/utils/pending-tool-calls.d.ts.map +1 -1
  489. package/dist/runtime/utils/resolveToolApprovalResponse.d.ts +6 -8
  490. package/dist/runtime/utils/resolveToolApprovalResponse.d.ts.map +1 -1
  491. package/dist/runtime/utils/runtime-extras-brand.d.ts +4 -6
  492. package/dist/runtime/utils/runtime-extras-brand.d.ts.map +1 -1
  493. package/dist/runtime/utils/stored-message-parts.d.ts +5 -5
  494. package/dist/runtime/utils/stored-message-parts.d.ts.map +1 -1
  495. package/dist/runtime/utils/stored-message-parts.js +22 -2
  496. package/dist/runtime/utils/stored-message-parts.js.map +1 -1
  497. package/dist/runtime/utils/streaming-timing.d.ts +19 -21
  498. package/dist/runtime/utils/streaming-timing.d.ts.map +1 -1
  499. package/dist/runtime/utils/thread-message-like.d.ts +36 -32
  500. package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
  501. package/dist/runtime/utils/thread-message-like.js +16 -6
  502. package/dist/runtime/utils/thread-message-like.js.map +1 -1
  503. package/dist/runtime/utils/thread-runtime-lifecycle.d.ts +4 -5
  504. package/dist/runtime/utils/thread-runtime-lifecycle.d.ts.map +1 -1
  505. package/dist/runtime/utils/thread-runtime-lifecycle.js +31 -4
  506. package/dist/runtime/utils/thread-runtime-lifecycle.js.map +1 -1
  507. package/dist/runtime/utils/tool-call-tree.d.ts +6 -8
  508. package/dist/runtime/utils/tool-call-tree.d.ts.map +1 -1
  509. package/dist/runtime/utils/tool-interactions.d.ts +10 -0
  510. package/dist/runtime/utils/tool-interactions.d.ts.map +1 -0
  511. package/dist/runtime/utils/tool-interactions.js +92 -0
  512. package/dist/runtime/utils/tool-interactions.js.map +1 -0
  513. package/dist/runtimes/assistant-transport/utils.d.ts +0 -2
  514. package/dist/runtimes/assistant-transport/utils.d.ts.map +1 -1
  515. package/dist/runtimes/external-store/external-store-adapter.d.ts +215 -198
  516. package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
  517. package/dist/runtimes/external-store/external-store-runtime-core.d.ts +5 -6
  518. package/dist/runtimes/external-store/external-store-runtime-core.d.ts.map +1 -1
  519. package/dist/runtimes/external-store/external-store-runtime-core.js +4 -1
  520. package/dist/runtimes/external-store/external-store-runtime-core.js.map +1 -1
  521. package/dist/runtimes/external-store/external-store-shared-options.d.ts +1 -3
  522. package/dist/runtimes/external-store/external-store-shared-options.d.ts.map +1 -1
  523. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts +38 -40
  524. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
  525. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js +2 -2
  526. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
  527. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +117 -124
  528. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
  529. package/dist/runtimes/external-store/external-store-thread-runtime-core.js +44 -14
  530. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  531. package/dist/runtimes/external-store/thread-message-converter.d.ts +3 -5
  532. package/dist/runtimes/external-store/thread-message-converter.d.ts.map +1 -1
  533. package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts +94 -95
  534. package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts.map +1 -1
  535. package/dist/runtimes/inert/InertThreadRuntimeCore.js +3 -0
  536. package/dist/runtimes/inert/InertThreadRuntimeCore.js.map +1 -1
  537. package/dist/runtimes/internal.d.ts +20 -16
  538. package/dist/runtimes/internal.d.ts.map +1 -0
  539. package/dist/runtimes/local/local-runtime-core.d.ts +6 -8
  540. package/dist/runtimes/local/local-runtime-core.d.ts.map +1 -1
  541. package/dist/runtimes/local/local-runtime-options.d.ts +40 -42
  542. package/dist/runtimes/local/local-runtime-options.d.ts.map +1 -1
  543. package/dist/runtimes/local/local-thread-list-runtime-core.d.ts +40 -42
  544. package/dist/runtimes/local/local-thread-list-runtime-core.d.ts.map +1 -1
  545. package/dist/runtimes/local/local-thread-runtime-core.d.ts +93 -97
  546. package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
  547. package/dist/runtimes/local/local-thread-runtime-core.js +178 -31
  548. package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
  549. package/dist/runtimes/local/should-continue.d.ts +1 -3
  550. package/dist/runtimes/local/should-continue.d.ts.map +1 -1
  551. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +76 -53
  552. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
  553. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js +28 -1
  554. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js.map +1 -1
  555. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +11 -13
  556. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -1
  557. package/dist/runtimes/remote-thread-list/adapter-changed.d.ts +2 -4
  558. package/dist/runtimes/remote-thread-list/adapter-changed.d.ts.map +1 -1
  559. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts +1 -3
  560. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
  561. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts +33 -29
  562. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts.map +1 -1
  563. package/dist/runtimes/remote-thread-list/optimistic-state.js +8 -3
  564. package/dist/runtimes/remote-thread-list/optimistic-state.js.map +1 -1
  565. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts +44 -46
  566. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts.map +1 -1
  567. package/dist/runtimes/remote-thread-list/remote-thread-state.js +1 -1
  568. package/dist/runtimes/remote-thread-list/title-generation.d.ts +25 -26
  569. package/dist/runtimes/remote-thread-list/title-generation.d.ts.map +1 -1
  570. package/dist/runtimes/remote-thread-list/title.d.ts +3 -5
  571. package/dist/runtimes/remote-thread-list/title.d.ts.map +1 -1
  572. package/dist/runtimes/remote-thread-list/types.d.ts +111 -112
  573. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  574. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts +144 -145
  575. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts.map +1 -1
  576. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js +22 -7
  577. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
  578. package/dist/store/clients/chain-of-thought-client.d.ts +7 -9
  579. package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
  580. package/dist/store/clients/external-thread.d.ts +53 -54
  581. package/dist/store/clients/external-thread.d.ts.map +1 -1
  582. package/dist/store/clients/external-thread.js +1256 -731
  583. package/dist/store/clients/external-thread.js.map +1 -1
  584. package/dist/store/clients/model-context-client.d.ts +1 -3
  585. package/dist/store/clients/model-context-client.d.ts.map +1 -1
  586. package/dist/store/clients/no-op-composer-client.d.ts +2 -4
  587. package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
  588. package/dist/store/clients/no-op-composer-client.js +3 -1
  589. package/dist/store/clients/no-op-composer-client.js.map +1 -1
  590. package/dist/store/clients/runtime-adapter.d.ts +1 -3
  591. package/dist/store/clients/runtime-adapter.d.ts.map +1 -1
  592. package/dist/store/clients/single-thread-list.d.ts +3 -4
  593. package/dist/store/clients/single-thread-list.d.ts.map +1 -1
  594. package/dist/store/clients/submission-message.d.ts +8 -0
  595. package/dist/store/clients/submission-message.d.ts.map +1 -0
  596. package/dist/store/clients/submission-message.js +22 -0
  597. package/dist/store/clients/submission-message.js.map +1 -0
  598. package/dist/store/clients/suggestions.d.ts +5 -7
  599. package/dist/store/clients/suggestions.d.ts.map +1 -1
  600. package/dist/store/clients/thread-message-client.d.ts +10 -9
  601. package/dist/store/clients/thread-message-client.d.ts.map +1 -1
  602. package/dist/store/clients/thread-message-client.js +81 -82
  603. package/dist/store/clients/thread-message-client.js.map +1 -1
  604. package/dist/store/clients/thread-selection-events.d.ts +0 -2
  605. package/dist/store/clients/thread-selection-events.d.ts.map +1 -1
  606. package/dist/store/clients/thread-tasks.d.ts +4 -6
  607. package/dist/store/clients/thread-tasks.d.ts.map +1 -1
  608. package/dist/store/env.d.ts +0 -2
  609. package/dist/store/env.d.ts.map +1 -1
  610. package/dist/store/index.d.ts +33 -36
  611. package/dist/store/index.d.ts.map +1 -0
  612. package/dist/store/index.js +5 -5
  613. package/dist/store/internal.d.ts +12 -12
  614. package/dist/store/internal.d.ts.map +1 -0
  615. package/dist/store/internal.js +2 -2
  616. package/dist/store/primitive-predicates.d.ts +3 -4
  617. package/dist/store/primitive-predicates.d.ts.map +1 -1
  618. package/dist/store/primitive-predicates.js +9 -4
  619. package/dist/store/primitive-predicates.js.map +1 -1
  620. package/dist/store/runtime-clients/attachment-runtime-client.d.ts +3 -5
  621. package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
  622. package/dist/store/runtime-clients/composer-runtime-client.d.ts +10 -12
  623. package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
  624. package/dist/store/runtime-clients/composer-runtime-client.js +65 -62
  625. package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
  626. package/dist/store/runtime-clients/handle-runtime-action.d.ts +0 -2
  627. package/dist/store/runtime-clients/handle-runtime-action.d.ts.map +1 -1
  628. package/dist/store/runtime-clients/handle-thread-list-action.d.ts +0 -2
  629. package/dist/store/runtime-clients/handle-thread-list-action.d.ts.map +1 -1
  630. package/dist/store/runtime-clients/liveRef.d.ts +1 -3
  631. package/dist/store/runtime-clients/liveRef.d.ts.map +1 -1
  632. package/dist/store/runtime-clients/message-part-runtime-client.d.ts +3 -5
  633. package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
  634. package/dist/store/runtime-clients/message-part-runtime-client.js +26 -16
  635. package/dist/store/runtime-clients/message-part-runtime-client.js.map +1 -1
  636. package/dist/store/runtime-clients/message-runtime-client.d.ts +9 -9
  637. package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
  638. package/dist/store/runtime-clients/message-runtime-client.js +121 -113
  639. package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
  640. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts +4 -6
  641. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
  642. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts +5 -7
  643. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
  644. package/dist/store/runtime-clients/thread-runtime-client.d.ts +3 -5
  645. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  646. package/dist/store/runtime-clients/thread-runtime-client.js +221 -158
  647. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  648. package/dist/store/runtime-clients/useSubscribable.d.ts +2 -4
  649. package/dist/store/runtime-clients/useSubscribable.d.ts.map +1 -1
  650. package/dist/store/scope-registration.d.ts +28 -29
  651. package/dist/store/scope-registration.d.ts.map +1 -1
  652. package/dist/store/scopes/attachment.d.ts +15 -17
  653. package/dist/store/scopes/attachment.d.ts.map +1 -1
  654. package/dist/store/scopes/chain-of-thought.d.ts +28 -29
  655. package/dist/store/scopes/chain-of-thought.d.ts.map +1 -1
  656. package/dist/store/scopes/composer.d.ts +141 -128
  657. package/dist/store/scopes/composer.d.ts.map +1 -1
  658. package/dist/store/scopes/message.d.ts +114 -107
  659. package/dist/store/scopes/message.d.ts.map +1 -1
  660. package/dist/store/scopes/model-context.d.ts +7 -9
  661. package/dist/store/scopes/model-context.d.ts.map +1 -1
  662. package/dist/store/scopes/part.d.ts +49 -45
  663. package/dist/store/scopes/part.d.ts.map +1 -1
  664. package/dist/store/scopes/queue-item.d.ts +18 -20
  665. package/dist/store/scopes/queue-item.d.ts.map +1 -1
  666. package/dist/store/scopes/suggestion.d.ts +10 -12
  667. package/dist/store/scopes/suggestion.d.ts.map +1 -1
  668. package/dist/store/scopes/suggestions.d.ts +13 -15
  669. package/dist/store/scopes/suggestions.d.ts.map +1 -1
  670. package/dist/store/scopes/task.d.ts +23 -25
  671. package/dist/store/scopes/task.d.ts.map +1 -1
  672. package/dist/store/scopes/thread-list-item.d.ts +63 -65
  673. package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
  674. package/dist/store/scopes/thread.d.ts +192 -194
  675. package/dist/store/scopes/thread.d.ts.map +1 -1
  676. package/dist/store/scopes/threads.d.ts +45 -47
  677. package/dist/store/scopes/threads.d.ts.map +1 -1
  678. package/dist/subscribable/subscribable.d.ts +58 -53
  679. package/dist/subscribable/subscribable.d.ts.map +1 -1
  680. package/dist/subscribable/subscribable.js +35 -7
  681. package/dist/subscribable/subscribable.js.map +1 -1
  682. package/dist/types/attachment.d.ts +26 -27
  683. package/dist/types/attachment.d.ts.map +1 -1
  684. package/dist/types/augmentations.d.ts +4 -4
  685. package/dist/types/augmentations.d.ts.map +1 -1
  686. package/dist/types/directive.d.ts +11 -13
  687. package/dist/types/directive.d.ts.map +1 -1
  688. package/dist/types/error.d.ts +7 -8
  689. package/dist/types/error.d.ts.map +1 -1
  690. package/dist/types/index.d.ts +7 -7
  691. package/dist/types/index.d.ts.map +1 -0
  692. package/dist/types/message.d.ts +322 -284
  693. package/dist/types/message.d.ts.map +1 -1
  694. package/dist/types/message.js.map +1 -1
  695. package/dist/types/quote.d.ts +2 -4
  696. package/dist/types/quote.d.ts.map +1 -1
  697. package/dist/types/trigger.d.ts +8 -10
  698. package/dist/types/trigger.d.ts.map +1 -1
  699. package/dist/types/unsubscribe.d.ts +0 -2
  700. package/dist/types/unsubscribe.d.ts.map +1 -1
  701. package/dist/utils/abortable-iterable.d.ts +0 -2
  702. package/dist/utils/abortable-iterable.d.ts.map +1 -1
  703. package/dist/utils/composite-context-provider.d.ts +8 -11
  704. package/dist/utils/composite-context-provider.d.ts.map +1 -1
  705. package/dist/utils/data-url.d.ts +10 -12
  706. package/dist/utils/data-url.d.ts.map +1 -1
  707. package/dist/utils/getGroupStatus.d.ts +17 -18
  708. package/dist/utils/getGroupStatus.d.ts.map +1 -1
  709. package/dist/utils/id.d.ts +0 -2
  710. package/dist/utils/id.d.ts.map +1 -1
  711. package/dist/utils/image-media-type.d.ts +0 -2
  712. package/dist/utils/image-media-type.d.ts.map +1 -1
  713. package/dist/utils/invoke-user-callback.d.ts +0 -2
  714. package/dist/utils/invoke-user-callback.d.ts.map +1 -1
  715. package/dist/utils/json/is-json-equal.d.ts +0 -2
  716. package/dist/utils/json/is-json-equal.d.ts.map +1 -1
  717. package/dist/utils/json/is-json.d.ts +1 -3
  718. package/dist/utils/json/is-json.d.ts.map +1 -1
  719. package/dist/utils/json/stable-stringify-tool-args.d.ts +1 -3
  720. package/dist/utils/json/stable-stringify-tool-args.d.ts.map +1 -1
  721. package/dist/utils/normalizePartStatus.d.ts +2 -3
  722. package/dist/utils/normalizePartStatus.d.ts.map +1 -1
  723. package/dist/utils/normalizePartStatus.js +3 -2
  724. package/dist/utils/normalizePartStatus.js.map +1 -1
  725. package/dist/utils/notify-event-listeners.d.ts +1 -2
  726. package/dist/utils/notify-event-listeners.d.ts.map +1 -1
  727. package/dist/utils/record.d.ts +0 -2
  728. package/dist/utils/record.d.ts.map +1 -1
  729. package/dist/utils/silent-runtime-action.d.ts +0 -2
  730. package/dist/utils/silent-runtime-action.d.ts.map +1 -1
  731. package/dist/utils/text.d.ts +1 -3
  732. package/dist/utils/text.d.ts.map +1 -1
  733. package/dist/utils/wire-media.d.ts +0 -2
  734. package/dist/utils/wire-media.d.ts.map +1 -1
  735. package/package.json +11 -10
  736. package/src/adapters/attachment.test.ts +98 -1
  737. package/src/adapters/attachment.ts +70 -20
  738. package/src/adapters/speech.test.ts +94 -0
  739. package/src/adapters/speech.ts +16 -2
  740. package/src/adapters/thread-history.ts +16 -5
  741. package/src/adapters/voice.test.ts +169 -0
  742. package/src/adapters/voice.ts +25 -4
  743. package/src/index.ts +14 -2
  744. package/src/internal.ts +7 -0
  745. package/src/model-context/frame/host.test.ts +51 -1
  746. package/src/model-context/frame/host.ts +3 -1
  747. package/src/model-context/frame/provider.test.ts +61 -0
  748. package/src/model-context/frame/provider.ts +8 -1
  749. package/src/model-context/frame/validate.ts +57 -0
  750. package/src/model-context/interactable-composer-metadata.test.ts +82 -0
  751. package/src/model-context/interactable-composer-metadata.ts +45 -2
  752. package/src/react/adapters/LocalStorageThreadListAdapter.test.ts +594 -0
  753. package/src/react/adapters/LocalStorageThreadListAdapter.tsx +98 -35
  754. package/src/react/client/Interactables.test.ts +853 -1
  755. package/src/react/client/Interactables.ts +325 -45
  756. package/src/react/client/RemoteThreadList.initialize-failure.test.ts +124 -0
  757. package/src/react/client/RemoteThreadList.ts +6 -0
  758. package/src/react/client/Tools.ts +2 -3
  759. package/src/react/client/interactable-model-context.test.ts +56 -13
  760. package/src/react/client/interactable-model-context.ts +48 -23
  761. package/src/react/index.ts +2 -2
  762. package/src/react/interactables-legacy/Interactables.test.ts +212 -1
  763. package/src/react/interactables-legacy/Interactables.ts +25 -14
  764. package/src/react/interactables-legacy/interactable-model-context.ts +26 -24
  765. package/src/react/interactables-shared/useInteractablePersistenceQueue.test.tsx +22 -2
  766. package/src/react/interactables-shared/useInteractablePersistenceQueue.ts +63 -11
  767. package/src/react/primitive-hooks/useSuggestionTrigger.test.ts +33 -0
  768. package/src/react/primitive-hooks/useSuggestionTrigger.ts +7 -4
  769. package/src/react/primitives/generativeUI/GenerativeUI.test.tsx +124 -8
  770. package/src/react/primitives/generativeUI/GenerativeUI.tsx +35 -15
  771. package/src/react/primitives/message/MessageAttachments.test.tsx +2 -6
  772. package/src/react/primitives/message/MessageAttachments.tsx +14 -8
  773. package/src/react/primitives/message/MessageGroupedParts.test.tsx +151 -7
  774. package/src/react/primitives/message/MessageGroupedParts.tsx +19 -6
  775. package/src/react/primitives/message/MessageParts.test.tsx +84 -0
  776. package/src/react/primitives/message/MessageParts.tool-interaction.test.tsx +69 -0
  777. package/src/react/primitives/message/MessageParts.tsx +29 -8
  778. package/src/react/primitives/thread/ThreadSuggestions.test.tsx +97 -0
  779. package/src/react/primitives/thread/ThreadSuggestions.tsx +29 -6
  780. package/src/react/providers/ReadonlyThreadProvider.tsx +2 -2
  781. package/src/react/providers/TextMessagePartProvider.tsx +3 -0
  782. package/src/react/runtimes/RemoteThreadListHookInstanceManager.running.test.tsx +93 -0
  783. package/src/react/runtimes/RemoteThreadListHookInstanceManager.test.tsx +160 -3
  784. package/src/react/runtimes/RemoteThreadListHookInstanceManager.title.test.tsx +38 -0
  785. package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +73 -53
  786. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +19 -3
  787. package/src/react/runtimes/RemoteThreadResource.ts +5 -2
  788. package/src/react/runtimes/assistant-transport/replayBoundaryStream.test.ts +3 -1
  789. package/src/react/runtimes/assistant-transport/replayBoundaryStream.ts +10 -2
  790. package/src/react/runtimes/assistant-transport/runManager.ts +3 -0
  791. package/src/react/runtimes/assistant-transport/transport-parentid.test.tsx +57 -0
  792. package/src/react/runtimes/assistant-transport/transport-thread-id.test.tsx +571 -0
  793. package/src/react/runtimes/assistant-transport/types.ts +9 -1
  794. package/src/react/runtimes/assistant-transport/useAssistantTransport.spec.md +10 -0
  795. package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.test.tsx +42 -0
  796. package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.ts +33 -9
  797. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.copy.integration.test.tsx +289 -0
  798. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.copy.test.tsx +471 -0
  799. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.engagement.test.tsx +330 -0
  800. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.ts +78 -2
  801. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +361 -2
  802. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +571 -216
  803. package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.test.ts +25 -0
  804. package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.ts +7 -3
  805. package/src/react/runtimes/cloud/auiV0.ts +158 -9
  806. package/src/react/runtimes/cloud/auiV0DecodeSafely.test.ts +352 -1
  807. package/src/react/runtimes/createMessageConverter.ts +9 -3
  808. package/src/react/runtimes/external-store-history-copy.ts +223 -0
  809. package/src/react/runtimes/useExternalStoreRuntime.history-copy.test.tsx +483 -0
  810. package/src/react/runtimes/useExternalStoreRuntime.lifecycle.test.tsx +76 -1
  811. package/src/react/runtimes/useExternalStoreRuntime.ts +25 -5
  812. package/src/react/runtimes/useLocalRuntime.test.tsx +145 -1
  813. package/src/react/runtimes/useLocalRuntime.ts +8 -5
  814. package/src/react/types/MessagePartComponentTypes.ts +10 -0
  815. package/src/react/types/scopes/interactables.ts +3 -0
  816. package/src/runtime/api/attachment-runtime.ts +10 -5
  817. package/src/runtime/api/bindings.ts +6 -1
  818. package/src/runtime/api/composer-runtime.ts +29 -6
  819. package/src/runtime/api/message-part-runtime.test.ts +215 -0
  820. package/src/runtime/api/message-part-runtime.ts +40 -0
  821. package/src/runtime/api/message-runtime.test.ts +112 -2
  822. package/src/runtime/api/message-runtime.ts +10 -5
  823. package/src/runtime/api/thread-list-item-runtime.ts +5 -5
  824. package/src/runtime/api/thread-list-runtime.ts +3 -3
  825. package/src/runtime/api/thread-runtime.test.ts +59 -0
  826. package/src/runtime/api/thread-runtime.ts +21 -11
  827. package/src/runtime/base/base-composer-runtime-core.ts +548 -153
  828. package/src/runtime/base/base-thread-runtime-core.test.ts +744 -9
  829. package/src/runtime/base/base-thread-runtime-core.ts +154 -27
  830. package/src/runtime/base/default-edit-composer-runtime-core.ts +13 -1
  831. package/src/runtime/base/default-thread-composer-runtime-core.ts +29 -10
  832. package/src/runtime/interfaces/composer-runtime-core.ts +19 -0
  833. package/src/runtime/interfaces/thread-runtime-core.ts +22 -1
  834. package/src/runtime/utils/attachment-add-operations.ts +45 -2
  835. package/src/runtime/utils/attachment-send-operations.ts +54 -0
  836. package/src/runtime/utils/auto-status.test.ts +54 -0
  837. package/src/runtime/utils/auto-status.ts +3 -10
  838. package/src/runtime/utils/external-message-conversion.test.ts +48 -0
  839. package/src/runtime/utils/external-message-conversion.ts +3 -4
  840. package/src/runtime/utils/message-repository.test.ts +69 -1
  841. package/src/runtime/utils/message-repository.ts +14 -7
  842. package/src/runtime/utils/stored-message-parts.ts +43 -1
  843. package/src/runtime/utils/thread-message-like.test.ts +58 -0
  844. package/src/runtime/utils/thread-message-like.ts +72 -46
  845. package/src/runtime/utils/thread-runtime-lifecycle.test.ts +67 -0
  846. package/src/runtime/utils/thread-runtime-lifecycle.ts +42 -8
  847. package/src/runtime/utils/tool-interactions.test.ts +193 -0
  848. package/src/runtime/utils/tool-interactions.ts +147 -0
  849. package/src/runtimes/external-store/external-store-adapter.ts +22 -1
  850. package/src/runtimes/external-store/external-store-runtime-core.ts +10 -2
  851. package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +2 -2
  852. package/src/runtimes/external-store/external-store-thread-runtime-core.test.ts +49 -0
  853. package/src/runtimes/external-store/external-store-thread-runtime-core.ts +76 -29
  854. package/src/runtimes/inert/InertThreadRuntimeCore.test.ts +127 -56
  855. package/src/runtimes/inert/InertThreadRuntimeCore.ts +10 -1
  856. package/src/runtimes/local/local-thread-runtime-core.edit-cancellation.test.ts +70 -0
  857. package/src/runtimes/local/local-thread-runtime-core.test.ts +1649 -108
  858. package/src/runtimes/local/local-thread-runtime-core.ts +301 -47
  859. package/src/runtimes/readonly/ReadonlyThreadRuntimeCore.ts +53 -1
  860. package/src/runtimes/remote-thread-list/optimistic-state.ts +8 -3
  861. package/src/runtimes/tool-invocations/EDGE_CASES.md +19 -4
  862. package/src/runtimes/tool-invocations/ToolInvocationTracker.test.ts +392 -39
  863. package/src/runtimes/tool-invocations/ToolInvocationTracker.ts +31 -8
  864. package/src/store/clients/external-thread.test.ts +145 -0
  865. package/src/store/clients/external-thread.ts +635 -131
  866. package/src/store/clients/model-context-client.test.ts +8 -8
  867. package/src/store/clients/no-op-composer-client.ts +2 -0
  868. package/src/store/clients/submission-message.ts +27 -0
  869. package/src/store/clients/thread-message-client.test.ts +39 -0
  870. package/src/store/clients/thread-message-client.ts +13 -6
  871. package/src/store/index.ts +2 -2
  872. package/src/store/internal.ts +1 -0
  873. package/src/store/primitive-predicates.test.ts +103 -0
  874. package/src/store/primitive-predicates.ts +15 -3
  875. package/src/store/runtime-clients/composer-runtime-client.ts +4 -3
  876. package/src/store/runtime-clients/message-part-runtime-client.test.ts +42 -0
  877. package/src/store/runtime-clients/message-part-runtime-client.ts +4 -0
  878. package/src/store/runtime-clients/message-runtime-client.ts +5 -0
  879. package/src/store/runtime-clients/thread-runtime-client.test.tsx +138 -5
  880. package/src/store/runtime-clients/thread-runtime-client.ts +46 -9
  881. package/src/store/scopes/composer.ts +22 -4
  882. package/src/store/scopes/message.ts +8 -0
  883. package/src/store/scopes/part.ts +8 -0
  884. package/src/subscribable/subscribable.test.ts +198 -1
  885. package/src/subscribable/subscribable.ts +49 -7
  886. package/src/tests/RemoteThreadListThreadListRuntimeCore-errors.test.ts +95 -1
  887. package/src/tests/auiV0Encode.test.ts +408 -1
  888. package/src/tests/base-composer-runtime-core-send.test.ts +722 -29
  889. package/src/tests/base-composer-runtime-core.test.ts +196 -0
  890. package/src/tests/composer-can-send.test.ts +98 -1
  891. package/src/tests/composer-submission.test.tsx +796 -0
  892. package/src/tests/default-edit-composer-runtime-core.test.ts +102 -2
  893. package/src/tests/external-store-thread-list-runtime-core.test.ts +111 -0
  894. package/src/tests/external-store-thread-runtime-core-adapter.test.ts +581 -1
  895. package/src/tests/external-store-thread-runtime-core.test.ts +186 -0
  896. package/src/tests/external-thread-attachments.test.tsx +741 -3
  897. package/src/tests/external-thread-isLast.test.tsx +69 -0
  898. package/src/tests/get-thread-state-isRunning.test.ts +2 -2
  899. package/src/tests/remote-thread-list-adapter-switch.test.ts +45 -1
  900. package/src/types/message.ts +49 -2
  901. package/src/utils/normalizePartStatus.ts +14 -1
  902. package/dist/tests/remote-thread-list-test-helpers.d.ts +0 -15
  903. package/dist/tests/remote-thread-list-test-helpers.d.ts.map +0 -1
  904. package/dist/tests/remote-thread-list-test-helpers.js +0 -59
  905. package/dist/tests/remote-thread-list-test-helpers.js.map +0 -1
@@ -1,8 +1,9 @@
1
+ import { generateId } from "../../utils/id.js";
1
2
  import { nullProtoRecord } from "../../utils/record.js";
2
3
  import { isRecord } from "../../utils/json/is-json.js";
3
4
  import { interactableToolName, shallowMergeInteractableState } from "../../model-context/interactable-composer-metadata.js";
4
- import { generateId } from "../../utils/id.js";
5
5
  import "assistant-stream";
6
+ import { getPartialJsonObjectMeta } from "assistant-stream/utils";
6
7
  //#region src/react/client/interactable-model-context.ts
7
8
  const ID_PROPERTY = {
8
9
  type: "string",
@@ -63,21 +64,22 @@ const idKeyedArrayFieldNames = (properties) => {
63
64
  };
64
65
  const withArrayUpdateSchemas = (properties) => Object.fromEntries(Object.entries(properties).map(([key, value]) => [key, toArrayUpdateSchema(value, key)]));
65
66
  /**
66
- * Wraps an interactable's partial state schema with the required `id`
67
- * parameter. Falls back to a permissive schema when the partial conversion
68
- * failed at registration time.
67
+ * Replaces the state schema's root `required` list with the `id` parameter,
68
+ * so every top-level field is optional while nested objects keep theirs and
69
+ * travel whole through the shallow merge. Falls back to a permissive schema
70
+ * when the JSON Schema conversion failed at registration time.
69
71
  */
70
- function withRequiredId(partial) {
71
- if (!partial || typeof partial !== "object" || partial.type !== "object") return {
72
+ function withRequiredId(schema) {
73
+ if (!schema || typeof schema !== "object" || schema.type !== "object") return {
72
74
  type: "object",
73
75
  properties: { id: ID_PROPERTY },
74
76
  required: ["id"],
75
77
  additionalProperties: true
76
78
  };
77
- if (process.env.NODE_ENV !== "production" && partial.properties?.id) console.warn("[Interactables] a top-level \"id\" field in an interactable's stateSchema is reserved for instance addressing by the update tool and cannot be updated by the model. Rename the field to make it model-writable.");
78
- const { id: _reserved, ...properties } = partial.properties ?? {};
79
+ if (process.env.NODE_ENV !== "production" && schema.properties?.id) console.warn("[Interactables] a top-level \"id\" field in an interactable's stateSchema is reserved for instance addressing by the update tool and cannot be updated by the model. Rename the field to make it model-writable.");
80
+ const { id: _reserved, ...properties } = schema.properties ?? {};
79
81
  return {
80
- ...partial,
82
+ ...schema,
81
83
  properties: {
82
84
  id: ID_PROPERTY,
83
85
  ...withArrayUpdateSchemas(properties)
@@ -85,7 +87,7 @@ function withRequiredId(partial) {
85
87
  required: ["id"]
86
88
  };
87
89
  }
88
- function buildInteractableModelContext(definitions, partialSchemaCache, setDefState, streamBaselines = /* @__PURE__ */ new Map()) {
90
+ function buildInteractableModelContext(definitions, schemaCache, setDefState, getCurrentDefinitions, streamBaselines = /* @__PURE__ */ new Map()) {
89
91
  const entries = Object.values(definitions);
90
92
  if (entries.length === 0) return void 0;
91
93
  const byName = /* @__PURE__ */ new Map();
@@ -102,8 +104,8 @@ function buildInteractableModelContext(definitions, partialSchemaCache, setDefSt
102
104
  continue;
103
105
  }
104
106
  const first = instances[0];
105
- const partialSchema = partialSchemaCache.get(first.id);
106
- const idKeyedFields = partialSchema && isRecord(partialSchema.properties) ? idKeyedArrayFieldNames(partialSchema.properties) : /* @__PURE__ */ new Set();
107
+ const jsonSchema = schemaCache.get(first.id);
108
+ const idKeyedFields = jsonSchema && isRecord(jsonSchema.properties) ? idKeyedArrayFieldNames(jsonSchema.properties) : /* @__PURE__ */ new Set();
107
109
  const resolveTarget = (id) => {
108
110
  if (typeof id === "string") {
109
111
  const def = definitions[id];
@@ -113,8 +115,8 @@ function buildInteractableModelContext(definitions, partialSchemaCache, setDefSt
113
115
  };
114
116
  tools[toolName] = {
115
117
  type: "frontend",
116
- description: `Update the state of interactable component "${name}". ${first.description} Pass the id of the instance to update — instance ids and current state appear in the conversation as state snapshots. Only include the fields you want to change; omitted fields keep their current values.`,
117
- parameters: withRequiredId(partialSchema),
118
+ description: `Update the state of interactable component "${name}". ${first.description} Pass the id of the instance to update — instance ids and current state appear in the conversation as state snapshots. Only include the fields you want to change; omitted fields keep their current values. A nested object replaces the existing one, so send it complete.`,
119
+ parameters: withRequiredId(jsonSchema),
118
120
  streamCall: async (reader, { toolCallId }) => {
119
121
  try {
120
122
  for await (const partialArgs of reader.args.streamValues()) {
@@ -126,21 +128,29 @@ function buildInteractableModelContext(definitions, partialSchemaCache, setDefSt
126
128
  if (Object.keys(partial).length === 0) continue;
127
129
  const target = resolveTarget(id);
128
130
  if (!target) continue;
131
+ const currentTarget = getCurrentDefinitions()[target.id];
132
+ if (currentTarget?.name !== name) continue;
129
133
  const baseline = streamBaselines.get(toolCallId);
130
- const arrayBaseline = baseline?.targetId === target.id ? baseline.state : target.state;
134
+ const arrayBaseline = baseline?.targetId === target.id ? baseline.state : currentTarget.state;
131
135
  if (!baseline || baseline.targetId !== target.id) streamBaselines.set(toolCallId, {
132
136
  targetId: target.id,
133
- state: target.state
137
+ state: currentTarget.state
134
138
  });
135
- setDefState(target.id, (prev) => shallowMergeInteractableState(prev, partial, { arrayBaseline }));
139
+ const partialPath = getPartialJsonObjectMeta(args)?.partialPath;
140
+ setDefState(target.id, (prev) => shallowMergeInteractableState(prev, partial, {
141
+ arrayBaseline,
142
+ partialPath
143
+ }));
136
144
  }
137
145
  } catch {}
138
146
  },
139
147
  execute: async (args, { toolCallId }) => {
140
148
  const { id, ...partial } = args ?? {};
141
149
  const target = resolveTarget(id);
142
- if (!target) {
143
- const validIds = instances.map((d) => d.id);
150
+ const currentDefinitions = getCurrentDefinitions();
151
+ const currentTarget = target ? currentDefinitions[target.id] : void 0;
152
+ if (!currentTarget || currentTarget.name !== name) {
153
+ const validIds = Object.values(currentDefinitions).filter((def) => def.name === name).map((def) => def.id);
144
154
  return {
145
155
  success: false,
146
156
  error: `Unknown id ${JSON.stringify(id)} for interactable "${name}". Valid ids: ${validIds.join(", ")}`
@@ -149,8 +159,8 @@ function buildInteractableModelContext(definitions, partialSchemaCache, setDefSt
149
159
  const baseline = streamBaselines.get(toolCallId);
150
160
  streamBaselines.delete(toolCallId);
151
161
  const addedItemIds = nullProtoRecord();
152
- setDefState(target.id, (prev) => shallowMergeInteractableState(prev, partial, {
153
- arrayBaseline: baseline?.targetId === target.id ? baseline.state : void 0,
162
+ setDefState(currentTarget.id, (prev) => shallowMergeInteractableState(prev, partial, {
163
+ arrayBaseline: baseline?.targetId === currentTarget.id ? baseline.state : void 0,
154
164
  idFactory: (field) => {
155
165
  const itemId = generateId();
156
166
  (addedItemIds[field] ??= []).push(itemId);
@@ -160,7 +170,7 @@ function buildInteractableModelContext(definitions, partialSchemaCache, setDefSt
160
170
  }));
161
171
  const result = {
162
172
  success: true,
163
- id: target.id
173
+ id: currentTarget.id
164
174
  };
165
175
  if (Object.keys(addedItemIds).length > 0) result.addedItemIds = { ...addedItemIds };
166
176
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"interactable-model-context.js","names":["Tool","toJSONSchema","Unstable_InteractableDefinition","interactableToolName","shallowMergeInteractableState","Unstable_InteractableSnapshotEntry","generateId","isRecord","nullProtoRecord","PartialJSONSchema","ReturnType","ID_PROPERTY","type","const","description","ITEM_ID_PROPERTY","hasIdProperty","schema","Record","properties","id","undefined","withRequiredItemId","required","withoutItemId","_omitted","Array","isArray","filter","key","toArrayUpdateSchema","field","itemSchema","items","idKeyed","add","remove","clear","update","additionalProperties","idKeyedArrayFieldNames","Set","names","value","Object","entries","withArrayUpdateSchemas","fromEntries","map","withRequiredId","partial","process","env","NODE_ENV","console","warn","_reserved","buildInteractableModelContext","definitions","partialSchemaCache","Map","setDefState","updater","prev","streamBaselines","targetId","state","tools","unstable_composerMetadata","values","length","byName","def","list","get","name","push","set","instances","toolName","first","partialSchema","idKeyedFields","resolveTarget","parameters","streamCall","reader","toolCallId","partialArgs","args","streamValues","keys","idIndex","indexOf","target","baseline","arrayBaseline","execute","validIds","d","success","error","JSON","stringify","join","delete","addedItemIds","idFactory","itemId","result","interactables"],"sources":["../../../src/react/client/interactable-model-context.ts"],"sourcesContent":["import type { Tool } from \"assistant-stream\";\nimport { toJSONSchema } from \"assistant-stream\";\nimport type { Unstable_InteractableDefinition } from \"../types/scopes/interactables\";\nimport {\n interactableToolName,\n shallowMergeInteractableState,\n type Unstable_InteractableSnapshotEntry,\n} from \"../../model-context/interactable-composer-metadata\";\nimport { generateId } from \"../../utils/id\";\nimport { isRecord } from \"../../utils/json/is-json\";\nimport { nullProtoRecord } from \"../../utils/record\";\n\nexport type PartialJSONSchema = ReturnType<typeof toJSONSchema>;\n\nconst ID_PROPERTY = {\n type: \"string\" as const,\n description:\n \"The id of the instance to update, as shown in its state snapshot in the conversation.\",\n};\n\nconst ITEM_ID_PROPERTY = {\n type: \"string\" as const,\n description: \"The id of an item currently in this list.\",\n};\n\nconst hasIdProperty = (schema: Record<string, unknown>) => {\n const properties = schema.properties;\n return isRecord(properties) && properties.id !== undefined;\n};\n\nconst withRequiredItemId = (schema: Record<string, unknown>) => ({\n ...schema,\n required: [\"id\"],\n});\n\n// The framework assigns ids to new items, so the model never sees the `id`\n// field when adding (it can't address an item that doesn't exist yet).\nconst withoutItemId = (schema: Record<string, unknown>) => {\n const { id: _omitted, ...properties } = isRecord(schema.properties)\n ? schema.properties\n : {};\n const required = Array.isArray(schema.required)\n ? schema.required.filter((key) => key !== \"id\")\n : schema.required;\n return { ...schema, properties, required };\n};\n\nconst toArrayUpdateSchema = (schema: unknown, field: string) => {\n if (!isRecord(schema) || schema.type !== \"array\") return schema;\n const itemSchema = schema.items;\n if (Array.isArray(itemSchema) || !isRecord(itemSchema)) return schema;\n\n const idKeyed = hasIdProperty(itemSchema);\n const properties: Record<string, unknown> = {\n add: {\n type: \"array\",\n items: idKeyed ? withoutItemId(itemSchema) : itemSchema,\n },\n remove: {\n type: \"array\",\n items: idKeyed ? ITEM_ID_PROPERTY : itemSchema,\n },\n clear: { type: \"boolean\" },\n };\n\n if (idKeyed) {\n properties.update = {\n type: \"array\",\n items: withRequiredItemId(itemSchema),\n };\n }\n\n return {\n type: \"object\" as const,\n description:\n `Operations for array field \"${field}\". To change one item use update ` +\n `with its id; add new items (their ids are assigned for you), remove items ` +\n `by id, or clear to empty. Change only the items you mean to — never resend ` +\n `the whole array to edit one item.`,\n properties,\n additionalProperties: false,\n };\n};\n\n// Top-level array fields whose items carry an `id` — the fields the framework\n// mints ids for on add.\nconst idKeyedArrayFieldNames = (\n properties: Record<string, unknown>,\n): Set<string> => {\n const names = new Set<string>();\n for (const [key, value] of Object.entries(properties)) {\n if (\n isRecord(value) &&\n value.type === \"array\" &&\n isRecord(value.items) &&\n hasIdProperty(value.items)\n ) {\n names.add(key);\n }\n }\n return names;\n};\n\nconst withArrayUpdateSchemas = (properties: Record<string, unknown>) =>\n Object.fromEntries(\n Object.entries(properties).map(([key, value]) => [\n key,\n toArrayUpdateSchema(value, key),\n ]),\n );\n\n/**\n * Wraps an interactable's partial state schema with the required `id`\n * parameter. Falls back to a permissive schema when the partial conversion\n * failed at registration time.\n */\nfunction withRequiredId(partial: PartialJSONSchema | undefined) {\n if (!partial || typeof partial !== \"object\" || partial.type !== \"object\") {\n return {\n type: \"object\" as const,\n properties: { id: ID_PROPERTY },\n required: [\"id\"],\n additionalProperties: true,\n };\n }\n if (process.env.NODE_ENV !== \"production\" && partial.properties?.id) {\n console.warn(\n `[Interactables] a top-level \"id\" field in an interactable's stateSchema is ` +\n `reserved for instance addressing by the update tool and cannot be updated ` +\n `by the model. Rename the field to make it model-writable.`,\n );\n }\n const { id: _reserved, ...properties } = partial.properties ?? {};\n return {\n ...partial,\n properties: { id: ID_PROPERTY, ...withArrayUpdateSchemas(properties) },\n required: [\"id\"],\n };\n}\n\nexport function buildInteractableModelContext(\n definitions: Record<string, Unstable_InteractableDefinition>,\n partialSchemaCache: Map<string, PartialJSONSchema>,\n setDefState: (id: string, updater: (prev: unknown) => unknown) => void,\n streamBaselines = new Map<string, { targetId: string; state: unknown }>(),\n):\n | {\n tools: Record<string, Tool<any, any>>;\n unstable_composerMetadata?: Record<string, unknown>;\n }\n | undefined {\n const entries = Object.values(definitions);\n if (entries.length === 0) return undefined;\n\n const byName = new Map<string, Unstable_InteractableDefinition[]>();\n for (const def of entries) {\n const list = byName.get(def.name) ?? [];\n list.push(def);\n byName.set(def.name, list);\n }\n\n const tools: Record<string, Tool<any, any>> = {};\n\n for (const [name, instances] of byName) {\n const toolName = interactableToolName(name);\n if (tools[toolName]) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `[Interactables] interactable names \"${name}\" and another registered name ` +\n `both sanitize to the tool name \"${toolName}\". Rename one of them.`,\n );\n }\n continue;\n }\n\n const first = instances[0]!;\n const partialSchema = partialSchemaCache.get(first.id);\n const idKeyedFields =\n partialSchema && isRecord(partialSchema.properties)\n ? idKeyedArrayFieldNames(partialSchema.properties)\n : new Set<string>();\n\n // `id` resolves to a definition of this name; an id-less call is accepted\n // only while exactly one instance exists.\n const resolveTarget = (\n id: unknown,\n ): Unstable_InteractableDefinition | undefined => {\n if (typeof id === \"string\") {\n const def = definitions[id];\n return def?.name === name ? def : undefined;\n }\n return instances.length === 1 ? first : undefined;\n };\n\n tools[toolName] = {\n type: \"frontend\",\n description:\n `Update the state of interactable component \"${name}\". ${first.description} ` +\n `Pass the id of the instance to update — instance ids and current state ` +\n `appear in the conversation as state snapshots. Only include the fields ` +\n `you want to change; omitted fields keep their current values.`,\n parameters: withRequiredId(partialSchema),\n streamCall: async (reader, { toolCallId }) => {\n try {\n for await (const partialArgs of reader.args.streamValues()) {\n if (!partialArgs || typeof partialArgs !== \"object\") continue;\n const args = partialArgs as Record<string, unknown>;\n const keys = Object.keys(args);\n const idIndex = keys.indexOf(\"id\");\n if (idIndex === keys.length - 1) continue;\n\n const { id, ...partial } = args;\n if (Object.keys(partial).length === 0) continue;\n const target = resolveTarget(id);\n if (!target) continue;\n\n const baseline = streamBaselines.get(toolCallId);\n const arrayBaseline =\n baseline?.targetId === target.id ? baseline.state : target.state;\n if (!baseline || baseline.targetId !== target.id) {\n streamBaselines.set(toolCallId, {\n targetId: target.id,\n state: target.state,\n });\n }\n\n setDefState(target.id, (prev) =>\n shallowMergeInteractableState(prev, partial, { arrayBaseline }),\n );\n }\n } catch {\n // Non-fatal: execute handles the final state\n }\n },\n execute: async (args: unknown, { toolCallId }) => {\n const { id, ...partial } = (args ?? {}) as Record<string, unknown>;\n const target = resolveTarget(id);\n if (!target) {\n const validIds = instances.map((d) => d.id);\n return {\n success: false,\n error: `Unknown id ${JSON.stringify(id)} for interactable \"${name}\". Valid ids: ${validIds.join(\", \")}`,\n };\n }\n const baseline = streamBaselines.get(toolCallId);\n streamBaselines.delete(toolCallId);\n const addedItemIds = nullProtoRecord<string[]>();\n setDefState(target.id, (prev) =>\n shallowMergeInteractableState(prev, partial, {\n arrayBaseline:\n baseline?.targetId === target.id ? baseline.state : undefined,\n idFactory: (field) => {\n const itemId = generateId();\n (addedItemIds[field] ??= []).push(itemId);\n return itemId;\n },\n idKeyedFields,\n }),\n );\n // The resolved id lets an id-less call's UI (and the model) address\n // the instance that was actually updated.\n const result: {\n success: true;\n id: string;\n addedItemIds?: Record<string, string[]>;\n } = { success: true, id: target.id };\n if (Object.keys(addedItemIds).length > 0) {\n result.addedItemIds = { ...addedItemIds };\n }\n return result;\n },\n };\n }\n\n const interactables: Unstable_InteractableSnapshotEntry[] = entries.map(\n (def) => ({\n id: def.id,\n name: def.name,\n state: def.state,\n }),\n );\n return { tools, unstable_composerMetadata: { interactables } };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"interactable-model-context.js","names":["Tool","toJSONSchema","getPartialJsonObjectMeta","Unstable_InteractableDefinition","interactableToolName","shallowMergeInteractableState","Unstable_InteractableSnapshotEntry","generateId","isRecord","nullProtoRecord","StateJSONSchema","ReturnType","ID_PROPERTY","type","const","description","ITEM_ID_PROPERTY","hasIdProperty","schema","Record","properties","id","undefined","withRequiredItemId","required","withoutItemId","_omitted","Array","isArray","filter","key","toArrayUpdateSchema","field","itemSchema","items","idKeyed","add","remove","clear","update","additionalProperties","idKeyedArrayFieldNames","Set","names","value","Object","entries","withArrayUpdateSchemas","fromEntries","map","withRequiredId","process","env","NODE_ENV","console","warn","_reserved","buildInteractableModelContext","definitions","schemaCache","Map","setDefState","updater","prev","getCurrentDefinitions","streamBaselines","targetId","state","tools","unstable_composerMetadata","values","length","byName","def","list","get","name","push","set","instances","toolName","first","jsonSchema","idKeyedFields","resolveTarget","parameters","streamCall","reader","toolCallId","partialArgs","args","streamValues","keys","idIndex","indexOf","partial","target","currentTarget","baseline","arrayBaseline","partialPath","execute","currentDefinitions","validIds","success","error","JSON","stringify","join","delete","addedItemIds","idFactory","itemId","result","interactables"],"sources":["../../../src/react/client/interactable-model-context.ts"],"sourcesContent":["import type { Tool } from \"assistant-stream\";\nimport { toJSONSchema } from \"assistant-stream\";\nimport { getPartialJsonObjectMeta } from \"assistant-stream/utils\";\nimport type { Unstable_InteractableDefinition } from \"../types/scopes/interactables\";\nimport {\n interactableToolName,\n shallowMergeInteractableState,\n type Unstable_InteractableSnapshotEntry,\n} from \"../../model-context/interactable-composer-metadata\";\nimport { generateId } from \"../../utils/id\";\nimport { isRecord } from \"../../utils/json/is-json\";\nimport { nullProtoRecord } from \"../../utils/record\";\n\nexport type StateJSONSchema = ReturnType<typeof toJSONSchema>;\n\nconst ID_PROPERTY = {\n type: \"string\" as const,\n description:\n \"The id of the instance to update, as shown in its state snapshot in the conversation.\",\n};\n\nconst ITEM_ID_PROPERTY = {\n type: \"string\" as const,\n description: \"The id of an item currently in this list.\",\n};\n\nconst hasIdProperty = (schema: Record<string, unknown>) => {\n const properties = schema.properties;\n return isRecord(properties) && properties.id !== undefined;\n};\n\nconst withRequiredItemId = (schema: Record<string, unknown>) => ({\n ...schema,\n required: [\"id\"],\n});\n\n// The framework assigns ids to new items, so the model never sees the `id`\n// field when adding (it can't address an item that doesn't exist yet).\nconst withoutItemId = (schema: Record<string, unknown>) => {\n const { id: _omitted, ...properties } = isRecord(schema.properties)\n ? schema.properties\n : {};\n const required = Array.isArray(schema.required)\n ? schema.required.filter((key) => key !== \"id\")\n : schema.required;\n return { ...schema, properties, required };\n};\n\nconst toArrayUpdateSchema = (schema: unknown, field: string) => {\n if (!isRecord(schema) || schema.type !== \"array\") return schema;\n const itemSchema = schema.items;\n if (Array.isArray(itemSchema) || !isRecord(itemSchema)) return schema;\n\n const idKeyed = hasIdProperty(itemSchema);\n const properties: Record<string, unknown> = {\n add: {\n type: \"array\",\n items: idKeyed ? withoutItemId(itemSchema) : itemSchema,\n },\n remove: {\n type: \"array\",\n items: idKeyed ? ITEM_ID_PROPERTY : itemSchema,\n },\n clear: { type: \"boolean\" },\n };\n\n if (idKeyed) {\n properties.update = {\n type: \"array\",\n items: withRequiredItemId(itemSchema),\n };\n }\n\n return {\n type: \"object\" as const,\n description:\n `Operations for array field \"${field}\". To change one item use update ` +\n `with its id; add new items (their ids are assigned for you), remove items ` +\n `by id, or clear to empty. Change only the items you mean to — never resend ` +\n `the whole array to edit one item.`,\n properties,\n additionalProperties: false,\n };\n};\n\n// Top-level array fields whose items carry an `id` — the fields the framework\n// mints ids for on add.\nconst idKeyedArrayFieldNames = (\n properties: Record<string, unknown>,\n): Set<string> => {\n const names = new Set<string>();\n for (const [key, value] of Object.entries(properties)) {\n if (\n isRecord(value) &&\n value.type === \"array\" &&\n isRecord(value.items) &&\n hasIdProperty(value.items)\n ) {\n names.add(key);\n }\n }\n return names;\n};\n\nconst withArrayUpdateSchemas = (properties: Record<string, unknown>) =>\n Object.fromEntries(\n Object.entries(properties).map(([key, value]) => [\n key,\n toArrayUpdateSchema(value, key),\n ]),\n );\n\n/**\n * Replaces the state schema's root `required` list with the `id` parameter,\n * so every top-level field is optional while nested objects keep theirs and\n * travel whole through the shallow merge. Falls back to a permissive schema\n * when the JSON Schema conversion failed at registration time.\n */\nfunction withRequiredId(schema: StateJSONSchema | undefined) {\n if (!schema || typeof schema !== \"object\" || schema.type !== \"object\") {\n return {\n type: \"object\" as const,\n properties: { id: ID_PROPERTY },\n required: [\"id\"],\n additionalProperties: true,\n };\n }\n if (process.env.NODE_ENV !== \"production\" && schema.properties?.id) {\n console.warn(\n `[Interactables] a top-level \"id\" field in an interactable's stateSchema is ` +\n `reserved for instance addressing by the update tool and cannot be updated ` +\n `by the model. Rename the field to make it model-writable.`,\n );\n }\n const { id: _reserved, ...properties } = schema.properties ?? {};\n return {\n ...schema,\n properties: { id: ID_PROPERTY, ...withArrayUpdateSchemas(properties) },\n required: [\"id\"],\n };\n}\n\nexport function buildInteractableModelContext(\n definitions: Record<string, Unstable_InteractableDefinition>,\n schemaCache: Map<string, StateJSONSchema>,\n setDefState: (id: string, updater: (prev: unknown) => unknown) => void,\n getCurrentDefinitions: () => Record<string, Unstable_InteractableDefinition>,\n streamBaselines = new Map<string, { targetId: string; state: unknown }>(),\n):\n | {\n tools: Record<string, Tool<any, any>>;\n unstable_composerMetadata?: Record<string, unknown>;\n }\n | undefined {\n const entries = Object.values(definitions);\n if (entries.length === 0) return undefined;\n\n const byName = new Map<string, Unstable_InteractableDefinition[]>();\n for (const def of entries) {\n const list = byName.get(def.name) ?? [];\n list.push(def);\n byName.set(def.name, list);\n }\n\n const tools: Record<string, Tool<any, any>> = {};\n\n for (const [name, instances] of byName) {\n const toolName = interactableToolName(name);\n if (tools[toolName]) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `[Interactables] interactable names \"${name}\" and another registered name ` +\n `both sanitize to the tool name \"${toolName}\". Rename one of them.`,\n );\n }\n continue;\n }\n\n const first = instances[0]!;\n const jsonSchema = schemaCache.get(first.id);\n const idKeyedFields =\n jsonSchema && isRecord(jsonSchema.properties)\n ? idKeyedArrayFieldNames(jsonSchema.properties)\n : new Set<string>();\n\n // `id` resolves to a definition of this name; an id-less call is accepted\n // only while exactly one instance exists.\n const resolveTarget = (\n id: unknown,\n ): Unstable_InteractableDefinition | undefined => {\n if (typeof id === \"string\") {\n const def = definitions[id];\n return def?.name === name ? def : undefined;\n }\n return instances.length === 1 ? first : undefined;\n };\n\n tools[toolName] = {\n type: \"frontend\",\n description:\n `Update the state of interactable component \"${name}\". ${first.description} ` +\n `Pass the id of the instance to update — instance ids and current state ` +\n `appear in the conversation as state snapshots. Only include the fields ` +\n `you want to change; omitted fields keep their current values. A nested ` +\n `object replaces the existing one, so send it complete.`,\n parameters: withRequiredId(jsonSchema),\n streamCall: async (reader, { toolCallId }) => {\n try {\n for await (const partialArgs of reader.args.streamValues()) {\n if (!partialArgs || typeof partialArgs !== \"object\") continue;\n const args = partialArgs as Record<string, unknown>;\n const keys = Object.keys(args);\n const idIndex = keys.indexOf(\"id\");\n if (idIndex === keys.length - 1) continue;\n\n const { id, ...partial } = args;\n if (Object.keys(partial).length === 0) continue;\n const target = resolveTarget(id);\n if (!target) continue;\n const currentTarget = getCurrentDefinitions()[target.id];\n if (currentTarget?.name !== name) continue;\n\n const baseline = streamBaselines.get(toolCallId);\n const arrayBaseline =\n baseline?.targetId === target.id\n ? baseline.state\n : currentTarget.state;\n if (!baseline || baseline.targetId !== target.id) {\n streamBaselines.set(toolCallId, {\n targetId: target.id,\n state: currentTarget.state,\n });\n }\n\n const partialPath = getPartialJsonObjectMeta(\n args as Record<symbol, unknown>,\n )?.partialPath;\n setDefState(target.id, (prev) =>\n shallowMergeInteractableState(prev, partial, {\n arrayBaseline,\n partialPath,\n }),\n );\n }\n } catch {\n // Non-fatal: execute handles the final state\n }\n },\n execute: async (args: unknown, { toolCallId }) => {\n const { id, ...partial } = (args ?? {}) as Record<string, unknown>;\n const target = resolveTarget(id);\n // The tool was built from a snapshot, so the target may have unmounted\n // or been replaced under the same id since; mutating either would\n // report success for a write nothing receives.\n const currentDefinitions = getCurrentDefinitions();\n const currentTarget = target\n ? currentDefinitions[target.id]\n : undefined;\n if (!currentTarget || currentTarget.name !== name) {\n const validIds = Object.values(currentDefinitions)\n .filter((def) => def.name === name)\n .map((def) => def.id);\n return {\n success: false,\n error: `Unknown id ${JSON.stringify(id)} for interactable \"${name}\". Valid ids: ${validIds.join(\", \")}`,\n };\n }\n const baseline = streamBaselines.get(toolCallId);\n streamBaselines.delete(toolCallId);\n const addedItemIds = nullProtoRecord<string[]>();\n setDefState(currentTarget.id, (prev) =>\n shallowMergeInteractableState(prev, partial, {\n arrayBaseline:\n baseline?.targetId === currentTarget.id\n ? baseline.state\n : undefined,\n idFactory: (field) => {\n const itemId = generateId();\n (addedItemIds[field] ??= []).push(itemId);\n return itemId;\n },\n idKeyedFields,\n }),\n );\n // The resolved id lets an id-less call's UI (and the model) address\n // the instance that was actually updated.\n const result: {\n success: true;\n id: string;\n addedItemIds?: Record<string, string[]>;\n } = { success: true, id: currentTarget.id };\n if (Object.keys(addedItemIds).length > 0) {\n result.addedItemIds = { ...addedItemIds };\n }\n return result;\n },\n };\n }\n\n const interactables: Unstable_InteractableSnapshotEntry[] = entries.map(\n (def) => ({\n id: def.id,\n name: def.name,\n state: def.state,\n }),\n );\n return { tools, unstable_composerMetadata: { interactables } };\n}\n"],"mappings":"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"}
@@ -1,122 +1,160 @@
1
- /// <reference path="../store/scope-registration.d.ts" />
2
- /// <reference path="./types/store-augmentation.d.ts" />
3
- import { AssistantContextConfig } from "../model-context/types.js";
4
- import { PartState } from "../store/scopes/part.js";
5
- import { RuntimeAdapter } from "./RuntimeAdapter.js";
6
- import { RuntimeAdapters } from "../runtimes/remote-thread-list/types.js";
7
- import { JoinStrategy } from "../runtime/utils/external-message-conversion.js";
8
- import { ExternalMessageConversionCache, convertExternalMessages, createExternalMessageConversionCache, useExternalMessageConverter } from "./runtimes/external-message-converter.js";
9
- import { StreamingTimingAccessors, StreamingTimingOptions, StreamingTimingState } from "../runtime/utils/streaming-timing.js";
10
- import { useStreamingTiming } from "./runtimes/useStreamingTiming.js";
11
- import { DataMessagePartComponent, DataMessagePartProps, EmptyMessagePartComponent, EmptyMessagePartProps, FileMessagePartComponent, FileMessagePartProps, GenerativeUIComponentRegistry, GenerativeUIMessagePartComponent, GenerativeUIMessagePartProps, GenerativeUIRenderProps, ImageMessagePartComponent, ImageMessagePartProps, QuoteMessagePartComponent, QuoteMessagePartProps, ReasoningGroupComponent, ReasoningGroupProps, ReasoningMessagePartComponent, ReasoningMessagePartProps, SourceMessagePartComponent, SourceMessagePartProps, TextMessagePartComponent, TextMessagePartProps, ToolCallMessagePartComponent, ToolCallMessagePartProps, Unstable_AudioMessagePartComponent, Unstable_AudioMessagePartProps } from "./types/MessagePartComponentTypes.js";
12
- import { ToolCallText, ToolDefinition, Toolkit, ToolkitDefinition, ToolkitDefinitionEntry } from "./model-context/toolbox.js";
13
- import { defineToolkit } from "./model-context/define-toolkit.js";
14
- import { McpToolkitDefinition, McpToolkitEntry, McpToolkitToolConfig, defineMcpToolkit } from "./model-context/define-mcp-toolkit.js";
15
- import { AssistantProviderBase, AssistantProviderBaseProps, getRenderComponent } from "./AssistantProvider.js";
16
- import { AssistantRuntimeProvider } from "./AssistantRuntimeProvider.js";
17
- import { TitleGenerationAdapter, createSimpleTitleAdapter } from "./adapters/TitleGenerationAdapter.js";
18
- import { AsyncStorageLike, createLocalStorageAdapter } from "./adapters/LocalStorageThreadListAdapter.js";
19
- import { DataRenderers } from "./client/DataRenderers.js";
20
- import { Unstable_InteractableDefinition, Unstable_InteractablePersistedState, Unstable_InteractablePersistenceAdapter, Unstable_InteractablePersistenceStatus, Unstable_InteractableRegistration, Unstable_InteractableStateSchema, Unstable_InteractablesClientSchema, Unstable_InteractablesConfig, Unstable_InteractablesMethods, Unstable_InteractablesState } from "./types/scopes/interactables.js";
21
- import { unstable_Interactables } from "./client/Interactables.js";
22
- import { McpAppResourceOutput, ToolsClientSchema, ToolsMethods, ToolsState } from "./types/scopes/tools.js";
23
- import { Tools } from "./client/Tools.js";
24
- import { AssistantToolProps, useAssistantTool } from "./model-context/useAssistantTool.js";
25
- import { AssistantTool, makeAssistantTool } from "./model-context/makeAssistantTool.js";
26
- import { AssistantToolUIProps, useAssistantToolUI } from "./model-context/useAssistantToolUI.js";
27
- import { AssistantToolUI, makeAssistantToolUI } from "./model-context/makeAssistantToolUI.js";
28
- import { AssistantDataUIProps, useAssistantDataUI } from "./model-context/useAssistantDataUI.js";
29
- import { AssistantDataUI, makeAssistantDataUI } from "./model-context/makeAssistantDataUI.js";
30
- import { useAssistantInstructions } from "./model-context/useAssistantInstructions.js";
31
- import { useAssistantContext } from "./model-context/useAssistantContext.js";
32
- import { useInlineRender } from "./model-context/useInlineRender.js";
33
- import { stubTool } from "./model-context/stub-tool.js";
34
- import { externalTool } from "./model-context/external-tool.js";
35
- import { useAuiToolOverrides } from "./model-context/useAuiToolOverrides.js";
36
- import { hitl, hitlTool, humanTool } from "./model-context/human-tool.js";
37
- import { ProviderToolConfig, providerTool } from "./model-context/provider-tool.js";
38
- import { InteractableDefinition, InteractablePersistedState, InteractablePersistenceAdapter, InteractablePersistenceStatus, InteractableRegistration, InteractableStateSchema, InteractablesClientSchema, InteractablesMethods, InteractablesState } from "./interactables-legacy/scopes.js";
39
- import { AssistantInteractableProps, useAssistantInteractable } from "./interactables-legacy/useAssistantInteractable.js";
40
- import { useInteractableState } from "./interactables-legacy/useInteractableState.js";
41
- import { Unstable_InferInteractableState, Unstable_InteractableConfig, Unstable_InteractableVersionInfo, unstable_useInteractable } from "./model-context/useInteractable.js";
42
- import { unstable_useInteractableState } from "./model-context/useInteractableState.js";
43
- import { unstable_useInteractableVersions } from "./model-context/useInteractableVersions.js";
44
- import { Unstable_InteractableToolConfig, Unstable_InteractableToolRenderProps, unstable_interactableTool } from "./model-context/interactableTool.js";
45
- import { ToolArgsStatus, useToolArgsStatus } from "./model-context/useToolArgsStatus.js";
46
- import { Interactables } from "./interactables-legacy/Interactables.js";
47
- import { DataRenderersClientSchema, DataRenderersMethods, DataRenderersState } from "./types/scopes/dataRenderers.js";
48
- import { ComposerAttachmentByIndexProvider, MessageAttachmentByIndexProvider } from "./providers/AttachmentByIndexProvider.js";
49
- import { ThreadListItemRuntimeProvider } from "./providers/ThreadListItemRuntimeProvider.js";
50
- import { MessageByIndexProvider } from "./providers/MessageByIndexProvider.js";
51
- import { PartByIndexProvider } from "./providers/PartByIndexProvider.js";
52
- import { TextMessagePartProvider } from "./providers/TextMessagePartProvider.js";
53
- import { ChainOfThoughtByIndicesProvider } from "./providers/ChainOfThoughtByIndicesProvider.js";
54
- import { ThreadListItemByIndexProvider } from "./providers/ThreadListItemByIndexProvider.js";
55
- import { ChainOfThoughtPartByIndexProvider } from "./providers/ChainOfThoughtPartByIndexProvider.js";
56
- import { SuggestionByIndexProvider, SuggestionByIndexProviderProps } from "./providers/SuggestionByIndexProvider.js";
57
- import { QueueItemByIndexProvider, QueueItemByIndexProviderProps } from "./providers/QueueItemByIndexProvider.js";
58
- import { ReadonlyThreadProvider } from "./providers/ReadonlyThreadProvider.js";
59
- import { useRuntimeAdapters } from "./runtimes/useRuntimeAdapters.js";
60
- import { RuntimeAdapterProvider } from "./runtimes/RuntimeAdapterProvider.js";
61
- import { useExternalStoreRuntime } from "./runtimes/useExternalStoreRuntime.js";
62
- import { useExternalStoreSharedOptions } from "./runtimes/useExternalStoreSharedOptions.js";
63
- import { createMessageConverter } from "./runtimes/createMessageConverter.js";
64
- import { RuntimeExtras, createRuntimeExtras, unstable_createRuntimeExtrasFromBrand } from "./runtimes/createRuntimeExtras.js";
65
- import { RemoteThreadListHookInstanceManager } from "./runtimes/RemoteThreadListHookInstanceManager.js";
66
- import { RemoteThreadListThreadListRuntimeCore } from "./runtimes/RemoteThreadListThreadListRuntimeCore.js";
67
- import { useRemoteThreadListRuntime } from "./runtimes/useRemoteThreadListRuntime.js";
68
- import { CloudThreadListAdapterOptions, createCloudThreadListAdapter } from "./runtimes/cloud/createCloudThreadListAdapter.js";
69
- import { useCloudThreadListAdapter } from "./runtimes/cloud/useCloudThreadListAdapter.js";
70
- import { useCloudThreadListRuntime } from "./runtimes/cloud/useCloudThreadListRuntime.js";
71
- import { AssistantTransportCommand, AssistantTransportConnectionMetadata, AssistantTransportOptions, AssistantTransportProtocol, SendCommandsRequestBody } from "./runtimes/assistant-transport/types.js";
72
- import { useAssistantTransportRuntime, useAssistantTransportSendCommand, useAssistantTransportState } from "./runtimes/assistant-transport/useAssistantTransportRuntime.js";
73
- import { useAssistantCloudThreadHistoryAdapter } from "./runtimes/cloud/AssistantCloudThreadHistoryAdapter.js";
74
- import { CloudFileAttachmentAdapter } from "./runtimes/cloud/CloudFileAttachmentAdapter.js";
75
- import { ThreadPrimitiveMessageByIndex, ThreadPrimitiveMessages, ThreadPrimitiveMessagesImpl, ThreadPrimitiveUnstable_MessageById } from "./primitives/thread/ThreadMessages.js";
76
- import { EnrichedPartState, MessagePartComponent, MessagePrimitivePartByIndex, MessagePrimitiveParts, defaultComponents } from "./primitives/message/MessageParts.js";
77
- import { GroupByContext, groupPartByType } from "./utils/groupParts.js";
78
- import { MessagePrimitiveGroupedParts } from "./primitives/message/MessageGroupedParts.js";
79
- import { GenerativeUIRender, GenerativeUIRenderError, MessagePrimitiveGenerativeUI } from "./primitives/generativeUI/GenerativeUI.js";
80
- import { MessagePrimitiveQuote } from "./primitives/message/MessageQuote.js";
81
- import { MessagePrimitiveAttachmentByIndex, MessagePrimitiveAttachments } from "./primitives/message/MessageAttachments.js";
82
- import { ComposerPrimitiveAttachmentByIndex, ComposerPrimitiveAttachments } from "./primitives/composer/ComposerAttachments.js";
83
- import { ComposerPrimitiveQueue } from "./primitives/composer/ComposerQueue.js";
84
- import { ThreadListPrimitiveItemByIndex, ThreadListPrimitiveItems } from "./primitives/threadList/ThreadListItems.js";
85
- import { ChainOfThoughtPrimitiveParts } from "./primitives/chainOfThought/ChainOfThoughtParts.js";
86
- import { PartPrimitiveMessages, PartPrimitiveMessagesImpl } from "./primitives/part/PartMessages.js";
87
- import { MessagePartPrimitiveInProgress } from "./primitives/messagePart/MessagePartInProgress.js";
88
- import { ThreadListItemPrimitiveTitle } from "./primitives/threadListItem/ThreadListItemTitle.js";
89
- import { ThreadPrimitiveSuggestionByIndex, ThreadPrimitiveSuggestions, ThreadPrimitiveSuggestionsImpl } from "./primitives/thread/ThreadSuggestions.js";
90
- import { ComposerPrimitiveIf, UseComposerIfProps } from "./primitives/composer/ComposerIf.js";
91
- import { getMessageQuote } from "./utils/getMessageQuote.js";
92
- import { useThreadMessages } from "./primitive-hooks/useThreadMessages.js";
93
- import { unstable_useThreadMessageIds } from "./primitive-hooks/useThreadMessageIds.js";
94
- import { useThreadIsRunning } from "./primitive-hooks/useThreadIsRunning.js";
95
- import { useThreadIsEmpty } from "./primitive-hooks/useThreadIsEmpty.js";
96
- import { useComposerSend } from "./primitive-hooks/useComposerSend.js";
97
- import { useComposerCancel } from "./primitive-hooks/useComposerCancel.js";
98
- import { useComposerDictate } from "./primitive-hooks/useComposerDictate.js";
99
- import { useComposerAddAttachment } from "./primitive-hooks/useComposerAddAttachment.js";
100
- import { useMessageReload } from "./primitive-hooks/useMessageReload.js";
101
- import { useMessageBranching } from "./primitive-hooks/useMessageBranching.js";
102
- import { UseActionBarCopyOptions, useActionBarCopy } from "./primitive-hooks/useActionBarCopy.js";
103
- import { useActionBarEdit } from "./primitive-hooks/useActionBarEdit.js";
104
- import { useActionBarReload } from "./primitive-hooks/useActionBarReload.js";
105
- import { useActionBarFeedbackNegative, useActionBarFeedbackPositive } from "./primitive-hooks/useActionBarFeedback.js";
106
- import { useActionBarSpeak } from "./primitive-hooks/useActionBarSpeak.js";
107
- import { useActionBarStopSpeaking } from "./primitive-hooks/useActionBarStopSpeaking.js";
108
- import { useVoiceControls, useVoiceState, useVoiceVolume } from "./primitive-hooks/useVoice.js";
109
- import { useBranchPickerNext } from "./primitive-hooks/useBranchPickerNext.js";
110
- import { useBranchPickerPrevious } from "./primitive-hooks/useBranchPickerPrevious.js";
111
- import { UseSuggestionTriggerOptions, useSuggestionTrigger } from "./primitive-hooks/useSuggestionTrigger.js";
112
- import { useThreadListItemArchive } from "./primitive-hooks/useThreadListItemArchive.js";
113
- import { useThreadListItemDelete } from "./primitive-hooks/useThreadListItemDelete.js";
114
- import { useThreadListItemUnarchive } from "./primitive-hooks/useThreadListItemUnarchive.js";
115
- import { useThreadListItemTrigger } from "./primitive-hooks/useThreadListItemTrigger.js";
116
- import { useThreadListNew } from "./primitive-hooks/useThreadListNew.js";
117
- import { useThreadListLoadMore } from "./primitive-hooks/useThreadListLoadMore.js";
118
- import { useEditComposerCancel } from "./primitive-hooks/useEditComposerCancel.js";
119
- import { useEditComposerSend } from "./primitive-hooks/useEditComposerSend.js";
120
- import { useMessageError } from "./primitive-hooks/useMessageError.js";
121
- import { LocalRuntimeOptions, splitLocalRuntimeOptions, useLocalRuntime } from "./runtimes/useLocalRuntime.js";
122
- export { type AssistantContextConfig, type AssistantDataUI, type AssistantDataUIProps, type AssistantInteractableProps, AssistantProviderBase, type AssistantProviderBaseProps, AssistantRuntimeProvider, type AssistantTool, type AssistantToolProps, type AssistantToolUI, type AssistantToolUIProps, type AssistantTransportCommand, type AssistantTransportConnectionMetadata, type AssistantTransportOptions, type AssistantTransportProtocol, type AsyncStorageLike, ChainOfThoughtByIndicesProvider, ChainOfThoughtPartByIndexProvider, ChainOfThoughtPrimitiveParts, CloudFileAttachmentAdapter, type CloudThreadListAdapterOptions, ComposerAttachmentByIndexProvider, ComposerPrimitiveAttachmentByIndex, ComposerPrimitiveAttachments, ComposerPrimitiveIf, ComposerPrimitiveQueue, type DataMessagePartComponent, type DataMessagePartProps, DataRenderers, type DataRenderersClientSchema, type DataRenderersMethods, type DataRenderersState, type EmptyMessagePartComponent, type EmptyMessagePartProps, type EnrichedPartState, type ExternalMessageConversionCache, type FileMessagePartComponent, type FileMessagePartProps, type GenerativeUIComponentRegistry, type GenerativeUIMessagePartComponent, type GenerativeUIMessagePartProps, GenerativeUIRender, GenerativeUIRenderError, type GenerativeUIRenderProps, type GroupByContext, type ImageMessagePartComponent, type ImageMessagePartProps, type InteractableDefinition, type InteractablePersistedState, type InteractablePersistenceAdapter, type InteractablePersistenceStatus, type InteractableRegistration, type InteractableStateSchema, Interactables, type InteractablesClientSchema, type InteractablesMethods, type InteractablesState, type JoinStrategy, type LocalRuntimeOptions, type McpAppResourceOutput, type McpToolkitDefinition, type McpToolkitEntry, type McpToolkitToolConfig, MessageAttachmentByIndexProvider, MessageByIndexProvider, MessagePartComponent, MessagePartPrimitiveInProgress, MessagePrimitiveAttachmentByIndex, MessagePrimitiveAttachments, MessagePrimitiveGenerativeUI, MessagePrimitiveGroupedParts, MessagePrimitivePartByIndex, MessagePrimitiveParts, MessagePrimitiveQuote, PartByIndexProvider, PartPrimitiveMessages, PartPrimitiveMessagesImpl, type PartState, type ProviderToolConfig, QueueItemByIndexProvider, type QueueItemByIndexProviderProps, type QuoteMessagePartComponent, type QuoteMessagePartProps, ReadonlyThreadProvider, type ReasoningGroupComponent, type ReasoningGroupProps, type ReasoningMessagePartComponent, type ReasoningMessagePartProps, RemoteThreadListHookInstanceManager, RemoteThreadListThreadListRuntimeCore, RuntimeAdapter, RuntimeAdapterProvider, type RuntimeAdapters, type RuntimeExtras, type SendCommandsRequestBody, type SourceMessagePartComponent, type SourceMessagePartProps, type StreamingTimingAccessors, type StreamingTimingOptions, type StreamingTimingState, SuggestionByIndexProvider, type SuggestionByIndexProviderProps, type TextMessagePartComponent, type TextMessagePartProps, TextMessagePartProvider, ThreadListItemByIndexProvider, ThreadListItemPrimitiveTitle, ThreadListItemRuntimeProvider, ThreadListPrimitiveItemByIndex, ThreadListPrimitiveItems, ThreadPrimitiveMessageByIndex, ThreadPrimitiveMessages, ThreadPrimitiveMessagesImpl, ThreadPrimitiveSuggestionByIndex, ThreadPrimitiveSuggestions, ThreadPrimitiveSuggestionsImpl, ThreadPrimitiveUnstable_MessageById, type TitleGenerationAdapter, type ToolArgsStatus, type ToolCallMessagePartComponent, type ToolCallMessagePartProps, type ToolCallText, type ToolDefinition, type Toolkit, type ToolkitDefinition, type ToolkitDefinitionEntry, Tools, type ToolsClientSchema, type ToolsMethods, type ToolsState, type Unstable_AudioMessagePartComponent, type Unstable_AudioMessagePartProps, type Unstable_InferInteractableState, type Unstable_InteractableConfig, type Unstable_InteractableDefinition, type Unstable_InteractablePersistedState, type Unstable_InteractablePersistenceAdapter, type Unstable_InteractablePersistenceStatus, type Unstable_InteractableRegistration, type Unstable_InteractableStateSchema, type Unstable_InteractableToolConfig, type Unstable_InteractableToolRenderProps, type Unstable_InteractableVersionInfo, type Unstable_InteractablesClientSchema, type Unstable_InteractablesConfig, type Unstable_InteractablesMethods, type Unstable_InteractablesState, type UseActionBarCopyOptions, type UseComposerIfProps, type UseSuggestionTriggerOptions, convertExternalMessages, createCloudThreadListAdapter, createExternalMessageConversionCache, createLocalStorageAdapter, createMessageConverter, createRuntimeExtras, createSimpleTitleAdapter, defineMcpToolkit, defineToolkit, externalTool, getMessageQuote, getRenderComponent, groupPartByType, hitl, hitlTool, humanTool, makeAssistantDataUI, makeAssistantTool, makeAssistantToolUI, defaultComponents as messagePartsDefaultComponents, providerTool, splitLocalRuntimeOptions, stubTool, unstable_Interactables, unstable_createRuntimeExtrasFromBrand, unstable_interactableTool, unstable_useInteractable, unstable_useInteractableState, unstable_useInteractableVersions, unstable_useThreadMessageIds, useActionBarCopy, useActionBarEdit, useActionBarFeedbackNegative, useActionBarFeedbackPositive, useActionBarReload, useActionBarSpeak, useActionBarStopSpeaking, useAssistantCloudThreadHistoryAdapter, useAssistantContext, useAssistantDataUI, useAssistantInstructions, useAssistantInteractable, useAssistantTool, useAssistantToolUI, useAssistantTransportRuntime, useAssistantTransportSendCommand, useAssistantTransportState, useAuiToolOverrides, useBranchPickerNext, useBranchPickerPrevious, useCloudThreadListAdapter, useCloudThreadListRuntime, useComposerAddAttachment, useComposerCancel, useComposerDictate, useComposerSend, useEditComposerCancel, useEditComposerSend, useExternalMessageConverter, useExternalStoreRuntime, useExternalStoreSharedOptions, useInlineRender, useInteractableState, useLocalRuntime, useMessageBranching, useMessageError, useMessageReload, useRemoteThreadListRuntime, useRuntimeAdapters, useStreamingTiming, useSuggestionTrigger, useThreadIsEmpty, useThreadIsRunning, useThreadListItemArchive, useThreadListItemDelete, useThreadListItemTrigger, useThreadListItemUnarchive, useThreadListLoadMore, useThreadListNew, useThreadMessages, useToolArgsStatus, useVoiceControls, useVoiceState, useVoiceVolume };
1
+ /// <reference path="../store/scope-registration.d.ts" preserve="true" />
2
+ /// <reference path="types/store-augmentation.d.ts" preserve="true" />
3
+ export { makeAssistantTool, type AssistantTool, } from "./model-context/makeAssistantTool.js";
4
+ export { type AssistantToolUI, makeAssistantToolUI, } from "./model-context/makeAssistantToolUI.js";
5
+ export { type AssistantDataUI, makeAssistantDataUI, } from "./model-context/makeAssistantDataUI.js";
6
+ export { useAssistantInstructions } from "./model-context/useAssistantInstructions.js";
7
+ export { useAssistantContext, type AssistantContextConfig, } from "./model-context/useAssistantContext.js";
8
+ export { useAssistantTool, type AssistantToolProps, } from "./model-context/useAssistantTool.js";
9
+ export { useAssistantToolUI, type AssistantToolUIProps, } from "./model-context/useAssistantToolUI.js";
10
+ export { useAssistantDataUI, type AssistantDataUIProps, } from "./model-context/useAssistantDataUI.js";
11
+ export { useInlineRender } from "./model-context/useInlineRender.js";
12
+ export { type Toolkit, type ToolDefinition, type ToolkitDefinition, type ToolkitDefinitionEntry, type ToolCallText, } from "./model-context/toolbox.js";
13
+ export { defineToolkit } from "./model-context/define-toolkit.js";
14
+ export { stubTool } from "./model-context/stub-tool.js";
15
+ export { externalTool } from "./model-context/external-tool.js";
16
+ export { useAuiToolOverrides } from "./model-context/useAuiToolOverrides.js";
17
+ export { hitl, hitlTool, humanTool } from "./model-context/human-tool.js";
18
+ export { providerTool, type ProviderToolConfig, } from "./model-context/provider-tool.js";
19
+ export { defineMcpToolkit, type McpToolkitEntry, type McpToolkitDefinition, type McpToolkitToolConfig, } from "./model-context/define-mcp-toolkit.js";
20
+ /**
21
+ * @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API.
22
+ * Scheduled for removal on/after 2026-09-14. See
23
+ * {@link https://www.assistant-ui.com/docs/tools/interactables#migrating-from-the-previous-api | Interactables migration guide}.
24
+ */
25
+ export { useAssistantInteractable, type AssistantInteractableProps, } from "./interactables-legacy/useAssistantInteractable.js";
26
+ /**
27
+ * @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API.
28
+ * Scheduled for removal on/after 2026-09-14. See
29
+ * {@link https://www.assistant-ui.com/docs/tools/interactables#migrating-from-the-previous-api | Interactables migration guide}.
30
+ */
31
+ export { useInteractableState } from "./interactables-legacy/useInteractableState.js";
32
+ export {
33
+ /** @deprecated Unstable / Experimental — may change in any release. */
34
+ unstable_useInteractable, type Unstable_InteractableConfig, type Unstable_InferInteractableState, type Unstable_InteractableVersionInfo, } from "./model-context/useInteractable.js";
35
+ export {
36
+ /** @deprecated Unstable / Experimental — may change in any release. */
37
+ unstable_useInteractableState, } from "./model-context/useInteractableState.js";
38
+ export {
39
+ /** @deprecated Unstable / Experimental — may change in any release. */
40
+ unstable_useInteractableVersions, } from "./model-context/useInteractableVersions.js";
41
+ export {
42
+ /** @deprecated Unstable / Experimental — may change in any release. */
43
+ unstable_interactableTool, type Unstable_InteractableToolConfig, type Unstable_InteractableToolRenderProps, } from "./model-context/interactableTool.js";
44
+ export { useToolArgsStatus, type ToolArgsStatus, } from "./model-context/useToolArgsStatus.js";
45
+ export { Tools, type McpAppResourceOutput } from "./client/Tools.js";
46
+ export { DataRenderers } from "./client/DataRenderers.js";
47
+ /**
48
+ * @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API.
49
+ * Scheduled for removal on/after 2026-09-14. See
50
+ * {@link https://www.assistant-ui.com/docs/tools/interactables#migrating-from-the-previous-api | Interactables migration guide}.
51
+ */
52
+ export { Interactables } from "./interactables-legacy/Interactables.js";
53
+ export {
54
+ /** @deprecated Unstable / Experimental — may change in any release. */
55
+ unstable_Interactables, } from "./client/Interactables.js";
56
+ export type { EmptyMessagePartComponent, EmptyMessagePartProps, TextMessagePartComponent, TextMessagePartProps, ReasoningMessagePartComponent, ReasoningMessagePartProps, SourceMessagePartComponent, SourceMessagePartProps, ImageMessagePartComponent, ImageMessagePartProps, FileMessagePartComponent, FileMessagePartProps, Unstable_AudioMessagePartComponent, Unstable_AudioMessagePartProps, DataMessagePartComponent, DataMessagePartProps, ToolCallMessagePartComponent, ToolCallMessagePartProps, ReasoningGroupProps, ReasoningGroupComponent, QuoteMessagePartComponent, QuoteMessagePartProps, GenerativeUIComponentRegistry, GenerativeUIMessagePartComponent, GenerativeUIMessagePartProps, GenerativeUIRenderProps, } from "./types/MessagePartComponentTypes.js";
57
+ export type { ToolsState, ToolsMethods, ToolsClientSchema, } from "./types/scopes/tools.js";
58
+ export type { DataRenderersState, DataRenderersMethods, DataRenderersClientSchema, } from "./types/scopes/dataRenderers.js";
59
+ export type {
60
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
61
+ InteractableStateSchema,
62
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
63
+ InteractablesState,
64
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
65
+ InteractableDefinition,
66
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
67
+ InteractableRegistration,
68
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
69
+ InteractablesMethods,
70
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
71
+ InteractablePersistedState,
72
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
73
+ InteractablePersistenceAdapter,
74
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
75
+ InteractablePersistenceStatus,
76
+ /** @deprecated Since 2026-06-14 — migrate to the Unstable / Experimental API. */
77
+ InteractablesClientSchema, } from "./interactables-legacy/scopes.js";
78
+ export type { Unstable_InteractableStateSchema, Unstable_InteractablesState, Unstable_InteractableDefinition, Unstable_InteractableRegistration, Unstable_InteractablesMethods, Unstable_InteractablePersistedState, Unstable_InteractablePersistenceAdapter, Unstable_InteractablePersistenceStatus, Unstable_InteractablesClientSchema, Unstable_InteractablesConfig, } from "./types/scopes/interactables.js";
79
+ export { MessageAttachmentByIndexProvider, ComposerAttachmentByIndexProvider, } from "./providers/AttachmentByIndexProvider.js";
80
+ export { ThreadListItemRuntimeProvider } from "./providers/ThreadListItemRuntimeProvider.js";
81
+ export { MessageByIndexProvider } from "./providers/MessageByIndexProvider.js";
82
+ export { PartByIndexProvider } from "./providers/PartByIndexProvider.js";
83
+ export { TextMessagePartProvider } from "./providers/TextMessagePartProvider.js";
84
+ export { ChainOfThoughtByIndicesProvider } from "./providers/ChainOfThoughtByIndicesProvider.js";
85
+ export { ThreadListItemByIndexProvider } from "./providers/ThreadListItemByIndexProvider.js";
86
+ export { ChainOfThoughtPartByIndexProvider } from "./providers/ChainOfThoughtPartByIndexProvider.js";
87
+ export { SuggestionByIndexProvider, type SuggestionByIndexProviderProps, } from "./providers/SuggestionByIndexProvider.js";
88
+ export { QueueItemByIndexProvider, type QueueItemByIndexProviderProps, } from "./providers/QueueItemByIndexProvider.js";
89
+ export { ReadonlyThreadProvider } from "./providers/ReadonlyThreadProvider.js";
90
+ export { RuntimeAdapter } from "./RuntimeAdapter.js";
91
+ export { RuntimeAdapterProvider, useRuntimeAdapters, type RuntimeAdapters, } from "./runtimes/RuntimeAdapterProvider.js";
92
+ export { useExternalStoreRuntime } from "./runtimes/useExternalStoreRuntime.js";
93
+ export { useExternalStoreSharedOptions } from "./runtimes/useExternalStoreSharedOptions.js";
94
+ export { useExternalMessageConverter, convertExternalMessages, createExternalMessageConversionCache, } from "./runtimes/external-message-converter.js";
95
+ export type { ExternalMessageConversionCache, JoinStrategy, } from "./runtimes/external-message-converter.js";
96
+ export { createMessageConverter } from "./runtimes/createMessageConverter.js";
97
+ export { useStreamingTiming, type StreamingTimingAccessors, type StreamingTimingOptions, type StreamingTimingState, } from "./runtimes/useStreamingTiming.js";
98
+ export { createRuntimeExtras, unstable_createRuntimeExtrasFromBrand, type RuntimeExtras, } from "./runtimes/createRuntimeExtras.js";
99
+ export { RemoteThreadListHookInstanceManager } from "./runtimes/RemoteThreadListHookInstanceManager.js";
100
+ export { RemoteThreadListThreadListRuntimeCore } from "./runtimes/RemoteThreadListThreadListRuntimeCore.js";
101
+ export { useRemoteThreadListRuntime } from "./runtimes/useRemoteThreadListRuntime.js";
102
+ export { useCloudThreadListAdapter } from "./runtimes/cloud/useCloudThreadListAdapter.js";
103
+ export { createCloudThreadListAdapter, type CloudThreadListAdapterOptions, } from "./runtimes/cloud/createCloudThreadListAdapter.js";
104
+ export { useCloudThreadListRuntime } from "./runtimes/cloud/useCloudThreadListRuntime.js";
105
+ export { useAssistantTransportRuntime, useAssistantTransportSendCommand, useAssistantTransportState, } from "./runtimes/assistant-transport/useAssistantTransportRuntime.js";
106
+ export type { AssistantTransportConnectionMetadata, AssistantTransportCommand, AssistantTransportOptions, AssistantTransportProtocol, SendCommandsRequestBody, } from "./runtimes/assistant-transport/types.js";
107
+ export { useAssistantCloudThreadHistoryAdapter } from "./runtimes/cloud/AssistantCloudThreadHistoryAdapter.js";
108
+ export { CloudFileAttachmentAdapter } from "./runtimes/cloud/CloudFileAttachmentAdapter.js";
109
+ export { createLocalStorageAdapter, type AsyncStorageLike, } from "./adapters/LocalStorageThreadListAdapter.js";
110
+ export { createSimpleTitleAdapter, type TitleGenerationAdapter, } from "./adapters/TitleGenerationAdapter.js";
111
+ export { AssistantProviderBase, getRenderComponent, type AssistantProviderBaseProps, } from "./AssistantProvider.js";
112
+ export { ThreadPrimitiveMessages, ThreadPrimitiveMessagesImpl, ThreadPrimitiveMessageByIndex, ThreadPrimitiveUnstable_MessageById, } from "./primitives/thread/ThreadMessages.js";
113
+ export { MessagePrimitiveParts, MessagePartComponent, MessagePrimitivePartByIndex, defaultComponents as messagePartsDefaultComponents, type EnrichedPartState, type PartState, } from "./primitives/message/MessageParts.js";
114
+ export { MessagePrimitiveGroupedParts } from "./primitives/message/MessageGroupedParts.js";
115
+ export { groupPartByType, type GroupByContext } from "./utils/groupParts.js";
116
+ export { MessagePrimitiveGenerativeUI, GenerativeUIRender, GenerativeUIRenderError, } from "./primitives/generativeUI/GenerativeUI.js";
117
+ export { MessagePrimitiveQuote } from "./primitives/message/MessageQuote.js";
118
+ export { MessagePrimitiveAttachments, MessagePrimitiveAttachmentByIndex, } from "./primitives/message/MessageAttachments.js";
119
+ export { ComposerPrimitiveAttachments, ComposerPrimitiveAttachmentByIndex, } from "./primitives/composer/ComposerAttachments.js";
120
+ export { ComposerPrimitiveQueue } from "./primitives/composer/ComposerQueue.js";
121
+ export { ThreadListPrimitiveItems, ThreadListPrimitiveItemByIndex, } from "./primitives/threadList/ThreadListItems.js";
122
+ export { ChainOfThoughtPrimitiveParts } from "./primitives/chainOfThought/ChainOfThoughtParts.js";
123
+ export { PartPrimitiveMessages, PartPrimitiveMessagesImpl, } from "./primitives/part/PartMessages.js";
124
+ export { MessagePartPrimitiveInProgress } from "./primitives/messagePart/MessagePartInProgress.js";
125
+ export { ThreadListItemPrimitiveTitle } from "./primitives/threadListItem/ThreadListItemTitle.js";
126
+ export { ThreadPrimitiveSuggestions, ThreadPrimitiveSuggestionsImpl, ThreadPrimitiveSuggestionByIndex, } from "./primitives/thread/ThreadSuggestions.js";
127
+ export { ComposerPrimitiveIf, type UseComposerIfProps, } from "./primitives/composer/ComposerIf.js";
128
+ export { getMessageQuote } from "./utils/getMessageQuote.js";
129
+ export { useThreadMessages } from "./primitive-hooks/useThreadMessages.js";
130
+ export { unstable_useThreadMessageIds } from "./primitive-hooks/useThreadMessageIds.js";
131
+ export { useThreadIsRunning } from "./primitive-hooks/useThreadIsRunning.js";
132
+ export { useThreadIsEmpty } from "./primitive-hooks/useThreadIsEmpty.js";
133
+ export { useComposerSend } from "./primitive-hooks/useComposerSend.js";
134
+ export { useComposerCancel } from "./primitive-hooks/useComposerCancel.js";
135
+ export { useComposerDictate } from "./primitive-hooks/useComposerDictate.js";
136
+ export { useComposerAddAttachment } from "./primitive-hooks/useComposerAddAttachment.js";
137
+ export { useMessageReload } from "./primitive-hooks/useMessageReload.js";
138
+ export { useMessageBranching } from "./primitive-hooks/useMessageBranching.js";
139
+ export { useActionBarCopy, type UseActionBarCopyOptions, } from "./primitive-hooks/useActionBarCopy.js";
140
+ export { useActionBarEdit } from "./primitive-hooks/useActionBarEdit.js";
141
+ export { useActionBarReload } from "./primitive-hooks/useActionBarReload.js";
142
+ export { useActionBarFeedbackPositive, useActionBarFeedbackNegative, } from "./primitive-hooks/useActionBarFeedback.js";
143
+ export { useActionBarSpeak } from "./primitive-hooks/useActionBarSpeak.js";
144
+ export { useActionBarStopSpeaking } from "./primitive-hooks/useActionBarStopSpeaking.js";
145
+ export { useVoiceState, useVoiceVolume, useVoiceControls, } from "./primitive-hooks/useVoice.js";
146
+ export { useBranchPickerNext } from "./primitive-hooks/useBranchPickerNext.js";
147
+ export { useBranchPickerPrevious } from "./primitive-hooks/useBranchPickerPrevious.js";
148
+ export { useSuggestionTrigger, type UseSuggestionTriggerOptions, } from "./primitive-hooks/useSuggestionTrigger.js";
149
+ export { useThreadListItemArchive } from "./primitive-hooks/useThreadListItemArchive.js";
150
+ export { useThreadListItemDelete } from "./primitive-hooks/useThreadListItemDelete.js";
151
+ export { useThreadListItemUnarchive } from "./primitive-hooks/useThreadListItemUnarchive.js";
152
+ export { useThreadListItemTrigger } from "./primitive-hooks/useThreadListItemTrigger.js";
153
+ export { useThreadListNew } from "./primitive-hooks/useThreadListNew.js";
154
+ export { useThreadListLoadMore } from "./primitive-hooks/useThreadListLoadMore.js";
155
+ export { useEditComposerCancel } from "./primitive-hooks/useEditComposerCancel.js";
156
+ export { useEditComposerSend } from "./primitive-hooks/useEditComposerSend.js";
157
+ export { useMessageError } from "./primitive-hooks/useMessageError.js";
158
+ export { AssistantRuntimeProvider } from "./AssistantRuntimeProvider.js";
159
+ export { useLocalRuntime, splitLocalRuntimeOptions, type LocalRuntimeOptions, } from "./runtimes/useLocalRuntime.js";
160
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}