@assistant-ui/core 0.2.22 → 0.3.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 (349) hide show
  1. package/dist/adapters/thread-history.d.ts +8 -0
  2. package/dist/adapters/thread-history.d.ts.map +1 -1
  3. package/dist/internal.d.ts +3 -2
  4. package/dist/internal.js +3 -2
  5. package/dist/model-context/frame/host.d.ts.map +1 -1
  6. package/dist/model-context/frame/host.js +36 -21
  7. package/dist/model-context/frame/host.js.map +1 -1
  8. package/dist/model-context/types.d.ts.map +1 -1
  9. package/dist/model-context/types.js +13 -4
  10. package/dist/model-context/types.js.map +1 -1
  11. package/dist/react/adapters/LocalStorageThreadListAdapter.d.ts.map +1 -1
  12. package/dist/react/adapters/LocalStorageThreadListAdapter.js +3 -2
  13. package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
  14. package/dist/react/client/Tools.d.ts.map +1 -1
  15. package/dist/react/client/Tools.js +40 -55
  16. package/dist/react/client/Tools.js.map +1 -1
  17. package/dist/react/client/interactable-model-context.js +1 -0
  18. package/dist/react/client/interactable-model-context.js.map +1 -1
  19. package/dist/react/interactables-legacy/useAssistantInteractable.js +1 -1
  20. package/dist/react/interactables-legacy/useAssistantInteractable.js.map +1 -1
  21. package/dist/react/interactables-legacy/useInteractableState.js +4 -3
  22. package/dist/react/interactables-legacy/useInteractableState.js.map +1 -1
  23. package/dist/react/model-context/useAssistantContext.js +1 -1
  24. package/dist/react/model-context/useAssistantContext.js.map +1 -1
  25. package/dist/react/model-context/useAssistantDataUI.js +1 -1
  26. package/dist/react/model-context/useAssistantDataUI.js.map +1 -1
  27. package/dist/react/model-context/useAssistantInstructions.js +1 -1
  28. package/dist/react/model-context/useAssistantInstructions.js.map +1 -1
  29. package/dist/react/model-context/useAssistantTool.js +29 -25
  30. package/dist/react/model-context/useAssistantTool.js.map +1 -1
  31. package/dist/react/model-context/useAssistantToolUI.js +1 -1
  32. package/dist/react/model-context/useAssistantToolUI.js.map +1 -1
  33. package/dist/react/model-context/useAuiToolOverrides.js +1 -1
  34. package/dist/react/model-context/useAuiToolOverrides.js.map +1 -1
  35. package/dist/react/model-context/useInteractable.js +1 -1
  36. package/dist/react/model-context/useInteractable.js.map +1 -1
  37. package/dist/react/model-context/useInteractableState.js +3 -2
  38. package/dist/react/model-context/useInteractableState.js.map +1 -1
  39. package/dist/react/model-context/useInteractableVersions.js +1 -0
  40. package/dist/react/model-context/useInteractableVersions.js.map +1 -1
  41. package/dist/react/model-context/useToolArgsStatus.js +1 -0
  42. package/dist/react/model-context/useToolArgsStatus.js.map +1 -1
  43. package/dist/react/primitive-hooks/useActionBarCopy.js +4 -3
  44. package/dist/react/primitive-hooks/useActionBarCopy.js.map +1 -1
  45. package/dist/react/primitive-hooks/useActionBarEdit.js +2 -1
  46. package/dist/react/primitive-hooks/useActionBarEdit.js.map +1 -1
  47. package/dist/react/primitive-hooks/useActionBarFeedback.js +3 -2
  48. package/dist/react/primitive-hooks/useActionBarFeedback.js.map +1 -1
  49. package/dist/react/primitive-hooks/useActionBarReload.js +2 -1
  50. package/dist/react/primitive-hooks/useActionBarReload.js.map +1 -1
  51. package/dist/react/primitive-hooks/useActionBarSpeak.js +2 -1
  52. package/dist/react/primitive-hooks/useActionBarSpeak.js.map +1 -1
  53. package/dist/react/primitive-hooks/useActionBarStopSpeaking.js +2 -1
  54. package/dist/react/primitive-hooks/useActionBarStopSpeaking.js.map +1 -1
  55. package/dist/react/primitive-hooks/useBranchPickerNext.js +2 -1
  56. package/dist/react/primitive-hooks/useBranchPickerNext.js.map +1 -1
  57. package/dist/react/primitive-hooks/useBranchPickerPrevious.js +2 -1
  58. package/dist/react/primitive-hooks/useBranchPickerPrevious.js.map +1 -1
  59. package/dist/react/primitive-hooks/useComposerAddAttachment.js +2 -1
  60. package/dist/react/primitive-hooks/useComposerAddAttachment.js.map +1 -1
  61. package/dist/react/primitive-hooks/useComposerCancel.js +2 -1
  62. package/dist/react/primitive-hooks/useComposerCancel.js.map +1 -1
  63. package/dist/react/primitive-hooks/useComposerDictate.js +2 -1
  64. package/dist/react/primitive-hooks/useComposerDictate.js.map +1 -1
  65. package/dist/react/primitive-hooks/useComposerSend.js +2 -1
  66. package/dist/react/primitive-hooks/useComposerSend.js.map +1 -1
  67. package/dist/react/primitive-hooks/useEditComposerCancel.js +2 -1
  68. package/dist/react/primitive-hooks/useEditComposerCancel.js.map +1 -1
  69. package/dist/react/primitive-hooks/useEditComposerSend.js +2 -1
  70. package/dist/react/primitive-hooks/useEditComposerSend.js.map +1 -1
  71. package/dist/react/primitive-hooks/useMessageBranching.js +3 -2
  72. package/dist/react/primitive-hooks/useMessageBranching.js.map +1 -1
  73. package/dist/react/primitive-hooks/useMessageReload.js +2 -1
  74. package/dist/react/primitive-hooks/useMessageReload.js.map +1 -1
  75. package/dist/react/primitive-hooks/useSuggestionTrigger.js +8 -7
  76. package/dist/react/primitive-hooks/useSuggestionTrigger.js.map +1 -1
  77. package/dist/react/primitive-hooks/useThreadListItemArchive.js +2 -1
  78. package/dist/react/primitive-hooks/useThreadListItemArchive.js.map +1 -1
  79. package/dist/react/primitive-hooks/useThreadListItemDelete.js +2 -1
  80. package/dist/react/primitive-hooks/useThreadListItemDelete.js.map +1 -1
  81. package/dist/react/primitive-hooks/useThreadListItemTrigger.js +2 -1
  82. package/dist/react/primitive-hooks/useThreadListItemTrigger.js.map +1 -1
  83. package/dist/react/primitive-hooks/useThreadListItemUnarchive.js +2 -1
  84. package/dist/react/primitive-hooks/useThreadListItemUnarchive.js.map +1 -1
  85. package/dist/react/primitive-hooks/useThreadListLoadMore.js +2 -1
  86. package/dist/react/primitive-hooks/useThreadListLoadMore.js.map +1 -1
  87. package/dist/react/primitive-hooks/useThreadListNew.js +2 -1
  88. package/dist/react/primitive-hooks/useThreadListNew.js.map +1 -1
  89. package/dist/react/primitive-hooks/useVoice.js +5 -13
  90. package/dist/react/primitive-hooks/useVoice.js.map +1 -1
  91. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js +1 -1
  92. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js.map +1 -1
  93. package/dist/react/primitives/composer/ComposerAttachments.js +1 -1
  94. package/dist/react/primitives/composer/ComposerAttachments.js.map +1 -1
  95. package/dist/react/primitives/composer/ComposerQueue.d.ts.map +1 -1
  96. package/dist/react/primitives/composer/ComposerQueue.js +1 -1
  97. package/dist/react/primitives/composer/ComposerQueue.js.map +1 -1
  98. package/dist/react/primitives/message/MessageAttachments.d.ts.map +1 -1
  99. package/dist/react/primitives/message/MessageAttachments.js +1 -1
  100. package/dist/react/primitives/message/MessageAttachments.js.map +1 -1
  101. package/dist/react/primitives/message/MessageParts.js +84 -122
  102. package/dist/react/primitives/message/MessageParts.js.map +1 -1
  103. package/dist/react/primitives/thread/ThreadMessages.js +1 -1
  104. package/dist/react/primitives/thread/ThreadMessages.js.map +1 -1
  105. package/dist/react/primitives/thread/ThreadSuggestions.js +1 -1
  106. package/dist/react/primitives/thread/ThreadSuggestions.js.map +1 -1
  107. package/dist/react/primitives/threadList/ThreadListItems.js +1 -1
  108. package/dist/react/primitives/threadList/ThreadListItems.js.map +1 -1
  109. package/dist/react/providers/AttachmentByIndexProvider.js +2 -2
  110. package/dist/react/providers/AttachmentByIndexProvider.js.map +1 -1
  111. package/dist/react/providers/ChainOfThoughtByIndicesProvider.js +1 -1
  112. package/dist/react/providers/ChainOfThoughtByIndicesProvider.js.map +1 -1
  113. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -1
  114. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js +30 -18
  115. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js.map +1 -1
  116. package/dist/react/providers/MessageByIdProvider.js +2 -2
  117. package/dist/react/providers/MessageByIdProvider.js.map +1 -1
  118. package/dist/react/providers/MessageByIndexProvider.js +2 -2
  119. package/dist/react/providers/MessageByIndexProvider.js.map +1 -1
  120. package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -1
  121. package/dist/react/providers/PartByIndexProvider.js +30 -18
  122. package/dist/react/providers/PartByIndexProvider.js.map +1 -1
  123. package/dist/react/providers/QueueItemByIndexProvider.js +1 -1
  124. package/dist/react/providers/QueueItemByIndexProvider.js.map +1 -1
  125. package/dist/react/providers/ReadonlyThreadProvider.js +1 -1
  126. package/dist/react/providers/ReadonlyThreadProvider.js.map +1 -1
  127. package/dist/react/providers/SuggestionByIndexProvider.js +1 -1
  128. package/dist/react/providers/SuggestionByIndexProvider.js.map +1 -1
  129. package/dist/react/providers/TextMessagePartProvider.js +1 -0
  130. package/dist/react/providers/TextMessagePartProvider.js.map +1 -1
  131. package/dist/react/providers/ThreadListItemByIndexProvider.js +1 -1
  132. package/dist/react/providers/ThreadListItemByIndexProvider.js.map +1 -1
  133. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +3 -3
  134. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
  135. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  136. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js +6 -4
  137. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  138. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts +31 -1
  139. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  140. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +42 -20
  141. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  142. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts +1 -1
  143. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.d.ts.map +1 -1
  144. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js +1 -1
  145. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js.map +1 -1
  146. package/dist/react/runtimes/cloud/auiV0.d.ts +12 -1
  147. package/dist/react/runtimes/cloud/auiV0.d.ts.map +1 -1
  148. package/dist/react/runtimes/cloud/auiV0.js +2 -1
  149. package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
  150. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js +75 -73
  151. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js.map +1 -1
  152. package/dist/react/runtimes/createRuntimeExtras.js +1 -1
  153. package/dist/react/runtimes/createRuntimeExtras.js.map +1 -1
  154. package/dist/react/runtimes/external-message-converter.js +1 -1
  155. package/dist/react/runtimes/external-message-converter.js.map +1 -1
  156. package/dist/react/runtimes/useExternalStoreSharedOptions.js +1 -0
  157. package/dist/react/runtimes/useExternalStoreSharedOptions.js.map +1 -1
  158. package/dist/react/runtimes/useLocalRuntime.d.ts +0 -1
  159. package/dist/react/runtimes/useLocalRuntime.d.ts.map +1 -1
  160. package/dist/react/types/scopes/tools.d.ts +0 -6
  161. package/dist/react/types/scopes/tools.d.ts.map +1 -1
  162. package/dist/react/utils/groupParts.d.ts +1 -3
  163. package/dist/react/utils/groupParts.d.ts.map +1 -1
  164. package/dist/react/utils/groupParts.js +1 -3
  165. package/dist/react/utils/groupParts.js.map +1 -1
  166. package/dist/runtime/api/assistant-runtime.d.ts +1 -1
  167. package/dist/runtime/api/assistant-runtime.d.ts.map +1 -1
  168. package/dist/runtime/api/assistant-runtime.js +1 -1
  169. package/dist/runtime/api/assistant-runtime.js.map +1 -1
  170. package/dist/runtime/api/attachment-runtime.d.ts +1 -1
  171. package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
  172. package/dist/runtime/api/attachment-runtime.js +1 -1
  173. package/dist/runtime/api/attachment-runtime.js.map +1 -1
  174. package/dist/runtime/api/composer-runtime.d.ts +2 -2
  175. package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
  176. package/dist/runtime/api/composer-runtime.js +2 -2
  177. package/dist/runtime/api/composer-runtime.js.map +1 -1
  178. package/dist/runtime/api/message-part-runtime.d.ts +4 -4
  179. package/dist/runtime/api/message-part-runtime.d.ts.map +1 -1
  180. package/dist/runtime/api/message-part-runtime.js +3 -3
  181. package/dist/runtime/api/message-part-runtime.js.map +1 -1
  182. package/dist/runtime/api/message-runtime.d.ts +1 -1
  183. package/dist/runtime/api/message-runtime.d.ts.map +1 -1
  184. package/dist/runtime/api/message-runtime.js +2 -2
  185. package/dist/runtime/api/message-runtime.js.map +1 -1
  186. package/dist/runtime/api/thread-list-item-runtime.d.ts +1 -1
  187. package/dist/runtime/api/thread-list-item-runtime.d.ts.map +1 -1
  188. package/dist/runtime/api/thread-list-item-runtime.js +2 -2
  189. package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
  190. package/dist/runtime/api/thread-list-runtime.d.ts +1 -1
  191. package/dist/runtime/api/thread-list-runtime.d.ts.map +1 -1
  192. package/dist/runtime/api/thread-list-runtime.js +1 -1
  193. package/dist/runtime/api/thread-list-runtime.js.map +1 -1
  194. package/dist/runtime/base/base-thread-runtime-core.d.ts +1 -1
  195. package/dist/runtime/base/base-thread-runtime-core.d.ts.map +1 -1
  196. package/dist/runtime/base/base-thread-runtime-core.js +1 -1
  197. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  198. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts +2 -2
  199. package/dist/runtime/base/default-edit-composer-runtime-core.d.ts.map +1 -1
  200. package/dist/runtime/base/default-edit-composer-runtime-core.js +2 -2
  201. package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
  202. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +1 -1
  203. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
  204. package/dist/runtime/base/default-thread-composer-runtime-core.js +1 -1
  205. package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
  206. package/dist/runtime/utils/message-repository.d.ts.map +1 -1
  207. package/dist/runtime/utils/message-repository.js +4 -2
  208. package/dist/runtime/utils/message-repository.js.map +1 -1
  209. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts +1 -1
  210. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.d.ts.map +1 -1
  211. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js +1 -1
  212. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
  213. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
  214. package/dist/runtimes/external-store/external-store-thread-runtime-core.js +12 -0
  215. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  216. package/dist/runtimes/internal.d.ts +2 -1
  217. package/dist/runtimes/internal.js +2 -1
  218. package/dist/runtimes/local/local-thread-runtime-core.d.ts +3 -0
  219. package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
  220. package/dist/runtimes/local/local-thread-runtime-core.js +44 -13
  221. package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
  222. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts +32 -27
  223. package/dist/runtimes/tool-invocations/ToolInvocationTracker.d.ts.map +1 -1
  224. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js +2 -0
  225. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
  226. package/dist/store/clients/no-op-composer-client.js +1 -0
  227. package/dist/store/clients/no-op-composer-client.js.map +1 -1
  228. package/dist/store/clients/runtime-adapter.js +3 -3
  229. package/dist/store/clients/runtime-adapter.js.map +1 -1
  230. package/dist/store/runtime-clients/thread-list-runtime-client.js +1 -0
  231. package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
  232. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  233. package/dist/store/runtime-clients/thread-runtime-client.js +17 -15
  234. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  235. package/dist/store/scopes/thread.d.ts +1 -0
  236. package/dist/store/scopes/thread.d.ts.map +1 -1
  237. package/dist/subscribable/subscribable.d.ts +3 -3
  238. package/dist/subscribable/subscribable.d.ts.map +1 -1
  239. package/dist/subscribable/subscribable.js +3 -3
  240. package/dist/subscribable/subscribable.js.map +1 -1
  241. package/package.json +8 -8
  242. package/src/adapters/thread-history.ts +8 -0
  243. package/src/internal.ts +1 -1
  244. package/src/model-context/frame/host.test.ts +47 -0
  245. package/src/model-context/frame/host.ts +46 -19
  246. package/src/model-context/types.ts +16 -6
  247. package/src/react/adapters/LocalStorageThreadListAdapter.tsx +17 -7
  248. package/src/react/client/Tools.ts +0 -7
  249. package/src/react/interactables-legacy/useAssistantInteractable.ts +1 -1
  250. package/src/react/interactables-legacy/useInteractableState.ts +3 -3
  251. package/src/react/model-context/useAssistantContext.ts +1 -1
  252. package/src/react/model-context/useAssistantDataUI.ts +1 -1
  253. package/src/react/model-context/useAssistantInstructions.ts +1 -1
  254. package/src/react/model-context/useAssistantTool.ts +2 -2
  255. package/src/react/model-context/useAssistantToolUI.ts +1 -1
  256. package/src/react/model-context/useAuiToolOverrides.ts +1 -1
  257. package/src/react/model-context/useInteractable.ts +1 -1
  258. package/src/react/model-context/useInteractableState.ts +2 -2
  259. package/src/react/primitive-hooks/useActionBarCopy.test.ts +2 -2
  260. package/src/react/primitive-hooks/useActionBarCopy.ts +3 -3
  261. package/src/react/primitive-hooks/useActionBarEdit.ts +1 -1
  262. package/src/react/primitive-hooks/useActionBarFeedback.ts +2 -2
  263. package/src/react/primitive-hooks/useActionBarReload.ts +1 -1
  264. package/src/react/primitive-hooks/useActionBarSpeak.ts +1 -1
  265. package/src/react/primitive-hooks/useActionBarStopSpeaking.ts +1 -1
  266. package/src/react/primitive-hooks/useBranchPickerNext.ts +1 -1
  267. package/src/react/primitive-hooks/useBranchPickerPrevious.ts +1 -1
  268. package/src/react/primitive-hooks/useComposerAddAttachment.ts +1 -1
  269. package/src/react/primitive-hooks/useComposerCancel.ts +1 -1
  270. package/src/react/primitive-hooks/useComposerDictate.ts +1 -1
  271. package/src/react/primitive-hooks/useComposerSend.ts +1 -1
  272. package/src/react/primitive-hooks/useEditComposerCancel.ts +1 -1
  273. package/src/react/primitive-hooks/useEditComposerSend.ts +1 -1
  274. package/src/react/primitive-hooks/useMessageBranching.ts +2 -2
  275. package/src/react/primitive-hooks/useMessageReload.ts +1 -1
  276. package/src/react/primitive-hooks/useSuggestionTrigger.ts +9 -9
  277. package/src/react/primitive-hooks/useThreadListItemArchive.ts +1 -1
  278. package/src/react/primitive-hooks/useThreadListItemDelete.ts +1 -1
  279. package/src/react/primitive-hooks/useThreadListItemTrigger.ts +1 -1
  280. package/src/react/primitive-hooks/useThreadListItemUnarchive.ts +1 -1
  281. package/src/react/primitive-hooks/useThreadListLoadMore.ts +1 -1
  282. package/src/react/primitive-hooks/useThreadListNew.ts +1 -1
  283. package/src/react/primitive-hooks/useVoice.ts +5 -5
  284. package/src/react/primitives/chainOfThought/ChainOfThoughtParts.tsx +1 -1
  285. package/src/react/primitives/composer/ComposerAttachments.tsx +1 -1
  286. package/src/react/primitives/composer/ComposerQueue.tsx +1 -3
  287. package/src/react/primitives/message/MessageAttachments.tsx +1 -3
  288. package/src/react/primitives/message/MessageParts.tsx +9 -9
  289. package/src/react/primitives/thread/ThreadMessages.tsx +1 -1
  290. package/src/react/primitives/thread/ThreadSuggestions.tsx +1 -1
  291. package/src/react/primitives/threadList/ThreadListItems.tsx +1 -1
  292. package/src/react/providers/AttachmentByIndexProvider.tsx +2 -2
  293. package/src/react/providers/ChainOfThoughtByIndicesProvider.tsx +1 -1
  294. package/src/react/providers/ChainOfThoughtPartByIndexProvider.tsx +2 -19
  295. package/src/react/providers/MessageByIdProvider.tsx +2 -2
  296. package/src/react/providers/MessageByIndexProvider.tsx +2 -2
  297. package/src/react/providers/PartByIndexProvider.tsx +2 -16
  298. package/src/react/providers/QueueItemByIndexProvider.tsx +1 -1
  299. package/src/react/providers/ReadonlyThreadProvider.tsx +1 -1
  300. package/src/react/providers/SuggestionByIndexProvider.tsx +1 -1
  301. package/src/react/providers/ThreadListItemByIndexProvider.tsx +1 -1
  302. package/src/react/runtimes/RemoteThreadListHookInstanceManager.tsx +3 -3
  303. package/src/react/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +20 -6
  304. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.ts +34 -0
  305. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.test.tsx +32 -7
  306. package/src/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.ts +47 -16
  307. package/src/react/runtimes/cloud/CloudFileAttachmentAdapter.ts +5 -1
  308. package/src/react/runtimes/cloud/auiV0.ts +14 -0
  309. package/src/react/runtimes/cloud/useCloudThreadListAdapter.tsx +90 -88
  310. package/src/react/runtimes/createRuntimeExtras.test.ts +1 -1
  311. package/src/react/runtimes/createRuntimeExtras.ts +1 -1
  312. package/src/react/runtimes/external-message-converter.test.ts +346 -0
  313. package/src/react/runtimes/external-message-converter.ts +1 -1
  314. package/src/react/runtimes/useLocalRuntime.test.tsx +43 -0
  315. package/src/react/types/scopes/tools.ts +0 -6
  316. package/src/react/utils/groupParts.ts +1 -7
  317. package/src/runtime/api/assistant-runtime.ts +4 -1
  318. package/src/runtime/api/attachment-runtime.ts +8 -2
  319. package/src/runtime/api/composer-runtime.ts +9 -5
  320. package/src/runtime/api/message-part-runtime.ts +10 -3
  321. package/src/runtime/api/message-runtime.ts +7 -2
  322. package/src/runtime/api/thread-list-item-runtime.ts +7 -2
  323. package/src/runtime/api/thread-list-runtime.ts +10 -2
  324. package/src/runtime/base/base-thread-runtime-core.ts +5 -1
  325. package/src/runtime/base/default-edit-composer-runtime-core.ts +14 -2
  326. package/src/runtime/base/default-thread-composer-runtime-core.ts +11 -1
  327. package/src/runtime/utils/message-repository.ts +19 -13
  328. package/src/runtimes/external-store/external-store-thread-list-runtime-core.ts +4 -1
  329. package/src/runtimes/external-store/external-store-thread-runtime-core.ts +15 -0
  330. package/src/runtimes/internal.ts +3 -0
  331. package/src/runtimes/local/local-thread-runtime-core.test.ts +596 -0
  332. package/src/runtimes/local/local-thread-runtime-core.ts +85 -21
  333. package/src/runtimes/local/should-continue.test.ts +122 -0
  334. package/src/runtimes/tool-invocations/ToolInvocationTracker.test.ts +9 -10
  335. package/src/runtimes/tool-invocations/ToolInvocationTracker.ts +38 -32
  336. package/src/store/clients/model-context-client.test.ts +21 -1
  337. package/src/store/clients/runtime-adapter.ts +3 -3
  338. package/src/store/runtime-clients/thread-runtime-client.ts +2 -1
  339. package/src/store/scopes/thread.ts +1 -0
  340. package/src/subscribable/subscribable.ts +16 -8
  341. package/src/tests/MessageRepository.test.ts +12 -0
  342. package/src/tests/RemoteThreadListThreadListRuntimeCore-switchToThread-position.test.ts +121 -0
  343. package/src/tests/auiV0Encode.test.ts +74 -0
  344. package/src/tests/base-composer-runtime-core.test.ts +422 -0
  345. package/src/tests/external-store-thread-list-runtime-core.test.ts +6 -6
  346. package/src/tests/external-store-thread-runtime-core-adapter.test.ts +575 -0
  347. package/src/tests/external-store-thread-runtime-core.test.ts +55 -1
  348. package/src/tests/groupParts.test.ts +3 -48
  349. package/src/tests/OptimisticState-delete-crash.test.ts +0 -208
@@ -1 +1 @@
1
- {"version":3,"file":"useEditComposerSend.js","names":["useCallback","useAui","useAuiState","useEditComposerSend","$","_c","aui","disabled","_temp","t0","composer","send","t1","s","isEmpty"],"sources":["../../../src/react/primitive-hooks/useEditComposerSend.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport const useEditComposerSend = () => {\n const aui = useAui();\n const disabled = useAuiState((s) => s.composer.isEmpty);\n\n const send = useCallback(() => {\n aui.composer().send();\n }, [aui]);\n\n return { send, disabled };\n};\n"],"mappings":";;;AAGA,MAAaG,4BAAsB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACjC,MAAAC,MAAYL,OAAO;CACnB,MAAAM,WAAiBL,YAAYM,KAAyB;CAAE,IAAAC;CAAA,IAAAL,EAAA,OAAAE,KAAA;EAE/BG,WAAA;GACvBH,IAAGI,SAAU,CAAC,CAAAC,KAAM;EAAC;EACtBP,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAFD,MAAAO,OAAaF;CAEH,IAAAG;CAAA,IAAAR,EAAA,OAAAG,YAAAH,EAAA,OAAAO,MAAA;EAEHC,KAAA;GAAAD;GAAAJ;EAAiB;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAAlBQ;AAAkB;AARQ,SAAAJ,MAAAK,GAAA;CAAA,OAEGA,EAACH,SAASI;AAAQ"}
1
+ {"version":3,"file":"useEditComposerSend.js","names":["useCallback","useAui","useAuiState","useEditComposerSend","$","_c","aui","disabled","_temp","t0","composer","send","t1","s","isEmpty"],"sources":["../../../src/react/primitive-hooks/useEditComposerSend.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport const useEditComposerSend = () => {\n const aui = useAui();\n const disabled = useAuiState((s) => s.composer.isEmpty);\n\n const send = useCallback(() => {\n aui.composer.send();\n }, [aui]);\n\n return { send, disabled };\n};\n"],"mappings":";;;;AAGA,MAAaG,4BAAsB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACjC,MAAAC,MAAYL,OAAO;CACnB,MAAAM,WAAiBL,YAAYM,KAAyB;CAAE,IAAAC;CAAA,IAAAL,EAAA,OAAAE,KAAA;EAE/BG,WAAA;GACvBH,IAAGI,SAASC,KAAM;EAAC;EACpBP,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAFD,MAAAO,OAAaF;CAEH,IAAAG;CAAA,IAAAR,EAAA,OAAAG,YAAAH,EAAA,OAAAO,MAAA;EAEHC,KAAA;GAAAD;GAAAJ;EAAiB;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAAlBQ;AAAkB;AARQ,SAAAJ,MAAAK,GAAA;CAAA,OAEGA,EAACH,SAASI;AAAQ"}
@@ -1,4 +1,5 @@
1
1
  import { useAui, useAuiState } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useMessageBranching.ts
4
5
  const useMessageBranching = () => {
@@ -9,7 +10,7 @@ const useMessageBranching = () => {
9
10
  let t0;
10
11
  if ($[0] !== aui) {
11
12
  t0 = () => {
12
- aui.message().switchToBranch({ position: "previous" });
13
+ aui.message.switchToBranch({ position: "previous" });
13
14
  };
14
15
  $[0] = aui;
15
16
  $[1] = t0;
@@ -18,7 +19,7 @@ const useMessageBranching = () => {
18
19
  let t1;
19
20
  if ($[2] !== aui) {
20
21
  t1 = () => {
21
- aui.message().switchToBranch({ position: "next" });
22
+ aui.message.switchToBranch({ position: "next" });
22
23
  };
23
24
  $[2] = aui;
24
25
  $[3] = t1;
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageBranching.js","names":["useCallback","useAui","useAuiState","useMessageBranching","$","_c","aui","branchNumber","_temp","branchCount","_temp2","t0","message","switchToBranch","position","goToPrev","t1","goToNext","t2","s","s_0"],"sources":["../../../src/react/primitive-hooks/useMessageBranching.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport const useMessageBranching = () => {\n const aui = useAui();\n const branchNumber = useAuiState((s) => s.message.branchNumber);\n const branchCount = useAuiState((s) => s.message.branchCount);\n\n const goToPrev = useCallback(() => {\n aui.message().switchToBranch({ position: \"previous\" });\n }, [aui]);\n\n const goToNext = useCallback(() => {\n aui.message().switchToBranch({ position: \"next\" });\n }, [aui]);\n\n return { branchNumber, branchCount, goToPrev, goToNext };\n};\n"],"mappings":";;;AAGA,MAAaG,4BAAsB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACjC,MAAAC,MAAYL,OAAO;CACnB,MAAAM,eAAqBL,YAAYM,KAA6B;CAC9D,MAAAC,cAAoBP,YAAYQ,MAA4B;CAAE,IAAAC;CAAA,IAAAP,EAAA,OAAAE,KAAA;EAEjCK,WAAA;GAC3BL,IAAGM,QAAS,CAAC,CAAAC,eAAgB,EAAAC,UAAY,WAAW,CAAC;EAAC;EACvDV,EAAA,KAAAE;EAAAF,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAFD,MAAAW,WAAiBJ;CAEP,IAAAK;CAAA,IAAAZ,EAAA,OAAAE,KAAA;EAEmBU,WAAA;GAC3BV,IAAGM,QAAS,CAAC,CAAAC,eAAgB,EAAAC,UAAY,OAAO,CAAC;EAAC;EACnDV,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAFD,MAAAa,WAAiBD;CAEP,IAAAE;CAAA,IAAAd,EAAA,OAAAK,eAAAL,EAAA,OAAAG,gBAAAH,EAAA,OAAAa,YAAAb,EAAA,OAAAW,UAAA;EAEHG,KAAA;GAAAX;GAAAE;GAAAM;GAAAE;EAAgD;EAACb,EAAA,KAAAK;EAAAL,EAAA,KAAAG;EAAAH,EAAA,KAAAa;EAAAb,EAAA,KAAAW;EAAAX,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAAjDc;AAAiD;AAbvB,SAAAV,MAAAW,GAAA;CAAA,OAEOA,EAACP,QAAQL;AAAa;AAF7B,SAAAG,OAAAU,KAAA;CAAA,OAGMD,IAACP,QAAQH;AAAY"}
1
+ {"version":3,"file":"useMessageBranching.js","names":["useCallback","useAui","useAuiState","useMessageBranching","$","_c","aui","branchNumber","_temp","branchCount","_temp2","t0","message","switchToBranch","position","goToPrev","t1","goToNext","t2","s","s_0"],"sources":["../../../src/react/primitive-hooks/useMessageBranching.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport const useMessageBranching = () => {\n const aui = useAui();\n const branchNumber = useAuiState((s) => s.message.branchNumber);\n const branchCount = useAuiState((s) => s.message.branchCount);\n\n const goToPrev = useCallback(() => {\n aui.message.switchToBranch({ position: \"previous\" });\n }, [aui]);\n\n const goToNext = useCallback(() => {\n aui.message.switchToBranch({ position: \"next\" });\n }, [aui]);\n\n return { branchNumber, branchCount, goToPrev, goToNext };\n};\n"],"mappings":";;;;AAGA,MAAaG,4BAAsB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACjC,MAAAC,MAAYL,OAAO;CACnB,MAAAM,eAAqBL,YAAYM,KAA6B;CAC9D,MAAAC,cAAoBP,YAAYQ,MAA4B;CAAE,IAAAC;CAAA,IAAAP,EAAA,OAAAE,KAAA;EAEjCK,WAAA;GAC3BL,IAAGM,QAAQC,eAAgB,EAAAC,UAAY,WAAW,CAAC;EAAC;EACrDV,EAAA,KAAAE;EAAAF,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAFD,MAAAW,WAAiBJ;CAEP,IAAAK;CAAA,IAAAZ,EAAA,OAAAE,KAAA;EAEmBU,WAAA;GAC3BV,IAAGM,QAAQC,eAAgB,EAAAC,UAAY,OAAO,CAAC;EAAC;EACjDV,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAFD,MAAAa,WAAiBD;CAEP,IAAAE;CAAA,IAAAd,EAAA,OAAAK,eAAAL,EAAA,OAAAG,gBAAAH,EAAA,OAAAa,YAAAb,EAAA,OAAAW,UAAA;EAEHG,KAAA;GAAAX;GAAAE;GAAAM;GAAAE;EAAgD;EAACb,EAAA,KAAAK;EAAAL,EAAA,KAAAG;EAAAH,EAAA,KAAAa;EAAAb,EAAA,KAAAW;EAAAX,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAAjDc;AAAiD;AAbvB,SAAAV,MAAAW,GAAA;CAAA,OAEOA,EAACP,QAAQL;AAAa;AAF7B,SAAAG,OAAAU,KAAA;CAAA,OAGMD,IAACP,QAAQH;AAAY"}
@@ -1,4 +1,5 @@
1
1
  import { useAui, useAuiState } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useMessageReload.ts
4
5
  const useMessageReload = () => {
@@ -8,7 +9,7 @@ const useMessageReload = () => {
8
9
  let t0;
9
10
  if ($[0] !== aui) {
10
11
  t0 = () => {
11
- aui.message().reload();
12
+ aui.message.reload();
12
13
  };
13
14
  $[0] = aui;
14
15
  $[1] = t0;
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageReload.js","names":["useCallback","useAui","useAuiState","useMessageReload","$","_c","aui","canReload","_temp","t0","message","reload","t1","s","role"],"sources":["../../../src/react/primitive-hooks/useMessageReload.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport const useMessageReload = () => {\n const aui = useAui();\n const canReload = useAuiState((s) => s.message.role === \"assistant\");\n\n const reload = useCallback(() => {\n aui.message().reload();\n }, [aui]);\n\n return { reload, canReload };\n};\n"],"mappings":";;;AAGA,MAAaG,yBAAmB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAC9B,MAAAC,MAAYL,OAAO;CACnB,MAAAM,YAAkBL,YAAYM,KAAqC;CAAE,IAAAC;CAAA,IAAAL,EAAA,OAAAE,KAAA;EAE1CG,WAAA;GACzBH,IAAGI,QAAS,CAAC,CAAAC,OAAQ;EAAC;EACvBP,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAFD,MAAAO,SAAeF;CAEL,IAAAG;CAAA,IAAAR,EAAA,OAAAG,aAAAH,EAAA,OAAAO,QAAA;EAEHC,KAAA;GAAAD;GAAAJ;EAAoB;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAArBQ;AAAqB;AARE,SAAAJ,MAAAK,GAAA;CAAA,OAEOA,EAACH,QAAQI,SAAU;AAAW"}
1
+ {"version":3,"file":"useMessageReload.js","names":["useCallback","useAui","useAuiState","useMessageReload","$","_c","aui","canReload","_temp","t0","message","reload","t1","s","role"],"sources":["../../../src/react/primitive-hooks/useMessageReload.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport const useMessageReload = () => {\n const aui = useAui();\n const canReload = useAuiState((s) => s.message.role === \"assistant\");\n\n const reload = useCallback(() => {\n aui.message.reload();\n }, [aui]);\n\n return { reload, canReload };\n};\n"],"mappings":";;;;AAGA,MAAaG,yBAAmB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAC9B,MAAAC,MAAYL,OAAO;CACnB,MAAAM,YAAkBL,YAAYM,KAAqC;CAAE,IAAAC;CAAA,IAAAL,EAAA,OAAAE,KAAA;EAE1CG,WAAA;GACzBH,IAAGI,QAAQC,OAAQ;EAAC;EACrBP,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAFD,MAAAO,SAAeF;CAEL,IAAAG;CAAA,IAAAR,EAAA,OAAAG,aAAAH,EAAA,OAAAO,QAAA;EAEHC,KAAA;GAAAD;GAAAJ;EAAoB;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAArBQ;AAAqB;AARE,SAAAJ,MAAAK,GAAA;CAAA,OAEOA,EAACH,QAAQI,SAAU;AAAW"}
@@ -1,4 +1,5 @@
1
1
  import { useAui, useAuiState } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useSuggestionTrigger.ts
4
5
  const useSuggestionTrigger = (t0) => {
@@ -11,20 +12,20 @@ const useSuggestionTrigger = (t0) => {
11
12
  let t2;
12
13
  if ($[0] !== aui || $[1] !== clearComposer || $[2] !== prompt || $[3] !== resolvedSend) {
13
14
  t2 = () => {
14
- const isRunning = aui.thread().getState().isRunning;
15
+ const isRunning = aui.thread.getState().isRunning;
15
16
  if (resolvedSend && !isRunning) {
16
- aui.thread().append({
17
+ aui.thread.append({
17
18
  content: [{
18
19
  type: "text",
19
20
  text: prompt
20
21
  }],
21
- runConfig: aui.composer().getState().runConfig
22
+ runConfig: aui.composer.getState().runConfig
22
23
  });
23
- if (clearComposer) aui.composer().setText("");
24
- } else if (clearComposer) aui.composer().setText(prompt);
24
+ if (clearComposer) aui.composer.setText("");
25
+ } else if (clearComposer) aui.composer.setText(prompt);
25
26
  else {
26
- const currentText = aui.composer().getState().text;
27
- aui.composer().setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);
27
+ const currentText = aui.composer.getState().text;
28
+ aui.composer.setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);
28
29
  }
29
30
  };
30
31
  $[0] = aui;
@@ -1 +1 @@
1
- {"version":3,"file":"useSuggestionTrigger.js","names":["useCallback","useAui","useAuiState","UseSuggestionTriggerOptions","prompt","send","clearComposer","useSuggestionTrigger","t0","$","_c","t1","undefined","aui","disabled","_temp","resolvedSend","t2","isRunning","thread","getState","append","content","type","text","runConfig","composer","setText","currentText","trim","trigger","t3","s","isDisabled"],"sources":["../../../src/react/primitive-hooks/useSuggestionTrigger.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport type UseSuggestionTriggerOptions = {\n prompt: string;\n send?: boolean | undefined;\n clearComposer?: boolean | undefined;\n};\n\nexport const useSuggestionTrigger = ({\n prompt,\n send,\n clearComposer = true,\n}: UseSuggestionTriggerOptions) => {\n const aui = useAui();\n const disabled = useAuiState((s) => s.thread.isDisabled);\n const resolvedSend = send ?? false;\n\n const trigger = useCallback(() => {\n const isRunning = aui.thread().getState().isRunning;\n\n if (resolvedSend && !isRunning) {\n aui.thread().append({\n content: [{ type: \"text\", text: prompt }],\n runConfig: aui.composer().getState().runConfig,\n });\n if (clearComposer) {\n aui.composer().setText(\"\");\n }\n } else {\n if (clearComposer) {\n aui.composer().setText(prompt);\n } else {\n const currentText = aui.composer().getState().text;\n aui\n .composer()\n .setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);\n }\n }\n }, [aui, resolvedSend, clearComposer, prompt]);\n\n return { trigger, disabled };\n};\n"],"mappings":";;;AASA,MAAaO,wBAAuBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAN,QAAAC,MAAAC,eAAAK,OAAAH;CAGnC,MAAAF,gBAAAK,OAAAC,KAAAA,IAAA,OAAAD;CAEA,MAAAE,MAAYZ,OAAO;CACnB,MAAAa,WAAiBZ,YAAYa,KAA0B;CACvD,MAAAC,eAAqBX,QAAA;CAAc,IAAAY;CAAA,IAAAR,EAAA,OAAAI,OAAAJ,EAAA,OAAAH,iBAAAG,EAAA,OAAAL,UAAAK,EAAA,OAAAO,cAAA;EAEPC,WAAA;GAC1B,MAAAC,YAAkBL,IAAGM,OAAQ,CAAC,CAAAC,SAAU,CAAC,CAAAF;GAEzC,IAAIF,gBAAA,CAAiBE,WAAS;IAC5BL,IAAGM,OAAQ,CAAC,CAAAE,OAAQ;KAAAC,SACT,CAAC;MAAAC,MAAQ;MAAMC,MAAQpB;KAAO,CAAC;KAACqB,WAC9BZ,IAAGa,SAAU,CAAC,CAAAN,SAAU,CAAC,CAAAK;IACtC,CAAC;IACD,IAAInB,eACFO,IAAGa,SAAU,CAAC,CAAAC,QAAS,EAAE;GAC1B,OAED,IAAIrB,eACFO,IAAGa,SAAU,CAAC,CAAAC,QAASvB,MAAM;QAAC;IAE9B,MAAAwB,cAAoBf,IAAGa,SAAU,CAAC,CAAAN,SAAU,CAAC,CAAAI;IAC7CX,IAAGa,SACS,CAAC,CAAAC,QACFC,YAAWC,KAA4C,IAAvD,GAAwBD,YAAW,GAAIxB,WAAvCA,MAAwD;GAAC;EAEvE;EACFK,EAAA,KAAAI;EAAAJ,EAAA,KAAAH;EAAAG,EAAA,KAAAL;EAAAK,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CArBD,MAAAqB,UAAgBb;CAqB+B,IAAAc;CAAA,IAAAtB,EAAA,OAAAK,YAAAL,EAAA,OAAAqB,SAAA;EAExCC,KAAA;GAAAD;GAAAhB;EAAoB;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAqB;EAAArB,EAAA,KAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CAAA,OAArBsB;AAAqB;AAhCM,SAAAhB,MAAAiB,GAAA;CAAA,OAMEA,EAACb,OAAOc;AAAW"}
1
+ {"version":3,"file":"useSuggestionTrigger.js","names":["useCallback","useAui","useAuiState","UseSuggestionTriggerOptions","prompt","send","clearComposer","useSuggestionTrigger","t0","$","_c","t1","undefined","aui","disabled","_temp","resolvedSend","t2","isRunning","thread","getState","append","content","type","text","runConfig","composer","setText","currentText","trim","trigger","t3","s","isDisabled"],"sources":["../../../src/react/primitive-hooks/useSuggestionTrigger.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport type UseSuggestionTriggerOptions = {\n prompt: string;\n send?: boolean | undefined;\n clearComposer?: boolean | undefined;\n};\n\nexport const useSuggestionTrigger = ({\n prompt,\n send,\n clearComposer = true,\n}: UseSuggestionTriggerOptions) => {\n const aui = useAui();\n const disabled = useAuiState((s) => s.thread.isDisabled);\n const resolvedSend = send ?? false;\n\n const trigger = useCallback(() => {\n const isRunning = aui.thread.getState().isRunning;\n\n if (resolvedSend && !isRunning) {\n aui.thread.append({\n content: [{ type: \"text\", text: prompt }],\n runConfig: aui.composer.getState().runConfig,\n });\n if (clearComposer) {\n aui.composer.setText(\"\");\n }\n } else {\n if (clearComposer) {\n aui.composer.setText(prompt);\n } else {\n const currentText = aui.composer.getState().text;\n aui.composer.setText(\n currentText.trim() ? `${currentText} ${prompt}` : prompt,\n );\n }\n }\n }, [aui, resolvedSend, clearComposer, prompt]);\n\n return { trigger, disabled };\n};\n"],"mappings":";;;;AASA,MAAaO,wBAAuBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAN,QAAAC,MAAAC,eAAAK,OAAAH;CAGnC,MAAAF,gBAAAK,OAAAC,KAAAA,IAAA,OAAAD;CAEA,MAAAE,MAAYZ,OAAO;CACnB,MAAAa,WAAiBZ,YAAYa,KAA0B;CACvD,MAAAC,eAAqBX,QAAA;CAAc,IAAAY;CAAA,IAAAR,EAAA,OAAAI,OAAAJ,EAAA,OAAAH,iBAAAG,EAAA,OAAAL,UAAAK,EAAA,OAAAO,cAAA;EAEPC,WAAA;GAC1B,MAAAC,YAAkBL,IAAGM,OAAOC,SAAU,CAAC,CAAAF;GAEvC,IAAIF,gBAAA,CAAiBE,WAAS;IAC5BL,IAAGM,OAAOE,OAAQ;KAAAC,SACP,CAAC;MAAAC,MAAQ;MAAMC,MAAQpB;KAAO,CAAC;KAACqB,WAC9BZ,IAAGa,SAASN,SAAU,CAAC,CAAAK;IACpC,CAAC;IACD,IAAInB,eACFO,IAAGa,SAASC,QAAS,EAAE;GACxB,OAED,IAAIrB,eACFO,IAAGa,SAASC,QAASvB,MAAM;QAAC;IAE5B,MAAAwB,cAAoBf,IAAGa,SAASN,SAAU,CAAC,CAAAI;IAC3CX,IAAGa,SAASC,QACVC,YAAWC,KAA4C,IAAvD,GAAwBD,YAAW,GAAIxB,WAAvCA,MACF;GAAC;EAEJ;EACFK,EAAA,KAAAI;EAAAJ,EAAA,KAAAH;EAAAG,EAAA,KAAAL;EAAAK,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CArBD,MAAAqB,UAAgBb;CAqB+B,IAAAc;CAAA,IAAAtB,EAAA,OAAAK,YAAAL,EAAA,OAAAqB,SAAA;EAExCC,KAAA;GAAAD;GAAAhB;EAAoB;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAqB;EAAArB,EAAA,KAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CAAA,OAArBsB;AAAqB;AAhCM,SAAAhB,MAAAiB,GAAA;CAAA,OAMEA,EAACb,OAAOc;AAAW"}
@@ -1,4 +1,5 @@
1
1
  import { useAui } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useThreadListItemArchive.ts
4
5
  const useThreadListItemArchive = () => {
@@ -7,7 +8,7 @@ const useThreadListItemArchive = () => {
7
8
  let t0;
8
9
  if ($[0] !== aui) {
9
10
  t0 = () => {
10
- aui.threadListItem().archive();
11
+ aui.threadListItem.archive();
11
12
  };
12
13
  $[0] = aui;
13
14
  $[1] = t0;
@@ -1 +1 @@
1
- {"version":3,"file":"useThreadListItemArchive.js","names":["useCallback","useAui","useThreadListItemArchive","$","_c","aui","t0","threadListItem","archive","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListItemArchive.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListItemArchive = () => {\n const aui = useAui();\n\n const archive = useCallback(() => {\n aui.threadListItem().archive();\n }, [aui]);\n\n return { archive };\n};\n"],"mappings":";;;AAGA,MAAaE,iCAA2B;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACtC,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEOC,WAAA;GAC1BD,IAAGE,eAAgB,CAAC,CAAAC,QAAS;EAAC;EAC/BL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAK,UAAgBF;CAEN,IAAAG;CAAA,IAAAN,EAAA,OAAAK,SAAA;EAEHC,KAAA,EAAAD,QAAU;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAAXM;AAAW"}
1
+ {"version":3,"file":"useThreadListItemArchive.js","names":["useCallback","useAui","useThreadListItemArchive","$","_c","aui","t0","threadListItem","archive","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListItemArchive.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListItemArchive = () => {\n const aui = useAui();\n\n const archive = useCallback(() => {\n aui.threadListItem.archive();\n }, [aui]);\n\n return { archive };\n};\n"],"mappings":";;;;AAGA,MAAaE,iCAA2B;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACtC,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEOC,WAAA;GAC1BD,IAAGE,eAAeC,QAAS;EAAC;EAC7BL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAK,UAAgBF;CAEN,IAAAG;CAAA,IAAAN,EAAA,OAAAK,SAAA;EAEHC,KAAA,EAAAD,QAAU;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAAXM;AAAW"}
@@ -1,4 +1,5 @@
1
1
  import { useAui } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useThreadListItemDelete.ts
4
5
  const useThreadListItemDelete = () => {
@@ -7,7 +8,7 @@ const useThreadListItemDelete = () => {
7
8
  let t0;
8
9
  if ($[0] !== aui) {
9
10
  t0 = () => {
10
- aui.threadListItem().delete();
11
+ aui.threadListItem.delete();
11
12
  };
12
13
  $[0] = aui;
13
14
  $[1] = t0;
@@ -1 +1 @@
1
- {"version":3,"file":"useThreadListItemDelete.js","names":["useCallback","useAui","useThreadListItemDelete","$","_c","aui","t0","threadListItem","delete","deleteThread","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListItemDelete.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListItemDelete = () => {\n const aui = useAui();\n\n const deleteThread = useCallback(() => {\n aui.threadListItem().delete();\n }, [aui]);\n\n return { delete: deleteThread };\n};\n"],"mappings":";;;AAGA,MAAaE,gCAA0B;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACrC,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEYC,WAAA;GAC/BD,IAAGE,eAAgB,CAAC,CAAAC,OAAQ;EAAC;EAC9BL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAM,eAAqBH;CAEX,IAAAI;CAAA,IAAAP,EAAA,OAAAM,cAAA;EAEHC,KAAA,EAAAF,QAAUC,aAAa;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,OAAxBO;AAAwB"}
1
+ {"version":3,"file":"useThreadListItemDelete.js","names":["useCallback","useAui","useThreadListItemDelete","$","_c","aui","t0","threadListItem","delete","deleteThread","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListItemDelete.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListItemDelete = () => {\n const aui = useAui();\n\n const deleteThread = useCallback(() => {\n aui.threadListItem.delete();\n }, [aui]);\n\n return { delete: deleteThread };\n};\n"],"mappings":";;;;AAGA,MAAaE,gCAA0B;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACrC,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEYC,WAAA;GAC/BD,IAAGE,eAAeC,OAAQ;EAAC;EAC5BL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAM,eAAqBH;CAEX,IAAAI;CAAA,IAAAP,EAAA,OAAAM,cAAA;EAEHC,KAAA,EAAAF,QAAUC,aAAa;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,OAAxBO;AAAwB"}
@@ -1,4 +1,5 @@
1
1
  import { useAui } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useThreadListItemTrigger.ts
4
5
  const useThreadListItemTrigger = () => {
@@ -7,7 +8,7 @@ const useThreadListItemTrigger = () => {
7
8
  let t0;
8
9
  if ($[0] !== aui) {
9
10
  t0 = () => {
10
- aui.threadListItem().switchTo();
11
+ aui.threadListItem.switchTo();
11
12
  };
12
13
  $[0] = aui;
13
14
  $[1] = t0;
@@ -1 +1 @@
1
- {"version":3,"file":"useThreadListItemTrigger.js","names":["useCallback","useAui","useThreadListItemTrigger","$","_c","aui","t0","threadListItem","switchTo","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListItemTrigger.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListItemTrigger = () => {\n const aui = useAui();\n\n const switchTo = useCallback(() => {\n aui.threadListItem().switchTo();\n }, [aui]);\n\n return { switchTo };\n};\n"],"mappings":";;;AAGA,MAAaE,iCAA2B;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACtC,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEQC,WAAA;GAC3BD,IAAGE,eAAgB,CAAC,CAAAC,SAAU;EAAC;EAChCL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAK,WAAiBF;CAEP,IAAAG;CAAA,IAAAN,EAAA,OAAAK,UAAA;EAEHC,KAAA,EAAAD,SAAW;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAAZM;AAAY"}
1
+ {"version":3,"file":"useThreadListItemTrigger.js","names":["useCallback","useAui","useThreadListItemTrigger","$","_c","aui","t0","threadListItem","switchTo","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListItemTrigger.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListItemTrigger = () => {\n const aui = useAui();\n\n const switchTo = useCallback(() => {\n aui.threadListItem.switchTo();\n }, [aui]);\n\n return { switchTo };\n};\n"],"mappings":";;;;AAGA,MAAaE,iCAA2B;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACtC,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEQC,WAAA;GAC3BD,IAAGE,eAAeC,SAAU;EAAC;EAC9BL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAK,WAAiBF;CAEP,IAAAG;CAAA,IAAAN,EAAA,OAAAK,UAAA;EAEHC,KAAA,EAAAD,SAAW;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAAZM;AAAY"}
@@ -1,4 +1,5 @@
1
1
  import { useAui } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useThreadListItemUnarchive.ts
4
5
  const useThreadListItemUnarchive = () => {
@@ -7,7 +8,7 @@ const useThreadListItemUnarchive = () => {
7
8
  let t0;
8
9
  if ($[0] !== aui) {
9
10
  t0 = () => {
10
- aui.threadListItem().unarchive();
11
+ aui.threadListItem.unarchive();
11
12
  };
12
13
  $[0] = aui;
13
14
  $[1] = t0;
@@ -1 +1 @@
1
- {"version":3,"file":"useThreadListItemUnarchive.js","names":["useCallback","useAui","useThreadListItemUnarchive","$","_c","aui","t0","threadListItem","unarchive","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListItemUnarchive.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListItemUnarchive = () => {\n const aui = useAui();\n\n const unarchive = useCallback(() => {\n aui.threadListItem().unarchive();\n }, [aui]);\n\n return { unarchive };\n};\n"],"mappings":";;;AAGA,MAAaE,mCAA6B;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACxC,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAESC,WAAA;GAC5BD,IAAGE,eAAgB,CAAC,CAAAC,UAAW;EAAC;EACjCL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAK,YAAkBF;CAER,IAAAG;CAAA,IAAAN,EAAA,OAAAK,WAAA;EAEHC,KAAA,EAAAD,UAAY;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAAbM;AAAa"}
1
+ {"version":3,"file":"useThreadListItemUnarchive.js","names":["useCallback","useAui","useThreadListItemUnarchive","$","_c","aui","t0","threadListItem","unarchive","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListItemUnarchive.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListItemUnarchive = () => {\n const aui = useAui();\n\n const unarchive = useCallback(() => {\n aui.threadListItem.unarchive();\n }, [aui]);\n\n return { unarchive };\n};\n"],"mappings":";;;;AAGA,MAAaE,mCAA6B;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACxC,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAESC,WAAA;GAC5BD,IAAGE,eAAeC,UAAW;EAAC;EAC/BL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAK,YAAkBF;CAER,IAAAG;CAAA,IAAAN,EAAA,OAAAK,WAAA;EAEHC,KAAA,EAAAD,UAAY;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAAbM;AAAa"}
@@ -1,4 +1,5 @@
1
1
  import { useAui, useAuiState } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useThreadListLoadMore.ts
4
5
  const useThreadListLoadMore = () => {
@@ -8,7 +9,7 @@ const useThreadListLoadMore = () => {
8
9
  let t0;
9
10
  if ($[0] !== aui) {
10
11
  t0 = () => {
11
- aui.threads().loadMore();
12
+ aui.threads.loadMore();
12
13
  };
13
14
  $[0] = aui;
14
15
  $[1] = t0;
@@ -1 +1 @@
1
- {"version":3,"file":"useThreadListLoadMore.js","names":["useCallback","useAui","useAuiState","useThreadListLoadMore","$","_c","aui","disabled","_temp","t0","threads","loadMore","t1","s","hasMore","isLoading","isLoadingMore"],"sources":["../../../src/react/primitive-hooks/useThreadListLoadMore.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport const useThreadListLoadMore = () => {\n const aui = useAui();\n const disabled = useAuiState(\n (s) => !s.threads.hasMore || s.threads.isLoading || s.threads.isLoadingMore,\n );\n\n const loadMore = useCallback(() => {\n aui.threads().loadMore();\n }, [aui]);\n\n return { loadMore, disabled };\n};\n"],"mappings":";;;AAGA,MAAaG,8BAAwB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACnC,MAAAC,MAAYL,OAAO;CACnB,MAAAM,WAAiBL,YACfM,KACF;CAAE,IAAAC;CAAA,IAAAL,EAAA,OAAAE,KAAA;EAE2BG,WAAA;GAC3BH,IAAGI,QAAS,CAAC,CAAAC,SAAU;EAAC;EACzBP,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAFD,MAAAO,WAAiBF;CAEP,IAAAG;CAAA,IAAAR,EAAA,OAAAG,YAAAH,EAAA,OAAAO,UAAA;EAEHC,KAAA;GAAAD;GAAAJ;EAAqB;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAAtBQ;AAAsB;AAVM,SAAAJ,MAAAK,GAAA;CAAA,OAG1B,CAACA,EAACH,QAAQI,WAAYD,EAACH,QAAQK,aAAcF,EAACH,QAAQM;AAAc"}
1
+ {"version":3,"file":"useThreadListLoadMore.js","names":["useCallback","useAui","useAuiState","useThreadListLoadMore","$","_c","aui","disabled","_temp","t0","threads","loadMore","t1","s","hasMore","isLoading","isLoadingMore"],"sources":["../../../src/react/primitive-hooks/useThreadListLoadMore.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport const useThreadListLoadMore = () => {\n const aui = useAui();\n const disabled = useAuiState(\n (s) => !s.threads.hasMore || s.threads.isLoading || s.threads.isLoadingMore,\n );\n\n const loadMore = useCallback(() => {\n aui.threads.loadMore();\n }, [aui]);\n\n return { loadMore, disabled };\n};\n"],"mappings":";;;;AAGA,MAAaG,8BAAwB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACnC,MAAAC,MAAYL,OAAO;CACnB,MAAAM,WAAiBL,YACfM,KACF;CAAE,IAAAC;CAAA,IAAAL,EAAA,OAAAE,KAAA;EAE2BG,WAAA;GAC3BH,IAAGI,QAAQC,SAAU;EAAC;EACvBP,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAFD,MAAAO,WAAiBF;CAEP,IAAAG;CAAA,IAAAR,EAAA,OAAAG,YAAAH,EAAA,OAAAO,UAAA;EAEHC,KAAA;GAAAD;GAAAJ;EAAqB;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAA,OAAtBQ;AAAsB;AAVM,SAAAJ,MAAAK,GAAA;CAAA,OAG1B,CAACA,EAACH,QAAQI,WAAYD,EAACH,QAAQK,aAAcF,EAACH,QAAQM;AAAc"}
@@ -1,4 +1,5 @@
1
1
  import { useAui } from "@assistant-ui/store";
2
+ import "@assistant-ui/tap/react-shim";
2
3
  import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  //#region src/react/primitive-hooks/useThreadListNew.ts
4
5
  const useThreadListNew = () => {
@@ -7,7 +8,7 @@ const useThreadListNew = () => {
7
8
  let t0;
8
9
  if ($[0] !== aui) {
9
10
  t0 = () => {
10
- aui.threads().switchToNewThread();
11
+ aui.threads.switchToNewThread();
11
12
  };
12
13
  $[0] = aui;
13
14
  $[1] = t0;
@@ -1 +1 @@
1
- {"version":3,"file":"useThreadListNew.js","names":["useCallback","useAui","useThreadListNew","$","_c","aui","t0","threads","switchToNewThread","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListNew.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListNew = () => {\n const aui = useAui();\n\n const switchToNewThread = useCallback(() => {\n aui.threads().switchToNewThread();\n }, [aui]);\n\n return { switchToNewThread };\n};\n"],"mappings":";;;AAGA,MAAaE,yBAAmB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAC9B,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEiBC,WAAA;GACpCD,IAAGE,QAAS,CAAC,CAAAC,kBAAmB;EAAC;EAClCL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAK,oBAA0BF;CAEhB,IAAAG;CAAA,IAAAN,EAAA,OAAAK,mBAAA;EAEHC,KAAA,EAAAD,kBAAoB;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAArBM;AAAqB"}
1
+ {"version":3,"file":"useThreadListNew.js","names":["useCallback","useAui","useThreadListNew","$","_c","aui","t0","threads","switchToNewThread","t1"],"sources":["../../../src/react/primitive-hooks/useThreadListNew.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\n\nexport const useThreadListNew = () => {\n const aui = useAui();\n\n const switchToNewThread = useCallback(() => {\n aui.threads.switchToNewThread();\n }, [aui]);\n\n return { switchToNewThread };\n};\n"],"mappings":";;;;AAGA,MAAaE,yBAAmB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAC9B,MAAAC,MAAYJ,OAAO;CAAE,IAAAK;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEiBC,WAAA;GACpCD,IAAGE,QAAQC,kBAAmB;EAAC;EAChCL,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAK,oBAA0BF;CAEhB,IAAAG;CAAA,IAAAN,EAAA,OAAAK,mBAAA;EAEHC,KAAA,EAAAD,kBAAoB;EAACL,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAArBM;AAAqB"}
@@ -7,15 +7,7 @@ const useVoiceState = () => {
7
7
  };
8
8
  const getServerVolume = () => 0;
9
9
  const useVoiceVolume = () => {
10
- const $ = c(2);
11
- const aui = useAui();
12
- let t0;
13
- if ($[0] !== aui) {
14
- t0 = aui.thread();
15
- $[0] = aui;
16
- $[1] = t0;
17
- } else t0 = $[1];
18
- const thread = t0;
10
+ const thread = useAui().thread;
19
11
  return useSyncExternalStore(thread.subscribeVoiceVolume, thread.getVoiceVolume, getServerVolume);
20
12
  };
21
13
  const useVoiceControls = () => {
@@ -24,7 +16,7 @@ const useVoiceControls = () => {
24
16
  let t0;
25
17
  if ($[0] !== aui) {
26
18
  t0 = () => {
27
- aui.thread().connectVoice();
19
+ aui.thread.connectVoice();
28
20
  };
29
21
  $[0] = aui;
30
22
  $[1] = t0;
@@ -33,7 +25,7 @@ const useVoiceControls = () => {
33
25
  let t1;
34
26
  if ($[2] !== aui) {
35
27
  t1 = () => {
36
- aui.thread().disconnectVoice();
28
+ aui.thread.disconnectVoice();
37
29
  };
38
30
  $[2] = aui;
39
31
  $[3] = t1;
@@ -42,7 +34,7 @@ const useVoiceControls = () => {
42
34
  let t2;
43
35
  if ($[4] !== aui) {
44
36
  t2 = () => {
45
- aui.thread().muteVoice();
37
+ aui.thread.muteVoice();
46
38
  };
47
39
  $[4] = aui;
48
40
  $[5] = t2;
@@ -51,7 +43,7 @@ const useVoiceControls = () => {
51
43
  let t3;
52
44
  if ($[6] !== aui) {
53
45
  t3 = () => {
54
- aui.thread().unmuteVoice();
46
+ aui.thread.unmuteVoice();
55
47
  };
56
48
  $[6] = aui;
57
49
  $[7] = t3;
@@ -1 +1 @@
1
- {"version":3,"file":"useVoice.js","names":["useCallback","useSyncExternalStore","useAui","useAuiState","VoiceSessionState","useVoiceState","_temp","getServerVolume","useVoiceVolume","$","_c","aui","t0","thread","subscribeVoiceVolume","getVoiceVolume","useVoiceControls","connectVoice","connect","t1","disconnectVoice","disconnect","t2","muteVoice","mute","t3","unmuteVoice","unmute","t4","s","voice"],"sources":["../../../src/react/primitive-hooks/useVoice.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\nimport type { VoiceSessionState } from \"../../runtime/interfaces/thread-runtime-core\";\n\nexport const useVoiceState = (): VoiceSessionState | undefined => {\n return useAuiState((s) => s.thread.voice);\n};\n\nconst getServerVolume = () => 0;\n\nexport const useVoiceVolume = (): number => {\n const aui = useAui();\n const thread = aui.thread();\n return useSyncExternalStore(\n thread.subscribeVoiceVolume,\n thread.getVoiceVolume,\n getServerVolume,\n );\n};\n\nexport const useVoiceControls = () => {\n const aui = useAui();\n\n const connect = useCallback(() => {\n aui.thread().connectVoice();\n }, [aui]);\n\n const disconnect = useCallback(() => {\n aui.thread().disconnectVoice();\n }, [aui]);\n\n const mute = useCallback(() => {\n aui.thread().muteVoice();\n }, [aui]);\n\n const unmute = useCallback(() => {\n aui.thread().unmuteVoice();\n }, [aui]);\n\n return { connect, disconnect, mute, unmute };\n};\n"],"mappings":";;;;AAIA,MAAaK,sBAAgB;CAAA,OACpBF,YAAYG,KAAqB;AAAC;AAG3C,MAAMC,wBAAwB;AAE9B,MAAaC,uBAAiB;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAC5B,MAAAC,MAAYT,OAAO;CAAE,IAAAU;CAAA,IAAAH,EAAA,OAAAE,KAAA;EACNC,KAAAD,IAAGE,OAAQ;EAACJ,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAA3B,MAAAI,SAAeD;CAAa,OACrBX,qBACLY,OAAMC,sBACND,OAAME,gBACNR,eACF;AAAC;AAGH,MAAaS,yBAAmB;CAAA,MAAAP,IAAAC,EAAA,EAAA;CAC9B,MAAAC,MAAYT,OAAO;CAAE,IAAAU;CAAA,IAAAH,EAAA,OAAAE,KAAA;EAEOC,WAAA;GAC1BD,IAAGE,OAAQ,CAAC,CAAAI,aAAc;EAAC;EAC5BR,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAFD,MAAAS,UAAgBN;CAEN,IAAAO;CAAA,IAAAV,EAAA,OAAAE,KAAA;EAEqBQ,WAAA;GAC7BR,IAAGE,OAAQ,CAAC,CAAAO,gBAAiB;EAAC;EAC/BX,EAAA,KAAAE;EAAAF,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAFD,MAAAY,aAAmBF;CAET,IAAAG;CAAA,IAAAb,EAAA,OAAAE,KAAA;EAEeW,WAAA;GACvBX,IAAGE,OAAQ,CAAC,CAAAU,UAAW;EAAC;EACzBd,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAFD,MAAAe,OAAaF;CAEH,IAAAG;CAAA,IAAAhB,EAAA,OAAAE,KAAA;EAEiBc,WAAA;GACzBd,IAAGE,OAAQ,CAAC,CAAAa,YAAa;EAAC;EAC3BjB,EAAA,KAAAE;EAAAF,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAFD,MAAAkB,SAAeF;CAEL,IAAAG;CAAA,IAAAnB,EAAA,OAAAS,WAAAT,EAAA,OAAAY,cAAAZ,EAAA,QAAAe,QAAAf,EAAA,QAAAkB,QAAA;EAEHC,KAAA;GAAAV;GAAAG;GAAAG;GAAAG;EAAoC;EAAClB,EAAA,KAAAS;EAAAT,EAAA,KAAAY;EAAAZ,EAAA,MAAAe;EAAAf,EAAA,MAAAkB;EAAAlB,EAAA,MAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAAA,OAArCmB;AAAqC;AAnCjB,SAAAtB,MAAAuB,GAAA;CAAA,OACDA,EAAChB,OAAOiB;AAAM"}
1
+ {"version":3,"file":"useVoice.js","names":["useCallback","useSyncExternalStore","useAui","useAuiState","VoiceSessionState","useVoiceState","_temp","getServerVolume","useVoiceVolume","aui","thread","subscribeVoiceVolume","getVoiceVolume","useVoiceControls","$","_c","t0","connectVoice","connect","t1","disconnectVoice","disconnect","t2","muteVoice","mute","t3","unmuteVoice","unmute","t4","s","voice"],"sources":["../../../src/react/primitive-hooks/useVoice.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from \"react\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\nimport type { VoiceSessionState } from \"../../runtime/interfaces/thread-runtime-core\";\n\nexport const useVoiceState = (): VoiceSessionState | undefined => {\n return useAuiState((s) => s.thread.voice);\n};\n\nconst getServerVolume = () => 0;\n\nexport const useVoiceVolume = (): number => {\n const aui = useAui();\n const thread = aui.thread;\n return useSyncExternalStore(\n thread.subscribeVoiceVolume,\n thread.getVoiceVolume,\n getServerVolume,\n );\n};\n\nexport const useVoiceControls = () => {\n const aui = useAui();\n\n const connect = useCallback(() => {\n aui.thread.connectVoice();\n }, [aui]);\n\n const disconnect = useCallback(() => {\n aui.thread.disconnectVoice();\n }, [aui]);\n\n const mute = useCallback(() => {\n aui.thread.muteVoice();\n }, [aui]);\n\n const unmute = useCallback(() => {\n aui.thread.unmuteVoice();\n }, [aui]);\n\n return { connect, disconnect, mute, unmute };\n};\n"],"mappings":";;;;AAIA,MAAaK,sBAAgB;CAAA,OACpBF,YAAYG,KAAqB;AAAC;AAG3C,MAAMC,wBAAwB;AAE9B,MAAaC,uBAAiB;CAE5B,MAAAE,SADYR,OACGO,CAAG,CAAAC;CAAQ,OACnBT,qBACLS,OAAMC,sBACND,OAAME,gBACNL,eACF;AAAC;AAGH,MAAaM,yBAAmB;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAC9B,MAAAN,MAAYP,OAAO;CAAE,IAAAc;CAAA,IAAAF,EAAA,OAAAL,KAAA;EAEOO,WAAA;GAC1BP,IAAGC,OAAOO,aAAc;EAAC;EAC1BH,EAAA,KAAAL;EAAAK,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CAFD,MAAAI,UAAgBF;CAEN,IAAAG;CAAA,IAAAL,EAAA,OAAAL,KAAA;EAEqBU,WAAA;GAC7BV,IAAGC,OAAOU,gBAAiB;EAAC;EAC7BN,EAAA,KAAAL;EAAAK,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAFD,MAAAO,aAAmBF;CAET,IAAAG;CAAA,IAAAR,EAAA,OAAAL,KAAA;EAEea,WAAA;GACvBb,IAAGC,OAAOa,UAAW;EAAC;EACvBT,EAAA,KAAAL;EAAAK,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAFD,MAAAU,OAAaF;CAEH,IAAAG;CAAA,IAAAX,EAAA,OAAAL,KAAA;EAEiBgB,WAAA;GACzBhB,IAAGC,OAAOgB,YAAa;EAAC;EACzBZ,EAAA,KAAAL;EAAAK,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAFD,MAAAa,SAAeF;CAEL,IAAAG;CAAA,IAAAd,EAAA,OAAAI,WAAAJ,EAAA,OAAAO,cAAAP,EAAA,QAAAU,QAAAV,EAAA,QAAAa,QAAA;EAEHC,KAAA;GAAAV;GAAAG;GAAAG;GAAAG;EAAoC;EAACb,EAAA,KAAAI;EAAAJ,EAAA,KAAAO;EAAAP,EAAA,MAAAU;EAAAV,EAAA,MAAAa;EAAAb,EAAA,MAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAArCc;AAAqC;AAnCjB,SAAAtB,MAAAuB,GAAA;CAAA,OACDA,EAACnB,OAAOoB;AAAM"}
@@ -10,7 +10,7 @@ const ChainOfThoughtPrimitivePartsInner = ({ children }) => {
10
10
  return useMemo(() => Array.from({ length: partsLength }, (_, index) => /* @__PURE__ */ jsx(ChainOfThoughtPartByIndexProvider, {
11
11
  index,
12
12
  children: /* @__PURE__ */ jsx(RenderChildrenWithAccessor, {
13
- getItemState: (aui) => aui.part().getState(),
13
+ getItemState: (aui) => aui.part.getState(),
14
14
  children: (getItem) => children({ get part() {
15
15
  return getItem();
16
16
  } })
@@ -1 +1 @@
1
- {"version":3,"file":"ChainOfThoughtParts.js","names":["ComponentType","FC","PropsWithChildren","ReactNode","useMemo","RenderChildrenWithAccessor","useAuiState","PartState","ChainOfThoughtPartByIndexProvider","MessagePartComponent","ReasoningMessagePartComponent","ToolCallMessagePartComponent","ChainOfThoughtPartsComponentConfig","Reasoning","tools","Fallback","Layout","ChainOfThoughtPrimitiveParts","Props","components","children","value","part","ChainOfThoughtPrimitivePartsInner","partsLength","s","chainOfThought","parts","length","Array","from","_","index","aui","getState","getItem","t0","$","_c","t1","t2","t3","t4","messageComponents","t5","displayName"],"sources":["../../../../src/react/primitives/chainOfThought/ChainOfThoughtParts.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type PropsWithChildren,\n type ReactNode,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { PartState } from \"../../../store/scopes/part\";\nimport { ChainOfThoughtPartByIndexProvider } from \"../../providers/ChainOfThoughtPartByIndexProvider\";\nimport { MessagePartComponent } from \"../message/MessageParts\";\nimport type {\n ReasoningMessagePartComponent,\n ToolCallMessagePartComponent,\n} from \"../../types/MessagePartComponentTypes\";\n\ntype ChainOfThoughtPartsComponentConfig = {\n /** Component for rendering reasoning parts */\n Reasoning?: ReasoningMessagePartComponent | undefined;\n /** Fallback component for tool-call parts */\n tools?: {\n Fallback?: ToolCallMessagePartComponent | undefined;\n };\n /** Layout component to wrap the rendered parts when expanded */\n Layout?: ComponentType<PropsWithChildren> | undefined;\n};\n\nexport namespace ChainOfThoughtPrimitiveParts {\n export type Props =\n | {\n /**\n * @deprecated Use the children render function instead.\n */\n components?: ChainOfThoughtPartsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each part. Receives the part. */\n children: (value: { part: PartState }) => ReactNode;\n components?: never;\n };\n}\n\nconst ChainOfThoughtPrimitivePartsInner: FC<{\n children: (value: { part: PartState }) => ReactNode;\n}> = ({ children }) => {\n const partsLength = useAuiState((s) => s.chainOfThought.parts.length);\n\n return useMemo(\n () =>\n Array.from({ length: partsLength }, (_, index) => (\n <ChainOfThoughtPartByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.part().getState()}\n >\n {(getItem) =>\n children({\n get part() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </ChainOfThoughtPartByIndexProvider>\n )),\n [partsLength, children],\n );\n};\n\n/**\n * Renders the parts within a chain of thought, with support for collapsed/expanded states.\n *\n * When collapsed, no parts are shown. When expanded, all parts are rendered\n * using the provided component configuration through the part scope mechanism.\n */\nexport const ChainOfThoughtPrimitiveParts: FC<\n ChainOfThoughtPrimitiveParts.Props\n> = ({ components, children }) => {\n if (children) {\n return (\n <ChainOfThoughtPrimitivePartsInner>\n {children}\n </ChainOfThoughtPrimitivePartsInner>\n );\n }\n\n // oxlint-disable-next-line react-hooks/rules-of-hooks -- intentional conditional hook below the early return above\n const messageComponents = useMemo(\n () => ({\n Reasoning: components?.Reasoning,\n tools: {\n Fallback: components?.tools?.Fallback,\n },\n }),\n [components?.Reasoning, components?.tools?.Fallback],\n );\n\n const Layout = components?.Layout;\n\n return (\n <ChainOfThoughtPrimitivePartsInner>\n {() =>\n Layout ? (\n <Layout>\n <MessagePartComponent components={messageComponents} />\n </Layout>\n ) : (\n <MessagePartComponent components={messageComponents} />\n )\n }\n </ChainOfThoughtPrimitivePartsInner>\n );\n};\n\nChainOfThoughtPrimitiveParts.displayName = \"ChainOfThoughtPrimitive.Parts\";\n"],"mappings":";;;;;;;AA2CA,MAAMuB,qCAEA,EAAEH,eAAe;CACrB,MAAMI,cAAclB,aAAamB,MAAMA,EAAEC,eAAeC,MAAMC,MAAM;CAEpE,OAAOxB,cAEHyB,MAAMC,KAAK,EAAEF,QAAQJ,YAAY,IAAIO,GAAGC,UACtC,oBAAC,mCAAD;EAAsDA;EACpD,UAAA,oBAAC,4BAAD;GACE,eAAeC,QAAQA,IAAIX,KAAK,CAAC,CAACY,SAAS;GAEzCC,WAAAA,YACAf,SAAS,EACP,IAAIE,OAAO;IACT,OAAOa,QAAQ;GACjB,EACF,CAAC;EAEuB,CAAA;CACK,GAZKH,KAYL,CACpC,GACH,CAACR,aAAaJ,QAAQ,CACxB;AACF;;;;;;;AAQA,MAAaH,gCAETmB,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAnB,YAAAC,aAAAgB;CACH,IAAIhB,UAAQ;EAAA,IAAAmB;EAAA,IAAAF,EAAA,OAAAjB,UAAA;GAERmB,KAAA,oBAAC,mCAAD,EACGnB,SAD+B,CAAA;GAEEiB,EAAA,KAAAjB;GAAAiB,EAAA,KAAAE;EAAA,OAAAA,KAAAF,EAAA;EAAA,OAFpCE;CAEoC;CAYrCpB,YAAUN;CAAaM,YAAUL,OAAiBC;CALtC,MAAAwB,KAAApB,YAAUN;CAET,MAAA2B,KAAArB,YAAUL,OAAiBC;CAAA,IAAA0B;CAAA,IAAAJ,EAAA,OAAAG,IAAA;EADhCC,KAAA,EAAA1B,UACKyB,GACZ;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAE,MAAAF,EAAA,OAAAI,IAAA;EAJIC,KAAA;GAAA7B,WACM0B;GAAqBzB,OACzB2B;EAGT;EAACJ,EAAA,KAAAE;EAAAF,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CANH,MAAAM,oBACSD;CAST,MAAA1B,SAAeG,YAAUH;CAAS,IAAA4B;CAAA,IAAAP,EAAA,OAAArB,UAAAqB,EAAA,OAAAM,mBAAA;EAGhCC,KAAA,oBAAC,mCAAD,EAAA,gBAEI5B,SACE,oBAAC,QAAD,EAAA,UACE,oBAAC,sBAAD,EAAkC2B,YAAAA,kBAAiB,CAAA,EAD9C,CAAA,IAIP,oBAAC,sBAAD,EAAkCA,YAAAA,kBAAiB,CAAA,EAPvB,CAAA;EAUEN,EAAA,KAAArB;EAAAqB,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,OAVpCO;AAUoC;AAIxC3B,6BAA6B4B,cAAc"}
1
+ {"version":3,"file":"ChainOfThoughtParts.js","names":["ComponentType","FC","PropsWithChildren","ReactNode","useMemo","RenderChildrenWithAccessor","useAuiState","PartState","ChainOfThoughtPartByIndexProvider","MessagePartComponent","ReasoningMessagePartComponent","ToolCallMessagePartComponent","ChainOfThoughtPartsComponentConfig","Reasoning","tools","Fallback","Layout","ChainOfThoughtPrimitiveParts","Props","components","children","value","part","ChainOfThoughtPrimitivePartsInner","partsLength","s","chainOfThought","parts","length","Array","from","_","index","aui","getState","getItem","t0","$","_c","t1","t2","t3","t4","messageComponents","t5","displayName"],"sources":["../../../../src/react/primitives/chainOfThought/ChainOfThoughtParts.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type PropsWithChildren,\n type ReactNode,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { PartState } from \"../../../store/scopes/part\";\nimport { ChainOfThoughtPartByIndexProvider } from \"../../providers/ChainOfThoughtPartByIndexProvider\";\nimport { MessagePartComponent } from \"../message/MessageParts\";\nimport type {\n ReasoningMessagePartComponent,\n ToolCallMessagePartComponent,\n} from \"../../types/MessagePartComponentTypes\";\n\ntype ChainOfThoughtPartsComponentConfig = {\n /** Component for rendering reasoning parts */\n Reasoning?: ReasoningMessagePartComponent | undefined;\n /** Fallback component for tool-call parts */\n tools?: {\n Fallback?: ToolCallMessagePartComponent | undefined;\n };\n /** Layout component to wrap the rendered parts when expanded */\n Layout?: ComponentType<PropsWithChildren> | undefined;\n};\n\nexport namespace ChainOfThoughtPrimitiveParts {\n export type Props =\n | {\n /**\n * @deprecated Use the children render function instead.\n */\n components?: ChainOfThoughtPartsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each part. Receives the part. */\n children: (value: { part: PartState }) => ReactNode;\n components?: never;\n };\n}\n\nconst ChainOfThoughtPrimitivePartsInner: FC<{\n children: (value: { part: PartState }) => ReactNode;\n}> = ({ children }) => {\n const partsLength = useAuiState((s) => s.chainOfThought.parts.length);\n\n return useMemo(\n () =>\n Array.from({ length: partsLength }, (_, index) => (\n <ChainOfThoughtPartByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.part.getState()}\n >\n {(getItem) =>\n children({\n get part() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </ChainOfThoughtPartByIndexProvider>\n )),\n [partsLength, children],\n );\n};\n\n/**\n * Renders the parts within a chain of thought, with support for collapsed/expanded states.\n *\n * When collapsed, no parts are shown. When expanded, all parts are rendered\n * using the provided component configuration through the part scope mechanism.\n */\nexport const ChainOfThoughtPrimitiveParts: FC<\n ChainOfThoughtPrimitiveParts.Props\n> = ({ components, children }) => {\n if (children) {\n return (\n <ChainOfThoughtPrimitivePartsInner>\n {children}\n </ChainOfThoughtPrimitivePartsInner>\n );\n }\n\n // oxlint-disable-next-line react-hooks/rules-of-hooks -- intentional conditional hook below the early return above\n const messageComponents = useMemo(\n () => ({\n Reasoning: components?.Reasoning,\n tools: {\n Fallback: components?.tools?.Fallback,\n },\n }),\n [components?.Reasoning, components?.tools?.Fallback],\n );\n\n const Layout = components?.Layout;\n\n return (\n <ChainOfThoughtPrimitivePartsInner>\n {() =>\n Layout ? (\n <Layout>\n <MessagePartComponent components={messageComponents} />\n </Layout>\n ) : (\n <MessagePartComponent components={messageComponents} />\n )\n }\n </ChainOfThoughtPrimitivePartsInner>\n );\n};\n\nChainOfThoughtPrimitiveParts.displayName = \"ChainOfThoughtPrimitive.Parts\";\n"],"mappings":";;;;;;;AA2CA,MAAMuB,qCAEA,EAAEH,eAAe;CACrB,MAAMI,cAAclB,aAAamB,MAAMA,EAAEC,eAAeC,MAAMC,MAAM;CAEpE,OAAOxB,cAEHyB,MAAMC,KAAK,EAAEF,QAAQJ,YAAY,IAAIO,GAAGC,UACtC,oBAAC,mCAAD;EAAsDA;EACpD,UAAA,oBAAC,4BAAD;GACE,eAAeC,QAAQA,IAAIX,KAAKY,SAAS;GAEvCC,WAAAA,YACAf,SAAS,EACP,IAAIE,OAAO;IACT,OAAOa,QAAQ;GACjB,EACF,CAAC;EAEuB,CAAA;CACK,GAZKH,KAYL,CACpC,GACH,CAACR,aAAaJ,QAAQ,CACxB;AACF;;;;;;;AAQA,MAAaH,gCAETmB,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAnB,YAAAC,aAAAgB;CACH,IAAIhB,UAAQ;EAAA,IAAAmB;EAAA,IAAAF,EAAA,OAAAjB,UAAA;GAERmB,KAAA,oBAAC,mCAAD,EACGnB,SAD+B,CAAA;GAEEiB,EAAA,KAAAjB;GAAAiB,EAAA,KAAAE;EAAA,OAAAA,KAAAF,EAAA;EAAA,OAFpCE;CAEoC;CAYrCpB,YAAUN;CAAaM,YAAUL,OAAiBC;CALtC,MAAAwB,KAAApB,YAAUN;CAET,MAAA2B,KAAArB,YAAUL,OAAiBC;CAAA,IAAA0B;CAAA,IAAAJ,EAAA,OAAAG,IAAA;EADhCC,KAAA,EAAA1B,UACKyB,GACZ;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAK;CAAA,IAAAL,EAAA,OAAAE,MAAAF,EAAA,OAAAI,IAAA;EAJIC,KAAA;GAAA7B,WACM0B;GAAqBzB,OACzB2B;EAGT;EAACJ,EAAA,KAAAE;EAAAF,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CANH,MAAAM,oBACSD;CAST,MAAA1B,SAAeG,YAAUH;CAAS,IAAA4B;CAAA,IAAAP,EAAA,OAAArB,UAAAqB,EAAA,OAAAM,mBAAA;EAGhCC,KAAA,oBAAC,mCAAD,EAAA,gBAEI5B,SACE,oBAAC,QAAD,EAAA,UACE,oBAAC,sBAAD,EAAkC2B,YAAAA,kBAAiB,CAAA,EAD9C,CAAA,IAIP,oBAAC,sBAAD,EAAkCA,YAAAA,kBAAiB,CAAA,EAPvB,CAAA;EAUEN,EAAA,KAAArB;EAAAqB,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,OAVpCO;AAUoC;AAIxC3B,6BAA6B4B,cAAc"}
@@ -64,7 +64,7 @@ const ComposerPrimitiveAttachmentsInner = ({ children }) => {
64
64
  return useMemo(() => Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */ jsx(ComposerAttachmentByIndexProvider, {
65
65
  index,
66
66
  children: /* @__PURE__ */ jsx(RenderChildrenWithAccessor, {
67
- getItemState: (aui) => aui.composer().attachment({ index }).getState(),
67
+ getItemState: (aui) => aui.composer.attachment({ index }).getState(),
68
68
  children: (getItem) => children({ get attachment() {
69
69
  return getItem();
70
70
  } })
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerAttachments.js","names":["Attachment","ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","ComposerAttachmentByIndexProvider","ComposerAttachmentsComponentConfig","Image","Document","File","ComposerPrimitiveAttachments","Props","components","children","value","attachment","getComponent","type","AttachmentComponent","t0","$","_c","_temp","t1","Component","t2","ComposerPrimitiveAttachmentByIndex","index","prev","next","displayName","ComposerPrimitiveAttachmentsInner","attachmentsCount","s","composer","attachments","length","Array","from","_","aui","getState","getItem"],"sources":["../../../../src/react/primitives/composer/ComposerAttachments.tsx"],"sourcesContent":["import type { Attachment } from \"../../../types/attachment\";\nimport {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport { ComposerAttachmentByIndexProvider } from \"../../providers/AttachmentByIndexProvider\";\n\ntype ComposerAttachmentsComponentConfig = {\n Image?: ComponentType | undefined;\n Document?: ComponentType | undefined;\n File?: ComponentType | undefined;\n Attachment?: ComponentType | undefined;\n};\n\nexport namespace ComposerPrimitiveAttachments {\n export type Props =\n | {\n /** @deprecated Use the children render function instead. */\n components: ComposerAttachmentsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each attachment. Receives the attachment. */\n children: (value: { attachment: Attachment }) => ReactNode;\n components?: never;\n };\n}\n\nconst getComponent = (\n components: ComposerAttachmentsComponentConfig | undefined,\n attachment: Attachment,\n) => {\n const type = attachment.type;\n switch (type) {\n case \"image\":\n return components?.Image ?? components?.Attachment;\n case \"document\":\n return components?.Document ?? components?.Attachment;\n case \"file\":\n return components?.File ?? components?.Attachment;\n default:\n return components?.Attachment;\n }\n};\n\nconst AttachmentComponent: FC<{\n components: ComposerAttachmentsComponentConfig | undefined;\n}> = ({ components }) => {\n const attachment = useAuiState((s) => s.attachment);\n if (!attachment) return null;\n\n const Component = getComponent(components, attachment);\n if (!Component) return null;\n return <Component />;\n};\n\nexport namespace ComposerPrimitiveAttachmentByIndex {\n export type Props = {\n index: number;\n components?: ComposerAttachmentsComponentConfig;\n };\n}\n\n/**\n * Renders a single attachment at the specified index within the composer.\n */\nexport const ComposerPrimitiveAttachmentByIndex: FC<ComposerPrimitiveAttachmentByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <ComposerAttachmentByIndexProvider index={index}>\n <AttachmentComponent components={components} />\n </ComposerAttachmentByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.Document === next.components?.Document &&\n prev.components?.File === next.components?.File &&\n prev.components?.Attachment === next.components?.Attachment,\n );\n\nComposerPrimitiveAttachmentByIndex.displayName =\n \"ComposerPrimitive.AttachmentByIndex\";\n\nconst ComposerPrimitiveAttachmentsInner: FC<{\n children: (value: { attachment: Attachment }) => ReactNode;\n}> = ({ children }) => {\n const attachmentsCount = useAuiState((s) => s.composer.attachments.length);\n\n return useMemo(\n () =>\n Array.from({ length: attachmentsCount }, (_, index) => (\n <ComposerAttachmentByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) =>\n aui.composer().attachment({ index }).getState()\n }\n >\n {(getItem) =>\n children({\n get attachment() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </ComposerAttachmentByIndexProvider>\n )),\n [attachmentsCount, children],\n );\n};\n\nexport const ComposerPrimitiveAttachments: FC<\n ComposerPrimitiveAttachments.Props\n> = ({ components, children }) => {\n if (components) {\n return (\n <ComposerPrimitiveAttachmentsInner>\n {({ attachment }) => {\n const Component = getComponent(components, attachment);\n if (!Component) return null;\n return <Component />;\n }}\n </ComposerPrimitiveAttachmentsInner>\n );\n }\n return (\n <ComposerPrimitiveAttachmentsInner>\n {children}\n </ComposerPrimitiveAttachmentsInner>\n );\n};\n\nComposerPrimitiveAttachments.displayName = \"ComposerPrimitive.Attachments\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComposerAttachments.js","names":["Attachment","ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","ComposerAttachmentByIndexProvider","ComposerAttachmentsComponentConfig","Image","Document","File","ComposerPrimitiveAttachments","Props","components","children","value","attachment","getComponent","type","AttachmentComponent","t0","$","_c","_temp","t1","Component","t2","ComposerPrimitiveAttachmentByIndex","index","prev","next","displayName","ComposerPrimitiveAttachmentsInner","attachmentsCount","s","composer","attachments","length","Array","from","_","aui","getState","getItem"],"sources":["../../../../src/react/primitives/composer/ComposerAttachments.tsx"],"sourcesContent":["import type { Attachment } from \"../../../types/attachment\";\nimport {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport { ComposerAttachmentByIndexProvider } from \"../../providers/AttachmentByIndexProvider\";\n\ntype ComposerAttachmentsComponentConfig = {\n Image?: ComponentType | undefined;\n Document?: ComponentType | undefined;\n File?: ComponentType | undefined;\n Attachment?: ComponentType | undefined;\n};\n\nexport namespace ComposerPrimitiveAttachments {\n export type Props =\n | {\n /** @deprecated Use the children render function instead. */\n components: ComposerAttachmentsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each attachment. Receives the attachment. */\n children: (value: { attachment: Attachment }) => ReactNode;\n components?: never;\n };\n}\n\nconst getComponent = (\n components: ComposerAttachmentsComponentConfig | undefined,\n attachment: Attachment,\n) => {\n const type = attachment.type;\n switch (type) {\n case \"image\":\n return components?.Image ?? components?.Attachment;\n case \"document\":\n return components?.Document ?? components?.Attachment;\n case \"file\":\n return components?.File ?? components?.Attachment;\n default:\n return components?.Attachment;\n }\n};\n\nconst AttachmentComponent: FC<{\n components: ComposerAttachmentsComponentConfig | undefined;\n}> = ({ components }) => {\n const attachment = useAuiState((s) => s.attachment);\n if (!attachment) return null;\n\n const Component = getComponent(components, attachment);\n if (!Component) return null;\n return <Component />;\n};\n\nexport namespace ComposerPrimitiveAttachmentByIndex {\n export type Props = {\n index: number;\n components?: ComposerAttachmentsComponentConfig;\n };\n}\n\n/**\n * Renders a single attachment at the specified index within the composer.\n */\nexport const ComposerPrimitiveAttachmentByIndex: FC<ComposerPrimitiveAttachmentByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <ComposerAttachmentByIndexProvider index={index}>\n <AttachmentComponent components={components} />\n </ComposerAttachmentByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.Document === next.components?.Document &&\n prev.components?.File === next.components?.File &&\n prev.components?.Attachment === next.components?.Attachment,\n );\n\nComposerPrimitiveAttachmentByIndex.displayName =\n \"ComposerPrimitive.AttachmentByIndex\";\n\nconst ComposerPrimitiveAttachmentsInner: FC<{\n children: (value: { attachment: Attachment }) => ReactNode;\n}> = ({ children }) => {\n const attachmentsCount = useAuiState((s) => s.composer.attachments.length);\n\n return useMemo(\n () =>\n Array.from({ length: attachmentsCount }, (_, index) => (\n <ComposerAttachmentByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) =>\n aui.composer.attachment({ index }).getState()\n }\n >\n {(getItem) =>\n children({\n get attachment() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </ComposerAttachmentByIndexProvider>\n )),\n [attachmentsCount, children],\n );\n};\n\nexport const ComposerPrimitiveAttachments: FC<\n ComposerPrimitiveAttachments.Props\n> = ({ components, children }) => {\n if (components) {\n return (\n <ComposerPrimitiveAttachmentsInner>\n {({ attachment }) => {\n const Component = getComponent(components, attachment);\n if (!Component) return null;\n return <Component />;\n }}\n </ComposerPrimitiveAttachmentsInner>\n );\n }\n return (\n <ComposerPrimitiveAttachmentsInner>\n {children}\n </ComposerPrimitiveAttachmentsInner>\n );\n};\n\nComposerPrimitiveAttachments.displayName = \"ComposerPrimitive.Attachments\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerQueue.d.ts","names":[],"sources":["../../../../src/react/primitives/composer/ComposerQueue.tsx"],"mappings":";;;kBAKiB;OACH;;IAEV,WAAW;MAAS,WAAW;UAAqB;;;;;;;;;;;;;;;;;;cA+C3C,wCAAsB;EA1CvB,WAAC;IAAS,WAAW;QAAqB"}
1
+ {"version":3,"file":"ComposerQueue.d.ts","names":[],"sources":["../../../../src/react/primitives/composer/ComposerQueue.tsx"],"mappings":";;;kBAKiB;OACH;;IAEV,WAAW;MAAS,WAAW;UAAqB;;;;;;;;;;;;;;;;;;cA6C3C,wCAAsB;EAxCvB,WAAC;IAAS,WAAW;QAAqB"}
@@ -8,7 +8,7 @@ const ComposerPrimitiveQueueInner = ({ children }) => {
8
8
  return useMemo(() => Array.from({ length: queue }, (_, index) => /* @__PURE__ */ jsx(QueueItemByIndexProvider, {
9
9
  index,
10
10
  children: /* @__PURE__ */ jsx(RenderChildrenWithAccessor, {
11
- getItemState: (aui) => aui.composer().queueItem({ index }).getState(),
11
+ getItemState: (aui) => aui.composer.queueItem({ index }).getState(),
12
12
  children: (getItem) => children({ get queueItem() {
13
13
  return getItem();
14
14
  } })
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerQueue.js","names":["FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","QueueItemState","QueueItemByIndexProvider","ComposerPrimitiveQueue","Props","children","value","queueItem","ComposerPrimitiveQueueInner","queue","s","composer","length","Array","from","_","index","aui","getState","getItem","displayName"],"sources":["../../../../src/react/primitives/composer/ComposerQueue.tsx"],"sourcesContent":["import { type FC, type ReactNode, memo, useMemo } from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { QueueItemState } from \"../../../store/scopes/queue-item\";\nimport { QueueItemByIndexProvider } from \"../../providers/QueueItemByIndexProvider\";\n\nexport namespace ComposerPrimitiveQueue {\n export type Props = {\n /** Render function called for each queue item. Receives the queue item state. */\n children: (value: { queueItem: QueueItemState }) => ReactNode;\n };\n}\n\nconst ComposerPrimitiveQueueInner: FC<{\n children: (value: { queueItem: QueueItemState }) => ReactNode;\n}> = ({ children }) => {\n const queue = useAuiState((s) => s.composer.queue.length);\n\n return useMemo(\n () =>\n Array.from({ length: queue }, (_, index) => (\n <QueueItemByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) =>\n aui.composer().queueItem({ index }).getState()\n }\n >\n {(getItem) =>\n children({\n get queueItem() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </QueueItemByIndexProvider>\n )),\n [queue, children],\n );\n};\n\n/**\n * Renders all queue items in the composer.\n *\n * @example\n * ```tsx\n * <ComposerPrimitive.Queue>\n * {({ queueItem }) => (\n * <div>\n * <QueueItemPrimitive.Text />\n * <QueueItemPrimitive.Steer>Run Now</QueueItemPrimitive.Steer>\n * </div>\n * )}\n * </ComposerPrimitive.Queue>\n * ```\n */\nexport const ComposerPrimitiveQueue = memo(ComposerPrimitiveQueueInner);\n\nComposerPrimitiveQueue.displayName = \"ComposerPrimitive.Queue\";\n"],"mappings":";;;;;AAYA,MAAMa,+BAEA,EAAEH,eAAe;CACrB,MAAMI,QAAQT,aAAaU,MAAMA,EAAEC,SAASF,MAAMG,MAAM;CAExD,OAAOd,cAEHe,MAAMC,KAAK,EAAEF,QAAQH,MAAM,IAAIM,GAAGC,UAChC,oBAAC,0BAAD;EAA6CA;EAC3C,UAAA,oBAAC,4BAAD;GACE,eAAeC,QACbA,IAAIN,SAAS,CAAC,CAACJ,UAAU,EAAES,MAAM,CAAC,CAAC,CAACE,SAAS;GAG7CC,WAAAA,YACAd,SAAS,EACP,IAAIE,YAAY;IACd,OAAOY,QAAQ;GACjB,EACF,CAAC;EAEuB,CAAA;CACJ,GAdKH,KAcL,CAC3B,GACH,CAACP,OAAOJ,QAAQ,CAClB;AACF;;;;;;;;;;;;;;;;AAiBA,MAAaF,yBAAyBN,KAAKW,2BAA2B;AAEtEL,uBAAuBiB,cAAc"}
1
+ {"version":3,"file":"ComposerQueue.js","names":["FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","QueueItemState","QueueItemByIndexProvider","ComposerPrimitiveQueue","Props","children","value","queueItem","ComposerPrimitiveQueueInner","queue","s","composer","length","Array","from","_","index","aui","getState","getItem","displayName"],"sources":["../../../../src/react/primitives/composer/ComposerQueue.tsx"],"sourcesContent":["import { type FC, type ReactNode, memo, useMemo } from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { QueueItemState } from \"../../../store/scopes/queue-item\";\nimport { QueueItemByIndexProvider } from \"../../providers/QueueItemByIndexProvider\";\n\nexport namespace ComposerPrimitiveQueue {\n export type Props = {\n /** Render function called for each queue item. Receives the queue item state. */\n children: (value: { queueItem: QueueItemState }) => ReactNode;\n };\n}\n\nconst ComposerPrimitiveQueueInner: FC<{\n children: (value: { queueItem: QueueItemState }) => ReactNode;\n}> = ({ children }) => {\n const queue = useAuiState((s) => s.composer.queue.length);\n\n return useMemo(\n () =>\n Array.from({ length: queue }, (_, index) => (\n <QueueItemByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.composer.queueItem({ index }).getState()}\n >\n {(getItem) =>\n children({\n get queueItem() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </QueueItemByIndexProvider>\n )),\n [queue, children],\n );\n};\n\n/**\n * Renders all queue items in the composer.\n *\n * @example\n * ```tsx\n * <ComposerPrimitive.Queue>\n * {({ queueItem }) => (\n * <div>\n * <QueueItemPrimitive.Text />\n * <QueueItemPrimitive.Steer>Run Now</QueueItemPrimitive.Steer>\n * </div>\n * )}\n * </ComposerPrimitive.Queue>\n * ```\n */\nexport const ComposerPrimitiveQueue = memo(ComposerPrimitiveQueueInner);\n\nComposerPrimitiveQueue.displayName = \"ComposerPrimitive.Queue\";\n"],"mappings":";;;;;AAYA,MAAMa,+BAEA,EAAEH,eAAe;CACrB,MAAMI,QAAQT,aAAaU,MAAMA,EAAEC,SAASF,MAAMG,MAAM;CAExD,OAAOd,cAEHe,MAAMC,KAAK,EAAEF,QAAQH,MAAM,IAAIM,GAAGC,UAChC,oBAAC,0BAAD;EAA6CA;EAC3C,UAAA,oBAAC,4BAAD;GACE,eAAeC,QAAQA,IAAIN,SAASJ,UAAU,EAAES,MAAM,CAAC,CAAC,CAACE,SAAS;GAEhEC,WAAAA,YACAd,SAAS,EACP,IAAIE,YAAY;IACd,OAAOY,QAAQ;GACjB,EACF,CAAC;EAEuB,CAAA;CACJ,GAZKH,KAYL,CAC3B,GACH,CAACP,OAAOJ,QAAQ,CAClB;AACF;;;;;;;;;;;;;;;;AAiBA,MAAaF,yBAAyBN,KAAKW,2BAA2B;AAEtEL,uBAAuBiB,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageAttachments.d.ts","names":[],"sources":["../../../../src/react/primitives/message/MessageAttachments.tsx"],"mappings":";;;KAWK;EACH,QAAQ;EACR,WAAW;EACX,OAAO;EACP,aAAa;;kBAGE;OACH;;IAGN,YAAY;IACZ;;;IAIA,WAAW;MAAS,YAAY;UAAyB;IACzD;;;kBAgCS;OACH;IACV;IACA,aAAa;;;;;;cAOJ,mCAAmC,GAAG,kCAAkC;cAmDxE,6BAA6B,GACxC,4BAA4B"}
1
+ {"version":3,"file":"MessageAttachments.d.ts","names":[],"sources":["../../../../src/react/primitives/message/MessageAttachments.tsx"],"mappings":";;;KAWK;EACH,QAAQ;EACR,WAAW;EACX,OAAO;EACP,aAAa;;kBAGE;OACH;;IAGN,YAAY;IACZ;;;IAIA,WAAW;MAAS,YAAY;UAAyB;IACzD;;;kBAgCS;OACH;IACV;IACA,aAAa;;;;;;cAOJ,mCAAmC,GAAG,kCAAkC;cAiDxE,6BAA6B,GACxC,4BAA4B"}
@@ -68,7 +68,7 @@ const MessagePrimitiveAttachmentsInner = ({ children }) => {
68
68
  return useMemo(() => Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */ jsx(MessageAttachmentByIndexProvider, {
69
69
  index,
70
70
  children: /* @__PURE__ */ jsx(RenderChildrenWithAccessor, {
71
- getItemState: (aui) => aui.message().attachment({ index }).getState(),
71
+ getItemState: (aui) => aui.message.attachment({ index }).getState(),
72
72
  children: (getItem) => children({ get attachment() {
73
73
  return getItem();
74
74
  } })
@@ -1 +1 @@
1
- {"version":3,"file":"MessageAttachments.js","names":["CompleteAttachment","ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","MessageAttachmentByIndexProvider","MessageAttachmentsComponentConfig","Image","Document","File","Attachment","MessagePrimitiveAttachments","Props","components","children","value","attachment","getComponent","type","AttachmentComponent","t0","$","_c","_temp","t1","t2","Component","t3","MessagePrimitiveAttachmentByIndex","index","prev","next","displayName","MessagePrimitiveAttachmentsInner","attachmentsCount","s","message","role","attachments","length","Array","from","_","aui","getState","getItem"],"sources":["../../../../src/react/primitives/message/MessageAttachments.tsx"],"sourcesContent":["import type { CompleteAttachment } from \"../../../types/attachment\";\nimport {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport { MessageAttachmentByIndexProvider } from \"../../providers/AttachmentByIndexProvider\";\n\ntype MessageAttachmentsComponentConfig = {\n Image?: ComponentType | undefined;\n Document?: ComponentType | undefined;\n File?: ComponentType | undefined;\n Attachment?: ComponentType | undefined;\n};\n\nexport namespace MessagePrimitiveAttachments {\n export type Props =\n | {\n /** @deprecated Use the children render function instead. */\n components: MessageAttachmentsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each attachment. Receives the attachment. */\n children: (value: { attachment: CompleteAttachment }) => ReactNode;\n components?: never;\n };\n}\n\nconst getComponent = (\n components: MessageAttachmentsComponentConfig | undefined,\n attachment: CompleteAttachment,\n) => {\n const type = attachment.type;\n switch (type) {\n case \"image\":\n return components?.Image ?? components?.Attachment;\n case \"document\":\n return components?.Document ?? components?.Attachment;\n case \"file\":\n return components?.File ?? components?.Attachment;\n default:\n return components?.Attachment;\n }\n};\n\nconst AttachmentComponent: FC<{\n components: MessageAttachmentsComponentConfig | undefined;\n}> = ({ components }) => {\n const attachment = useAuiState((s) => s.attachment);\n if (!attachment) return null;\n\n const Component = getComponent(components, attachment as CompleteAttachment);\n if (!Component) return null;\n return <Component />;\n};\n\nexport namespace MessagePrimitiveAttachmentByIndex {\n export type Props = {\n index: number;\n components?: MessageAttachmentsComponentConfig;\n };\n}\n\n/**\n * Renders a single attachment at the specified index within the current message.\n */\nexport const MessagePrimitiveAttachmentByIndex: FC<MessagePrimitiveAttachmentByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <MessageAttachmentByIndexProvider index={index}>\n <AttachmentComponent components={components} />\n </MessageAttachmentByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.Document === next.components?.Document &&\n prev.components?.File === next.components?.File &&\n prev.components?.Attachment === next.components?.Attachment,\n );\n\nMessagePrimitiveAttachmentByIndex.displayName =\n \"MessagePrimitive.AttachmentByIndex\";\n\nconst MessagePrimitiveAttachmentsInner: FC<{\n children: (value: { attachment: CompleteAttachment }) => ReactNode;\n}> = ({ children }) => {\n const attachmentsCount = useAuiState((s) => {\n if (s.message.role !== \"user\") return 0;\n return (s.message.attachments ?? []).length;\n });\n\n return useMemo(\n () =>\n Array.from({ length: attachmentsCount }, (_, index) => (\n <MessageAttachmentByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) =>\n aui.message().attachment({ index }).getState()\n }\n >\n {(getItem) =>\n children({\n get attachment() {\n return getItem() as CompleteAttachment;\n },\n })\n }\n </RenderChildrenWithAccessor>\n </MessageAttachmentByIndexProvider>\n )),\n [attachmentsCount, children],\n );\n};\n\nexport const MessagePrimitiveAttachments: FC<\n MessagePrimitiveAttachments.Props\n> = ({ components, children }) => {\n if (components) {\n return (\n <MessagePrimitiveAttachmentsInner>\n {({ attachment }) => {\n const Component = getComponent(components, attachment);\n if (!Component) return null;\n return <Component />;\n }}\n </MessagePrimitiveAttachmentsInner>\n );\n }\n return (\n <MessagePrimitiveAttachmentsInner>\n {children}\n </MessagePrimitiveAttachmentsInner>\n );\n};\n\nMessagePrimitiveAttachments.displayName = \"MessagePrimitive.Attachments\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"MessageAttachments.js","names":["CompleteAttachment","ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","MessageAttachmentByIndexProvider","MessageAttachmentsComponentConfig","Image","Document","File","Attachment","MessagePrimitiveAttachments","Props","components","children","value","attachment","getComponent","type","AttachmentComponent","t0","$","_c","_temp","t1","t2","Component","t3","MessagePrimitiveAttachmentByIndex","index","prev","next","displayName","MessagePrimitiveAttachmentsInner","attachmentsCount","s","message","role","attachments","length","Array","from","_","aui","getState","getItem"],"sources":["../../../../src/react/primitives/message/MessageAttachments.tsx"],"sourcesContent":["import type { CompleteAttachment } from \"../../../types/attachment\";\nimport {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport { MessageAttachmentByIndexProvider } from \"../../providers/AttachmentByIndexProvider\";\n\ntype MessageAttachmentsComponentConfig = {\n Image?: ComponentType | undefined;\n Document?: ComponentType | undefined;\n File?: ComponentType | undefined;\n Attachment?: ComponentType | undefined;\n};\n\nexport namespace MessagePrimitiveAttachments {\n export type Props =\n | {\n /** @deprecated Use the children render function instead. */\n components: MessageAttachmentsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each attachment. Receives the attachment. */\n children: (value: { attachment: CompleteAttachment }) => ReactNode;\n components?: never;\n };\n}\n\nconst getComponent = (\n components: MessageAttachmentsComponentConfig | undefined,\n attachment: CompleteAttachment,\n) => {\n const type = attachment.type;\n switch (type) {\n case \"image\":\n return components?.Image ?? components?.Attachment;\n case \"document\":\n return components?.Document ?? components?.Attachment;\n case \"file\":\n return components?.File ?? components?.Attachment;\n default:\n return components?.Attachment;\n }\n};\n\nconst AttachmentComponent: FC<{\n components: MessageAttachmentsComponentConfig | undefined;\n}> = ({ components }) => {\n const attachment = useAuiState((s) => s.attachment);\n if (!attachment) return null;\n\n const Component = getComponent(components, attachment as CompleteAttachment);\n if (!Component) return null;\n return <Component />;\n};\n\nexport namespace MessagePrimitiveAttachmentByIndex {\n export type Props = {\n index: number;\n components?: MessageAttachmentsComponentConfig;\n };\n}\n\n/**\n * Renders a single attachment at the specified index within the current message.\n */\nexport const MessagePrimitiveAttachmentByIndex: FC<MessagePrimitiveAttachmentByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <MessageAttachmentByIndexProvider index={index}>\n <AttachmentComponent components={components} />\n </MessageAttachmentByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.Document === next.components?.Document &&\n prev.components?.File === next.components?.File &&\n prev.components?.Attachment === next.components?.Attachment,\n );\n\nMessagePrimitiveAttachmentByIndex.displayName =\n \"MessagePrimitive.AttachmentByIndex\";\n\nconst MessagePrimitiveAttachmentsInner: FC<{\n children: (value: { attachment: CompleteAttachment }) => ReactNode;\n}> = ({ children }) => {\n const attachmentsCount = useAuiState((s) => {\n if (s.message.role !== \"user\") return 0;\n return (s.message.attachments ?? []).length;\n });\n\n return useMemo(\n () =>\n Array.from({ length: attachmentsCount }, (_, index) => (\n <MessageAttachmentByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.message.attachment({ index }).getState()}\n >\n {(getItem) =>\n children({\n get attachment() {\n return getItem() as CompleteAttachment;\n },\n })\n }\n </RenderChildrenWithAccessor>\n </MessageAttachmentByIndexProvider>\n )),\n [attachmentsCount, children],\n );\n};\n\nexport const MessagePrimitiveAttachments: FC<\n MessagePrimitiveAttachments.Props\n> = ({ components, children }) => {\n if (components) {\n return (\n <MessagePrimitiveAttachmentsInner>\n {({ attachment }) => {\n const Component = getComponent(components, attachment);\n if (!Component) return null;\n return <Component />;\n }}\n </MessagePrimitiveAttachmentsInner>\n );\n }\n return (\n <MessagePrimitiveAttachmentsInner>\n {children}\n </MessagePrimitiveAttachmentsInner>\n );\n};\n\nMessagePrimitiveAttachments.displayName = \"MessagePrimitive.Attachments\";\n"],"mappings":"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"}