@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 +1 @@
1
- {"version":3,"file":"interactable-composer-metadata.js","names":["isJSONValueEqual","isJSONValue","isRecord","Unstable_InteractableSnapshotEntry","id","name","state","partial","SnapshotCarrierMessage","role","metadata","content","unstable_getInteractableSnapshots","message","undefined","custom","Record","items","interactables","Array","isArray","unstable_formatInteractableSnapshot","entry","JSON","stringify","interactableToolName","replace","getArrayItemId","item","applyArrayUpdate","prev","update","mintId","next","set","clear","remove","length","ids","Set","filter","has","patches","patchesById","Map","candidate","Number","isNaN","map","patch","get","add","added","shallowMergeInteractableState","options","arrayBaseline","idFactory","field","idKeyedFields","ReadonlySet","baseline","Object","entries","key","value","baseValue","push","fromEntries","shallowDiffInteractableState","known","keys","hasOwn","diff","changed","ToolCallLikePart","type","toolCallId","toolName","args","result","asToolCallPart","part","p","updateCallTargets","success","argsId","createAddedItemIdFactory","addedItemIds","idsByField","stringIds","size","shift","Unstable_InteractableVersion","origin","versionsCache","WeakMap","unstable_getInteractableVersions","messages","byName","byId","cached","versions","current","msg","find","it","_id","findModelKnownState","last","gateInteractableComposerMetadata","meta","rest","gated","pending","process","env","NODE_ENV","console","warn"],"sources":["../../src/model-context/interactable-composer-metadata.ts"],"sourcesContent":["import { isJSONValueEqual } from \"../utils/json/is-json-equal\";\nimport { isJSONValue, isRecord } from \"../utils/json/is-json\";\n\n/**\n * Unstable / Experimental — the interactables API is still evolving and may change in any release.\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport type Unstable_InteractableSnapshotEntry = {\n id: string;\n name: string;\n state: unknown;\n /**\n * When true, `state` carries only the top-level fields that changed since\n * the model's last known state; omitted fields are unchanged. The first\n * snapshot of an instance is always full.\n */\n partial?: boolean | undefined;\n};\n\n/**\n * Minimal message shape needed to read snapshots and `update_*` tool calls out\n * of history. Structurally compatible with both `ThreadMessage` and the AI\n * SDK's `UIMessage`.\n */\ntype SnapshotCarrierMessage = {\n role: string;\n metadata?: unknown;\n content?: readonly unknown[] | undefined;\n};\n\n/**\n * Reads the interactable snapshots stamped on a message's\n * `metadata.custom.interactables`, or `undefined` if none. This is the read\n * half of the snapshot channel — integrations use it to surface interactable\n * state to the model (see `unstable_injectInteractableContext` in\n * `@assistant-ui/ai-sdk` for the AI SDK implementation).\n *\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport function unstable_getInteractableSnapshots(message: {\n metadata?: unknown;\n}): Unstable_InteractableSnapshotEntry[] | undefined {\n const metadata = message.metadata;\n if (!metadata || typeof metadata !== \"object\") return undefined;\n const custom = (metadata as Record<string, unknown>).custom;\n if (!custom || typeof custom !== \"object\") return undefined;\n const items = (custom as Record<string, unknown>).interactables;\n return Array.isArray(items)\n ? (items as Unstable_InteractableSnapshotEntry[])\n : undefined;\n}\n\n/**\n * Canonical model-facing wording for one snapshot entry.\n *\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport function unstable_formatInteractableSnapshot(\n entry: Unstable_InteractableSnapshotEntry,\n): string {\n if (entry.partial) {\n return `[State of \"${entry.name}\" (id: ${JSON.stringify(entry.id)}) changed — updated fields: ${JSON.stringify(entry.state)}; fields not listed are unchanged]`;\n }\n return `[Current state of \"${entry.name}\" (id: ${JSON.stringify(entry.id)}): ${JSON.stringify(entry.state)}]`;\n}\n\n/** The model-facing tool name for an interactable `name`. One tool per name. */\nexport function interactableToolName(name: string): string {\n return `update_${name.replace(/[^a-zA-Z0-9_-]/g, \"_\")}`;\n}\n\nconst getArrayItemId = (item: unknown): string | number | undefined => {\n if (!isRecord(item)) return undefined;\n const id = item.id;\n return typeof id === \"string\" || typeof id === \"number\" ? id : undefined;\n};\n\nfunction applyArrayUpdate(\n prev: unknown[],\n update: Record<string, unknown>,\n mintId?: () => string | undefined,\n) {\n let next = Array.isArray(update.set) ? [...update.set] : [...prev];\n\n if (update.clear === true) next = [];\n\n if (Array.isArray(update.remove) && update.remove.length > 0) {\n const ids = new Set(update.remove);\n next = next.filter((item) => {\n const id = getArrayItemId(item);\n return id !== undefined ? !ids.has(id) : !ids.has(item);\n });\n }\n\n const patches = update.update;\n if (Array.isArray(patches) && patches.length > 0) {\n const patchesById = new Map<string | number, Record<string, unknown>>();\n for (const candidate of patches) {\n const id = getArrayItemId(candidate);\n if (id !== undefined && !Number.isNaN(id) && !patchesById.has(id)) {\n patchesById.set(id, candidate as Record<string, unknown>);\n }\n }\n\n next = next.map((item) => {\n const id = getArrayItemId(item);\n if (id === undefined || !isRecord(item)) return item;\n const patch = patchesById.get(id);\n return patch ? { ...item, ...patch } : item;\n });\n }\n\n if (Array.isArray(update.add) && update.add.length > 0) {\n const added = mintId\n ? update.add.map((item) => {\n if (!isRecord(item) || item.id !== undefined) return item;\n const id = mintId();\n return id === undefined ? item : { ...item, id };\n })\n : update.add;\n next = [...next, ...added];\n }\n\n return next;\n}\n\n/**\n * The merge `update_*` tools apply: top-level keys replace, rest preserved.\n * Array fields also accept operation objects (`add`, `update`, `remove`,\n * `clear`, `set`) so collection edits do not need a companion manage_* tool.\n */\nexport function shallowMergeInteractableState(\n prev: unknown,\n partial: unknown,\n options?:\n | {\n arrayBaseline?: unknown;\n /**\n * Supplies ids for added items in id-keyed array fields. The live\n * execute path mints fresh ids; history folds replay ids previously\n * returned by execute.\n */\n idFactory?: (field: string) => string | undefined;\n idKeyedFields?: ReadonlySet<string>;\n }\n | undefined,\n): unknown {\n if (!isRecord(prev) || !isRecord(partial)) return partial;\n const baseline = isRecord(options?.arrayBaseline)\n ? options.arrayBaseline\n : prev;\n const next = Object.entries(prev);\n for (const [key, value] of Object.entries(partial)) {\n const baseValue = baseline[key];\n if (Array.isArray(baseValue) && isRecord(value)) {\n const mintId =\n options?.idFactory &&\n (options.idKeyedFields === undefined || options.idKeyedFields.has(key))\n ? () => options.idFactory?.(key)\n : undefined;\n next.push([key, applyArrayUpdate(baseValue, value, mintId)]);\n } else {\n next.push([key, value]);\n }\n }\n return Object.fromEntries(next);\n}\n\n/**\n * The top-level fields of `next` that differ from `known`, for stamping a\n * partial snapshot. Returns `undefined` when a partial stamp has no benefit:\n * the change is not expressible as a shallow merge (non-object states, or a\n * top-level key was removed), or every field changed anyway — the caller\n * falls back to a full snapshot.\n */\nfunction shallowDiffInteractableState(\n known: unknown,\n next: unknown,\n): Record<string, unknown> | undefined {\n if (!isRecord(known) || !isRecord(next)) return undefined;\n for (const key of Object.keys(known)) {\n if (!Object.hasOwn(next, key)) return undefined;\n }\n const diff: [string, unknown][] = [];\n for (const [key, value] of Object.entries(next)) {\n if (!Object.hasOwn(known, key) || !isJSONValueEqual(known[key], value)) {\n diff.push([key, value]);\n }\n }\n const changed = diff.length;\n if (changed === 0 || changed === Object.keys(next).length) return undefined;\n return Object.fromEntries(diff);\n}\n\ntype ToolCallLikePart = {\n type?: string;\n toolCallId?: string;\n toolName?: string;\n args?: unknown;\n result?: unknown;\n};\n\nconst asToolCallPart = (part: unknown): ToolCallLikePart | undefined => {\n if (!part || typeof part !== \"object\") return undefined;\n const p = part as ToolCallLikePart;\n return p.type === \"tool-call\" ? p : undefined;\n};\n\n/** Whether an accepted `update_*` call addressed instance `id`. */\nconst updateCallTargets = (p: ToolCallLikePart, id: string): boolean => {\n if (!p.args || typeof p.args !== \"object\") return false;\n const result = isRecord(p.result) ? p.result : undefined;\n if (result?.success === false) return false;\n if (typeof result?.id === \"string\") return result.id === id;\n const argsId = (p.args as Record<string, unknown>).id;\n return argsId === id || argsId === undefined;\n};\n\nconst createAddedItemIdFactory = (result: unknown) => {\n const value = isRecord(result) ? result.addedItemIds : undefined;\n if (!isRecord(value)) return undefined;\n\n const idsByField = new Map<string, string[]>();\n for (const [field, ids] of Object.entries(value)) {\n if (!Array.isArray(ids)) continue;\n const stringIds = ids.filter(\n (item): item is string => typeof item === \"string\",\n );\n if (stringIds.length > 0) idsByField.set(field, stringIds);\n }\n if (idsByField.size === 0) return undefined;\n\n return (field: string) => idsByField.get(field)?.shift();\n};\n\n/**\n * Unstable / Experimental — the interactables API is still evolving and may change in any release.\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport type Unstable_InteractableVersion = {\n /** The full state as of this version. */\n state: unknown;\n origin: \"create\" | \"update\" | \"user-edit\";\n /** For create/update versions, the tool call that produced this version. */\n toolCallId?: string | undefined;\n};\n\n// Without this, every mounted anchor re-folds the whole thread on each streaming\n// token, since the repository hands out a new messages array per token.\nconst versionsCache = new WeakMap<\n readonly SnapshotCarrierMessage[],\n Map<string, Map<string, Unstable_InteractableVersion[]>>\n>();\n\n/**\n * Every version of interactable `id` recorded in the thread, oldest first,\n * folded chronologically:\n *\n * - the tool call whose `toolCallId` equals `id` seeds the baseline with its\n * args (`origin: \"create\"`) — the `id: toolCallId` convention for\n * tool-created interactables,\n * - a snapshot stamped on a user message is a `\"user-edit\"` version (a full\n * snapshot replaces the state; a partial one shallow-merges),\n * - each accepted `update_*` call shallow-merges an `\"update\"` version.\n *\n * The last entry is the state the model knows. Partial snapshots and update\n * calls with no baseline to merge into are skipped.\n *\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport function unstable_getInteractableVersions(\n messages: readonly SnapshotCarrierMessage[],\n id: string,\n name: string,\n): Unstable_InteractableVersion[] {\n let byName = versionsCache.get(messages);\n if (!byName) {\n byName = new Map();\n versionsCache.set(messages, byName);\n }\n let byId = byName.get(name);\n if (!byId) {\n byId = new Map();\n byName.set(name, byId);\n }\n const cached = byId.get(id);\n if (cached) return cached;\n\n const toolName = interactableToolName(name);\n const versions: Unstable_InteractableVersion[] = [];\n const current = () => versions[versions.length - 1];\n\n for (const msg of messages) {\n if (msg.role === \"user\") {\n const entry = unstable_getInteractableSnapshots(msg)?.find(\n (it) => it.id === id,\n );\n if (!entry) continue;\n if (entry.partial) {\n const prev = current();\n if (prev) {\n versions.push({\n state: shallowMergeInteractableState(prev.state, entry.state),\n origin: \"user-edit\",\n });\n }\n } else {\n versions.push({ state: entry.state, origin: \"user-edit\" });\n }\n continue;\n }\n\n if (msg.role !== \"assistant\") continue;\n for (const part of msg.content ?? []) {\n const p = asToolCallPart(part);\n if (!p) continue;\n if (p.toolCallId === id && p.toolName === name) {\n if (p.args && typeof p.args === \"object\") {\n versions.push({ state: p.args, origin: \"create\", toolCallId: id });\n }\n } else if (p.toolName === toolName && updateCallTargets(p, id)) {\n const prev = current();\n if (prev) {\n const { id: _id, ...partial } = p.args as Record<string, unknown>;\n const idFactory = createAddedItemIdFactory(p.result);\n versions.push({\n state: idFactory\n ? shallowMergeInteractableState(prev.state, partial, {\n idFactory,\n })\n : shallowMergeInteractableState(prev.state, partial),\n origin: \"update\",\n toolCallId: p.toolCallId,\n });\n }\n }\n }\n }\n byId.set(id, versions);\n return versions;\n}\n\n/**\n * The state the model knows for interactable `id` — its latest recorded\n * version, or `undefined` when no baseline exists yet.\n */\nexport function findModelKnownState(\n messages: readonly SnapshotCarrierMessage[],\n id: string,\n name: string,\n): { state: unknown } | undefined {\n const versions = unstable_getInteractableVersions(messages, id, name);\n const last = versions[versions.length - 1];\n return last ? { state: last.state } : undefined;\n}\n\n/**\n * Snapshot gate. Stamps an interactable only when the model doesn't already\n * know its state (no baseline yet, or the live state differs from the folded\n * thread record). A change that fits a shallow merge is stamped as a partial\n * snapshot carrying just the changed fields; otherwise the full state is\n * stamped. Other metadata keys pass through untouched.\n */\nexport function gateInteractableComposerMetadata(\n meta: Record<string, unknown> | undefined,\n messages: readonly SnapshotCarrierMessage[],\n): Record<string, unknown> | undefined {\n if (!meta) return undefined;\n const { interactables, ...rest } = meta as {\n interactables?: Unstable_InteractableSnapshotEntry[];\n } & Record<string, unknown>;\n\n const gated: Record<string, unknown> = { ...rest };\n if (Array.isArray(interactables)) {\n const pending: Unstable_InteractableSnapshotEntry[] = [];\n for (const it of interactables) {\n if (process.env.NODE_ENV !== \"production\" && !isJSONValue(it.state)) {\n console.warn(\n `[Interactables] state for \"${it.name}\" (${it.id}) is not JSON-equatable ` +\n `(an undefined, NaN, Infinity, function, or symbol value?). It will be ` +\n `re-snapshotted on every send, recreating per-message growth. Use plain ` +\n `JSON values.`,\n );\n }\n const known = findModelKnownState(messages, it.id, it.name);\n if (!known) {\n pending.push({ id: it.id, name: it.name, state: it.state });\n continue;\n }\n if (isJSONValueEqual(it.state, known.state)) continue;\n const diff = shallowDiffInteractableState(known.state, it.state);\n pending.push(\n diff\n ? { id: it.id, name: it.name, state: diff, partial: true }\n : { id: it.id, name: it.name, state: it.state },\n );\n }\n if (pending.length) gated.interactables = pending;\n }\n return Object.keys(gated).length ? gated : undefined;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"interactable-composer-metadata.js","names":["isJSONValueEqual","isJSONValue","isRecord","Unstable_InteractableSnapshotEntry","id","name","state","partial","SnapshotCarrierMessage","role","metadata","content","unstable_getInteractableSnapshots","message","undefined","custom","Record","items","interactables","Array","isArray","unstable_formatInteractableSnapshot","entry","JSON","stringify","interactableToolName","replace","getArrayItemId","item","overlayPartialPath","prev","value","partialPath","next","key","rest","Object","hasOwn","applyArrayUpdate","update","mintId","set","clear","remove","length","ids","Set","filter","has","patches","patchesById","Map","candidate","Number","isNaN","streaming","patch","slice","map","get","add","added","shallowMergeInteractableState","options","arrayBaseline","idFactory","field","idKeyedFields","ReadonlySet","baseline","entries","baseValue","streamingPath","push","fromEntries","shallowDiffInteractableState","known","keys","diff","changed","ToolCallLikePart","type","toolCallId","toolName","args","result","asToolCallPart","part","p","updateCallTargets","success","argsId","createAddedItemIdFactory","addedItemIds","idsByField","stringIds","size","shift","Unstable_InteractableVersion","origin","versionsCache","WeakMap","unstable_getInteractableVersions","messages","byName","byId","cached","versions","current","msg","find","it","_id","findModelKnownState","last","gateInteractableComposerMetadata","meta","gated","pending","process","env","NODE_ENV","console","warn"],"sources":["../../src/model-context/interactable-composer-metadata.ts"],"sourcesContent":["import { isJSONValueEqual } from \"../utils/json/is-json-equal\";\nimport { isJSONValue, isRecord } from \"../utils/json/is-json\";\n\n/**\n * Unstable / Experimental — the interactables API is still evolving and may change in any release.\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport type Unstable_InteractableSnapshotEntry = {\n id: string;\n name: string;\n state: unknown;\n /**\n * When true, `state` carries only the top-level fields that changed since\n * the model's last known state; omitted fields are unchanged. The first\n * snapshot of an instance is always full.\n */\n partial?: boolean | undefined;\n};\n\n/**\n * Minimal message shape needed to read snapshots and `update_*` tool calls out\n * of history. Structurally compatible with both `ThreadMessage` and the AI\n * SDK's `UIMessage`.\n */\ntype SnapshotCarrierMessage = {\n role: string;\n metadata?: unknown;\n content?: readonly unknown[] | undefined;\n};\n\n/**\n * Reads the interactable snapshots stamped on a message's\n * `metadata.custom.interactables`, or `undefined` if none. This is the read\n * half of the snapshot channel — integrations use it to surface interactable\n * state to the model (see `unstable_injectInteractableContext` in\n * `@assistant-ui/ai-sdk` for the AI SDK implementation).\n *\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport function unstable_getInteractableSnapshots(message: {\n metadata?: unknown;\n}): Unstable_InteractableSnapshotEntry[] | undefined {\n const metadata = message.metadata;\n if (!metadata || typeof metadata !== \"object\") return undefined;\n const custom = (metadata as Record<string, unknown>).custom;\n if (!custom || typeof custom !== \"object\") return undefined;\n const items = (custom as Record<string, unknown>).interactables;\n return Array.isArray(items)\n ? (items as Unstable_InteractableSnapshotEntry[])\n : undefined;\n}\n\n/**\n * Canonical model-facing wording for one snapshot entry.\n *\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport function unstable_formatInteractableSnapshot(\n entry: Unstable_InteractableSnapshotEntry,\n): string {\n if (entry.partial) {\n return `[State of \"${entry.name}\" (id: ${JSON.stringify(entry.id)}) changed — updated fields: ${JSON.stringify(entry.state)}; fields not listed are unchanged]`;\n }\n return `[Current state of \"${entry.name}\" (id: ${JSON.stringify(entry.id)}): ${JSON.stringify(entry.state)}]`;\n}\n\n/** The model-facing tool name for an interactable `name`. One tool per name. */\nexport function interactableToolName(name: string): string {\n return `update_${name.replace(/[^a-zA-Z0-9_-]/g, \"_\")}`;\n}\n\nconst getArrayItemId = (item: unknown): string | number | undefined => {\n if (!isRecord(item)) return undefined;\n const id = item.id;\n return typeof id === \"string\" || typeof id === \"number\" ? id : undefined;\n};\n\n/**\n * Overlays a streamed `value` onto `prev` along the parser's `partialPath`:\n * the record still being written keeps the fields of `prev` it has not\n * reached yet, while every field the parser has closed replaces its previous\n * value, as the final merge will.\n */\nexport function overlayPartialPath(\n prev: unknown,\n value: unknown,\n partialPath: readonly string[] = [],\n): unknown {\n if (!isRecord(prev) || !isRecord(value)) return value;\n const next: Record<string, unknown> = { ...prev, ...value };\n const [key, ...rest] = partialPath;\n if (key !== undefined && Object.hasOwn(value, key)) {\n next[key] = overlayPartialPath(prev[key], value[key], rest);\n }\n return next;\n}\n\nfunction applyArrayUpdate(\n prev: unknown[],\n update: Record<string, unknown>,\n mintId?: () => string | undefined,\n partialPath?: readonly string[],\n) {\n let next = Array.isArray(update.set) ? [...update.set] : [...prev];\n\n if (update.clear === true) next = [];\n\n if (Array.isArray(update.remove) && update.remove.length > 0) {\n const ids = new Set(update.remove);\n next = next.filter((item) => {\n const id = getArrayItemId(item);\n return id !== undefined ? !ids.has(id) : !ids.has(item);\n });\n }\n\n const patches = update.update;\n if (Array.isArray(patches) && patches.length > 0) {\n const patchesById = new Map<string | number, Record<string, unknown>>();\n for (const candidate of patches) {\n const id = getArrayItemId(candidate);\n if (id !== undefined && !Number.isNaN(id) && !patchesById.has(id)) {\n patchesById.set(id, candidate as Record<string, unknown>);\n }\n }\n\n const streaming =\n partialPath?.[0] === \"update\"\n ? { patch: patches[Number(partialPath[1])], rest: partialPath.slice(2) }\n : undefined;\n next = next.map((item) => {\n const id = getArrayItemId(item);\n if (id === undefined || !isRecord(item)) return item;\n const patch = patchesById.get(id);\n if (!patch) return item;\n return streaming && patch === streaming.patch\n ? overlayPartialPath(item, patch, streaming.rest)\n : { ...item, ...patch };\n });\n }\n\n if (Array.isArray(update.add) && update.add.length > 0) {\n const added = mintId\n ? update.add.map((item) => {\n if (!isRecord(item) || item.id !== undefined) return item;\n const id = mintId();\n return id === undefined ? item : { ...item, id };\n })\n : update.add;\n next = [...next, ...added];\n }\n\n return next;\n}\n\n/**\n * The merge `update_*` tools apply: top-level keys replace, rest preserved.\n * Array fields also accept operation objects (`add`, `update`, `remove`,\n * `clear`, `set`) so collection edits do not need a companion manage_* tool.\n */\nexport function shallowMergeInteractableState(\n prev: unknown,\n partial: unknown,\n options?:\n | {\n arrayBaseline?: unknown;\n /**\n * Supplies ids for added items in id-keyed array fields. The live\n * execute path mints fresh ids; history folds replay ids previously\n * returned by execute.\n */\n idFactory?: (field: string) => string | undefined;\n idKeyedFields?: ReadonlySet<string>;\n /**\n * The path of the value the argument parser reports as still\n * streaming. The record there is overlaid onto its previous value\n * so its unwritten fields hold until the model writes them; omitted\n * once the arguments are complete.\n */\n partialPath?: readonly string[] | undefined;\n }\n | undefined,\n): unknown {\n if (!isRecord(prev) || !isRecord(partial)) return partial;\n const baseline = isRecord(options?.arrayBaseline)\n ? options.arrayBaseline\n : prev;\n const partialPath = options?.partialPath;\n const next = Object.entries(prev);\n for (const [key, value] of Object.entries(partial)) {\n const baseValue = baseline[key];\n const streamingPath =\n partialPath?.[0] === key ? partialPath.slice(1) : undefined;\n if (Array.isArray(baseValue) && isRecord(value)) {\n const mintId =\n options?.idFactory &&\n (options.idKeyedFields === undefined || options.idKeyedFields.has(key))\n ? () => options.idFactory?.(key)\n : undefined;\n next.push([\n key,\n applyArrayUpdate(baseValue, value, mintId, streamingPath),\n ]);\n } else if (streamingPath) {\n next.push([key, overlayPartialPath(prev[key], value, streamingPath)]);\n } else {\n next.push([key, value]);\n }\n }\n return Object.fromEntries(next);\n}\n\n/**\n * The top-level fields of `next` that differ from `known`, for stamping a\n * partial snapshot. Returns `undefined` when a partial stamp has no benefit:\n * the change is not expressible as a shallow merge (non-object states, or a\n * top-level key was removed), or every field changed anyway — the caller\n * falls back to a full snapshot.\n */\nfunction shallowDiffInteractableState(\n known: unknown,\n next: unknown,\n): Record<string, unknown> | undefined {\n if (!isRecord(known) || !isRecord(next)) return undefined;\n for (const key of Object.keys(known)) {\n if (!Object.hasOwn(next, key)) return undefined;\n }\n const diff: [string, unknown][] = [];\n for (const [key, value] of Object.entries(next)) {\n if (!Object.hasOwn(known, key) || !isJSONValueEqual(known[key], value)) {\n diff.push([key, value]);\n }\n }\n const changed = diff.length;\n if (changed === 0 || changed === Object.keys(next).length) return undefined;\n return Object.fromEntries(diff);\n}\n\ntype ToolCallLikePart = {\n type?: string;\n toolCallId?: string;\n toolName?: string;\n args?: unknown;\n result?: unknown;\n};\n\nconst asToolCallPart = (part: unknown): ToolCallLikePart | undefined => {\n if (!part || typeof part !== \"object\") return undefined;\n const p = part as ToolCallLikePart;\n return p.type === \"tool-call\" ? p : undefined;\n};\n\n/** Whether an accepted `update_*` call addressed instance `id`. */\nconst updateCallTargets = (p: ToolCallLikePart, id: string): boolean => {\n if (!p.args || typeof p.args !== \"object\") return false;\n const result = isRecord(p.result) ? p.result : undefined;\n if (result?.success === false) return false;\n if (typeof result?.id === \"string\") return result.id === id;\n const argsId = (p.args as Record<string, unknown>).id;\n return argsId === id || argsId === undefined;\n};\n\nconst createAddedItemIdFactory = (result: unknown) => {\n const value = isRecord(result) ? result.addedItemIds : undefined;\n if (!isRecord(value)) return undefined;\n\n const idsByField = new Map<string, string[]>();\n for (const [field, ids] of Object.entries(value)) {\n if (!Array.isArray(ids)) continue;\n const stringIds = ids.filter(\n (item): item is string => typeof item === \"string\",\n );\n if (stringIds.length > 0) idsByField.set(field, stringIds);\n }\n if (idsByField.size === 0) return undefined;\n\n return (field: string) => idsByField.get(field)?.shift();\n};\n\n/**\n * Unstable / Experimental — the interactables API is still evolving and may change in any release.\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport type Unstable_InteractableVersion = {\n /** The full state as of this version. */\n state: unknown;\n origin: \"create\" | \"update\" | \"user-edit\";\n /** For create/update versions, the tool call that produced this version. */\n toolCallId?: string | undefined;\n};\n\n// Without this, every mounted anchor re-folds the whole thread on each streaming\n// token, since the repository hands out a new messages array per token.\nconst versionsCache = new WeakMap<\n readonly SnapshotCarrierMessage[],\n Map<string, Map<string, Unstable_InteractableVersion[]>>\n>();\n\n/**\n * Every version of interactable `id` recorded in the thread, oldest first,\n * folded chronologically:\n *\n * - the tool call whose `toolCallId` equals `id` seeds the baseline with its\n * args (`origin: \"create\"`) — the `id: toolCallId` convention for\n * tool-created interactables,\n * - a snapshot stamped on a user message is a `\"user-edit\"` version (a full\n * snapshot replaces the state; a partial one shallow-merges),\n * - each accepted `update_*` call shallow-merges an `\"update\"` version.\n *\n * The last entry is the state the model knows. Partial snapshots and update\n * calls with no baseline to merge into are skipped.\n *\n * @deprecated Unstable / Experimental (not actually removed).\n */\nexport function unstable_getInteractableVersions(\n messages: readonly SnapshotCarrierMessage[],\n id: string,\n name: string,\n): Unstable_InteractableVersion[] {\n let byName = versionsCache.get(messages);\n if (!byName) {\n byName = new Map();\n versionsCache.set(messages, byName);\n }\n let byId = byName.get(name);\n if (!byId) {\n byId = new Map();\n byName.set(name, byId);\n }\n const cached = byId.get(id);\n if (cached) return cached;\n\n const toolName = interactableToolName(name);\n const versions: Unstable_InteractableVersion[] = [];\n const current = () => versions[versions.length - 1];\n\n for (const msg of messages) {\n if (msg.role === \"user\") {\n const entry = unstable_getInteractableSnapshots(msg)?.find(\n (it) => it.id === id,\n );\n if (!entry) continue;\n if (entry.partial) {\n const prev = current();\n if (prev) {\n versions.push({\n state: shallowMergeInteractableState(prev.state, entry.state),\n origin: \"user-edit\",\n });\n }\n } else {\n versions.push({ state: entry.state, origin: \"user-edit\" });\n }\n continue;\n }\n\n if (msg.role !== \"assistant\") continue;\n for (const part of msg.content ?? []) {\n const p = asToolCallPart(part);\n if (!p) continue;\n if (p.toolCallId === id && p.toolName === name) {\n if (p.args && typeof p.args === \"object\") {\n versions.push({ state: p.args, origin: \"create\", toolCallId: id });\n }\n } else if (p.toolName === toolName && updateCallTargets(p, id)) {\n const prev = current();\n if (prev) {\n const { id: _id, ...partial } = p.args as Record<string, unknown>;\n const idFactory = createAddedItemIdFactory(p.result);\n versions.push({\n state: idFactory\n ? shallowMergeInteractableState(prev.state, partial, {\n idFactory,\n })\n : shallowMergeInteractableState(prev.state, partial),\n origin: \"update\",\n toolCallId: p.toolCallId,\n });\n }\n }\n }\n }\n byId.set(id, versions);\n return versions;\n}\n\n/**\n * The state the model knows for interactable `id` — its latest recorded\n * version, or `undefined` when no baseline exists yet.\n */\nexport function findModelKnownState(\n messages: readonly SnapshotCarrierMessage[],\n id: string,\n name: string,\n): { state: unknown } | undefined {\n const versions = unstable_getInteractableVersions(messages, id, name);\n const last = versions[versions.length - 1];\n return last ? { state: last.state } : undefined;\n}\n\n/**\n * Snapshot gate. Stamps an interactable only when the model doesn't already\n * know its state (no baseline yet, or the live state differs from the folded\n * thread record). A change that fits a shallow merge is stamped as a partial\n * snapshot carrying just the changed fields; otherwise the full state is\n * stamped. Other metadata keys pass through untouched.\n */\nexport function gateInteractableComposerMetadata(\n meta: Record<string, unknown> | undefined,\n messages: readonly SnapshotCarrierMessage[],\n): Record<string, unknown> | undefined {\n if (!meta) return undefined;\n const { interactables, ...rest } = meta as {\n interactables?: Unstable_InteractableSnapshotEntry[];\n } & Record<string, unknown>;\n\n const gated: Record<string, unknown> = { ...rest };\n if (Array.isArray(interactables)) {\n const pending: Unstable_InteractableSnapshotEntry[] = [];\n for (const it of interactables) {\n if (process.env.NODE_ENV !== \"production\" && !isJSONValue(it.state)) {\n console.warn(\n `[Interactables] state for \"${it.name}\" (${it.id}) is not JSON-equatable ` +\n `(an undefined, NaN, Infinity, function, or symbol value?). It will be ` +\n `re-snapshotted on every send, recreating per-message growth. Use plain ` +\n `JSON values.`,\n );\n }\n const known = findModelKnownState(messages, it.id, it.name);\n if (!known) {\n pending.push({ id: it.id, name: it.name, state: it.state });\n continue;\n }\n if (isJSONValueEqual(it.state, known.state)) continue;\n const diff = shallowDiffInteractableState(known.state, it.state);\n pending.push(\n diff\n ? { id: it.id, name: it.name, state: diff, partial: true }\n : { id: it.id, name: it.name, state: it.state },\n );\n }\n if (pending.length) gated.interactables = pending;\n }\n return Object.keys(gated).length ? gated : undefined;\n}\n"],"mappings":";;;;;;;;;;;;AAuCA,SAAgBY,kCAAkCC,SAEG;CACnD,MAAMH,WAAWG,QAAQH;CACzB,IAAI,CAACA,YAAY,OAAOA,aAAa,UAAU,OAAOI,KAAAA;CACtD,MAAMC,SAAUL,SAAqCK;CACrD,IAAI,CAACA,UAAU,OAAOA,WAAW,UAAU,OAAOD,KAAAA;CAClD,MAAMG,QAASF,OAAmCG;CAClD,OAAOC,MAAMC,QAAQH,KAAK,IACrBA,QACDH,KAAAA;AACN;;;;;;AAOA,SAAgBO,oCACdC,OACQ;CACR,IAAIA,MAAMf,SACR,OAAO,cAAce,MAAMjB,KAAI,SAAUkB,KAAKC,UAAUF,MAAMlB,EAAE,EAAC,8BAA+BmB,KAAKC,UAAUF,MAAMhB,KAAK,EAAC;CAE7H,OAAO,sBAAsBgB,MAAMjB,KAAI,SAAUkB,KAAKC,UAAUF,MAAMlB,EAAE,EAAC,KAAMmB,KAAKC,UAAUF,MAAMhB,KAAK,EAAC;AAC5G;;AAGA,SAAgBmB,qBAAqBpB,MAAsB;CACzD,OAAO,UAAUA,KAAKqB,QAAQ,mBAAmB,GAAG;AACtD;AAEA,MAAMC,kBAAkBC,SAA+C;CACrE,IAAI,CAAC1B,SAAS0B,IAAI,GAAG,OAAOd,KAAAA;CAC5B,MAAMV,KAAKwB,KAAKxB;CAChB,OAAO,OAAOA,OAAO,YAAY,OAAOA,OAAO,WAAWA,KAAKU,KAAAA;AACjE;;;;;;;AAQA,SAAgBe,mBACdC,MACAC,OACAC,cAAiC,CAAA,GACxB;CACT,IAAI,CAAC9B,SAAS4B,IAAI,KAAK,CAAC5B,SAAS6B,KAAK,GAAG,OAAOA;CAChD,MAAME,OAAgC;EAAE,GAAGH;EAAM,GAAGC;CAAM;CAC1D,MAAM,CAACG,KAAK,GAAGC,QAAQH;CACvB,IAAIE,QAAQpB,KAAAA,KAAasB,OAAOC,OAAON,OAAOG,GAAG,GAC/CD,KAAKC,OAAOL,mBAAmBC,KAAKI,MAAMH,MAAMG,MAAMC,IAAI;CAE5D,OAAOF;AACT;AAEA,SAASK,iBACPR,MACAS,QACAC,QACAR,aACA;CACA,IAAIC,OAAOd,MAAMC,QAAQmB,OAAOE,GAAG,IAAI,CAAC,GAAGF,OAAOE,GAAG,IAAI,CAAC,GAAGX,IAAI;CAEjE,IAAIS,OAAOG,UAAU,MAAMT,OAAO,CAAA;CAElC,IAAId,MAAMC,QAAQmB,OAAOI,MAAM,KAAKJ,OAAOI,OAAOC,SAAS,GAAG;EAC5D,MAAMC,MAAM,IAAIC,IAAIP,OAAOI,MAAM;EACjCV,OAAOA,KAAKc,QAAQnB,SAAS;GAC3B,MAAMxB,KAAKuB,eAAeC,IAAI;GAC9B,OAAOxB,OAAOU,KAAAA,IAAY,CAAC+B,IAAIG,IAAI5C,EAAE,IAAI,CAACyC,IAAIG,IAAIpB,IAAI;EACxD,CAAC;CACH;CAEA,MAAMqB,UAAUV,OAAOA;CACvB,IAAIpB,MAAMC,QAAQ6B,OAAO,KAAKA,QAAQL,SAAS,GAAG;EAChD,MAAMM,8BAAc,IAAIC,IAA8C;EACtE,KAAK,MAAMC,aAAaH,SAAS;GAC/B,MAAM7C,KAAKuB,eAAeyB,SAAS;GACnC,IAAIhD,OAAOU,KAAAA,KAAa,CAACuC,OAAOC,MAAMlD,EAAE,KAAK,CAAC8C,YAAYF,IAAI5C,EAAE,GAC9D8C,YAAYT,IAAIrC,IAAIgD,SAAoC;EAE5D;EAEA,MAAMG,YACJvB,cAAc,OAAO,WACjB;GAAEwB,OAAOP,QAAQI,OAAOrB,YAAY,EAAE;GAAIG,MAAMH,YAAYyB,MAAM,CAAC;EAAE,IACrE3C,KAAAA;EACNmB,OAAOA,KAAKyB,KAAK9B,SAAS;GACxB,MAAMxB,KAAKuB,eAAeC,IAAI;GAC9B,IAAIxB,OAAOU,KAAAA,KAAa,CAACZ,SAAS0B,IAAI,GAAG,OAAOA;GAChD,MAAM4B,QAAQN,YAAYS,IAAIvD,EAAE;GAChC,IAAI,CAACoD,OAAO,OAAO5B;GACnB,OAAO2B,aAAaC,UAAUD,UAAUC,QACpC3B,mBAAmBD,MAAM4B,OAAOD,UAAUpB,IAAI,IAC9C;IAAE,GAAGP;IAAM,GAAG4B;GAAM;EAC1B,CAAC;CACH;CAEA,IAAIrC,MAAMC,QAAQmB,OAAOqB,GAAG,KAAKrB,OAAOqB,IAAIhB,SAAS,GAAG;EACtD,MAAMiB,QAAQrB,SACVD,OAAOqB,IAAIF,KAAK9B,SAAS;GACvB,IAAI,CAAC1B,SAAS0B,IAAI,KAAKA,KAAKxB,OAAOU,KAAAA,GAAW,OAAOc;GACrD,MAAMxB,KAAKoC,OAAO;GAClB,OAAOpC,OAAOU,KAAAA,IAAYc,OAAO;IAAE,GAAGA;IAAMxB;GAAG;EACjD,CAAC,IACDmC,OAAOqB;EACX3B,OAAO,CAAC,GAAGA,MAAM,GAAG4B,KAAK;CAC3B;CAEA,OAAO5B;AACT;;;;;;AAOA,SAAgB6B,8BACdhC,MACAvB,SACAwD,SAmBS;CACT,IAAI,CAAC7D,SAAS4B,IAAI,KAAK,CAAC5B,SAASK,OAAO,GAAG,OAAOA;CAClD,MAAM8D,WAAWnE,SAAS6D,SAASC,aAAa,IAC5CD,QAAQC,gBACRlC;CACJ,MAAME,cAAc+B,SAAS/B;CAC7B,MAAMC,OAAOG,OAAOkC,QAAQxC,IAAI;CAChC,KAAK,MAAM,CAACI,KAAKH,UAAUK,OAAOkC,QAAQ/D,OAAO,GAAG;EAClD,MAAMgE,YAAYF,SAASnC;EAC3B,MAAMsC,gBACJxC,cAAc,OAAOE,MAAMF,YAAYyB,MAAM,CAAC,IAAI3C,KAAAA;EACpD,IAAIK,MAAMC,QAAQmD,SAAS,KAAKrE,SAAS6B,KAAK,GAAG;GAC/C,MAAMS,SACJuB,SAASE,cACRF,QAAQI,kBAAkBrD,KAAAA,KAAaiD,QAAQI,cAAcnB,IAAId,GAAG,WAC3D6B,QAAQE,YAAY/B,GAAG,IAC7BpB,KAAAA;GACNmB,KAAKwC,KAAK,CACRvC,KACAI,iBAAiBiC,WAAWxC,OAAOS,QAAQgC,aAAa,CAAC,CAC1D;EACH,OAAO,IAAIA,eACTvC,KAAKwC,KAAK,CAACvC,KAAKL,mBAAmBC,KAAKI,MAAMH,OAAOyC,aAAa,CAAC,CAAC;OAEpEvC,KAAKwC,KAAK,CAACvC,KAAKH,KAAK,CAAC;CAE1B;CACA,OAAOK,OAAOsC,YAAYzC,IAAI;AAChC;;;;;;;;AASA,SAAS0C,6BACPC,OACA3C,MACqC;CACrC,IAAI,CAAC/B,SAAS0E,KAAK,KAAK,CAAC1E,SAAS+B,IAAI,GAAG,OAAOnB,KAAAA;CAChD,KAAK,MAAMoB,OAAOE,OAAOyC,KAAKD,KAAK,GACjC,IAAI,CAACxC,OAAOC,OAAOJ,MAAMC,GAAG,GAAG,OAAOpB,KAAAA;CAExC,MAAMgE,OAA4B,CAAA;CAClC,KAAK,MAAM,CAAC5C,KAAKH,UAAUK,OAAOkC,QAAQrC,IAAI,GAC5C,IAAI,CAACG,OAAOC,OAAOuC,OAAO1C,GAAG,KAAK,CAAClC,iBAAiB4E,MAAM1C,MAAMH,KAAK,GACnE+C,KAAKL,KAAK,CAACvC,KAAKH,KAAK,CAAC;CAG1B,MAAMgD,UAAUD,KAAKlC;CACrB,IAAImC,YAAY,KAAKA,YAAY3C,OAAOyC,KAAK5C,IAAI,CAAC,CAACW,QAAQ,OAAO9B,KAAAA;CAClE,OAAOsB,OAAOsC,YAAYI,IAAI;AAChC;AAUA,MAAMQ,kBAAkBC,SAAgD;CACtE,IAAI,CAACA,QAAQ,OAAOA,SAAS,UAAU,OAAOzE,KAAAA;CAC9C,MAAM0E,IAAID;CACV,OAAOC,EAAEP,SAAS,cAAcO,IAAI1E,KAAAA;AACtC;;AAGA,MAAM2E,qBAAqBD,GAAqBpF,OAAwB;CACtE,IAAI,CAACoF,EAAEJ,QAAQ,OAAOI,EAAEJ,SAAS,UAAU,OAAO;CAClD,MAAMC,SAASnF,SAASsF,EAAEH,MAAM,IAAIG,EAAEH,SAASvE,KAAAA;CAC/C,IAAIuE,QAAQK,YAAY,OAAO,OAAO;CACtC,IAAI,OAAOL,QAAQjF,OAAO,UAAU,OAAOiF,OAAOjF,OAAOA;CACzD,MAAMuF,SAAUH,EAAEJ,KAAiChF;CACnD,OAAOuF,WAAWvF,MAAMuF,WAAW7E,KAAAA;AACrC;AAEA,MAAM8E,4BAA4BP,WAAoB;CACpD,MAAMtD,QAAQ7B,SAASmF,MAAM,IAAIA,OAAOQ,eAAe/E,KAAAA;CACvD,IAAI,CAACZ,SAAS6B,KAAK,GAAG,OAAOjB,KAAAA;CAE7B,MAAMgF,6BAAa,IAAI3C,IAAsB;CAC7C,KAAK,MAAM,CAACe,OAAOrB,QAAQT,OAAOkC,QAAQvC,KAAK,GAAG;EAChD,IAAI,CAACZ,MAAMC,QAAQyB,GAAG,GAAG;EACzB,MAAMkD,YAAYlD,IAAIE,QACnBnB,SAAyB,OAAOA,SAAS,QAC5C;EACA,IAAImE,UAAUnD,SAAS,GAAGkD,WAAWrD,IAAIyB,OAAO6B,SAAS;CAC3D;CACA,IAAID,WAAWE,SAAS,GAAG,OAAOlF,KAAAA;CAElC,QAAQoD,UAAkB4B,WAAWnC,IAAIO,KAAK,CAAC,EAAE+B,MAAM;AACzD;AAgBA,MAAMG,gCAAgB,IAAIC,QAGxB;;;;;;;;;;;;;;;;;AAkBF,SAAgBC,iCACdC,UACAnG,IACAC,MACgC;CAChC,IAAImG,SAASJ,cAAczC,IAAI4C,QAAQ;CACvC,IAAI,CAACC,QAAQ;EACXA,yBAAS,IAAIrD,IAAI;EACjBiD,cAAc3D,IAAI8D,UAAUC,MAAM;CACpC;CACA,IAAIC,OAAOD,OAAO7C,IAAItD,IAAI;CAC1B,IAAI,CAACoG,MAAM;EACTA,uBAAO,IAAItD,IAAI;EACfqD,OAAO/D,IAAIpC,MAAMoG,IAAI;CACvB;CACA,MAAMC,SAASD,KAAK9C,IAAIvD,EAAE;CAC1B,IAAIsG,QAAQ,OAAOA;CAEnB,MAAMvB,WAAW1D,qBAAqBpB,IAAI;CAC1C,MAAMsG,WAA2C,CAAA;CACjD,MAAMC,gBAAgBD,SAASA,SAAS/D,SAAS;CAEjD,KAAK,MAAMiE,OAAON,UAAU;EAC1B,IAAIM,IAAIpG,SAAS,QAAQ;GACvB,MAAMa,QAAQV,kCAAkCiG,GAAG,CAAC,EAAEC,MACnDC,OAAOA,GAAG3G,OAAOA,EACpB;GACA,IAAI,CAACkB,OAAO;GACZ,IAAIA,MAAMf,SAAS;IACjB,MAAMuB,OAAO8E,QAAQ;IACrB,IAAI9E,MACF6E,SAASlC,KAAK;KACZnE,OAAOwD,8BAA8BhC,KAAKxB,OAAOgB,MAAMhB,KAAK;KAC5D6F,QAAQ;IACV,CAAC;GAEL,OACEQ,SAASlC,KAAK;IAAEnE,OAAOgB,MAAMhB;IAAO6F,QAAQ;GAAY,CAAC;GAE3D;EACF;EAEA,IAAIU,IAAIpG,SAAS,aAAa;EAC9B,KAAK,MAAM8E,QAAQsB,IAAIlG,WAAW,CAAA,GAAI;GACpC,MAAM6E,IAAIF,eAAeC,IAAI;GAC7B,IAAI,CAACC,GAAG;GACR,IAAIA,EAAEN,eAAe9E,MAAMoF,EAAEL,aAAa9E,MACpCmF;QAAAA,EAAEJ,QAAQ,OAAOI,EAAEJ,SAAS,UAC9BuB,SAASlC,KAAK;KAAEnE,OAAOkF,EAAEJ;KAAMe,QAAQ;KAAUjB,YAAY9E;IAAG,CAAC;GAAA,OAE9D,IAAIoF,EAAEL,aAAaA,YAAYM,kBAAkBD,GAAGpF,EAAE,GAAG;IAC9D,MAAM0B,OAAO8E,QAAQ;IACrB,IAAI9E,MAAM;KACR,MAAM,EAAE1B,IAAI4G,KAAK,GAAGzG,YAAYiF,EAAEJ;KAClC,MAAMnB,YAAY2B,yBAAyBJ,EAAEH,MAAM;KACnDsB,SAASlC,KAAK;MACZnE,OAAO2D,YACHH,8BAA8BhC,KAAKxB,OAAOC,SAAS,EACjD0D,UACF,CAAC,IACDH,8BAA8BhC,KAAKxB,OAAOC,OAAO;MACrD4F,QAAQ;MACRjB,YAAYM,EAAEN;KAChB,CAAC;IACH;GACF;EACF;CACF;CACAuB,KAAKhE,IAAIrC,IAAIuG,QAAQ;CACrB,OAAOA;AACT;;;;;AAMA,SAAgBM,oBACdV,UACAnG,IACAC,MACgC;CAChC,MAAMsG,WAAWL,iCAAiCC,UAAUnG,IAAIC,IAAI;CACpE,MAAM6G,OAAOP,SAASA,SAAS/D,SAAS;CACxC,OAAOsE,OAAO,EAAE5G,OAAO4G,KAAK5G,MAAM,IAAIQ,KAAAA;AACxC;;;;;;;;AASA,SAAgBqG,iCACdC,MACAb,UACqC;CACrC,IAAI,CAACa,MAAM,OAAOtG,KAAAA;CAClB,MAAM,EAAEI,eAAe,GAAGiB,SAASiF;CAInC,MAAMC,QAAiC,EAAE,GAAGlF,KAAK;CACjD,IAAIhB,MAAMC,QAAQF,aAAa,GAAG;EAChC,MAAMoG,UAAgD,CAAA;EACtD,KAAK,MAAMP,MAAM7F,eAAe;GAC9B,IAAIqG,QAAQC,IAAIC,aAAa,gBAAgB,CAACxH,YAAY8G,GAAGzG,KAAK,GAChEoH,QAAQC,KACN,8BAA8BZ,GAAG1G,KAAI,KAAM0G,GAAG3G,GAAE,kLAIlD;GAEF,MAAMwE,QAAQqC,oBAAoBV,UAAUQ,GAAG3G,IAAI2G,GAAG1G,IAAI;GAC1D,IAAI,CAACuE,OAAO;IACV0C,QAAQ7C,KAAK;KAAErE,IAAI2G,GAAG3G;KAAIC,MAAM0G,GAAG1G;KAAMC,OAAOyG,GAAGzG;IAAM,CAAC;IAC1D;GACF;GACA,IAAIN,iBAAiB+G,GAAGzG,OAAOsE,MAAMtE,KAAK,GAAG;GAC7C,MAAMwE,OAAOH,6BAA6BC,MAAMtE,OAAOyG,GAAGzG,KAAK;GAC/DgH,QAAQ7C,KACNK,OACI;IAAE1E,IAAI2G,GAAG3G;IAAIC,MAAM0G,GAAG1G;IAAMC,OAAOwE;IAAMvE,SAAS;GAAK,IACvD;IAAEH,IAAI2G,GAAG3G;IAAIC,MAAM0G,GAAG1G;IAAMC,OAAOyG,GAAGzG;GAAM,CAClD;EACF;EACA,IAAIgH,QAAQ1E,QAAQyE,MAAMnG,gBAAgBoG;CAC5C;CACA,OAAOlF,OAAOyC,KAAKwC,KAAK,CAAC,CAACzE,SAASyE,QAAQvG,KAAAA;AAC7C"}
@@ -1,15 +1,13 @@
1
- import { AssistantInstructionsConfig, AssistantToolProps } from "./types.js";
2
- //#region src/model-context/registry-handles.d.ts
1
+ import type { AssistantToolProps, AssistantInstructionsConfig } from "./types.js";
3
2
  export interface ModelContextRegistryToolHandle<TArgs extends Record<string, unknown> = any, TResult = any> {
4
- update(tool: AssistantToolProps<TArgs, TResult>): void;
5
- remove(): void;
3
+ update(tool: AssistantToolProps<TArgs, TResult>): void;
4
+ remove(): void;
6
5
  }
7
6
  export interface ModelContextRegistryInstructionHandle {
8
- update(config: string | AssistantInstructionsConfig): void;
9
- remove(): void;
7
+ update(config: string | AssistantInstructionsConfig): void;
8
+ remove(): void;
10
9
  }
11
10
  export interface ModelContextRegistryProviderHandle {
12
- remove(): void;
11
+ remove(): void;
13
12
  }
14
- //#endregion
15
13
  //# sourceMappingURL=registry-handles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry-handles.d.ts","names":[],"sources":["../../src/model-context/registry-handles.ts"],"mappings":";;iBAEiB,+BACf,cAAc,+BACd;EAEA,OAAO,MAAM,mBAAmB,OAAO;EACvC;;iBAGe;EACf,OAAO,iBAAiB;EACxB;;iBAGe;EACf"}
1
+ {"version":3,"file":"registry-handles.d.ts","sourceRoot":"","sources":["../../src/model-context/registry-handles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,mBAAgB;AAE/E,MAAM,WAAW,8BAA8B,CAC7C,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,EAC3C,OAAO,GAAG,GAAG;IAEb,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvD,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,qCAAqC;IACpD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,2BAA2B,GAAG,IAAI,CAAC;IAC3D,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,kCAAkC;IACjD,MAAM,IAAI,IAAI,CAAC;CAChB"}
@@ -1,19 +1,17 @@
1
- import { Unsubscribe } from "../types/unsubscribe.js";
2
- import { AssistantInstructionsConfig, AssistantToolProps, ModelContext, ModelContextProvider } from "./types.js";
3
- import { ModelContextRegistryInstructionHandle, ModelContextRegistryProviderHandle, ModelContextRegistryToolHandle } from "./registry-handles.js";
4
- //#region src/model-context/registry.d.ts
1
+ import { type ModelContext, type ModelContextProvider, type AssistantToolProps, type AssistantInstructionsConfig } from "./types.js";
2
+ import type { Unsubscribe } from "../types/unsubscribe.js";
3
+ import type { ModelContextRegistryToolHandle, ModelContextRegistryInstructionHandle, ModelContextRegistryProviderHandle } from "./registry-handles.js";
5
4
  export declare class ModelContextRegistry implements ModelContextProvider {
6
- private _tools;
7
- private _instructions;
8
- private _contextProviders;
9
- private _subscribers;
10
- constructor();
11
- getModelContext(): ModelContext;
12
- subscribe(callback: () => void): Unsubscribe;
13
- private notifySubscribers;
14
- addTool<TArgs extends Record<string, unknown>, TResult>(tool: AssistantToolProps<TArgs, TResult>): ModelContextRegistryToolHandle<TArgs, TResult>;
15
- addInstruction(config: string | AssistantInstructionsConfig): ModelContextRegistryInstructionHandle;
16
- addProvider(provider: ModelContextProvider): ModelContextRegistryProviderHandle;
5
+ private _tools;
6
+ private _instructions;
7
+ private _contextProviders;
8
+ private _subscribers;
9
+ constructor();
10
+ getModelContext(): ModelContext;
11
+ subscribe(callback: () => void): Unsubscribe;
12
+ private notifySubscribers;
13
+ addTool<TArgs extends Record<string, unknown>, TResult>(tool: AssistantToolProps<TArgs, TResult>): ModelContextRegistryToolHandle<TArgs, TResult>;
14
+ addInstruction(config: string | AssistantInstructionsConfig): ModelContextRegistryInstructionHandle;
15
+ addProvider(provider: ModelContextProvider): ModelContextRegistryProviderHandle;
17
16
  }
18
- //#endregion
19
17
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","names":[],"sources":["../../src/model-context/registry.ts"],"mappings":";;;;qBAiBa,gCAAgC;UACnC;UACA;UACA;UACA;;EAQR,mBAAmB;EA+CnB,UAAU,uBAAuB;UAKzB;EAIR,QAAQ,cAAc,yBAAyB,SAC7C,MAAM,mBAAmB,OAAO,WAC/B,+BAA+B,OAAO;EAoBzC,eACE,iBAAiB,8BAChB;EAiCH,YACE,UAAU,uBACT"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/model-context/registry.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EACjC,mBAAgB;AAGjB,OAAO,KAAK,EAAE,WAAW,EAAE,gCAA6B;AACxD,OAAO,KAAK,EACV,8BAA8B,EAC9B,qCAAqC,EACrC,kCAAkC,EACnC,8BAA2B;AAG5B,qBAAa,oBAAqB,YAAW,oBAAoB;IAC/D,OAAO,CAAC,MAAM,CAAmD;IACjE,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,YAAY,CAAyB;;IAQ7C,eAAe,IAAI,YAAY;IA+C/B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAK5C,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EACpD,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,GACvC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC;IAoBjD,cAAc,CACZ,MAAM,EAAE,MAAM,GAAG,2BAA2B,GAC3C,qCAAqC;IAiCxC,WAAW,CACT,QAAQ,EAAE,oBAAoB,GAC7B,kCAAkC;CAQtC"}
@@ -1,25 +1,24 @@
1
- //#region src/model-context/tool-call-text.d.ts
2
1
  type ToolCallRunningText<TArgs extends Record<string, unknown>, TValue> = TValue | undefined | null | ((options: {
3
- args: TArgs;
2
+ args: TArgs;
4
3
  }) => TValue | undefined | null);
5
4
  type ToolCallCompleteText<TArgs extends Record<string, unknown>, TResult, TValue> = TValue | undefined | null | ((options: {
6
- args: TArgs;
7
- result: TResult | undefined;
5
+ args: TArgs;
6
+ result: TResult | undefined;
8
7
  }) => TValue | undefined | null);
9
8
  export type ToolCallText<TArgs extends Record<string, unknown>, TResult, TValue = string> = {
10
- running: ToolCallRunningText<TArgs, TValue>;
11
- complete?: ToolCallCompleteText<TArgs, TResult, TValue> | undefined;
9
+ running: ToolCallRunningText<TArgs, TValue>;
10
+ complete?: ToolCallCompleteText<TArgs, TResult, TValue> | undefined;
12
11
  } | {
13
- running?: ToolCallRunningText<TArgs, TValue> | undefined;
14
- complete: ToolCallCompleteText<TArgs, TResult, TValue>;
12
+ running?: ToolCallRunningText<TArgs, TValue> | undefined;
13
+ complete: ToolCallCompleteText<TArgs, TResult, TValue>;
15
14
  };
16
15
  type ToolCallTextPart<TArgs extends Record<string, unknown>, TResult> = {
17
- readonly args: TArgs;
18
- readonly result?: TResult | undefined;
19
- readonly status?: {
20
- readonly type?: string | undefined;
21
- } | undefined;
16
+ readonly args: TArgs;
17
+ readonly result?: TResult | undefined;
18
+ readonly status?: {
19
+ readonly type?: string | undefined;
20
+ } | undefined;
22
21
  };
23
22
  export declare const resolveToolCallText: <TArgs extends Record<string, unknown>, TResult, TValue>(text: ToolCallText<TArgs, TResult, TValue>, part: ToolCallTextPart<TArgs, TResult>) => TValue | undefined | null;
24
- //#endregion
23
+ export {};
25
24
  //# sourceMappingURL=tool-call-text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call-text.d.ts","names":[],"sources":["../../src/model-context/tool-call-text.ts"],"mappings":";KAAK,oBAAoB,cAAc,yBAAyB,UAC5D,8BAGE;EAAW,MAAM;MAAY;KAE9B,qBACH,cAAc,yBACd,SACA,UAEE,8BAGE;EACA,MAAM;EACN,QAAQ;MACJ;YAEE,aACV,cAAc,yBACd,SACA;EAGI,SAAS,oBAAoB,OAAO;EACpC,WAAW,qBAAqB,OAAO,SAAS;;EAGhD,UAAU,oBAAoB,OAAO;EACrC,UAAU,qBAAqB,OAAO,SAAS;;KAGhD,iBAAiB,cAAc,yBAAyB;WAClD,MAAM;WACN,SAAS;WACT;aAAoB;;;qBAGlB,sBACX,cAAc,yBACd,SACA,QAEA,MAAM,aAAa,OAAO,SAAS,SACnC,MAAM,iBAAiB,OAAO,aAC7B"}
1
+ {"version":3,"file":"tool-call-text.d.ts","sourceRoot":"","sources":["../../src/model-context/tool-call-text.ts"],"names":[],"mappings":"AAAA,KAAK,mBAAmB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAClE,MAAM,GACN,SAAS,GACT,IAAI,GACJ,CAAC,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAE9D,KAAK,oBAAoB,CACvB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,EACP,MAAM,IAEJ,MAAM,GACN,SAAS,GACT,IAAI,GACJ,CAAC,CAAC,OAAO,EAAE;IACT,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAErC,MAAM,MAAM,YAAY,CACtB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,EACP,MAAM,GAAG,MAAM,IAEb;IACE,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACrE,GACD;IACE,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,QAAQ,EAAE,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;CACxD,CAAC;AAEN,KAAK,gBAAgB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,IAAI;IACtE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;CACtE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,EACP,MAAM,EAEN,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAC1C,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,KACrC,MAAM,GAAG,SAAS,GAAG,IAoBvB,CAAC"}
@@ -1,16 +1,15 @@
1
- import { Tool } from "assistant-stream";
2
- //#region src/model-context/tool.d.ts
1
+ import type { Tool } from "assistant-stream";
3
2
  type StandardSchemaInput<TSchema> = TSchema extends {
4
- readonly "~standard": {
5
- readonly types?: {
6
- readonly input: infer TInput;
7
- } | undefined;
8
- };
3
+ readonly "~standard": {
4
+ readonly types?: {
5
+ readonly input: infer TInput;
6
+ } | undefined;
7
+ };
9
8
  } ? TInput extends Record<string, unknown> ? TInput : Record<string, unknown> : Record<string, unknown>;
10
9
  type StandardSchemaParameters = Extract<NonNullable<Extract<Tool<any>, {
11
- parameters: unknown;
10
+ parameters: unknown;
12
11
  }>["parameters"]>, {
13
- readonly "~standard": unknown;
12
+ readonly "~standard": unknown;
14
13
  }>;
15
14
  /**
16
15
  * Defines a model tool with its argument schema, execution behavior, and
@@ -38,8 +37,8 @@ type StandardSchemaParameters = Extract<NonNullable<Extract<Tool<any>, {
38
37
  * ```
39
38
  */
40
39
  export declare function tool<const TSchema extends StandardSchemaParameters, TResult = any>(tool: Tool<StandardSchemaInput<TSchema>, TResult> & {
41
- parameters: TSchema;
40
+ parameters: TSchema;
42
41
  }): Tool<StandardSchemaInput<TSchema>, TResult>;
43
42
  export declare function tool<TArgs extends Record<string, unknown>, TResult = any>(tool: Tool<TArgs, TResult>): Tool<TArgs, TResult>;
44
- //#endregion
43
+ export {};
45
44
  //# sourceMappingURL=tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","names":[],"sources":["../../src/model-context/tool.ts"],"mappings":";;KAEK,oBAAoB,WAAW;WACzB;aACE;eAAmB,aAAa;;;IAGzC,eAAe,0BACb,SACA,0BACF;KAEC,2BAA2B,QAC9B,YAAY,QAAQ;EAAa;;WACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4BG,WACR,gBAAgB,0BACtB,eAEA,MAAM,KAAK,oBAAoB,UAAU;EAAa,YAAY;IACjE,KAAK,oBAAoB,UAAU;wBACtB,KAAK,cAAc,yBAAyB,eAC1D,MAAM,KAAK,OAAO,WACjB,KAAK,OAAO"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/model-context/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,KAAK,mBAAmB,CAAC,OAAO,IAAI,OAAO,SAAS;IAClD,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,KAAK,CAAC,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;KAC/D,CAAC;CACH,GACG,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,KAAK,wBAAwB,GAAG,OAAO,CACrC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EACtE;IAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAClC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,IAAI,CAClB,KAAK,CAAC,OAAO,SAAS,wBAAwB,EAC9C,OAAO,GAAG,GAAG,EAEb,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC1E,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/C,wBAAgB,IAAI,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,GAAG,EACvE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GACzB,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC"}
@@ -1,50 +1,48 @@
1
- import { Unsubscribe } from "../types/unsubscribe.js";
2
- import { Tool } from "assistant-stream";
3
- //#region src/model-context/types.d.ts
1
+ import type { Unsubscribe } from "../types/unsubscribe.js";
2
+ import type { Tool } from "assistant-stream";
4
3
  export type LanguageModelV1CallSettings = {
5
- maxTokens?: number;
6
- temperature?: number;
7
- topP?: number;
8
- presencePenalty?: number;
9
- frequencyPenalty?: number;
10
- seed?: number;
11
- headers?: Record<string, string | undefined>;
4
+ maxTokens?: number;
5
+ temperature?: number;
6
+ topP?: number;
7
+ presencePenalty?: number;
8
+ frequencyPenalty?: number;
9
+ seed?: number;
10
+ headers?: Record<string, string | undefined>;
12
11
  };
13
12
  export type LanguageModelConfig = {
14
- apiKey?: string;
15
- baseUrl?: string;
16
- modelName?: string;
17
- reasoningEffort?: string;
13
+ apiKey?: string;
14
+ baseUrl?: string;
15
+ modelName?: string;
16
+ reasoningEffort?: string;
18
17
  };
19
18
  export type ModelContext = {
20
- priority?: number | undefined;
21
- system?: string | undefined;
22
- tools?: Record<string, Tool<any, any>> | undefined;
23
- callSettings?: LanguageModelV1CallSettings | undefined;
24
- config?: LanguageModelConfig | undefined;
25
- /**
26
- * Persisted message metadata pulled at send time and merged into the outgoing
27
- * user message's `metadata.custom` (not forwarded to the model directly).
28
- * Ignored by the transport, which only reads system/tools/callSettings/config.
29
- */
30
- unstable_composerMetadata?: Record<string, unknown> | undefined;
19
+ priority?: number | undefined;
20
+ system?: string | undefined;
21
+ tools?: Record<string, Tool<any, any>> | undefined;
22
+ callSettings?: LanguageModelV1CallSettings | undefined;
23
+ config?: LanguageModelConfig | undefined;
24
+ /**
25
+ * Persisted message metadata pulled at send time and merged into the outgoing
26
+ * user message's `metadata.custom` (not forwarded to the model directly).
27
+ * Ignored by the transport, which only reads system/tools/callSettings/config.
28
+ */
29
+ unstable_composerMetadata?: Record<string, unknown> | undefined;
31
30
  };
32
31
  export type ModelContextProvider = {
33
- getModelContext: () => ModelContext;
34
- subscribe?: (callback: () => void) => Unsubscribe;
32
+ getModelContext: () => ModelContext;
33
+ subscribe?: (callback: () => void) => Unsubscribe;
35
34
  };
36
35
  export type AssistantToolProps<TArgs extends Record<string, unknown>, TResult> = Tool<TArgs, TResult> & {
37
- toolName: string;
38
- render?: unknown;
36
+ toolName: string;
37
+ render?: unknown;
39
38
  };
40
39
  export type AssistantInstructionsConfig = {
41
- disabled?: boolean | undefined;
42
- instruction: string;
40
+ disabled?: boolean | undefined;
41
+ instruction: string;
43
42
  };
44
43
  export type AssistantContextConfig = {
45
- getContext: () => string;
46
- disabled?: boolean | undefined;
44
+ getContext: () => string;
45
+ disabled?: boolean | undefined;
47
46
  };
48
47
  export declare const mergeModelContexts: (configSet: Set<ModelContextProvider>) => ModelContext;
49
- //#endregion
50
48
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/model-context/types.ts"],"mappings":";;;YAIY;EACV;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;;YAGA;EACV;EACA;EACA;EACA;;YAGU;EACV;EACA;EACA,QAAQ,eAAe;EACvB,eAAe;EACf,SAAS;;;;;;EAMT,4BAA4B;;YAGlB;EACV,uBAAuB;EACvB,aAAa,yBAAyB;;YAG5B,mBACV,cAAc,yBACd,WACE,KAAK,OAAO;EACd;EACA;;YAGU;EACV;EACA;;YAGU;EACV;EACA;;qBASW,qBACX,WAAW,IAAI,0BACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model-context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gCAA6B;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IACnD,YAAY,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACvD,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACzC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,EAAE,MAAM,YAAY,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,WAAW,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,IACL,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAQF,eAAO,MAAM,kBAAkB,GAC7B,WAAW,GAAG,CAAC,oBAAoB,CAAC,KACnC,YAwEF,CAAC"}
@@ -1,13 +1,11 @@
1
- import { AssistantRuntime } from "../runtime/api/assistant-runtime.js";
2
- import { ComponentType, FC, PropsWithChildren } from "react";
3
- import { AssistantClient, AuiConfig } from "@assistant-ui/store";
4
- //#region src/react/AssistantProvider.d.ts
1
+ import { type ComponentType, type FC, type PropsWithChildren } from "react";
2
+ import { AuiConfig, type AssistantClient } from "@assistant-ui/store";
3
+ import type { AssistantRuntime } from "../runtime/api/assistant-runtime.js";
5
4
  export declare const getRenderComponent: (runtime: AssistantRuntime) => ComponentType | undefined;
6
5
  export type AssistantProviderBaseProps = PropsWithChildren<{
7
- runtime: AssistantRuntime;
8
- aui?: AssistantClient | null | undefined;
9
- config?: AuiConfig | undefined;
6
+ runtime: AssistantRuntime;
7
+ aui?: AssistantClient | null | undefined;
8
+ config?: AuiConfig | undefined;
10
9
  }>;
11
10
  export declare const AssistantProviderBase: FC<AssistantProviderBaseProps>;
12
- //#endregion
13
11
  //# sourceMappingURL=AssistantProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantProvider.d.ts","names":[],"sources":["../../src/react/AssistantProvider.tsx"],"mappings":";;;;qBAea,qBAAsB,SAAS,qBAEnB;YAGb,6BAA6B;EACvC,SAAS;EACT,MAAM;EACN,SAAS;;qBA2BE,uBAAuB,GAAG"}
1
+ {"version":3,"file":"AssistantProvider.d.ts","sourceRoot":"","sources":["../../src/react/AssistantProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,EAAE,EACP,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AACf,OAAO,EACL,SAAS,EAET,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,4CAAyC;AAIzE,eAAO,MAAM,kBAAkB,GAAI,SAAS,gBAAgB,KAEnC,aAAa,GAAG,SACxC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;IACzD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAChC,CAAC,CAAC;AA0BH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CAMhE,CAAC"}
@@ -1,7 +1,6 @@
1
- import { AssistantRuntime } from "../runtime/api/assistant-runtime.js";
2
- import { ReactNode } from "react";
3
- import { AssistantClient, AuiConfig } from "@assistant-ui/store";
4
- //#region src/react/AssistantRuntimeProvider.d.ts
1
+ import { type ReactNode } from "react";
2
+ import type { AssistantClient, AuiConfig } from "@assistant-ui/store";
3
+ import type { AssistantRuntime } from "../runtime/api/assistant-runtime.js";
5
4
  /**
6
5
  * Mounts an `AssistantRuntime` into the React tree.
7
6
  *
@@ -24,26 +23,25 @@ import { AssistantClient, AuiConfig } from "@assistant-ui/store";
24
23
  * }
25
24
  * ```
26
25
  */
27
- export declare const AssistantRuntimeProvider: import("react").MemoExoticComponent<({ runtime, aui, config, children }: {
28
- /**
29
- * The assistant runtime to expose to descendants. Build one with
30
- * `useLocalRuntime`, `useExternalStoreRuntime`, or
31
- * `useAssistantTransportRuntime`.
32
- */
33
- runtime: AssistantRuntime;
34
- /**
35
- * Optional parent `AssistantClient` whose scopes are inherited by the
36
- * client created for this runtime. Use this when nesting an
37
- * `AssistantRuntimeProvider` inside another assistant context.
38
- * @defaultValue null
39
- */
40
- aui?: AssistantClient | null;
41
- /**
42
- * Optional extra scopes provided alongside the runtime's `threads`
43
- * scope; build with `AuiConfig`.
44
- */
45
- config?: AuiConfig;
46
- children: ReactNode;
26
+ export declare const AssistantRuntimeProvider: import("react").MemoExoticComponent<({ runtime, aui, config, children, }: {
27
+ /**
28
+ * The assistant runtime to expose to descendants. Build one with
29
+ * `useLocalRuntime`, `useExternalStoreRuntime`, or
30
+ * `useAssistantTransportRuntime`.
31
+ */
32
+ runtime: AssistantRuntime;
33
+ /**
34
+ * Optional parent `AssistantClient` whose scopes are inherited by the
35
+ * client created for this runtime. Use this when nesting an
36
+ * `AssistantRuntimeProvider` inside another assistant context.
37
+ * @defaultValue null
38
+ */
39
+ aui?: AssistantClient | null;
40
+ /**
41
+ * Optional extra scopes provided alongside the runtime's `threads`
42
+ * scope; build with `AuiConfig`.
43
+ */
44
+ config?: AuiConfig;
45
+ children: ReactNode;
47
46
  }) => import("react").JSX.Element>;
48
- //#endregion
49
47
  //# sourceMappingURL=AssistantRuntimeProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantRuntimeProvider.d.ts","names":[],"sources":["../../src/react/AssistantRuntimeProvider.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;qBA2Ba,0CAAwB,uBAAA,SAAA,KAAA,QAAA;;;;;;EAYjC,SAAS;;;;;;;EAOT,MAAM;;;;;EAKN,SAAS;EACT,UAAU;sBACX,IAAA"}
1
+ {"version":3,"file":"AssistantRuntimeProvider.d.ts","sourceRoot":"","sources":["../../src/react/AssistantRuntimeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,4CAAyC;AAGzE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB,4EAMhC;IACD;;;;OAIG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,iCAWF,CAAC"}
@@ -1,7 +1,5 @@
1
- import { AssistantRuntime } from "../runtime/api/assistant-runtime.js";
2
- import "../index.js";
3
- import { AssistantClient, ScopesConfig } from "@assistant-ui/store";
4
- //#region src/react/RuntimeAdapter.d.ts
1
+ import type { AssistantClient, ScopesConfig } from "@assistant-ui/store";
2
+ import type { AssistantRuntime } from "../index.js";
5
3
  export declare const RuntimeAdapter: import("@assistant-ui/tap").Resource<import("@assistant-ui/store").ClientOutput<"threads">, [runtime: AssistantRuntime]>;
6
4
  /**
7
5
  * The scope defaults `RuntimeAdapter` installs when it is used as the `threads`
@@ -9,5 +7,4 @@ export declare const RuntimeAdapter: import("@assistant-ui/tap").Resource<import
9
7
  * attach this to the wrapping resource for scope parity with `RuntimeAdapter`.
10
8
  */
11
9
  export declare const runtimeAdapterTransformScopes: (scopes: ScopesConfig, parent: AssistantClient) => void;
12
- //#endregion
13
10
  //# sourceMappingURL=RuntimeAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimeAdapter.d.ts","names":[],"sources":["../../src/react/RuntimeAdapter.ts"],"mappings":";;;;qBAiCa,4CAAc,uCAAA,0BAAA,SAAA;;;;;;qBAOd,gCACX,QAAQ,cACR,QAAQ"}
1
+ {"version":3,"file":"RuntimeAdapter.d.ts","sourceRoot":"","sources":["../../src/react/RuntimeAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAW;AA+B3C,eAAO,MAAM,cAAc,0HAA8B,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,YAAY,EACpB,QAAQ,eAAe,KACtB,IAUF,CAAC"}
@@ -1,28 +1,34 @@
1
- import { ExportedMessageRepository } from "../../runtime/utils/message-repository.js";
2
- import { RemoteThreadListAdapter } from "../../runtimes/remote-thread-list/types.js";
3
- import "../../internal.js";
4
- import "../../index.js";
5
- import { TitleGenerationAdapter } from "./TitleGenerationAdapter.js";
6
- //#region src/react/adapters/LocalStorageThreadListAdapter.d.ts
1
+ import { useAui } from "@assistant-ui/store";
2
+ import type { RemoteThreadListAdapter, ThreadHistoryAdapter } from "../../index.js";
3
+ import type { ExportedMessageRepository } from "../../internal.js";
4
+ import type { TitleGenerationAdapter } from "./TitleGenerationAdapter.js";
7
5
  export type AsyncStorageLike = {
8
- getItem(key: string): Promise<string | null>;
9
- setItem(key: string, value: string): Promise<void>;
10
- removeItem(key: string): Promise<void>;
6
+ getItem(key: string): Promise<string | null>;
7
+ setItem(key: string, value: string): Promise<void>;
8
+ removeItem(key: string): Promise<void>;
11
9
  };
10
+ declare class KeyedMutationQueue {
11
+ private readonly tails;
12
+ private readonly staleKeys;
13
+ markStale(key: string): void;
14
+ removeStale(key: string, storage: AsyncStorageLike): Promise<void>;
15
+ run<T>(key: string, mutation: () => Promise<T>): Promise<T>;
16
+ }
12
17
  type LocalStorageAdapterOptions = {
13
- storage: AsyncStorageLike;
14
- prefix?: string | undefined;
15
- titleGenerator?: TitleGenerationAdapter | undefined;
18
+ storage: AsyncStorageLike;
19
+ prefix?: string | undefined;
20
+ titleGenerator?: TitleGenerationAdapter | undefined;
16
21
  };
17
22
  type StoredThreadMetadata = {
18
- remoteId: string;
19
- externalId?: string;
20
- status: "regular" | "archived";
21
- title?: string;
22
- custom?: Record<string, unknown> | undefined;
23
+ remoteId: string;
24
+ externalId?: string;
25
+ status: "regular" | "archived";
26
+ title?: string;
27
+ custom?: Record<string, unknown> | undefined;
23
28
  };
24
29
  export declare const parseStoredThreadMetadata: (raw: string | null) => StoredThreadMetadata[];
25
30
  export declare const parseStoredMessageRepository: (raw: string | null) => ExportedMessageRepository;
31
+ export declare const createLocalStorageHistoryAdapter: (storage: AsyncStorageLike, getAui: () => ReturnType<typeof useAui>, prefix: string, mutationQueue?: KeyedMutationQueue) => ThreadHistoryAdapter;
26
32
  export declare const createLocalStorageAdapter: (options: LocalStorageAdapterOptions) => RemoteThreadListAdapter;
27
- //#endregion
33
+ export {};
28
34
  //# sourceMappingURL=LocalStorageThreadListAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalStorageThreadListAdapter.d.ts","names":[],"sources":["../../../src/react/adapters/LocalStorageThreadListAdapter.tsx"],"mappings":";;;;;;YAsCY;EACV,QAAQ,cAAc;EACtB,QAAQ,aAAa,gBAAgB;EACrC,WAAW,cAAc;;KAkCtB;EACH,SAAS;EACT;EACA,iBAAiB;;KAGd;EACH;EACA;EACA;EACA;EACA,SAAS;;qBA+KE,4BACX,uBACC;qBAoCU,+BACX,uBACC;qBAqIU,4BACX,SAAS,+BACR"}
1
+ {"version":3,"file":"LocalStorageThreadListAdapter.d.ts","sourceRoot":"","sources":["../../../src/react/adapters/LocalStorageThreadListAdapter.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,EAGV,uBAAuB,EAGvB,oBAAoB,EAGrB,uBAAoB;AACrB,OAAO,KAAK,EACV,yBAAyB,EAE1B,0BAAuB;AAexB,OAAO,KAAK,EAAE,sBAAsB,EAAE,oCAAiC;AAEvE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AAEF,cAAM,kBAAkB;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,SAAS,CAAC,GAAG,EAAE,MAAM;IAIf,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;IAQxD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAe5D;AAaD,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CACrD,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC9C,CAAC;AA6KF,eAAO,MAAM,yBAAyB,GACpC,KAAK,MAAM,GAAG,IAAI,KACjB,oBAAoB,EAQtB,CAAC;AA4BF,eAAO,MAAM,4BAA4B,GACvC,KAAK,MAAM,GAAG,IAAI,KACjB,yBA+BF,CAAC;AA6FF,eAAO,MAAM,gCAAgC,GAC3C,SAAS,gBAAgB,EACzB,QAAQ,MAAM,UAAU,CAAC,OAAO,MAAM,CAAC,EACvC,QAAQ,MAAM,EACd,kCAAyC,KACxC,oBACqE,CAAC;AA4CzE,eAAO,MAAM,yBAAyB,GACpC,SAAS,0BAA0B,KAClC,uBA4JF,CAAC"}