@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,9 +1,8 @@
1
- import { ThreadAssistantMessagePart, ThreadMessage, ToolCallMessagePart } from "../../types/message.js";
2
- //#region src/runtime/utils/tool-call-tree.d.ts
1
+ import type { ThreadAssistantMessagePart, ThreadMessage, ToolCallMessagePart } from "../../types/message.js";
3
2
  export type ToolCallTreeEntry = {
4
- readonly part: ToolCallMessagePart;
5
- /** Id of the message whose content directly holds `part`. */
6
- readonly messageId: string;
3
+ readonly part: ToolCallMessagePart;
4
+ /** Id of the message whose content directly holds `part`. */
5
+ readonly messageId: string;
7
6
  };
8
7
  /**
9
8
  * Walk every tool-call part reachable from `messages`. A tool call projects a
@@ -31,8 +30,7 @@ export declare function iterateToolCallParts(content: readonly ThreadAssistantMe
31
30
  * whether anything moved.
32
31
  */
33
32
  export declare function mapToolCallPartsDeep(content: readonly ThreadAssistantMessagePart[], fn: (part: ToolCallMessagePart) => ToolCallMessagePart): {
34
- content: readonly ThreadAssistantMessagePart[];
35
- changed: boolean;
33
+ content: readonly ThreadAssistantMessagePart[];
34
+ changed: boolean;
36
35
  };
37
- //#endregion
38
36
  //# sourceMappingURL=tool-call-tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call-tree.d.ts","names":[],"sources":["../../../src/runtime/utils/tool-call-tree.ts"],"mappings":";;YAOY;WACD,MAAM;;WAEN;;;;;;;;;;;;;;;wBAgBM,iBACf,mBAAmB,kBAClB,UAAU;;;;;wBAiBI,qBACf,kBAAkB,+BACjB,UAAU;;;;;;;wBAkBG,qBACd,kBAAkB,8BAClB,KAAK,MAAM,wBAAwB;EAChC,kBAAkB;EAA8B"}
1
+ {"version":3,"file":"tool-call-tree.d.ts","sourceRoot":"","sources":["../../../src/runtime/utils/tool-call-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACpB,+BAA4B;AAE7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAiB,gBAAgB,CAC/B,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,SAAS,CAAC,iBAAiB,CAAC,CAW9B;AAED;;;GAGG;AACH,wBAAiB,oBAAoB,CACnC,OAAO,EAAE,SAAS,0BAA0B,EAAE,GAC7C,SAAS,CAAC,mBAAmB,CAAC,CAUhC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,0BAA0B,EAAE,EAC9C,EAAE,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,mBAAmB,GACrD;IAAE,OAAO,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA4BtE"}
@@ -0,0 +1,10 @@
1
+ import type { Unstable_ToolInteraction, Unstable_ToolInteractionInput, Unstable_ToolInteractionLog } from "../../types/message.js";
2
+ export declare const TOOL_INTERACTION_LIMITS: {
3
+ readonly entries: 32;
4
+ readonly payloadLength: 16384;
5
+ readonly logLength: 65536;
6
+ };
7
+ export declare function createToolInteraction(input: Unstable_ToolInteractionInput, occurredAt?: number): Unstable_ToolInteraction;
8
+ export declare function appendToolInteraction(log: Unstable_ToolInteractionLog | undefined, interaction: Unstable_ToolInteraction): Unstable_ToolInteractionLog;
9
+ export declare function readToolInteractionLog(value: unknown): Unstable_ToolInteractionLog | undefined;
10
+ //# sourceMappingURL=tool-interactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-interactions.d.ts","sourceRoot":"","sources":["../../../src/runtime/utils/tool-interactions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC5B,+BAA4B;AAE7B,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC;AA8CX,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,6BAA6B,EACpC,UAAU,GAAE,MAAmB,GAC9B,wBAAwB,CAkB1B;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,2BAA2B,GAAG,SAAS,EAC5C,WAAW,EAAE,wBAAwB,GACpC,2BAA2B,CAY7B;AAoBD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,2BAA2B,GAAG,SAAS,CA0BzC"}
@@ -0,0 +1,92 @@
1
+ //#region src/runtime/utils/tool-interactions.ts
2
+ const TOOL_INTERACTION_LIMITS = {
3
+ entries: 32,
4
+ payloadLength: 16384,
5
+ logLength: 65536
6
+ };
7
+ const MAX_DEPTH = 64;
8
+ const isPlainObject = (value) => {
9
+ const prototype = Object.getPrototypeOf(value);
10
+ return prototype === Object.prototype || prototype === null;
11
+ };
12
+ const isPlainJSON = (value, ancestors, depth) => {
13
+ if (value === null) return true;
14
+ switch (typeof value) {
15
+ case "string":
16
+ case "boolean": return true;
17
+ case "number": return Number.isFinite(value);
18
+ case "object": break;
19
+ default: return false;
20
+ }
21
+ if (depth > MAX_DEPTH || ancestors.has(value)) return false;
22
+ ancestors.add(value);
23
+ const valid = Array.isArray(value) ? value.every((item) => isPlainJSON(item, ancestors, depth + 1)) : isPlainObject(value) && Object.values(value).every((item) => isPlainJSON(item, ancestors, depth + 1));
24
+ ancestors.delete(value);
25
+ return valid;
26
+ };
27
+ const isJSONObjectValue = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
28
+ const isInteractionType = (value) => value === "action" || value === "human-response";
29
+ function createToolInteraction(input, occurredAt = Date.now()) {
30
+ const { type, payload } = input;
31
+ if (!isInteractionType(type)) throw new Error(`Unknown tool interaction type: ${String(type)}`);
32
+ if (!isPlainJSON(payload, /* @__PURE__ */ new Set(), 0)) throw new Error("A tool interaction payload must be plain JSON.");
33
+ if (type === "action" && !isJSONObjectValue(payload)) throw new Error("An action interaction payload must be a JSON object.");
34
+ const serialized = JSON.stringify(payload);
35
+ if (serialized.length > TOOL_INTERACTION_LIMITS.payloadLength) throw new Error(`A tool interaction payload is limited to ${TOOL_INTERACTION_LIMITS.payloadLength} characters of JSON.`);
36
+ return {
37
+ type,
38
+ occurredAt,
39
+ payload: JSON.parse(serialized)
40
+ };
41
+ }
42
+ function appendToolInteraction(log, interaction) {
43
+ const entries = [...log?.entries ?? [], interaction];
44
+ let omitted = log?.omitted ?? 0;
45
+ while (entries.length > 1 && (entries.length > TOOL_INTERACTION_LIMITS.entries || JSON.stringify(entries).length > TOOL_INTERACTION_LIMITS.logLength)) {
46
+ entries.shift();
47
+ omitted += 1;
48
+ }
49
+ return omitted > 0 ? {
50
+ entries,
51
+ omitted
52
+ } : { entries };
53
+ }
54
+ const readInteraction = (value) => {
55
+ if (!isJSONObjectValue(value)) return void 0;
56
+ const { type, occurredAt, payload } = value;
57
+ if (!isInteractionType(type)) return void 0;
58
+ if (typeof occurredAt !== "number" || !Number.isFinite(occurredAt)) return;
59
+ if (!isPlainJSON(payload, /* @__PURE__ */ new Set(), 0)) return void 0;
60
+ if (type === "action") return isJSONObjectValue(payload) ? {
61
+ type,
62
+ occurredAt,
63
+ payload
64
+ } : void 0;
65
+ return {
66
+ type,
67
+ occurredAt,
68
+ payload
69
+ };
70
+ };
71
+ function readToolInteractionLog(value) {
72
+ if (!isJSONObjectValue(value)) return void 0;
73
+ const { entries, omitted } = value;
74
+ const readable = Array.isArray(entries) ? entries.flatMap((entry) => {
75
+ const interaction = readInteraction(entry);
76
+ return interaction ? [interaction] : [];
77
+ }) : [];
78
+ let omittedEntries = typeof omitted === "number" && Number.isInteger(omitted) && omitted > 0 ? omitted : 0;
79
+ while (readable.length > 1 && (readable.length > TOOL_INTERACTION_LIMITS.entries || JSON.stringify(readable).length > TOOL_INTERACTION_LIMITS.logLength)) {
80
+ readable.shift();
81
+ omittedEntries += 1;
82
+ }
83
+ if (readable.length === 0 && omittedEntries === 0) return void 0;
84
+ return omittedEntries > 0 ? {
85
+ entries: readable,
86
+ omitted: omittedEntries
87
+ } : { entries: readable };
88
+ }
89
+ //#endregion
90
+ export { TOOL_INTERACTION_LIMITS, appendToolInteraction, createToolInteraction, readToolInteractionLog };
91
+
92
+ //# sourceMappingURL=tool-interactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-interactions.js","names":["ReadonlyJSONObject","ReadonlyJSONValue","Unstable_ToolInteraction","Unstable_ToolInteractionInput","Unstable_ToolInteractionLog","TOOL_INTERACTION_LIMITS","entries","payloadLength","logLength","const","MAX_DEPTH","isPlainObject","value","prototype","Object","getPrototypeOf","isPlainJSON","ancestors","Set","depth","Number","isFinite","has","add","valid","Array","isArray","every","item","values","delete","isJSONObjectValue","isInteractionType","createToolInteraction","input","occurredAt","Date","now","type","payload","Error","String","serialized","JSON","stringify","length","parse","appendToolInteraction","log","interaction","omitted","shift","readInteraction","undefined","Record","readToolInteractionLog","readable","flatMap","entry","omittedCount","isInteger","omittedEntries"],"sources":["../../../src/runtime/utils/tool-interactions.ts"],"sourcesContent":["import type {\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"assistant-stream/utils\";\nimport type {\n Unstable_ToolInteraction,\n Unstable_ToolInteractionInput,\n Unstable_ToolInteractionLog,\n} from \"../../types/message\";\n\nexport const TOOL_INTERACTION_LIMITS = {\n entries: 32,\n payloadLength: 16_384,\n logLength: 65_536,\n} as const;\n\nconst MAX_DEPTH = 64;\n\nconst isPlainObject = (value: object): boolean => {\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n};\n\nconst isPlainJSON = (\n value: unknown,\n ancestors: Set<object>,\n depth: number,\n): value is ReadonlyJSONValue => {\n if (value === null) return true;\n switch (typeof value) {\n case \"string\":\n case \"boolean\":\n return true;\n case \"number\":\n return Number.isFinite(value);\n case \"object\":\n break;\n default:\n return false;\n }\n if (depth > MAX_DEPTH || ancestors.has(value)) return false;\n ancestors.add(value);\n const valid = Array.isArray(value)\n ? value.every((item) => isPlainJSON(item, ancestors, depth + 1))\n : isPlainObject(value) &&\n Object.values(value).every((item) =>\n isPlainJSON(item, ancestors, depth + 1),\n );\n ancestors.delete(value);\n return valid;\n};\n\nconst isJSONObjectValue = (value: unknown) =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nconst isInteractionType = (\n value: unknown,\n): value is Unstable_ToolInteraction[\"type\"] =>\n value === \"action\" || value === \"human-response\";\n\nexport function createToolInteraction(\n input: Unstable_ToolInteractionInput,\n occurredAt: number = Date.now(),\n): Unstable_ToolInteraction {\n const { type, payload } = input;\n if (!isInteractionType(type)) {\n throw new Error(`Unknown tool interaction type: ${String(type)}`);\n }\n if (!isPlainJSON(payload, new Set(), 0)) {\n throw new Error(\"A tool interaction payload must be plain JSON.\");\n }\n if (type === \"action\" && !isJSONObjectValue(payload)) {\n throw new Error(\"An action interaction payload must be a JSON object.\");\n }\n const serialized = JSON.stringify(payload);\n if (serialized.length > TOOL_INTERACTION_LIMITS.payloadLength) {\n throw new Error(\n `A tool interaction payload is limited to ${TOOL_INTERACTION_LIMITS.payloadLength} characters of JSON.`,\n );\n }\n return { type, occurredAt, payload: JSON.parse(serialized) };\n}\n\nexport function appendToolInteraction(\n log: Unstable_ToolInteractionLog | undefined,\n interaction: Unstable_ToolInteraction,\n): Unstable_ToolInteractionLog {\n const entries = [...(log?.entries ?? []), interaction];\n let omitted = log?.omitted ?? 0;\n while (\n entries.length > 1 &&\n (entries.length > TOOL_INTERACTION_LIMITS.entries ||\n JSON.stringify(entries).length > TOOL_INTERACTION_LIMITS.logLength)\n ) {\n entries.shift();\n omitted += 1;\n }\n return omitted > 0 ? { entries, omitted } : { entries };\n}\n\nconst readInteraction = (\n value: unknown,\n): Unstable_ToolInteraction | undefined => {\n if (!isJSONObjectValue(value)) return undefined;\n const { type, occurredAt, payload } = value as Record<string, unknown>;\n if (!isInteractionType(type)) return undefined;\n if (typeof occurredAt !== \"number\" || !Number.isFinite(occurredAt)) {\n return undefined;\n }\n if (!isPlainJSON(payload, new Set(), 0)) return undefined;\n if (type === \"action\") {\n return isJSONObjectValue(payload)\n ? { type, occurredAt, payload: payload as ReadonlyJSONObject }\n : undefined;\n }\n return { type, occurredAt, payload };\n};\n\nexport function readToolInteractionLog(\n value: unknown,\n): Unstable_ToolInteractionLog | undefined {\n if (!isJSONObjectValue(value)) return undefined;\n const { entries, omitted } = value as Record<string, unknown>;\n const readable = Array.isArray(entries)\n ? entries.flatMap((entry) => {\n const interaction = readInteraction(entry);\n return interaction ? [interaction] : [];\n })\n : [];\n const omittedCount =\n typeof omitted === \"number\" && Number.isInteger(omitted) && omitted > 0\n ? omitted\n : 0;\n let omittedEntries = omittedCount;\n while (\n readable.length > 1 &&\n (readable.length > TOOL_INTERACTION_LIMITS.entries ||\n JSON.stringify(readable).length > TOOL_INTERACTION_LIMITS.logLength)\n ) {\n readable.shift();\n omittedEntries += 1;\n }\n if (readable.length === 0 && omittedEntries === 0) return undefined;\n return omittedEntries > 0\n ? { entries: readable, omitted: omittedEntries }\n : { entries: readable };\n}\n"],"mappings":";AAUA,MAAaK,0BAA0B;CACrCC,SAAS;CACTC,eAAe;CACfC,WAAW;AACb;AAEA,MAAME,YAAY;AAElB,MAAMC,iBAAiBC,UAA2B;CAChD,MAAMC,YAAYC,OAAOC,eAAeH,KAAK;CAC7C,OAAOC,cAAcC,OAAOD,aAAaA,cAAc;AACzD;AAEA,MAAMG,eACJJ,OACAK,WACAE,UAC+B;CAC/B,IAAIP,UAAU,MAAM,OAAO;CAC3B,QAAQ,OAAOA,OAAf;EACE,KAAK;EACL,KAAK,WACH,OAAO;EACT,KAAK,UACH,OAAOQ,OAAOC,SAAST,KAAK;EAC9B,KAAK,UACH;EACF,SACE,OAAO;CACX;CACA,IAAIO,QAAQT,aAAaO,UAAUK,IAAIV,KAAK,GAAG,OAAO;CACtDK,UAAUM,IAAIX,KAAK;CACnB,MAAMY,QAAQC,MAAMC,QAAQd,KAAK,IAC7BA,MAAMe,OAAOC,SAASZ,YAAYY,MAAMX,WAAWE,QAAQ,CAAC,CAAC,IAC7DR,cAAcC,KAAK,KACnBE,OAAOe,OAAOjB,KAAK,CAAC,CAACe,OAAOC,SAC1BZ,YAAYY,MAAMX,WAAWE,QAAQ,CAAC,CACxC;CACJF,UAAUa,OAAOlB,KAAK;CACtB,OAAOY;AACT;AAEA,MAAMO,qBAAqBnB,UACzB,OAAOA,UAAU,YAAYA,UAAU,QAAQ,CAACa,MAAMC,QAAQd,KAAK;AAErE,MAAMoB,qBACJpB,UAEAA,UAAU,YAAYA,UAAU;AAElC,SAAgBqB,sBACdC,OACAC,aAAqBC,KAAKC,IAAI,GACJ;CAC1B,MAAM,EAAEC,MAAMC,YAAYL;CAC1B,IAAI,CAACF,kBAAkBM,IAAI,GACzB,MAAM,IAAIE,MAAM,kCAAkCC,OAAOH,IAAI,GAAG;CAElE,IAAI,CAACtB,YAAYuB,yBAAS,IAAIrB,IAAI,GAAG,CAAC,GACpC,MAAM,IAAIsB,MAAM,gDAAgD;CAElE,IAAIF,SAAS,YAAY,CAACP,kBAAkBQ,OAAO,GACjD,MAAM,IAAIC,MAAM,sDAAsD;CAExE,MAAME,aAAaC,KAAKC,UAAUL,OAAO;CACzC,IAAIG,WAAWG,SAASxC,wBAAwBE,eAC9C,MAAM,IAAIiC,MACR,4CAA4CnC,wBAAwBE,cAAa,qBACnF;CAEF,OAAO;EAAE+B;EAAMH;EAAYI,SAASI,KAAKG,MAAMJ,UAAU;CAAE;AAC7D;AAEA,SAAgBK,sBACdC,KACAC,aAC6B;CAC7B,MAAM3C,UAAU,CAAC,GAAI0C,KAAK1C,WAAW,CAAA,GAAK2C,WAAW;CACrD,IAAIC,UAAUF,KAAKE,WAAW;CAC9B,OACE5C,QAAQuC,SAAS,MAChBvC,QAAQuC,SAASxC,wBAAwBC,WACxCqC,KAAKC,UAAUtC,OAAO,CAAC,CAACuC,SAASxC,wBAAwBG,YAC3D;EACAF,QAAQ6C,MAAM;EACdD,WAAW;CACb;CACA,OAAOA,UAAU,IAAI;EAAE5C;EAAS4C;CAAQ,IAAI,EAAE5C,QAAQ;AACxD;AAEA,MAAM8C,mBACJxC,UACyC;CACzC,IAAI,CAACmB,kBAAkBnB,KAAK,GAAG,OAAOyC,KAAAA;CACtC,MAAM,EAAEf,MAAMH,YAAYI,YAAY3B;CACtC,IAAI,CAACoB,kBAAkBM,IAAI,GAAG,OAAOe,KAAAA;CACrC,IAAI,OAAOlB,eAAe,YAAY,CAACf,OAAOC,SAASc,UAAU,GAC/D;CAEF,IAAI,CAACnB,YAAYuB,yBAAS,IAAIrB,IAAI,GAAG,CAAC,GAAG,OAAOmC,KAAAA;CAChD,IAAIf,SAAS,UACX,OAAOP,kBAAkBQ,OAAO,IAC5B;EAAED;EAAMH;EAAqBI;CAA8B,IAC3Dc,KAAAA;CAEN,OAAO;EAAEf;EAAMH;EAAYI;CAAQ;AACrC;AAEA,SAAgBgB,uBACd3C,OACyC;CACzC,IAAI,CAACmB,kBAAkBnB,KAAK,GAAG,OAAOyC,KAAAA;CACtC,MAAM,EAAE/C,SAAS4C,YAAYtC;CAC7B,MAAM4C,WAAW/B,MAAMC,QAAQpB,OAAO,IAClCA,QAAQmD,SAASC,UAAU;EACzB,MAAMT,cAAcG,gBAAgBM,KAAK;EACzC,OAAOT,cAAc,CAACA,WAAW,IAAI,CAAA;CACvC,CAAC,IACD,CAAA;CAKJ,IAAIY,iBAHF,OAAOX,YAAY,YAAY9B,OAAOwC,UAAUV,OAAO,KAAKA,UAAU,IAClEA,UACA;CAEN,OACEM,SAASX,SAAS,MACjBW,SAASX,SAASxC,wBAAwBC,WACzCqC,KAAKC,UAAUY,QAAQ,CAAC,CAACX,SAASxC,wBAAwBG,YAC5D;EACAgD,SAASL,MAAM;EACfU,kBAAkB;CACpB;CACA,IAAIL,SAASX,WAAW,KAAKgB,mBAAmB,GAAG,OAAOR,KAAAA;CAC1D,OAAOQ,iBAAiB,IACpB;EAAEvD,SAASkD;EAAUN,SAASW;CAAe,IAC7C,EAAEvD,SAASkD,SAAS;AAC1B"}
@@ -1,4 +1,2 @@
1
- //#region src/runtimes/assistant-transport/utils.d.ts
2
1
  export declare function createRequestHeaders(headersValue: Record<string, string> | Headers | (() => Promise<Record<string, string> | Headers>)): Promise<Headers>;
3
- //#endregion
4
2
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","names":[],"sources":["../../../src/runtimes/assistant-transport/utils.ts"],"mappings":";wBAAsB,qBACpB,cACI,yBACA,iBACO,QAAQ,yBAAyB,YAC3C,QAAQ"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/runtimes/assistant-transport/utils.ts"],"names":[],"mappings":"AAAA,wBAAsB,oBAAoB,CACxC,YAAY,EACR,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,OAAO,GACP,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC,CAOlB"}
@@ -1,217 +1,234 @@
1
- import { AppendMessage, ThreadMessage, ToolCallMessagePart } from "../../types/message.js";
2
- import { AttachmentAdapter } from "../../adapters/attachment.js";
3
- import { FeedbackAdapter } from "../../adapters/feedback.js";
4
- import { DictationAdapter, SpeechSynthesisAdapter } from "../../adapters/speech.js";
5
- import { RealtimeVoiceAdapter } from "../../adapters/voice.js";
6
- import { ThreadMessageLike } from "../../runtime/utils/thread-message-like.js";
7
- import { ExportedMessageRepository, MessageRepository } from "../../runtime/utils/message-repository.js";
8
- import { ExternalThreadQueueAdapter } from "../../runtime/queue/external-thread-queue-adapter.js";
9
- import { AddToolResultOptions, RespondToToolApprovalOptions, ResumeRunConfig, StartRunConfig, ThreadSuggestion } from "../../runtime/interfaces/thread-runtime-core.js";
10
- import { ToolExecutionStatus } from "../tool-invocations/ToolInvocationTracker.js";
11
- import { ReadonlyJSONValue } from "assistant-stream/utils";
12
- //#region src/runtimes/external-store/external-store-adapter.d.ts
1
+ import type { AppendMessage, ThreadMessage, ToolCallMessagePart } from "../../types/message.js";
2
+ import type { ThreadMessageLike } from "../../runtime/utils/thread-message-like.js";
3
+ import type { AttachmentAdapter } from "../../adapters/attachment.js";
4
+ import type { SpeechSynthesisAdapter, DictationAdapter } from "../../adapters/speech.js";
5
+ import type { RealtimeVoiceAdapter } from "../../adapters/voice.js";
6
+ import type { FeedbackAdapter } from "../../adapters/feedback.js";
7
+ import type { AddToolResultOptions, RespondToToolApprovalOptions, Unstable_RecordToolInteractionOptions, StartRunConfig, ResumeRunConfig, ThreadSuggestion } from "../../runtime/interfaces/thread-runtime-core.js";
8
+ import type { ExportedMessageRepository, MessageRepository } from "../../runtime/utils/message-repository.js";
9
+ import type { ReadonlyJSONValue } from "assistant-stream/utils";
10
+ import type { ToolExecutionStatus } from "../tool-invocations/ToolInvocationTracker.js";
11
+ import type { ExternalThreadQueueAdapter } from "../../runtime/queue/external-thread-queue-adapter.js";
13
12
  export type ExternalStoreThreadData<TState extends "regular" | "archived"> = {
14
- status: TState;
15
- id: string;
16
- remoteId?: string | undefined;
17
- externalId?: string | undefined;
18
- title?: string | undefined;
19
- custom?: Record<string, unknown> | undefined;
13
+ status: TState;
14
+ id: string;
15
+ remoteId?: string | undefined;
16
+ externalId?: string | undefined;
17
+ title?: string | undefined;
18
+ custom?: Record<string, unknown> | undefined;
20
19
  };
21
20
  export type ExternalStoreThreadListAdapter = {
22
- /**
23
- * @deprecated This API is still under active development and might change without notice.
24
- */
25
- threadId?: string | undefined;
26
- isLoading?: boolean | undefined;
27
- threads?: readonly ExternalStoreThreadData<"regular">[] | undefined;
28
- archivedThreads?: readonly ExternalStoreThreadData<"archived">[] | undefined;
29
- /**
30
- * @deprecated This API is still under active development and might change without notice.
31
- */
32
- onSwitchToNewThread?: (() => Promise<void> | void) | undefined;
33
- /**
34
- * @deprecated This API is still under active development and might change without notice.
35
- */
36
- onSwitchToThread?: ((threadId: string) => Promise<void> | void) | undefined;
37
- onRename?: (threadId: string, newTitle: string) => (Promise<void> | void) | undefined;
38
- onUpdateCustom?: ((threadId: string, custom: Record<string, unknown> | undefined) => Promise<void> | void) | undefined;
39
- onArchive?: ((threadId: string) => Promise<void> | void) | undefined;
40
- onUnarchive?: ((threadId: string) => Promise<void> | void) | undefined;
41
- onDelete?: ((threadId: string) => Promise<void> | void) | undefined;
21
+ /**
22
+ * @deprecated This API is still under active development and might change without notice.
23
+ */
24
+ threadId?: string | undefined;
25
+ isLoading?: boolean | undefined;
26
+ threads?: readonly ExternalStoreThreadData<"regular">[] | undefined;
27
+ archivedThreads?: readonly ExternalStoreThreadData<"archived">[] | undefined;
28
+ /**
29
+ * @deprecated This API is still under active development and might change without notice.
30
+ */
31
+ onSwitchToNewThread?: (() => Promise<void> | void) | undefined;
32
+ /**
33
+ * @deprecated This API is still under active development and might change without notice.
34
+ */
35
+ onSwitchToThread?: ((threadId: string) => Promise<void> | void) | undefined;
36
+ onRename?: (threadId: string, newTitle: string) => (Promise<void> | void) | undefined;
37
+ onUpdateCustom?: ((threadId: string, custom: Record<string, unknown> | undefined) => Promise<void> | void) | undefined;
38
+ onArchive?: ((threadId: string) => Promise<void> | void) | undefined;
39
+ onUnarchive?: ((threadId: string) => Promise<void> | void) | undefined;
40
+ onDelete?: ((threadId: string) => Promise<void> | void) | undefined;
42
41
  };
43
42
  export type ExternalStoreMessageConverter<T> = (message: T, idx: number) => ThreadMessageLike;
44
43
  /**
45
44
  * @deprecated This API is still under active development and might change without notice.
46
45
  */
47
46
  export type ExternalStoreBranchChange = {
48
- headId: string | null;
49
- visibleMessageIds: readonly string[];
47
+ headId: string | null;
48
+ visibleMessageIds: readonly string[];
50
49
  };
51
50
  type ExternalStoreMessageConverterAdapter<T> = {
52
- convertMessage: ExternalStoreMessageConverter<T>;
51
+ convertMessage: ExternalStoreMessageConverter<T>;
53
52
  };
54
53
  type ExternalStoreAdapterBase<T> = {
55
- /**
56
- * Whether the entire thread is disabled. When `true`, the composer's input
57
- * is also disabled (the user cannot type, attach files, or submit). For a
58
- * narrower gate that keeps the input usable but blocks only sending, use
59
- * `isSendDisabled`.
60
- */
61
- isDisabled?: boolean | undefined;
62
- /**
63
- * Whether sending new messages is currently disabled. When `true`, the
64
- * thread composer's input remains usable but `send()` becomes a no-op
65
- * and the thread composer's `canSend` is `false`. Use this to gate
66
- * sending on external React state (e.g. while tool config is loading)
67
- * without disabling the input itself the way `isDisabled` does. Edit
68
- * composers (saving message edits) intentionally ignore this flag.
69
- */
70
- isSendDisabled?: boolean | undefined;
71
- /**
72
- * Whether the thread is running. When provided, this value flows directly
73
- * to `thread.isRunning`, letting the application keep the thread in a
74
- * running state even after the last assistant message has completed (for
75
- * example while non-message stream chunks like suggestions or metadata
76
- * updates are still arriving). When omitted, `thread.isRunning` falls back
77
- * to the last-message-status heuristic.
78
- */
79
- isRunning?: boolean | undefined;
80
- isLoading?: boolean | undefined;
81
- messages?: readonly T[];
82
- messageRepository?: ExportedMessageRepository;
83
- /**
84
- * An externally owned message repository instance. When provided, the
85
- * thread runtime adopts it as its branch store and swaps to it atomically
86
- * whenever a different instance is passed, so hosts that route multiple
87
- * conversations through one runtime keep each conversation's history and
88
- * branches isolated in its own instance. Omit it to keep the runtime's own
89
- * repository.
90
- */
91
- unstable_messageRepositoryInstance?: MessageRepository | undefined;
92
- suggestions?: readonly ThreadSuggestion[] | undefined;
93
- state?: ReadonlyJSONValue | undefined;
94
- extras?: unknown;
95
- /**
96
- * Applies a message list the runtime rewrote, and is what tells the runtime
97
- * a removal it makes will survive the next snapshot. Without it, cancelling a
98
- * run leaves a trailing user message in the thread and the composer
99
- * untouched; an adapter that removes that message itself owns handing it
100
- * back, because the runtime cannot see a removal it did not make.
101
- */
102
- setMessages?: ((messages: readonly T[]) => void) | undefined;
103
- /**
104
- * Called with each finalized voice transcript message. The host appends it to its own messages under the same id, which is how the runtime knows the host carries it. A host that does not implement this callback keeps transcripts for the session only.
105
- */
106
- onVoiceTranscript?: ((message: ThreadMessage) => void) | undefined;
107
- /**
108
- * Fires when the user explicitly switches branches via the runtime's
109
- * `switchToBranch` action (e.g. a BranchPicker click). It does not fire on
110
- * adapter resync, `append`, edit/regenerate, content-only updates, or while
111
- * the thread is running. Consecutive switches that resolve to the same
112
- * canonical head are de-duped.
113
- *
114
- * `headId` is the canonical (persisted) head of the now-visible branch —
115
- * optimistic/transient ids are never surfaced. `visibleMessageIds` lists the
116
- * visible path in order.
117
- *
118
- * This complements `setMessages` rather than replacing it: switching still
119
- * requires `setMessages`, and this callback does not on its own enable branch
120
- * switching.
121
- *
122
- * @deprecated This API is still under active development and might change without notice.
123
- */
124
- unstable_onBranchChange?: ((event: ExternalStoreBranchChange) => void) | undefined;
125
- onImport?: ((messages: readonly ThreadMessage[]) => void) | undefined;
126
- onExportExternalState?: (() => any) | undefined;
127
- onLoadExternalState?: ((state: any) => void) | undefined;
128
- onNew: (message: AppendMessage) => Promise<void>;
129
- /** Opt in to message queuing. Typically produced by `createMessageQueue`. */
130
- queue?: ExternalThreadQueueAdapter | undefined;
131
- onEdit?: ((message: AppendMessage) => Promise<void>) | undefined;
132
- onDelete?: ((messageId: string) => Promise<void> | void) | undefined;
133
- onReload?: ((parentId: string | null, config: StartRunConfig) => Promise<void>) | undefined;
134
- onResume?: ((config: ResumeRunConfig) => Promise<void>) | undefined;
135
- onCancel?: (() => Promise<void>) | undefined;
136
- /**
137
- * Re-fetches the thread's state from the backing store, in place; a
138
- * rejection reaches the `threads.reloadMainThread()` caller. Unrelated to
139
- * `onReload`, which re-generates an assistant message.
140
- *
141
- * The caller does not stop a run in progress first, so an adapter that can
142
- * stream owns whatever coordination one needs.
143
- */
144
- onRefetchThread?: (() => Promise<void>) | undefined;
145
- onAddToolResult?: ((options: AddToolResultOptions) => Promise<void> | void) | undefined;
146
- onResumeToolCall?: ((options: {
147
- toolCallId: string;
148
- payload: unknown;
149
- }) => void) | undefined;
150
- onRespondToToolApproval?: ((options: RespondToToolApprovalOptions) => Promise<void> | void) | undefined;
151
- convertMessage?: ExternalStoreMessageConverter<T> | undefined;
152
- adapters?: {
153
- attachments?: AttachmentAdapter | undefined;
154
- speech?: SpeechSynthesisAdapter | undefined;
155
- dictation?: DictationAdapter | undefined;
156
- voice?: RealtimeVoiceAdapter | undefined;
157
- feedback?: FeedbackAdapter | undefined;
158
54
  /**
55
+ * The runtime writes its messages to the thread list's history adapter
56
+ * itself, so `useExternalStoreRuntime` does not copy them.
57
+ */
58
+ unstable_persistsHistory?: boolean | undefined;
59
+ /**
60
+ * Whether the entire thread is disabled. When `true`, the composer's input
61
+ * is also disabled (the user cannot type, attach files, or submit). For a
62
+ * narrower gate that keeps the input usable but blocks only sending, use
63
+ * `isSendDisabled`.
64
+ */
65
+ isDisabled?: boolean | undefined;
66
+ /**
67
+ * Whether sending new messages is currently disabled. When `true`, the
68
+ * thread composer's input remains usable but `send()` becomes a no-op
69
+ * and the thread composer's `canSend` is `false`. Use this to gate
70
+ * sending on external React state (e.g. while tool config is loading)
71
+ * without disabling the input itself the way `isDisabled` does. Edit
72
+ * composers (saving message edits) intentionally ignore this flag.
73
+ */
74
+ isSendDisabled?: boolean | undefined;
75
+ /**
76
+ * Whether the thread is running. When provided, this value flows directly
77
+ * to `thread.isRunning`, letting the application keep the thread in a
78
+ * running state even after the last assistant message has completed (for
79
+ * example while non-message stream chunks like suggestions or metadata
80
+ * updates are still arriving). When omitted, `thread.isRunning` falls back
81
+ * to the last-message-status heuristic.
82
+ */
83
+ isRunning?: boolean | undefined;
84
+ isLoading?: boolean | undefined;
85
+ messages?: readonly T[];
86
+ messageRepository?: ExportedMessageRepository;
87
+ /**
88
+ * An externally owned message repository instance. When provided, the
89
+ * thread runtime adopts it as its branch store and swaps to it atomically
90
+ * whenever a different instance is passed, so hosts that route multiple
91
+ * conversations through one runtime keep each conversation's history and
92
+ * branches isolated in its own instance. Omit it to keep the runtime's own
93
+ * repository.
94
+ */
95
+ unstable_messageRepositoryInstance?: MessageRepository | undefined;
96
+ suggestions?: readonly ThreadSuggestion[] | undefined;
97
+ state?: ReadonlyJSONValue | undefined;
98
+ extras?: unknown;
99
+ /**
100
+ * Applies a message list the runtime rewrote, and is what tells the runtime
101
+ * a removal it makes will survive the next snapshot. Without it, cancelling a
102
+ * run leaves a trailing user message in the thread and the composer
103
+ * untouched; an adapter that removes that message itself owns handing it
104
+ * back, because the runtime cannot see a removal it did not make.
105
+ */
106
+ setMessages?: ((messages: readonly T[]) => void) | undefined;
107
+ /**
108
+ * Called with each message a voice session adds to the thread: every finalized transcript, and every text message typed into a session that takes typed text (it carries no `metadata.modality`). The host appends it to its own messages under the same id, which is how the runtime knows the host carries it. A message that finalizes while `isLoading` is true is delivered once loading ends, to the callback on the adapter current at that moment, and is not delivered at all when the conversation changed while it waited. A host that routes conversations through one runtime is recognized by its `unstable_messageRepositoryInstance`; one that swaps only its `messages` cannot be told apart from a load finishing. A host that does not implement this callback keeps these messages for the session only.
109
+ */
110
+ onVoiceTranscript?: ((message: ThreadMessage) => void) | undefined;
111
+ /**
112
+ * Fires when the user explicitly switches branches via the runtime's
113
+ * `switchToBranch` action (e.g. a BranchPicker click). It does not fire on
114
+ * adapter resync, `append`, edit/regenerate, content-only updates, or while
115
+ * the thread is running. Consecutive switches that resolve to the same
116
+ * canonical head are de-duped.
117
+ *
118
+ * `headId` is the canonical (persisted) head of the now-visible branch —
119
+ * optimistic/transient ids are never surfaced. `visibleMessageIds` lists the
120
+ * visible path in order.
121
+ *
122
+ * This complements `setMessages` rather than replacing it: switching still
123
+ * requires `setMessages`, and this callback does not on its own enable branch
124
+ * switching.
125
+ *
159
126
  * @deprecated This API is still under active development and might change without notice.
160
127
  */
161
- threadList?: ExternalStoreThreadListAdapter | undefined;
162
- } | undefined;
163
- unstable_capabilities?: {
164
- copy?: boolean | undefined;
165
- } | undefined;
166
- /**
167
- * Opt in to the built-in client-side tool-invocations pipeline
168
- * (`streamCall` / `execute` / tool-status tracking) for this thread.
169
- *
170
- * Defaults to `false` — the runtime does *not* drive client-side tool
171
- * callbacks on its own. Set to `true` to have the runtime construct a
172
- * `ToolInvocationTracker` and feed every snapshot through it, so tool
173
- * callbacks fire automatically for tool-call parts in `messages`.
174
- *
175
- * Opt-in by default because most external-store runtimes either run
176
- * tools entirely server-side, or already wire their own client-side
177
- * dispatch path. Enabling the embedded tracker on top of an existing
178
- * dispatch path would cause tool callbacks to run twice.
179
- *
180
- * When enabled, client-side tool results (from `execute()` returning,
181
- * or from `streamCall` resolving) flow back through
182
- * `adapter.onAddToolResult` like any other tool result, with
183
- * `modelContent` populated when present.
184
- */
185
- unstable_enableToolInvocations?: boolean | undefined;
186
- /**
187
- * Decides whether a tool call's result is produced on the client. Only
188
- * consulted when `unstable_enableToolInvocations` is `true`.
189
- *
190
- * A provider that runs tools itself answers its own calls, and its result
191
- * arrives one or more snapshots after the call's arguments complete. In
192
- * that window the call is complete and result-less, so a registered tool
193
- * of the same name would otherwise execute locally and produce a result
194
- * the provider never asked for. An adapter that can tell the two apart
195
- * supplies this predicate; it is read once per tool call, when the call is
196
- * first observed live.
197
- *
198
- * The predicate is also what licenses running a frontend tool while the
199
- * provider's run is still open. Without it, ownership is unknown until the
200
- * run ends, so a registered tool executes only once the run's outcome is
201
- * known and cannot fire on a call the provider was about to answer or gate.
202
- */
203
- unstable_isClientToolCall?: ((toolCall: ToolCallMessagePart) => boolean) | undefined;
204
- /**
205
- * Receives the current per-tool-call execution status map whenever it
206
- * changes. Only invoked when `unstable_enableToolInvocations` is `true`
207
- * — the runtime maintains the map via the embedded tracker.
208
- *
209
- * Wire this into local React state and feed it into the converter's
210
- * `metadata.toolStatuses` so the UI can render `executing` spinners
211
- * and human-input prompts.
212
- */
213
- setToolStatuses?: ((statuses: Record<string, ToolExecutionStatus>) => void) | undefined;
128
+ unstable_onBranchChange?: ((event: ExternalStoreBranchChange) => void) | undefined;
129
+ onImport?: ((messages: readonly ThreadMessage[]) => void) | undefined;
130
+ onExportExternalState?: (() => any) | undefined;
131
+ onLoadExternalState?: ((state: any) => void) | undefined;
132
+ onNew: (message: AppendMessage) => Promise<void>;
133
+ /** Opt in to message queuing. Typically produced by `createMessageQueue`. */
134
+ queue?: ExternalThreadQueueAdapter | undefined;
135
+ onEdit?: ((message: AppendMessage) => Promise<void>) | undefined;
136
+ /**
137
+ * Removes a message from the host's store. The runtime drops the message
138
+ * from its branches when `messages` stops carrying the id, and reads a
139
+ * `messages` update that still carries it after every call for it has
140
+ * settled as a declined delete. A host that accepts the delete therefore
141
+ * publishes the removal before the returned promise settles.
142
+ */
143
+ onDelete?: ((messageId: string) => Promise<void> | void) | undefined;
144
+ onReload?: ((parentId: string | null, config: StartRunConfig) => Promise<void>) | undefined;
145
+ onResume?: ((config: ResumeRunConfig) => Promise<void>) | undefined;
146
+ onCancel?: (() => Promise<void>) | undefined;
147
+ /**
148
+ * Re-fetches the thread's state from the backing store, in place; a
149
+ * rejection reaches the `threads.reloadMainThread()` caller. Unrelated to
150
+ * `onReload`, which re-generates an assistant message.
151
+ *
152
+ * The caller does not stop a run in progress first, so an adapter that can
153
+ * stream owns whatever coordination one needs.
154
+ */
155
+ onRefetchThread?: (() => Promise<void>) | undefined;
156
+ onAddToolResult?: ((options: AddToolResultOptions) => Promise<void> | void) | undefined;
157
+ onResumeToolCall?: ((options: {
158
+ toolCallId: string;
159
+ payload: unknown;
160
+ }) => void) | undefined;
161
+ onRespondToToolApproval?: ((options: RespondToToolApprovalOptions) => Promise<void> | void) | undefined;
162
+ /**
163
+ * Stores a user interaction on a tool call part of a message this store
164
+ * owns and exposes it on that part's `unstable_interactions`. Without it,
165
+ * recording an interaction rejects and nothing is kept.
166
+ */
167
+ unstable_onRecordToolInteraction?: ((options: Unstable_RecordToolInteractionOptions) => Promise<void> | void) | undefined;
168
+ convertMessage?: ExternalStoreMessageConverter<T> | undefined;
169
+ adapters?: {
170
+ attachments?: AttachmentAdapter | undefined;
171
+ speech?: SpeechSynthesisAdapter | undefined;
172
+ dictation?: DictationAdapter | undefined;
173
+ voice?: RealtimeVoiceAdapter | undefined;
174
+ feedback?: FeedbackAdapter | undefined;
175
+ /**
176
+ * @deprecated This API is still under active development and might change without notice.
177
+ */
178
+ threadList?: ExternalStoreThreadListAdapter | undefined;
179
+ } | undefined;
180
+ unstable_capabilities?: {
181
+ copy?: boolean | undefined;
182
+ } | undefined;
183
+ /**
184
+ * Opt in to the built-in client-side tool-invocations pipeline
185
+ * (`streamCall` / `execute` / tool-status tracking) for this thread.
186
+ *
187
+ * Defaults to `false` — the runtime does *not* drive client-side tool
188
+ * callbacks on its own. Set to `true` to have the runtime construct a
189
+ * `ToolInvocationTracker` and feed every snapshot through it, so tool
190
+ * callbacks fire automatically for tool-call parts in `messages`.
191
+ *
192
+ * Opt-in by default because most external-store runtimes either run
193
+ * tools entirely server-side, or already wire their own client-side
194
+ * dispatch path. Enabling the embedded tracker on top of an existing
195
+ * dispatch path would cause tool callbacks to run twice.
196
+ *
197
+ * When enabled, client-side tool results (from `execute()` returning,
198
+ * or from `streamCall` resolving) flow back through
199
+ * `adapter.onAddToolResult` like any other tool result, with
200
+ * `modelContent` populated when present.
201
+ */
202
+ unstable_enableToolInvocations?: boolean | undefined;
203
+ /**
204
+ * Decides whether a tool call's result is produced on the client. Only
205
+ * consulted when `unstable_enableToolInvocations` is `true`.
206
+ *
207
+ * A provider that runs tools itself answers its own calls, and its result
208
+ * arrives one or more snapshots after the call's arguments complete. In
209
+ * that window the call is complete and result-less, so a registered tool
210
+ * of the same name would otherwise execute locally and produce a result
211
+ * the provider never asked for. An adapter that can tell the two apart
212
+ * supplies this predicate; it is read once per tool call, when the call is
213
+ * first observed live.
214
+ *
215
+ * The predicate is also what licenses running a frontend tool while the
216
+ * provider's run is still open. Without it, ownership is unknown until the
217
+ * run ends, so a registered tool executes only once the run's outcome is
218
+ * known and cannot fire on a call the provider was about to answer or gate.
219
+ */
220
+ unstable_isClientToolCall?: ((toolCall: ToolCallMessagePart) => boolean) | undefined;
221
+ /**
222
+ * Receives the current per-tool-call execution status map whenever it
223
+ * changes. Only invoked when `unstable_enableToolInvocations` is `true`
224
+ * — the runtime maintains the map via the embedded tracker.
225
+ *
226
+ * Wire this into local React state and feed it into the converter's
227
+ * `metadata.toolStatuses` so the UI can render `executing` spinners
228
+ * and human-input prompts.
229
+ */
230
+ setToolStatuses?: ((statuses: Record<string, ToolExecutionStatus>) => void) | undefined;
214
231
  };
215
232
  export type ExternalStoreAdapter<T = ThreadMessage> = ExternalStoreAdapterBase<T> & (T extends ThreadMessage ? object : ExternalStoreMessageConverterAdapter<T>);
216
- //#endregion
233
+ export {};
217
234
  //# sourceMappingURL=external-store-adapter.d.ts.map