@assistant-ui/core 0.3.13 → 0.3.15

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 (463) hide show
  1. package/dist/adapters/speech.d.ts.map +1 -1
  2. package/dist/adapters/speech.js +9 -15
  3. package/dist/adapters/speech.js.map +1 -1
  4. package/dist/adapters/thread-history.d.ts +2 -0
  5. package/dist/adapters/thread-history.d.ts.map +1 -1
  6. package/dist/adapters/voice.d.ts.map +1 -1
  7. package/dist/adapters/voice.js +38 -15
  8. package/dist/adapters/voice.js.map +1 -1
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.js +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/internal.d.ts +3 -2
  13. package/dist/internal.js +8 -7
  14. package/dist/model-context/frame/host.d.ts +1 -1
  15. package/dist/model-context/frame/host.d.ts.map +1 -1
  16. package/dist/model-context/frame/host.js +19 -4
  17. package/dist/model-context/frame/host.js.map +1 -1
  18. package/dist/model-context/frame/provider.d.ts +4 -0
  19. package/dist/model-context/frame/provider.d.ts.map +1 -1
  20. package/dist/model-context/frame/provider.js +50 -3
  21. package/dist/model-context/frame/provider.js.map +1 -1
  22. package/dist/model-context/frame/types.d.ts +4 -1
  23. package/dist/model-context/frame/types.d.ts.map +1 -1
  24. package/dist/model-context/frame/types.js.map +1 -1
  25. package/dist/model-context/registry.d.ts.map +1 -1
  26. package/dist/model-context/registry.js +16 -4
  27. package/dist/model-context/registry.js.map +1 -1
  28. package/dist/react/RuntimeAdapter.d.ts +8 -1
  29. package/dist/react/RuntimeAdapter.d.ts.map +1 -1
  30. package/dist/react/RuntimeAdapter.js +23 -18
  31. package/dist/react/RuntimeAdapter.js.map +1 -1
  32. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
  33. package/dist/react/adapters/LocalStorageThreadListAdapter.js +28 -12
  34. package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
  35. package/dist/react/client/AdaptedRemoteThread.d.ts +11 -0
  36. package/dist/react/client/AdaptedRemoteThread.d.ts.map +1 -0
  37. package/dist/react/client/AdaptedRemoteThread.js +27 -0
  38. package/dist/react/client/AdaptedRemoteThread.js.map +1 -0
  39. package/dist/react/client/InMemoryThreadList.d.ts +19 -0
  40. package/dist/react/client/InMemoryThreadList.d.ts.map +1 -0
  41. package/dist/react/client/InMemoryThreadList.js +418 -0
  42. package/dist/react/client/InMemoryThreadList.js.map +1 -0
  43. package/dist/react/client/Interactables.d.ts.map +1 -1
  44. package/dist/react/client/Interactables.js +159 -102
  45. package/dist/react/client/Interactables.js.map +1 -1
  46. package/dist/react/client/RemoteThreadList.d.ts +34 -0
  47. package/dist/react/client/RemoteThreadList.d.ts.map +1 -0
  48. package/dist/react/client/RemoteThreadList.js +898 -0
  49. package/dist/react/client/RemoteThreadList.js.map +1 -0
  50. package/dist/react/client/Tools.d.ts.map +1 -1
  51. package/dist/react/client/Tools.js +38 -27
  52. package/dist/react/client/Tools.js.map +1 -1
  53. package/dist/react/index.d.ts +7 -2
  54. package/dist/react/index.js +5 -2
  55. package/dist/react/interactables-legacy/Interactables.d.ts.map +1 -1
  56. package/dist/react/interactables-legacy/Interactables.js +145 -110
  57. package/dist/react/interactables-legacy/Interactables.js.map +1 -1
  58. package/dist/react/primitive-hooks/useActionBarCopy.d.ts.map +1 -1
  59. package/dist/react/primitive-hooks/useActionBarCopy.js +20 -19
  60. package/dist/react/primitive-hooks/useActionBarCopy.js.map +1 -1
  61. package/dist/react/primitive-hooks/useActionBarEdit.d.ts.map +1 -1
  62. package/dist/react/primitive-hooks/useActionBarEdit.js +2 -4
  63. package/dist/react/primitive-hooks/useActionBarEdit.js.map +1 -1
  64. package/dist/react/primitive-hooks/useActionBarReload.d.ts.map +1 -1
  65. package/dist/react/primitive-hooks/useActionBarReload.js +2 -4
  66. package/dist/react/primitive-hooks/useActionBarReload.js.map +1 -1
  67. package/dist/react/primitive-hooks/useBranchPickerNext.d.ts.map +1 -1
  68. package/dist/react/primitive-hooks/useBranchPickerNext.js +2 -6
  69. package/dist/react/primitive-hooks/useBranchPickerNext.js.map +1 -1
  70. package/dist/react/primitive-hooks/useBranchPickerPrevious.d.ts.map +1 -1
  71. package/dist/react/primitive-hooks/useBranchPickerPrevious.js +2 -6
  72. package/dist/react/primitive-hooks/useBranchPickerPrevious.js.map +1 -1
  73. package/dist/react/primitive-hooks/useComposerCancel.d.ts.map +1 -1
  74. package/dist/react/primitive-hooks/useComposerCancel.js +2 -4
  75. package/dist/react/primitive-hooks/useComposerCancel.js.map +1 -1
  76. package/dist/react/primitive-hooks/useComposerSend.d.ts.map +1 -1
  77. package/dist/react/primitive-hooks/useComposerSend.js +2 -4
  78. package/dist/react/primitive-hooks/useComposerSend.js.map +1 -1
  79. package/dist/react/primitive-hooks/useSuggestionTrigger.d.ts.map +1 -1
  80. package/dist/react/primitive-hooks/useSuggestionTrigger.js +6 -2
  81. package/dist/react/primitive-hooks/useSuggestionTrigger.js.map +1 -1
  82. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts +3 -0
  83. package/dist/react/primitive-hooks/useThreadIsEmpty.d.ts.map +1 -1
  84. package/dist/react/primitive-hooks/useThreadIsEmpty.js +3 -0
  85. package/dist/react/primitive-hooks/useThreadIsEmpty.js.map +1 -1
  86. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts +3 -0
  87. package/dist/react/primitive-hooks/useThreadIsRunning.d.ts.map +1 -1
  88. package/dist/react/primitive-hooks/useThreadIsRunning.js +3 -0
  89. package/dist/react/primitive-hooks/useThreadIsRunning.js.map +1 -1
  90. package/dist/react/primitives/message/MessageParts.d.ts +13 -0
  91. package/dist/react/primitives/message/MessageParts.d.ts.map +1 -1
  92. package/dist/react/primitives/message/MessageParts.js.map +1 -1
  93. package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -1
  94. package/dist/react/primitives/thread/ThreadMessages.js +1 -1
  95. package/dist/react/primitives/thread/ThreadMessages.js.map +1 -1
  96. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts +24 -10
  97. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  98. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +115 -71
  99. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
  100. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +14 -2
  101. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  102. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +232 -63
  103. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  104. package/dist/react/runtimes/RemoteThreadResource.d.ts +30 -0
  105. package/dist/react/runtimes/RemoteThreadResource.d.ts.map +1 -0
  106. package/dist/react/runtimes/RemoteThreadResource.js +136 -0
  107. package/dist/react/runtimes/RemoteThreadResource.js.map +1 -0
  108. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts +3 -10
  109. package/dist/react/runtimes/RuntimeAdapterProvider.d.ts.map +1 -1
  110. package/dist/react/runtimes/RuntimeAdapterProvider.js +3 -6
  111. package/dist/react/runtimes/RuntimeAdapterProvider.js.map +1 -1
  112. package/dist/react/runtimes/assistant-transport/commandQueue.d.ts +17 -0
  113. package/dist/react/runtimes/assistant-transport/commandQueue.d.ts.map +1 -0
  114. package/dist/react/runtimes/assistant-transport/commandQueue.js +55 -0
  115. package/dist/react/runtimes/assistant-transport/commandQueue.js.map +1 -0
  116. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts +11 -0
  117. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.d.ts.map +1 -0
  118. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.js +165 -0
  119. package/dist/react/runtimes/assistant-transport/replayBoundaryStream.js.map +1 -0
  120. package/dist/react/runtimes/assistant-transport/runManager.d.ts +15 -0
  121. package/dist/react/runtimes/assistant-transport/runManager.d.ts.map +1 -0
  122. package/dist/react/runtimes/assistant-transport/runManager.js +86 -0
  123. package/dist/react/runtimes/assistant-transport/runManager.js.map +1 -0
  124. package/dist/react/runtimes/assistant-transport/types.d.ts +130 -0
  125. package/dist/react/runtimes/assistant-transport/types.d.ts.map +1 -0
  126. package/dist/react/runtimes/assistant-transport/types.js +0 -0
  127. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts +14 -0
  128. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -0
  129. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.js +296 -0
  130. package/dist/react/runtimes/assistant-transport/useAssistantTransportRuntime.js.map +1 -0
  131. package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts +7 -0
  132. package/dist/react/runtimes/assistant-transport/useConvertedState.d.ts.map +1 -0
  133. package/dist/react/runtimes/assistant-transport/useConvertedState.js +25 -0
  134. package/dist/react/runtimes/assistant-transport/useConvertedState.js.map +1 -0
  135. package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts +7 -0
  136. package/dist/react/runtimes/assistant-transport/useLatestRef.d.ts.map +1 -0
  137. package/dist/react/runtimes/assistant-transport/useLatestRef.js +27 -0
  138. package/dist/react/runtimes/assistant-transport/useLatestRef.js.map +1 -0
  139. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  140. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +39 -13
  141. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  142. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +2 -1
  143. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts.map +1 -1
  144. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js +3 -3
  145. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js.map +1 -1
  146. package/dist/react/runtimes/cloud/auiV0.d.ts +4 -0
  147. package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
  148. package/dist/react/runtimes/cloud/auiV0.js +7 -0
  149. package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
  150. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.d.ts.map +1 -1
  151. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js +60 -17
  152. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js.map +1 -1
  153. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts +16 -0
  154. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.d.ts.map +1 -0
  155. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.js +36 -0
  156. package/dist/react/runtimes/cloud/useCloudThreadListRuntime.js.map +1 -0
  157. package/dist/react/runtimes/external-message-converter.js +14 -14
  158. package/dist/react/runtimes/external-message-converter.js.map +1 -1
  159. package/dist/react/runtimes/useExternalStoreRuntime.d.ts.map +1 -1
  160. package/dist/react/runtimes/useExternalStoreRuntime.js +44 -28
  161. package/dist/react/runtimes/useExternalStoreRuntime.js.map +1 -1
  162. package/dist/react/runtimes/useExternalStoreSharedOptions.js.map +1 -1
  163. package/dist/react/runtimes/useLocalRuntime.js +1 -1
  164. package/dist/react/runtimes/useRuntimeAdapters.d.ts +9 -0
  165. package/dist/react/runtimes/useRuntimeAdapters.d.ts.map +1 -0
  166. package/dist/react/runtimes/useRuntimeAdapters.js +20 -0
  167. package/dist/react/runtimes/useRuntimeAdapters.js.map +1 -0
  168. package/dist/runtime/api/composer-runtime.d.ts +5 -0
  169. package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
  170. package/dist/runtime/api/composer-runtime.js.map +1 -1
  171. package/dist/runtime/api/message-runtime.js +1 -1
  172. package/dist/runtime/api/thread-list-runtime.d.ts +1 -0
  173. package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
  174. package/dist/runtime/api/thread-list-runtime.js +4 -2
  175. package/dist/runtime/api/thread-list-runtime.js.map +1 -1
  176. package/dist/runtime/api/thread-runtime.d.ts +12 -2
  177. package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
  178. package/dist/runtime/api/thread-runtime.js +8 -2
  179. package/dist/runtime/api/thread-runtime.js.map +1 -1
  180. package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
  181. package/dist/runtime/base/base-composer-runtime-core.js +8 -7
  182. package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
  183. package/dist/runtime/base/base-thread-runtime-core.d.ts +1 -0
  184. package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
  185. package/dist/runtime/base/base-thread-runtime-core.js +3 -3
  186. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  187. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +0 -1
  188. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
  189. package/dist/runtime/base/default-thread-composer-runtime-core.js +10 -4
  190. package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
  191. package/dist/runtime/interfaces/thread-runtime-core.d.ts +6 -0
  192. package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
  193. package/dist/runtime/internal.js +5 -5
  194. package/dist/runtime/queue/message-queue.d.ts.map +1 -1
  195. package/dist/runtime/queue/message-queue.js +2 -1
  196. package/dist/runtime/queue/message-queue.js.map +1 -1
  197. package/dist/runtime/utils/message-repository.d.ts.map +1 -1
  198. package/dist/runtime/utils/message-repository.js +27 -18
  199. package/dist/runtime/utils/message-repository.js.map +1 -1
  200. package/dist/runtime/utils/thread-runtime-lifecycle.d.ts +8 -0
  201. package/dist/runtime/utils/thread-runtime-lifecycle.d.ts.map +1 -0
  202. package/dist/runtime/utils/thread-runtime-lifecycle.js +11 -0
  203. package/dist/runtime/utils/thread-runtime-lifecycle.js.map +1 -0
  204. package/dist/runtimes/external-store/external-store-shared-options.js.map +1 -1
  205. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
  206. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js +4 -1
  207. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
  208. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts +8 -0
  209. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
  210. package/dist/runtimes/external-store/external-store-thread-runtime-core.js +37 -13
  211. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  212. package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts +102 -0
  213. package/dist/runtimes/inert/InertThreadRuntimeCore.d.ts.map +1 -0
  214. package/dist/runtimes/inert/InertThreadRuntimeCore.js +156 -0
  215. package/dist/runtimes/inert/InertThreadRuntimeCore.js.map +1 -0
  216. package/dist/runtimes/internal.d.ts +1 -1
  217. package/dist/runtimes/local/local-thread-runtime-core.d.ts +3 -0
  218. package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
  219. package/dist/runtimes/local/local-thread-runtime-core.js +78 -19
  220. package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
  221. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts +12 -59
  222. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.d.ts.map +1 -1
  223. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js +10 -142
  224. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js.map +1 -1
  225. package/dist/runtimes/remote-thread-list/adapter-changed.d.ts +9 -0
  226. package/dist/runtimes/remote-thread-list/adapter-changed.d.ts.map +1 -0
  227. package/dist/runtimes/remote-thread-list/adapter-changed.js +13 -0
  228. package/dist/runtimes/remote-thread-list/adapter-changed.js.map +1 -0
  229. package/dist/runtimes/remote-thread-list/empty-thread-core.d.ts.map +1 -1
  230. package/dist/runtimes/remote-thread-list/empty-thread-core.js +16 -152
  231. package/dist/runtimes/remote-thread-list/empty-thread-core.js.map +1 -1
  232. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts +2 -0
  233. package/dist/runtimes/remote-thread-list/optimistic-state.d.ts.map +1 -1
  234. package/dist/runtimes/remote-thread-list/optimistic-state.js +11 -0
  235. package/dist/runtimes/remote-thread-list/optimistic-state.js.map +1 -1
  236. package/dist/runtimes/remote-thread-list/types.d.ts +32 -1
  237. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  238. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts +1 -12
  239. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts.map +1 -1
  240. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js +67 -38
  241. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
  242. package/dist/store/clients/external-thread.js +1 -1
  243. package/dist/store/clients/external-thread.js.map +1 -1
  244. package/dist/store/clients/suggestions.js +2 -2
  245. package/dist/store/clients/suggestions.js.map +1 -1
  246. package/dist/store/clients/thread-selection-events.d.ts +10 -0
  247. package/dist/store/clients/thread-selection-events.d.ts.map +1 -0
  248. package/dist/store/clients/thread-selection-events.js +40 -0
  249. package/dist/store/clients/thread-selection-events.js.map +1 -0
  250. package/dist/store/env.d.ts +5 -0
  251. package/dist/store/env.d.ts.map +1 -0
  252. package/dist/store/env.js +12 -0
  253. package/dist/store/env.js.map +1 -0
  254. package/dist/store/index.d.ts +5 -3
  255. package/dist/store/index.js +4 -2
  256. package/dist/store/internal.d.ts +4 -1
  257. package/dist/store/internal.js +4 -1
  258. package/dist/store/primitive-predicates.d.ts +19 -0
  259. package/dist/store/primitive-predicates.d.ts.map +1 -0
  260. package/dist/store/primitive-predicates.js +19 -0
  261. package/dist/store/primitive-predicates.js.map +1 -0
  262. package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
  263. package/dist/store/runtime-clients/attachment-runtime-client.js +18 -11
  264. package/dist/store/runtime-clients/attachment-runtime-client.js.map +1 -1
  265. package/dist/store/runtime-clients/handle-runtime-action.d.ts +5 -0
  266. package/dist/store/runtime-clients/handle-runtime-action.d.ts.map +1 -0
  267. package/dist/store/runtime-clients/handle-runtime-action.js +14 -0
  268. package/dist/store/runtime-clients/handle-runtime-action.js.map +1 -0
  269. package/dist/store/runtime-clients/handle-thread-list-action.d.ts +5 -0
  270. package/dist/store/runtime-clients/handle-thread-list-action.d.ts.map +1 -0
  271. package/dist/store/runtime-clients/handle-thread-list-action.js +7 -0
  272. package/dist/store/runtime-clients/handle-thread-list-action.js.map +1 -0
  273. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
  274. package/dist/store/runtime-clients/thread-list-item-runtime-client.js +62 -29
  275. package/dist/store/runtime-clients/thread-list-item-runtime-client.js.map +1 -1
  276. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
  277. package/dist/store/runtime-clients/thread-list-runtime-client.js +5 -6
  278. package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
  279. package/dist/store/scopes/composer.d.ts +9 -4
  280. package/dist/store/scopes/composer.d.ts.map +1 -1
  281. package/dist/store/scopes/thread-list-item.d.ts +7 -6
  282. package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
  283. package/dist/store/scopes/thread.d.ts +8 -7
  284. package/dist/store/scopes/thread.d.ts.map +1 -1
  285. package/dist/store/scopes/threads.d.ts +17 -1
  286. package/dist/store/scopes/threads.d.ts.map +1 -1
  287. package/dist/subscribable/subscribable.d.ts +2 -1
  288. package/dist/subscribable/subscribable.d.ts.map +1 -1
  289. package/dist/subscribable/subscribable.js +23 -18
  290. package/dist/subscribable/subscribable.js.map +1 -1
  291. package/dist/types/message.d.ts +1 -1
  292. package/dist/types/message.js.map +1 -1
  293. package/dist/utils/composite-context-provider.d.ts +1 -0
  294. package/dist/utils/composite-context-provider.d.ts.map +1 -1
  295. package/dist/utils/composite-context-provider.js +25 -9
  296. package/dist/utils/composite-context-provider.js.map +1 -1
  297. package/dist/utils/notify-event-listeners.d.ts +2 -2
  298. package/dist/utils/notify-event-listeners.d.ts.map +1 -1
  299. package/dist/utils/notify-event-listeners.js +2 -2
  300. package/dist/utils/notify-event-listeners.js.map +1 -1
  301. package/dist/utils/silent-runtime-action.d.ts +6 -0
  302. package/dist/utils/silent-runtime-action.d.ts.map +1 -0
  303. package/dist/utils/silent-runtime-action.js +7 -0
  304. package/dist/utils/silent-runtime-action.js.map +1 -0
  305. package/package.json +8 -8
  306. package/src/adapters/speech.test.ts +118 -1
  307. package/src/adapters/speech.ts +21 -22
  308. package/src/adapters/thread-history.ts +2 -0
  309. package/src/adapters/voice.test.ts +134 -0
  310. package/src/adapters/voice.ts +35 -27
  311. package/src/index.ts +1 -0
  312. package/src/internal.ts +1 -0
  313. package/src/model-context/frame/host.test.ts +87 -5
  314. package/src/model-context/frame/host.ts +18 -4
  315. package/src/model-context/frame/provider.test.ts +347 -20
  316. package/src/model-context/frame/provider.ts +58 -2
  317. package/src/model-context/frame/types.ts +5 -0
  318. package/src/model-context/registry.test.ts +131 -0
  319. package/src/model-context/registry.ts +16 -6
  320. package/src/react/RuntimeAdapter.test.ts +2 -0
  321. package/src/react/RuntimeAdapter.ts +20 -8
  322. package/src/react/adapters/LocalStorageThreadListAdapter.tsx +34 -17
  323. package/src/react/client/AdaptedRemoteThread.ts +41 -0
  324. package/src/react/client/InMemoryThreadList.test.tsx +148 -0
  325. package/src/react/client/InMemoryThreadList.ts +290 -0
  326. package/src/react/client/Interactables.test.ts +326 -2
  327. package/src/react/client/Interactables.ts +227 -110
  328. package/src/react/client/RemoteThreadList.test.ts +1222 -0
  329. package/src/react/client/RemoteThreadList.ts +1136 -0
  330. package/src/react/client/Tools.ts +36 -29
  331. package/src/react/index.ts +13 -0
  332. package/src/react/interactables-legacy/Interactables.test.ts +317 -0
  333. package/src/react/interactables-legacy/Interactables.ts +204 -128
  334. package/src/react/primitive-hooks/useActionBarCopy.test.ts +15 -0
  335. package/src/react/primitive-hooks/useActionBarCopy.ts +15 -10
  336. package/src/react/primitive-hooks/useActionBarEdit.ts +2 -1
  337. package/src/react/primitive-hooks/useActionBarReload.ts +2 -6
  338. package/src/react/primitive-hooks/useBranchPickerNext.ts +2 -7
  339. package/src/react/primitive-hooks/useBranchPickerPrevious.ts +2 -7
  340. package/src/react/primitive-hooks/useComposerCancel.ts +2 -1
  341. package/src/react/primitive-hooks/useComposerSend.ts +2 -5
  342. package/src/react/primitive-hooks/useSuggestionTrigger.test.ts +11 -0
  343. package/src/react/primitive-hooks/useSuggestionTrigger.ts +4 -5
  344. package/src/react/primitive-hooks/useThreadIsEmpty.ts +3 -0
  345. package/src/react/primitive-hooks/useThreadIsRunning.ts +3 -0
  346. package/src/react/primitives/message/MessageParts.tsx +0 -1
  347. package/src/react/primitives/thread/ThreadMessages.tsx +2 -1
  348. package/src/react/runtimes/RemoteThreadListHookInstanceManager.retry.test.tsx +116 -0
  349. package/src/react/runtimes/RemoteThreadListHookInstanceManager.running.test.tsx +1 -1
  350. package/src/react/runtimes/RemoteThreadListHookInstanceManager.test.tsx +57 -6
  351. package/src/react/runtimes/RemoteThreadListHookInstanceManager.title.test.tsx +272 -0
  352. package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +171 -124
  353. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.republish.test.ts +87 -0
  354. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +327 -83
  355. package/src/react/runtimes/RemoteThreadResource.test.ts +141 -0
  356. package/src/react/runtimes/RemoteThreadResource.ts +233 -0
  357. package/src/react/runtimes/RuntimeAdapterProvider.tsx +8 -20
  358. package/src/react/runtimes/assistant-transport/commandQueue.ts +68 -0
  359. package/src/react/runtimes/assistant-transport/replayBoundaryStream.test.ts +455 -0
  360. package/src/react/runtimes/assistant-transport/replayBoundaryStream.ts +172 -0
  361. package/src/react/runtimes/assistant-transport/runManager.ts +124 -0
  362. package/src/react/runtimes/assistant-transport/transport-delivery.test.tsx +79 -0
  363. package/src/react/runtimes/assistant-transport/transport-parentid.test.tsx +97 -0
  364. package/src/react/runtimes/assistant-transport/transport-scheduling.test.ts +414 -0
  365. package/src/react/runtimes/assistant-transport/types.ts +170 -0
  366. package/src/react/runtimes/assistant-transport/useAssistantTransport.spec.md +141 -0
  367. package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.test.tsx +683 -0
  368. package/src/react/runtimes/assistant-transport/useAssistantTransportRuntime.ts +483 -0
  369. package/src/react/runtimes/assistant-transport/useConvertedState.ts +20 -0
  370. package/src/react/runtimes/assistant-transport/useLatestRef.ts +9 -0
  371. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +131 -6
  372. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +61 -15
  373. package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.ts +6 -4
  374. package/src/react/runtimes/cloud/auiV0.ts +17 -1
  375. package/src/react/runtimes/cloud/useCloudThreadListAdapter.test.tsx +98 -3
  376. package/src/react/runtimes/cloud/useCloudThreadListAdapter.tsx +104 -27
  377. package/src/react/runtimes/cloud/useCloudThreadListRuntime.test.tsx +56 -0
  378. package/src/react/runtimes/cloud/useCloudThreadListRuntime.ts +31 -0
  379. package/src/react/runtimes/external-message-converter.test.ts +143 -0
  380. package/src/react/runtimes/external-message-converter.ts +41 -41
  381. package/src/react/runtimes/remote-thread-hook-on-tap.test.ts +58 -0
  382. package/src/react/runtimes/useExternalStoreRuntime.lifecycle.test.tsx +83 -0
  383. package/src/react/runtimes/useExternalStoreRuntime.suggestions.test.tsx +13 -3
  384. package/src/react/runtimes/useExternalStoreRuntime.ts +7 -0
  385. package/src/react/runtimes/useExternalStoreSharedOptions.ts +3 -1
  386. package/src/react/runtimes/useLocalRuntime.test.tsx +134 -8
  387. package/src/react/runtimes/useRuntimeAdapters.test.tsx +62 -0
  388. package/src/react/runtimes/useRuntimeAdapters.ts +28 -0
  389. package/src/runtime/api/composer-runtime.ts +5 -0
  390. package/src/runtime/api/thread-list-runtime.ts +3 -1
  391. package/src/runtime/api/thread-runtime.ts +20 -2
  392. package/src/runtime/base/base-composer-runtime-core.ts +6 -5
  393. package/src/runtime/base/base-thread-runtime-core.test.ts +191 -0
  394. package/src/runtime/base/base-thread-runtime-core.ts +11 -2
  395. package/src/runtime/base/default-thread-composer-runtime-core.ts +12 -4
  396. package/src/runtime/interfaces/thread-runtime-core.ts +6 -0
  397. package/src/runtime/queue/message-queue.ts +2 -1
  398. package/src/runtime/utils/message-repository.ts +26 -18
  399. package/src/runtime/utils/thread-runtime-lifecycle.ts +18 -0
  400. package/src/runtimes/external-store/external-store-shared-options.ts +3 -1
  401. package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +4 -1
  402. package/src/runtimes/external-store/external-store-thread-runtime-core.ts +103 -34
  403. package/src/runtimes/inert/InertThreadRuntimeCore.test.ts +253 -0
  404. package/src/runtimes/inert/InertThreadRuntimeCore.ts +232 -0
  405. package/src/runtimes/local/local-thread-runtime-core.test.ts +692 -4
  406. package/src/runtimes/local/local-thread-runtime-core.ts +117 -22
  407. package/src/runtimes/readonly/ReadonlyThreadRuntimeCore.ts +17 -205
  408. package/src/runtimes/remote-thread-list/adapter-changed.ts +10 -0
  409. package/src/runtimes/remote-thread-list/empty-thread-core.ts +28 -217
  410. package/src/runtimes/remote-thread-list/optimistic-state.test.ts +18 -0
  411. package/src/runtimes/remote-thread-list/optimistic-state.ts +13 -0
  412. package/src/runtimes/remote-thread-list/types.ts +34 -0
  413. package/src/runtimes/tool-invocations/EDGE_CASES.md +17 -6
  414. package/src/runtimes/tool-invocations/ToolInvocationTracker.test.ts +243 -0
  415. package/src/runtimes/tool-invocations/ToolInvocationTracker.ts +127 -61
  416. package/src/store/clients/external-thread.ts +1 -1
  417. package/src/store/clients/model-context-client.test.ts +16 -8
  418. package/src/store/clients/suggestions.ts +2 -2
  419. package/src/store/clients/thread-selection-events.ts +21 -0
  420. package/src/store/env.ts +11 -0
  421. package/src/store/index.ts +14 -1
  422. package/src/store/internal.ts +13 -0
  423. package/src/store/primitive-predicates.test.ts +184 -0
  424. package/src/store/primitive-predicates.ts +43 -0
  425. package/src/store/runtime-clients/attachment-runtime-client.test.ts +41 -0
  426. package/src/store/runtime-clients/attachment-runtime-client.ts +2 -1
  427. package/src/store/runtime-clients/handle-runtime-action.test.ts +40 -0
  428. package/src/store/runtime-clients/handle-runtime-action.ts +14 -0
  429. package/src/store/runtime-clients/handle-thread-list-action.test.ts +69 -0
  430. package/src/store/runtime-clients/handle-thread-list-action.ts +6 -0
  431. package/src/store/runtime-clients/thread-list-item-runtime-client.ts +15 -7
  432. package/src/store/runtime-clients/thread-list-runtime-client.ts +9 -6
  433. package/src/store/scopes/composer.ts +9 -4
  434. package/src/store/scopes/thread-list-item.ts +7 -6
  435. package/src/store/scopes/thread.ts +8 -7
  436. package/src/store/scopes/threads.ts +14 -0
  437. package/src/subscribable/subscribable.test.ts +77 -1
  438. package/src/subscribable/subscribable.ts +38 -23
  439. package/src/tests/MessageRepository.test.ts +48 -0
  440. package/src/tests/RemoteThreadListThreadListRuntimeCore-errors.test.ts +2 -2
  441. package/src/tests/RemoteThreadListThreadListRuntimeCore-loadMore.test.ts +8 -6
  442. package/src/tests/RemoteThreadListThreadListRuntimeCore-switchToThread-unarchive.test.ts +25 -0
  443. package/src/tests/auiV0Encode.test.ts +66 -0
  444. package/src/tests/base-composer-runtime-core-send.test.ts +30 -0
  445. package/src/tests/base-composer-runtime-core.test.ts +28 -0
  446. package/src/tests/composer-can-cancel.test.ts +101 -0
  447. package/src/tests/empty-thread-core.test.ts +6 -0
  448. package/src/tests/external-store-thread-list-runtime-core.test.ts +101 -0
  449. package/src/tests/external-store-thread-runtime-core-adapter.test.ts +211 -1
  450. package/src/tests/external-store-thread-runtime-core.test.ts +124 -0
  451. package/src/tests/external-thread-isEmpty.test.tsx +100 -0
  452. package/src/tests/interactables-toolui-migration.test.tsx +66 -0
  453. package/src/tests/message-queue.test.ts +28 -0
  454. package/src/tests/remote-thread-list-adapter-switch.test.ts +383 -0
  455. package/src/tests/session-reset-notification.test.ts +145 -0
  456. package/src/tests/thread-switch-events.test.tsx +99 -1
  457. package/src/tests/tools-scope-migration.test.tsx +58 -0
  458. package/src/tests/useRemoteThreadListRuntime-controlled.test.tsx +67 -0
  459. package/src/types/message.ts +1 -1
  460. package/src/utils/composite-context-provider.test.ts +139 -0
  461. package/src/utils/composite-context-provider.ts +26 -8
  462. package/src/utils/notify-event-listeners.ts +10 -5
  463. package/src/utils/silent-runtime-action.ts +6 -0
@@ -1,4 +1,6 @@
1
1
  import { baseRuntimeAdapterTransformScopes } from "./clients/runtime-adapter.js";
2
+ import { useThreadSelectionEvents } from "./clients/thread-selection-events.js";
3
+ import { isDevelopment } from "./env.js";
2
4
  import { AttachmentRuntimeClient } from "./runtime-clients/attachment-runtime-client.js";
3
5
  import { MessagePartClient } from "./runtime-clients/message-part-runtime-client.js";
4
6
  import { ComposerClient } from "./runtime-clients/composer-runtime-client.js";
@@ -6,4 +8,5 @@ import { MessageClient } from "./runtime-clients/message-runtime-client.js";
6
8
  import { ThreadClient } from "./runtime-clients/thread-runtime-client.js";
7
9
  import { ThreadListItemClient } from "./runtime-clients/thread-list-item-runtime-client.js";
8
10
  import { ThreadListClient } from "./runtime-clients/thread-list-runtime-client.js";
9
- export { AttachmentRuntimeClient, ComposerClient, MessageClient, MessagePartClient, ThreadClient, ThreadListClient, ThreadListItemClient, baseRuntimeAdapterTransformScopes };
11
+ import { actionBarCopyDisabled, actionBarEditDisabled, actionBarReloadDisabled, branchPickerNextDisabled, branchPickerPreviousDisabled, composerCancelDisabled, composerInputDisabled, composerSendDisabled, suggestionTriggerDisabled } from "./primitive-predicates.js";
12
+ export { AttachmentRuntimeClient, ComposerClient, MessageClient, MessagePartClient, ThreadClient, ThreadListClient, ThreadListItemClient, actionBarCopyDisabled, actionBarEditDisabled, actionBarReloadDisabled, baseRuntimeAdapterTransformScopes, branchPickerNextDisabled, branchPickerPreviousDisabled, composerCancelDisabled, composerInputDisabled, composerSendDisabled, isDevelopment, suggestionTriggerDisabled, useThreadSelectionEvents };
@@ -4,6 +4,9 @@ import { ComposerClient } from "./runtime-clients/composer-runtime-client.js";
4
4
  import { MessageClient } from "./runtime-clients/message-runtime-client.js";
5
5
  import { ThreadClient } from "./runtime-clients/thread-runtime-client.js";
6
6
  import { ThreadListItemClient } from "./runtime-clients/thread-list-item-runtime-client.js";
7
+ import { useThreadSelectionEvents } from "./clients/thread-selection-events.js";
7
8
  import { ThreadListClient } from "./runtime-clients/thread-list-runtime-client.js";
8
9
  import { baseRuntimeAdapterTransformScopes } from "./clients/runtime-adapter.js";
9
- export { AttachmentRuntimeClient, ComposerClient, MessageClient, MessagePartClient, ThreadClient, ThreadListClient, ThreadListItemClient, baseRuntimeAdapterTransformScopes };
10
+ import { actionBarCopyDisabled, actionBarEditDisabled, actionBarReloadDisabled, branchPickerNextDisabled, branchPickerPreviousDisabled, composerCancelDisabled, composerInputDisabled, composerSendDisabled, suggestionTriggerDisabled } from "./primitive-predicates.js";
11
+ import { isDevelopment } from "./env.js";
12
+ export { AttachmentRuntimeClient, ComposerClient, MessageClient, MessagePartClient, ThreadClient, ThreadListClient, ThreadListItemClient, actionBarCopyDisabled, actionBarEditDisabled, actionBarReloadDisabled, baseRuntimeAdapterTransformScopes, branchPickerNextDisabled, branchPickerPreviousDisabled, composerCancelDisabled, composerInputDisabled, composerSendDisabled, isDevelopment, suggestionTriggerDisabled, useThreadSelectionEvents };
@@ -0,0 +1,19 @@
1
+ import { AssistantState } from "@assistant-ui/store";
2
+ //#region src/store/primitive-predicates.d.ts
3
+ /**
4
+ * Disabled predicates shared by every binding's primitive layer. Each binding
5
+ * consumes these as state selectors so the disabled semantics of a primitive
6
+ * cannot drift between frameworks.
7
+ */
8
+ declare const composerSendDisabled: (s: AssistantState) => boolean;
9
+ declare const composerCancelDisabled: (s: AssistantState) => boolean;
10
+ declare const composerInputDisabled: (s: AssistantState) => boolean;
11
+ declare const actionBarEditDisabled: (s: AssistantState) => boolean;
12
+ declare const actionBarReloadDisabled: (s: AssistantState) => boolean;
13
+ declare const actionBarCopyDisabled: (s: AssistantState) => boolean;
14
+ declare const branchPickerPreviousDisabled: (s: AssistantState) => boolean;
15
+ declare const branchPickerNextDisabled: (s: AssistantState) => boolean;
16
+ declare const suggestionTriggerDisabled: (s: AssistantState, send: boolean) => boolean;
17
+ //#endregion
18
+ export { actionBarCopyDisabled, actionBarEditDisabled, actionBarReloadDisabled, branchPickerNextDisabled, branchPickerPreviousDisabled, composerCancelDisabled, composerInputDisabled, composerSendDisabled, suggestionTriggerDisabled };
19
+ //# sourceMappingURL=primitive-predicates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitive-predicates.d.ts","names":[],"sources":["../../src/store/primitive-predicates.ts"],"mappings":";;;;;;;cAQa,uBAAwB,GAAG;cAG3B,yBAA0B,GAAG;cAG7B,wBAAyB,GAAG;cAG5B,wBAAyB,GAAG;cAG5B,0BAA2B,GAAG;cAG9B,wBAAyB,GAAG;cAM5B,+BAAgC,GAAG;cAInC,2BAA4B,GAAG;cAI/B,4BACX,GAAG,gBACH"}
@@ -0,0 +1,19 @@
1
+ //#region src/store/primitive-predicates.ts
2
+ /**
3
+ * Disabled predicates shared by every binding's primitive layer. Each binding
4
+ * consumes these as state selectors so the disabled semantics of a primitive
5
+ * cannot drift between frameworks.
6
+ */
7
+ const composerSendDisabled = (s) => !s.composer.canSend || s.thread.isRunning && !s.thread.capabilities.queue;
8
+ const composerCancelDisabled = (s) => !s.composer.canCancel;
9
+ const composerInputDisabled = (s) => s.thread.isDisabled || s.composer.dictation?.inputDisabled === true;
10
+ const actionBarEditDisabled = (s) => s.composer.isEditing;
11
+ const actionBarReloadDisabled = (s) => s.thread.isRunning || s.thread.isDisabled || s.message.role !== "assistant";
12
+ const actionBarCopyDisabled = (s) => !((s.message.role !== "assistant" || s.message.status?.type !== "running") && s.message.parts.some((part) => part.type === "text" && part.text.length > 0));
13
+ const branchPickerPreviousDisabled = (s) => s.message.branchNumber <= 1 || s.thread.isRunning && !s.thread.capabilities.switchBranchDuringRun;
14
+ const branchPickerNextDisabled = (s) => s.message.branchNumber >= s.message.branchCount || s.thread.isRunning && !s.thread.capabilities.switchBranchDuringRun;
15
+ const suggestionTriggerDisabled = (s, send) => s.thread.isDisabled || send && s.thread.isRunning && !s.thread.capabilities.queue;
16
+ //#endregion
17
+ export { actionBarCopyDisabled, actionBarEditDisabled, actionBarReloadDisabled, branchPickerNextDisabled, branchPickerPreviousDisabled, composerCancelDisabled, composerInputDisabled, composerSendDisabled, suggestionTriggerDisabled };
18
+
19
+ //# sourceMappingURL=primitive-predicates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitive-predicates.js","names":["AssistantState","composerSendDisabled","s","composer","canSend","thread","isRunning","capabilities","queue","composerCancelDisabled","canCancel","composerInputDisabled","isDisabled","dictation","inputDisabled","actionBarEditDisabled","isEditing","actionBarReloadDisabled","message","role","actionBarCopyDisabled","status","type","parts","some","part","text","length","branchPickerPreviousDisabled","branchNumber","switchBranchDuringRun","branchPickerNextDisabled","branchCount","suggestionTriggerDisabled","send"],"sources":["../../src/store/primitive-predicates.ts"],"sourcesContent":["import type { AssistantState } from \"@assistant-ui/store\";\n\n/**\n * Disabled predicates shared by every binding's primitive layer. Each binding\n * consumes these as state selectors so the disabled semantics of a primitive\n * cannot drift between frameworks.\n */\n\nexport const composerSendDisabled = (s: AssistantState): boolean =>\n !s.composer.canSend || (s.thread.isRunning && !s.thread.capabilities.queue);\n\nexport const composerCancelDisabled = (s: AssistantState): boolean =>\n !s.composer.canCancel;\n\nexport const composerInputDisabled = (s: AssistantState): boolean =>\n s.thread.isDisabled || s.composer.dictation?.inputDisabled === true;\n\nexport const actionBarEditDisabled = (s: AssistantState): boolean =>\n s.composer.isEditing;\n\nexport const actionBarReloadDisabled = (s: AssistantState): boolean =>\n s.thread.isRunning || s.thread.isDisabled || s.message.role !== \"assistant\";\n\nexport const actionBarCopyDisabled = (s: AssistantState): boolean =>\n !(\n (s.message.role !== \"assistant\" || s.message.status?.type !== \"running\") &&\n s.message.parts.some((part) => part.type === \"text\" && part.text.length > 0)\n );\n\nexport const branchPickerPreviousDisabled = (s: AssistantState): boolean =>\n s.message.branchNumber <= 1 ||\n (s.thread.isRunning && !s.thread.capabilities.switchBranchDuringRun);\n\nexport const branchPickerNextDisabled = (s: AssistantState): boolean =>\n s.message.branchNumber >= s.message.branchCount ||\n (s.thread.isRunning && !s.thread.capabilities.switchBranchDuringRun);\n\nexport const suggestionTriggerDisabled = (\n s: AssistantState,\n send: boolean,\n): boolean =>\n s.thread.isDisabled ||\n (send && s.thread.isRunning && !s.thread.capabilities.queue);\n"],"mappings":";;;;;;AAQA,MAAaC,wBAAwBC,MACnC,CAACA,EAAEC,SAASC,WAAYF,EAAEG,OAAOC,aAAa,CAACJ,EAAEG,OAAOE,aAAaC;AAEvE,MAAaC,0BAA0BP,MACrC,CAACA,EAAEC,SAASO;AAEd,MAAaC,yBAAyBT,MACpCA,EAAEG,OAAOO,cAAcV,EAAEC,SAASU,WAAWC,kBAAkB;AAEjE,MAAaC,yBAAyBb,MACpCA,EAAEC,SAASa;AAEb,MAAaC,2BAA2Bf,MACtCA,EAAEG,OAAOC,aAAaJ,EAAEG,OAAOO,cAAcV,EAAEgB,QAAQC,SAAS;AAElE,MAAaC,yBAAyBlB,MACpC,GACGA,EAAEgB,QAAQC,SAAS,eAAejB,EAAEgB,QAAQG,QAAQC,SAAS,cAC9DpB,EAAEgB,QAAQK,MAAMC,MAAMC,SAASA,KAAKH,SAAS,UAAUG,KAAKC,KAAKC,SAAS,CAAC;AAG/E,MAAaC,gCAAgC1B,MAC3CA,EAAEgB,QAAQW,gBAAgB,KACzB3B,EAAEG,OAAOC,aAAa,CAACJ,EAAEG,OAAOE,aAAauB;AAEhD,MAAaC,4BAA4B7B,MACvCA,EAAEgB,QAAQW,gBAAgB3B,EAAEgB,QAAQc,eACnC9B,EAAEG,OAAOC,aAAa,CAACJ,EAAEG,OAAOE,aAAauB;AAEhD,MAAaG,6BACX/B,GACAgC,SAEAhC,EAAEG,OAAOO,cACRsB,QAAQhC,EAAEG,OAAOC,aAAa,CAACJ,EAAEG,OAAOE,aAAaC"}
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/attachment-runtime-client.ts"],"mappings":";;;cAmBa,qDAAuB,SAAA;EAXzB,SAAA"}
1
+ {"version":3,"file":"attachment-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/attachment-runtime-client.ts"],"mappings":";;;cAoBa,qDAAuB,SAAA;EAXzB,SAAA"}
@@ -1,9 +1,10 @@
1
+ import { handleRuntimeAction } from "./handle-runtime-action.js";
1
2
  import { useSubscribable } from "./useSubscribable.js";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  import { resource } from "@assistant-ui/tap";
4
5
  //#region src/store/runtime-clients/attachment-runtime-client.ts
5
6
  const useAttachmentRuntimeClient = (t0) => {
6
- const $ = c(8);
7
+ const $ = c(9);
7
8
  const { runtime } = t0;
8
9
  const state = useSubscribable(runtime);
9
10
  let t1;
@@ -13,24 +14,30 @@ const useAttachmentRuntimeClient = (t0) => {
13
14
  $[1] = t1;
14
15
  } else t1 = $[1];
15
16
  let t2;
17
+ let t3;
16
18
  if ($[2] !== runtime) {
17
- t2 = () => runtime;
19
+ t2 = () => handleRuntimeAction("attachment remove", runtime.remove);
20
+ t3 = () => runtime;
18
21
  $[2] = runtime;
19
22
  $[3] = t2;
20
- } else t2 = $[3];
21
- let t3;
22
- if ($[4] !== runtime.remove || $[5] !== t1 || $[6] !== t2) {
23
- t3 = {
23
+ $[4] = t3;
24
+ } else {
25
+ t2 = $[3];
26
+ t3 = $[4];
27
+ }
28
+ let t4;
29
+ if ($[5] !== t1 || $[6] !== t2 || $[7] !== t3) {
30
+ t4 = {
24
31
  getState: t1,
25
- remove: runtime.remove,
26
- __internal_getRuntime: t2
32
+ remove: t2,
33
+ __internal_getRuntime: t3
27
34
  };
28
- $[4] = runtime.remove;
29
35
  $[5] = t1;
30
36
  $[6] = t2;
31
37
  $[7] = t3;
32
- } else t3 = $[7];
33
- return t3;
38
+ $[8] = t4;
39
+ } else t4 = $[8];
40
+ return t4;
34
41
  };
35
42
  const AttachmentRuntimeClient = resource(useAttachmentRuntimeClient);
36
43
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-runtime-client.js","names":["resource","ClientOutput","AttachmentRuntime","useSubscribable","useAttachmentRuntimeClient","t0","$","_c","runtime","state","t1","t2","t3","remove","getState","__internal_getRuntime","AttachmentRuntimeClient"],"sources":["../../../src/store/runtime-clients/attachment-runtime-client.ts"],"sourcesContent":["import { resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport type { AttachmentRuntime } from \"../../runtime/api/attachment-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\n\nconst useAttachmentRuntimeClient = ({\n runtime,\n}: {\n runtime: AttachmentRuntime;\n}): ClientOutput<\"attachment\"> => {\n const state = useSubscribable(runtime);\n\n return {\n getState: () => state,\n remove: runtime.remove,\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const AttachmentRuntimeClient = resource(useAttachmentRuntimeClient);\n"],"mappings":";;;;AAKA,MAAMI,8BAA6BC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,YAAAH;CAKlC,MAAAI,QAAcN,gBAAgBK,OAAO;CAAE,IAAAE;CAAA,IAAAJ,EAAA,OAAAG,OAAA;EAG3BC,WAAMD;EAAKH,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAE,SAAA;EAEEG,WAAMH;EAAOF,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAE,QAAAK,UAAAP,EAAA,OAAAI,MAAAJ,EAAA,OAAAK,IAAA;EAH/BC,KAAA;GAAAE,UACKJ;GAAWG,QACbL,QAAOK;GAAOE,uBACCJ;EACzB;EAACL,EAAA,KAAAE,QAAAK;EAAAP,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAJMM;AAIN;AAGH,MAAaI,0BAA0BhB,SAASI,0BAA0B"}
1
+ {"version":3,"file":"attachment-runtime-client.js","names":["resource","ClientOutput","AttachmentRuntime","handleRuntimeAction","useSubscribable","useAttachmentRuntimeClient","t0","$","_c","runtime","state","t1","t2","t3","remove","t4","getState","__internal_getRuntime","AttachmentRuntimeClient"],"sources":["../../../src/store/runtime-clients/attachment-runtime-client.ts"],"sourcesContent":["import { resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport type { AttachmentRuntime } from \"../../runtime/api/attachment-runtime\";\nimport { handleRuntimeAction } from \"./handle-runtime-action\";\nimport { useSubscribable } from \"./useSubscribable\";\n\nconst useAttachmentRuntimeClient = ({\n runtime,\n}: {\n runtime: AttachmentRuntime;\n}): ClientOutput<\"attachment\"> => {\n const state = useSubscribable(runtime);\n\n return {\n getState: () => state,\n remove: () => handleRuntimeAction(\"attachment remove\", runtime.remove),\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const AttachmentRuntimeClient = resource(useAttachmentRuntimeClient);\n"],"mappings":";;;;;AAMA,MAAMK,8BAA6BC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,YAAAH;CAKlC,MAAAI,QAAcN,gBAAgBK,OAAO;CAAE,IAAAE;CAAA,IAAAJ,EAAA,OAAAG,OAAA;EAG3BC,WAAMD;EAAKH,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAK;CAAA,IAAAC;CAAA,IAAAN,EAAA,OAAAE,SAAA;EACbG,WAAMT,oBAAoB,qBAAqBM,QAAOK,MAAO;EAC9CD,WAAMJ;EAAOF,EAAA,KAAAE;EAAAF,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAA;EAAAD,KAAAL,EAAA;EAAAM,KAAAN,EAAA;CAAA;CAAA,IAAAQ;CAAA,IAAAR,EAAA,OAAAI,MAAAJ,EAAA,OAAAK,MAAAL,EAAA,OAAAM,IAAA;EAH/BE,KAAA;GAAAC,UACKL;GAAWG,QACbF;GAA8DK,uBAC/CJ;EACzB;EAACN,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAM;EAAAN,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAJMQ;AAIN;AAGH,MAAaG,0BAA0BlB,SAASK,0BAA0B"}
@@ -0,0 +1,5 @@
1
+ //#region src/store/runtime-clients/handle-runtime-action.d.ts
2
+ declare const handleRuntimeAction: (label: string, execute: () => Promise<void>) => Promise<void>;
3
+ //#endregion
4
+ export { handleRuntimeAction };
5
+ //# sourceMappingURL=handle-runtime-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-runtime-action.d.ts","names":[],"sources":["../../../src/store/runtime-clients/handle-runtime-action.ts"],"mappings":";cAEa,sBACX,eACA,eAAe,kBACd"}
@@ -0,0 +1,14 @@
1
+ import { isSilentRuntimeAction } from "../../utils/silent-runtime-action.js";
2
+ //#region src/store/runtime-clients/handle-runtime-action.ts
3
+ const handleRuntimeAction = (label, execute) => {
4
+ const task = execute();
5
+ task.catch((error) => {
6
+ if (isSilentRuntimeAction(error)) return;
7
+ console.error(`[assistant-ui] ${label} failed:`, error);
8
+ });
9
+ return task;
10
+ };
11
+ //#endregion
12
+ export { handleRuntimeAction };
13
+
14
+ //# sourceMappingURL=handle-runtime-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-runtime-action.js","names":["isSilentRuntimeAction","handleRuntimeAction","label","execute","Promise","task","catch","error","console"],"sources":["../../../src/store/runtime-clients/handle-runtime-action.ts"],"sourcesContent":["import { isSilentRuntimeAction } from \"../../utils/silent-runtime-action\";\n\nexport const handleRuntimeAction = (\n label: string,\n execute: () => Promise<void>,\n): Promise<void> => {\n const task = execute();\n\n void task.catch((error: unknown) => {\n if (isSilentRuntimeAction(error)) return;\n console.error(`[assistant-ui] ${label} failed:`, error);\n });\n return task;\n};\n"],"mappings":";;AAEA,MAAaC,uBACXC,OACAC,YACkB;CAClB,MAAME,OAAOF,QAAQ;CAErB,KAAUG,OAAOC,UAAmB;EAClC,IAAIP,sBAAsBO,KAAK,GAAG;EAClCC,QAAQD,MAAM,kBAAkBL,MAAK,WAAYK,KAAK;CACxD,CAAC;CACD,OAAOF;AACT"}
@@ -0,0 +1,5 @@
1
+ //#region src/store/runtime-clients/handle-thread-list-action.d.ts
2
+ declare const handleThreadListAction: (action: string, execute: () => Promise<void>) => Promise<void>;
3
+ //#endregion
4
+ export { handleThreadListAction };
5
+ //# sourceMappingURL=handle-thread-list-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-thread-list-action.d.ts","names":[],"sources":["../../../src/store/runtime-clients/handle-thread-list-action.ts"],"mappings":";cAEa,yBACX,gBACA,eAAe,kBACd"}
@@ -0,0 +1,7 @@
1
+ import { handleRuntimeAction } from "./handle-runtime-action.js";
2
+ //#region src/store/runtime-clients/handle-thread-list-action.ts
3
+ const handleThreadListAction = (action, execute) => handleRuntimeAction(`thread list ${action}`, execute);
4
+ //#endregion
5
+ export { handleThreadListAction };
6
+
7
+ //# sourceMappingURL=handle-thread-list-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-thread-list-action.js","names":["handleRuntimeAction","handleThreadListAction","action","execute","Promise"],"sources":["../../../src/store/runtime-clients/handle-thread-list-action.ts"],"sourcesContent":["import { handleRuntimeAction } from \"./handle-runtime-action\";\n\nexport const handleThreadListAction = (\n action: string,\n execute: () => Promise<void>,\n): Promise<void> => handleRuntimeAction(`thread list ${action}`, execute);\n"],"mappings":";;AAEA,MAAaC,0BACXC,QACAC,YACkBH,oBAAoB,eAAeE,UAAUC,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"thread-list-item-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-list-item-runtime-client.ts"],"mappings":";;;cAsDa,kDAAoB,SAAA;EA3CtB,SAAA;EAIa"}
1
+ {"version":3,"file":"thread-list-item-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-list-item-runtime-client.ts"],"mappings":";;;cA8Da,kDAAoB,SAAA;EAlDtB,SAAA;EAIa"}
@@ -1,11 +1,12 @@
1
1
  import { useSubscribable } from "./useSubscribable.js";
2
+ import { handleThreadListAction } from "./handle-thread-list-action.js";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  import { useEffect, useRef } from "@assistant-ui/tap/react-shim";
4
5
  import { resource } from "@assistant-ui/tap";
5
6
  import { useAssistantEmit } from "@assistant-ui/store/client";
6
7
  //#region src/store/runtime-clients/thread-list-item-runtime-client.ts
7
8
  const useThreadListItemClient = (t0) => {
8
- const $ = c(27);
9
+ const $ = c(35);
9
10
  const { runtime, mainThreadIsRunning: t1 } = t0;
10
11
  const mainThreadIsRunning = t1 === void 0 ? false : t1;
11
12
  const runtimeState = useSubscribable(runtime);
@@ -75,41 +76,73 @@ const useThreadListItemClient = (t0) => {
75
76
  $[11] = state;
76
77
  $[12] = t6;
77
78
  } else t6 = $[12];
79
+ let t10;
80
+ let t11;
81
+ let t12;
82
+ let t13;
78
83
  let t7;
84
+ let t8;
85
+ let t9;
79
86
  if ($[13] !== runtime) {
80
- t7 = () => runtime;
87
+ t7 = (options) => handleThreadListAction("switch", () => runtime.switchTo(options));
88
+ t8 = (newTitle) => handleThreadListAction("rename", () => runtime.rename(newTitle));
89
+ t9 = (custom) => handleThreadListAction("update custom metadata", () => runtime.updateCustom(custom));
90
+ t10 = () => handleThreadListAction("archive", () => runtime.archive());
91
+ t11 = () => handleThreadListAction("unarchive", () => runtime.unarchive());
92
+ t12 = () => handleThreadListAction("delete", () => runtime.delete());
93
+ t13 = () => handleThreadListAction("generate title", () => runtime.generateTitle());
81
94
  $[13] = runtime;
82
- $[14] = t7;
83
- } else t7 = $[14];
84
- let t8;
85
- if ($[15] !== runtime.archive || $[16] !== runtime.delete || $[17] !== runtime.detach || $[18] !== runtime.generateTitle || $[19] !== runtime.initialize || $[20] !== runtime.rename || $[21] !== runtime.switchTo || $[22] !== runtime.unarchive || $[23] !== runtime.updateCustom || $[24] !== t6 || $[25] !== t7) {
86
- t8 = {
95
+ $[14] = t10;
96
+ $[15] = t11;
97
+ $[16] = t12;
98
+ $[17] = t13;
99
+ $[18] = t7;
100
+ $[19] = t8;
101
+ $[20] = t9;
102
+ } else {
103
+ t10 = $[14];
104
+ t11 = $[15];
105
+ t12 = $[16];
106
+ t13 = $[17];
107
+ t7 = $[18];
108
+ t8 = $[19];
109
+ t9 = $[20];
110
+ }
111
+ let t14;
112
+ if ($[21] !== runtime) {
113
+ t14 = () => runtime;
114
+ $[21] = runtime;
115
+ $[22] = t14;
116
+ } else t14 = $[22];
117
+ let t15;
118
+ if ($[23] !== runtime.detach || $[24] !== runtime.initialize || $[25] !== t10 || $[26] !== t11 || $[27] !== t12 || $[28] !== t13 || $[29] !== t14 || $[30] !== t6 || $[31] !== t7 || $[32] !== t8 || $[33] !== t9) {
119
+ t15 = {
87
120
  getState: t6,
88
- switchTo: runtime.switchTo,
89
- rename: runtime.rename,
90
- updateCustom: runtime.updateCustom,
91
- archive: runtime.archive,
92
- unarchive: runtime.unarchive,
93
- delete: runtime.delete,
94
- generateTitle: runtime.generateTitle,
121
+ switchTo: t7,
122
+ rename: t8,
123
+ updateCustom: t9,
124
+ archive: t10,
125
+ unarchive: t11,
126
+ delete: t12,
127
+ generateTitle: t13,
95
128
  initialize: runtime.initialize,
96
129
  detach: runtime.detach,
97
- __internal_getRuntime: t7
130
+ __internal_getRuntime: t14
98
131
  };
99
- $[15] = runtime.archive;
100
- $[16] = runtime.delete;
101
- $[17] = runtime.detach;
102
- $[18] = runtime.generateTitle;
103
- $[19] = runtime.initialize;
104
- $[20] = runtime.rename;
105
- $[21] = runtime.switchTo;
106
- $[22] = runtime.unarchive;
107
- $[23] = runtime.updateCustom;
108
- $[24] = t6;
109
- $[25] = t7;
110
- $[26] = t8;
111
- } else t8 = $[26];
112
- return t8;
132
+ $[23] = runtime.detach;
133
+ $[24] = runtime.initialize;
134
+ $[25] = t10;
135
+ $[26] = t11;
136
+ $[27] = t12;
137
+ $[28] = t13;
138
+ $[29] = t14;
139
+ $[30] = t6;
140
+ $[31] = t7;
141
+ $[32] = t8;
142
+ $[33] = t9;
143
+ $[34] = t15;
144
+ } else t15 = $[34];
145
+ return t15;
113
146
  };
114
147
  const ThreadListItemClient = resource(useThreadListItemClient);
115
148
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"thread-list-item-runtime-client.js","names":["useEffect","useMemo","useRef","resource","ClientOutput","useAssistantEmit","ThreadListItemRuntime","useSubscribable","useThreadListItemClient","t0","$","_c","runtime","mainThreadIsRunning","t1","undefined","runtimeState","t2","bb0","isRunning","isMain","t3","state","emit","id","threadId","selectionRef","t4","t5","previous","current","t6","t7","t8","archive","delete","detach","generateTitle","initialize","rename","switchTo","unarchive","updateCustom","getState","__internal_getRuntime","ThreadListItemClient"],"sources":["../../../src/store/runtime-clients/thread-list-item-runtime-client.ts"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport { useAssistantEmit } from \"@assistant-ui/store/client\";\nimport type { ThreadListItemRuntime } from \"../../runtime/api/thread-list-item-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\n\nconst useThreadListItemClient = ({\n runtime,\n mainThreadIsRunning = false,\n}: {\n runtime: ThreadListItemRuntime;\n // A thread list that cannot report per-thread run state still leaves the open\n // thread observable, and the thread client tracks that reactively. Omitted\n // where the runtime state is already authoritative for every thread.\n mainThreadIsRunning?: boolean | undefined;\n}): ClientOutput<\"threadListItem\"> => {\n const runtimeState = useSubscribable(runtime);\n const state = useMemo(() => {\n const isRunning =\n runtimeState.isRunning || (runtimeState.isMain && mainThreadIsRunning);\n if (isRunning === runtimeState.isRunning) return runtimeState;\n return { ...runtimeState, isRunning };\n }, [runtimeState, mainThreadIsRunning]);\n const emit = useAssistantEmit();\n\n // Emitted after the flush that rebinds the derived scopes; the runtime's own\n // synchronous notification would be delivered against the pre-switch binding.\n const { isMain, id: threadId } = runtimeState;\n const selectionRef = useRef({ isMain, threadId });\n useEffect(() => {\n const previous = selectionRef.current;\n if (previous.isMain === isMain && previous.threadId === threadId) return;\n selectionRef.current = { isMain, threadId };\n emit(isMain ? \"threadListItem.switchedTo\" : \"threadListItem.switchedAway\", {\n threadId,\n });\n }, [isMain, threadId, emit]);\n\n return {\n getState: () => state,\n switchTo: runtime.switchTo,\n rename: runtime.rename,\n updateCustom: runtime.updateCustom,\n archive: runtime.archive,\n unarchive: runtime.unarchive,\n delete: runtime.delete,\n generateTitle: runtime.generateTitle,\n initialize: runtime.initialize,\n detach: runtime.detach,\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const ThreadListItemClient = resource(useThreadListItemClient);\n"],"mappings":"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"}
1
+ {"version":3,"file":"thread-list-item-runtime-client.js","names":["useEffect","useMemo","useRef","resource","ClientOutput","useAssistantEmit","ThreadListItemRuntime","useSubscribable","handleThreadListAction","useThreadListItemClient","t0","$","_c","runtime","mainThreadIsRunning","t1","undefined","runtimeState","t2","bb0","isRunning","isMain","t3","state","emit","id","threadId","selectionRef","t4","t5","previous","current","t6","t10","t11","t12","t13","t7","t8","t9","options","switchTo","newTitle","rename","custom","updateCustom","archive","unarchive","delete","generateTitle","t14","t15","detach","initialize","getState","__internal_getRuntime","ThreadListItemClient"],"sources":["../../../src/store/runtime-clients/thread-list-item-runtime-client.ts"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport { useAssistantEmit } from \"@assistant-ui/store/client\";\nimport type { ThreadListItemRuntime } from \"../../runtime/api/thread-list-item-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport { handleThreadListAction } from \"./handle-thread-list-action\";\n\nconst useThreadListItemClient = ({\n runtime,\n mainThreadIsRunning = false,\n}: {\n runtime: ThreadListItemRuntime;\n // A thread list that cannot report per-thread run state still leaves the open\n // thread observable, and the thread client tracks that reactively. Omitted\n // where the runtime state is already authoritative for every thread.\n mainThreadIsRunning?: boolean | undefined;\n}): ClientOutput<\"threadListItem\"> => {\n const runtimeState = useSubscribable(runtime);\n const state = useMemo(() => {\n const isRunning =\n runtimeState.isRunning || (runtimeState.isMain && mainThreadIsRunning);\n if (isRunning === runtimeState.isRunning) return runtimeState;\n return { ...runtimeState, isRunning };\n }, [runtimeState, mainThreadIsRunning]);\n const emit = useAssistantEmit();\n\n // Emitted after the flush that rebinds the derived scopes; the runtime's own\n // synchronous notification would be delivered against the pre-switch binding.\n const { isMain, id: threadId } = runtimeState;\n const selectionRef = useRef({ isMain, threadId });\n useEffect(() => {\n const previous = selectionRef.current;\n if (previous.isMain === isMain && previous.threadId === threadId) return;\n selectionRef.current = { isMain, threadId };\n emit(isMain ? \"threadListItem.switchedTo\" : \"threadListItem.switchedAway\", {\n threadId,\n });\n }, [isMain, threadId, emit]);\n\n return {\n getState: () => state,\n switchTo: (options) =>\n handleThreadListAction(\"switch\", () => runtime.switchTo(options)),\n rename: (newTitle) =>\n handleThreadListAction(\"rename\", () => runtime.rename(newTitle)),\n updateCustom: (custom) =>\n handleThreadListAction(\"update custom metadata\", () =>\n runtime.updateCustom(custom),\n ),\n archive: () => handleThreadListAction(\"archive\", () => runtime.archive()),\n unarchive: () =>\n handleThreadListAction(\"unarchive\", () => runtime.unarchive()),\n delete: () => handleThreadListAction(\"delete\", () => runtime.delete()),\n generateTitle: () =>\n handleThreadListAction(\"generate title\", () => runtime.generateTitle()),\n initialize: runtime.initialize,\n detach: runtime.detach,\n __internal_getRuntime: () => runtime,\n };\n};\n\nexport const ThreadListItemClient = resource(useThreadListItemClient);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"thread-list-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-list-runtime-client.ts"],"mappings":";;;;cA6Ga,8CAAgB,SAAA;EAvElB,SAAA;EACoB,6BAAA"}
1
+ {"version":3,"file":"thread-list-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-list-runtime-client.ts"],"mappings":";;;;cAgHa,8CAAgB,SAAA;EAxElB,SAAA;EACoB,6BAAA"}
@@ -1,6 +1,8 @@
1
1
  import { useSubscribable } from "./useSubscribable.js";
2
2
  import { ThreadClient } from "./thread-runtime-client.js";
3
+ import { handleThreadListAction } from "./handle-thread-list-action.js";
3
4
  import { ThreadListItemClient } from "./thread-list-item-runtime-client.js";
5
+ import { useThreadSelectionEvents } from "../clients/thread-selection-events.js";
4
6
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
5
7
  import "@assistant-ui/tap/react-shim";
6
8
  import { resource, useResource, withKey } from "@assistant-ui/tap";
@@ -34,6 +36,7 @@ const useThreadListClient = (t0) => {
34
36
  const $ = c(43);
35
37
  const { runtime, __internal_assistantRuntime } = t0;
36
38
  const runtimeState = useSubscribable(runtime);
39
+ useThreadSelectionEvents(runtimeState.mainThreadId);
37
40
  let t1;
38
41
  if ($[0] !== runtime.main) {
39
42
  t1 = ThreadClient({ runtime: runtime.main });
@@ -116,12 +119,8 @@ const useThreadListClient = (t0) => {
116
119
  let t8;
117
120
  let t9;
118
121
  if ($[23] !== runtime) {
119
- t8 = async (threadId, options) => {
120
- await runtime.switchToThread(threadId, options);
121
- };
122
- t9 = async () => {
123
- await runtime.switchToNewThread();
124
- };
122
+ t8 = (threadId, options) => handleThreadListAction("switch", () => runtime.switchToThread(threadId, options));
123
+ t9 = () => handleThreadListAction("create", () => runtime.switchToNewThread());
125
124
  t10 = () => runtime.getLoadThreadsPromise();
126
125
  t11 = () => runtime.reload();
127
126
  t12 = () => runtime.reloadMainThread();
@@ -1 +1 @@
1
- {"version":3,"file":"thread-list-runtime-client.js","names":["useMemo","useResource","withKey","resource","ClientOutput","useClientLookup","useClientResource","ThreadListRuntime","AssistantRuntime","useSubscribable","ThreadListItemClient","ThreadClient","ThreadsState","useThreadListItemClientById","t0","$","_c","runtime","id","mainThreadIsRunning","t1","getItemById","threadListItemRuntime","t2","ThreadListItemClientById","useThreadListClient","__internal_assistantRuntime","runtimeState","main","state","threadItems","Object","keys","map","isRunning","t3","newThreadId","t4","archivedThreadIds","hasMore","isLoading","isLoadingMore","mainThreadId","threadIds","t5","t6","methods","t7","threadIdOrOptions","get","key","index","archived","t8","undefined","id_0","t10","t11","t12","t13","t9","threadId","options","switchToThread","switchToNewThread","getLoadThreadsPromise","reload","reloadMainThread","loadMore","t14","t15","getState","thread","item","__internal_getAssistantRuntime","ThreadListClient"],"sources":["../../../src/store/runtime-clients/thread-list-runtime-client.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useResource, withKey, resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport { useClientLookup, useClientResource } from \"@assistant-ui/store/client\";\nimport type { ThreadListRuntime } from \"../../runtime/api/thread-list-runtime\";\nimport type { AssistantRuntime } from \"../../runtime/api/assistant-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport { ThreadListItemClient } from \"./thread-list-item-runtime-client\";\nimport { ThreadClient } from \"./thread-runtime-client\";\nimport type { ThreadsState } from \"../scopes/threads\";\n\nconst useThreadListItemClientById = ({\n runtime,\n id,\n mainThreadIsRunning,\n}: {\n runtime: ThreadListRuntime;\n id: string;\n mainThreadIsRunning: boolean;\n}) => {\n const threadListItemRuntime = useMemo(\n () => runtime.getItemById(id),\n [runtime, id],\n );\n return useResource(\n ThreadListItemClient({\n runtime: threadListItemRuntime,\n mainThreadIsRunning,\n }),\n );\n};\n\nconst ThreadListItemClientById = resource(useThreadListItemClientById);\n\nconst useThreadListClient = ({\n runtime,\n __internal_assistantRuntime,\n}: {\n runtime: ThreadListRuntime;\n __internal_assistantRuntime: AssistantRuntime;\n}): ClientOutput<\"threads\"> => {\n const runtimeState = useSubscribable(runtime);\n\n const main = useClientResource(\n ThreadClient({\n runtime: runtime.main,\n }),\n );\n const threadItems = useClientLookup(\n Object.keys(runtimeState.threadItems).map((id) =>\n withKey(\n id,\n ThreadListItemClientById({\n runtime,\n id,\n mainThreadIsRunning: main.state.isRunning,\n }),\n [runtime, id, main.state.isRunning],\n ),\n ),\n );\n\n const state = useMemo<ThreadsState>(() => {\n return {\n mainThreadId: runtimeState.mainThreadId,\n newThreadId: runtimeState.newThreadId ?? null,\n isLoading: runtimeState.isLoading,\n isLoadingMore: runtimeState.isLoadingMore,\n hasMore: runtimeState.hasMore,\n threadIds: runtimeState.threadIds,\n archivedThreadIds: runtimeState.archivedThreadIds,\n threadItems: threadItems.state,\n\n main: main.state,\n };\n }, [runtimeState, threadItems.state, main.state]);\n\n return {\n getState: () => state,\n thread: () => main.methods,\n item: (threadIdOrOptions) => {\n if (threadIdOrOptions === \"main\") {\n return threadItems.get({ key: state.mainThreadId });\n }\n\n if (\"id\" in threadIdOrOptions) {\n return threadItems.get({ key: threadIdOrOptions.id });\n }\n\n const { index, archived = false } = threadIdOrOptions;\n const id = archived\n ? state.archivedThreadIds[index]!\n : state.threadIds[index]!;\n return threadItems.get({ key: id });\n },\n switchToThread: async (threadId, options) => {\n await runtime.switchToThread(threadId, options);\n },\n switchToNewThread: async () => {\n await runtime.switchToNewThread();\n },\n getLoadThreadsPromise: () => runtime.getLoadThreadsPromise(),\n reload: () => runtime.reload(),\n reloadMainThread: () => runtime.reloadMainThread(),\n loadMore: () => runtime.loadMore(),\n __internal_getAssistantRuntime: () => __internal_assistantRuntime,\n };\n};\n\nexport const ThreadListClient = resource(useThreadListClient);\n"],"mappings":"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"}
1
+ {"version":3,"file":"thread-list-runtime-client.js","names":["useMemo","useResource","withKey","resource","ClientOutput","useClientLookup","useClientResource","useThreadSelectionEvents","ThreadListRuntime","AssistantRuntime","useSubscribable","ThreadListItemClient","ThreadClient","ThreadsState","handleThreadListAction","useThreadListItemClientById","t0","$","_c","runtime","id","mainThreadIsRunning","t1","getItemById","threadListItemRuntime","t2","ThreadListItemClientById","useThreadListClient","__internal_assistantRuntime","runtimeState","mainThreadId","main","state","threadItems","Object","keys","map","isRunning","t3","newThreadId","t4","archivedThreadIds","hasMore","isLoading","isLoadingMore","threadIds","t5","t6","methods","t7","threadIdOrOptions","get","key","index","archived","t8","undefined","id_0","t10","t11","t12","t13","t9","threadId","options","switchToThread","switchToNewThread","getLoadThreadsPromise","reload","reloadMainThread","loadMore","t14","t15","getState","thread","item","__internal_getAssistantRuntime","ThreadListClient"],"sources":["../../../src/store/runtime-clients/thread-list-runtime-client.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useResource, withKey, resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport { useClientLookup, useClientResource } from \"@assistant-ui/store/client\";\nimport { useThreadSelectionEvents } from \"../clients/thread-selection-events\";\nimport type { ThreadListRuntime } from \"../../runtime/api/thread-list-runtime\";\nimport type { AssistantRuntime } from \"../../runtime/api/assistant-runtime\";\nimport { useSubscribable } from \"./useSubscribable\";\nimport { ThreadListItemClient } from \"./thread-list-item-runtime-client\";\nimport { ThreadClient } from \"./thread-runtime-client\";\nimport type { ThreadsState } from \"../scopes/threads\";\nimport { handleThreadListAction } from \"./handle-thread-list-action\";\n\nconst useThreadListItemClientById = ({\n runtime,\n id,\n mainThreadIsRunning,\n}: {\n runtime: ThreadListRuntime;\n id: string;\n mainThreadIsRunning: boolean;\n}) => {\n const threadListItemRuntime = useMemo(\n () => runtime.getItemById(id),\n [runtime, id],\n );\n return useResource(\n ThreadListItemClient({\n runtime: threadListItemRuntime,\n mainThreadIsRunning,\n }),\n );\n};\n\nconst ThreadListItemClientById = resource(useThreadListItemClientById);\n\nconst useThreadListClient = ({\n runtime,\n __internal_assistantRuntime,\n}: {\n runtime: ThreadListRuntime;\n __internal_assistantRuntime: AssistantRuntime;\n}): ClientOutput<\"threads\"> => {\n const runtimeState = useSubscribable(runtime);\n useThreadSelectionEvents(runtimeState.mainThreadId);\n\n const main = useClientResource(\n ThreadClient({\n runtime: runtime.main,\n }),\n );\n const threadItems = useClientLookup(\n Object.keys(runtimeState.threadItems).map((id) =>\n withKey(\n id,\n ThreadListItemClientById({\n runtime,\n id,\n mainThreadIsRunning: main.state.isRunning,\n }),\n [runtime, id, main.state.isRunning],\n ),\n ),\n );\n\n const state = useMemo<ThreadsState>(() => {\n return {\n mainThreadId: runtimeState.mainThreadId,\n newThreadId: runtimeState.newThreadId ?? null,\n isLoading: runtimeState.isLoading,\n isLoadingMore: runtimeState.isLoadingMore,\n hasMore: runtimeState.hasMore,\n threadIds: runtimeState.threadIds,\n archivedThreadIds: runtimeState.archivedThreadIds,\n threadItems: threadItems.state,\n\n main: main.state,\n };\n }, [runtimeState, threadItems.state, main.state]);\n\n return {\n getState: () => state,\n thread: () => main.methods,\n item: (threadIdOrOptions) => {\n if (threadIdOrOptions === \"main\") {\n return threadItems.get({ key: state.mainThreadId });\n }\n\n if (\"id\" in threadIdOrOptions) {\n return threadItems.get({ key: threadIdOrOptions.id });\n }\n\n const { index, archived = false } = threadIdOrOptions;\n const id = archived\n ? state.archivedThreadIds[index]!\n : state.threadIds[index]!;\n return threadItems.get({ key: id });\n },\n switchToThread: (threadId, options) =>\n handleThreadListAction(\"switch\", () =>\n runtime.switchToThread(threadId, options),\n ),\n switchToNewThread: () =>\n handleThreadListAction(\"create\", () => runtime.switchToNewThread()),\n getLoadThreadsPromise: () => runtime.getLoadThreadsPromise(),\n reload: () => runtime.reload(),\n reloadMainThread: () => runtime.reloadMainThread(),\n loadMore: () => runtime.loadMore(),\n __internal_getAssistantRuntime: () => __internal_assistantRuntime,\n };\n};\n\nexport const ThreadListClient = resource(useThreadListClient);\n"],"mappings":"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"}
@@ -21,6 +21,11 @@ type ComposerState = {
21
21
  readonly attachments: readonly Attachment[];
22
22
  readonly runConfig: RunConfig;
23
23
  readonly isEditing: boolean;
24
+ /**
25
+ * Whether the composer can cancel the current run. `true` when the runtime
26
+ * supports cancel and a run is in flight, not merely when cancel is a
27
+ * capability.
28
+ */
24
29
  readonly canCancel: boolean;
25
30
  /**
26
31
  * Whether the composer is currently willing to send. `true` when the
@@ -95,16 +100,16 @@ type ComposerMeta = {
95
100
  };
96
101
  type ComposerEvents = {
97
102
  /**
98
- * @deprecated State-derivable. Observe composer `text` clearing via
99
- * `useAuiState` instead. Kept for backward compatibility.
103
+ * The user sent the composer contents. `messageId` is set when the send
104
+ * came from an edit composer.
100
105
  */
101
106
  "composer.send": {
102
107
  threadId: string;
103
108
  messageId?: string;
104
109
  };
105
110
  /**
106
- * @deprecated State-derivable. Observe composer `attachments` via
107
- * `useAuiState` instead. Kept for backward compatibility.
111
+ * An attachment was added to the composer. `messageId` is set when the
112
+ * attachment was added to an edit composer.
108
113
  */
109
114
  "composer.attachmentAdd": {
110
115
  threadId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"composer.d.ts","names":[],"sources":["../../../src/store/scopes/composer.ts"],"mappings":";;;;;;;;KAaY,sBAAsB;;;;;;;EAOhC;;KAGU;WACD;WACA,MAAM;WACN,sBAAsB;WACtB,WAAW;WACX;WACA;;;;;;;;;WASA;WACA;WACA;WACA;;;;;WAMA,WAAW;;;;;WAMX,OAAO;;;;;WAMP,gBAAgB;;KAGf;EACV,YAAY;EACZ,QAAQ;EACR,QAAQ,MAAM;EACd,aAAa,WAAW;EACxB,cAAc,kBAAkB,OAAO,mBAAmB;EAC1D,oBAAoB;EACpB,WAAW;IAAY;;IAAoB;MAAe;EAC1D,SAAS;EACT,KAAK,OAAO;EACZ;EACA;;;;;EAMA;;;;EAKA;;;;EAKA,SAAS,OAAO;;;;EAKhB,UAAU;IAAY;;IAAoB;MAAe;EAEzD,0BAA0B;;KAGhB;EACV;EACA,OAAO;;KAGG;;;;;EAKV;IAAmB;IAAkB;;;;;;EAKrC;IAA4B;IAAkB;;EAC9C;IACE;IACA;IACA;IACA,QAAQ;IACR;;;KAIQ;EACV,SAAS;EACT,MAAM;EACN,QAAQ"}
1
+ {"version":3,"file":"composer.d.ts","names":[],"sources":["../../../src/store/scopes/composer.ts"],"mappings":";;;;;;;;KAaY,sBAAsB;;;;;;;EAOhC;;KAGU;WACD;WACA,MAAM;WACN,sBAAsB;WACtB,WAAW;WACX;;;;;;WAMA;;;;;;;;;WASA;WACA;WACA;WACA;;;;;WAMA,WAAW;;;;;WAMX,OAAO;;;;;WAMP,gBAAgB;;KAGf;EACV,YAAY;EACZ,QAAQ;EACR,QAAQ,MAAM;EACd,aAAa,WAAW;EACxB,cAAc,kBAAkB,OAAO,mBAAmB;EAC1D,oBAAoB;EACpB,WAAW;IAAY;;IAAoB;MAAe;EAC1D,SAAS;EACT,KAAK,OAAO;EACZ;EACA;;;;;EAMA;;;;EAKA;;;;EAKA,SAAS,OAAO;;;;EAKhB,UAAU;IAAY;;IAAoB;MAAe;EAEzD,0BAA0B;;KAGhB;EACV;EACA,OAAO;;KAGG;;;;;EAKV;IAAmB;IAAkB;;;;;;EAKrC;IAA4B;IAAkB;;EAC9C;IACE;IACA;IACA;IACA,QAAQ;IACR;;;KAIQ;EACV,SAAS;EACT,MAAM;EACN,QAAQ"}
@@ -50,17 +50,18 @@ type ThreadListItemMeta = {
50
50
  };
51
51
  type ThreadListItemEvents = {
52
52
  /**
53
- * @deprecated State-derivable. Compare `s.threads.mainThreadId` against the
54
- * item's `s.threadListItem.id` via `useAuiState` instead. Kept for backward
55
- * compatibility.
53
+ * @deprecated Use `threads.selectionChanged` instead; its `threadId` is the
54
+ * newly selected thread. Inside a per-item `threadListItem` scope, filter by
55
+ * `threadId === threadListItem.id` to reproduce the per-item delivery. Kept
56
+ * for backward compatibility.
56
57
  */
57
58
  "threadListItem.switchedTo": {
58
59
  threadId: string;
59
60
  };
60
61
  /**
61
- * @deprecated State-derivable. Compare `s.threads.mainThreadId` against the
62
- * item's `s.threadListItem.id` via `useAuiState` instead. Kept for backward
63
- * compatibility.
62
+ * @deprecated Use `threads.selectionChanged` instead; its
63
+ * `previousThreadId` is the thread that was switched away from. Kept for
64
+ * backward compatibility.
64
65
  */
65
66
  "threadListItem.switchedAway": {
66
67
  threadId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"thread-list-item.d.ts","names":[],"sources":["../../../src/store/scopes/thread-list-item.ts"],"mappings":";;;KAGY;WACD;WACA;WACA;WACA;WACA,gBAAgB;WAChB,QAAQ;WACR,SAAS;;;;;;;WAOT;;KAGC;EACV,YAAY;EACZ,SAAS;IAAY;;EACrB,OAAO;EACP,aAAa,QAAQ;EACrB;EACA;EACA;EACA;EACA,cAAc;IAAU;IAAkB;;EAC1C;EACA,0BAA0B;;KAGhB;EACV;EACA;IACM;;IACA;IAAY;;IACZ;IAAe;IAAe;;;KAG1B;;;;;;EAMV;IAA+B;;;;;;;EAM/B;IAAiC;;;KAGvB;EACV,SAAS;EACT,MAAM;EACN,QAAQ"}
1
+ {"version":3,"file":"thread-list-item.d.ts","names":[],"sources":["../../../src/store/scopes/thread-list-item.ts"],"mappings":";;;KAGY;WACD;WACA;WACA;WACA;WACA,gBAAgB;WAChB,QAAQ;WACR,SAAS;;;;;;;WAOT;;KAGC;EACV,YAAY;EACZ,SAAS;IAAY;;EACrB,OAAO;EACP,aAAa,QAAQ;EACrB;EACA;EACA;EACA;EACA,cAAc;IAAU;IAAkB;;EAC1C;EACA,0BAA0B;;KAGhB;EACV;EACA;IACM;;IACA;IAAY;;IACZ;IAAe;IAAe;;;KAG1B;;;;;;;EAOV;IAA+B;;;;;;;EAM/B;IAAiC;;;KAGvB;EACV,SAAS;EACT,MAAM;EACN,QAAQ"}
@@ -138,23 +138,24 @@ type ThreadMeta = {
138
138
  };
139
139
  type ThreadEvents = {
140
140
  /**
141
- * @deprecated State-derivable. Observe `isRunning` flipping to `true` via
142
- * `useAuiState` instead. Kept for backward compatibility.
141
+ * A run started on this thread. Also observable as `isRunning` flipping to
142
+ * `true` in thread state.
143
143
  */
144
144
  "thread.runStart": {
145
145
  threadId: string;
146
146
  };
147
147
  /**
148
- * @deprecated State-derivable. Observe `isRunning` flipping to `false` via
149
- * `useAuiState` instead. Kept for backward compatibility.
148
+ * A run on this thread ended, whether it completed, errored, or was
149
+ * cancelled. Also observable as `isRunning` flipping to `false` in thread
150
+ * state.
150
151
  */
151
152
  "thread.runEnd": {
152
153
  threadId: string;
153
154
  };
154
155
  /**
155
- * @deprecated State-derivable. This event fires before the first message is
156
- * added; observe `messages` becoming non-empty via `useAuiState` instead of
157
- * reading state inside this event handler. Kept for backward compatibility.
156
+ * The thread transitioned from new to initialized. Fires before the first
157
+ * message is added, so read thread state via `useAuiState` rather than
158
+ * inside this event handler.
158
159
  */
159
160
  "thread.initialize": {
160
161
  threadId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"thread.d.ts","names":[],"sources":["../../../src/store/scopes/thread.ts"],"mappings":";;;;;;;;;;;KAqBY;;;;WAID;;;;WAIA;;;;WAIA;;;;WAIA;;;;WAIA,cAAc;;;;WAId,mBAAmB;;;;;WAKnB,OAAO;;;;WAIP,sBAAsB;;;;WAItB;;WAEA,QAAQ;WACR,OAAO;WACP,UAAU;;KAGT;;;;EAIV,YAAY;;;;EAIZ,YAAY;;;;EAIZ,eAAe;;;;;;;;;;;;;;;;;EAiBf,OAAO,SAAS;EAChB,cAAc,2BAA2B;;;;;EAKzC,SAAS,QAAQ;;;;;EAKjB,UAAU,QAAQ;EAClB;;;;;;;;;;;;EAYA,2BAA2B;EAC3B,mBAAmB;EACnB,UAAU;EACV,OAAO,YAAY;;;;;EAKnB,MAAM,2BAA2B;EACjC,oBAAoB;EACpB,QAAQ;IAAY;;IAAiB;MAAkB;;EAEvD;EACA;EACA;EACA;EACA,qBAAqB,uBAAuB;EAC5C;EACA;EACA,0BAA0B;;KAGhB;EACV;EACA;IAAS;;;KAGC;;;;;EAKV;IAAqB;;;;;;EAKrB;IAAmB;;;;;;;EAMnB;IAAuB;;;;;;EAKvB;IAA+B;;;KAGrB;EACV,SAAS;EACT,MAAM;EACN,QAAQ"}
1
+ {"version":3,"file":"thread.d.ts","names":[],"sources":["../../../src/store/scopes/thread.ts"],"mappings":";;;;;;;;;;;KAqBY;;;;WAID;;;;WAIA;;;;WAIA;;;;WAIA;;;;WAIA,cAAc;;;;WAId,mBAAmB;;;;;WAKnB,OAAO;;;;WAIP,sBAAsB;;;;WAItB;;WAEA,QAAQ;WACR,OAAO;WACP,UAAU;;KAGT;;;;EAIV,YAAY;;;;EAIZ,YAAY;;;;EAIZ,eAAe;;;;;;;;;;;;;;;;;EAiBf,OAAO,SAAS;EAChB,cAAc,2BAA2B;;;;;EAKzC,SAAS,QAAQ;;;;;EAKjB,UAAU,QAAQ;EAClB;;;;;;;;;;;;EAYA,2BAA2B;EAC3B,mBAAmB;EACnB,UAAU;EACV,OAAO,YAAY;;;;;EAKnB,MAAM,2BAA2B;EACjC,oBAAoB;EACpB,QAAQ;IAAY;;IAAiB;MAAkB;;EAEvD;EACA;EACA;EACA;EACA,qBAAqB,uBAAuB;EAC5C;EACA;EACA,0BAA0B;;KAGhB;EACV;EACA;IAAS;;;KAGC;;;;;EAKV;IAAqB;;;;;;;EAMrB;IAAmB;;;;;;;EAMnB;IAAuB;;;;;;EAKvB;IAA+B;;;KAGrB;EACV,SAAS;EACT,MAAM;EACN,QAAQ"}
@@ -32,9 +32,25 @@ type ThreadsMethods = {
32
32
  loadMore(): Promise<void>;
33
33
  __internal_getAssistantRuntime?(): AssistantRuntime;
34
34
  };
35
+ type ThreadsEvents = {
36
+ /**
37
+ * The main thread selection changed. Fires once per switch with the newly
38
+ * selected thread and the thread that was selected before. Does not fire
39
+ * for the initially selected thread on mount. Runtimes that resolve a
40
+ * deep-linked `threadId`/`initialThreadId` after mount (such as
41
+ * `useRemoteThreadListRuntime`) start on a placeholder new thread, so the
42
+ * deep link's resolution fires this event with the placeholder as
43
+ * `previousThreadId`.
44
+ */
45
+ "threads.selectionChanged": {
46
+ threadId: string;
47
+ previousThreadId: string;
48
+ };
49
+ };
35
50
  type ThreadsClientSchema = {
36
51
  methods: ThreadsMethods;
52
+ events: ThreadsEvents;
37
53
  };
38
54
  //#endregion
39
- export { ThreadsClientSchema, ThreadsMethods, ThreadsState };
55
+ export { ThreadsClientSchema, ThreadsEvents, ThreadsMethods, ThreadsState };
40
56
  //# sourceMappingURL=threads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"threads.d.ts","names":[],"sources":["../../../src/store/scopes/threads.ts"],"mappings":";;;;KAOY;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA,sBAAsB;WACtB,MAAM;;KAGL;EACV,YAAY;EACZ,eAAe,kBAAkB;IAAY;;EAC7C;EACA,KACE;IAEM;;IACA;IAAe;MACpB;EACH,OAAO,mBAAmB;EAC1B,yBAAyB;EACzB,UAAU;EACV,oBAAoB;EACpB,YAAY;EACZ,mCAAmC;;KAGzB;EACV,SAAS"}
1
+ {"version":3,"file":"threads.d.ts","names":[],"sources":["../../../src/store/scopes/threads.ts"],"mappings":";;;;KAOY;WACD;WACA;WACA;WACA;WACA;WACA;WACA;WACA,sBAAsB;WACtB,MAAM;;KAGL;EACV,YAAY;EACZ,eAAe,kBAAkB;IAAY;;EAC7C;EACA,KACE;IAEM;;IACA;IAAe;MACpB;EACH,OAAO,mBAAmB;EAC1B,yBAAyB;EACzB,UAAU;EACV,oBAAoB;EACpB,YAAY;EACZ,mCAAmC;;KAGzB;;;;;;;;;;EAUV;IAA8B;IAAkB;;;KAGtC;EACV,SAAS;EACT,QAAQ"}