@assistant-ui/react 0.10.49 → 0.11.0

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 (542) hide show
  1. package/dist/api/AttachmentRuntime.d.ts.map +1 -1
  2. package/dist/api/AttachmentRuntime.js +1 -0
  3. package/dist/api/AttachmentRuntime.js.map +1 -1
  4. package/dist/api/ComposerRuntime.d.ts +5 -2
  5. package/dist/api/ComposerRuntime.d.ts.map +1 -1
  6. package/dist/api/ComposerRuntime.js +4 -6
  7. package/dist/api/ComposerRuntime.js.map +1 -1
  8. package/dist/api/MessagePartRuntime.d.ts.map +1 -1
  9. package/dist/api/MessagePartRuntime.js +1 -0
  10. package/dist/api/MessagePartRuntime.js.map +1 -1
  11. package/dist/api/MessageRuntime.d.ts.map +1 -1
  12. package/dist/api/MessageRuntime.js +1 -0
  13. package/dist/api/MessageRuntime.js.map +1 -1
  14. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -1
  15. package/dist/api/ThreadListItemRuntime.js +5 -0
  16. package/dist/api/ThreadListItemRuntime.js.map +1 -1
  17. package/dist/api/ThreadListRuntime.d.ts +2 -3
  18. package/dist/api/ThreadListRuntime.d.ts.map +1 -1
  19. package/dist/api/ThreadListRuntime.js +6 -7
  20. package/dist/api/ThreadListRuntime.js.map +1 -1
  21. package/dist/api/ThreadRuntime.d.ts +6 -6
  22. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  23. package/dist/api/ThreadRuntime.js +5 -4
  24. package/dist/api/ThreadRuntime.js.map +1 -1
  25. package/dist/client/AssistantRuntimeClient.d.ts +86 -0
  26. package/dist/client/AssistantRuntimeClient.d.ts.map +1 -0
  27. package/dist/client/AssistantRuntimeClient.js +138 -0
  28. package/dist/client/AssistantRuntimeClient.js.map +1 -0
  29. package/dist/client/AttachmentClient.d.ts +6 -0
  30. package/dist/client/AttachmentClient.d.ts.map +1 -0
  31. package/dist/client/AttachmentClient.js +1 -0
  32. package/dist/client/AttachmentClient.js.map +1 -0
  33. package/dist/client/ComposerClient.d.ts +42 -0
  34. package/dist/client/ComposerClient.d.ts.map +1 -0
  35. package/dist/client/ComposerClient.js +76 -0
  36. package/dist/client/ComposerClient.js.map +1 -0
  37. package/dist/client/EventManagerClient.d.ts +9 -0
  38. package/dist/client/EventManagerClient.d.ts.map +1 -0
  39. package/dist/client/EventManagerClient.js +40 -0
  40. package/dist/client/EventManagerClient.js.map +1 -0
  41. package/dist/client/MessageClient.d.ts +67 -0
  42. package/dist/client/MessageClient.d.ts.map +1 -0
  43. package/dist/client/MessageClient.js +108 -0
  44. package/dist/client/MessageClient.js.map +1 -0
  45. package/dist/client/MessagePartClient.d.ts +21 -0
  46. package/dist/client/MessagePartClient.d.ts.map +1 -0
  47. package/dist/client/MessagePartClient.js +25 -0
  48. package/dist/client/MessagePartClient.js.map +1 -0
  49. package/dist/client/ThreadClient.d.ts +111 -0
  50. package/dist/client/ThreadClient.d.ts.map +1 -0
  51. package/dist/client/ThreadClient.js +126 -0
  52. package/dist/client/ThreadClient.js.map +1 -0
  53. package/dist/client/ThreadListClient.d.ts +33 -0
  54. package/dist/client/ThreadListClient.d.ts.map +1 -0
  55. package/dist/client/ThreadListClient.js +87 -0
  56. package/dist/client/ThreadListClient.js.map +1 -0
  57. package/dist/client/ThreadListItemClient.d.ts +32 -0
  58. package/dist/client/ThreadListItemClient.d.ts.map +1 -0
  59. package/dist/client/ThreadListItemClient.js +53 -0
  60. package/dist/client/ThreadListItemClient.js.map +1 -0
  61. package/dist/client/util-hooks/tapLookupResources.d.ts +16 -0
  62. package/dist/client/util-hooks/tapLookupResources.d.ts.map +1 -0
  63. package/dist/client/util-hooks/tapLookupResources.js +21 -0
  64. package/dist/client/util-hooks/tapLookupResources.js.map +1 -0
  65. package/dist/client/util-hooks/tapSubscribable.d.ts +3 -0
  66. package/dist/client/util-hooks/tapSubscribable.d.ts.map +1 -0
  67. package/dist/client/util-hooks/tapSubscribable.js +16 -0
  68. package/dist/client/util-hooks/tapSubscribable.js.map +1 -0
  69. package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  70. package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +21 -12
  71. package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  72. package/dist/context/providers/AssistantRuntimeProvider.d.ts +3 -3
  73. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -1
  74. package/dist/context/providers/AssistantRuntimeProvider.js +14 -42
  75. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  76. package/dist/context/providers/AttachmentProvider.d.ts +8 -0
  77. package/dist/context/providers/AttachmentProvider.d.ts.map +1 -0
  78. package/dist/context/providers/AttachmentProvider.js +41 -0
  79. package/dist/context/providers/AttachmentProvider.js.map +1 -0
  80. package/dist/context/providers/MessageProvider.d.ts +5 -0
  81. package/dist/context/providers/MessageProvider.d.ts.map +1 -0
  82. package/dist/context/providers/MessageProvider.js +47 -0
  83. package/dist/context/providers/MessageProvider.js.map +1 -0
  84. package/dist/context/providers/PartProvider.d.ts +5 -0
  85. package/dist/context/providers/PartProvider.d.ts.map +1 -0
  86. package/dist/context/providers/PartProvider.js +27 -0
  87. package/dist/context/providers/PartProvider.js.map +1 -0
  88. package/dist/context/providers/TextMessagePartProvider.d.ts +5 -8
  89. package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
  90. package/dist/context/providers/TextMessagePartProvider.js +42 -53
  91. package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
  92. package/dist/context/providers/ThreadListItemProvider.d.ts +9 -0
  93. package/dist/context/providers/ThreadListItemProvider.d.ts.map +1 -0
  94. package/dist/context/providers/ThreadListItemProvider.js +65 -0
  95. package/dist/context/providers/ThreadListItemProvider.js.map +1 -0
  96. package/dist/context/providers/index.d.ts +4 -1
  97. package/dist/context/providers/index.d.ts.map +1 -1
  98. package/dist/context/providers/index.js +17 -3
  99. package/dist/context/providers/index.js.map +1 -1
  100. package/dist/context/react/AssistantApiContext.d.ts +112 -0
  101. package/dist/context/react/AssistantApiContext.d.ts.map +1 -0
  102. package/dist/context/react/AssistantApiContext.js +197 -0
  103. package/dist/context/react/AssistantApiContext.js.map +1 -0
  104. package/dist/context/react/index.d.ts +9 -12
  105. package/dist/context/react/index.d.ts.map +1 -1
  106. package/dist/context/react/index.js +38 -33
  107. package/dist/context/react/index.js.map +1 -1
  108. package/dist/context/react/legacy/AssistantContext.d.ts +58 -0
  109. package/dist/context/react/legacy/AssistantContext.d.ts.map +1 -0
  110. package/dist/context/react/legacy/AssistantContext.js +20 -0
  111. package/dist/context/react/legacy/AssistantContext.js.map +1 -0
  112. package/dist/context/react/{AttachmentContext.d.ts → legacy/AttachmentContext.d.ts} +133 -139
  113. package/dist/context/react/legacy/AttachmentContext.d.ts.map +1 -0
  114. package/dist/context/react/{AttachmentContext.js → legacy/AttachmentContext.js} +9 -15
  115. package/dist/context/react/legacy/AttachmentContext.js.map +1 -0
  116. package/dist/context/react/{ComposerContext.d.ts → legacy/ComposerContext.d.ts} +12 -12
  117. package/dist/context/react/legacy/ComposerContext.d.ts.map +1 -0
  118. package/dist/context/react/legacy/ComposerContext.js +19 -0
  119. package/dist/context/react/legacy/ComposerContext.js.map +1 -0
  120. package/dist/context/react/{MessageContext.d.ts → legacy/MessageContext.d.ts} +23 -47
  121. package/dist/context/react/legacy/MessageContext.d.ts.map +1 -0
  122. package/dist/context/react/legacy/MessageContext.js +24 -0
  123. package/dist/context/react/legacy/MessageContext.js.map +1 -0
  124. package/dist/context/react/legacy/MessagePartContext.d.ts +35 -0
  125. package/dist/context/react/legacy/MessagePartContext.d.ts.map +1 -0
  126. package/dist/context/react/legacy/MessagePartContext.js +19 -0
  127. package/dist/context/react/legacy/MessagePartContext.js.map +1 -0
  128. package/dist/context/react/{ThreadContext.d.ts → legacy/ThreadContext.d.ts} +24 -30
  129. package/dist/context/react/legacy/ThreadContext.d.ts.map +1 -0
  130. package/dist/context/react/legacy/ThreadContext.js +33 -0
  131. package/dist/context/react/legacy/ThreadContext.js.map +1 -0
  132. package/dist/context/react/legacy/ThreadListItemContext.d.ts +35 -0
  133. package/dist/context/react/legacy/ThreadListItemContext.d.ts.map +1 -0
  134. package/dist/context/react/legacy/ThreadListItemContext.js +21 -0
  135. package/dist/context/react/legacy/ThreadListItemContext.js.map +1 -0
  136. package/dist/context/stores/index.d.ts +0 -2
  137. package/dist/context/stores/index.d.ts.map +1 -1
  138. package/dist/hooks/useAssistantEvent.d.ts +3 -0
  139. package/dist/hooks/useAssistantEvent.d.ts.map +1 -0
  140. package/dist/hooks/useAssistantEvent.js +22 -0
  141. package/dist/hooks/useAssistantEvent.js.map +1 -0
  142. package/dist/model-context/makeAssistantVisible.js +4 -4
  143. package/dist/model-context/makeAssistantVisible.js.map +1 -1
  144. package/dist/model-context/useAssistantInstructions.js +4 -4
  145. package/dist/model-context/useAssistantInstructions.js.map +1 -1
  146. package/dist/model-context/useAssistantTool.d.ts.map +1 -1
  147. package/dist/model-context/useAssistantTool.js +7 -10
  148. package/dist/model-context/useAssistantTool.js.map +1 -1
  149. package/dist/model-context/useAssistantToolUI.js +5 -5
  150. package/dist/model-context/useAssistantToolUI.js.map +1 -1
  151. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  152. package/dist/primitives/actionBar/ActionBarCopy.js +12 -17
  153. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  154. package/dist/primitives/actionBar/ActionBarEdit.js +5 -5
  155. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  156. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  157. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +6 -7
  158. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  159. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -6
  160. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  161. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  162. package/dist/primitives/actionBar/ActionBarReload.js +6 -10
  163. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  164. package/dist/primitives/actionBar/ActionBarSpeak.js +6 -6
  165. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  166. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  167. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -8
  168. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  169. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
  170. package/dist/primitives/actionBar/useActionBarFloatStatus.js +10 -21
  171. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  172. package/dist/primitives/assistantModal/AssistantModalRoot.js +4 -4
  173. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  174. package/dist/primitives/attachment/AttachmentName.js +2 -2
  175. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  176. package/dist/primitives/attachment/AttachmentRemove.js +4 -4
  177. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  178. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  179. package/dist/primitives/attachment/AttachmentThumb.js +5 -2
  180. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  181. package/dist/primitives/branchPicker/BranchPickerCount.js +2 -2
  182. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  183. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  184. package/dist/primitives/branchPicker/BranchPickerNext.js +7 -8
  185. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  186. package/dist/primitives/branchPicker/BranchPickerNumber.js +2 -2
  187. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  188. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  189. package/dist/primitives/branchPicker/BranchPickerPrevious.js +7 -8
  190. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  191. package/dist/primitives/composer/ComposerAddAttachment.js +6 -6
  192. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  193. package/dist/primitives/composer/ComposerAttachmentDropzone.js +4 -4
  194. package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
  195. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -1
  196. package/dist/primitives/composer/ComposerAttachments.js +11 -13
  197. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  198. package/dist/primitives/composer/ComposerCancel.js +5 -5
  199. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  200. package/dist/primitives/composer/ComposerIf.js +2 -2
  201. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  202. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  203. package/dist/primitives/composer/ComposerInput.js +22 -32
  204. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  205. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  206. package/dist/primitives/composer/ComposerSend.js +6 -10
  207. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  208. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
  209. package/dist/primitives/error/ErrorMessage.js +3 -3
  210. package/dist/primitives/error/ErrorMessage.js.map +1 -1
  211. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -1
  212. package/dist/primitives/message/MessageAttachments.js +9 -11
  213. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  214. package/dist/primitives/message/MessageError.d.ts.map +1 -1
  215. package/dist/primitives/message/MessageError.js +3 -3
  216. package/dist/primitives/message/MessageError.js.map +1 -1
  217. package/dist/primitives/message/MessageIf.d.ts.map +1 -1
  218. package/dist/primitives/message/MessageIf.js +28 -34
  219. package/dist/primitives/message/MessageIf.js.map +1 -1
  220. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  221. package/dist/primitives/message/MessageParts.js +25 -27
  222. package/dist/primitives/message/MessageParts.js.map +1 -1
  223. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  224. package/dist/primitives/message/MessagePartsGrouped.js +24 -26
  225. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  226. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  227. package/dist/primitives/message/MessageRoot.js +8 -7
  228. package/dist/primitives/message/MessageRoot.js.map +1 -1
  229. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  230. package/dist/primitives/messagePart/MessagePartInProgress.js +4 -2
  231. package/dist/primitives/messagePart/MessagePartInProgress.js.map +1 -1
  232. package/dist/primitives/messagePart/useMessagePartFile.js +4 -4
  233. package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
  234. package/dist/primitives/messagePart/useMessagePartImage.js +4 -4
  235. package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
  236. package/dist/primitives/messagePart/useMessagePartReasoning.js +4 -4
  237. package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
  238. package/dist/primitives/messagePart/useMessagePartSource.js +4 -4
  239. package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
  240. package/dist/primitives/messagePart/useMessagePartText.js +4 -4
  241. package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
  242. package/dist/primitives/thread/ThreadEmpty.js +2 -2
  243. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  244. package/dist/primitives/thread/ThreadIf.js +2 -2
  245. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  246. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  247. package/dist/primitives/thread/ThreadMessages.js +9 -12
  248. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  249. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  250. package/dist/primitives/thread/ThreadSuggestion.js +8 -8
  251. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  252. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  253. package/dist/primitives/thread/useThreadViewportAutoScroll.js +3 -6
  254. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  255. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -1
  256. package/dist/primitives/threadList/ThreadListItems.js +7 -10
  257. package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
  258. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -3
  259. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  260. package/dist/primitives/threadList/ThreadListNew.js +7 -11
  261. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  262. package/dist/primitives/threadListItem/ThreadListItemArchive.js +4 -4
  263. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  264. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  265. package/dist/primitives/threadListItem/ThreadListItemDelete.js +6 -5
  266. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
  267. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  268. package/dist/primitives/threadListItem/ThreadListItemRoot.js +4 -2
  269. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  270. package/dist/primitives/threadListItem/ThreadListItemTitle.js +2 -2
  271. package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
  272. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  273. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +6 -5
  274. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  275. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  276. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +6 -5
  277. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
  278. package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts +2 -0
  279. package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +1 -1
  280. package/dist/runtimes/adapters/RuntimeAdapterProvider.js.map +1 -1
  281. package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.d.ts +15 -0
  282. package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.d.ts.map +1 -0
  283. package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.js +83 -0
  284. package/dist/runtimes/adapters/attachment/CloudFileAttachmentAdapter.js.map +1 -0
  285. package/dist/runtimes/adapters/attachment/index.d.ts +1 -0
  286. package/dist/runtimes/adapters/attachment/index.d.ts.map +1 -1
  287. package/dist/runtimes/adapters/attachment/index.js +2 -0
  288. package/dist/runtimes/adapters/attachment/index.js.map +1 -1
  289. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +1 -1
  290. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
  291. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +3 -3
  292. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  293. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -1
  294. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  295. package/dist/runtimes/core/BaseThreadRuntimeCore.js +5 -1
  296. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  297. package/dist/runtimes/core/ComposerRuntimeCore.d.ts +2 -2
  298. package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -1
  299. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +5 -5
  300. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -1
  301. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +5 -2
  302. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  303. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +6 -4
  304. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -1
  305. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +42 -7
  306. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  307. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  308. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +3 -0
  309. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  310. package/dist/runtimes/external-store/createMessageConverter.d.ts +2 -2
  311. package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -1
  312. package/dist/runtimes/external-store/createMessageConverter.js +9 -6
  313. package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
  314. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +10 -1
  315. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -1
  316. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +15 -2
  317. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
  318. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
  319. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +3 -5
  320. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
  321. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  322. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +13 -19
  323. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  324. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +11 -7
  325. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  326. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +41 -35
  327. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  328. package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -1
  329. package/dist/runtimes/remote-thread-list/adapter/cloud.js +14 -1
  330. package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -1
  331. package/dist/tests/setup.js +8 -8
  332. package/dist/tests/setup.js.map +1 -1
  333. package/dist/types/EventTypes.d.ts +49 -0
  334. package/dist/types/EventTypes.d.ts.map +1 -0
  335. package/dist/types/EventTypes.js +22 -0
  336. package/dist/types/EventTypes.js.map +1 -0
  337. package/dist/types/index.d.ts +1 -0
  338. package/dist/types/index.d.ts.map +1 -1
  339. package/dist/utils/smooth/SmoothContext.js +3 -3
  340. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  341. package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
  342. package/dist/utils/smooth/useSmooth.js +2 -5
  343. package/dist/utils/smooth/useSmooth.js.map +1 -1
  344. package/dist/utils/tap-store/index.d.ts +3 -0
  345. package/dist/utils/tap-store/index.d.ts.map +1 -0
  346. package/dist/utils/tap-store/index.js +8 -0
  347. package/dist/utils/tap-store/index.js.map +1 -0
  348. package/dist/utils/tap-store/store.d.ts +21 -0
  349. package/dist/utils/tap-store/store.d.ts.map +1 -0
  350. package/dist/utils/tap-store/store.js +29 -0
  351. package/dist/utils/tap-store/store.js.map +1 -0
  352. package/dist/utils/tap-store/tap-store-api.d.ts +8 -0
  353. package/dist/utils/tap-store/tap-store-api.d.ts.map +1 -0
  354. package/dist/utils/tap-store/tap-store-api.js +57 -0
  355. package/dist/utils/tap-store/tap-store-api.js.map +1 -0
  356. package/dist/utils/useToolArgsFieldStatus.js +6 -6
  357. package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
  358. package/package.json +2 -1
  359. package/src/api/AttachmentRuntime.ts +3 -1
  360. package/src/api/ComposerRuntime.ts +16 -9
  361. package/src/api/MessagePartRuntime.ts +3 -1
  362. package/src/api/MessageRuntime.ts +2 -0
  363. package/src/api/ThreadListItemRuntime.ts +11 -1
  364. package/src/api/ThreadListRuntime.ts +9 -9
  365. package/src/api/ThreadRuntime.ts +9 -7
  366. package/src/client/AssistantRuntimeClient.ts +197 -0
  367. package/src/client/AttachmentClient.ts +11 -0
  368. package/src/client/ComposerClient.ts +133 -0
  369. package/src/client/EventManagerClient.ts +63 -0
  370. package/src/client/MessageClient.ts +196 -0
  371. package/src/client/MessagePartClient.ts +53 -0
  372. package/src/client/ThreadClient.ts +280 -0
  373. package/src/client/ThreadListClient.ts +135 -0
  374. package/src/client/ThreadListItemClient.ts +88 -0
  375. package/src/client/util-hooks/tapLookupResources.ts +31 -0
  376. package/src/client/util-hooks/tapSubscribable.ts +16 -0
  377. package/src/cloud/AssistantCloudThreadHistoryAdapter.tsx +24 -13
  378. package/src/context/providers/AssistantRuntimeProvider.tsx +27 -51
  379. package/src/context/providers/AttachmentProvider.tsx +48 -0
  380. package/src/context/providers/MessageProvider.tsx +57 -0
  381. package/src/context/providers/PartProvider.tsx +28 -0
  382. package/src/context/providers/TextMessagePartProvider.tsx +53 -78
  383. package/src/context/providers/ThreadListItemProvider.tsx +84 -0
  384. package/src/context/providers/index.ts +10 -3
  385. package/src/context/react/AssistantApiContext.tsx +392 -0
  386. package/src/context/react/index.ts +30 -37
  387. package/src/context/react/{AssistantContext.ts → legacy/AssistantContext.ts} +12 -31
  388. package/src/context/react/{AttachmentContext.ts → legacy/AttachmentContext.ts} +11 -22
  389. package/src/context/react/{ComposerContext.ts → legacy/ComposerContext.ts} +11 -9
  390. package/src/context/react/{MessageContext.ts → legacy/MessageContext.ts} +12 -29
  391. package/src/context/react/legacy/MessagePartContext.ts +24 -0
  392. package/src/context/react/{ThreadContext.ts → legacy/ThreadContext.ts} +15 -25
  393. package/src/context/react/legacy/ThreadListItemContext.ts +28 -0
  394. package/src/context/stores/index.ts +0 -2
  395. package/src/hooks/useAssistantEvent.ts +24 -0
  396. package/src/model-context/makeAssistantVisible.tsx +4 -4
  397. package/src/model-context/useAssistantInstructions.tsx +4 -4
  398. package/src/model-context/useAssistantTool.tsx +7 -12
  399. package/src/model-context/useAssistantToolUI.tsx +5 -5
  400. package/src/primitives/actionBar/ActionBarCopy.tsx +14 -20
  401. package/src/primitives/actionBar/ActionBarEdit.tsx +5 -5
  402. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +6 -7
  403. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +6 -6
  404. package/src/primitives/actionBar/ActionBarReload.tsx +9 -10
  405. package/src/primitives/actionBar/ActionBarSpeak.tsx +7 -7
  406. package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +5 -8
  407. package/src/primitives/actionBar/useActionBarFloatStatus.tsx +22 -34
  408. package/src/primitives/assistantModal/AssistantModalRoot.tsx +4 -4
  409. package/src/primitives/attachment/AttachmentName.tsx +2 -2
  410. package/src/primitives/attachment/AttachmentRemove.tsx +4 -4
  411. package/src/primitives/attachment/AttachmentThumb.tsx +5 -2
  412. package/src/primitives/branchPicker/BranchPickerCount.tsx +2 -2
  413. package/src/primitives/branchPicker/BranchPickerNext.tsx +7 -8
  414. package/src/primitives/branchPicker/BranchPickerNumber.tsx +2 -2
  415. package/src/primitives/branchPicker/BranchPickerPrevious.tsx +7 -8
  416. package/src/primitives/composer/ComposerAddAttachment.tsx +6 -6
  417. package/src/primitives/composer/ComposerAttachmentDropzone.tsx +4 -4
  418. package/src/primitives/composer/ComposerAttachments.tsx +12 -15
  419. package/src/primitives/composer/ComposerCancel.tsx +5 -5
  420. package/src/primitives/composer/ComposerIf.tsx +2 -2
  421. package/src/primitives/composer/ComposerInput.tsx +32 -32
  422. package/src/primitives/composer/ComposerSend.tsx +6 -10
  423. package/src/primitives/error/ErrorMessage.tsx +5 -4
  424. package/src/primitives/message/MessageAttachments.tsx +10 -13
  425. package/src/primitives/message/MessageError.tsx +5 -3
  426. package/src/primitives/message/MessageIf.tsx +43 -52
  427. package/src/primitives/message/MessageParts.tsx +26 -31
  428. package/src/primitives/message/MessagePartsGrouped.tsx +25 -30
  429. package/src/primitives/message/MessageRoot.tsx +10 -8
  430. package/src/primitives/messagePart/MessagePartInProgress.tsx +4 -2
  431. package/src/primitives/messagePart/useMessagePartFile.tsx +4 -4
  432. package/src/primitives/messagePart/useMessagePartImage.tsx +4 -4
  433. package/src/primitives/messagePart/useMessagePartReasoning.tsx +4 -4
  434. package/src/primitives/messagePart/useMessagePartSource.tsx +4 -4
  435. package/src/primitives/messagePart/useMessagePartText.tsx +4 -4
  436. package/src/primitives/thread/ThreadEmpty.tsx +2 -2
  437. package/src/primitives/thread/ThreadIf.tsx +2 -2
  438. package/src/primitives/thread/ThreadMessages.tsx +10 -14
  439. package/src/primitives/thread/ThreadSuggestion.tsx +8 -8
  440. package/src/primitives/thread/useThreadViewportAutoScroll.tsx +3 -6
  441. package/src/primitives/threadList/ThreadListItems.tsx +8 -15
  442. package/src/primitives/threadList/ThreadListNew.tsx +9 -13
  443. package/src/primitives/threadListItem/ThreadListItemArchive.ts +4 -4
  444. package/src/primitives/threadListItem/ThreadListItemDelete.ts +6 -5
  445. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +4 -2
  446. package/src/primitives/threadListItem/ThreadListItemTitle.tsx +2 -2
  447. package/src/primitives/threadListItem/ThreadListItemTrigger.ts +6 -5
  448. package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +6 -5
  449. package/src/runtimes/adapters/RuntimeAdapterProvider.tsx +2 -0
  450. package/src/runtimes/adapters/attachment/CloudFileAttachmentAdapter.ts +101 -0
  451. package/src/runtimes/adapters/attachment/index.ts +1 -0
  452. package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +3 -3
  453. package/src/runtimes/core/BaseThreadRuntimeCore.tsx +5 -1
  454. package/src/runtimes/core/ComposerRuntimeCore.tsx +2 -2
  455. package/src/runtimes/core/ThreadListRuntimeCore.tsx +6 -4
  456. package/src/runtimes/external-store/ExternalStoreAdapter.tsx +5 -2
  457. package/src/runtimes/external-store/ExternalStoreThreadListRuntimeCore.tsx +53 -12
  458. package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +4 -0
  459. package/src/runtimes/external-store/createMessageConverter.tsx +10 -6
  460. package/src/runtimes/local/LocalThreadListRuntimeCore.tsx +16 -2
  461. package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +3 -6
  462. package/src/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.tsx +14 -19
  463. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +50 -43
  464. package/src/runtimes/remote-thread-list/adapter/cloud.tsx +16 -1
  465. package/src/types/EventTypes.ts +92 -0
  466. package/src/types/index.ts +6 -0
  467. package/src/utils/smooth/SmoothContext.tsx +3 -3
  468. package/src/utils/smooth/useSmooth.tsx +2 -5
  469. package/src/utils/tap-store/index.ts +2 -0
  470. package/src/utils/tap-store/store.ts +51 -0
  471. package/src/utils/tap-store/tap-store-api.ts +75 -0
  472. package/src/utils/useToolArgsFieldStatus.tsx +6 -6
  473. package/dist/context/providers/AttachmentRuntimeProvider.d.ts +0 -9
  474. package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +0 -1
  475. package/dist/context/providers/AttachmentRuntimeProvider.js +0 -33
  476. package/dist/context/providers/AttachmentRuntimeProvider.js.map +0 -1
  477. package/dist/context/providers/MessagePartRuntimeProvider.d.ts +0 -9
  478. package/dist/context/providers/MessagePartRuntimeProvider.d.ts.map +0 -1
  479. package/dist/context/providers/MessagePartRuntimeProvider.js +0 -28
  480. package/dist/context/providers/MessagePartRuntimeProvider.js.map +0 -1
  481. package/dist/context/providers/MessageRuntimeProvider.d.ts +0 -9
  482. package/dist/context/providers/MessageRuntimeProvider.d.ts.map +0 -1
  483. package/dist/context/providers/MessageRuntimeProvider.js +0 -37
  484. package/dist/context/providers/MessageRuntimeProvider.js.map +0 -1
  485. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +0 -9
  486. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +0 -1
  487. package/dist/context/providers/ThreadListItemRuntimeProvider.js +0 -30
  488. package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +0 -1
  489. package/dist/context/providers/ThreadRuntimeProvider.d.ts +0 -10
  490. package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +0 -1
  491. package/dist/context/providers/ThreadRuntimeProvider.js +0 -33
  492. package/dist/context/providers/ThreadRuntimeProvider.js.map +0 -1
  493. package/dist/context/react/AssistantContext.d.ts +0 -85
  494. package/dist/context/react/AssistantContext.d.ts.map +0 -1
  495. package/dist/context/react/AssistantContext.js +0 -34
  496. package/dist/context/react/AssistantContext.js.map +0 -1
  497. package/dist/context/react/AttachmentContext.d.ts.map +0 -1
  498. package/dist/context/react/AttachmentContext.js.map +0 -1
  499. package/dist/context/react/ComposerContext.d.ts.map +0 -1
  500. package/dist/context/react/ComposerContext.js +0 -17
  501. package/dist/context/react/ComposerContext.js.map +0 -1
  502. package/dist/context/react/MessageContext.d.ts.map +0 -1
  503. package/dist/context/react/MessageContext.js +0 -35
  504. package/dist/context/react/MessageContext.js.map +0 -1
  505. package/dist/context/react/MessagePartContext.d.ts +0 -41
  506. package/dist/context/react/MessagePartContext.d.ts.map +0 -1
  507. package/dist/context/react/MessagePartContext.js +0 -25
  508. package/dist/context/react/MessagePartContext.js.map +0 -1
  509. package/dist/context/react/ThreadContext.d.ts.map +0 -1
  510. package/dist/context/react/ThreadContext.js +0 -38
  511. package/dist/context/react/ThreadContext.js.map +0 -1
  512. package/dist/context/react/ThreadListItemContext.d.ts +0 -41
  513. package/dist/context/react/ThreadListItemContext.d.ts.map +0 -1
  514. package/dist/context/react/ThreadListItemContext.js +0 -25
  515. package/dist/context/react/ThreadListItemContext.js.map +0 -1
  516. package/dist/context/stores/AssistantToolUIs.d.ts +0 -14
  517. package/dist/context/stores/AssistantToolUIs.d.ts.map +0 -1
  518. package/dist/context/stores/AssistantToolUIs.js +0 -35
  519. package/dist/context/stores/AssistantToolUIs.js.map +0 -1
  520. package/dist/context/stores/MessageUtils.d.ts +0 -8
  521. package/dist/context/stores/MessageUtils.d.ts.map +0 -1
  522. package/dist/context/stores/MessageUtils.js +0 -18
  523. package/dist/context/stores/MessageUtils.js.map +0 -1
  524. package/dist/utils/combined/createCombinedStore.d.ts +0 -8
  525. package/dist/utils/combined/createCombinedStore.d.ts.map +0 -1
  526. package/dist/utils/combined/createCombinedStore.js +0 -22
  527. package/dist/utils/combined/createCombinedStore.js.map +0 -1
  528. package/dist/utils/combined/useCombinedStore.d.ts +0 -3
  529. package/dist/utils/combined/useCombinedStore.d.ts.map +0 -1
  530. package/dist/utils/combined/useCombinedStore.js +0 -15
  531. package/dist/utils/combined/useCombinedStore.js.map +0 -1
  532. package/src/context/providers/AttachmentRuntimeProvider.tsx +0 -44
  533. package/src/context/providers/MessagePartRuntimeProvider.tsx +0 -42
  534. package/src/context/providers/MessageRuntimeProvider.tsx +0 -50
  535. package/src/context/providers/ThreadListItemRuntimeProvider.tsx +0 -43
  536. package/src/context/providers/ThreadRuntimeProvider.tsx +0 -53
  537. package/src/context/react/MessagePartContext.ts +0 -37
  538. package/src/context/react/ThreadListItemContext.ts +0 -38
  539. package/src/context/stores/AssistantToolUIs.ts +0 -51
  540. package/src/context/stores/MessageUtils.ts +0 -23
  541. package/src/utils/combined/createCombinedStore.ts +0 -31
  542. package/src/utils/combined/useCombinedStore.ts +0 -17
@@ -0,0 +1,40 @@
1
+ // src/client/EventManagerClient.ts
2
+ import { resource, tapState } from "@assistant-ui/tap";
3
+ import { tapApi } from "../utils/tap-store/index.js";
4
+ var EventManagerClient = resource(() => {
5
+ const [listeners] = tapState(
6
+ () => /* @__PURE__ */ new Map()
7
+ );
8
+ const api = tapApi(
9
+ {},
10
+ {
11
+ on: (event, callback) => {
12
+ if (!listeners.has(event)) {
13
+ listeners.set(event, /* @__PURE__ */ new Set());
14
+ }
15
+ const eventListeners = listeners.get(event);
16
+ eventListeners.add(callback);
17
+ return () => {
18
+ eventListeners.delete(callback);
19
+ if (eventListeners.size === 0) {
20
+ listeners.delete(event);
21
+ }
22
+ };
23
+ },
24
+ emit: (event, payload) => {
25
+ const eventListeners = listeners.get(event);
26
+ if (!eventListeners) return;
27
+ queueMicrotask(() => {
28
+ for (const callback of eventListeners) {
29
+ callback(payload);
30
+ }
31
+ });
32
+ }
33
+ }
34
+ );
35
+ return api;
36
+ });
37
+ export {
38
+ EventManagerClient
39
+ };
40
+ //# sourceMappingURL=EventManagerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/EventManagerClient.ts"],"sourcesContent":["import { resource, tapState } from \"@assistant-ui/tap\";\nimport { tapApi } from \"../utils/tap-store\";\nimport { AssistantEvents, Unsubscribe } from \"../types\";\n\ntype EventCallback<TEvent extends keyof AssistantEvents> = (\n payload: AssistantEvents[TEvent],\n) => void;\n\nexport type EventManagerActions = {\n on<TEvent extends keyof AssistantEvents>(\n event: TEvent,\n callback: EventCallback<TEvent>,\n ): Unsubscribe;\n emit<TEvent extends keyof AssistantEvents>(\n event: TEvent,\n payload: AssistantEvents[TEvent],\n ): void;\n};\n\nexport const EventManagerClient = resource(() => {\n // Map of event name to set of callbacks\n const [listeners] = tapState<Map<string, Set<EventCallback<any>>>>(\n () => new Map(),\n );\n\n const api = tapApi<Record<string, never>, EventManagerActions>(\n {},\n {\n on: <TEvent extends keyof AssistantEvents>(\n event: TEvent,\n callback: EventCallback<TEvent>,\n ): Unsubscribe => {\n if (!listeners.has(event)) {\n listeners.set(event, new Set());\n }\n\n const eventListeners = listeners.get(event)!;\n eventListeners.add(callback);\n\n return () => {\n eventListeners.delete(callback);\n if (eventListeners.size === 0) {\n listeners.delete(event);\n }\n };\n },\n\n emit: (event: keyof AssistantEvents, payload: any) => {\n const eventListeners = listeners.get(event);\n if (!eventListeners) return;\n\n // make sure state updates flush\n queueMicrotask(() => {\n for (const callback of eventListeners) {\n callback(payload);\n }\n });\n },\n },\n );\n\n return api;\n});\n"],"mappings":";AAAA,SAAS,UAAU,gBAAgB;AACnC,SAAS,cAAc;AAkBhB,IAAM,qBAAqB,SAAS,MAAM;AAE/C,QAAM,CAAC,SAAS,IAAI;AAAA,IAClB,MAAM,oBAAI,IAAI;AAAA,EAChB;AAEA,QAAM,MAAM;AAAA,IACV,CAAC;AAAA,IACD;AAAA,MACE,IAAI,CACF,OACA,aACgB;AAChB,YAAI,CAAC,UAAU,IAAI,KAAK,GAAG;AACzB,oBAAU,IAAI,OAAO,oBAAI,IAAI,CAAC;AAAA,QAChC;AAEA,cAAM,iBAAiB,UAAU,IAAI,KAAK;AAC1C,uBAAe,IAAI,QAAQ;AAE3B,eAAO,MAAM;AACX,yBAAe,OAAO,QAAQ;AAC9B,cAAI,eAAe,SAAS,GAAG;AAC7B,sBAAU,OAAO,KAAK;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,MAEA,MAAM,CAAC,OAA8B,YAAiB;AACpD,cAAM,iBAAiB,UAAU,IAAI,KAAK;AAC1C,YAAI,CAAC,eAAgB;AAGrB,uBAAe,MAAM;AACnB,qBAAW,YAAY,gBAAgB;AACrC,qBAAS,OAAO;AAAA,UAClB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT,CAAC;","names":[]}
@@ -0,0 +1,67 @@
1
+ import { MessageRuntime } from "../api/MessageRuntime";
2
+ import { ComposerClientActions, ComposerClientState } from "./ComposerClient";
3
+ import { MessagePartClientActions, MessagePartClientState } from "./MessagePartClient";
4
+ import { ThreadMessage } from "../types";
5
+ import { SpeechState, SubmittedFeedback } from "../runtimes/core/ThreadRuntimeCore";
6
+ import { RunConfig } from "../types/AssistantTypes";
7
+ import { AttachmentClientActions, AttachmentClientState } from "./AttachmentClient";
8
+ import { StoreApi } from "../utils/tap-store/tap-store-api";
9
+ import { EventManagerActions } from "./EventManagerClient";
10
+ import { RefObject } from "react";
11
+ export type MessageClientState = ThreadMessage & {
12
+ readonly parentId: string | null;
13
+ readonly isLast: boolean;
14
+ readonly branchNumber: number;
15
+ readonly branchCount: number;
16
+ /**
17
+ * @deprecated This API is still under active development and might change without notice.
18
+ */
19
+ readonly speech: SpeechState | undefined;
20
+ readonly submittedFeedback: SubmittedFeedback | undefined;
21
+ readonly composer: ComposerClientState;
22
+ readonly parts: readonly MessagePartClientState[];
23
+ readonly isCopied: boolean;
24
+ readonly isHovering: boolean;
25
+ };
26
+ export type MessageClientActions = {
27
+ readonly composer: StoreApi<ComposerClientState, ComposerClientActions>;
28
+ reload(config?: {
29
+ runConfig?: RunConfig;
30
+ }): void;
31
+ /**
32
+ * @deprecated This API is still under active development and might change without notice.
33
+ */
34
+ speak(): void;
35
+ /**
36
+ * @deprecated This API is still under active development and might change without notice.
37
+ */
38
+ stopSpeaking(): void;
39
+ submitFeedback(feedback: {
40
+ type: "positive" | "negative";
41
+ }): void;
42
+ switchToBranch(options: {
43
+ position?: "previous" | "next";
44
+ branchId?: string;
45
+ }): void;
46
+ getCopyText(): string;
47
+ part: (selector: {
48
+ index: number;
49
+ } | {
50
+ toolCallId: string;
51
+ }) => StoreApi<MessagePartClientState, MessagePartClientActions>;
52
+ attachment(selector: {
53
+ index: number;
54
+ }): StoreApi<AttachmentClientState, AttachmentClientActions>;
55
+ setIsCopied(value: boolean): void;
56
+ setIsHovering(value: boolean): void;
57
+ };
58
+ export declare const MessageClient: import("@assistant-ui/tap").ResourceElementConstructor<{
59
+ key: string;
60
+ state: MessageClientState;
61
+ api: StoreApi<MessageClientState, MessageClientActions>;
62
+ }, {
63
+ runtime: MessageRuntime;
64
+ events: EventManagerActions;
65
+ threadIdRef: RefObject<string>;
66
+ }>;
67
+ //# sourceMappingURL=MessageClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageClient.d.ts","sourceRoot":"","sources":["../../src/client/MessageClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAE1D,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAElD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IAExE,MAAM,CAAC,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IACd;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IACrB,cAAc,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,cAAc,CAAC,OAAO,EAAE;QACtB,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,WAAW,IAAI,MAAM,CAAC;IAEtB,IAAI,EAAE,CACJ,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KACjD,QAAQ,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IAChE,UAAU,CAAC,QAAQ,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,QAAQ,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;IAE7D,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAIrC,CAAC;AAYF,eAAO,MAAM,aAAa;;;;;aAMb,cAAc;YACf,mBAAmB;iBACd,SAAS,CAAC,MAAM,CAAC;EA0FjC,CAAC"}
@@ -0,0 +1,108 @@
1
+ // src/client/MessageClient.ts
2
+ import {
3
+ resource,
4
+ tapInlineResource,
5
+ tapMemo,
6
+ tapState
7
+ } from "@assistant-ui/tap";
8
+ import { tapApi } from "../utils/tap-store/index.js";
9
+ import { tapSubscribable } from "./util-hooks/tapSubscribable.js";
10
+ import {
11
+ ComposerClient
12
+ } from "./ComposerClient.js";
13
+ import {
14
+ MessagePartClient
15
+ } from "./MessagePartClient.js";
16
+ import { tapLookupResources } from "./util-hooks/tapLookupResources.js";
17
+ var MessagePartByIndex = resource(
18
+ ({ runtime, index }) => {
19
+ const partRuntime = tapMemo(
20
+ () => runtime.getMessagePartByIndex(index),
21
+ [runtime, index]
22
+ );
23
+ return tapInlineResource(MessagePartClient({ runtime: partRuntime }));
24
+ }
25
+ );
26
+ var MessageClient = resource(
27
+ ({
28
+ runtime,
29
+ events,
30
+ threadIdRef
31
+ }) => {
32
+ const runtimeState = tapSubscribable(runtime);
33
+ const [isCopiedState, setIsCopied] = tapState(false);
34
+ const [isHoveringState, setIsHovering] = tapState(false);
35
+ const messageIdRef = tapMemo(
36
+ () => ({
37
+ get current() {
38
+ return runtime.getState().id;
39
+ }
40
+ }),
41
+ [runtime]
42
+ );
43
+ const composer = tapInlineResource(
44
+ ComposerClient({
45
+ runtime: runtime.composer,
46
+ events,
47
+ threadIdRef,
48
+ messageIdRef
49
+ })
50
+ );
51
+ const parts = tapLookupResources(
52
+ runtimeState.content.map(
53
+ (_, idx) => MessagePartByIndex({ runtime, index: idx }, { key: idx })
54
+ )
55
+ );
56
+ const state = tapMemo(() => {
57
+ return {
58
+ ...runtimeState,
59
+ parts: parts.state,
60
+ composer: composer.state,
61
+ isCopied: isCopiedState,
62
+ isHovering: isHoveringState
63
+ };
64
+ }, [
65
+ runtimeState,
66
+ parts.state,
67
+ composer.state,
68
+ isCopiedState,
69
+ isHoveringState
70
+ ]);
71
+ const api = tapApi(state, {
72
+ composer: composer.api,
73
+ reload: (config) => runtime.reload(config),
74
+ speak: () => runtime.speak(),
75
+ stopSpeaking: () => runtime.stopSpeaking(),
76
+ submitFeedback: (feedback) => runtime.submitFeedback(feedback),
77
+ switchToBranch: (options) => runtime.switchToBranch(options),
78
+ getCopyText: () => runtime.unstable_getCopyText(),
79
+ part: (selector) => {
80
+ if ("index" in selector) {
81
+ return parts.api({ index: selector.index });
82
+ } else {
83
+ return parts.api({ key: "toolCallId-" + selector.toolCallId });
84
+ }
85
+ },
86
+ attachment: ({ index }) => {
87
+ const attachmentRuntime = runtime.getAttachmentByIndex(index);
88
+ return {
89
+ getState: attachmentRuntime.getState,
90
+ remove: attachmentRuntime.remove,
91
+ __internal_getRuntime: () => attachmentRuntime
92
+ };
93
+ },
94
+ setIsCopied,
95
+ setIsHovering,
96
+ __internal_getRuntime: () => runtime
97
+ });
98
+ return {
99
+ key: runtimeState.id,
100
+ state,
101
+ api
102
+ };
103
+ }
104
+ );
105
+ export {
106
+ MessageClient
107
+ };
108
+ //# sourceMappingURL=MessageClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/MessageClient.ts"],"sourcesContent":["import {\n resource,\n tapInlineResource,\n tapMemo,\n tapState,\n} from \"@assistant-ui/tap\";\nimport { tapApi } from \"../utils/tap-store\";\nimport { MessageRuntime } from \"../api/MessageRuntime\";\nimport { tapSubscribable } from \"./util-hooks/tapSubscribable\";\nimport {\n ComposerClient,\n ComposerClientActions,\n ComposerClientState,\n} from \"./ComposerClient\";\nimport {\n MessagePartClient,\n MessagePartClientActions,\n MessagePartClientState,\n} from \"./MessagePartClient\";\nimport { ThreadMessage } from \"../types\";\nimport {\n SpeechState,\n SubmittedFeedback,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { RunConfig } from \"../types/AssistantTypes\";\nimport { tapLookupResources } from \"./util-hooks/tapLookupResources\";\nimport {\n AttachmentClientActions,\n AttachmentClientState,\n} from \"./AttachmentClient\";\nimport { StoreApi } from \"../utils/tap-store/tap-store-api\";\nimport { EventManagerActions } from \"./EventManagerClient\";\nimport { RefObject } from \"react\";\n\nexport type MessageClientState = ThreadMessage & {\n readonly parentId: string | null;\n readonly isLast: boolean;\n\n readonly branchNumber: number;\n readonly branchCount: number;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n readonly submittedFeedback: SubmittedFeedback | undefined;\n\n readonly composer: ComposerClientState;\n readonly parts: readonly MessagePartClientState[];\n\n readonly isCopied: boolean;\n readonly isHovering: boolean;\n};\n\nexport type MessageClientActions = {\n readonly composer: StoreApi<ComposerClientState, ComposerClientActions>;\n\n reload(config?: { runConfig?: RunConfig }): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speak(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n submitFeedback(feedback: { type: \"positive\" | \"negative\" }): void;\n switchToBranch(options: {\n position?: \"previous\" | \"next\";\n branchId?: string;\n }): void;\n getCopyText(): string;\n\n part: (\n selector: { index: number } | { toolCallId: string },\n ) => StoreApi<MessagePartClientState, MessagePartClientActions>;\n attachment(selector: {\n index: number;\n }): StoreApi<AttachmentClientState, AttachmentClientActions>;\n\n setIsCopied(value: boolean): void;\n setIsHovering(value: boolean): void;\n\n /** @internal */\n __internal_getRuntime(): MessageRuntime;\n};\n\nconst MessagePartByIndex = resource(\n ({ runtime, index }: { runtime: MessageRuntime; index: number }) => {\n const partRuntime = tapMemo(\n () => runtime.getMessagePartByIndex(index),\n [runtime, index],\n );\n return tapInlineResource(MessagePartClient({ runtime: partRuntime }));\n },\n);\n\nexport const MessageClient = resource(\n ({\n runtime,\n events,\n threadIdRef,\n }: {\n runtime: MessageRuntime;\n events: EventManagerActions;\n threadIdRef: RefObject<string>;\n }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const [isCopiedState, setIsCopied] = tapState(false);\n const [isHoveringState, setIsHovering] = tapState(false);\n\n const messageIdRef = tapMemo(\n () => ({\n get current() {\n return runtime.getState().id;\n },\n }),\n [runtime],\n );\n\n const composer = tapInlineResource(\n ComposerClient({\n runtime: runtime.composer,\n events,\n threadIdRef,\n messageIdRef,\n }),\n );\n\n const parts = tapLookupResources(\n runtimeState.content.map((_, idx) =>\n MessagePartByIndex({ runtime, index: idx }, { key: idx }),\n ),\n );\n\n const state = tapMemo<MessageClientState>(() => {\n return {\n ...(runtimeState as MessageClientState),\n\n parts: parts.state,\n composer: composer.state,\n\n isCopied: isCopiedState,\n isHovering: isHoveringState,\n };\n }, [\n runtimeState,\n parts.state,\n composer.state,\n isCopiedState,\n isHoveringState,\n ]);\n\n const api = tapApi<MessageClientState, MessageClientActions>(state, {\n composer: composer.api,\n\n reload: (config) => runtime.reload(config),\n speak: () => runtime.speak(),\n stopSpeaking: () => runtime.stopSpeaking(),\n submitFeedback: (feedback) => runtime.submitFeedback(feedback),\n switchToBranch: (options) => runtime.switchToBranch(options),\n getCopyText: () => runtime.unstable_getCopyText(),\n\n part: (selector) => {\n if (\"index\" in selector) {\n return parts.api({ index: selector.index });\n } else {\n return parts.api({ key: \"toolCallId-\" + selector.toolCallId });\n }\n },\n\n attachment: ({ index }) => {\n const attachmentRuntime = runtime.getAttachmentByIndex(index);\n return {\n getState: attachmentRuntime.getState,\n\n remove: attachmentRuntime.remove,\n\n __internal_getRuntime: () => attachmentRuntime,\n };\n },\n\n setIsCopied,\n setIsHovering,\n\n __internal_getRuntime: () => runtime,\n });\n\n return {\n key: runtimeState.id,\n state,\n api,\n };\n },\n);\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAEvB,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,OAGK;AACP;AAAA,EACE;AAAA,OAGK;AAOP,SAAS,0BAA0B;AA8DnC,IAAM,qBAAqB;AAAA,EACzB,CAAC,EAAE,SAAS,MAAM,MAAkD;AAClE,UAAM,cAAc;AAAA,MAClB,MAAM,QAAQ,sBAAsB,KAAK;AAAA,MACzC,CAAC,SAAS,KAAK;AAAA,IACjB;AACA,WAAO,kBAAkB,kBAAkB,EAAE,SAAS,YAAY,CAAC,CAAC;AAAA,EACtE;AACF;AAEO,IAAM,gBAAgB;AAAA,EAC3B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AACJ,UAAM,eAAe,gBAAgB,OAAO;AAE5C,UAAM,CAAC,eAAe,WAAW,IAAI,SAAS,KAAK;AACnD,UAAM,CAAC,iBAAiB,aAAa,IAAI,SAAS,KAAK;AAEvD,UAAM,eAAe;AAAA,MACnB,OAAO;AAAA,QACL,IAAI,UAAU;AACZ,iBAAO,QAAQ,SAAS,EAAE;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,CAAC,OAAO;AAAA,IACV;AAEA,UAAM,WAAW;AAAA,MACf,eAAe;AAAA,QACb,SAAS,QAAQ;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,QAAQ;AAAA,MACZ,aAAa,QAAQ;AAAA,QAAI,CAAC,GAAG,QAC3B,mBAAmB,EAAE,SAAS,OAAO,IAAI,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA,MAC1D;AAAA,IACF;AAEA,UAAM,QAAQ,QAA4B,MAAM;AAC9C,aAAO;AAAA,QACL,GAAI;AAAA,QAEJ,OAAO,MAAM;AAAA,QACb,UAAU,SAAS;AAAA,QAEnB,UAAU;AAAA,QACV,YAAY;AAAA,MACd;AAAA,IACF,GAAG;AAAA,MACD;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,MAAM,OAAiD,OAAO;AAAA,MAClE,UAAU,SAAS;AAAA,MAEnB,QAAQ,CAAC,WAAW,QAAQ,OAAO,MAAM;AAAA,MACzC,OAAO,MAAM,QAAQ,MAAM;AAAA,MAC3B,cAAc,MAAM,QAAQ,aAAa;AAAA,MACzC,gBAAgB,CAAC,aAAa,QAAQ,eAAe,QAAQ;AAAA,MAC7D,gBAAgB,CAAC,YAAY,QAAQ,eAAe,OAAO;AAAA,MAC3D,aAAa,MAAM,QAAQ,qBAAqB;AAAA,MAEhD,MAAM,CAAC,aAAa;AAClB,YAAI,WAAW,UAAU;AACvB,iBAAO,MAAM,IAAI,EAAE,OAAO,SAAS,MAAM,CAAC;AAAA,QAC5C,OAAO;AACL,iBAAO,MAAM,IAAI,EAAE,KAAK,gBAAgB,SAAS,WAAW,CAAC;AAAA,QAC/D;AAAA,MACF;AAAA,MAEA,YAAY,CAAC,EAAE,MAAM,MAAM;AACzB,cAAM,oBAAoB,QAAQ,qBAAqB,KAAK;AAC5D,eAAO;AAAA,UACL,UAAU,kBAAkB;AAAA,UAE5B,QAAQ,kBAAkB;AAAA,UAE1B,uBAAuB,MAAM;AAAA,QAC/B;AAAA,MACF;AAAA,MAEA;AAAA,MACA;AAAA,MAEA,uBAAuB,MAAM;AAAA,IAC/B,CAAC;AAED,WAAO;AAAA,MACL,KAAK,aAAa;AAAA,MAClB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,21 @@
1
+ import { MessagePartRuntime } from "../api/MessagePartRuntime";
2
+ import { ThreadAssistantMessagePart, ThreadUserMessagePart, MessagePartStatus, ToolCallMessagePartStatus } from "../types/AssistantTypes";
3
+ import { ToolResponse } from "assistant-stream";
4
+ export type MessagePartClientState = (ThreadUserMessagePart | ThreadAssistantMessagePart) & {
5
+ readonly status: MessagePartStatus | ToolCallMessagePartStatus;
6
+ };
7
+ export type MessagePartClientActions = {
8
+ /**
9
+ * Add tool result to a tool call message part that has no tool result yet.
10
+ * This is useful when you are collecting a tool result via user input ("human tool calls").
11
+ */
12
+ addToolResult(result: any | ToolResponse<any>): void;
13
+ };
14
+ export declare const MessagePartClient: import("@assistant-ui/tap").ResourceElementConstructor<{
15
+ key: string | undefined;
16
+ state: import("..").MessagePartState;
17
+ api: import("../utils/tap-store/tap-store-api").StoreApi<MessagePartClientState, MessagePartClientActions>;
18
+ }, {
19
+ runtime: MessagePartRuntime;
20
+ }>;
21
+ //# sourceMappingURL=MessagePartClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessagePartClient.d.ts","sourceRoot":"","sources":["../../src/client/MessagePartClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,sBAAsB,GAAG,CACjC,qBAAqB,GACrB,0BAA0B,CAC7B,GAAG;IACF,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,yBAAyB,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CAItD,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;aACH,kBAAkB;EAqB5C,CAAC"}
@@ -0,0 +1,25 @@
1
+ // src/client/MessagePartClient.ts
2
+ import { resource } from "@assistant-ui/tap";
3
+ import { tapApi } from "../utils/tap-store/index.js";
4
+ import { tapSubscribable } from "./util-hooks/tapSubscribable.js";
5
+ var MessagePartClient = resource(
6
+ ({ runtime }) => {
7
+ const runtimeState = tapSubscribable(runtime);
8
+ const api = tapApi(
9
+ runtimeState,
10
+ {
11
+ addToolResult: (result) => runtime.addToolResult(result),
12
+ __internal_getRuntime: () => runtime
13
+ }
14
+ );
15
+ return {
16
+ key: runtimeState.type === "tool-call" ? "toolCallId-" + runtimeState.toolCallId : void 0,
17
+ state: runtimeState,
18
+ api
19
+ };
20
+ }
21
+ );
22
+ export {
23
+ MessagePartClient
24
+ };
25
+ //# sourceMappingURL=MessagePartClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/MessagePartClient.ts"],"sourcesContent":["import { resource } from \"@assistant-ui/tap\";\nimport { tapApi } from \"../utils/tap-store\";\nimport { MessagePartRuntime } from \"../api/MessagePartRuntime\";\nimport { tapSubscribable } from \"./util-hooks/tapSubscribable\";\nimport {\n ThreadAssistantMessagePart,\n ThreadUserMessagePart,\n MessagePartStatus,\n ToolCallMessagePartStatus,\n} from \"../types/AssistantTypes\";\nimport { ToolResponse } from \"assistant-stream\";\n\nexport type MessagePartClientState = (\n | ThreadUserMessagePart\n | ThreadAssistantMessagePart\n) & {\n readonly status: MessagePartStatus | ToolCallMessagePartStatus;\n};\n\nexport type MessagePartClientActions = {\n /**\n * Add tool result to a tool call message part that has no tool result yet.\n * This is useful when you are collecting a tool result via user input (\"human tool calls\").\n */\n addToolResult(result: any | ToolResponse<any>): void;\n\n /** @internal */\n __internal_getRuntime(): MessagePartRuntime;\n};\n\nexport const MessagePartClient = resource(\n ({ runtime }: { runtime: MessagePartRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const api = tapApi<MessagePartClientState, MessagePartClientActions>(\n runtimeState,\n {\n addToolResult: (result) => runtime.addToolResult(result),\n\n __internal_getRuntime: () => runtime,\n },\n );\n\n return {\n key:\n runtimeState.type === \"tool-call\"\n ? \"toolCallId-\" + runtimeState.toolCallId\n : undefined,\n state: runtimeState,\n api,\n };\n },\n);\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,cAAc;AAEvB,SAAS,uBAAuB;AA2BzB,IAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,QAAQ,MAAuC;AAChD,UAAM,eAAe,gBAAgB,OAAO;AAE5C,UAAM,MAAM;AAAA,MACV;AAAA,MACA;AAAA,QACE,eAAe,CAAC,WAAW,QAAQ,cAAc,MAAM;AAAA,QAEvD,uBAAuB,MAAM;AAAA,MAC/B;AAAA,IACF;AAEA,WAAO;AAAA,MACL,KACE,aAAa,SAAS,cAClB,gBAAgB,aAAa,aAC7B;AAAA,MACN,OAAO;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,111 @@
1
+ import { ReadonlyJSONValue } from "assistant-stream/utils";
2
+ import { RuntimeCapabilities, SpeechState, ThreadSuggestion } from "../runtimes/core/ThreadRuntimeCore";
3
+ import { CreateAppendMessage, CreateStartRunConfig } from "../api";
4
+ import { CreateResumeRunConfig, ThreadRuntime } from "../api/ThreadRuntime";
5
+ import { ModelContext } from "../model-context";
6
+ import { ExportedMessageRepository, ThreadMessageLike } from "../runtimes";
7
+ import { ComposerClientActions, ComposerClientState } from "./ComposerClient";
8
+ import { MessageClientActions, MessageClientState } from "./MessageClient";
9
+ import { StoreApi } from "../utils/tap-store/tap-store-api";
10
+ import { EventManagerActions } from "./EventManagerClient";
11
+ export type ThreadClientState = {
12
+ /**
13
+ * Whether the thread is disabled. Disabled threads cannot receive new messages.
14
+ */
15
+ readonly isDisabled: boolean;
16
+ /**
17
+ * Whether the thread is loading its history.
18
+ */
19
+ readonly isLoading: boolean;
20
+ /**
21
+ * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.
22
+ */
23
+ readonly isRunning: boolean;
24
+ /**
25
+ * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.
26
+ */
27
+ readonly capabilities: RuntimeCapabilities;
28
+ /**
29
+ * The messages in the currently selected branch of the thread.
30
+ */
31
+ readonly messages: readonly MessageClientState[];
32
+ /**
33
+ * The thread state.
34
+ *
35
+ * @deprecated This feature is experimental
36
+ */
37
+ readonly state: ReadonlyJSONValue;
38
+ /**
39
+ * Follow up message suggestions to show the user.
40
+ */
41
+ readonly suggestions: readonly ThreadSuggestion[];
42
+ /**
43
+ * Custom extra information provided by the runtime.
44
+ */
45
+ readonly extras: unknown;
46
+ /**
47
+ * @deprecated This API is still under active development and might change without notice.
48
+ */
49
+ readonly speech: SpeechState | undefined;
50
+ readonly composer: ComposerClientState;
51
+ };
52
+ export type ThreadClientActions = {
53
+ /**
54
+ * The thread composer runtime.
55
+ */
56
+ readonly composer: StoreApi<ComposerClientState, ComposerClientActions>;
57
+ /**
58
+ * Append a new message to the thread.
59
+ *
60
+ * @example ```ts
61
+ * // append a new user message with the text "Hello, world!"
62
+ * threadRuntime.append("Hello, world!");
63
+ * ```
64
+ *
65
+ * @example ```ts
66
+ * // append a new assistant message with the text "Hello, world!"
67
+ * threadRuntime.append({
68
+ * role: "assistant",
69
+ * content: [{ type: "text", text: "Hello, world!" }],
70
+ * });
71
+ * ```
72
+ */
73
+ append(message: CreateAppendMessage): void;
74
+ /**
75
+ * Start a new run with the given configuration.
76
+ * @param config The configuration for starting the run
77
+ */
78
+ startRun(config: CreateStartRunConfig): void;
79
+ /**
80
+ * Resume a run with the given configuration.
81
+ * @param config The configuration for resuming the run
82
+ **/
83
+ unstable_resumeRun(config: CreateResumeRunConfig): void;
84
+ cancelRun(): void;
85
+ getModelContext(): ModelContext;
86
+ export(): ExportedMessageRepository;
87
+ import(repository: ExportedMessageRepository): void;
88
+ /**
89
+ * Reset the thread with optional initial messages.
90
+ *
91
+ * @param initialMessages - Optional array of initial messages to populate the thread
92
+ */
93
+ reset(initialMessages?: readonly ThreadMessageLike[]): void;
94
+ message(selector: {
95
+ id: string;
96
+ } | {
97
+ index: number;
98
+ }): StoreApi<MessageClientState, MessageClientActions>;
99
+ /**
100
+ * @deprecated This API is still under active development and might change without notice.
101
+ */
102
+ stopSpeaking(): void;
103
+ };
104
+ export declare const ThreadClient: import("@assistant-ui/tap").ResourceElementConstructor<{
105
+ state: ThreadClientState;
106
+ api: StoreApi<ThreadClientState, ThreadClientActions>;
107
+ }, {
108
+ runtime: ThreadRuntime;
109
+ events: EventManagerActions;
110
+ }>;
111
+ //# sourceMappingURL=ThreadClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadClient.d.ts","sourceRoot":"","sources":["../../src/client/ThreadClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,WAAW,EAEX,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAEjD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAEzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IAExE;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAE7C;;;QAGI;IACJ,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAExD,SAAS,IAAI,IAAI,CAAC;IAClB,eAAe,IAAI,YAAY,CAAC;IAEhC,MAAM,IAAI,yBAAyB,CAAC;IACpC,MAAM,CAAC,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAE5D,OAAO,CACL,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAC3C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAEtD;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;CAItB,CAAC;AAyBF,eAAO,MAAM,YAAY;;;;aAKZ,aAAa;YACd,mBAAmB;EAsG9B,CAAC"}
@@ -0,0 +1,126 @@
1
+ // src/client/ThreadClient.ts
2
+ import {
3
+ resource,
4
+ tapInlineResource,
5
+ tapMemo,
6
+ tapEffect
7
+ } from "@assistant-ui/tap";
8
+ import {
9
+ ComposerClient
10
+ } from "./ComposerClient.js";
11
+ import {
12
+ MessageClient
13
+ } from "./MessageClient.js";
14
+ import { tapSubscribable } from "./util-hooks/tapSubscribable.js";
15
+ import { tapApi } from "../utils/tap-store/index.js";
16
+ import { tapLookupResources } from "./util-hooks/tapLookupResources.js";
17
+ var MessageClientById = resource(
18
+ ({
19
+ runtime,
20
+ id,
21
+ events,
22
+ threadIdRef
23
+ }) => {
24
+ const messageRuntime = tapMemo(
25
+ () => runtime.getMessageById(id),
26
+ [runtime, id]
27
+ );
28
+ return tapInlineResource(
29
+ MessageClient({ runtime: messageRuntime, events, threadIdRef })
30
+ );
31
+ }
32
+ );
33
+ var ThreadClient = resource(
34
+ ({
35
+ runtime,
36
+ events
37
+ }) => {
38
+ const runtimeState = tapSubscribable(runtime);
39
+ tapEffect(() => {
40
+ const unsubscribers = [];
41
+ const threadEvents = [
42
+ "run-start",
43
+ "run-end",
44
+ "initialize",
45
+ "model-context-update"
46
+ ];
47
+ for (const event of threadEvents) {
48
+ const unsubscribe = runtime.unstable_on(event, () => {
49
+ const threadId = runtime.getState()?.threadId || "unknown";
50
+ events.emit(`thread.${event}`, {
51
+ threadId
52
+ });
53
+ });
54
+ unsubscribers.push(unsubscribe);
55
+ }
56
+ return () => {
57
+ for (const unsub of unsubscribers) unsub();
58
+ };
59
+ }, [runtime, events]);
60
+ const threadIdRef = tapMemo(
61
+ () => ({
62
+ get current() {
63
+ return runtime.getState().threadId;
64
+ }
65
+ }),
66
+ [runtime]
67
+ );
68
+ const composer = tapInlineResource(
69
+ ComposerClient({
70
+ runtime: runtime.composer,
71
+ events,
72
+ threadIdRef
73
+ })
74
+ );
75
+ const messages = tapLookupResources(
76
+ runtimeState.messages.map(
77
+ (m) => MessageClientById(
78
+ { runtime, id: m.id, events, threadIdRef },
79
+ { key: m.id }
80
+ )
81
+ )
82
+ );
83
+ const state = tapMemo(() => {
84
+ return {
85
+ isDisabled: runtimeState.isDisabled,
86
+ isLoading: runtimeState.isLoading,
87
+ isRunning: runtimeState.isRunning,
88
+ capabilities: runtimeState.capabilities,
89
+ state: runtimeState.state,
90
+ suggestions: runtimeState.suggestions,
91
+ extras: runtimeState.extras,
92
+ speech: runtimeState.speech,
93
+ composer: composer.state,
94
+ messages: messages.state
95
+ };
96
+ }, [runtimeState, messages, composer.state]);
97
+ const api = tapApi(state, {
98
+ composer: composer.api,
99
+ append: runtime.append,
100
+ startRun: runtime.startRun,
101
+ unstable_resumeRun: runtime.unstable_resumeRun,
102
+ cancelRun: runtime.cancelRun,
103
+ getModelContext: runtime.getModelContext,
104
+ export: runtime.export,
105
+ import: runtime.import,
106
+ reset: runtime.reset,
107
+ stopSpeaking: runtime.stopSpeaking,
108
+ message: (selector) => {
109
+ if ("id" in selector) {
110
+ return messages.api({ key: selector.id });
111
+ } else {
112
+ return messages.api(selector);
113
+ }
114
+ },
115
+ __internal_getRuntime: () => runtime
116
+ });
117
+ return {
118
+ state,
119
+ api
120
+ };
121
+ }
122
+ );
123
+ export {
124
+ ThreadClient
125
+ };
126
+ //# sourceMappingURL=ThreadClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/ThreadClient.ts"],"sourcesContent":["import { ReadonlyJSONValue } from \"assistant-stream/utils\";\nimport {\n RuntimeCapabilities,\n SpeechState,\n ThreadRuntimeEventType,\n ThreadSuggestion,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { CreateAppendMessage, CreateStartRunConfig } from \"../api\";\nimport { CreateResumeRunConfig, ThreadRuntime } from \"../api/ThreadRuntime\";\nimport {\n resource,\n tapInlineResource,\n tapMemo,\n tapEffect,\n RefObject,\n} from \"@assistant-ui/tap\";\nimport { ModelContext } from \"../model-context\";\nimport { ExportedMessageRepository, ThreadMessageLike } from \"../runtimes\";\nimport {\n ComposerClient,\n ComposerClientActions,\n ComposerClientState,\n} from \"./ComposerClient\";\nimport {\n MessageClient,\n MessageClientActions,\n MessageClientState,\n} from \"./MessageClient\";\nimport { tapSubscribable } from \"./util-hooks/tapSubscribable\";\nimport { tapApi } from \"../utils/tap-store\";\nimport { tapLookupResources } from \"./util-hooks/tapLookupResources\";\nimport { StoreApi } from \"../utils/tap-store/tap-store-api\";\nimport { Unsubscribe } from \"../types\";\nimport { EventManagerActions } from \"./EventManagerClient\";\n\nexport type ThreadClientState = {\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n readonly isDisabled: boolean;\n\n /**\n * Whether the thread is loading its history.\n */\n readonly isLoading: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n readonly isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n readonly capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n readonly messages: readonly MessageClientState[];\n\n /**\n * The thread state.\n *\n * @deprecated This feature is experimental\n */\n readonly state: ReadonlyJSONValue;\n\n /**\n * Follow up message suggestions to show the user.\n */\n readonly suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n readonly extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n\n readonly composer: ComposerClientState;\n};\n\nexport type ThreadClientActions = {\n /**\n * The thread composer runtime.\n */\n readonly composer: StoreApi<ComposerClientState, ComposerClientActions>;\n\n /**\n * Append a new message to the thread.\n *\n * @example ```ts\n * // append a new user message with the text \"Hello, world!\"\n * threadRuntime.append(\"Hello, world!\");\n * ```\n *\n * @example ```ts\n * // append a new assistant message with the text \"Hello, world!\"\n * threadRuntime.append({\n * role: \"assistant\",\n * content: [{ type: \"text\", text: \"Hello, world!\" }],\n * });\n * ```\n */\n append(message: CreateAppendMessage): void;\n\n /**\n * Start a new run with the given configuration.\n * @param config The configuration for starting the run\n */\n startRun(config: CreateStartRunConfig): void;\n\n /**\n * Resume a run with the given configuration.\n * @param config The configuration for resuming the run\n **/\n unstable_resumeRun(config: CreateResumeRunConfig): void;\n\n cancelRun(): void;\n getModelContext(): ModelContext;\n\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n\n /**\n * Reset the thread with optional initial messages.\n *\n * @param initialMessages - Optional array of initial messages to populate the thread\n */\n reset(initialMessages?: readonly ThreadMessageLike[]): void;\n\n message(\n selector: { id: string } | { index: number },\n ): StoreApi<MessageClientState, MessageClientActions>;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n\n /** @internal */\n __internal_getRuntime(): ThreadRuntime;\n};\n\nconst MessageClientById = resource(\n ({\n runtime,\n id,\n events,\n threadIdRef,\n }: {\n runtime: ThreadRuntime;\n id: string;\n events: EventManagerActions;\n threadIdRef: RefObject<string>;\n }) => {\n const messageRuntime = tapMemo(\n () => runtime.getMessageById(id),\n [runtime, id],\n );\n\n return tapInlineResource(\n MessageClient({ runtime: messageRuntime, events, threadIdRef }),\n );\n },\n);\n\nexport const ThreadClient = resource(\n ({\n runtime,\n events,\n }: {\n runtime: ThreadRuntime;\n events: EventManagerActions;\n }) => {\n const runtimeState = tapSubscribable(runtime);\n\n // Bind thread events to event manager\n tapEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n // Subscribe to thread events\n const threadEvents: ThreadRuntimeEventType[] = [\n \"run-start\",\n \"run-end\",\n \"initialize\",\n \"model-context-update\",\n ];\n\n for (const event of threadEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n events.emit(`thread.${event}`, {\n threadId,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, events]);\n\n const threadIdRef = tapMemo(\n () => ({\n get current() {\n return runtime.getState()!.threadId;\n },\n }),\n [runtime],\n );\n\n const composer = tapInlineResource(\n ComposerClient({\n runtime: runtime.composer,\n events,\n threadIdRef,\n }),\n );\n\n const messages = tapLookupResources(\n runtimeState.messages.map((m) =>\n MessageClientById(\n { runtime: runtime, id: m.id, events, threadIdRef },\n { key: m.id },\n ),\n ),\n );\n\n const state = tapMemo<ThreadClientState>(() => {\n return {\n isDisabled: runtimeState.isDisabled,\n isLoading: runtimeState.isLoading,\n isRunning: runtimeState.isRunning,\n capabilities: runtimeState.capabilities,\n state: runtimeState.state,\n suggestions: runtimeState.suggestions,\n extras: runtimeState.extras,\n speech: runtimeState.speech,\n\n composer: composer.state,\n messages: messages.state,\n };\n }, [runtimeState, messages, composer.state]);\n\n const api = tapApi<ThreadClientState, ThreadClientActions>(state, {\n composer: composer.api,\n\n append: runtime.append,\n startRun: runtime.startRun,\n unstable_resumeRun: runtime.unstable_resumeRun,\n cancelRun: runtime.cancelRun,\n getModelContext: runtime.getModelContext,\n export: runtime.export,\n import: runtime.import,\n reset: runtime.reset,\n stopSpeaking: runtime.stopSpeaking,\n\n message: (selector) => {\n if (\"id\" in selector) {\n return messages.api({ key: selector.id });\n } else {\n return messages.api(selector);\n }\n },\n\n __internal_getRuntime: () => runtime,\n });\n\n return {\n state,\n api,\n };\n },\n);\n"],"mappings":";AASA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAGP;AAAA,EACE;AAAA,OAGK;AACP;AAAA,EACE;AAAA,OAGK;AACP,SAAS,uBAAuB;AAChC,SAAS,cAAc;AACvB,SAAS,0BAA0B;AAsHnC,IAAM,oBAAoB;AAAA,EACxB,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAKM;AACJ,UAAM,iBAAiB;AAAA,MACrB,MAAM,QAAQ,eAAe,EAAE;AAAA,MAC/B,CAAC,SAAS,EAAE;AAAA,IACd;AAEA,WAAO;AAAA,MACL,cAAc,EAAE,SAAS,gBAAgB,QAAQ,YAAY,CAAC;AAAA,IAChE;AAAA,EACF;AACF;AAEO,IAAM,eAAe;AAAA,EAC1B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,EACF,MAGM;AACJ,UAAM,eAAe,gBAAgB,OAAO;AAG5C,cAAU,MAAM;AACd,YAAM,gBAA+B,CAAC;AAGtC,YAAM,eAAyC;AAAA,QAC7C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,iBAAW,SAAS,cAAc;AAChC,cAAM,cAAc,QAAQ,YAAY,OAAO,MAAM;AACnD,gBAAM,WAAW,QAAQ,SAAS,GAAG,YAAY;AACjD,iBAAO,KAAK,UAAU,KAAK,IAAI;AAAA,YAC7B;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AACD,sBAAc,KAAK,WAAW;AAAA,MAChC;AAEA,aAAO,MAAM;AACX,mBAAW,SAAS,cAAe,OAAM;AAAA,MAC3C;AAAA,IACF,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,UAAM,cAAc;AAAA,MAClB,OAAO;AAAA,QACL,IAAI,UAAU;AACZ,iBAAO,QAAQ,SAAS,EAAG;AAAA,QAC7B;AAAA,MACF;AAAA,MACA,CAAC,OAAO;AAAA,IACV;AAEA,UAAM,WAAW;AAAA,MACf,eAAe;AAAA,QACb,SAAS,QAAQ;AAAA,QACjB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,WAAW;AAAA,MACf,aAAa,SAAS;AAAA,QAAI,CAAC,MACzB;AAAA,UACE,EAAE,SAAkB,IAAI,EAAE,IAAI,QAAQ,YAAY;AAAA,UAClD,EAAE,KAAK,EAAE,GAAG;AAAA,QACd;AAAA,MACF;AAAA,IACF;AAEA,UAAM,QAAQ,QAA2B,MAAM;AAC7C,aAAO;AAAA,QACL,YAAY,aAAa;AAAA,QACzB,WAAW,aAAa;AAAA,QACxB,WAAW,aAAa;AAAA,QACxB,cAAc,aAAa;AAAA,QAC3B,OAAO,aAAa;AAAA,QACpB,aAAa,aAAa;AAAA,QAC1B,QAAQ,aAAa;AAAA,QACrB,QAAQ,aAAa;AAAA,QAErB,UAAU,SAAS;AAAA,QACnB,UAAU,SAAS;AAAA,MACrB;AAAA,IACF,GAAG,CAAC,cAAc,UAAU,SAAS,KAAK,CAAC;AAE3C,UAAM,MAAM,OAA+C,OAAO;AAAA,MAChE,UAAU,SAAS;AAAA,MAEnB,QAAQ,QAAQ;AAAA,MAChB,UAAU,QAAQ;AAAA,MAClB,oBAAoB,QAAQ;AAAA,MAC5B,WAAW,QAAQ;AAAA,MACnB,iBAAiB,QAAQ;AAAA,MACzB,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,MAChB,OAAO,QAAQ;AAAA,MACf,cAAc,QAAQ;AAAA,MAEtB,SAAS,CAAC,aAAa;AACrB,YAAI,QAAQ,UAAU;AACpB,iBAAO,SAAS,IAAI,EAAE,KAAK,SAAS,GAAG,CAAC;AAAA,QAC1C,OAAO;AACL,iBAAO,SAAS,IAAI,QAAQ;AAAA,QAC9B;AAAA,MACF;AAAA,MAEA,uBAAuB,MAAM;AAAA,IAC/B,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,33 @@
1
+ import { ThreadListRuntime } from "../api/ThreadListRuntime";
2
+ import { ThreadListItemClientState, ThreadListItemClientActions } from "./ThreadListItemClient";
3
+ import { ThreadClientActions, ThreadClientState } from "./ThreadClient";
4
+ import { StoreApi } from "../utils/tap-store/tap-store-api";
5
+ import { EventManagerActions } from "./EventManagerClient";
6
+ export type ThreadListClientState = {
7
+ readonly mainThreadId: string;
8
+ readonly newThreadId: string | undefined;
9
+ readonly isLoading: boolean;
10
+ readonly threadIds: readonly string[];
11
+ readonly archivedThreadIds: readonly string[];
12
+ readonly threadItems: readonly ThreadListItemClientState[];
13
+ readonly main: ThreadClientState;
14
+ };
15
+ export type ThreadListClientActions = {
16
+ switchToThread(threadId: string): void;
17
+ switchToNewThread(): void;
18
+ item(threadIdOrOptions: "main" | {
19
+ id: string;
20
+ } | {
21
+ index: number;
22
+ archived?: boolean;
23
+ }): StoreApi<ThreadListItemClientState, ThreadListItemClientActions>;
24
+ thread(selector: "main"): StoreApi<ThreadClientState, ThreadClientActions>;
25
+ };
26
+ export declare const ThreadListClient: import("@assistant-ui/tap").ResourceElementConstructor<{
27
+ state: ThreadListClientState;
28
+ api: StoreApi<ThreadListClientState, ThreadListClientActions>;
29
+ }, {
30
+ runtime: ThreadListRuntime;
31
+ events: EventManagerActions;
32
+ }>;
33
+ //# sourceMappingURL=ThreadListClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadListClient.d.ts","sourceRoot":"","sources":["../../src/client/ThreadListClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAE5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAE9C,QAAQ,CAAC,WAAW,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAE3D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,IAAI,IAAI,CAAC;IAC1B,IAAI,CACF,iBAAiB,EACb,MAAM,GACN;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GACd;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACxC,QAAQ,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC;IAEpE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;CAC5E,CAAC;AAyBF,eAAO,MAAM,gBAAgB;;;;aAKhB,iBAAiB;YAClB,mBAAmB;EA8D9B,CAAC"}