@assistant-ui/core 0.3.17 → 0.3.18

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 (284) hide show
  1. package/dist/adapters/attachment.d.ts.map +1 -1
  2. package/dist/adapters/attachment.js +5 -4
  3. package/dist/adapters/attachment.js.map +1 -1
  4. package/dist/index.d.ts +2 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal.d.ts +3 -2
  7. package/dist/internal.js +3 -2
  8. package/dist/model-context/frame/host.d.ts.map +1 -1
  9. package/dist/model-context/frame/host.js +10 -4
  10. package/dist/model-context/frame/host.js.map +1 -1
  11. package/dist/model-context/frame/provider.d.ts +2 -0
  12. package/dist/model-context/frame/provider.d.ts.map +1 -1
  13. package/dist/model-context/frame/provider.js +30 -7
  14. package/dist/model-context/frame/provider.js.map +1 -1
  15. package/dist/model-context/interactable-composer-metadata.d.ts.map +1 -1
  16. package/dist/model-context/interactable-composer-metadata.js +16 -9
  17. package/dist/model-context/interactable-composer-metadata.js.map +1 -1
  18. package/dist/model-context/registry.d.ts.map +1 -1
  19. package/dist/model-context/registry.js +3 -5
  20. package/dist/model-context/registry.js.map +1 -1
  21. package/dist/model-context/types.d.ts.map +1 -1
  22. package/dist/model-context/types.js +5 -4
  23. package/dist/model-context/types.js.map +1 -1
  24. package/dist/react/client/InMemoryThreadList.d.ts.map +1 -1
  25. package/dist/react/client/InMemoryThreadList.js +62 -56
  26. package/dist/react/client/InMemoryThreadList.js.map +1 -1
  27. package/dist/react/client/Interactables.d.ts.map +1 -1
  28. package/dist/react/client/Interactables.js +24 -27
  29. package/dist/react/client/Interactables.js.map +1 -1
  30. package/dist/react/client/RemoteThreadList.d.ts +1 -0
  31. package/dist/react/client/RemoteThreadList.d.ts.map +1 -1
  32. package/dist/react/client/RemoteThreadList.js +151 -141
  33. package/dist/react/client/RemoteThreadList.js.map +1 -1
  34. package/dist/react/client/Tools.d.ts.map +1 -1
  35. package/dist/react/client/Tools.js +18 -16
  36. package/dist/react/client/Tools.js.map +1 -1
  37. package/dist/react/interactables-legacy/Interactables.js +242 -121
  38. package/dist/react/interactables-legacy/Interactables.js.map +1 -1
  39. package/dist/react/interactables-shared/useInteractablePersistenceQueue.d.ts.map +1 -1
  40. package/dist/react/interactables-shared/useInteractablePersistenceQueue.js +11 -9
  41. package/dist/react/interactables-shared/useInteractablePersistenceQueue.js.map +1 -1
  42. package/dist/react/model-context/makeAssistantTool.d.ts +2 -2
  43. package/dist/react/model-context/makeAssistantTool.js +1 -1
  44. package/dist/react/model-context/makeAssistantTool.js.map +1 -1
  45. package/dist/react/model-context/useAssistantTool.d.ts +2 -2
  46. package/dist/react/model-context/useAssistantTool.js +1 -1
  47. package/dist/react/model-context/useAssistantTool.js.map +1 -1
  48. package/dist/react/model-context/useToolArgsStatus.d.ts.map +1 -1
  49. package/dist/react/model-context/useToolArgsStatus.js +2 -1
  50. package/dist/react/model-context/useToolArgsStatus.js.map +1 -1
  51. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  52. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +16 -8
  53. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
  54. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +5 -1
  55. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  56. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +103 -103
  57. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  58. package/dist/react/runtimes/RemoteThreadResource.d.ts +1 -0
  59. package/dist/react/runtimes/RemoteThreadResource.d.ts.map +1 -1
  60. package/dist/react/runtimes/RemoteThreadResource.js +13 -11
  61. package/dist/react/runtimes/RemoteThreadResource.js.map +1 -1
  62. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +4 -1
  63. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  64. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +401 -34
  65. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  66. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.d.ts.map +1 -1
  67. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.js +2 -1
  68. package/dist/react/runtimes/cloud/createCloudThreadListAdapter.js.map +1 -1
  69. package/dist/react/runtimes/useExternalStoreRuntime.js +75 -46
  70. package/dist/react/runtimes/useExternalStoreRuntime.js.map +1 -1
  71. package/dist/react/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
  72. package/dist/react/runtimes/useRemoteThreadListRuntime.js +63 -23
  73. package/dist/react/runtimes/useRemoteThreadListRuntime.js.map +1 -1
  74. package/dist/runtime/api/thread-list-item-runtime.d.ts +7 -3
  75. package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
  76. package/dist/runtime/api/thread-list-item-runtime.js +2 -2
  77. package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
  78. package/dist/runtime/api/thread-list-runtime.d.ts +3 -0
  79. package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
  80. package/dist/runtime/api/thread-list-runtime.js +18 -14
  81. package/dist/runtime/api/thread-list-runtime.js.map +1 -1
  82. package/dist/runtime/api/thread-runtime.d.ts +4 -0
  83. package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
  84. package/dist/runtime/api/thread-runtime.js +1 -1
  85. package/dist/runtime/api/thread-runtime.js.map +1 -1
  86. package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
  87. package/dist/runtime/base/base-composer-runtime-core.js +16 -12
  88. package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
  89. package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
  90. package/dist/runtime/base/base-thread-runtime-core.js +6 -5
  91. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  92. package/dist/runtime/interfaces/composer-runtime-core.d.ts +12 -5
  93. package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
  94. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts +4 -1
  95. package/dist/runtime/interfaces/thread-list-runtime-core.d.ts.map +1 -1
  96. package/dist/runtime/utils/external-message-conversion.js +1 -1
  97. package/dist/runtime/utils/external-message-conversion.js.map +1 -1
  98. package/dist/runtime/utils/message-repository.d.ts +1 -0
  99. package/dist/runtime/utils/message-repository.d.ts.map +1 -1
  100. package/dist/runtime/utils/message-repository.js +15 -6
  101. package/dist/runtime/utils/message-repository.js.map +1 -1
  102. package/dist/runtime/utils/thread-message-like.js +1 -1
  103. package/dist/runtime/utils/thread-message-like.js.map +1 -1
  104. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
  105. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js +21 -27
  106. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
  107. package/dist/runtimes/internal.d.ts +2 -2
  108. package/dist/runtimes/internal.js +2 -2
  109. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts +18 -1
  110. package/dist/runtimes/remote-thread-list/remote-thread-state.d.ts.map +1 -1
  111. package/dist/runtimes/remote-thread-list/remote-thread-state.js +130 -42
  112. package/dist/runtimes/remote-thread-list/remote-thread-state.js.map +1 -1
  113. package/dist/runtimes/remote-thread-list/title-generation.d.ts +49 -0
  114. package/dist/runtimes/remote-thread-list/title-generation.d.ts.map +1 -0
  115. package/dist/runtimes/remote-thread-list/title-generation.js +197 -0
  116. package/dist/runtimes/remote-thread-list/title-generation.js.map +1 -0
  117. package/dist/runtimes/remote-thread-list/title.d.ts +3 -1
  118. package/dist/runtimes/remote-thread-list/title.d.ts.map +1 -1
  119. package/dist/runtimes/remote-thread-list/title.js +9 -1
  120. package/dist/runtimes/remote-thread-list/title.js.map +1 -1
  121. package/dist/runtimes/remote-thread-list/types.d.ts +10 -0
  122. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -1
  123. package/dist/store/clients/external-thread.d.ts.map +1 -1
  124. package/dist/store/clients/external-thread.js +19 -3
  125. package/dist/store/clients/external-thread.js.map +1 -1
  126. package/dist/store/clients/model-context-client.d.ts.map +1 -1
  127. package/dist/store/clients/model-context-client.js +2 -1
  128. package/dist/store/clients/model-context-client.js.map +1 -1
  129. package/dist/store/clients/single-thread-list.d.ts.map +1 -1
  130. package/dist/store/clients/single-thread-list.js +1 -0
  131. package/dist/store/clients/single-thread-list.js.map +1 -1
  132. package/dist/store/clients/suggestions.d.ts.map +1 -1
  133. package/dist/store/clients/suggestions.js +5 -4
  134. package/dist/store/clients/suggestions.js.map +1 -1
  135. package/dist/store/runtime-clients/composer-runtime-client.d.ts +1 -0
  136. package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
  137. package/dist/store/runtime-clients/composer-runtime-client.js +97 -61
  138. package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
  139. package/dist/store/runtime-clients/message-runtime-client.d.ts +1 -0
  140. package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
  141. package/dist/store/runtime-clients/message-runtime-client.js +221 -144
  142. package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
  143. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
  144. package/dist/store/runtime-clients/thread-list-item-runtime-client.js +1 -1
  145. package/dist/store/runtime-clients/thread-list-item-runtime-client.js.map +1 -1
  146. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
  147. package/dist/store/runtime-clients/thread-list-runtime-client.js +54 -52
  148. package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
  149. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  150. package/dist/store/runtime-clients/thread-runtime-client.js +193 -121
  151. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  152. package/dist/store/scopes/composer.d.ts +10 -2
  153. package/dist/store/scopes/composer.d.ts.map +1 -1
  154. package/dist/store/scopes/message.d.ts +30 -1
  155. package/dist/store/scopes/message.d.ts.map +1 -1
  156. package/dist/store/scopes/thread-list-item.d.ts +2 -2
  157. package/dist/store/scopes/thread-list-item.d.ts.map +1 -1
  158. package/dist/store/scopes/thread.d.ts +8 -0
  159. package/dist/store/scopes/thread.d.ts.map +1 -1
  160. package/dist/store/scopes/threads.d.ts +1 -0
  161. package/dist/store/scopes/threads.d.ts.map +1 -1
  162. package/dist/types/attachment.d.ts +2 -1
  163. package/dist/types/attachment.d.ts.map +1 -1
  164. package/dist/types/attachment.js +2 -1
  165. package/dist/types/attachment.js.map +1 -1
  166. package/dist/utils/abortable-iterable.d.ts +19 -0
  167. package/dist/utils/abortable-iterable.d.ts.map +1 -0
  168. package/dist/utils/abortable-iterable.js +72 -0
  169. package/dist/utils/abortable-iterable.js.map +1 -0
  170. package/dist/utils/composite-context-provider.d.ts.map +1 -1
  171. package/dist/utils/composite-context-provider.js +20 -2
  172. package/dist/utils/composite-context-provider.js.map +1 -1
  173. package/dist/utils/record.d.ts +11 -0
  174. package/dist/utils/record.d.ts.map +1 -0
  175. package/dist/utils/record.js +12 -0
  176. package/dist/utils/record.js.map +1 -0
  177. package/package.json +10 -10
  178. package/src/adapters/attachment.test.ts +50 -1
  179. package/src/adapters/attachment.ts +7 -4
  180. package/src/index.ts +1 -0
  181. package/src/internal.ts +4 -0
  182. package/src/model-context/frame/host.test.ts +24 -0
  183. package/src/model-context/frame/host.ts +10 -4
  184. package/src/model-context/frame/provider.test.ts +71 -0
  185. package/src/model-context/frame/provider.ts +37 -7
  186. package/src/model-context/interactable-composer-metadata.test.ts +28 -0
  187. package/src/model-context/interactable-composer-metadata.ts +9 -3
  188. package/src/model-context/registry.test.ts +12 -0
  189. package/src/model-context/registry.ts +3 -2
  190. package/src/model-context/types.test.ts +25 -0
  191. package/src/model-context/types.ts +9 -4
  192. package/src/react/RuntimeAdapter.test.ts +34 -0
  193. package/src/react/client/InMemoryThreadList.ts +1 -0
  194. package/src/react/client/Interactables.test.ts +28 -0
  195. package/src/react/client/Interactables.ts +15 -13
  196. package/src/react/client/RemoteThreadList.background.test.ts +148 -6
  197. package/src/react/client/RemoteThreadList.concurrent.test.tsx +42 -1
  198. package/src/react/client/RemoteThreadList.test.ts +345 -3
  199. package/src/react/client/RemoteThreadList.ts +166 -110
  200. package/src/react/client/Tools.ts +22 -11
  201. package/src/react/interactables-legacy/Interactables.ts +16 -16
  202. package/src/react/interactables-shared/useInteractablePersistenceQueue.ts +9 -10
  203. package/src/react/model-context/makeAssistantTool.ts +2 -2
  204. package/src/react/model-context/useAssistantTool.ts +2 -2
  205. package/src/react/model-context/useToolArgsStatus.test.tsx +30 -0
  206. package/src/react/model-context/useToolArgsStatus.ts +2 -1
  207. package/src/react/runtimes/RemoteThreadListHookInstanceManager.destroy.test.tsx +172 -0
  208. package/src/react/runtimes/RemoteThreadListHookInstanceManager.running.test.tsx +33 -0
  209. package/src/react/runtimes/RemoteThreadListHookInstanceManager.test.tsx +7 -1
  210. package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +28 -5
  211. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.load-error.test.ts +132 -0
  212. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.switch-delete.test.ts +105 -0
  213. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +136 -111
  214. package/src/react/runtimes/RemoteThreadResource.test.ts +9 -0
  215. package/src/react/runtimes/RemoteThreadResource.ts +19 -12
  216. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +483 -6
  217. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +504 -68
  218. package/src/react/runtimes/cloud/createCloudThreadListAdapter.test.ts +15 -0
  219. package/src/react/runtimes/cloud/createCloudThreadListAdapter.ts +1 -0
  220. package/src/react/runtimes/useExternalStoreRuntime.lifecycle.test.tsx +41 -0
  221. package/src/react/runtimes/useExternalStoreRuntime.ts +10 -4
  222. package/src/react/runtimes/useLocalRuntime.test.tsx +20 -0
  223. package/src/react/runtimes/useRemoteThreadListRuntime.load-error.test.tsx +108 -0
  224. package/src/react/runtimes/useRemoteThreadListRuntime.ts +33 -0
  225. package/src/runtime/api/message-runtime.test.ts +75 -0
  226. package/src/runtime/api/thread-list-item-runtime.ts +10 -3
  227. package/src/runtime/api/thread-list-runtime.ts +21 -11
  228. package/src/runtime/api/thread-runtime.test.ts +78 -0
  229. package/src/runtime/api/thread-runtime.ts +8 -1
  230. package/src/runtime/base/base-composer-runtime-core.ts +36 -8
  231. package/src/runtime/base/base-thread-runtime-core.test.ts +55 -1
  232. package/src/runtime/base/base-thread-runtime-core.ts +6 -4
  233. package/src/runtime/interfaces/composer-runtime-core.ts +10 -5
  234. package/src/runtime/interfaces/thread-list-runtime-core.ts +5 -1
  235. package/src/runtime/utils/external-message-conversion.test.ts +68 -0
  236. package/src/runtime/utils/external-message-conversion.ts +1 -1
  237. package/src/runtime/utils/message-repository.ts +29 -17
  238. package/src/runtime/utils/thread-message-like.ts +1 -1
  239. package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +18 -13
  240. package/src/runtimes/internal.ts +1 -0
  241. package/src/runtimes/remote-thread-list/remote-thread-state.test.ts +128 -2
  242. package/src/runtimes/remote-thread-list/remote-thread-state.ts +182 -42
  243. package/src/runtimes/remote-thread-list/title-generation.test.ts +602 -0
  244. package/src/runtimes/remote-thread-list/title-generation.ts +329 -0
  245. package/src/runtimes/remote-thread-list/title.test.ts +62 -0
  246. package/src/runtimes/remote-thread-list/title.ts +13 -0
  247. package/src/runtimes/remote-thread-list/types.ts +10 -0
  248. package/src/store/clients/external-thread.ts +48 -3
  249. package/src/store/clients/model-context-client.ts +5 -1
  250. package/src/store/clients/single-thread-list.ts +1 -0
  251. package/src/store/clients/suggestions.test.ts +40 -0
  252. package/src/store/clients/suggestions.ts +13 -10
  253. package/src/store/runtime-clients/composer-runtime-client.ts +42 -9
  254. package/src/store/runtime-clients/message-runtime-client.ts +54 -6
  255. package/src/store/runtime-clients/thread-list-item-runtime-client.ts +4 -2
  256. package/src/store/runtime-clients/thread-list-runtime-client.ts +1 -0
  257. package/src/store/runtime-clients/thread-runtime-client.ts +58 -10
  258. package/src/store/scopes/composer.ts +16 -4
  259. package/src/store/scopes/message.ts +14 -0
  260. package/src/store/scopes/thread-list-item.ts +5 -2
  261. package/src/store/scopes/thread.ts +4 -0
  262. package/src/store/scopes/threads.ts +1 -0
  263. package/src/tests/MessageRepository.test.ts +116 -0
  264. package/src/tests/OptimisticState-list-race.test.ts +1 -0
  265. package/src/tests/RemoteThreadListThreadListRuntimeCore-initialize-adapter-change.test.ts +38 -0
  266. package/src/tests/RemoteThreadListThreadListRuntimeCore-load-race.test.ts +47 -0
  267. package/src/tests/RemoteThreadListThreadListRuntimeCore-title-race.test.ts +89 -0
  268. package/src/tests/attachment-adapters.test.ts +14 -0
  269. package/src/tests/base-composer-runtime-core.test.ts +39 -0
  270. package/src/tests/external-store-thread-list-runtime-core.test.ts +83 -0
  271. package/src/tests/external-store-thread-runtime-core-adapter.test.ts +27 -18
  272. package/src/tests/external-thread-attachments.test.tsx +139 -0
  273. package/src/tests/external-thread-parity.test.tsx +23 -0
  274. package/src/tests/remote-thread-list-isLoading.test.ts +1 -0
  275. package/src/tests/thread-list-runtime-getLoadThreadsPromise.test.ts +1 -0
  276. package/src/tests/thread-switch-events.test.tsx +78 -0
  277. package/src/tests/tools-scope-migration.test.tsx +28 -0
  278. package/src/types/attachment.ts +4 -0
  279. package/src/utils/abortable-iterable.test.ts +213 -0
  280. package/src/utils/abortable-iterable.ts +93 -0
  281. package/src/utils/composite-context-provider.test.ts +25 -0
  282. package/src/utils/composite-context-provider.ts +23 -2
  283. package/src/utils/record.test.ts +48 -0
  284. package/src/utils/record.ts +11 -0
@@ -33,7 +33,7 @@ const useThreadListItemClientById = (t0) => {
33
33
  };
34
34
  const ThreadListItemClientById = resource(useThreadListItemClientById);
35
35
  const useThreadListClient = (t0) => {
36
- const $ = c(47);
36
+ const $ = c(48);
37
37
  const { runtime, __internal_assistantRuntime } = t0;
38
38
  const runtimeState = useSubscribable(runtime);
39
39
  useThreadSelectionEvents(runtimeState.mainThreadId);
@@ -82,11 +82,12 @@ const useThreadListClient = (t0) => {
82
82
  const threadItems = useClientLookup(t4);
83
83
  const t5 = runtimeState.newThreadId ?? null;
84
84
  let t6;
85
- if ($[10] !== main.state || $[11] !== runtimeState.archivedThreadIds || $[12] !== runtimeState.hasMore || $[13] !== runtimeState.isLoading || $[14] !== runtimeState.isLoadingMore || $[15] !== runtimeState.mainThreadId || $[16] !== runtimeState.threadIds || $[17] !== t5 || $[18] !== threadItems.state) {
85
+ if ($[10] !== main.state || $[11] !== runtimeState.archivedThreadIds || $[12] !== runtimeState.hasMore || $[13] !== runtimeState.isLoading || $[14] !== runtimeState.isLoadingMore || $[15] !== runtimeState.loadError || $[16] !== runtimeState.mainThreadId || $[17] !== runtimeState.threadIds || $[18] !== t5 || $[19] !== threadItems.state) {
86
86
  t6 = {
87
87
  mainThreadId: runtimeState.mainThreadId,
88
88
  newThreadId: t5,
89
89
  isLoading: runtimeState.isLoading,
90
+ loadError: runtimeState.loadError,
90
91
  isLoadingMore: runtimeState.isLoadingMore,
91
92
  hasMore: runtimeState.hasMore,
92
93
  threadIds: runtimeState.threadIds,
@@ -99,27 +100,28 @@ const useThreadListClient = (t0) => {
99
100
  $[12] = runtimeState.hasMore;
100
101
  $[13] = runtimeState.isLoading;
101
102
  $[14] = runtimeState.isLoadingMore;
102
- $[15] = runtimeState.mainThreadId;
103
- $[16] = runtimeState.threadIds;
104
- $[17] = t5;
105
- $[18] = threadItems.state;
106
- $[19] = t6;
107
- } else t6 = $[19];
103
+ $[15] = runtimeState.loadError;
104
+ $[16] = runtimeState.mainThreadId;
105
+ $[17] = runtimeState.threadIds;
106
+ $[18] = t5;
107
+ $[19] = threadItems.state;
108
+ $[20] = t6;
109
+ } else t6 = $[20];
108
110
  const state = t6;
109
111
  let t7;
110
- if ($[20] !== state) {
112
+ if ($[21] !== state) {
111
113
  t7 = () => state;
112
- $[20] = state;
113
- $[21] = t7;
114
- } else t7 = $[21];
114
+ $[21] = state;
115
+ $[22] = t7;
116
+ } else t7 = $[22];
115
117
  let t8;
116
- if ($[22] !== main.methods) {
118
+ if ($[23] !== main.methods) {
117
119
  t8 = () => main.methods;
118
- $[22] = main.methods;
119
- $[23] = t8;
120
- } else t8 = $[23];
120
+ $[23] = main.methods;
121
+ $[24] = t8;
122
+ } else t8 = $[24];
121
123
  let t9;
122
- if ($[24] !== state || $[25] !== threadItems) {
124
+ if ($[25] !== state || $[26] !== threadItems) {
123
125
  t9 = (threadIdOrOptions) => {
124
126
  if (threadIdOrOptions === "main") return threadItems.get({ key: state.mainThreadId });
125
127
  if ("id" in threadIdOrOptions) return threadItems.get({ key: threadIdOrOptions.id });
@@ -127,46 +129,46 @@ const useThreadListClient = (t0) => {
127
129
  const id_0 = (t10 === void 0 ? false : t10) ? state.archivedThreadIds[index] : state.threadIds[index];
128
130
  return threadItems.get({ key: id_0 });
129
131
  };
130
- $[24] = state;
131
- $[25] = threadItems;
132
- $[26] = t9;
133
- } else t9 = $[26];
132
+ $[25] = state;
133
+ $[26] = threadItems;
134
+ $[27] = t9;
135
+ } else t9 = $[27];
134
136
  let t10;
135
137
  let t11;
136
138
  let t12;
137
139
  let t13;
138
140
  let t14;
139
141
  let t15;
140
- if ($[27] !== runtime) {
142
+ if ($[28] !== runtime) {
141
143
  t10 = (threadId_0, options) => handleThreadListAction("switch", () => runtime.switchToThread(threadId_0, options));
142
144
  t11 = () => handleThreadListAction("create", () => runtime.switchToNewThread());
143
145
  t12 = () => runtime.getLoadThreadsPromise();
144
146
  t13 = () => runtime.reload();
145
147
  t14 = () => runtime.reloadMainThread();
146
148
  t15 = () => runtime.loadMore();
147
- $[27] = runtime;
148
- $[28] = t10;
149
- $[29] = t11;
150
- $[30] = t12;
151
- $[31] = t13;
152
- $[32] = t14;
153
- $[33] = t15;
149
+ $[28] = runtime;
150
+ $[29] = t10;
151
+ $[30] = t11;
152
+ $[31] = t12;
153
+ $[32] = t13;
154
+ $[33] = t14;
155
+ $[34] = t15;
154
156
  } else {
155
- t10 = $[28];
156
- t11 = $[29];
157
- t12 = $[30];
158
- t13 = $[31];
159
- t14 = $[32];
160
- t15 = $[33];
157
+ t10 = $[29];
158
+ t11 = $[30];
159
+ t12 = $[31];
160
+ t13 = $[32];
161
+ t14 = $[33];
162
+ t15 = $[34];
161
163
  }
162
164
  let t16;
163
- if ($[34] !== __internal_assistantRuntime) {
165
+ if ($[35] !== __internal_assistantRuntime) {
164
166
  t16 = () => __internal_assistantRuntime;
165
- $[34] = __internal_assistantRuntime;
166
- $[35] = t16;
167
- } else t16 = $[35];
167
+ $[35] = __internal_assistantRuntime;
168
+ $[36] = t16;
169
+ } else t16 = $[36];
168
170
  let t17;
169
- if ($[36] !== t10 || $[37] !== t11 || $[38] !== t12 || $[39] !== t13 || $[40] !== t14 || $[41] !== t15 || $[42] !== t16 || $[43] !== t7 || $[44] !== t8 || $[45] !== t9) {
171
+ if ($[37] !== t10 || $[38] !== t11 || $[39] !== t12 || $[40] !== t13 || $[41] !== t14 || $[42] !== t15 || $[43] !== t16 || $[44] !== t7 || $[45] !== t8 || $[46] !== t9) {
170
172
  t17 = {
171
173
  getState: t7,
172
174
  thread: t8,
@@ -179,18 +181,18 @@ const useThreadListClient = (t0) => {
179
181
  loadMore: t15,
180
182
  __internal_getAssistantRuntime: t16
181
183
  };
182
- $[36] = t10;
183
- $[37] = t11;
184
- $[38] = t12;
185
- $[39] = t13;
186
- $[40] = t14;
187
- $[41] = t15;
188
- $[42] = t16;
189
- $[43] = t7;
190
- $[44] = t8;
191
- $[45] = t9;
192
- $[46] = t17;
193
- } else t17 = $[46];
184
+ $[37] = t10;
185
+ $[38] = t11;
186
+ $[39] = t12;
187
+ $[40] = t13;
188
+ $[41] = t14;
189
+ $[42] = t15;
190
+ $[43] = t16;
191
+ $[44] = t7;
192
+ $[45] = t8;
193
+ $[46] = t9;
194
+ $[47] = t17;
195
+ } else t17 = $[47];
194
196
  return t17;
195
197
  };
196
198
  const ThreadListClient = resource(useThreadListClient);
@@ -1 +1 @@
1
- {"version":3,"file":"thread-list-runtime-client.js","names":["useEffect","useMemo","useResource","withKey","resource","ClientOutput","useAssistantEmit","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","emit","unstable_subscribeThreadEvents","t3","threadId","type","getState","main","t4","state","threadItems","Object","keys","map","isRunning","t5","newThreadId","t6","archivedThreadIds","hasMore","isLoading","isLoadingMore","threadIds","t7","t8","methods","t9","threadIdOrOptions","get","key","index","archived","t10","undefined","id_0","t11","t12","t13","t14","t15","threadId_0","options","switchToThread","switchToNewThread","getLoadThreadsPromise","reload","reloadMainThread","loadMore","t16","t17","thread","item","__internal_getAssistantRuntime","ThreadListClient"],"sources":["../../../src/store/runtime-clients/thread-list-runtime-client.ts"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport { useResource, withKey, resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport {\n useAssistantEmit,\n useClientLookup,\n useClientResource,\n} 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 emit = useAssistantEmit();\n useEffect(\n () =>\n runtime.unstable_subscribeThreadEvents(({ threadId, type }) => {\n if (threadId === runtime.getState().mainThreadId) return;\n emit(`thread.${type}`, { threadId });\n }),\n [runtime, emit],\n );\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":";;;;;;;;;;AAiBA,MAAMiB,+BAA8BC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,SAAAC,IAAAC,wBAAAL;CAQpC,IAAAM;CAAA,IAAAL,EAAA,OAAAG,MAAAH,EAAA,OAAAE,SAAA;EAESG,KAAAH,QAAOI,YAAaH,EAAE;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAD/B,MAAAO,wBACQF;CAEN,IAAAG;CAAA,IAAAR,EAAA,OAAAI,uBAAAJ,EAAA,OAAAO,uBAAA;EAEAC,KAAAd,qBAAqB;GAAAQ,SACVK;GAAqBH;EAEhC,CAAC;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAJGjB,YACLyB,EAIF;AAAC;AAGH,MAAMC,2BAA2BxB,SAASa,2BAA2B;AAErE,MAAMY,uBAAsBX,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,SAAAS,gCAAAZ;CAO3B,MAAAa,eAAqBnB,gBAAgBS,OAAO;CAC5CZ,yBAAyBsB,aAAYC,YAAa;CAElD,MAAAC,OAAa3B,iBAAiB;CAAE,IAAAkB;CAAA,IAAAG;CAAA,IAAAR,EAAA,OAAAc,QAAAd,EAAA,OAAAE,SAAA;EAE9BG,WACEH,QAAOa,gCAAgCC,OAAA;GAAC,MAAA,EAAAC,UAAAC,SAAAF;GACtC,IAAIC,aAAaf,QAAOiB,SAAU,CAAC,CAAAN,cAAa;GAChDC,KAAK,UAAUI,QAAQ,EAAAD,SAAW,CAAC;EAAC,CACrC;EACHT,KAAA,CAACN,SAASY,IAAI;EAACd,EAAA,KAAAc;EAAAd,EAAA,KAAAE;EAAAF,EAAA,KAAAK;EAAAL,EAAA,KAAAQ;CAAA,OAAA;EAAAH,KAAAL,EAAA;EAAAQ,KAAAR,EAAA;CAAA;CANjBnB,UACEwB,IAKAG,EACF;CAAC,IAAAQ;CAAA,IAAAhB,EAAA,OAAAE,QAAAkB,MAAA;EAGCJ,KAAArB,aAAa,EAAAO,SACFA,QAAOkB,KAClB,CAAC;EAACpB,EAAA,KAAAE,QAAAkB;EAAApB,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAHJ,MAAAoB,OAAa/B,kBACX2B,EAGF;CAAE,IAAAK;CAAA,IAAArB,EAAA,OAAAoB,KAAAE,SAAAtB,EAAA,OAAAE,WAAAF,EAAA,OAAAY,aAAAW,aAAA;EAEAF,KAAAG,OAAMC,KAAMb,aAAYW,WAAY,CAAC,CAAAG,KAAKvB,OACxCnB,QACEmB,IACAM,yBAAyB;GAAAP;GAAAC;GAAAC,qBAGFgB,KAAIE,MAAMK;EACjC,CAAC,GACD;GAACzB;GAASC;GAAIiB,KAAIE,MAAMK;EAAU,CACpC,CACF;EAAC3B,EAAA,KAAAoB,KAAAE;EAAAtB,EAAA,KAAAE;EAAAF,EAAA,KAAAY,aAAAW;EAAAvB,EAAA,KAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAXH,MAAAuB,cAAoBnC,gBAClBiC,EAWF;CAKiB,MAAAO,KAAAhB,aAAYiB,eAAZ;CAAgC,IAAAC;CAAA,IAAA9B,EAAA,QAAAoB,KAAAE,SAAAtB,EAAA,QAAAY,aAAAmB,qBAAA/B,EAAA,QAAAY,aAAAoB,WAAAhC,EAAA,QAAAY,aAAAqB,aAAAjC,EAAA,QAAAY,aAAAsB,iBAAAlC,EAAA,QAAAY,aAAAC,gBAAAb,EAAA,QAAAY,aAAAuB,aAAAnC,EAAA,QAAA4B,MAAA5B,EAAA,QAAAuB,YAAAD,OAAA;EAFxCQ,KAAA;GAAAjB,cACSD,aAAYC;GAAagB,aAC1BD;GAAgCK,WAClCrB,aAAYqB;GAAUC,eAClBtB,aAAYsB;GAAcF,SAChCpB,aAAYoB;GAAQG,WAClBvB,aAAYuB;GAAUJ,mBACdnB,aAAYmB;GAAkBR,aACpCA,YAAWD;GAAMF,MAExBA,KAAIE;EACZ;EAACtB,EAAA,MAAAoB,KAAAE;EAAAtB,EAAA,MAAAY,aAAAmB;EAAA/B,EAAA,MAAAY,aAAAoB;EAAAhC,EAAA,MAAAY,aAAAqB;EAAAjC,EAAA,MAAAY,aAAAsB;EAAAlC,EAAA,MAAAY,aAAAC;EAAAb,EAAA,MAAAY,aAAAuB;EAAAnC,EAAA,MAAA4B;EAAA5B,EAAA,MAAAuB,YAAAD;EAAAtB,EAAA,MAAA8B;CAAA,OAAAA,KAAA9B,EAAA;CAZH,MAAAsB,QACEQ;CAYgD,IAAAM;CAAA,IAAApC,EAAA,QAAAsB,OAAA;EAGtCc,WAAMd;EAAKtB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAoC;CAAA,OAAAA,KAAApC,EAAA;CAAA,IAAAqC;CAAA,IAAArC,EAAA,QAAAoB,KAAAkB,SAAA;EACbD,WAAMjB,KAAIkB;EAAQtC,EAAA,MAAAoB,KAAAkB;EAAAtC,EAAA,MAAAqC;CAAA,OAAAA,KAAArC,EAAA;CAAA,IAAAuC;CAAA,IAAAvC,EAAA,QAAAsB,SAAAtB,EAAA,QAAAuB,aAAA;EACpBgB,MAAAC,sBAAA;GACJ,IAAIA,sBAAsB,QAAM,OACvBjB,YAAWkB,IAAK,EAAAC,KAAOpB,MAAKT,aAAc,CAAC;GAGpD,IAAI,QAAQ2B,mBAAiB,OACpBjB,YAAWkB,IAAK,EAAAC,KAAOF,kBAAiBrC,GAAI,CAAC;GAGtD,MAAA,EAAAwC,OAAAC,UAAAC,QAAoCL;GACpC,MAAAO,QADeF,QAAAC,KAAAA,IAAA,QAAAD,OAEXvB,MAAKS,kBAAmBY,SACxBrB,MAAKa,UAAWQ;GAAQ,OACrBpB,YAAWkB,IAAK,EAAAC,KAAOvC,KAAG,CAAC;EAAC;EACpCH,EAAA,MAAAsB;EAAAtB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAuC;CAAA,OAAAA,KAAAvC,EAAA;CAAA,IAAA6C;CAAA,IAAAG;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAApD,EAAA,QAAAE,SAAA;EACe2C,OAAAQ,YAAAC,YACdzD,uBAAuB,gBACrBK,QAAOqD,eAAgBtC,YAAUqC,OAAO,CAC1C;EACiBN,YACjBnD,uBAAuB,gBAAgBK,QAAOsD,kBAAmB,CAAC;EAC7CP,YAAM/C,QAAOuD,sBAAuB;EACnDP,YAAMhD,QAAOwD,OAAQ;EACXP,YAAMjD,QAAOyD,iBAAkB;EACvCP,YAAMlD,QAAO0D,SAAU;EAAC5D,EAAA,MAAAE;EAAAF,EAAA,MAAA6C;EAAA7C,EAAA,MAAAgD;EAAAhD,EAAA,MAAAiD;EAAAjD,EAAA,MAAAkD;EAAAlD,EAAA,MAAAmD;EAAAnD,EAAA,MAAAoD;CAAA,OAAA;EAAAP,MAAA7C,EAAA;EAAAgD,MAAAhD,EAAA;EAAAiD,MAAAjD,EAAA;EAAAkD,MAAAlD,EAAA;EAAAmD,MAAAnD,EAAA;EAAAoD,MAAApD,EAAA;CAAA;CAAA,IAAA6D;CAAA,IAAA7D,EAAA,QAAAW,6BAAA;EACFkD,YAAMlD;EAA2BX,EAAA,MAAAW;EAAAX,EAAA,MAAA6D;CAAA,OAAAA,MAAA7D,EAAA;CAAA,IAAA8D;CAAA,IAAA9D,EAAA,QAAA6C,OAAA7C,EAAA,QAAAgD,OAAAhD,EAAA,QAAAiD,OAAAjD,EAAA,QAAAkD,OAAAlD,EAAA,QAAAmD,OAAAnD,EAAA,QAAAoD,OAAApD,EAAA,QAAA6D,OAAA7D,EAAA,QAAAoC,MAAApC,EAAA,QAAAqC,MAAArC,EAAA,QAAAuC,IAAA;EA5B5DuB,MAAA;GAAA3C,UACKiB;GAAW2B,QACb1B;GAAkB2B,MACpBzB;GAcLgB,gBACeV;GAGbW,mBACgBR;GACkDS,uBAC9CR;GAAqCS,QACpDR;GAAsBS,kBACZR;GAAgCS,UACxCR;GAAwBa,gCACFJ;EAClC;EAAC7D,EAAA,MAAA6C;EAAA7C,EAAA,MAAAgD;EAAAhD,EAAA,MAAAiD;EAAAjD,EAAA,MAAAkD;EAAAlD,EAAA,MAAAmD;EAAAnD,EAAA,MAAAoD;EAAApD,EAAA,MAAA6D;EAAA7D,EAAA,MAAAoC;EAAApC,EAAA,MAAAqC;EAAArC,EAAA,MAAAuC;EAAAvC,EAAA,MAAA8D;CAAA,OAAAA,MAAA9D,EAAA;CAAA,OA7BM8D;AA6BN;AAGH,MAAaI,mBAAmBjF,SAASyB,mBAAmB"}
1
+ {"version":3,"file":"thread-list-runtime-client.js","names":["useEffect","useMemo","useResource","withKey","resource","ClientOutput","useAssistantEmit","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","emit","unstable_subscribeThreadEvents","t3","threadId","type","getState","main","t4","state","threadItems","Object","keys","map","isRunning","t5","newThreadId","t6","archivedThreadIds","hasMore","isLoading","isLoadingMore","loadError","threadIds","t7","t8","methods","t9","threadIdOrOptions","get","key","index","archived","t10","undefined","id_0","t11","t12","t13","t14","t15","threadId_0","options","switchToThread","switchToNewThread","getLoadThreadsPromise","reload","reloadMainThread","loadMore","t16","t17","thread","item","__internal_getAssistantRuntime","ThreadListClient"],"sources":["../../../src/store/runtime-clients/thread-list-runtime-client.ts"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport { useResource, withKey, resource } from \"@assistant-ui/tap\";\nimport type { ClientOutput } from \"@assistant-ui/store\";\nimport {\n useAssistantEmit,\n useClientLookup,\n useClientResource,\n} 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 emit = useAssistantEmit();\n useEffect(\n () =>\n runtime.unstable_subscribeThreadEvents(({ threadId, type }) => {\n if (threadId === runtime.getState().mainThreadId) return;\n emit(`thread.${type}`, { threadId });\n }),\n [runtime, emit],\n );\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 loadError: runtimeState.loadError,\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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"thread-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-runtime-client.ts"],"mappings":";;;cAgJa,0CAAY,SAAA;EAxGd,SAAA"}
1
+ {"version":3,"file":"thread-runtime-client.d.ts","names":[],"sources":["../../../src/store/runtime-clients/thread-runtime-client.ts"],"mappings":";;;cAgMa,0CAAY,SAAA;EAjJd,SAAA"}
@@ -9,8 +9,8 @@ import { useEffect } from "@assistant-ui/tap/react-shim";
9
9
  import { resource, useResource, withKey } from "@assistant-ui/tap";
10
10
  //#region src/store/runtime-clients/thread-runtime-client.ts
11
11
  const useMessageClientById = (t0) => {
12
- const $ = c(6);
13
- const { runtime, id, threadIdRef } = t0;
12
+ const $ = c(7);
13
+ const { runtime, id, threadIdRef, threadId } = t0;
14
14
  let t1;
15
15
  if ($[0] !== id || $[1] !== runtime) {
16
16
  t1 = runtime.getMessageById(id);
@@ -20,20 +20,22 @@ const useMessageClientById = (t0) => {
20
20
  } else t1 = $[2];
21
21
  const messageRuntime = t1;
22
22
  let t2;
23
- if ($[3] !== messageRuntime || $[4] !== threadIdRef) {
23
+ if ($[3] !== messageRuntime || $[4] !== threadId || $[5] !== threadIdRef) {
24
24
  t2 = MessageClient({
25
25
  runtime: messageRuntime,
26
- threadIdRef
26
+ threadIdRef,
27
+ threadId
27
28
  });
28
29
  $[3] = messageRuntime;
29
- $[4] = threadIdRef;
30
- $[5] = t2;
31
- } else t2 = $[5];
30
+ $[4] = threadId;
31
+ $[5] = threadIdRef;
32
+ $[6] = t2;
33
+ } else t2 = $[6];
32
34
  return useResource(t2);
33
35
  };
34
36
  const MessageClientById = resource(useMessageClientById);
35
37
  const useThreadClient = (t0) => {
36
- const $ = c(64);
38
+ const $ = c(83);
37
39
  const { runtime } = t0;
38
40
  const runtimeState = useSubscribable(runtime);
39
41
  const emit = useAssistantEmit();
@@ -76,52 +78,75 @@ const useThreadClient = (t0) => {
76
78
  } else t3 = $[5];
77
79
  const threadIdRef = t3;
78
80
  let t4;
79
- if ($[6] !== runtime.composer || $[7] !== threadIdRef) {
80
- t4 = ComposerClient({
81
- runtime: runtime.composer,
82
- threadIdRef
83
- });
84
- $[6] = runtime.composer;
85
- $[7] = threadIdRef;
81
+ if ($[6] !== emit || $[7] !== runtime) {
82
+ t4 = (event_0) => {
83
+ emit(event_0, { threadId: runtime.getState().threadId });
84
+ };
85
+ $[6] = emit;
86
+ $[7] = runtime;
86
87
  $[8] = t4;
87
88
  } else t4 = $[8];
88
- const composer = useClientResource(t4);
89
+ const emitThreadEvent = t4;
89
90
  let t5;
90
- if ($[9] !== runtimeState.suggestions) {
91
- t5 = ThreadSuggestions(runtimeState.suggestions);
92
- $[9] = runtimeState.suggestions;
91
+ if ($[9] !== runtime) {
92
+ t5 = (text) => runtime.getState().suggestions.some((suggestion) => suggestion.prompt === text);
93
+ $[9] = runtime;
93
94
  $[10] = t5;
94
95
  } else t5 = $[10];
95
- const suggestions = useClientResource(t5);
96
+ const isSuggestion = t5;
96
97
  let t6;
97
- if ($[11] !== runtime || $[12] !== runtimeState.messages || $[13] !== threadIdRef) {
98
- let t7;
99
- if ($[15] !== runtime || $[16] !== threadIdRef) {
100
- t7 = (m) => withKey(m.id, MessageClientById({
98
+ if ($[11] !== isSuggestion || $[12] !== runtime.composer || $[13] !== threadIdRef) {
99
+ t6 = ComposerClient({
100
+ runtime: runtime.composer,
101
+ threadIdRef,
102
+ isSuggestion
103
+ });
104
+ $[11] = isSuggestion;
105
+ $[12] = runtime.composer;
106
+ $[13] = threadIdRef;
107
+ $[14] = t6;
108
+ } else t6 = $[14];
109
+ const composer = useClientResource(t6);
110
+ let t7;
111
+ if ($[15] !== runtimeState.suggestions) {
112
+ t7 = ThreadSuggestions(runtimeState.suggestions);
113
+ $[15] = runtimeState.suggestions;
114
+ $[16] = t7;
115
+ } else t7 = $[16];
116
+ const suggestions = useClientResource(t7);
117
+ let t8;
118
+ if ($[17] !== runtime || $[18] !== runtimeState.messages || $[19] !== runtimeState.threadId || $[20] !== threadIdRef) {
119
+ let t9;
120
+ if ($[22] !== runtime || $[23] !== runtimeState.threadId || $[24] !== threadIdRef) {
121
+ t9 = (m) => withKey(m.id, MessageClientById({
101
122
  runtime,
102
123
  id: m.id,
103
- threadIdRef
124
+ threadIdRef,
125
+ threadId: runtimeState.threadId
104
126
  }), [
105
127
  runtime,
106
128
  m.id,
107
- threadIdRef
129
+ threadIdRef,
130
+ runtimeState.threadId
108
131
  ]);
109
- $[15] = runtime;
110
- $[16] = threadIdRef;
111
- $[17] = t7;
112
- } else t7 = $[17];
113
- t6 = runtimeState.messages.map(t7);
114
- $[11] = runtime;
115
- $[12] = runtimeState.messages;
116
- $[13] = threadIdRef;
117
- $[14] = t6;
118
- } else t6 = $[14];
119
- const messages = useClientLookup(t6);
120
- const t7 = messages.state.length === 0 && !runtimeState.isLoading;
121
- let t8;
122
- if ($[18] !== composer.state || $[19] !== messages.state || $[20] !== runtimeState.capabilities || $[21] !== runtimeState.extras || $[22] !== runtimeState.isDisabled || $[23] !== runtimeState.isLoading || $[24] !== runtimeState.isRunning || $[25] !== runtimeState.speech || $[26] !== runtimeState.state || $[27] !== runtimeState.suggestions || $[28] !== runtimeState.voice || $[29] !== t7) {
123
- t8 = {
124
- isEmpty: t7,
132
+ $[22] = runtime;
133
+ $[23] = runtimeState.threadId;
134
+ $[24] = threadIdRef;
135
+ $[25] = t9;
136
+ } else t9 = $[25];
137
+ t8 = runtimeState.messages.map(t9);
138
+ $[17] = runtime;
139
+ $[18] = runtimeState.messages;
140
+ $[19] = runtimeState.threadId;
141
+ $[20] = threadIdRef;
142
+ $[21] = t8;
143
+ } else t8 = $[21];
144
+ const messages = useClientLookup(t8);
145
+ const t9 = messages.state.length === 0 && !runtimeState.isLoading;
146
+ let t10;
147
+ if ($[26] !== composer.state || $[27] !== messages.state || $[28] !== runtimeState.capabilities || $[29] !== runtimeState.extras || $[30] !== runtimeState.isDisabled || $[31] !== runtimeState.isLoading || $[32] !== runtimeState.isRunning || $[33] !== runtimeState.speech || $[34] !== runtimeState.state || $[35] !== runtimeState.suggestions || $[36] !== runtimeState.voice || $[37] !== t9) {
148
+ t10 = {
149
+ isEmpty: t9,
125
150
  isDisabled: runtimeState.isDisabled,
126
151
  isLoading: runtimeState.isLoading,
127
152
  isRunning: runtimeState.isRunning,
@@ -134,107 +159,154 @@ const useThreadClient = (t0) => {
134
159
  composer: composer.state,
135
160
  messages: messages.state
136
161
  };
137
- $[18] = composer.state;
138
- $[19] = messages.state;
139
- $[20] = runtimeState.capabilities;
140
- $[21] = runtimeState.extras;
141
- $[22] = runtimeState.isDisabled;
142
- $[23] = runtimeState.isLoading;
143
- $[24] = runtimeState.isRunning;
144
- $[25] = runtimeState.speech;
145
- $[26] = runtimeState.state;
146
- $[27] = runtimeState.suggestions;
147
- $[28] = runtimeState.voice;
148
- $[29] = t7;
149
- $[30] = t8;
150
- } else t8 = $[30];
151
- const state = t8;
152
- let t9;
153
- if ($[31] !== state) {
154
- t9 = () => state;
155
- $[31] = state;
156
- $[32] = t9;
157
- } else t9 = $[32];
158
- let t10;
159
- if ($[33] !== composer.methods) {
160
- t10 = () => composer.methods;
161
- $[33] = composer.methods;
162
- $[34] = t10;
163
- } else t10 = $[34];
162
+ $[26] = composer.state;
163
+ $[27] = messages.state;
164
+ $[28] = runtimeState.capabilities;
165
+ $[29] = runtimeState.extras;
166
+ $[30] = runtimeState.isDisabled;
167
+ $[31] = runtimeState.isLoading;
168
+ $[32] = runtimeState.isRunning;
169
+ $[33] = runtimeState.speech;
170
+ $[34] = runtimeState.state;
171
+ $[35] = runtimeState.suggestions;
172
+ $[36] = runtimeState.voice;
173
+ $[37] = t9;
174
+ $[38] = t10;
175
+ } else t10 = $[38];
176
+ const state = t10;
164
177
  let t11;
165
- if ($[35] !== suggestions) {
166
- t11 = () => suggestions.methods;
167
- $[35] = suggestions;
168
- $[36] = t11;
169
- } else t11 = $[36];
178
+ if ($[39] !== state) {
179
+ t11 = () => state;
180
+ $[39] = state;
181
+ $[40] = t11;
182
+ } else t11 = $[40];
170
183
  let t12;
171
- if ($[37] !== messages) {
172
- t12 = (selector) => {
184
+ if ($[41] !== composer.methods) {
185
+ t12 = () => composer.methods;
186
+ $[41] = composer.methods;
187
+ $[42] = t12;
188
+ } else t12 = $[42];
189
+ let t13;
190
+ if ($[43] !== suggestions) {
191
+ t13 = () => suggestions.methods;
192
+ $[43] = suggestions;
193
+ $[44] = t13;
194
+ } else t13 = $[44];
195
+ let t14;
196
+ if ($[45] !== emit || $[46] !== isSuggestion || $[47] !== runtime) {
197
+ t14 = (message) => {
198
+ const appended = typeof message === "string" ? { content: [{
199
+ type: "text",
200
+ text: message
201
+ }] } : message;
202
+ if ((appended.role ?? "user") === "user") {
203
+ const text_0 = appended.content.map(_temp).join("");
204
+ emit("composer.send", {
205
+ threadId: runtime.getState().threadId,
206
+ chars: text_0.length,
207
+ attachments: appended.attachments?.length ?? 0,
208
+ ...isSuggestion(text_0) ? { suggestion: true } : void 0
209
+ });
210
+ }
211
+ runtime.append(message);
212
+ };
213
+ $[45] = emit;
214
+ $[46] = isSuggestion;
215
+ $[47] = runtime;
216
+ $[48] = t14;
217
+ } else t14 = $[48];
218
+ let t15;
219
+ if ($[49] !== emitThreadEvent || $[50] !== runtime || $[51] !== runtimeState.isRunning) {
220
+ t15 = () => {
221
+ if (runtimeState.isRunning) emitThreadEvent("thread.cancelRun");
222
+ runtime.cancelRun();
223
+ };
224
+ $[49] = emitThreadEvent;
225
+ $[50] = runtime;
226
+ $[51] = runtimeState.isRunning;
227
+ $[52] = t15;
228
+ } else t15 = $[52];
229
+ let t16;
230
+ if ($[53] !== emitThreadEvent || $[54] !== runtime) {
231
+ t16 = () => {
232
+ runtime.connectVoice();
233
+ emitThreadEvent("thread.voiceStarted");
234
+ };
235
+ $[53] = emitThreadEvent;
236
+ $[54] = runtime;
237
+ $[55] = t16;
238
+ } else t16 = $[55];
239
+ let t17;
240
+ if ($[56] !== messages) {
241
+ t17 = (selector) => {
173
242
  if ("id" in selector) return messages.get({ key: selector.id });
174
243
  else return messages.get(selector);
175
244
  };
176
- $[37] = messages;
177
- $[38] = t12;
178
- } else t12 = $[38];
179
- let t13;
180
- if ($[39] !== runtime) {
181
- t13 = () => runtime;
182
- $[39] = runtime;
183
- $[40] = t13;
184
- } else t13 = $[40];
185
- let t14;
186
- if ($[41] !== runtime.append || $[42] !== runtime.cancelRun || $[43] !== runtime.connectVoice || $[44] !== runtime.deleteMessage || $[45] !== runtime.disconnectVoice || $[46] !== runtime.export || $[47] !== runtime.getModelContext || $[48] !== runtime.getVoiceVolume || $[49] !== runtime.import || $[50] !== runtime.importExternalState || $[51] !== runtime.muteVoice || $[52] !== runtime.reset || $[53] !== runtime.resumeRun || $[54] !== runtime.startRun || $[55] !== runtime.stopSpeaking || $[56] !== runtime.subscribeVoiceVolume || $[57] !== runtime.unmuteVoice || $[58] !== t10 || $[59] !== t11 || $[60] !== t12 || $[61] !== t13 || $[62] !== t9) {
187
- t14 = {
188
- getState: t9,
189
- composer: t10,
190
- suggestions: t11,
191
- append: runtime.append,
245
+ $[56] = messages;
246
+ $[57] = t17;
247
+ } else t17 = $[57];
248
+ let t18;
249
+ if ($[58] !== runtime) {
250
+ t18 = () => runtime;
251
+ $[58] = runtime;
252
+ $[59] = t18;
253
+ } else t18 = $[59];
254
+ let t19;
255
+ if ($[60] !== runtime.deleteMessage || $[61] !== runtime.disconnectVoice || $[62] !== runtime.export || $[63] !== runtime.getModelContext || $[64] !== runtime.getVoiceVolume || $[65] !== runtime.import || $[66] !== runtime.importExternalState || $[67] !== runtime.muteVoice || $[68] !== runtime.reset || $[69] !== runtime.resumeRun || $[70] !== runtime.startRun || $[71] !== runtime.stopSpeaking || $[72] !== runtime.subscribeVoiceVolume || $[73] !== runtime.unmuteVoice || $[74] !== t11 || $[75] !== t12 || $[76] !== t13 || $[77] !== t14 || $[78] !== t15 || $[79] !== t16 || $[80] !== t17 || $[81] !== t18) {
256
+ t19 = {
257
+ getState: t11,
258
+ composer: t12,
259
+ suggestions: t13,
260
+ append: t14,
192
261
  deleteMessage: runtime.deleteMessage,
193
262
  startRun: runtime.startRun,
194
263
  resumeRun: runtime.resumeRun,
195
264
  importExternalState: runtime.importExternalState,
196
- cancelRun: runtime.cancelRun,
265
+ cancelRun: t15,
197
266
  getModelContext: runtime.getModelContext,
198
267
  export: runtime.export,
199
268
  import: runtime.import,
200
269
  reset: runtime.reset,
201
270
  stopSpeaking: runtime.stopSpeaking,
202
- connectVoice: runtime.connectVoice,
271
+ connectVoice: t16,
203
272
  disconnectVoice: runtime.disconnectVoice,
204
273
  getVoiceVolume: runtime.getVoiceVolume,
205
274
  subscribeVoiceVolume: runtime.subscribeVoiceVolume,
206
275
  muteVoice: runtime.muteVoice,
207
276
  unmuteVoice: runtime.unmuteVoice,
208
- message: t12,
209
- __internal_getRuntime: t13
277
+ message: t17,
278
+ __internal_getRuntime: t18
210
279
  };
211
- $[41] = runtime.append;
212
- $[42] = runtime.cancelRun;
213
- $[43] = runtime.connectVoice;
214
- $[44] = runtime.deleteMessage;
215
- $[45] = runtime.disconnectVoice;
216
- $[46] = runtime.export;
217
- $[47] = runtime.getModelContext;
218
- $[48] = runtime.getVoiceVolume;
219
- $[49] = runtime.import;
220
- $[50] = runtime.importExternalState;
221
- $[51] = runtime.muteVoice;
222
- $[52] = runtime.reset;
223
- $[53] = runtime.resumeRun;
224
- $[54] = runtime.startRun;
225
- $[55] = runtime.stopSpeaking;
226
- $[56] = runtime.subscribeVoiceVolume;
227
- $[57] = runtime.unmuteVoice;
228
- $[58] = t10;
229
- $[59] = t11;
230
- $[60] = t12;
231
- $[61] = t13;
232
- $[62] = t9;
233
- $[63] = t14;
234
- } else t14 = $[63];
235
- return t14;
280
+ $[60] = runtime.deleteMessage;
281
+ $[61] = runtime.disconnectVoice;
282
+ $[62] = runtime.export;
283
+ $[63] = runtime.getModelContext;
284
+ $[64] = runtime.getVoiceVolume;
285
+ $[65] = runtime.import;
286
+ $[66] = runtime.importExternalState;
287
+ $[67] = runtime.muteVoice;
288
+ $[68] = runtime.reset;
289
+ $[69] = runtime.resumeRun;
290
+ $[70] = runtime.startRun;
291
+ $[71] = runtime.stopSpeaking;
292
+ $[72] = runtime.subscribeVoiceVolume;
293
+ $[73] = runtime.unmuteVoice;
294
+ $[74] = t11;
295
+ $[75] = t12;
296
+ $[76] = t13;
297
+ $[77] = t14;
298
+ $[78] = t15;
299
+ $[79] = t16;
300
+ $[80] = t17;
301
+ $[81] = t18;
302
+ $[82] = t19;
303
+ } else t19 = $[82];
304
+ return t19;
236
305
  };
237
306
  const ThreadClient = resource(useThreadClient);
307
+ function _temp(part) {
308
+ return part.type === "text" ? part.text : "";
309
+ }
238
310
  //#endregion
239
311
  export { ThreadClient };
240
312