@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":"replayBoundaryStream.js","names":["c","_c","useCallback","useEffect","useRef","useState","REPLAY_CONTENT_LENGTH_HEADER","ReplayBoundaryStreamOptions","setReplaying","value","waitForRender","Promise","useReplayRenderWait","$","renderTicket","setRenderTicket","mountedRef","nextTicketRef","t0","Symbol","for","waitersRef","t1","committedTicket","pendingWaiters","waiter","current","undefined","ticket","resolve","push","resolveWaiters","t2","t3","t4","t5","t6","setTimeout","parseReplayContentLength","headers","Headers","raw","get","boundary","Number","isSafeInteger","createReplayBoundaryStream","response","Response","waitForReplayRender","ReadableStream","Uint8Array","body","replayContentLength","reader","getReader","bytesForwarded","replayFinished","readerCleanup","releaseReader","releaseLock","cancelReader","reason","cancel","finishReplay","pull","controller","done","read","close","enqueue","nextBytesForwarded","byteLength","replayBytesInChunk","subarray","error","catch","wasFinished"],"sources":["../../../../src/react/runtimes/assistant-transport/replayBoundaryStream.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport const REPLAY_CONTENT_LENGTH_HEADER = \"Aui-Replay-Content-Length\";\n\ntype ReplayBoundaryStreamOptions = {\n setReplaying: (value: boolean) => void;\n waitForRender: () => Promise<void>;\n};\n\nexport const useReplayRenderWait = () => {\n const [renderTicket, setRenderTicket] = useState(0);\n const mountedRef = useRef(true);\n const nextTicketRef = useRef(0);\n const waitersRef = useRef<Array<{ ticket: number; resolve: () => void }>>([]);\n\n const resolveWaiters = useCallback((committedTicket?: number) => {\n const pendingWaiters = [];\n\n for (const waiter of waitersRef.current) {\n if (committedTicket === undefined || waiter.ticket <= committedTicket) {\n waiter.resolve();\n } else {\n pendingWaiters.push(waiter);\n }\n }\n\n waitersRef.current = pendingWaiters;\n }, []);\n\n useEffect(() => {\n mountedRef.current = true;\n resolveWaiters(renderTicket);\n }, [renderTicket, resolveWaiters]);\n\n useEffect(\n () => () => {\n mountedRef.current = false;\n resolveWaiters();\n },\n [resolveWaiters],\n );\n\n return useCallback(\n () =>\n new Promise<void>((resolve) => {\n setTimeout(() => {\n if (!mountedRef.current) {\n resolve();\n return;\n }\n\n const ticket = nextTicketRef.current + 1;\n nextTicketRef.current = ticket;\n waitersRef.current.push({ ticket, resolve });\n setRenderTicket(ticket);\n }, 0);\n }),\n [],\n );\n};\n\nconst parseReplayContentLength = (headers: Headers): number => {\n const raw = headers.get(REPLAY_CONTENT_LENGTH_HEADER);\n if (raw == null) return 0;\n\n const boundary = Number(raw);\n return Number.isSafeInteger(boundary) && boundary > 0 ? boundary : 0;\n};\n\n// Gates replay bytes until isReplaying:true renders, then releases live bytes after isReplaying:false renders.\nexport const createReplayBoundaryStream = async (\n response: Response,\n {\n setReplaying,\n waitForRender: waitForReplayRender,\n }: ReplayBoundaryStreamOptions,\n): Promise<ReadableStream<Uint8Array>> => {\n const body = response.body as ReadableStream<Uint8Array>;\n const replayContentLength = parseReplayContentLength(response.headers);\n\n if (replayContentLength <= 0) {\n return body;\n }\n\n setReplaying(true);\n await waitForReplayRender();\n\n const reader = body.getReader();\n let bytesForwarded = 0;\n let replayFinished = false;\n let readerCleanup: Promise<void> | undefined;\n\n const releaseReader = () => {\n if (readerCleanup) return readerCleanup;\n reader.releaseLock();\n readerCleanup = Promise.resolve();\n return readerCleanup;\n };\n\n const cancelReader = (reason?: unknown) => {\n if (readerCleanup) return readerCleanup;\n readerCleanup = (async () => {\n try {\n await reader.cancel(reason);\n } finally {\n reader.releaseLock();\n }\n })();\n return readerCleanup;\n };\n\n const finishReplay = async () => {\n if (replayFinished) return;\n replayFinished = true;\n\n // Let replay bytes drain before rendering live mode, then render live mode before releasing live bytes.\n await waitForReplayRender();\n setReplaying(false);\n await waitForReplayRender();\n };\n\n return new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const { done, value } = await reader.read();\n\n if (done) {\n await releaseReader();\n await finishReplay();\n controller.close();\n return;\n }\n\n if (replayFinished) {\n controller.enqueue(value);\n return;\n }\n\n const nextBytesForwarded = bytesForwarded + value.byteLength;\n\n if (nextBytesForwarded < replayContentLength) {\n bytesForwarded = nextBytesForwarded;\n controller.enqueue(value);\n return;\n }\n\n if (nextBytesForwarded === replayContentLength) {\n controller.enqueue(value);\n await finishReplay();\n return;\n }\n\n const replayBytesInChunk = replayContentLength - bytesForwarded;\n\n controller.enqueue(value.subarray(0, replayBytesInChunk));\n await finishReplay();\n controller.enqueue(value.subarray(replayBytesInChunk));\n } catch (error) {\n await cancelReader(error).catch(() => {});\n throw error;\n }\n },\n async cancel(reason) {\n const wasFinished = replayFinished;\n replayFinished = true;\n if (!wasFinished) setReplaying(false);\n await cancelReader(reason);\n },\n });\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"replayBoundaryStream.js","names":["c","_c","useCallback","useEffect","useRef","useState","REPLAY_CONTENT_LENGTH_HEADER","ReplayBoundaryStreamOptions","setReplaying","value","waitForRender","Promise","useReplayRenderWait","$","renderTicket","setRenderTicket","mountedRef","nextTicketRef","t0","Symbol","for","waitersRef","t1","committedTicket","pendingWaiters","waiter","current","undefined","ticket","resolve","push","resolveWaiters","t2","t3","t4","t5","t6","setTimeout","parseReplayContentLength","headers","Headers","raw","get","boundary","Number","isSafeInteger","createReplayBoundaryStream","response","Response","waitForReplayRender","ReadableStream","Uint8Array","body","replayContentLength","reader","getReader","bytesForwarded","replayFinished","replayCleared","readerCleanup","clearReplay","releaseReader","releaseLock","cancelReader","reason","cancel","finishReplay","pull","controller","done","read","close","enqueue","nextBytesForwarded","byteLength","replayBytesInChunk","subarray","error","catch","wasFinished"],"sources":["../../../../src/react/runtimes/assistant-transport/replayBoundaryStream.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport const REPLAY_CONTENT_LENGTH_HEADER = \"Aui-Replay-Content-Length\";\n\ntype ReplayBoundaryStreamOptions = {\n setReplaying: (value: boolean) => void;\n waitForRender: () => Promise<void>;\n};\n\nexport const useReplayRenderWait = () => {\n const [renderTicket, setRenderTicket] = useState(0);\n const mountedRef = useRef(true);\n const nextTicketRef = useRef(0);\n const waitersRef = useRef<Array<{ ticket: number; resolve: () => void }>>([]);\n\n const resolveWaiters = useCallback((committedTicket?: number) => {\n const pendingWaiters = [];\n\n for (const waiter of waitersRef.current) {\n if (committedTicket === undefined || waiter.ticket <= committedTicket) {\n waiter.resolve();\n } else {\n pendingWaiters.push(waiter);\n }\n }\n\n waitersRef.current = pendingWaiters;\n }, []);\n\n useEffect(() => {\n mountedRef.current = true;\n resolveWaiters(renderTicket);\n }, [renderTicket, resolveWaiters]);\n\n useEffect(\n () => () => {\n mountedRef.current = false;\n resolveWaiters();\n },\n [resolveWaiters],\n );\n\n return useCallback(\n () =>\n new Promise<void>((resolve) => {\n setTimeout(() => {\n if (!mountedRef.current) {\n resolve();\n return;\n }\n\n const ticket = nextTicketRef.current + 1;\n nextTicketRef.current = ticket;\n waitersRef.current.push({ ticket, resolve });\n setRenderTicket(ticket);\n }, 0);\n }),\n [],\n );\n};\n\nconst parseReplayContentLength = (headers: Headers): number => {\n const raw = headers.get(REPLAY_CONTENT_LENGTH_HEADER);\n if (raw == null) return 0;\n\n const boundary = Number(raw);\n return Number.isSafeInteger(boundary) && boundary > 0 ? boundary : 0;\n};\n\n// Gates replay bytes until isReplaying:true renders, then releases live bytes after isReplaying:false renders.\nexport const createReplayBoundaryStream = async (\n response: Response,\n {\n setReplaying,\n waitForRender: waitForReplayRender,\n }: ReplayBoundaryStreamOptions,\n): Promise<ReadableStream<Uint8Array>> => {\n const body = response.body as ReadableStream<Uint8Array>;\n const replayContentLength = parseReplayContentLength(response.headers);\n\n if (replayContentLength <= 0) {\n return body;\n }\n\n setReplaying(true);\n await waitForReplayRender();\n\n const reader = body.getReader();\n let bytesForwarded = 0;\n let replayFinished = false;\n let replayCleared = false;\n let readerCleanup: Promise<void> | undefined;\n\n const clearReplay = () => {\n if (replayCleared) return;\n replayCleared = true;\n setReplaying(false);\n };\n\n const releaseReader = () => {\n if (readerCleanup) return readerCleanup;\n reader.releaseLock();\n readerCleanup = Promise.resolve();\n return readerCleanup;\n };\n\n const cancelReader = (reason?: unknown) => {\n if (readerCleanup) return readerCleanup;\n readerCleanup = (async () => {\n try {\n await reader.cancel(reason);\n } finally {\n reader.releaseLock();\n }\n })();\n return readerCleanup;\n };\n\n const finishReplay = async () => {\n if (replayFinished) return;\n replayFinished = true;\n\n // Let replay bytes drain before rendering live mode, then render live mode before releasing live bytes.\n await waitForReplayRender();\n clearReplay();\n await waitForReplayRender();\n };\n\n return new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const { done, value } = await reader.read();\n\n if (done) {\n await releaseReader();\n await finishReplay();\n controller.close();\n return;\n }\n\n if (replayFinished) {\n controller.enqueue(value);\n return;\n }\n\n const nextBytesForwarded = bytesForwarded + value.byteLength;\n\n if (nextBytesForwarded < replayContentLength) {\n bytesForwarded = nextBytesForwarded;\n controller.enqueue(value);\n return;\n }\n\n if (nextBytesForwarded === replayContentLength) {\n controller.enqueue(value);\n await finishReplay();\n return;\n }\n\n const replayBytesInChunk = replayContentLength - bytesForwarded;\n\n controller.enqueue(value.subarray(0, replayBytesInChunk));\n await finishReplay();\n controller.enqueue(value.subarray(replayBytesInChunk));\n } catch (error) {\n clearReplay();\n await cancelReader(error).catch(() => {});\n throw error;\n }\n },\n async cancel(reason) {\n const wasFinished = replayFinished;\n replayFinished = true;\n if (!wasFinished) clearReplay();\n await cancelReader(reason);\n },\n });\n};\n"],"mappings":"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"}
@@ -1,14 +1,12 @@
1
- //#region src/react/runtimes/assistant-transport/runManager.d.ts
2
1
  export type RunManager = Readonly<{
3
- isRunning: boolean;
4
- schedule: () => void;
5
- cancel: () => void;
2
+ isRunning: boolean;
3
+ schedule: () => void;
4
+ cancel: () => void;
6
5
  }>;
7
6
  export declare function useRunManager(config: {
8
- onRun: (signal: AbortSignal) => Promise<void>;
9
- onFinish?: (() => void) | undefined;
10
- onCancel?: (() => void) | undefined;
11
- onError?: ((error: Error) => void | Promise<void>) | undefined;
7
+ onRun: (signal: AbortSignal) => Promise<void>;
8
+ onFinish?: (() => void) | undefined;
9
+ onCancel?: (() => void) | undefined;
10
+ onError?: ((error: Error) => void | Promise<void>) | undefined;
12
11
  }): RunManager;
13
- //#endregion
14
12
  //# sourceMappingURL=runManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runManager.d.ts","names":[],"sources":["../../../../src/react/runtimes/assistant-transport/runManager.ts"],"mappings":";YAIY,aAAa;EACvB;EACA;EACA;;wBAac,cAAc;EAC5B,QAAQ,QAAQ,gBAAgB;EAChC;EACA;EACA,YAAY,OAAO,iBAAiB;IAClC"}
1
+ {"version":3,"file":"runManager.d.ts","sourceRoot":"","sources":["../../../../src/react/runtimes/assistant-transport/runManager.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC,CAAC;AAYH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CAChE,GAAG,UAAU,CAwFb"}
@@ -23,7 +23,10 @@ function useRunManager(config) {
23
23
  const disposeAborted = () => ac.signal.reason === disposeReason;
24
24
  queueMicrotask(async () => {
25
25
  try {
26
- if (!disposeAborted()) await onRunRef.current(ac.signal);
26
+ if (!disposeAborted()) {
27
+ await onRunRef.current(ac.signal);
28
+ if (ac.signal.aborted) throw ac.signal.reason;
29
+ }
27
30
  } catch (error) {
28
31
  if (!disposeAborted() && !stateRef.current.disposed) {
29
32
  stateRef.current.pending = false;
@@ -1 +1 @@
1
- {"version":3,"file":"runManager.js","names":["useCallback","useEffect","useRef","useState","invokeUserCallback","useLatestRef","RunManager","Readonly","isRunning","schedule","cancel","disposeReason","Symbol","LifecycleCallbackName","invokeCallback","name","callback","useRunManager","config","onRun","signal","AbortSignal","Promise","onFinish","onCancel","onError","error","Error","setIsRunning","stateRef","pending","disposed","abortController","AbortController","onRunRef","onFinishRef","onCancelRef","onErrorRef","startRun","current","ac","disposeAborted","reason","queueMicrotask","aborted","abort"],"sources":["../../../../src/react/runtimes/assistant-transport/runManager.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { invokeUserCallback } from \"../../../utils/invoke-user-callback\";\nimport { useLatestRef } from \"./useLatestRef\";\n\nexport type RunManager = Readonly<{\n isRunning: boolean;\n schedule: () => void;\n cancel: () => void;\n}>;\n\nconst disposeReason = Symbol(\"assistant-transport-dispose\");\n\ntype LifecycleCallbackName = \"onCancel\" | \"onError\" | \"onFinish\";\n\nconst invokeCallback = (\n name: LifecycleCallbackName,\n callback: (() => unknown) | undefined,\n) =>\n invokeUserCallback(\"assistant-ui\", `Assistant transport ${name}`, callback);\n\nexport function useRunManager(config: {\n onRun: (signal: AbortSignal) => Promise<void>;\n onFinish?: (() => void) | undefined;\n onCancel?: (() => void) | undefined;\n onError?: ((error: Error) => void | Promise<void>) | undefined;\n}): RunManager {\n const [isRunning, setIsRunning] = useState(false);\n const stateRef = useRef({\n pending: false,\n disposed: false,\n abortController: null as AbortController | null,\n });\n const onRunRef = useLatestRef(config.onRun);\n const onFinishRef = useLatestRef(config.onFinish);\n const onCancelRef = useLatestRef(config.onCancel);\n const onErrorRef = useLatestRef(config.onError);\n\n const startRun = useCallback(() => {\n setIsRunning(true);\n stateRef.current.pending = false;\n const ac = new AbortController();\n stateRef.current.abortController = ac;\n\n // The dispose marker rides on the abort reason so a settling run detects\n // its own disposal even after an effect cycle re-arms the manager.\n const disposeAborted = () => ac.signal.reason === disposeReason;\n\n queueMicrotask(async () => {\n try {\n if (!disposeAborted()) {\n await onRunRef.current(ac.signal);\n }\n } catch (error) {\n if (!disposeAborted() && !stateRef.current.disposed) {\n stateRef.current.pending = false;\n if (ac.signal.aborted) {\n void invokeCallback(\"onCancel\", onCancelRef.current);\n } else {\n await invokeCallback(\"onError\", () =>\n onErrorRef.current?.(error as Error),\n );\n }\n }\n } finally {\n if (!disposeAborted() && !stateRef.current.disposed) {\n void invokeCallback(\"onFinish\", onFinishRef.current);\n }\n if (!stateRef.current.disposed && stateRef.current.pending) {\n startRun();\n } else {\n setIsRunning(false);\n if (stateRef.current.abortController === ac) {\n stateRef.current.abortController = null;\n }\n }\n }\n });\n }, [onRunRef, onFinishRef, onErrorRef, onCancelRef]);\n\n const schedule = useCallback(() => {\n if (stateRef.current.disposed) return;\n if (stateRef.current.abortController) {\n // Coalesce multiple schedules while running into a single follow-up run.\n stateRef.current.pending = true;\n return;\n }\n startRun();\n }, [startRun]);\n\n // Strict-mode effects run setup / cleanup / setup on the same instance;\n // arming on setup undoes the cleanup's dispose.\n useEffect(() => {\n stateRef.current.disposed = false;\n return () => {\n stateRef.current.disposed = true;\n stateRef.current.pending = false;\n stateRef.current.abortController?.abort(disposeReason);\n };\n }, []);\n\n const cancel = useCallback(() => {\n stateRef.current.pending = false;\n stateRef.current.abortController?.abort();\n }, []);\n\n return {\n isRunning,\n schedule,\n cancel,\n };\n}\n"],"mappings":";;;;AAUA,MAAMW,gBAAgBC,OAAO,6BAA6B;AAI1D,MAAME,kBACJC,MACAC,aAEAZ,mBAAmB,gBAAgB,uBAAuBW,QAAQC,QAAQ;AAE5E,SAAgBC,cAAcC,QAKf;CACb,MAAM,CAACV,WAAWoB,gBAAgBzB,SAAS,KAAK;CAChD,MAAM0B,WAAW3B,OAAO;EACtB4B,SAAS;EACTC,UAAU;EACVC,iBAAiB;CACnB,CAAC;CACD,MAAME,WAAW7B,aAAaa,OAAOC,KAAK;CAC1C,MAAMgB,cAAc9B,aAAaa,OAAOK,QAAQ;CAChD,MAAMa,cAAc/B,aAAaa,OAAOM,QAAQ;CAChD,MAAMa,aAAahC,aAAaa,OAAOO,OAAO;CAE9C,MAAMa,WAAWtC,kBAAkB;EACjC4B,aAAa,IAAI;EACjBC,SAASU,QAAQT,UAAU;EAC3B,MAAMU,KAAK,IAAIP,gBAAgB;EAC/BJ,SAASU,QAAQP,kBAAkBQ;EAInC,MAAMC,uBAAuBD,GAAGpB,OAAOsB,WAAW/B;EAElDgC,eAAe,YAAY;GACzB,IAAI;IACF,IAAI,CAACF,eAAe,GAClB,MAAMP,SAASK,QAAQC,GAAGpB,MAAM;GAEpC,SAASM,OAAO;IACd,IAAI,CAACe,eAAe,KAAK,CAACZ,SAASU,QAAQR,UAAU;KACnDF,SAASU,QAAQT,UAAU;KAC3B,IAAIU,GAAGpB,OAAOwB,SACZ,eAAoB,YAAYR,YAAYG,OAAO;UAEnD,MAAMzB,eAAe,iBACnBuB,WAAWE,UAAUb,KAAc,CACrC;IAEJ;GACF,UAAU;IACR,IAAI,CAACe,eAAe,KAAK,CAACZ,SAASU,QAAQR,UACzC,eAAoB,YAAYI,YAAYI,OAAO;IAErD,IAAI,CAACV,SAASU,QAAQR,YAAYF,SAASU,QAAQT,SACjDQ,SAAS;SACJ;KACLV,aAAa,KAAK;KAClB,IAAIC,SAASU,QAAQP,oBAAoBQ,IACvCX,SAASU,QAAQP,kBAAkB;IAEvC;GACF;EACF,CAAC;CACH,GAAG;EAACE;EAAUC;EAAaE;EAAYD;CAAW,CAAC;CAEnD,MAAM3B,WAAWT,kBAAkB;EACjC,IAAI6B,SAASU,QAAQR,UAAU;EAC/B,IAAIF,SAASU,QAAQP,iBAAiB;GAEpCH,SAASU,QAAQT,UAAU;GAC3B;EACF;EACAQ,SAAS;CACX,GAAG,CAACA,QAAQ,CAAC;CAIbrC,gBAAgB;EACd4B,SAASU,QAAQR,WAAW;EAC5B,aAAa;GACXF,SAASU,QAAQR,WAAW;GAC5BF,SAASU,QAAQT,UAAU;GAC3BD,SAASU,QAAQP,iBAAiBa,MAAMlC,aAAa;EACvD;CACF,GAAG,CAAA,CAAE;CAOL,OAAO;EACLH;EACAC;EACAC,QARaV,kBAAkB;GAC/B6B,SAASU,QAAQT,UAAU;GAC3BD,SAASU,QAAQP,iBAAiBa,MAAM;EAC1C,GAAG,CAAA,CAKDnC;CACF;AACF"}
1
+ {"version":3,"file":"runManager.js","names":["useCallback","useEffect","useRef","useState","invokeUserCallback","useLatestRef","RunManager","Readonly","isRunning","schedule","cancel","disposeReason","Symbol","LifecycleCallbackName","invokeCallback","name","callback","useRunManager","config","onRun","signal","AbortSignal","Promise","onFinish","onCancel","onError","error","Error","setIsRunning","stateRef","pending","disposed","abortController","AbortController","onRunRef","onFinishRef","onCancelRef","onErrorRef","startRun","current","ac","disposeAborted","reason","queueMicrotask","aborted","abort"],"sources":["../../../../src/react/runtimes/assistant-transport/runManager.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { invokeUserCallback } from \"../../../utils/invoke-user-callback\";\nimport { useLatestRef } from \"./useLatestRef\";\n\nexport type RunManager = Readonly<{\n isRunning: boolean;\n schedule: () => void;\n cancel: () => void;\n}>;\n\nconst disposeReason = Symbol(\"assistant-transport-dispose\");\n\ntype LifecycleCallbackName = \"onCancel\" | \"onError\" | \"onFinish\";\n\nconst invokeCallback = (\n name: LifecycleCallbackName,\n callback: (() => unknown) | undefined,\n) =>\n invokeUserCallback(\"assistant-ui\", `Assistant transport ${name}`, callback);\n\nexport function useRunManager(config: {\n onRun: (signal: AbortSignal) => Promise<void>;\n onFinish?: (() => void) | undefined;\n onCancel?: (() => void) | undefined;\n onError?: ((error: Error) => void | Promise<void>) | undefined;\n}): RunManager {\n const [isRunning, setIsRunning] = useState(false);\n const stateRef = useRef({\n pending: false,\n disposed: false,\n abortController: null as AbortController | null,\n });\n const onRunRef = useLatestRef(config.onRun);\n const onFinishRef = useLatestRef(config.onFinish);\n const onCancelRef = useLatestRef(config.onCancel);\n const onErrorRef = useLatestRef(config.onError);\n\n const startRun = useCallback(() => {\n setIsRunning(true);\n stateRef.current.pending = false;\n const ac = new AbortController();\n stateRef.current.abortController = ac;\n\n // The dispose marker rides on the abort reason so a settling run detects\n // its own disposal even after an effect cycle re-arms the manager.\n const disposeAborted = () => ac.signal.reason === disposeReason;\n\n queueMicrotask(async () => {\n try {\n if (!disposeAborted()) {\n await onRunRef.current(ac.signal);\n // A fully received body is not errored by abort(), so a cancelled\n // run can still resolve.\n if (ac.signal.aborted) throw ac.signal.reason;\n }\n } catch (error) {\n if (!disposeAborted() && !stateRef.current.disposed) {\n stateRef.current.pending = false;\n if (ac.signal.aborted) {\n void invokeCallback(\"onCancel\", onCancelRef.current);\n } else {\n await invokeCallback(\"onError\", () =>\n onErrorRef.current?.(error as Error),\n );\n }\n }\n } finally {\n if (!disposeAborted() && !stateRef.current.disposed) {\n void invokeCallback(\"onFinish\", onFinishRef.current);\n }\n if (!stateRef.current.disposed && stateRef.current.pending) {\n startRun();\n } else {\n setIsRunning(false);\n if (stateRef.current.abortController === ac) {\n stateRef.current.abortController = null;\n }\n }\n }\n });\n }, [onRunRef, onFinishRef, onErrorRef, onCancelRef]);\n\n const schedule = useCallback(() => {\n if (stateRef.current.disposed) return;\n if (stateRef.current.abortController) {\n // Coalesce multiple schedules while running into a single follow-up run.\n stateRef.current.pending = true;\n return;\n }\n startRun();\n }, [startRun]);\n\n // Strict-mode effects run setup / cleanup / setup on the same instance;\n // arming on setup undoes the cleanup's dispose.\n useEffect(() => {\n stateRef.current.disposed = false;\n return () => {\n stateRef.current.disposed = true;\n stateRef.current.pending = false;\n stateRef.current.abortController?.abort(disposeReason);\n };\n }, []);\n\n const cancel = useCallback(() => {\n stateRef.current.pending = false;\n stateRef.current.abortController?.abort();\n }, []);\n\n return {\n isRunning,\n schedule,\n cancel,\n };\n}\n"],"mappings":";;;;AAUA,MAAMW,gBAAgBC,OAAO,6BAA6B;AAI1D,MAAME,kBACJC,MACAC,aAEAZ,mBAAmB,gBAAgB,uBAAuBW,QAAQC,QAAQ;AAE5E,SAAgBC,cAAcC,QAKf;CACb,MAAM,CAACV,WAAWoB,gBAAgBzB,SAAS,KAAK;CAChD,MAAM0B,WAAW3B,OAAO;EACtB4B,SAAS;EACTC,UAAU;EACVC,iBAAiB;CACnB,CAAC;CACD,MAAME,WAAW7B,aAAaa,OAAOC,KAAK;CAC1C,MAAMgB,cAAc9B,aAAaa,OAAOK,QAAQ;CAChD,MAAMa,cAAc/B,aAAaa,OAAOM,QAAQ;CAChD,MAAMa,aAAahC,aAAaa,OAAOO,OAAO;CAE9C,MAAMa,WAAWtC,kBAAkB;EACjC4B,aAAa,IAAI;EACjBC,SAASU,QAAQT,UAAU;EAC3B,MAAMU,KAAK,IAAIP,gBAAgB;EAC/BJ,SAASU,QAAQP,kBAAkBQ;EAInC,MAAMC,uBAAuBD,GAAGpB,OAAOsB,WAAW/B;EAElDgC,eAAe,YAAY;GACzB,IAAI;IACF,IAAI,CAACF,eAAe,GAAG;KACrB,MAAMP,SAASK,QAAQC,GAAGpB,MAAM;KAGhC,IAAIoB,GAAGpB,OAAOwB,SAAS,MAAMJ,GAAGpB,OAAOsB;IACzC;GACF,SAAShB,OAAO;IACd,IAAI,CAACe,eAAe,KAAK,CAACZ,SAASU,QAAQR,UAAU;KACnDF,SAASU,QAAQT,UAAU;KAC3B,IAAIU,GAAGpB,OAAOwB,SACZ,eAAoB,YAAYR,YAAYG,OAAO;UAEnD,MAAMzB,eAAe,iBACnBuB,WAAWE,UAAUb,KAAc,CACrC;IAEJ;GACF,UAAU;IACR,IAAI,CAACe,eAAe,KAAK,CAACZ,SAASU,QAAQR,UACzC,eAAoB,YAAYI,YAAYI,OAAO;IAErD,IAAI,CAACV,SAASU,QAAQR,YAAYF,SAASU,QAAQT,SACjDQ,SAAS;SACJ;KACLV,aAAa,KAAK;KAClB,IAAIC,SAASU,QAAQP,oBAAoBQ,IACvCX,SAASU,QAAQP,kBAAkB;IAEvC;GACF;EACF,CAAC;CACH,GAAG;EAACE;EAAUC;EAAaE;EAAYD;CAAW,CAAC;CAEnD,MAAM3B,WAAWT,kBAAkB;EACjC,IAAI6B,SAASU,QAAQR,UAAU;EAC/B,IAAIF,SAASU,QAAQP,iBAAiB;GAEpCH,SAASU,QAAQT,UAAU;GAC3B;EACF;EACAQ,SAAS;CACX,GAAG,CAACA,QAAQ,CAAC;CAIbrC,gBAAgB;EACd4B,SAASU,QAAQR,WAAW;EAC5B,aAAa;GACXF,SAASU,QAAQR,WAAW;GAC5BF,SAASU,QAAQT,UAAU;GAC3BD,SAASU,QAAQP,iBAAiBa,MAAMlC,aAAa;EACvD;CACF,GAAG,CAAA,CAAE;CAOL,OAAO;EACLH;EACAC;EACAC,QARaV,kBAAkB;GAC/B6B,SAASU,QAAQT,UAAU;GAC3BD,SAASU,QAAQP,iBAAiBa,MAAM;EAC1C,GAAG,CAAA,CAKDnC;CACF;AACF"}
@@ -1,129 +1,135 @@
1
- import { ThreadMessage } from "../../../types/message.js";
2
- import { AttachmentAdapter } from "../../../adapters/attachment.js";
3
- import { LanguageModelConfig, LanguageModelV1CallSettings } from "../../../model-context/types.js";
4
- import { ThreadHistoryAdapter } from "../../../adapters/thread-history.js";
5
- import { UserCommands } from "../../../types/augmentations.js";
6
- import { ToolExecutionStatus } from "../../../runtimes/tool-invocations/ToolInvocationTracker.js";
7
- import { ToolModelContentPart } from "assistant-stream";
8
- import { ReadonlyJSONValue } from "assistant-stream/utils";
9
- //#region src/react/runtimes/assistant-transport/types.d.ts
1
+ import type { ToolModelContentPart } from "assistant-stream";
2
+ import type { AssistantCloud } from "assistant-cloud";
3
+ import type { ThreadMessage } from "../../../types/message.js";
4
+ import type { ReadonlyJSONValue } from "assistant-stream/utils";
5
+ import type { AttachmentAdapter } from "../../../adapters/attachment.js";
6
+ import type { ThreadHistoryAdapter } from "../../../adapters/thread-history.js";
7
+ import type { LanguageModelV1CallSettings, LanguageModelConfig } from "../../../model-context/types.js";
8
+ import type { UserCommands } from "../../../types/augmentations.js";
9
+ import type { ToolExecutionStatus } from "../../../runtimes/tool-invocations/ToolInvocationTracker.js";
10
10
  export type TextPart = {
11
- readonly type: "text";
12
- readonly text: string;
11
+ readonly type: "text";
12
+ readonly text: string;
13
13
  };
14
14
  export type ImagePart = {
15
- readonly type: "image";
16
- readonly image: string;
15
+ readonly type: "image";
16
+ readonly image: string;
17
17
  };
18
18
  export type UserMessagePart = TextPart | ImagePart;
19
19
  export type UserMessage = {
20
- readonly role: "user";
21
- readonly parts: readonly UserMessagePart[];
20
+ readonly role: "user";
21
+ readonly parts: readonly UserMessagePart[];
22
22
  };
23
23
  export type AssistantMessage = {
24
- readonly role: "assistant";
25
- readonly parts: readonly TextPart[];
24
+ readonly role: "assistant";
25
+ readonly parts: readonly TextPart[];
26
26
  };
27
27
  export type AddMessageCommand = {
28
- readonly type: "add-message";
29
- readonly message: UserMessage | AssistantMessage;
30
- readonly parentId: string | null;
31
- readonly sourceId: string | null;
28
+ readonly type: "add-message";
29
+ readonly message: UserMessage | AssistantMessage;
30
+ readonly parentId: string | null;
31
+ readonly sourceId: string | null;
32
32
  };
33
33
  export type AddToolResultCommand = {
34
- readonly type: "add-tool-result";
35
- readonly toolCallId: string;
36
- readonly toolName: string;
37
- readonly result: ReadonlyJSONValue;
38
- readonly isError: boolean;
39
- readonly artifact?: ReadonlyJSONValue;
40
- readonly modelContent?: readonly ToolModelContentPart[];
34
+ readonly type: "add-tool-result";
35
+ readonly toolCallId: string;
36
+ readonly toolName: string;
37
+ readonly result: ReadonlyJSONValue;
38
+ readonly isError: boolean;
39
+ readonly artifact?: ReadonlyJSONValue;
40
+ readonly modelContent?: readonly ToolModelContentPart[];
41
41
  };
42
42
  export type AssistantTransportCommand = AddMessageCommand | AddToolResultCommand | UserCommands;
43
43
  export type AssistantTransportState = {
44
- readonly messages: readonly ThreadMessage[];
45
- readonly state?: ReadonlyJSONValue;
46
- readonly isRunning: boolean;
44
+ readonly messages: readonly ThreadMessage[];
45
+ readonly state?: ReadonlyJSONValue;
46
+ readonly isRunning: boolean;
47
47
  };
48
48
  export type AssistantTransportConnectionMetadata = {
49
- pendingCommands: AssistantTransportCommand[];
50
- isSending: boolean;
51
- toolStatuses: Record<string, ToolExecutionStatus>;
49
+ pendingCommands: AssistantTransportCommand[];
50
+ isSending: boolean;
51
+ toolStatuses: Record<string, ToolExecutionStatus>;
52
52
  };
53
53
  export type AssistantTransportStateConverter<T> = (state: T, connectionMetadata: AssistantTransportConnectionMetadata) => AssistantTransportState;
54
54
  export type CommandQueueState = {
55
- queued: AssistantTransportCommand[];
56
- inTransit: AssistantTransportCommand[];
55
+ queued: AssistantTransportCommand[];
56
+ inTransit: AssistantTransportCommand[];
57
57
  };
58
58
  export type QueuedCommand = AssistantTransportCommand;
59
59
  export type HeadersValue = Record<string, string> | Headers;
60
60
  export type AssistantTransportProtocol = "data-stream" | "assistant-transport";
61
61
  export type SendCommandsRequestBody = {
62
- commands: QueuedCommand[];
63
- /** Absent on a resume with `resumeStateApi`; the server replays from its retained snapshot. */
64
- state?: unknown;
65
- runId?: string;
66
- system: string | undefined;
67
- tools: Record<string, unknown> | undefined;
68
- callSettings: LanguageModelV1CallSettings | undefined;
69
- config: LanguageModelConfig | undefined;
70
- threadId: string | null;
71
- parentId?: string | null;
72
- [key: string]: unknown;
62
+ commands: QueuedCommand[];
63
+ /** Absent on a resume with `resumeStateApi`; the server replays from its retained snapshot. */
64
+ state?: unknown;
65
+ runId?: string;
66
+ system: string | undefined;
67
+ tools: Record<string, unknown> | undefined;
68
+ callSettings: LanguageModelV1CallSettings | undefined;
69
+ config: LanguageModelConfig | undefined;
70
+ /** Remote id of the thread; absent only when resuming a thread that has none. */
71
+ threadId?: string;
72
+ parentId?: string | null;
73
+ [key: string]: unknown;
73
74
  };
74
75
  export type AssistantTransportOptions<T> = {
75
- initialState: T;
76
- api: string;
77
- resumeApi?: string;
78
- /** Endpoint that returns the retained initial state and run ID for a resume stream. A 204 response means no run is active and the resume is skipped. */
79
- resumeStateApi?: string;
80
- protocol?: AssistantTransportProtocol;
81
- /**
82
- * When `false`, stream decoding and state reconciliation tolerate malformed
83
- * input (invalid chunks are dropped with a console log) instead of throwing.
84
- * Resume runs always decode leniently. Defaults to `true`.
85
- */
86
- strict?: boolean;
87
- converter: AssistantTransportStateConverter<T>;
88
- headers: HeadersValue | (() => Promise<HeadersValue>);
89
- body?: object | (() => Promise<object | undefined>);
90
- /**
91
- * Transform the request body before it is sent to the API.
92
- * Receives the fully assembled body and returns the (potentially transformed) body.
93
- *
94
- * @example
95
- * ```ts
96
- * prepareSendCommandsRequest: (body) => ({
97
- * ...body,
98
- * trackingId: crypto.randomUUID(),
99
- * })
100
- * ```
101
- */
102
- prepareSendCommandsRequest?: (body: SendCommandsRequestBody) => Record<string, unknown> | Promise<Record<string, unknown>>;
103
- onResponse?: (response: Response) => void | Promise<void>;
104
- onFinish?: () => void;
105
- onError?: (error: Error, params: {
106
- commands: AssistantTransportCommand[];
107
- updateState: (updater: (state: T) => T) => void;
108
- }) => void | Promise<void>;
109
- /**
110
- * Called when commands are cancelled.
111
- *
112
- * When an error occurs, queued commands are automatically cancelled after `onError` settles.
113
- * In this case, the `error` parameter contains the error that caused the cancellation.
114
- */
115
- onCancel?: (params: {
116
- commands: AssistantTransportCommand[];
117
- updateState: (updater: (state: T) => T) => void;
118
- error?: Error;
119
- }) => void;
120
- capabilities?: {
121
- edit?: boolean;
122
- };
123
- adapters?: {
124
- attachments?: AttachmentAdapter | undefined;
125
- history?: ThreadHistoryAdapter | undefined;
126
- };
76
+ initialState: T;
77
+ api: string;
78
+ /**
79
+ * Backs the thread list with Assistant Cloud; requests carry the cloud thread id.
80
+ * Without it, `NEXT_PUBLIC_ASSISTANT_BASE_URL` selects Assistant Cloud, as for `useLocalRuntime`.
81
+ */
82
+ cloud?: AssistantCloud | undefined;
83
+ resumeApi?: string;
84
+ /** Endpoint that returns the retained initial state and run ID for a resume stream. A 204 response means no run is active and the resume is skipped. */
85
+ resumeStateApi?: string;
86
+ protocol?: AssistantTransportProtocol;
87
+ /**
88
+ * When `false`, stream decoding and state reconciliation tolerate malformed
89
+ * input (invalid chunks are dropped with a console log) instead of throwing.
90
+ * Resume runs always decode leniently. Defaults to `true`.
91
+ */
92
+ strict?: boolean;
93
+ converter: AssistantTransportStateConverter<T>;
94
+ headers: HeadersValue | (() => Promise<HeadersValue>);
95
+ body?: object | (() => Promise<object | undefined>);
96
+ /**
97
+ * Transform the request body before it is sent to the API.
98
+ * Receives the fully assembled body and returns the (potentially transformed) body.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * prepareSendCommandsRequest: (body) => ({
103
+ * ...body,
104
+ * trackingId: crypto.randomUUID(),
105
+ * })
106
+ * ```
107
+ */
108
+ prepareSendCommandsRequest?: (body: SendCommandsRequestBody) => Record<string, unknown> | Promise<Record<string, unknown>>;
109
+ onResponse?: (response: Response) => void | Promise<void>;
110
+ onFinish?: () => void;
111
+ onError?: (error: Error, params: {
112
+ commands: AssistantTransportCommand[];
113
+ updateState: (updater: (state: T) => T) => void;
114
+ }) => void | Promise<void>;
115
+ /**
116
+ * Called when commands are cancelled.
117
+ *
118
+ * When an error occurs, queued commands are automatically cancelled after `onError` settles.
119
+ * In this case, the `error` parameter contains the error that caused the cancellation.
120
+ */
121
+ onCancel?: (params: {
122
+ commands: AssistantTransportCommand[];
123
+ updateState: (updater: (state: T) => T) => void;
124
+ error?: Error;
125
+ }) => void;
126
+ capabilities?: {
127
+ edit?: boolean;
128
+ };
129
+ adapters?: {
130
+ attachments?: AttachmentAdapter | undefined;
131
+ /** @deprecated This runtime never reads it; pass `cloud` to keep threads in Assistant Cloud. */
132
+ history?: ThreadHistoryAdapter | undefined;
133
+ };
127
134
  };
128
- //#endregion
129
135
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../src/react/runtimes/assistant-transport/types.ts"],"mappings":";;;;;;;;;YAaY;WACD;WACA;;YAGC;WACD;WACA;;YAGC,kBAAkB,WAAW;YAE7B;WACD;WACA,gBAAgB;;YAGf;WACD;WACA,gBAAgB;;YAIf;WACD;WACA,SAAS,cAAc;WACvB;WACA;;YAGC;WACD;WACA;WACA;WACA,QAAQ;WACR;WACA,WAAW;WACX,wBAAwB;;YAGvB,4BACR,oBACA,uBACA;YAGQ;WACD,mBAAmB;WACnB,QAAQ;WACR;;YAGC;EACV,iBAAiB;EACjB;EACA,cAAc,eAAe;;YAGnB,iCAAiC,MAC3C,OAAO,GACP,oBAAoB,yCACjB;YAGO;EACV,QAAQ;EACR,WAAW;;YAID,gBAAgB;YAKhB,eAAe,yBAAyB;YAExC;YAEA;EACV,UAAU;;EAEV;EACA;EACA;EACA,OAAO;EACP,cAAc;EACd,QAAQ;EACR;EACA;GAIC;;YAGS,0BAA0B;EACpC,cAAc;EACd;EACA;;EAEA;EACA,WAAW;;;;;;EAMX;EACA,WAAW,iCAAiC;EAC5C,SAAS,sBAAsB,QAAQ;EACvC,uBAAuB;;;;;;;;;;;;;EAavB,8BACE,MAAM,4BACH,0BAA0B,QAAQ;EACvC,cAAc,UAAU,oBAAoB;EAC5C;EACA,WACE,OAAO,OACP;IACE,UAAU;IACV,cAAc,UAAU,OAAO,MAAM;eAE7B;;;;;;;EAOZ,YAAY;IACV,UAAU;IACV,cAAc,UAAU,OAAO,MAAM;IACrC,QAAQ;;EAEV;IACE;;EAEF;IACE,cAAc;IACd,UAAU"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/react/runtimes/assistant-transport/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { UserExternalState } from "../../../types/augmentations.js";
2
- import { AssistantRuntime } from "../../../runtime/api/assistant-runtime.js";
3
- import { AssistantTransportCommand, AssistantTransportOptions } from "./types.js";
4
- //#region src/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts
1
+ import type { AssistantRuntime } from "../../../runtime/api/assistant-runtime.js";
2
+ import type { AssistantTransportOptions, AssistantTransportCommand } from "./types.js";
3
+ import type { UserExternalState } from "../../../types/augmentations.js";
5
4
  export declare const useAssistantTransportSendCommand: () => (command: AssistantTransportCommand) => void;
6
5
  export declare function useAssistantTransportState(): UserExternalState;
7
6
  export declare function useAssistantTransportState<T>(selector: (state: UserExternalState) => T): T;
@@ -9,5 +8,4 @@ export declare function useAssistantTransportState<T>(selector: (state: UserExte
9
8
  * @alpha This is an experimental API that is subject to change.
10
9
  */
11
10
  export declare const useAssistantTransportRuntime: <T>(options: AssistantTransportOptions<T>) => AssistantRuntime;
12
- //#endregion
13
11
  //# sourceMappingURL=useAssistantTransportRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAssistantTransportRuntime.d.ts","names":[],"sources":["../../../../src/react/runtimes/assistant-transport/useAssistantTransportRuntime.ts"],"mappings":";;;;qBA8Ha,yCAGH,SAAS;wBAOH,8BAA8B;wBAC9B,2BAA2B,GACzC,WAAW,OAAO,sBAAsB,IACvC;;;;qBA4UU,+BAAgC,GAC3C,SAAS,0BAA0B,OAClC"}
1
+ {"version":3,"file":"useAssistantTransportRuntime.d.ts","sourceRoot":"","sources":["../../../../src/react/runtimes/assistant-transport/useAssistantTransportRuntime.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kDAA+C;AAU/E,OAAO,KAAK,EACV,yBAAyB,EAKzB,yBAAyB,EAE1B,mBAAgB;AAYjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,wCAAqC;AAkGtE,eAAO,MAAM,gCAAgC,SAGnC,SAAS,yBAAyB,SAK3C,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,iBAAiB,CAAC;AAChE,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,CAAC,GACxC,CAAC,CAAC;AAqVL;;GAEG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,EAC5C,SAAS,yBAAyB,CAAC,CAAC,CAAC,KACpC,gBAUF,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { InMemoryThreadListAdapter } from "../../../runtimes/remote-thread-list/adapter/in-memory.js";
3
2
  import { createRequestHeaders } from "../../../runtimes/assistant-transport/utils.js";
4
3
  import { useExternalStoreRuntime } from "../useExternalStoreRuntime.js";
5
4
  import { useRemoteThreadListRuntime } from "../useRemoteThreadListRuntime.js";
5
+ import { useCloudThreadListAdapter } from "../cloud/useCloudThreadListAdapter.js";
6
6
  import { useCommandQueue } from "./commandQueue.js";
7
7
  import { createReplayBoundaryStream, useReplayRenderWait } from "./replayBoundaryStream.js";
8
8
  import { useRunManager } from "./runManager.js";
@@ -51,6 +51,12 @@ const readResumeState = async (response) => {
51
51
  state: value.state
52
52
  };
53
53
  };
54
+ const abortable = (signal, start) => new Promise((resolve, reject) => {
55
+ const onAbort = () => reject(signal.reason);
56
+ if (signal.aborted) return onAbort();
57
+ signal.addEventListener("abort", onAbort, { once: true });
58
+ start().then(resolve, reject).finally(() => signal.removeEventListener("abort", onAbort));
59
+ });
54
60
  const symbolAssistantTransportExtras = Symbol("assistant-transport-extras");
55
61
  const asAssistantTransportExtras = (extras) => {
56
62
  if (typeof extras !== "object" || extras == null || !(symbolAssistantTransportExtras in extras)) throw new Error("This method can only be called when you are using useAssistantTransportRuntime");
@@ -90,7 +96,7 @@ const useAssistantTransportThreadRuntime = (options) => {
90
96
  parentIdRef.current = message.parentId;
91
97
  commandQueue.enqueue(command, { schedule: message.startRun ?? message.role === "user" });
92
98
  };
93
- const threadId = useAuiState((s) => s.threadListItem.remoteId);
99
+ const aui = useAui();
94
100
  const runManager = useRunManager({
95
101
  onRun: async (signal) => {
96
102
  const isResume = resumeFlagRef.current;
@@ -100,6 +106,7 @@ const useAssistantTransportThreadRuntime = (options) => {
100
106
  if (commands.length === 0 && !isResume) return;
101
107
  const parentId = isResume ? void 0 : parentIdRef.current;
102
108
  if (!isResume) parentIdRef.current = void 0;
109
+ const threadId = aui.threadListItem.getState().remoteId ?? (isResume ? void 0 : (await abortable(signal, () => aui.threadListItem.initialize())).remoteId);
103
110
  const headers = await createRequestHeaders(options.headers);
104
111
  let resumeState;
105
112
  if (isResume && options.resumeStateApi) {
@@ -118,12 +125,12 @@ const useAssistantTransportThreadRuntime = (options) => {
118
125
  }
119
126
  const bodyValue = typeof options.body === "function" ? await options.body() : options.body;
120
127
  const context = runtime.thread.getModelContext();
121
- let requestBody = {
128
+ const sendCommandsBody = {
122
129
  commands,
123
130
  ...resumeState === void 0 && { state: agentStateRef.current },
124
131
  system: context.system,
125
132
  tools: context.tools ? toToolsJSONSchema(context.tools) : void 0,
126
- threadId,
133
+ ...threadId !== void 0 && { threadId },
127
134
  ...parentId !== void 0 && { parentId },
128
135
  callSettings: context.callSettings,
129
136
  config: context.config,
@@ -131,7 +138,8 @@ const useAssistantTransportThreadRuntime = (options) => {
131
138
  ...context.config,
132
139
  ...bodyValue ?? {}
133
140
  };
134
- if (options.prepareSendCommandsRequest) requestBody = await options.prepareSendCommandsRequest(requestBody);
141
+ let requestBody = sendCommandsBody;
142
+ if (options.prepareSendCommandsRequest) requestBody = await options.prepareSendCommandsRequest(sendCommandsBody);
135
143
  if (resumeState !== void 0) {
136
144
  requestBody = {
137
145
  ...requestBody,
@@ -192,6 +200,7 @@ const useAssistantTransportThreadRuntime = (options) => {
192
200
  setIsReplaying(false);
193
201
  const cmds = [...commandQueue.state.inTransit, ...commandQueue.state.queued];
194
202
  commandQueue.reset();
203
+ parentIdRef.current = void 0;
195
204
  options.onCancel?.({
196
205
  commands: cmds,
197
206
  updateState: (updater) => {
@@ -206,6 +215,7 @@ const useAssistantTransportThreadRuntime = (options) => {
206
215
  const inTransitCmds = [...commandQueue.state.inTransit];
207
216
  const queuedCmds = [...commandQueue.state.queued];
208
217
  commandQueue.reset();
218
+ parentIdRef.current = void 0;
209
219
  try {
210
220
  await options.onError?.(error_1, {
211
221
  commands: inTransitCmds,
@@ -282,11 +292,12 @@ const useAssistantTransportThreadRuntime = (options) => {
282
292
  * @alpha This is an experimental API that is subject to change.
283
293
  */
284
294
  const useAssistantTransportRuntime = (options) => {
295
+ const adapter = useCloudThreadListAdapter({ cloud: options.cloud });
285
296
  return useRemoteThreadListRuntime({
286
297
  runtimeHook: function RuntimeHook() {
287
298
  return useAssistantTransportThreadRuntime(options);
288
299
  },
289
- adapter: new InMemoryThreadListAdapter(),
300
+ adapter,
290
301
  allowNesting: true
291
302
  });
292
303
  };