@assistant-ui/core 0.3.18 → 0.3.20

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 (804) hide show
  1. package/dist/adapters/attachment.d.ts +9 -10
  2. package/dist/adapters/attachment.d.ts.map +1 -1
  3. package/dist/adapters/attachment.js +2 -1
  4. package/dist/adapters/attachment.js.map +1 -1
  5. package/dist/adapters/directive-formatter.d.ts +1 -2
  6. package/dist/adapters/directive-formatter.d.ts.map +1 -1
  7. package/dist/adapters/feedback.d.ts +2 -2
  8. package/dist/adapters/feedback.d.ts.map +1 -1
  9. package/dist/adapters/speech.d.ts +6 -7
  10. package/dist/adapters/speech.d.ts.map +1 -1
  11. package/dist/adapters/speech.js +13 -3
  12. package/dist/adapters/speech.js.map +1 -1
  13. package/dist/adapters/suggestion.d.ts +5 -6
  14. package/dist/adapters/suggestion.d.ts.map +1 -1
  15. package/dist/adapters/thread-history.d.ts +10 -7
  16. package/dist/adapters/thread-history.d.ts.map +1 -1
  17. package/dist/adapters/trigger.d.ts +1 -2
  18. package/dist/adapters/trigger.d.ts.map +1 -1
  19. package/dist/adapters/voice.d.ts +5 -6
  20. package/dist/adapters/voice.d.ts.map +1 -1
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/internal/duplicate-detection.d.ts +1 -2
  24. package/dist/internal/duplicate-detection.d.ts.map +1 -1
  25. package/dist/internal.d.ts +1 -1
  26. package/dist/model-context/frame/host.d.ts +1 -2
  27. package/dist/model-context/frame/host.d.ts.map +1 -1
  28. package/dist/model-context/frame/host.js +26 -11
  29. package/dist/model-context/frame/host.js.map +1 -1
  30. package/dist/model-context/frame/provider.d.ts +1 -2
  31. package/dist/model-context/frame/provider.d.ts.map +1 -1
  32. package/dist/model-context/frame/types.d.ts +5 -6
  33. package/dist/model-context/frame/types.d.ts.map +1 -1
  34. package/dist/model-context/interactable-composer-metadata.d.ts +9 -10
  35. package/dist/model-context/interactable-composer-metadata.d.ts.map +1 -1
  36. package/dist/model-context/interactable-composer-metadata.js +11 -9
  37. package/dist/model-context/interactable-composer-metadata.js.map +1 -1
  38. package/dist/model-context/registry-handles.d.ts +3 -4
  39. package/dist/model-context/registry-handles.d.ts.map +1 -1
  40. package/dist/model-context/registry.d.ts +1 -2
  41. package/dist/model-context/registry.d.ts.map +1 -1
  42. package/dist/model-context/tool-call-text.d.ts +2 -3
  43. package/dist/model-context/tool-call-text.d.ts.map +1 -1
  44. package/dist/model-context/tool.d.ts +2 -3
  45. package/dist/model-context/tool.d.ts.map +1 -1
  46. package/dist/model-context/types.d.ts +8 -9
  47. package/dist/model-context/types.d.ts.map +1 -1
  48. package/dist/react/AssistantProvider.d.ts +3 -4
  49. package/dist/react/AssistantProvider.d.ts.map +1 -1
  50. package/dist/react/AssistantRuntimeProvider.d.ts +1 -2
  51. package/dist/react/AssistantRuntimeProvider.d.ts.map +1 -1
  52. package/dist/react/RuntimeAdapter.d.ts +2 -3
  53. package/dist/react/RuntimeAdapter.d.ts.map +1 -1
  54. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts +4 -5
  55. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
  56. package/dist/react/adapters/LocalStorageThreadListAdapter.js +43 -19
  57. package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
  58. package/dist/react/adapters/TitleGenerationAdapter.d.ts +2 -3
  59. package/dist/react/adapters/TitleGenerationAdapter.d.ts.map +1 -1
  60. package/dist/react/client/AdaptedRemoteThread.d.ts +1 -2
  61. package/dist/react/client/AdaptedRemoteThread.d.ts.map +1 -1
  62. package/dist/react/client/DataRenderers.d.ts +1 -2
  63. package/dist/react/client/DataRenderers.d.ts.map +1 -1
  64. package/dist/react/client/DataRenderers.js +20 -15
  65. package/dist/react/client/DataRenderers.js.map +1 -1
  66. package/dist/react/client/InMemoryThreadList.d.ts +3 -4
  67. package/dist/react/client/InMemoryThreadList.d.ts.map +1 -1
  68. package/dist/react/client/Interactables.d.ts +1 -2
  69. package/dist/react/client/Interactables.d.ts.map +1 -1
  70. package/dist/react/client/Interactables.js +11 -5
  71. package/dist/react/client/Interactables.js.map +1 -1
  72. package/dist/react/client/RemoteThreadList.d.ts +2 -3
  73. package/dist/react/client/RemoteThreadList.d.ts.map +1 -1
  74. package/dist/react/client/RemoteThreadList.js +3 -2
  75. package/dist/react/client/RemoteThreadList.js.map +1 -1
  76. package/dist/react/client/Tools.d.ts +2 -2
  77. package/dist/react/client/Tools.d.ts.map +1 -1
  78. package/dist/react/client/interactable-model-context.d.ts +2 -3
  79. package/dist/react/client/interactable-model-context.d.ts.map +1 -1
  80. package/dist/react/client/interactable-model-context.js +3 -2
  81. package/dist/react/client/interactable-model-context.js.map +1 -1
  82. package/dist/react/index.d.ts +2 -2
  83. package/dist/react/index.js +2 -2
  84. package/dist/react/interactables-legacy/Interactables.d.ts +1 -2
  85. package/dist/react/interactables-legacy/Interactables.d.ts.map +1 -1
  86. package/dist/react/interactables-legacy/interactable-model-context.d.ts +2 -3
  87. package/dist/react/interactables-legacy/interactable-model-context.d.ts.map +1 -1
  88. package/dist/react/interactables-legacy/scopes.d.ts +9 -10
  89. package/dist/react/interactables-legacy/scopes.d.ts.map +1 -1
  90. package/dist/react/interactables-legacy/useAssistantInteractable.d.ts +2 -3
  91. package/dist/react/interactables-legacy/useAssistantInteractable.d.ts.map +1 -1
  92. package/dist/react/interactables-legacy/useAssistantInteractable.js +3 -0
  93. package/dist/react/interactables-legacy/useAssistantInteractable.js.map +1 -1
  94. package/dist/react/interactables-legacy/useInteractableState.d.ts +1 -2
  95. package/dist/react/interactables-legacy/useInteractableState.d.ts.map +1 -1
  96. package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts +1 -2
  97. package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts.map +1 -1
  98. package/dist/react/model-context/define-mcp-toolkit.d.ts +4 -5
  99. package/dist/react/model-context/define-mcp-toolkit.d.ts.map +1 -1
  100. package/dist/react/model-context/define-toolkit.d.ts +2 -3
  101. package/dist/react/model-context/define-toolkit.d.ts.map +1 -1
  102. package/dist/react/model-context/external-tool.d.ts +1 -2
  103. package/dist/react/model-context/external-tool.d.ts.map +1 -1
  104. package/dist/react/model-context/human-tool.d.ts +3 -4
  105. package/dist/react/model-context/human-tool.d.ts.map +1 -1
  106. package/dist/react/model-context/interactableTool.d.ts +3 -4
  107. package/dist/react/model-context/interactableTool.d.ts.map +1 -1
  108. package/dist/react/model-context/makeAssistantDataUI.d.ts +2 -3
  109. package/dist/react/model-context/makeAssistantDataUI.d.ts.map +1 -1
  110. package/dist/react/model-context/makeAssistantTool.d.ts +2 -3
  111. package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -1
  112. package/dist/react/model-context/makeAssistantToolUI.d.ts +2 -3
  113. package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -1
  114. package/dist/react/model-context/provider-tool.d.ts +2 -3
  115. package/dist/react/model-context/provider-tool.d.ts.map +1 -1
  116. package/dist/react/model-context/stub-tool.d.ts +1 -2
  117. package/dist/react/model-context/stub-tool.d.ts.map +1 -1
  118. package/dist/react/model-context/toolbox.d.ts +9 -10
  119. package/dist/react/model-context/toolbox.d.ts.map +1 -1
  120. package/dist/react/model-context/useAssistantContext.d.ts +2 -2
  121. package/dist/react/model-context/useAssistantContext.d.ts.map +1 -1
  122. package/dist/react/model-context/useAssistantDataUI.d.ts +2 -3
  123. package/dist/react/model-context/useAssistantDataUI.d.ts.map +1 -1
  124. package/dist/react/model-context/useAssistantInstructions.d.ts +2 -2
  125. package/dist/react/model-context/useAssistantInstructions.d.ts.map +1 -1
  126. package/dist/react/model-context/useAssistantTool.d.ts +2 -3
  127. package/dist/react/model-context/useAssistantTool.d.ts.map +1 -1
  128. package/dist/react/model-context/useAssistantToolUI.d.ts +2 -3
  129. package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -1
  130. package/dist/react/model-context/useAuiToolOverrides.d.ts +1 -2
  131. package/dist/react/model-context/useAuiToolOverrides.d.ts.map +1 -1
  132. package/dist/react/model-context/useInlineRender.d.ts +1 -2
  133. package/dist/react/model-context/useInlineRender.d.ts.map +1 -1
  134. package/dist/react/model-context/useInteractable.d.ts +4 -5
  135. package/dist/react/model-context/useInteractable.d.ts.map +1 -1
  136. package/dist/react/model-context/useInteractable.js +4 -1
  137. package/dist/react/model-context/useInteractable.js.map +1 -1
  138. package/dist/react/model-context/useInteractableState.d.ts +1 -2
  139. package/dist/react/model-context/useInteractableState.d.ts.map +1 -1
  140. package/dist/react/model-context/useInteractableVersions.d.ts +1 -2
  141. package/dist/react/model-context/useInteractableVersions.d.ts.map +1 -1
  142. package/dist/react/model-context/useInteractableVersions.js +1 -1
  143. package/dist/react/model-context/useToolArgsStatus.d.ts +2 -3
  144. package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -1
  145. package/dist/react/primitive-hooks/useActionBarCopy.d.ts +2 -3
  146. package/dist/react/primitive-hooks/useActionBarCopy.d.ts.map +1 -1
  147. package/dist/react/primitive-hooks/useActionBarEdit.d.ts +1 -2
  148. package/dist/react/primitive-hooks/useActionBarEdit.d.ts.map +1 -1
  149. package/dist/react/primitive-hooks/useActionBarFeedback.d.ts +2 -3
  150. package/dist/react/primitive-hooks/useActionBarFeedback.d.ts.map +1 -1
  151. package/dist/react/primitive-hooks/useActionBarReload.d.ts +1 -2
  152. package/dist/react/primitive-hooks/useActionBarReload.d.ts.map +1 -1
  153. package/dist/react/primitive-hooks/useActionBarSpeak.d.ts +1 -2
  154. package/dist/react/primitive-hooks/useActionBarSpeak.d.ts.map +1 -1
  155. package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts +1 -2
  156. package/dist/react/primitive-hooks/useActionBarStopSpeaking.d.ts.map +1 -1
  157. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts +1 -2
  158. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts.map +1 -1
  159. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts +1 -2
  160. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts.map +1 -1
  161. package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts +1 -2
  162. package/dist/react/primitive-hooks/useComposerAddAttachment.d.ts.map +1 -1
  163. package/dist/react/primitive-hooks/useComposerCancel.d.ts +1 -2
  164. package/dist/react/primitive-hooks/useComposerCancel.d.ts.map +1 -1
  165. package/dist/react/primitive-hooks/useComposerDictate.d.ts +1 -2
  166. package/dist/react/primitive-hooks/useComposerDictate.d.ts.map +1 -1
  167. package/dist/react/primitive-hooks/useComposerSend.d.ts +1 -2
  168. package/dist/react/primitive-hooks/useComposerSend.d.ts.map +1 -1
  169. package/dist/react/primitive-hooks/useEditComposerCancel.d.ts +1 -2
  170. package/dist/react/primitive-hooks/useEditComposerCancel.d.ts.map +1 -1
  171. package/dist/react/primitive-hooks/useEditComposerSend.d.ts +1 -2
  172. package/dist/react/primitive-hooks/useEditComposerSend.d.ts.map +1 -1
  173. package/dist/react/primitive-hooks/useMessageBranching.d.ts +1 -2
  174. package/dist/react/primitive-hooks/useMessageBranching.d.ts.map +1 -1
  175. package/dist/react/primitive-hooks/useMessageError.d.ts +1 -2
  176. package/dist/react/primitive-hooks/useMessageError.d.ts.map +1 -1
  177. package/dist/react/primitive-hooks/useMessageReload.d.ts +1 -2
  178. package/dist/react/primitive-hooks/useMessageReload.d.ts.map +1 -1
  179. package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts +2 -3
  180. package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts.map +1 -1
  181. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts +1 -2
  182. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts.map +1 -1
  183. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts +1 -2
  184. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts.map +1 -1
  185. package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts +1 -2
  186. package/dist/react/primitive-hooks/useThreadListItemArchive.d.ts.map +1 -1
  187. package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts +1 -2
  188. package/dist/react/primitive-hooks/useThreadListItemDelete.d.ts.map +1 -1
  189. package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts +1 -2
  190. package/dist/react/primitive-hooks/useThreadListItemTrigger.d.ts.map +1 -1
  191. package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts +1 -2
  192. package/dist/react/primitive-hooks/useThreadListItemUnarchive.d.ts.map +1 -1
  193. package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts +1 -2
  194. package/dist/react/primitive-hooks/useThreadListLoadMore.d.ts.map +1 -1
  195. package/dist/react/primitive-hooks/useThreadListNew.d.ts +1 -2
  196. package/dist/react/primitive-hooks/useThreadListNew.d.ts.map +1 -1
  197. package/dist/react/primitive-hooks/useThreadMessageIds.d.ts +1 -2
  198. package/dist/react/primitive-hooks/useThreadMessageIds.d.ts.map +1 -1
  199. package/dist/react/primitive-hooks/useThreadMessages.d.ts +1 -2
  200. package/dist/react/primitive-hooks/useThreadMessages.d.ts.map +1 -1
  201. package/dist/react/primitive-hooks/useVoice.d.ts +3 -4
  202. package/dist/react/primitive-hooks/useVoice.d.ts.map +1 -1
  203. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +2 -3
  204. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -1
  205. package/dist/react/primitives/composer/ComposerAttachments.d.ts +4 -5
  206. package/dist/react/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  207. package/dist/react/primitives/composer/ComposerIf.d.ts +4 -5
  208. package/dist/react/primitives/composer/ComposerIf.d.ts.map +1 -1
  209. package/dist/react/primitives/composer/ComposerQueue.d.ts +2 -3
  210. package/dist/react/primitives/composer/ComposerQueue.d.ts.map +1 -1
  211. package/dist/react/primitives/generativeUI/GenerativeUI.d.ts +4 -5
  212. package/dist/react/primitives/generativeUI/GenerativeUI.d.ts.map +1 -1
  213. package/dist/react/primitives/generativeUI/GenerativeUI.js +27 -28
  214. package/dist/react/primitives/generativeUI/GenerativeUI.js.map +1 -1
  215. package/dist/react/primitives/message/MessageAttachments.d.ts +4 -5
  216. package/dist/react/primitives/message/MessageAttachments.d.ts.map +1 -1
  217. package/dist/react/primitives/message/MessageGroupedParts.d.ts +13 -5
  218. package/dist/react/primitives/message/MessageGroupedParts.d.ts.map +1 -1
  219. package/dist/react/primitives/message/MessageGroupedParts.js +3 -2
  220. package/dist/react/primitives/message/MessageGroupedParts.js.map +1 -1
  221. package/dist/react/primitives/message/MessageParts.d.ts +10 -10
  222. package/dist/react/primitives/message/MessageParts.d.ts.map +1 -1
  223. package/dist/react/primitives/message/MessageQuote.d.ts +2 -3
  224. package/dist/react/primitives/message/MessageQuote.d.ts.map +1 -1
  225. package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts +2 -3
  226. package/dist/react/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  227. package/dist/react/primitives/part/PartMessages.d.ts +4 -4
  228. package/dist/react/primitives/part/PartMessages.d.ts.map +1 -1
  229. package/dist/react/primitives/part/PartMessages.js +1 -0
  230. package/dist/react/primitives/part/PartMessages.js.map +1 -1
  231. package/dist/react/primitives/thread/ThreadMessages.d.ts +7 -8
  232. package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -1
  233. package/dist/react/primitives/thread/ThreadMessages.js +6 -5
  234. package/dist/react/primitives/thread/ThreadMessages.js.map +1 -1
  235. package/dist/react/primitives/thread/ThreadSuggestions.d.ts +5 -6
  236. package/dist/react/primitives/thread/ThreadSuggestions.d.ts.map +1 -1
  237. package/dist/react/primitives/threadList/ThreadListItems.d.ts +4 -5
  238. package/dist/react/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  239. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts +2 -3
  240. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -1
  241. package/dist/react/providers/AttachmentByIndexProvider.d.ts +2 -3
  242. package/dist/react/providers/AttachmentByIndexProvider.d.ts.map +1 -1
  243. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts +1 -2
  244. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -1
  245. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts +1 -2
  246. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -1
  247. package/dist/react/providers/MessageByIdProvider.d.ts +1 -2
  248. package/dist/react/providers/MessageByIdProvider.d.ts.map +1 -1
  249. package/dist/react/providers/MessageByIndexProvider.d.ts +1 -2
  250. package/dist/react/providers/MessageByIndexProvider.d.ts.map +1 -1
  251. package/dist/react/providers/PartByIndexProvider.d.ts +1 -2
  252. package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -1
  253. package/dist/react/providers/QueueItemByIndexProvider.d.ts +2 -3
  254. package/dist/react/providers/QueueItemByIndexProvider.d.ts.map +1 -1
  255. package/dist/react/providers/ReadonlyThreadProvider.d.ts +2 -3
  256. package/dist/react/providers/ReadonlyThreadProvider.d.ts.map +1 -1
  257. package/dist/react/providers/SuggestionByIndexProvider.d.ts +2 -3
  258. package/dist/react/providers/SuggestionByIndexProvider.d.ts.map +1 -1
  259. package/dist/react/providers/TextMessagePartProvider.d.ts +1 -2
  260. package/dist/react/providers/TextMessagePartProvider.d.ts.map +1 -1
  261. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts +1 -2
  262. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts.map +1 -1
  263. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts +1 -2
  264. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
  265. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +3 -2
  266. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  267. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +17 -7
  268. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
  269. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +1 -2
  270. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  271. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +2 -1
  272. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  273. package/dist/react/runtimes/RemoteThreadResource.d.ts +4 -5
  274. package/dist/react/runtimes/RemoteThreadResource.d.ts.map +1 -1
  275. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts +3 -3
  276. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts.map +1 -1
  277. package/dist/react/runtimes/assistant-transport/commandQueue.d.ts +2 -3
  278. package/dist/react/runtimes/assistant-transport/commandQueue.d.ts.map +1 -1
  279. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts +3 -4
  280. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts.map +1 -1
  281. package/dist/react/runtimes/assistant-transport/runManager.d.ts +2 -3
  282. package/dist/react/runtimes/assistant-transport/runManager.d.ts.map +1 -1
  283. package/dist/react/runtimes/assistant-transport/types.d.ts +17 -18
  284. package/dist/react/runtimes/assistant-transport/types.d.ts.map +1 -1
  285. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts +4 -5
  286. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
  287. package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts +1 -2
  288. package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts.map +1 -1
  289. package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts +1 -2
  290. package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts.map +1 -1
  291. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +3 -26
  292. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  293. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +152 -378
  294. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  295. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +2 -2
  296. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts.map +1 -1
  297. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js +22 -2
  298. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js.map +1 -1
  299. package/dist/react/runtimes/cloud/auiV0.d.ts +51 -18
  300. package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
  301. package/dist/react/runtimes/cloud/auiV0.js +125 -17
  302. package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
  303. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts +6 -6
  304. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts.map +1 -1
  305. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.js +4 -0
  306. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.js.map +1 -1
  307. package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts +1 -2
  308. package/dist/react/runtimes/cloud/createCloudThreadListAdapterCreateFallback.d.ts.map +1 -1
  309. package/dist/react/runtimes/cloud/sdkIdentity.d.ts +5 -0
  310. package/dist/react/runtimes/cloud/sdkIdentity.d.ts.map +1 -0
  311. package/dist/react/runtimes/cloud/sdkIdentity.js +9 -0
  312. package/dist/react/runtimes/cloud/sdkIdentity.js.map +1 -0
  313. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts +1 -2
  314. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts.map +1 -1
  315. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts +1 -2
  316. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  317. package/dist/react/runtimes/createMessageConverter.d.ts +1 -2
  318. package/dist/react/runtimes/createMessageConverter.d.ts.map +1 -1
  319. package/dist/react/runtimes/createRuntimeExtras.d.ts +3 -4
  320. package/dist/react/runtimes/createRuntimeExtras.d.ts.map +1 -1
  321. package/dist/react/runtimes/external-message-converter.d.ts +14 -4
  322. package/dist/react/runtimes/external-message-converter.d.ts.map +1 -1
  323. package/dist/react/runtimes/external-message-converter.js +26 -61
  324. package/dist/react/runtimes/external-message-converter.js.map +1 -1
  325. package/dist/react/runtimes/useExternalStoreRuntime.d.ts +1 -2
  326. package/dist/react/runtimes/useExternalStoreRuntime.d.ts.map +1 -1
  327. package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts +1 -2
  328. package/dist/react/runtimes/useExternalStoreSharedOptions.d.ts.map +1 -1
  329. package/dist/react/runtimes/useLocalRuntime.d.ts +3 -4
  330. package/dist/react/runtimes/useLocalRuntime.d.ts.map +1 -1
  331. package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts +1 -2
  332. package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
  333. package/dist/react/runtimes/useRemoteThreadListRuntime.js +3 -3
  334. package/dist/react/runtimes/useRemoteThreadListRuntime.js.map +1 -1
  335. package/dist/react/runtimes/useRuntimeAdapters.d.ts +4 -4
  336. package/dist/react/runtimes/useRuntimeAdapters.d.ts.map +1 -1
  337. package/dist/react/runtimes/useStreamingTiming.d.ts +2 -2
  338. package/dist/react/runtimes/useStreamingTiming.d.ts.map +1 -1
  339. package/dist/react/types/MessagePartComponentTypes.d.ts +26 -27
  340. package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -1
  341. package/dist/react/types/scopes/dataRenderers.d.ts +3 -4
  342. package/dist/react/types/scopes/dataRenderers.d.ts.map +1 -1
  343. package/dist/react/types/scopes/interactables.d.ts +10 -11
  344. package/dist/react/types/scopes/interactables.d.ts.map +1 -1
  345. package/dist/react/types/scopes/tools.d.ts +4 -5
  346. package/dist/react/types/scopes/tools.d.ts.map +1 -1
  347. package/dist/react/utils/getMessageQuote.d.ts +1 -2
  348. package/dist/react/utils/getMessageQuote.d.ts.map +1 -1
  349. package/dist/react/utils/groupParts.d.ts +13 -9
  350. package/dist/react/utils/groupParts.d.ts.map +1 -1
  351. package/dist/react/utils/groupParts.js +6 -0
  352. package/dist/react/utils/groupParts.js.map +1 -1
  353. package/dist/react/utils/useJSONEqual.d.ts +3 -2
  354. package/dist/react/utils/useJSONEqual.d.ts.map +1 -1
  355. package/dist/react/utils/useJSONEqual.js +6 -1
  356. package/dist/react/utils/useJSONEqual.js.map +1 -1
  357. package/dist/react/utils/useJSONSchemaDependency.d.ts +6 -0
  358. package/dist/react/utils/useJSONSchemaDependency.d.ts.map +1 -0
  359. package/dist/react/utils/useJSONSchemaDependency.js +20 -0
  360. package/dist/react/utils/useJSONSchemaDependency.js.map +1 -0
  361. package/dist/runtime/api/assistant-runtime.d.ts +2 -3
  362. package/dist/runtime/api/assistant-runtime.d.ts.map +1 -1
  363. package/dist/runtime/api/attachment-runtime.d.ts +6 -7
  364. package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
  365. package/dist/runtime/api/bindings.d.ts +5 -6
  366. package/dist/runtime/api/bindings.d.ts.map +1 -1
  367. package/dist/runtime/api/composer-runtime.d.ts +10 -10
  368. package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
  369. package/dist/runtime/api/message-part-runtime.d.ts +3 -4
  370. package/dist/runtime/api/message-part-runtime.d.ts.map +1 -1
  371. package/dist/runtime/api/message-part-runtime.js +3 -2
  372. package/dist/runtime/api/message-part-runtime.js.map +1 -1
  373. package/dist/runtime/api/message-runtime.d.ts +8 -6
  374. package/dist/runtime/api/message-runtime.d.ts.map +1 -1
  375. package/dist/runtime/api/message-runtime.js +3 -2
  376. package/dist/runtime/api/message-runtime.js.map +1 -1
  377. package/dist/runtime/api/paths.d.ts +6 -7
  378. package/dist/runtime/api/paths.d.ts.map +1 -1
  379. package/dist/runtime/api/thread-list-item-runtime.d.ts +8 -8
  380. package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
  381. package/dist/runtime/api/thread-list-runtime.d.ts +4 -5
  382. package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
  383. package/dist/runtime/api/thread-runtime.d.ts +10 -11
  384. package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
  385. package/dist/runtime/api/thread-runtime.js +2 -5
  386. package/dist/runtime/api/thread-runtime.js.map +1 -1
  387. package/dist/runtime/base/base-assistant-runtime-core.d.ts +1 -2
  388. package/dist/runtime/base/base-assistant-runtime-core.d.ts.map +1 -1
  389. package/dist/runtime/base/base-composer-runtime-core.d.ts +2 -2
  390. package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
  391. package/dist/runtime/base/base-composer-runtime-core.js +46 -10
  392. package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
  393. package/dist/runtime/base/base-thread-runtime-core.d.ts +10 -3
  394. package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
  395. package/dist/runtime/base/base-thread-runtime-core.js +212 -77
  396. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  397. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts +1 -2
  398. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts.map +1 -1
  399. package/dist/runtime/base/default-edit-composer-runtime-core.js +12 -2
  400. package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
  401. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +1 -2
  402. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
  403. package/dist/runtime/base/default-thread-composer-runtime-core.js +7 -1
  404. package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
  405. package/dist/runtime/branch/external-thread-branch-adapter.d.ts +1 -2
  406. package/dist/runtime/branch/external-thread-branch-adapter.d.ts.map +1 -1
  407. package/dist/runtime/interfaces/assistant-runtime-core.d.ts +1 -2
  408. package/dist/runtime/interfaces/assistant-runtime-core.d.ts.map +1 -1
  409. package/dist/runtime/interfaces/composer-runtime-core.d.ts +10 -11
  410. package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
  411. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +4 -5
  412. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
  413. package/dist/runtime/interfaces/thread-runtime-core.d.ts +23 -16
  414. package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
  415. package/dist/runtime/queue/external-thread-queue-adapter.d.ts +2 -3
  416. package/dist/runtime/queue/external-thread-queue-adapter.d.ts.map +1 -1
  417. package/dist/runtime/queue/message-queue.d.ts +10 -4
  418. package/dist/runtime/queue/message-queue.d.ts.map +1 -1
  419. package/dist/runtime/queue/message-queue.js +70 -7
  420. package/dist/runtime/queue/message-queue.js.map +1 -1
  421. package/dist/runtime/queue/queue-item.d.ts +2 -3
  422. package/dist/runtime/queue/queue-item.d.ts.map +1 -1
  423. package/dist/runtime/utils/abortable-thread-load.d.ts +2 -3
  424. package/dist/runtime/utils/abortable-thread-load.d.ts.map +1 -1
  425. package/dist/runtime/utils/attachment-add-operations.d.ts +3 -4
  426. package/dist/runtime/utils/attachment-add-operations.d.ts.map +1 -1
  427. package/dist/runtime/utils/auto-status.d.ts +9 -6
  428. package/dist/runtime/utils/auto-status.d.ts.map +1 -1
  429. package/dist/runtime/utils/auto-status.js +12 -4
  430. package/dist/runtime/utils/auto-status.js.map +1 -1
  431. package/dist/runtime/utils/chat-model-adapter.d.ts +5 -6
  432. package/dist/runtime/utils/chat-model-adapter.d.ts.map +1 -1
  433. package/dist/runtime/utils/external-message-conversion.d.ts +26 -15
  434. package/dist/runtime/utils/external-message-conversion.d.ts.map +1 -1
  435. package/dist/runtime/utils/external-message-conversion.js +51 -14
  436. package/dist/runtime/utils/external-message-conversion.js.map +1 -1
  437. package/dist/runtime/utils/external-store-message.d.ts +4 -5
  438. package/dist/runtime/utils/external-store-message.d.ts.map +1 -1
  439. package/dist/runtime/utils/message-repository-session.d.ts +3 -4
  440. package/dist/runtime/utils/message-repository-session.d.ts.map +1 -1
  441. package/dist/runtime/utils/message-repository.d.ts +4 -5
  442. package/dist/runtime/utils/message-repository.d.ts.map +1 -1
  443. package/dist/runtime/utils/message-repository.js +3 -3
  444. package/dist/runtime/utils/message-repository.js.map +1 -1
  445. package/dist/runtime/utils/pending-tool-calls.d.ts +2 -3
  446. package/dist/runtime/utils/pending-tool-calls.d.ts.map +1 -1
  447. package/dist/runtime/utils/resolveToolApprovalResponse.d.ts +1 -2
  448. package/dist/runtime/utils/resolveToolApprovalResponse.d.ts.map +1 -1
  449. package/dist/runtime/utils/runtime-extras-brand.d.ts +2 -3
  450. package/dist/runtime/utils/runtime-extras-brand.d.ts.map +1 -1
  451. package/dist/runtime/utils/stored-message-parts.d.ts +21 -0
  452. package/dist/runtime/utils/stored-message-parts.d.ts.map +1 -0
  453. package/dist/runtime/utils/stored-message-parts.js +83 -0
  454. package/dist/runtime/utils/stored-message-parts.js.map +1 -0
  455. package/dist/runtime/utils/streaming-timing.d.ts +4 -5
  456. package/dist/runtime/utils/streaming-timing.d.ts.map +1 -1
  457. package/dist/runtime/utils/thread-message-like.d.ts +7 -6
  458. package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
  459. package/dist/runtime/utils/thread-message-like.js +4 -2
  460. package/dist/runtime/utils/thread-message-like.js.map +1 -1
  461. package/dist/runtime/utils/thread-runtime-lifecycle.d.ts +3 -4
  462. package/dist/runtime/utils/thread-runtime-lifecycle.d.ts.map +1 -1
  463. package/dist/runtime/utils/tool-call-tree.d.ts +4 -5
  464. package/dist/runtime/utils/tool-call-tree.d.ts.map +1 -1
  465. package/dist/runtimes/assistant-transport/utils.d.ts +1 -2
  466. package/dist/runtimes/assistant-transport/utils.d.ts.map +1 -1
  467. package/dist/runtimes/external-store/external-store-adapter.d.ts +9 -6
  468. package/dist/runtimes/external-store/external-store-adapter.d.ts.map +1 -1
  469. package/dist/runtimes/external-store/external-store-runtime-core.d.ts +1 -2
  470. package/dist/runtimes/external-store/external-store-runtime-core.d.ts.map +1 -1
  471. package/dist/runtimes/external-store/external-store-shared-options.d.ts +2 -3
  472. package/dist/runtimes/external-store/external-store-shared-options.d.ts.map +1 -1
  473. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts +2 -3
  474. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
  475. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +4 -3
  476. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
  477. package/dist/runtimes/external-store/external-store-thread-runtime-core.js +36 -6
  478. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  479. package/dist/runtimes/external-store/thread-message-converter.d.ts +2 -3
  480. package/dist/runtimes/external-store/thread-message-converter.d.ts.map +1 -1
  481. package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts +2 -3
  482. package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts.map +1 -1
  483. package/dist/runtimes/internal.d.ts +1 -1
  484. package/dist/runtimes/local/local-runtime-core.d.ts +1 -2
  485. package/dist/runtimes/local/local-runtime-core.d.ts.map +1 -1
  486. package/dist/runtimes/local/local-runtime-options.d.ts +1 -2
  487. package/dist/runtimes/local/local-runtime-options.d.ts.map +1 -1
  488. package/dist/runtimes/local/local-thread-list-runtime-core.d.ts +2 -3
  489. package/dist/runtimes/local/local-thread-list-runtime-core.d.ts.map +1 -1
  490. package/dist/runtimes/local/local-thread-runtime-core.d.ts +10 -5
  491. package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
  492. package/dist/runtimes/local/local-thread-runtime-core.js +57 -10
  493. package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
  494. package/dist/runtimes/local/should-continue.d.ts +1 -2
  495. package/dist/runtimes/local/should-continue.d.ts.map +1 -1
  496. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +1 -2
  497. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
  498. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +1 -2
  499. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -1
  500. package/dist/runtimes/remote-thread-list/adapter-changed.d.ts +1 -2
  501. package/dist/runtimes/remote-thread-list/adapter-changed.d.ts.map +1 -1
  502. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts +1 -2
  503. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
  504. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts +1 -2
  505. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts.map +1 -1
  506. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts +16 -17
  507. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts.map +1 -1
  508. package/dist/runtimes/remote-thread-list/title-generation.d.ts +7 -8
  509. package/dist/runtimes/remote-thread-list/title-generation.d.ts.map +1 -1
  510. package/dist/runtimes/remote-thread-list/title.d.ts +2 -3
  511. package/dist/runtimes/remote-thread-list/title.d.ts.map +1 -1
  512. package/dist/runtimes/remote-thread-list/types.d.ts +8 -9
  513. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  514. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts +4 -5
  515. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts.map +1 -1
  516. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js +2 -1
  517. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
  518. package/dist/store/clients/chain-of-thought-client.d.ts +1 -2
  519. package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
  520. package/dist/store/clients/external-thread.d.ts +3 -4
  521. package/dist/store/clients/external-thread.d.ts.map +1 -1
  522. package/dist/store/clients/external-thread.js +256 -211
  523. package/dist/store/clients/external-thread.js.map +1 -1
  524. package/dist/store/clients/model-context-client.d.ts +1 -2
  525. package/dist/store/clients/model-context-client.d.ts.map +1 -1
  526. package/dist/store/clients/no-op-composer-client.d.ts +1 -2
  527. package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
  528. package/dist/store/clients/runtime-adapter.d.ts +1 -2
  529. package/dist/store/clients/runtime-adapter.d.ts.map +1 -1
  530. package/dist/store/clients/single-thread-list.d.ts +1 -2
  531. package/dist/store/clients/single-thread-list.d.ts.map +1 -1
  532. package/dist/store/clients/suggestions.d.ts +3 -4
  533. package/dist/store/clients/suggestions.d.ts.map +1 -1
  534. package/dist/store/clients/thread-message-client.d.ts +2 -3
  535. package/dist/store/clients/thread-message-client.d.ts.map +1 -1
  536. package/dist/store/clients/thread-selection-events.d.ts +1 -2
  537. package/dist/store/clients/thread-selection-events.d.ts.map +1 -1
  538. package/dist/store/clients/thread-tasks.d.ts +12 -0
  539. package/dist/store/clients/thread-tasks.d.ts.map +1 -0
  540. package/dist/store/clients/thread-tasks.js +69 -0
  541. package/dist/store/clients/thread-tasks.js.map +1 -0
  542. package/dist/store/env.d.ts +1 -2
  543. package/dist/store/env.d.ts.map +1 -1
  544. package/dist/store/index.d.ts +3 -2
  545. package/dist/store/index.js +3 -3
  546. package/dist/store/primitive-predicates.d.ts +11 -12
  547. package/dist/store/primitive-predicates.d.ts.map +1 -1
  548. package/dist/store/primitive-predicates.js +4 -4
  549. package/dist/store/primitive-predicates.js.map +1 -1
  550. package/dist/store/runtime-clients/attachment-runtime-client.d.ts +1 -2
  551. package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
  552. package/dist/store/runtime-clients/composer-runtime-client.d.ts +1 -2
  553. package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
  554. package/dist/store/runtime-clients/handle-runtime-action.d.ts +1 -2
  555. package/dist/store/runtime-clients/handle-runtime-action.d.ts.map +1 -1
  556. package/dist/store/runtime-clients/handle-thread-list-action.d.ts +1 -2
  557. package/dist/store/runtime-clients/handle-thread-list-action.d.ts.map +1 -1
  558. package/dist/store/runtime-clients/liveRef.d.ts +1 -2
  559. package/dist/store/runtime-clients/liveRef.d.ts.map +1 -1
  560. package/dist/store/runtime-clients/message-part-runtime-client.d.ts +1 -2
  561. package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
  562. package/dist/store/runtime-clients/message-runtime-client.d.ts +1 -2
  563. package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
  564. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts +1 -2
  565. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
  566. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts +1 -2
  567. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
  568. package/dist/store/runtime-clients/thread-runtime-client.d.ts +1 -2
  569. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  570. package/dist/store/runtime-clients/thread-runtime-client.js +176 -128
  571. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  572. package/dist/store/runtime-clients/useSubscribable.d.ts +1 -2
  573. package/dist/store/runtime-clients/useSubscribable.d.ts.map +1 -1
  574. package/dist/store/scope-registration.d.ts +2 -0
  575. package/dist/store/scope-registration.d.ts.map +1 -1
  576. package/dist/store/scopes/attachment.d.ts +4 -5
  577. package/dist/store/scopes/attachment.d.ts.map +1 -1
  578. package/dist/store/scopes/chain-of-thought.d.ts +5 -6
  579. package/dist/store/scopes/chain-of-thought.d.ts.map +1 -1
  580. package/dist/store/scopes/composer.d.ts +6 -7
  581. package/dist/store/scopes/composer.d.ts.map +1 -1
  582. package/dist/store/scopes/message.d.ts +6 -6
  583. package/dist/store/scopes/message.d.ts.map +1 -1
  584. package/dist/store/scopes/model-context.d.ts +3 -4
  585. package/dist/store/scopes/model-context.d.ts.map +1 -1
  586. package/dist/store/scopes/part.d.ts +4 -5
  587. package/dist/store/scopes/part.d.ts.map +1 -1
  588. package/dist/store/scopes/queue-item.d.ts +4 -4
  589. package/dist/store/scopes/queue-item.d.ts.map +1 -1
  590. package/dist/store/scopes/suggestion.d.ts +4 -5
  591. package/dist/store/scopes/suggestion.d.ts.map +1 -1
  592. package/dist/store/scopes/suggestions.d.ts +5 -6
  593. package/dist/store/scopes/suggestions.d.ts.map +1 -1
  594. package/dist/store/scopes/task.d.ts +35 -0
  595. package/dist/store/scopes/task.d.ts.map +1 -0
  596. package/dist/store/scopes/task.js +0 -0
  597. package/dist/store/scopes/thread-list-item.d.ts +5 -6
  598. package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
  599. package/dist/store/scopes/thread.d.ts +25 -6
  600. package/dist/store/scopes/thread.d.ts.map +1 -1
  601. package/dist/store/scopes/threads.d.ts +4 -5
  602. package/dist/store/scopes/threads.d.ts.map +1 -1
  603. package/dist/subscribable/subscribable.d.ts +15 -15
  604. package/dist/subscribable/subscribable.d.ts.map +1 -1
  605. package/dist/subscribable/subscribable.js +23 -15
  606. package/dist/subscribable/subscribable.js.map +1 -1
  607. package/dist/tests/remote-thread-list-test-helpers.d.ts +5 -6
  608. package/dist/tests/remote-thread-list-test-helpers.d.ts.map +1 -1
  609. package/dist/types/attachment.d.ts +9 -10
  610. package/dist/types/attachment.d.ts.map +1 -1
  611. package/dist/types/augmentations.d.ts +3 -4
  612. package/dist/types/augmentations.d.ts.map +1 -1
  613. package/dist/types/directive.d.ts +2 -3
  614. package/dist/types/directive.d.ts.map +1 -1
  615. package/dist/types/error.d.ts +8 -9
  616. package/dist/types/error.d.ts.map +1 -1
  617. package/dist/types/index.d.ts +2 -2
  618. package/dist/types/message.d.ts +53 -44
  619. package/dist/types/message.d.ts.map +1 -1
  620. package/dist/types/message.js.map +1 -1
  621. package/dist/types/quote.d.ts +1 -2
  622. package/dist/types/quote.d.ts.map +1 -1
  623. package/dist/types/trigger.d.ts +2 -3
  624. package/dist/types/trigger.d.ts.map +1 -1
  625. package/dist/types/unsubscribe.d.ts +1 -2
  626. package/dist/types/unsubscribe.d.ts.map +1 -1
  627. package/dist/utils/abortable-iterable.d.ts +2 -3
  628. package/dist/utils/abortable-iterable.d.ts.map +1 -1
  629. package/dist/utils/abortable-iterable.js +30 -14
  630. package/dist/utils/abortable-iterable.js.map +1 -1
  631. package/dist/utils/composite-context-provider.d.ts +1 -2
  632. package/dist/utils/composite-context-provider.d.ts.map +1 -1
  633. package/dist/utils/data-url.d.ts +6 -7
  634. package/dist/utils/data-url.d.ts.map +1 -1
  635. package/dist/utils/getGroupStatus.d.ts +17 -2
  636. package/dist/utils/getGroupStatus.d.ts.map +1 -1
  637. package/dist/utils/getGroupStatus.js +32 -7
  638. package/dist/utils/getGroupStatus.js.map +1 -1
  639. package/dist/utils/id.d.ts +3 -4
  640. package/dist/utils/id.d.ts.map +1 -1
  641. package/dist/utils/image-media-type.d.ts +1 -2
  642. package/dist/utils/image-media-type.d.ts.map +1 -1
  643. package/dist/utils/invoke-user-callback.d.ts +1 -2
  644. package/dist/utils/invoke-user-callback.d.ts.map +1 -1
  645. package/dist/utils/json/is-json-equal.d.ts +1 -2
  646. package/dist/utils/json/is-json-equal.d.ts.map +1 -1
  647. package/dist/utils/json/is-json.d.ts +4 -5
  648. package/dist/utils/json/is-json.d.ts.map +1 -1
  649. package/dist/utils/json/stable-stringify-tool-args.d.ts +2 -3
  650. package/dist/utils/json/stable-stringify-tool-args.d.ts.map +1 -1
  651. package/dist/utils/normalizePartStatus.d.ts +4 -5
  652. package/dist/utils/normalizePartStatus.d.ts.map +1 -1
  653. package/dist/utils/notify-event-listeners.d.ts +1 -2
  654. package/dist/utils/notify-event-listeners.d.ts.map +1 -1
  655. package/dist/utils/record.d.ts +1 -2
  656. package/dist/utils/record.d.ts.map +1 -1
  657. package/dist/utils/silent-runtime-action.d.ts +2 -3
  658. package/dist/utils/silent-runtime-action.d.ts.map +1 -1
  659. package/dist/utils/text.d.ts +1 -2
  660. package/dist/utils/text.d.ts.map +1 -1
  661. package/dist/utils/wire-media.d.ts +3 -4
  662. package/dist/utils/wire-media.d.ts.map +1 -1
  663. package/dist/utils/wire-media.js +2 -2
  664. package/dist/utils/wire-media.js.map +1 -1
  665. package/package.json +15 -14
  666. package/src/adapters/attachment.ts +8 -1
  667. package/src/adapters/feedback.ts +1 -0
  668. package/src/adapters/speech.test.ts +236 -0
  669. package/src/adapters/speech.ts +17 -10
  670. package/src/adapters/thread-history.ts +3 -0
  671. package/src/index.ts +1 -0
  672. package/src/model-context/frame/host.test.ts +113 -1
  673. package/src/model-context/frame/host.ts +39 -12
  674. package/src/model-context/frame/provider.test.ts +45 -20
  675. package/src/model-context/interactable-composer-metadata.test.ts +30 -0
  676. package/src/model-context/interactable-composer-metadata.ts +10 -10
  677. package/src/react/RuntimeAdapter.test.ts +4 -1
  678. package/src/react/adapters/LocalStorageThreadListAdapter.test.ts +361 -0
  679. package/src/react/adapters/LocalStorageThreadListAdapter.tsx +69 -19
  680. package/src/react/client/DataRenderers.test.tsx +45 -0
  681. package/src/react/client/DataRenderers.ts +13 -9
  682. package/src/react/client/Interactables.test.ts +52 -4
  683. package/src/react/client/Interactables.ts +7 -1
  684. package/src/react/client/RemoteThreadList.concurrent.test.tsx +9 -3
  685. package/src/react/client/RemoteThreadList.test.ts +46 -7
  686. package/src/react/client/RemoteThreadList.ts +15 -2
  687. package/src/react/client/interactable-model-context.test.ts +44 -0
  688. package/src/react/client/interactable-model-context.ts +3 -2
  689. package/src/react/index.ts +5 -1
  690. package/src/react/interactables-legacy/Interactables.test.ts +9 -3
  691. package/src/react/interactables-legacy/useAssistantInteractable.test.tsx +150 -0
  692. package/src/react/interactables-legacy/useAssistantInteractable.ts +10 -1
  693. package/src/react/model-context/useInteractable.test.tsx +204 -0
  694. package/src/react/model-context/useInteractable.ts +3 -0
  695. package/src/react/primitive-hooks/useActionBarCopy.test.ts +5 -6
  696. package/src/react/primitive-hooks/useSuggestionTrigger.test.ts +0 -1
  697. package/src/react/primitives/generativeUI/GenerativeUI.test.tsx +54 -0
  698. package/src/react/primitives/generativeUI/GenerativeUI.tsx +13 -18
  699. package/src/react/primitives/message/MessageGroupedParts.test.tsx +99 -0
  700. package/src/react/primitives/message/MessageGroupedParts.tsx +15 -4
  701. package/src/react/primitives/part/PartMessages.test.tsx +104 -1
  702. package/src/react/primitives/part/PartMessages.tsx +1 -0
  703. package/src/react/primitives/thread/ThreadMessages.test.tsx +160 -0
  704. package/src/react/primitives/thread/ThreadMessages.tsx +8 -5
  705. package/src/react/providers/ReadonlyThreadProvider.test.tsx +56 -0
  706. package/src/react/runtimes/RemoteThreadListHookInstanceManager.layout.test.tsx +62 -0
  707. package/src/react/runtimes/RemoteThreadListHookInstanceManager.retry.test.tsx +2 -2
  708. package/src/react/runtimes/RemoteThreadListHookInstanceManager.test.tsx +23 -20
  709. package/src/react/runtimes/RemoteThreadListHookInstanceManager.title.test.tsx +24 -17
  710. package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +39 -24
  711. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +7 -1
  712. package/src/react/runtimes/assistant-transport/transport-scheduling.test.ts +73 -46
  713. package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.test.tsx +66 -1
  714. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.ts +20 -14
  715. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +323 -1
  716. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +190 -523
  717. package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.test.ts +81 -0
  718. package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.ts +27 -1
  719. package/src/react/runtimes/cloud/auiV0.ts +281 -26
  720. package/src/react/runtimes/cloud/auiV0DecodeSafely.test.ts +522 -0
  721. package/src/react/runtimes/cloud/createCloudThreadListAdapter.test.ts +21 -0
  722. package/src/react/runtimes/cloud/createCloudThreadListAdapter.ts +7 -1
  723. package/src/react/runtimes/cloud/sdkIdentity.ts +9 -0
  724. package/src/react/runtimes/cloud/useCloudThreadListAdapter.test.tsx +18 -4
  725. package/src/react/runtimes/external-message-converter.test.ts +143 -4
  726. package/src/react/runtimes/external-message-converter.ts +39 -93
  727. package/src/react/runtimes/remote-thread-hook-on-tap.test.ts +2 -1
  728. package/src/react/runtimes/useExternalStoreRuntime.lifecycle.test.tsx +8 -2
  729. package/src/react/runtimes/useExternalStoreRuntime.suggestions.test.tsx +6 -2
  730. package/src/react/runtimes/useRemoteThreadListRuntime.concurrent.test.tsx +84 -4
  731. package/src/react/runtimes/useRemoteThreadListRuntime.ts +6 -2
  732. package/src/react/utils/groupParts.ts +12 -1
  733. package/src/react/utils/useJSONEqual.ts +9 -0
  734. package/src/react/utils/useJSONSchemaDependency.ts +22 -0
  735. package/src/runtime/api/message-part-runtime.ts +4 -1
  736. package/src/runtime/api/message-runtime.ts +15 -2
  737. package/src/runtime/api/thread-runtime.test.ts +58 -0
  738. package/src/runtime/api/thread-runtime.ts +2 -4
  739. package/src/runtime/base/base-composer-runtime-core.ts +69 -16
  740. package/src/runtime/base/base-thread-runtime-core.test.ts +1799 -49
  741. package/src/runtime/base/base-thread-runtime-core.ts +296 -94
  742. package/src/runtime/base/default-edit-composer-runtime-core.ts +12 -2
  743. package/src/runtime/base/default-thread-composer-runtime-core.ts +12 -1
  744. package/src/runtime/interfaces/thread-runtime-core.ts +8 -0
  745. package/src/runtime/queue/message-queue.ts +79 -7
  746. package/src/runtime/utils/auto-status.test.ts +112 -1
  747. package/src/runtime/utils/auto-status.ts +31 -5
  748. package/src/runtime/utils/external-message-conversion.test.ts +177 -0
  749. package/src/runtime/utils/external-message-conversion.ts +128 -33
  750. package/src/runtime/utils/message-repository.test.ts +49 -0
  751. package/src/runtime/utils/message-repository.ts +3 -3
  752. package/src/runtime/utils/stored-message-parts.ts +174 -0
  753. package/src/runtime/utils/thread-message-like.test.ts +52 -0
  754. package/src/runtime/utils/thread-message-like.ts +11 -2
  755. package/src/runtimes/external-store/external-store-adapter.ts +4 -0
  756. package/src/runtimes/external-store/external-store-thread-runtime-core.ts +74 -9
  757. package/src/runtimes/local/local-thread-runtime-core.test.ts +189 -12
  758. package/src/runtimes/local/local-thread-runtime-core.ts +91 -10
  759. package/src/runtimes/tool-invocations/EDGE_CASES.md +2 -6
  760. package/src/runtimes/tool-invocations/ToolInvocationTracker.test.ts +133 -0
  761. package/src/runtimes/tool-invocations/ToolInvocationTracker.ts +10 -6
  762. package/src/store/clients/external-thread.ts +53 -14
  763. package/src/store/clients/thread-tasks.test.ts +274 -0
  764. package/src/store/clients/thread-tasks.ts +138 -0
  765. package/src/store/index.ts +8 -0
  766. package/src/store/primitive-predicates.test.ts +64 -5
  767. package/src/store/primitive-predicates.ts +10 -2
  768. package/src/store/runtime-clients/thread-runtime-client.test.tsx +110 -0
  769. package/src/store/runtime-clients/thread-runtime-client.ts +31 -1
  770. package/src/store/scope-registration.ts +2 -0
  771. package/src/store/scopes/message.ts +4 -1
  772. package/src/store/scopes/task.ts +34 -0
  773. package/src/store/scopes/thread.ts +16 -0
  774. package/src/store/thread-tasks.test.tsx +209 -0
  775. package/src/subscribable/subscribable.test.ts +161 -1
  776. package/src/subscribable/subscribable.ts +25 -15
  777. package/src/tests/MessageRepository.test.ts +1 -5
  778. package/src/tests/attachment-adapters.test.ts +16 -1
  779. package/src/tests/auiV0Encode.test.ts +304 -0
  780. package/src/tests/base-composer-runtime-core-addAttachment.test.ts +6 -6
  781. package/src/tests/base-composer-runtime-core-send.test.ts +51 -0
  782. package/src/tests/base-composer-runtime-core.test.ts +329 -6
  783. package/src/tests/composer-can-cancel.test.ts +35 -6
  784. package/src/tests/composer-can-send.test.ts +22 -0
  785. package/src/tests/default-edit-composer-runtime-core.test.ts +47 -0
  786. package/src/tests/external-store-thread-runtime-core-adapter.test.ts +369 -16
  787. package/src/tests/external-store-thread-runtime-core.test.ts +31 -0
  788. package/src/tests/external-thread-attachments.test.tsx +91 -23
  789. package/src/tests/external-thread-feedback.test.tsx +20 -7
  790. package/src/tests/external-thread-parity.test.tsx +35 -1
  791. package/src/tests/groupParts.test.ts +71 -0
  792. package/src/tests/message-queue.test.ts +290 -2
  793. package/src/tests/remote-thread-list-reactive-threadId.test.ts +51 -0
  794. package/src/tests/thread-switch-events.test.tsx +11 -7
  795. package/src/tests/useRemoteThreadListRuntime-controlled.test.tsx +45 -1
  796. package/src/types/index.ts +1 -0
  797. package/src/types/message.test.ts +19 -0
  798. package/src/types/message.ts +23 -7
  799. package/src/utils/abortable-iterable.test.ts +115 -0
  800. package/src/utils/abortable-iterable.ts +34 -23
  801. package/src/utils/getGroupStatus.test.ts +70 -4
  802. package/src/utils/getGroupStatus.ts +35 -12
  803. package/src/utils/wire-media.test.ts +10 -0
  804. package/src/utils/wire-media.ts +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"default-edit-composer-runtime-core.js","names":["AppendMessage","ThreadMessage","CompleteAttachment","getThreadMessageText","liftNonTextParts","AttachmentAdapter","DictationAdapter","SendOptions","ThreadRuntimeCore","BaseComposerRuntimeCore","DefaultEditComposerRuntimeCore","canCancel","canSend","isEmpty","_isSending","getAttachmentAdapter","runtime","adapters","attachments","getDictationAdapter","dictation","_nonTextPassthrough","_parentId","_sourceId","endEditCallback","constructor","parentId","message","id","setText","setRole","role","content","filter","p","type","setAttachments","setRunConfig","composer","runConfig","sourceId","handleSend","Omit","options","length","appendTask","append","startRun","handleCancel","_notifySubscribers"],"sources":["../../../src/runtime/base/default-edit-composer-runtime-core.ts"],"sourcesContent":["import type { AppendMessage, ThreadMessage } from \"../../types/message\";\nimport type { CompleteAttachment } from \"../../types/attachment\";\nimport { getThreadMessageText } from \"../../utils/text\";\nimport { liftNonTextParts } from \"../../adapters/attachment\";\nimport type { AttachmentAdapter } from \"../../adapters/attachment\";\nimport type { DictationAdapter } from \"../../adapters/speech\";\nimport type { SendOptions } from \"../interfaces/composer-runtime-core\";\nimport type { ThreadRuntimeCore } from \"../interfaces/thread-runtime-core\";\nimport { BaseComposerRuntimeCore } from \"./base-composer-runtime-core\";\n\nexport class DefaultEditComposerRuntimeCore extends BaseComposerRuntimeCore {\n public get canCancel() {\n return true;\n }\n\n public get canSend() {\n return !this.isEmpty && !this._isSending;\n }\n\n protected getAttachmentAdapter() {\n return this.runtime.adapters?.attachments;\n }\n\n protected getDictationAdapter() {\n return this.runtime.adapters?.dictation;\n }\n\n private _nonTextPassthrough: readonly ThreadMessage[\"content\"][number][];\n private _parentId: string | null;\n private _sourceId: string | null;\n private runtime: ThreadRuntimeCore & {\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n dictation?: DictationAdapter | undefined;\n }\n | undefined;\n };\n private endEditCallback: () => void;\n\n constructor(\n runtime: ThreadRuntimeCore & {\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n dictation?: DictationAdapter | undefined;\n }\n | undefined;\n },\n endEditCallback: () => void,\n { parentId, message }: { parentId: string | null; message: ThreadMessage },\n ) {\n super();\n this.runtime = runtime;\n this.endEditCallback = endEditCallback;\n this._parentId = parentId;\n this._sourceId = message.id;\n this.setText(getThreadMessageText(message));\n\n this.setRole(message.role);\n\n let attachments: readonly CompleteAttachment[];\n if (message.role === \"user\") {\n attachments = [\n ...(message.attachments ?? []),\n ...liftNonTextParts(message.content),\n ];\n this._nonTextPassthrough = [];\n } else {\n attachments = message.attachments ?? [];\n this._nonTextPassthrough = message.content.filter(\n (p) => p.type !== \"text\",\n );\n }\n this.setAttachments(attachments);\n\n this.setRunConfig({ ...runtime.composer.runConfig });\n }\n\n public get parentId() {\n return this._parentId;\n }\n\n public get sourceId() {\n return this._sourceId;\n }\n\n public async handleSend(\n message: Omit<AppendMessage, \"parentId\" | \"sourceId\">,\n options?: SendOptions,\n ) {\n const content =\n this._nonTextPassthrough.length > 0\n ? ([\n ...message.content,\n ...this._nonTextPassthrough,\n ] as AppendMessage[\"content\"])\n : message.content;\n const appendTask = this.runtime.append({\n ...message,\n content,\n parentId: this._parentId,\n sourceId: this._sourceId,\n startRun: options?.startRun,\n });\n\n this.handleCancel();\n return appendTask;\n }\n\n public handleCancel() {\n this.endEditCallback();\n this._notifySubscribers();\n }\n}\n"],"mappings":";;;;AAUA,IAAaU,iCAAb,cAAoDD,wBAAwB;CAC1E,IAAWE,YAAY;EACrB,OAAO;CACT;CAEA,IAAWC,UAAU;EACnB,OAAO,CAAC,KAAKC,WAAW,CAAC,KAAKC;CAChC;CAEA,uBAAiC;EAC/B,OAAO,KAAKE,QAAQC,UAAUC;CAChC;CAEA,sBAAgC;EAC9B,OAAO,KAAKF,QAAQC,UAAUG;CAChC;CAEA;CACA;CACA;CACA;CAQA;CAEAK,YACET,SAQAQ,iBACA,EAAEE,UAAUC,WACZ;EACA,MAAM;EACN,KAAKX,UAAUA;EACf,KAAKQ,kBAAkBA;EACvB,KAAKF,YAAYI;EACjB,KAAKH,YAAYI,QAAQC;EACzB,KAAKC,QAAQ1B,qBAAqBwB,OAAO,CAAC;EAE1C,KAAKG,QAAQH,QAAQI,IAAI;EAEzB,IAAIb;EACJ,IAAIS,QAAQI,SAAS,QAAQ;GAC3Bb,cAAc,CACZ,GAAIS,QAAQT,eAAe,CAAA,GAC3B,GAAGd,iBAAiBuB,QAAQK,OAAO,CAAC;GAEtC,KAAKX,sBAAsB,CAAA;EAC7B,OAAO;GACLH,cAAcS,QAAQT,eAAe,CAAA;GACrC,KAAKG,sBAAsBM,QAAQK,QAAQC,QACxCC,MAAMA,EAAEC,SAAS,MACpB;EACF;EACA,KAAKC,eAAelB,WAAW;EAE/B,KAAKmB,aAAa,EAAE,GAAGrB,QAAQsB,SAASC,UAAU,CAAC;CACrD;CAEA,IAAWb,WAAW;EACpB,OAAO,KAAKJ;CACd;CAEA,IAAWkB,WAAW;EACpB,OAAO,KAAKjB;CACd;CAEA,MAAakB,WACXd,SACAgB,SACA;EACA,MAAMX,UACJ,KAAKX,oBAAoBuB,SAAS,IAC7B,CACC,GAAGjB,QAAQK,SACX,GAAG,KAAKX,mBAAmB,IAE7BM,QAAQK;EACd,MAAMa,aAAa,KAAK7B,QAAQ8B,OAAO;GACrC,GAAGnB;GACHK;GACAN,UAAU,KAAKJ;GACfkB,UAAU,KAAKjB;GACfwB,UAAUJ,SAASI;EACrB,CAAC;EAED,KAAKC,aAAa;EAClB,OAAOH;CACT;CAEA,eAAsB;EACpB,KAAKrB,gBAAgB;EACrB,KAAKyB,mBAAmB;CAC1B;AACF"}
1
+ {"version":3,"file":"default-edit-composer-runtime-core.js","names":["AppendMessage","ThreadMessage","CompleteAttachment","getThreadMessageText","liftNonTextParts","AttachmentAdapter","DictationAdapter","SendOptions","ThreadRuntimeCore","BaseComposerRuntimeCore","DefaultEditComposerRuntimeCore","canCancel","canSend","isEmpty","runtime","voice","_isSending","getAttachmentAdapter","adapters","attachments","getDictationAdapter","dictation","_nonTextPassthrough","_parentId","_sourceId","endEditCallback","constructor","parentId","message","lastHasVoice","undefined","unsubscribe","subscribe","hasVoice","_notifySubscribers","id","setText","setRole","role","content","filter","p","type","setAttachments","setRunConfig","composer","runConfig","sourceId","handleSend","Omit","options","length","appendTask","append","startRun","handleCancel"],"sources":["../../../src/runtime/base/default-edit-composer-runtime-core.ts"],"sourcesContent":["import type { AppendMessage, ThreadMessage } from \"../../types/message\";\nimport type { CompleteAttachment } from \"../../types/attachment\";\nimport { getThreadMessageText } from \"../../utils/text\";\nimport { liftNonTextParts } from \"../../adapters/attachment\";\nimport type { AttachmentAdapter } from \"../../adapters/attachment\";\nimport type { DictationAdapter } from \"../../adapters/speech\";\nimport type { SendOptions } from \"../interfaces/composer-runtime-core\";\nimport type { ThreadRuntimeCore } from \"../interfaces/thread-runtime-core\";\nimport { BaseComposerRuntimeCore } from \"./base-composer-runtime-core\";\n\nexport class DefaultEditComposerRuntimeCore extends BaseComposerRuntimeCore {\n public get canCancel() {\n return true;\n }\n\n public get canSend() {\n return !this.isEmpty && !this.runtime.voice && !this._isSending;\n }\n\n protected getAttachmentAdapter() {\n return this.runtime.adapters?.attachments;\n }\n\n protected getDictationAdapter() {\n return this.runtime.adapters?.dictation;\n }\n\n private _nonTextPassthrough: readonly ThreadMessage[\"content\"][number][];\n private _parentId: string | null;\n private _sourceId: string | null;\n private runtime: ThreadRuntimeCore & {\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n dictation?: DictationAdapter | undefined;\n }\n | undefined;\n };\n private endEditCallback: () => void;\n\n constructor(\n runtime: ThreadRuntimeCore & {\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n dictation?: DictationAdapter | undefined;\n }\n | undefined;\n },\n endEditCallback: () => void,\n { parentId, message }: { parentId: string | null; message: ThreadMessage },\n ) {\n super();\n this.runtime = runtime;\n let lastHasVoice = runtime.voice !== undefined;\n const unsubscribe = runtime.subscribe(() => {\n const hasVoice = runtime.voice !== undefined;\n if (hasVoice === lastHasVoice) return;\n lastHasVoice = hasVoice;\n this._notifySubscribers();\n });\n this.endEditCallback = () => {\n unsubscribe();\n endEditCallback();\n };\n this._parentId = parentId;\n this._sourceId = message.id;\n this.setText(getThreadMessageText(message));\n\n this.setRole(message.role);\n\n let attachments: readonly CompleteAttachment[];\n if (message.role === \"user\") {\n attachments = [\n ...(message.attachments ?? []),\n ...liftNonTextParts(message.content),\n ];\n this._nonTextPassthrough = [];\n } else {\n attachments = message.attachments ?? [];\n this._nonTextPassthrough = message.content.filter(\n (p) => p.type !== \"text\",\n );\n }\n this.setAttachments(attachments);\n\n this.setRunConfig({ ...runtime.composer.runConfig });\n }\n\n public get parentId() {\n return this._parentId;\n }\n\n public get sourceId() {\n return this._sourceId;\n }\n\n public async handleSend(\n message: Omit<AppendMessage, \"parentId\" | \"sourceId\">,\n options?: SendOptions,\n ) {\n const content =\n this._nonTextPassthrough.length > 0\n ? ([\n ...message.content,\n ...this._nonTextPassthrough,\n ] as AppendMessage[\"content\"])\n : message.content;\n const appendTask = this.runtime.append({\n ...message,\n content,\n parentId: this._parentId,\n sourceId: this._sourceId,\n startRun: options?.startRun,\n });\n\n this.handleCancel();\n return appendTask;\n }\n\n public handleCancel() {\n this.endEditCallback();\n this._notifySubscribers();\n }\n}\n"],"mappings":";;;;AAUA,IAAaU,iCAAb,cAAoDD,wBAAwB;CAC1E,IAAWE,YAAY;EACrB,OAAO;CACT;CAEA,IAAWC,UAAU;EACnB,OAAO,CAAC,KAAKC,WAAW,CAAC,KAAKC,QAAQC,SAAS,CAAC,KAAKC;CACvD;CAEA,uBAAiC;EAC/B,OAAO,KAAKF,QAAQI,UAAUC;CAChC;CAEA,sBAAgC;EAC9B,OAAO,KAAKL,QAAQI,UAAUG;CAChC;CAEA;CACA;CACA;CACA;CAQA;CAEAK,YACEZ,SAQAW,iBACA,EAAEE,UAAUC,WACZ;EACA,MAAM;EACN,KAAKd,UAAUA;EACf,IAAIe,eAAef,QAAQC,UAAUe,KAAAA;EACrC,MAAMC,cAAcjB,QAAQkB,gBAAgB;GAC1C,MAAMC,WAAWnB,QAAQC,UAAUe,KAAAA;GACnC,IAAIG,aAAaJ,cAAc;GAC/BA,eAAeI;GACf,KAAKC,mBAAmB;EAC1B,CAAC;EACD,KAAKT,wBAAwB;GAC3BM,YAAY;GACZN,gBAAgB;EAClB;EACA,KAAKF,YAAYI;EACjB,KAAKH,YAAYI,QAAQO;EACzB,KAAKC,QAAQjC,qBAAqByB,OAAO,CAAC;EAE1C,KAAKS,QAAQT,QAAQU,IAAI;EAEzB,IAAInB;EACJ,IAAIS,QAAQU,SAAS,QAAQ;GAC3BnB,cAAc,CACZ,GAAIS,QAAQT,eAAe,CAAA,GAC3B,GAAGf,iBAAiBwB,QAAQW,OAAO,CAAC;GAEtC,KAAKjB,sBAAsB,CAAA;EAC7B,OAAO;GACLH,cAAcS,QAAQT,eAAe,CAAA;GACrC,KAAKG,sBAAsBM,QAAQW,QAAQC,QACxCC,MAAMA,EAAEC,SAAS,MACpB;EACF;EACA,KAAKC,eAAexB,WAAW;EAE/B,KAAKyB,aAAa,EAAE,GAAG9B,QAAQ+B,SAASC,UAAU,CAAC;CACrD;CAEA,IAAWnB,WAAW;EACpB,OAAO,KAAKJ;CACd;CAEA,IAAWwB,WAAW;EACpB,OAAO,KAAKvB;CACd;CAEA,MAAawB,WACXpB,SACAsB,SACA;EACA,MAAMX,UACJ,KAAKjB,oBAAoB6B,SAAS,IAC7B,CACC,GAAGvB,QAAQW,SACX,GAAG,KAAKjB,mBAAmB,IAE7BM,QAAQW;EACd,MAAMa,aAAa,KAAKtC,QAAQuC,OAAO;GACrC,GAAGzB;GACHW;GACAZ,UAAU,KAAKJ;GACfwB,UAAU,KAAKvB;GACf8B,UAAUJ,SAASI;EACrB,CAAC;EAED,KAAKC,aAAa;EAClB,OAAOH;CACT;CAEA,eAAsB;EACpB,KAAK3B,gBAAgB;EACrB,KAAKS,mBAAmB;CAC1B;AACF"}
@@ -9,7 +9,7 @@ import { ThreadRuntimeCore } from "../interfaces/thread-runtime-core.js";
9
9
  import { BaseComposerRuntimeCore } from "./base-composer-runtime-core.js";
10
10
  import "../../index.js";
11
11
  //#region src/runtime/base/default-thread-composer-runtime-core.d.ts
12
- declare class DefaultThreadComposerRuntimeCore extends BaseComposerRuntimeCore implements ThreadComposerRuntimeCore {
12
+ export declare class DefaultThreadComposerRuntimeCore extends BaseComposerRuntimeCore implements ThreadComposerRuntimeCore {
13
13
  get canCancel(): boolean;
14
14
  get canSend(): boolean;
15
15
  private _queueCache;
@@ -30,5 +30,4 @@ declare class DefaultThreadComposerRuntimeCore extends BaseComposerRuntimeCore i
30
30
  handleCancel(): Promise<void>;
31
31
  }
32
32
  //#endregion
33
- export { DefaultThreadComposerRuntimeCore };
34
33
  //# sourceMappingURL=default-thread-composer-runtime-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-thread-composer-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/base/default-thread-composer-runtime-core.ts"],"mappings":";;;;;;;;;;;cAmBa,yCACH,mCACG;MAEA;MAIA;UAIH;MAQY,kBAAkB;EAgBtB,cACd,qBACA,WAAW;EAKG,gBAAgB;YAItB,wBAAoB;YAIpB,uBAAmB;UAIrB;EAUN,YAAA,SAAS,KAAK;IACZ;MAEM,cAAc;MACd,YAAY;;;EAUf,WAVe;EAiCT,WACX,SAAS,KAAK,yCACd,UAAU,cAAW;EAWV,gBAAY"}
1
+ {"version":3,"file":"default-thread-composer-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/base/default-thread-composer-runtime-core.ts"],"mappings":";;;;;;;;;;;qBAmBa,yCACH,mCACG;MAEA;MAIA;UASH;MAQY,kBAAkB;EAgBtB,cACd,qBACA,WAAW;EAKG,gBAAgB;YAItB,wBAAoB;YAIpB,uBAAmB;UAIrB;EAUN,YAAA,SAAS,KAAK;IACZ;MAEM,cAAc;MACd,YAAY;;;EAUf,WAVe;EAuCT,WACX,SAAS,KAAK,yCACd,UAAU,cAAW;EAWV,gBAAY"}
@@ -11,7 +11,7 @@ var DefaultThreadComposerRuntimeCore = class extends BaseComposerRuntimeCore {
11
11
  return isCancelable(this.runtime);
12
12
  }
13
13
  get canSend() {
14
- return !this.isEmpty && !this.runtime.isSendDisabled && !this._isSending;
14
+ return !this.isEmpty && !this.runtime.isSendDisabled && !this.runtime.voice && !this._isSending;
15
15
  }
16
16
  _queueCache;
17
17
  get queue() {
@@ -48,6 +48,7 @@ var DefaultThreadComposerRuntimeCore = class extends BaseComposerRuntimeCore {
48
48
  connect() {
49
49
  let lastCanCancel = false;
50
50
  let lastIsSendDisabled = this.runtime.isSendDisabled;
51
+ let lastHasVoice = this.runtime.voice !== void 0;
51
52
  let lastQueue = this.queue;
52
53
  return this.runtime.subscribe(() => {
53
54
  let changed = false;
@@ -60,6 +61,11 @@ var DefaultThreadComposerRuntimeCore = class extends BaseComposerRuntimeCore {
60
61
  lastIsSendDisabled = this.runtime.isSendDisabled;
61
62
  changed = true;
62
63
  }
64
+ const hasVoice = this.runtime.voice !== void 0;
65
+ if (lastHasVoice !== hasVoice) {
66
+ lastHasVoice = hasVoice;
67
+ changed = true;
68
+ }
63
69
  if (lastQueue !== this.queue) {
64
70
  lastQueue = this.queue;
65
71
  changed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"default-thread-composer-runtime-core.js","names":["AppendMessage","AttachmentAdapter","DictationAdapter","SendOptions","ThreadComposerRuntimeCore","ThreadRuntimeCore","getThreadRuntimeCoreIsRunning","QueuePlacement","EMPTY_QUEUE_ITEMS","QueueItemState","BaseComposerRuntimeCore","isCancelable","runtime","Omit","capabilities","cancel","DefaultThreadComposerRuntimeCore","canCancel","canSend","isEmpty","isSendDisabled","_isSending","_queueCache","steer","queue","flat","getSteerQueueItems","getQueueItems","cache","length","moveQueueItem","queueItemId","placement","removeQueueItem","getAttachmentAdapter","adapters","attachments","getDictationAdapter","dictation","constructor","connect","lastCanCancel","lastIsSendDisabled","lastQueue","subscribe","changed","nextCanCancel","_notifySubscribers","handleSend","message","options","append","parentId","messages","at","id","sourceId","startRun","handleCancel","cancelRun"],"sources":["../../../src/runtime/base/default-thread-composer-runtime-core.ts"],"sourcesContent":["import type { AppendMessage } from \"../../types/message\";\nimport type { AttachmentAdapter } from \"../../adapters/attachment\";\nimport type { DictationAdapter } from \"../../adapters/speech\";\nimport type {\n SendOptions,\n ThreadComposerRuntimeCore,\n} from \"../interfaces/composer-runtime-core\";\nimport type { ThreadRuntimeCore } from \"../interfaces/thread-runtime-core\";\nimport { getThreadRuntimeCoreIsRunning } from \"../api/thread-runtime\";\nimport type { QueuePlacement } from \"../queue/external-thread-queue-adapter\";\nimport { EMPTY_QUEUE_ITEMS, type QueueItemState } from \"../queue/queue-item\";\nimport { BaseComposerRuntimeCore } from \"./base-composer-runtime-core\";\n\nconst isCancelable = (runtime: Omit<ThreadRuntimeCore, \"composer\">) => {\n // capabilities is a subclass field assigned after this composer is constructed\n if (!runtime.capabilities?.cancel) return false;\n return getThreadRuntimeCoreIsRunning(runtime);\n};\n\nexport class DefaultThreadComposerRuntimeCore\n extends BaseComposerRuntimeCore\n implements ThreadComposerRuntimeCore\n{\n public get canCancel() {\n return isCancelable(this.runtime);\n }\n\n public get canSend() {\n return !this.isEmpty && !this.runtime.isSendDisabled && !this._isSending;\n }\n\n private _queueCache:\n | {\n steer: readonly QueueItemState[];\n queue: readonly QueueItemState[];\n flat: readonly QueueItemState[];\n }\n | undefined;\n\n public override get queue(): readonly QueueItemState[] {\n const steer = this.runtime.getSteerQueueItems?.() ?? EMPTY_QUEUE_ITEMS;\n const queue = this.runtime.getQueueItems?.() ?? EMPTY_QUEUE_ITEMS;\n const cache = this._queueCache;\n if (cache && cache.steer === steer && cache.queue === queue)\n return cache.flat;\n const flat =\n steer.length === 0\n ? queue\n : queue.length === 0\n ? steer\n : [...steer, ...queue];\n this._queueCache = { steer, queue, flat };\n return flat;\n }\n\n public override moveQueueItem(\n queueItemId: string,\n placement: QueuePlacement,\n ): void {\n this.runtime.moveQueueItem?.(queueItemId, placement);\n }\n\n public override removeQueueItem(queueItemId: string): void {\n this.runtime.removeQueueItem?.(queueItemId);\n }\n\n protected getAttachmentAdapter() {\n return this.runtime.adapters?.attachments;\n }\n\n protected getDictationAdapter() {\n return this.runtime.adapters?.dictation;\n }\n\n private runtime: Omit<ThreadRuntimeCore, \"composer\"> & {\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n dictation?: DictationAdapter | undefined;\n }\n | undefined;\n };\n\n constructor(\n runtime: Omit<ThreadRuntimeCore, \"composer\"> & {\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n dictation?: DictationAdapter | undefined;\n }\n | undefined;\n },\n ) {\n super();\n this.runtime = runtime;\n this.connect();\n }\n\n public connect() {\n let lastCanCancel = false;\n let lastIsSendDisabled = this.runtime.isSendDisabled;\n let lastQueue = this.queue;\n return this.runtime.subscribe(() => {\n let changed = false;\n const nextCanCancel = this.canCancel;\n if (lastCanCancel !== nextCanCancel) {\n lastCanCancel = nextCanCancel;\n changed = true;\n }\n if (lastIsSendDisabled !== this.runtime.isSendDisabled) {\n lastIsSendDisabled = this.runtime.isSendDisabled;\n changed = true;\n }\n if (lastQueue !== this.queue) {\n lastQueue = this.queue;\n changed = true;\n }\n if (changed) this._notifySubscribers();\n });\n }\n\n public async handleSend(\n message: Omit<AppendMessage, \"parentId\" | \"sourceId\">,\n options?: SendOptions,\n ) {\n return this.runtime.append({\n ...(message as AppendMessage),\n parentId: this.runtime.messages.at(-1)?.id ?? null,\n sourceId: null,\n startRun: options?.startRun,\n steer: options?.steer,\n });\n }\n\n public async handleCancel() {\n this.runtime.cancelRun();\n }\n}\n"],"mappings":";;;;AAaA,MAAMW,gBAAgBC,YAAiD;CAErE,IAAI,CAACA,QAAQE,cAAcC,QAAQ,OAAO;CAC1C,OAAOT,8BAA8BM,OAAO;AAC9C;AAEA,IAAaI,mCAAb,cACUN,wBAEV;CACE,IAAWO,YAAY;EACrB,OAAON,aAAa,KAAKC,OAAO;CAClC;CAEA,IAAWM,UAAU;EACnB,OAAO,CAAC,KAAKC,WAAW,CAAC,KAAKP,QAAQQ,kBAAkB,CAAC,KAAKC;CAChE;CAEA;CAQA,IAAoBG,QAAmC;EACrD,MAAMD,QAAQ,KAAKX,QAAQc,qBAAqB,KAAKlB;EACrD,MAAMgB,QAAQ,KAAKZ,QAAQe,gBAAgB,KAAKnB;EAChD,MAAMoB,QAAQ,KAAKN;EACnB,IAAIM,SAASA,MAAML,UAAUA,SAASK,MAAMJ,UAAUA,OACpD,OAAOI,MAAMH;EACf,MAAMA,OACJF,MAAMM,WAAW,IACbL,QACAA,MAAMK,WAAW,IACfN,QACA,CAAC,GAAGA,OAAO,GAAGC,KAAK;EAC3B,KAAKF,cAAc;GAAEC;GAAOC;GAAOC;EAAK;EACxC,OAAOA;CACT;CAEA,cACEM,aACAC,WACM;EACN,KAAKpB,QAAQkB,gBAAgBC,aAAaC,SAAS;CACrD;CAEA,gBAAgCD,aAA2B;EACzD,KAAKnB,QAAQqB,kBAAkBF,WAAW;CAC5C;CAEA,uBAAiC;EAC/B,OAAO,KAAKnB,QAAQuB,UAAUC;CAChC;CAEA,sBAAgC;EAC9B,OAAO,KAAKxB,QAAQuB,UAAUG;CAChC;CAEA;CASAC,YACE3B,SAQA;EACA,MAAM;EACN,KAAKA,UAAUA;EACf,KAAK4B,QAAQ;CACf;CAEA,UAAiB;EACf,IAAIC,gBAAgB;EACpB,IAAIC,qBAAqB,KAAK9B,QAAQQ;EACtC,IAAIuB,YAAY,KAAKnB;EACrB,OAAO,KAAKZ,QAAQgC,gBAAgB;GAClC,IAAIC,UAAU;GACd,MAAMC,gBAAgB,KAAK7B;GAC3B,IAAIwB,kBAAkBK,eAAe;IACnCL,gBAAgBK;IAChBD,UAAU;GACZ;GACA,IAAIH,uBAAuB,KAAK9B,QAAQQ,gBAAgB;IACtDsB,qBAAqB,KAAK9B,QAAQQ;IAClCyB,UAAU;GACZ;GACA,IAAIF,cAAc,KAAKnB,OAAO;IAC5BmB,YAAY,KAAKnB;IACjBqB,UAAU;GACZ;GACA,IAAIA,SAAS,KAAKE,mBAAmB;EACvC,CAAC;CACH;CAEA,MAAaC,WACXC,SACAC,SACA;EACA,OAAO,KAAKtC,QAAQuC,OAAO;GACzB,GAAIF;GACJG,UAAU,KAAKxC,QAAQyC,SAASC,GAAG,EAAE,CAAC,EAAEC,MAAM;GAC9CC,UAAU;GACVC,UAAUP,SAASO;GACnBlC,OAAO2B,SAAS3B;EAClB,CAAC;CACH;CAEA,MAAamC,eAAe;EAC1B,KAAK9C,QAAQ+C,UAAU;CACzB;AACF"}
1
+ {"version":3,"file":"default-thread-composer-runtime-core.js","names":["AppendMessage","AttachmentAdapter","DictationAdapter","SendOptions","ThreadComposerRuntimeCore","ThreadRuntimeCore","getThreadRuntimeCoreIsRunning","QueuePlacement","EMPTY_QUEUE_ITEMS","QueueItemState","BaseComposerRuntimeCore","isCancelable","runtime","Omit","capabilities","cancel","DefaultThreadComposerRuntimeCore","canCancel","canSend","isEmpty","isSendDisabled","voice","_isSending","_queueCache","steer","queue","flat","getSteerQueueItems","getQueueItems","cache","length","moveQueueItem","queueItemId","placement","removeQueueItem","getAttachmentAdapter","adapters","attachments","getDictationAdapter","dictation","constructor","connect","lastCanCancel","lastIsSendDisabled","lastHasVoice","undefined","lastQueue","subscribe","changed","nextCanCancel","hasVoice","_notifySubscribers","handleSend","message","options","append","parentId","messages","at","id","sourceId","startRun","handleCancel","cancelRun"],"sources":["../../../src/runtime/base/default-thread-composer-runtime-core.ts"],"sourcesContent":["import type { AppendMessage } from \"../../types/message\";\nimport type { AttachmentAdapter } from \"../../adapters/attachment\";\nimport type { DictationAdapter } from \"../../adapters/speech\";\nimport type {\n SendOptions,\n ThreadComposerRuntimeCore,\n} from \"../interfaces/composer-runtime-core\";\nimport type { ThreadRuntimeCore } from \"../interfaces/thread-runtime-core\";\nimport { getThreadRuntimeCoreIsRunning } from \"../api/thread-runtime\";\nimport type { QueuePlacement } from \"../queue/external-thread-queue-adapter\";\nimport { EMPTY_QUEUE_ITEMS, type QueueItemState } from \"../queue/queue-item\";\nimport { BaseComposerRuntimeCore } from \"./base-composer-runtime-core\";\n\nconst isCancelable = (runtime: Omit<ThreadRuntimeCore, \"composer\">) => {\n // capabilities is a subclass field assigned after this composer is constructed\n if (!runtime.capabilities?.cancel) return false;\n return getThreadRuntimeCoreIsRunning(runtime);\n};\n\nexport class DefaultThreadComposerRuntimeCore\n extends BaseComposerRuntimeCore\n implements ThreadComposerRuntimeCore\n{\n public get canCancel() {\n return isCancelable(this.runtime);\n }\n\n public get canSend() {\n return (\n !this.isEmpty &&\n !this.runtime.isSendDisabled &&\n !this.runtime.voice &&\n !this._isSending\n );\n }\n\n private _queueCache:\n | {\n steer: readonly QueueItemState[];\n queue: readonly QueueItemState[];\n flat: readonly QueueItemState[];\n }\n | undefined;\n\n public override get queue(): readonly QueueItemState[] {\n const steer = this.runtime.getSteerQueueItems?.() ?? EMPTY_QUEUE_ITEMS;\n const queue = this.runtime.getQueueItems?.() ?? EMPTY_QUEUE_ITEMS;\n const cache = this._queueCache;\n if (cache && cache.steer === steer && cache.queue === queue)\n return cache.flat;\n const flat =\n steer.length === 0\n ? queue\n : queue.length === 0\n ? steer\n : [...steer, ...queue];\n this._queueCache = { steer, queue, flat };\n return flat;\n }\n\n public override moveQueueItem(\n queueItemId: string,\n placement: QueuePlacement,\n ): void {\n this.runtime.moveQueueItem?.(queueItemId, placement);\n }\n\n public override removeQueueItem(queueItemId: string): void {\n this.runtime.removeQueueItem?.(queueItemId);\n }\n\n protected getAttachmentAdapter() {\n return this.runtime.adapters?.attachments;\n }\n\n protected getDictationAdapter() {\n return this.runtime.adapters?.dictation;\n }\n\n private runtime: Omit<ThreadRuntimeCore, \"composer\"> & {\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n dictation?: DictationAdapter | undefined;\n }\n | undefined;\n };\n\n constructor(\n runtime: Omit<ThreadRuntimeCore, \"composer\"> & {\n adapters?:\n | {\n attachments?: AttachmentAdapter | undefined;\n dictation?: DictationAdapter | undefined;\n }\n | undefined;\n },\n ) {\n super();\n this.runtime = runtime;\n this.connect();\n }\n\n public connect() {\n let lastCanCancel = false;\n let lastIsSendDisabled = this.runtime.isSendDisabled;\n let lastHasVoice = this.runtime.voice !== undefined;\n let lastQueue = this.queue;\n return this.runtime.subscribe(() => {\n let changed = false;\n const nextCanCancel = this.canCancel;\n if (lastCanCancel !== nextCanCancel) {\n lastCanCancel = nextCanCancel;\n changed = true;\n }\n if (lastIsSendDisabled !== this.runtime.isSendDisabled) {\n lastIsSendDisabled = this.runtime.isSendDisabled;\n changed = true;\n }\n const hasVoice = this.runtime.voice !== undefined;\n if (lastHasVoice !== hasVoice) {\n lastHasVoice = hasVoice;\n changed = true;\n }\n if (lastQueue !== this.queue) {\n lastQueue = this.queue;\n changed = true;\n }\n if (changed) this._notifySubscribers();\n });\n }\n\n public async handleSend(\n message: Omit<AppendMessage, \"parentId\" | \"sourceId\">,\n options?: SendOptions,\n ) {\n return this.runtime.append({\n ...(message as AppendMessage),\n parentId: this.runtime.messages.at(-1)?.id ?? null,\n sourceId: null,\n startRun: options?.startRun,\n steer: options?.steer,\n });\n }\n\n public async handleCancel() {\n this.runtime.cancelRun();\n }\n}\n"],"mappings":";;;;AAaA,MAAMW,gBAAgBC,YAAiD;CAErE,IAAI,CAACA,QAAQE,cAAcC,QAAQ,OAAO;CAC1C,OAAOT,8BAA8BM,OAAO;AAC9C;AAEA,IAAaI,mCAAb,cACUN,wBAEV;CACE,IAAWO,YAAY;EACrB,OAAON,aAAa,KAAKC,OAAO;CAClC;CAEA,IAAWM,UAAU;EACnB,OACE,CAAC,KAAKC,WACN,CAAC,KAAKP,QAAQQ,kBACd,CAAC,KAAKR,QAAQS,SACd,CAAC,KAAKC;CAEV;CAEA;CAQA,IAAoBG,QAAmC;EACrD,MAAMD,QAAQ,KAAKZ,QAAQe,qBAAqB,KAAKnB;EACrD,MAAMiB,QAAQ,KAAKb,QAAQgB,gBAAgB,KAAKpB;EAChD,MAAMqB,QAAQ,KAAKN;EACnB,IAAIM,SAASA,MAAML,UAAUA,SAASK,MAAMJ,UAAUA,OACpD,OAAOI,MAAMH;EACf,MAAMA,OACJF,MAAMM,WAAW,IACbL,QACAA,MAAMK,WAAW,IACfN,QACA,CAAC,GAAGA,OAAO,GAAGC,KAAK;EAC3B,KAAKF,cAAc;GAAEC;GAAOC;GAAOC;EAAK;EACxC,OAAOA;CACT;CAEA,cACEM,aACAC,WACM;EACN,KAAKrB,QAAQmB,gBAAgBC,aAAaC,SAAS;CACrD;CAEA,gBAAgCD,aAA2B;EACzD,KAAKpB,QAAQsB,kBAAkBF,WAAW;CAC5C;CAEA,uBAAiC;EAC/B,OAAO,KAAKpB,QAAQwB,UAAUC;CAChC;CAEA,sBAAgC;EAC9B,OAAO,KAAKzB,QAAQwB,UAAUG;CAChC;CAEA;CASAC,YACE5B,SAQA;EACA,MAAM;EACN,KAAKA,UAAUA;EACf,KAAK6B,QAAQ;CACf;CAEA,UAAiB;EACf,IAAIC,gBAAgB;EACpB,IAAIC,qBAAqB,KAAK/B,QAAQQ;EACtC,IAAIwB,eAAe,KAAKhC,QAAQS,UAAUwB,KAAAA;EAC1C,IAAIC,YAAY,KAAKrB;EACrB,OAAO,KAAKb,QAAQmC,gBAAgB;GAClC,IAAIC,UAAU;GACd,MAAMC,gBAAgB,KAAKhC;GAC3B,IAAIyB,kBAAkBO,eAAe;IACnCP,gBAAgBO;IAChBD,UAAU;GACZ;GACA,IAAIL,uBAAuB,KAAK/B,QAAQQ,gBAAgB;IACtDuB,qBAAqB,KAAK/B,QAAQQ;IAClC4B,UAAU;GACZ;GACA,MAAME,WAAW,KAAKtC,QAAQS,UAAUwB,KAAAA;GACxC,IAAID,iBAAiBM,UAAU;IAC7BN,eAAeM;IACfF,UAAU;GACZ;GACA,IAAIF,cAAc,KAAKrB,OAAO;IAC5BqB,YAAY,KAAKrB;IACjBuB,UAAU;GACZ;GACA,IAAIA,SAAS,KAAKG,mBAAmB;EACvC,CAAC;CACH;CAEA,MAAaC,WACXC,SACAC,SACA;EACA,OAAO,KAAK1C,QAAQ2C,OAAO;GACzB,GAAIF;GACJG,UAAU,KAAK5C,QAAQ6C,SAASC,GAAG,EAAE,CAAC,EAAEC,MAAM;GAC9CC,UAAU;GACVC,UAAUP,SAASO;GACnBrC,OAAO8B,SAAS9B;EAClB,CAAC;CACH;CAEA,MAAasC,eAAe;EAC1B,KAAKlD,QAAQmD,UAAU;CACzB;AACF"}
@@ -9,7 +9,7 @@
9
9
  * payload carries the edited message's own id as both `parentId` and
10
10
  * `sourceId`.
11
11
  */
12
- type ExternalThreadBranchAdapter = {
12
+ export type ExternalThreadBranchAdapter = {
13
13
  /**
14
14
  * Returns the sibling branch ids for a message in display order, including
15
15
  * the message's own id. Return an empty array for messages without
@@ -26,5 +26,4 @@ type ExternalThreadBranchAdapter = {
26
26
  switchToBranch: (branchId: string) => void;
27
27
  };
28
28
  //#endregion
29
- export { ExternalThreadBranchAdapter };
30
29
  //# sourceMappingURL=external-thread-branch-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external-thread-branch-adapter.d.ts","names":[],"sources":["../../../src/runtime/branch/external-thread-branch-adapter.ts"],"mappings":";;;;;;;;;;;KAUY;;;;;;EAMV,cAAc;;;;;;;;EAQd,iBAAiB"}
1
+ {"version":3,"file":"external-thread-branch-adapter.d.ts","names":[],"sources":["../../../src/runtime/branch/external-thread-branch-adapter.ts"],"mappings":";;;;;;;;;;;YAUY;;;;;;EAMV,cAAc;;;;;;;;EAQd,iBAAiB"}
@@ -2,12 +2,11 @@ import { Unsubscribe } from "../../types/unsubscribe.js";
2
2
  import { ModelContextProvider } from "../../model-context/types.js";
3
3
  import { ThreadListRuntimeCore } from "./thread-list-runtime-core.js";
4
4
  //#region src/runtime/interfaces/assistant-runtime-core.d.ts
5
- type AssistantRuntimeCore = {
5
+ export type AssistantRuntimeCore = {
6
6
  readonly threads: ThreadListRuntimeCore;
7
7
  registerModelContextProvider: (provider: ModelContextProvider) => Unsubscribe;
8
8
  getModelContextProvider: () => ModelContextProvider;
9
9
  readonly RenderComponent?: ((...args: any[]) => unknown) | undefined;
10
10
  };
11
11
  //#endregion
12
- export { AssistantRuntimeCore };
13
12
  //# sourceMappingURL=assistant-runtime-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/interfaces/assistant-runtime-core.ts"],"mappings":";;;;KAIY;WACD,SAAS;EAElB,+BAA+B,UAAU,yBAAyB;EAClE,+BAA+B;WAEtB,uBAAuB"}
1
+ {"version":3,"file":"assistant-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/interfaces/assistant-runtime-core.ts"],"mappings":";;;;YAIY;WACD,SAAS;EAElB,+BAA+B,UAAU,yBAAyB;EAClE,+BAA+B;WAEtB,uBAAuB"}
@@ -6,14 +6,14 @@ import { QuoteInfo } from "../../types/quote.js";
6
6
  import { QueueItemState } from "../queue/queue-item.js";
7
7
  import { QueuePlacement } from "../queue/external-thread-queue-adapter.js";
8
8
  //#region src/runtime/interfaces/composer-runtime-core.d.ts
9
- type AttachmentAddErrorReason = "no-adapter" | "not-accepted" | "adapter-error";
10
- type AttachmentAddErrorEvent = {
9
+ export type AttachmentAddErrorReason = "no-adapter" | "not-accepted" | "adapter-error";
10
+ export type AttachmentAddErrorEvent = {
11
11
  readonly reason: AttachmentAddErrorReason;
12
12
  readonly message: string;
13
13
  readonly attachmentId?: string;
14
14
  readonly error?: Error;
15
15
  };
16
- type ComposerRuntimeEventPayload = {
16
+ export type ComposerRuntimeEventPayload = {
17
17
  /**
18
18
  * Fired after a send with the size of what went out. The composer state is
19
19
  * already cleared when it fires, so the counts are only available here.
@@ -33,19 +33,19 @@ type ComposerRuntimeEventPayload = {
33
33
  readonly contentType?: string | undefined;
34
34
  };
35
35
  };
36
- type ComposerRuntimeEventType = keyof ComposerRuntimeEventPayload;
37
- type ComposerRuntimeEventCallback<E extends ComposerRuntimeEventType> = (payload: ComposerRuntimeEventPayload[E]) => void;
38
- type DictationState = {
36
+ export type ComposerRuntimeEventType = keyof ComposerRuntimeEventPayload;
37
+ export type ComposerRuntimeEventCallback<E extends ComposerRuntimeEventType> = (payload: ComposerRuntimeEventPayload[E]) => void;
38
+ export type DictationState = {
39
39
  readonly status: DictationAdapter.Status;
40
40
  readonly transcript?: string;
41
41
  readonly inputDisabled?: boolean;
42
42
  };
43
- type SendOptions = {
43
+ export type SendOptions = {
44
44
  startRun?: boolean;
45
45
  /** Process this message next; only meaningful with the `queue` capability. */
46
46
  steer?: boolean;
47
47
  };
48
- type ComposerRuntimeCore = Readonly<{
48
+ export type ComposerRuntimeCore = Readonly<{
49
49
  isEditing: boolean;
50
50
  canCancel: boolean;
51
51
  canSend: boolean;
@@ -80,11 +80,10 @@ type ComposerRuntimeCore = Readonly<{
80
80
  */
81
81
  unstable_on: <E extends ComposerRuntimeEventType>(event: E, callback: ComposerRuntimeEventCallback<E>) => Unsubscribe;
82
82
  }>;
83
- type ThreadComposerRuntimeCore = ComposerRuntimeCore;
84
- type EditComposerRuntimeCore = ComposerRuntimeCore & Readonly<{
83
+ export type ThreadComposerRuntimeCore = ComposerRuntimeCore;
84
+ export type EditComposerRuntimeCore = ComposerRuntimeCore & Readonly<{
85
85
  parentId: string | null;
86
86
  sourceId: string | null;
87
87
  }>;
88
88
  //#endregion
89
- export { AttachmentAddErrorEvent, AttachmentAddErrorReason, ComposerRuntimeCore, ComposerRuntimeEventCallback, ComposerRuntimeEventPayload, ComposerRuntimeEventType, DictationState, EditComposerRuntimeCore, SendOptions, ThreadComposerRuntimeCore };
90
89
  //# sourceMappingURL=composer-runtime-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composer-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/interfaces/composer-runtime-core.ts"],"mappings":";;;;;;;;KASY;KAKA;WACD,QAAQ;WACR;WACA;WACA,QAAQ;;KAGP;;;;;EAKV;aACW;aACA;;;;;;EAMX;aAA0B;;EAC1B,oBAAoB;aACT;;;KAID,iCAAiC;KAEjC,6BAA6B,UAAU,6BACjD,SAAS,4BAA4B;KAG3B;WACD,QAAQ,iBAAiB;WACzB;WACA;;KAGC;EACV;;EAEA;;KAGU,sBAAsB;EAChC;EAEA;EACA;EACA;EAEA,sBAAsB;EACtB;EAEA,gBAAgB,kBAAkB,OAAO,qBAAqB;EAC9D,mBAAmB,yBAAyB;EAE5C;EACA,UAAU;EAEV,MAAM;EACN,UAAU,MAAM;EAEhB,WAAW;EACX,eAAe,WAAW;EAE1B,OAAO;EACP,WAAW,OAAO;EAElB,aAAa;EACb,wBAAwB;EAExB,OAAO,UAAU;EACjB;EAEA,gBAAgB;EAChB,gBAAgB,qBAAqB,WAAW;EAChD,kBAAkB;EAElB,WAAW;EACX;EACA;EAEA,YAAY,yBAAyB;;;;;;EAOrC,cAAc,UAAU,0BACtB,OAAO,GACP,UAAU,6BAA6B,OACpC;;KAGK,4BAA4B;KAE5B,0BAA0B,sBACpC;EACE;EACA"}
1
+ {"version":3,"file":"composer-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/interfaces/composer-runtime-core.ts"],"mappings":";;;;;;;;YASY;YAKA;WACD,QAAQ;WACR;WACA;WACA,QAAQ;;YAGP;;;;;EAKV;aACW;aACA;;;;;;EAMX;aAA0B;;EAC1B,oBAAoB;aACT;;;YAID,iCAAiC;YAEjC,6BAA6B,UAAU,6BACjD,SAAS,4BAA4B;YAG3B;WACD,QAAQ,iBAAiB;WACzB;WACA;;YAGC;EACV;;EAEA;;YAGU,sBAAsB;EAChC;EAEA;EACA;EACA;EAEA,sBAAsB;EACtB;EAEA,gBAAgB,kBAAkB,OAAO,qBAAqB;EAC9D,mBAAmB,yBAAyB;EAE5C;EACA,UAAU;EAEV,MAAM;EACN,UAAU,MAAM;EAEhB,WAAW;EACX,eAAe,WAAW;EAE1B,OAAO;EACP,WAAW,OAAO;EAElB,aAAa;EACb,wBAAwB;EAExB,OAAO,UAAU;EACjB;EAEA,gBAAgB;EAChB,gBAAgB,qBAAqB,WAAW;EAChD,kBAAkB;EAElB,WAAW;EACX;EACA;EAEA,YAAY,yBAAyB;;;;;;EAOrC,cAAc,UAAU,0BACtB,OAAO,GACP,UAAU,6BAA6B,OACpC;;YAGK,4BAA4B;YAE5B,0BAA0B,sBACpC;EACE;EACA"}
@@ -1,8 +1,8 @@
1
1
  import { Unsubscribe } from "../../types/unsubscribe.js";
2
2
  import { ThreadRuntimeCore, ThreadRuntimeEventType } from "./thread-runtime-core.js";
3
3
  //#region src/runtime/interfaces/thread-list-runtime-core.d.ts
4
- type ThreadListItemStatus = "archived" | "regular" | "new" | "deleted";
5
- type ThreadListItemCoreState = {
4
+ export type ThreadListItemStatus = "archived" | "regular" | "new" | "deleted";
5
+ export type ThreadListItemCoreState = {
6
6
  readonly id: string;
7
7
  readonly remoteId: string | undefined;
8
8
  readonly externalId: string | undefined;
@@ -12,11 +12,11 @@ type ThreadListItemCoreState = {
12
12
  readonly custom?: Record<string, unknown> | undefined;
13
13
  readonly runtime?: ThreadRuntimeCore | undefined;
14
14
  };
15
- type ThreadListRuntimeEvent = {
15
+ export type ThreadListRuntimeEvent = {
16
16
  readonly threadId: string;
17
17
  readonly type: ThreadRuntimeEventType;
18
18
  };
19
- type ThreadListRuntimeCore = {
19
+ export type ThreadListRuntimeCore = {
20
20
  readonly isLoading: boolean;
21
21
  readonly loadError?: unknown;
22
22
  readonly isLoadingMore?: boolean;
@@ -70,5 +70,4 @@ type ThreadListRuntimeCore = {
70
70
  subscribe(callback: () => void): Unsubscribe;
71
71
  };
72
72
  //#endregion
73
- export { ThreadListItemCoreState, ThreadListItemStatus, ThreadListRuntimeCore, ThreadListRuntimeEvent };
74
73
  //# sourceMappingURL=thread-list-runtime-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread-list-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/interfaces/thread-list-runtime-core.ts"],"mappings":";;;KAMY;KAEA;WACD;WACA;WACA;WAEA,QAAQ;WACR;WACA,gBAAgB;WAChB,SAAS;WAET,UAAU;;KAGT;WACD;WACA,MAAM;;KAGL;WACD;WACA;WACA;WACA;EACT;EACA;EAEA;EACA;WAES,aAAa,SAAS,eAAe;EAE9C,4BAA4B;EAC5B,qBAAqB,mBAAmB;;;;;;;;;EAUxC,0BAA0B;;;;;;;;EAS1B,gCACE,WAAW,OAAO,kCACjB;EAEH,YAAY,mBAAmB;EAE/B,eACE,kBACA;IAAY;MACX;EACH,qBAAqB;EAErB,yBAAyB;EACzB,WAAW;EACX,qBAAqB;EACrB,aAAa;EAEb,OAAO,mBAAmB;EAC1B,OAAO,kBAAkB,mBAAmB;EAC5C,cACE,kBACA,QAAQ,sCACP;EACH,QAAQ,mBAAmB;EAC3B,UAAU,mBAAmB;EAC7B,OAAO,mBAAmB;EAE1B,WACE,mBACC;IAAU;IAAkB;;EAC/B,cACE,kBACA;IAAY;MACX;EAEH,UAAU,uBAAuB"}
1
+ {"version":3,"file":"thread-list-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/interfaces/thread-list-runtime-core.ts"],"mappings":";;;YAMY;YAEA;WACD;WACA;WACA;WAEA,QAAQ;WACR;WACA,gBAAgB;WAChB,SAAS;WAET,UAAU;;YAGT;WACD;WACA,MAAM;;YAGL;WACD;WACA;WACA;WACA;EACT;EACA;EAEA;EACA;WAES,aAAa,SAAS,eAAe;EAE9C,4BAA4B;EAC5B,qBAAqB,mBAAmB;;;;;;;;;EAUxC,0BAA0B;;;;;;;;EAS1B,gCACE,WAAW,OAAO,kCACjB;EAEH,YAAY,mBAAmB;EAE/B,eACE,kBACA;IAAY;MACX;EACH,qBAAqB;EAErB,yBAAyB;EACzB,WAAW;EACX,qBAAqB;EACrB,aAAa;EAEb,OAAO,mBAAmB;EAC1B,OAAO,kBAAkB,mBAAmB;EAC5C,cACE,kBACA,QAAQ,sCACP;EACH,QAAQ,mBAAmB;EAC3B,UAAU,mBAAmB;EAC7B,OAAO,mBAAmB;EAE1B,WACE,mBACC;IAAU;IAAkB;;EAC/B,cACE,kBACA;IAAY;MACX;EAEH,UAAU,uBAAuB"}
@@ -12,7 +12,7 @@ import { EditComposerRuntimeCore, ThreadComposerRuntimeCore } from "./composer-r
12
12
  import { ToolModelContentPart } from "assistant-stream";
13
13
  import { ReadonlyJSONValue } from "assistant-stream/utils";
14
14
  //#region src/runtime/interfaces/thread-runtime-core.d.ts
15
- type RuntimeCapabilities = {
15
+ export type RuntimeCapabilities = {
16
16
  readonly switchToBranch: boolean;
17
17
  readonly switchBranchDuringRun: boolean;
18
18
  readonly edit: boolean;
@@ -29,7 +29,7 @@ type RuntimeCapabilities = {
29
29
  readonly feedback: boolean;
30
30
  readonly queue: boolean;
31
31
  };
32
- type AddToolResultOptions = {
32
+ export type AddToolResultOptions = {
33
33
  messageId: string;
34
34
  toolName: string;
35
35
  toolCallId: string;
@@ -44,11 +44,11 @@ type AddToolResultOptions = {
44
44
  */
45
45
  modelContent?: readonly ToolModelContentPart[] | undefined;
46
46
  };
47
- type ResumeToolCallOptions = {
47
+ export type ResumeToolCallOptions = {
48
48
  toolCallId: string;
49
49
  payload: unknown;
50
50
  };
51
- type RespondToToolApprovalOptions = {
51
+ export type RespondToToolApprovalOptions = {
52
52
  approvalId: string;
53
53
  approved: boolean;
54
54
  /** The approval option that produced this decision, when the request carried options. */
@@ -57,11 +57,12 @@ type RespondToToolApprovalOptions = {
57
57
  text?: string;
58
58
  reason?: string;
59
59
  };
60
- type SubmitFeedbackOptions = {
60
+ export type SubmitFeedbackOptions = {
61
61
  messageId: string;
62
62
  type: "negative" | "positive";
63
+ comment?: string;
63
64
  };
64
- type ThreadSuggestion = {
65
+ export type ThreadSuggestion = {
65
66
  /** Display heading for the suggestion. Falls back to the prompt when absent. */
66
67
  title?: string;
67
68
  /** Secondary display text shown alongside the title. */
@@ -69,19 +70,26 @@ type ThreadSuggestion = {
69
70
  /** The message text sent when the suggestion is selected. */
70
71
  prompt: string;
71
72
  };
72
- type SpeechState = {
73
+ export type SpeechState = {
73
74
  readonly messageId: string;
74
75
  readonly status: SpeechSynthesisAdapter.Status;
75
76
  };
76
- type VoiceSessionState = {
77
+ export type VoiceSessionState = {
77
78
  readonly status: RealtimeVoiceAdapter.Status;
78
79
  readonly isMuted: boolean;
79
80
  readonly mode: RealtimeVoiceAdapter.Mode;
80
81
  };
81
- type SubmittedFeedback = {
82
+ export type SubmittedFeedback = {
82
83
  readonly type: "negative" | "positive";
84
+ readonly comment?: string;
83
85
  };
84
- type ThreadRuntimeEventPayload = {
86
+ export type ThreadRuntimeEventPayload = {
87
+ toolApprovalAnswered: {
88
+ messageId: string;
89
+ toolCallId: string;
90
+ toolName: string;
91
+ approved: boolean;
92
+ };
85
93
  /**
86
94
  * @deprecated State-derivable. Observe `state.isRunning` flipping to `true`
87
95
  * via `subscribe` + `getState` instead. Note: this event fires at the
@@ -111,17 +119,17 @@ type ThreadRuntimeEventPayload = {
111
119
  */
112
120
  modelContextUpdate: Record<string, never>;
113
121
  };
114
- type ThreadRuntimeEventType = keyof ThreadRuntimeEventPayload;
115
- type ThreadRuntimeEventCallback<E extends ThreadRuntimeEventType> = (payload: ThreadRuntimeEventPayload[E]) => void;
116
- type StartRunConfig = {
122
+ export type ThreadRuntimeEventType = keyof ThreadRuntimeEventPayload;
123
+ export type ThreadRuntimeEventCallback<E extends ThreadRuntimeEventType> = (payload: ThreadRuntimeEventPayload[E]) => void;
124
+ export type StartRunConfig = {
117
125
  parentId: string | null;
118
126
  sourceId: string | null;
119
127
  runConfig: RunConfig;
120
128
  };
121
- type ResumeRunConfig = StartRunConfig & {
129
+ export type ResumeRunConfig = StartRunConfig & {
122
130
  stream?: (options: ChatModelRunOptions) => AsyncGenerator<ChatModelRunResult, void, unknown>;
123
131
  };
124
- type ThreadRuntimeCore = Readonly<{
132
+ export type ThreadRuntimeCore = Readonly<{
125
133
  getMessageById: (messageId: string) => {
126
134
  parentId: string | null;
127
135
  message: ThreadMessage;
@@ -215,5 +223,4 @@ type ThreadRuntimeCore = Readonly<{
215
223
  unstable_on<E extends ThreadRuntimeEventType>(event: E, callback: ThreadRuntimeEventCallback<E>): Unsubscribe;
216
224
  }>;
217
225
  //#endregion
218
- export { AddToolResultOptions, RespondToToolApprovalOptions, ResumeRunConfig, ResumeToolCallOptions, RuntimeCapabilities, SpeechState, StartRunConfig, SubmitFeedbackOptions, SubmittedFeedback, ThreadRuntimeCore, ThreadRuntimeEventCallback, ThreadRuntimeEventPayload, ThreadRuntimeEventType, ThreadSuggestion, VoiceSessionState };
219
226
  //# sourceMappingURL=thread-runtime-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/interfaces/thread-runtime-core.ts"],"mappings":";;;;;;;;;;;;;;KAqBY;WACD;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAGC;EACV;EACA;EACA;EACA,QAAQ;EACR;EACA,WAAW;;;;;;;EAOX,wBAAwB;;KAGd;EACV;EACA;;KAGU;EACV;EACA;;EAEA;;EAEA;EACA;;KAGU;EACV;EACA;;KAGU;;EAEV;;EAEA;;EAEA;;KAGU;WACD;WACA,QAAQ,uBAAuB;;KAG9B;WACD,QAAQ,qBAAqB;WAC7B;WACA,MAAM,qBAAqB;;KAG1B;WACD;;KAGC;;;;;;;EAOV,UAAU;;;;;;;EAOV,QAAQ;;;;;;;;;EASR,YAAY;;;;;EAKZ,oBAAoB;;KAGV,+BAA+B;KAE/B,2BAA2B,UAAU,2BAC/C,SAAS,0BAA0B;KAGzB;EACV;EACA;EACA,WAAW;;KAGD,kBAAkB;EAC5B,UACE,SAAS,wBACN,eAAe;;KAGV,oBAAoB;EAC9B,iBAAiB;IAEX;IACA,SAAS;IACT;;EAIN,cAAc;EACd,iBAAiB;EAEjB,SAAS,SAAS;EAClB,gBAAgB,6BAA6B;EAC7C,WAAW,QAAQ;EACnB,YAAY,QAAQ;EACpB;EACA;EAEA,gBAAgB,SAAS;EACzB,iBAAiB,SAAS;;;;;;;;;;;;;EAa1B,wBACE,SAAS,iCACN;EAEL,QAAQ;EACR;EAEA;EACA;EACA;EACA;EAEA,iBAAiB,UAAU;EAE3B,uBAAuB;EAEvB,UAAU;EACV,kBAAkB,sBAAsB;EACxC,YAAY;EAEZ,+BAA+B;EAC/B,oCAAoC;EACpC,iBAAiB,qBAAqB,WAAW;EACjD,mBAAmB;EAEnB,QAAQ;EACR,OAAO;EAEP,cAAc,SAAS;EACvB;;;;;;EAMA;EACA;;;;;;;EAOA;EACA,mBAAmB;EACnB,OAAO;EACP,sBAAsB;EAEtB;EAEA,YAAY,yBAAyB;EAErC;EACA,uBAAuB,yBAAyB;EAEhD,OAAO,YAAY;EACnB,UAAU;EAEV;EACA,oBAAoB;EAEpB,MAAM,2BAA2B;;;;;;;;;;;;EAajC,gCAAgC;;;;;;EAOhC,YAAY,UAAU,wBACpB,OAAO,GACP,UAAU,2BAA2B,KACpC"}
1
+ {"version":3,"file":"thread-runtime-core.d.ts","names":[],"sources":["../../../src/runtime/interfaces/thread-runtime-core.ts"],"mappings":";;;;;;;;;;;;;;YAqBY;WACD;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;YAGC;EACV;EACA;EACA;EACA,QAAQ;EACR;EACA,WAAW;;;;;;;EAOX,wBAAwB;;YAGd;EACV;EACA;;YAGU;EACV;EACA;;EAEA;;EAEA;EACA;;YAGU;EACV;EACA;EACA;;YAGU;;EAEV;;EAEA;;EAEA;;YAGU;WACD;WACA,QAAQ,uBAAuB;;YAG9B;WACD,QAAQ,qBAAqB;WAC7B;WACA,MAAM,qBAAqB;;YAG1B;WACD;WACA;;YAGC;EACV;IACE;IACA;IACA;IACA;;;;;;;;EAQF,UAAU;;;;;;;EAOV,QAAQ;;;;;;;;;EASR,YAAY;;;;;EAKZ,oBAAoB;;YAGV,+BAA+B;YAE/B,2BAA2B,UAAU,2BAC/C,SAAS,0BAA0B;YAGzB;EACV;EACA;EACA,WAAW;;YAGD,kBAAkB;EAC5B,UACE,SAAS,wBACN,eAAe;;YAGV,oBAAoB;EAC9B,iBAAiB;IAEX;IACA,SAAS;IACT;;EAIN,cAAc;EACd,iBAAiB;EAEjB,SAAS,SAAS;EAClB,gBAAgB,6BAA6B;EAC7C,WAAW,QAAQ;EACnB,YAAY,QAAQ;EACpB;EACA;EAEA,gBAAgB,SAAS;EACzB,iBAAiB,SAAS;;;;;;;;;;;;;EAa1B,wBACE,SAAS,iCACN;EAEL,QAAQ;EACR;EAEA;EACA;EACA;EACA;EAEA,iBAAiB,UAAU;EAE3B,uBAAuB;EAEvB,UAAU;EACV,kBAAkB,sBAAsB;EACxC,YAAY;EAEZ,+BAA+B;EAC/B,oCAAoC;EACpC,iBAAiB,qBAAqB,WAAW;EACjD,mBAAmB;EAEnB,QAAQ;EACR,OAAO;EAEP,cAAc,SAAS;EACvB;;;;;;EAMA;EACA;;;;;;;EAOA;EACA,mBAAmB;EACnB,OAAO;EACP,sBAAsB;EAEtB;EAEA,YAAY,yBAAyB;EAErC;EACA,uBAAuB,yBAAyB;EAEhD,OAAO,YAAY;EACnB,UAAU;EAEV;EACA,oBAAoB;EAEpB,MAAM,2BAA2B;;;;;;;;;;;;EAajC,gCAAgC;;;;;;EAOhC,YAAY,UAAU,wBACpB,OAAO,GACP,UAAU,2BAA2B,KACpC"}
@@ -1,7 +1,7 @@
1
1
  import { AppendMessage } from "../../types/message.js";
2
2
  import { QueueItemState } from "./queue-item.js";
3
3
  //#region src/runtime/queue/external-thread-queue-adapter.d.ts
4
- type QueuePlacement = {
4
+ export type QueuePlacement = {
5
5
  readonly lane?: "queue" | "steer";
6
6
  readonly insertAfter?: string | null;
7
7
  readonly insertBefore?: string | null;
@@ -10,7 +10,7 @@ type QueuePlacement = {
10
10
  * The queue surface a runtime exposes so the composer can stay usable during a
11
11
  * run and render the pending messages.
12
12
  */
13
- type ExternalThreadQueueAdapter = {
13
+ export type ExternalThreadQueueAdapter = {
14
14
  items: readonly QueueItemState[];
15
15
  steerItems: readonly QueueItemState[];
16
16
  /** Send a message into the queue lane, processed in order. */
@@ -43,5 +43,4 @@ type ExternalThreadQueueAdapter = {
43
43
  __internal_notifyCancelled?: (() => void) | undefined;
44
44
  };
45
45
  //#endregion
46
- export { ExternalThreadQueueAdapter, QueuePlacement };
47
46
  //# sourceMappingURL=external-thread-queue-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external-thread-queue-adapter.d.ts","names":[],"sources":["../../../src/runtime/queue/external-thread-queue-adapter.ts"],"mappings":";;;KAGY;WACD;WACA;WACA;;;;;;KAOC;EACV,gBAAgB;EAChB,qBAAqB;;EAErB,UAAU,SAAS;;EAEnB,QAAQ,SAAS;;;;;;;EAOjB,OAAO,qBAAqB,WAAW;EACvC,OAAO,qBAAqB,SAAS;EACrC,SAAS;;;;;;;;EAQT,oCACM,YAAY,SAAS,kBAAkB;;;;;;;EAQ7C"}
1
+ {"version":3,"file":"external-thread-queue-adapter.d.ts","names":[],"sources":["../../../src/runtime/queue/external-thread-queue-adapter.ts"],"mappings":";;;YAGY;WACD;WACA;WACA;;;;;;YAOC;EACV,gBAAgB;EAChB,qBAAqB;;EAErB,UAAU,SAAS;;EAEnB,QAAQ,SAAS;;;;;;;EAOjB,OAAO,qBAAqB,WAAW;EACvC,OAAO,qBAAqB,SAAS;EACrC,SAAS;;;;;;;;EAQT,oCACM,YAAY,SAAS,kBAAkB;;;;;;;EAQ7C"}
@@ -1,15 +1,22 @@
1
1
  import { AppendMessage } from "../../types/message.js";
2
2
  import { ExternalThreadQueueAdapter } from "./external-thread-queue-adapter.js";
3
3
  //#region src/runtime/queue/message-queue.d.ts
4
- type MessageQueueDriver = {
4
+ export type MessageQueueDriver = {
5
+ /**
6
+ * A synchronous throw is treated as a run that never started and restores
7
+ * the message. A driver that already started work must call `notifyBusy`
8
+ * before throwing.
9
+ */
5
10
  run: (message: AppendMessage, options: {
6
11
  steer: boolean;
7
12
  }) => void;
8
13
  /** When omitted, steering degrades to "process next" instead of interrupting. */
9
14
  cancel?: (() => void) | undefined;
10
15
  };
11
- type MessageQueueController = {
16
+ export type MessageQueueController = {
12
17
  readonly adapter: ExternalThreadQueueAdapter;
18
+ hold: () => void;
19
+ release: () => void;
13
20
  /** Mark a run as in flight so concurrent sends buffer; call on the rising edge. */
14
21
  notifyBusy: () => void;
15
22
  /** Advances to the next pending message; call on the run's falling edge. */
@@ -25,7 +32,6 @@ type MessageQueueController = {
25
32
  clear: () => void;
26
33
  subscribe: (callback: () => void) => () => void;
27
34
  };
28
- declare const createMessageQueue: (driver: MessageQueueDriver) => MessageQueueController;
35
+ export declare const createMessageQueue: (driver: MessageQueueDriver) => MessageQueueController;
29
36
  //#endregion
30
- export { MessageQueueController, MessageQueueDriver, createMessageQueue };
31
37
  //# sourceMappingURL=message-queue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-queue.d.ts","names":[],"sources":["../../../src/runtime/queue/message-queue.ts"],"mappings":";;;KAcY;EACV,MAAM,SAAS,eAAe;IAAW;;;EAEzC;;KAGU;WACD,SAAS;;EAElB;;EAEA;;;;;;;EAOA;;EAEA;EACA,YAAY;;cAgCD,qBACX,QAAQ,uBACP"}
1
+ {"version":3,"file":"message-queue.d.ts","names":[],"sources":["../../../src/runtime/queue/message-queue.ts"],"mappings":";;;YAcY;;;;;;EAMV,MAAM,SAAS,eAAe;IAAW;;;EAEzC;;YAGU;WACD,SAAS;EAClB;EACA;;EAEA;;EAEA;;;;;;;EAOA;;EAEA;EACA,YAAY;;qBAsCD,qBACX,QAAQ,uBACP"}
@@ -24,10 +24,12 @@ const createMessageQueue = (driver) => {
24
24
  const subscribers = /* @__PURE__ */ new Set();
25
25
  let running = false;
26
26
  let paused = false;
27
+ let held = false;
27
28
  let dispatchTransform = (m) => m;
28
29
  let suppressIdle = 0;
29
30
  let cancelSettles = 0;
30
31
  let interrupting = false;
32
+ let busyEdges = 0;
31
33
  const notify = () => {
32
34
  notifyEventListeners(subscribers, void 0, "Message queue");
33
35
  };
@@ -42,12 +44,24 @@ const createMessageQueue = (driver) => {
42
44
  prompt: getThreadMessageText(message),
43
45
  parts: getQueueItemParts(message)
44
46
  });
47
+ const restore = (lane, dispatch, index = 0) => {
48
+ paused = true;
49
+ messages.set(dispatch.id, dispatch.message);
50
+ setLanes({
51
+ ...lanes,
52
+ [lane]: [
53
+ ...lanes[lane].slice(0, index),
54
+ dispatch.item,
55
+ ...lanes[lane].slice(index)
56
+ ]
57
+ });
58
+ };
45
59
  const laneOf = (queueItemId) => {
46
60
  if (lanes.steer.some((item) => item.id === queueItemId)) return "steer";
47
61
  if (lanes.queue.some((item) => item.id === queueItemId)) return "queue";
48
62
  };
49
63
  const advance = () => {
50
- if (running || paused) return;
64
+ if (running || paused || held) return;
51
65
  const lane = lanes.steer.length > 0 ? "steer" : "queue";
52
66
  const head = lanes[lane][0];
53
67
  if (!head) return;
@@ -58,21 +72,52 @@ const createMessageQueue = (driver) => {
58
72
  [lane]: lanes[lane].slice(1)
59
73
  });
60
74
  if (!message) return;
75
+ const dispatch = {
76
+ id: head.id,
77
+ item: head,
78
+ message
79
+ };
61
80
  running = true;
62
- driver.run(dispatchTransform(message), { steer: false });
81
+ const busyEdgesBeforeRun = busyEdges;
82
+ try {
83
+ driver.run(dispatchTransform(message), { steer: false });
84
+ } catch (error) {
85
+ if (busyEdges === busyEdgesBeforeRun) {
86
+ running = false;
87
+ restore(lane, dispatch);
88
+ }
89
+ throw error;
90
+ }
63
91
  };
64
- const interrupt = (message) => {
92
+ const interrupt = (dispatch, restoreLane = "steer", restoreIndex = 0) => {
65
93
  paused = false;
66
94
  suppressIdle += Math.max(cancelSettles, 1);
67
95
  cancelSettles = 0;
96
+ const restoreInterrupted = (replacementStarted = false) => {
97
+ if (replacementStarted) return;
98
+ const pendingSettles = suppressIdle;
99
+ suppressIdle = Math.max(pendingSettles - 1, 0);
100
+ cancelSettles = pendingSettles > 0 ? 1 : 0;
101
+ running = pendingSettles > 0;
102
+ restore(restoreLane, dispatch, restoreIndex);
103
+ };
68
104
  interrupting = true;
69
105
  try {
70
106
  driver.cancel();
107
+ } catch (error) {
108
+ restoreInterrupted();
109
+ throw error;
71
110
  } finally {
72
111
  interrupting = false;
73
112
  }
74
113
  running = true;
75
- driver.run(dispatchTransform(message), { steer: true });
114
+ const busyEdgesBeforeRun = busyEdges;
115
+ try {
116
+ driver.run(dispatchTransform(dispatch.message), { steer: true });
117
+ } catch (error) {
118
+ restoreInterrupted(busyEdges !== busyEdgesBeforeRun);
119
+ throw error;
120
+ }
76
121
  };
77
122
  const push = (lane, message) => {
78
123
  paused = false;
@@ -89,7 +134,12 @@ const createMessageQueue = (driver) => {
89
134
  };
90
135
  const steer = (message) => {
91
136
  if (running && driver.cancel) {
92
- interrupt(message);
137
+ const id = generateId();
138
+ interrupt({
139
+ id,
140
+ item: toItem(id, message),
141
+ message
142
+ });
93
143
  return;
94
144
  }
95
145
  push("steer", message);
@@ -98,7 +148,8 @@ const createMessageQueue = (driver) => {
98
148
  const fromLane = laneOf(queueItemId);
99
149
  if (!fromLane) throw new Error(`Unknown queue item "${queueItemId}".`);
100
150
  const toLane = placement.lane ?? fromLane;
101
- const item = lanes[fromLane].find((i) => i.id === queueItemId);
151
+ const fromIndex = lanes[fromLane].findIndex((i) => i.id === queueItemId);
152
+ const item = lanes[fromLane][fromIndex];
102
153
  const dest = (toLane === fromLane ? lanes[fromLane] : lanes[toLane]).filter((i) => i.id !== queueItemId);
103
154
  const anchorIndex = (anchor) => {
104
155
  if (anchor === queueItemId) throw new Error(`Queue item "${queueItemId}" cannot anchor itself.`);
@@ -122,7 +173,11 @@ const createMessageQueue = (driver) => {
122
173
  queue: lanes.queue.filter((i) => i.id !== queueItemId),
123
174
  steer: lanes.steer
124
175
  });
125
- interrupt(message);
176
+ interrupt({
177
+ id: queueItemId,
178
+ item,
179
+ message
180
+ }, fromLane, fromIndex);
126
181
  return;
127
182
  }
128
183
  const nextDest = [
@@ -176,11 +231,19 @@ const createMessageQueue = (driver) => {
176
231
  };
177
232
  return {
178
233
  adapter,
234
+ hold: () => {
235
+ held = true;
236
+ },
237
+ release: () => {
238
+ held = false;
239
+ advance();
240
+ },
179
241
  notifyBusy: () => {
180
242
  paused = false;
181
243
  suppressIdle += cancelSettles;
182
244
  cancelSettles = 0;
183
245
  running = true;
246
+ busyEdges++;
184
247
  },
185
248
  notifyIdle: () => {
186
249
  if (suppressIdle > 0) {