@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":"ThreadMessages.js","names":["ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","MessageByIndexProvider","MessageByIdProvider","MessageState","MessagesComponentConfig","Message","EditComposer","UserEditComposer","AssistantEditComposer","SystemEditComposer","UserMessage","AssistantMessage","SystemMessage","ThreadPrimitiveMessages","Props","components","children","value","message","isComponentsSame","prev","next","DEFAULT_SYSTEM_MESSAGE","messageIdSetCache","WeakMap","ReadonlySet","hasMessageId","messages","messageId","ids","get","Set","map","m","id","set","has","getComponent","role","isEditing","_exhaustiveCheck","Error","ThreadMessageComponentProps","ThreadMessageComponent","t0","$","_c","_temp","_temp2","t1","Component","t2","ThreadPrimitiveMessageByIndex","index","displayName","ThreadPrimitiveUnstable_MessageById","s","thread","exists","t3","ThreadPrimitiveMessagesInner","messagesLength","length","Array","from","_","aui","getState","getItem","ThreadPrimitiveMessagesImpl","s_0","composer"],"sources":["../../../../src/react/primitives/thread/ThreadMessages.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport { MessageByIndexProvider } from \"../../providers/MessageByIndexProvider\";\nimport { MessageByIdProvider } from \"../../providers/MessageByIdProvider\";\nimport type { MessageState } from \"../../../store\";\n\ntype MessagesComponentConfig =\n | {\n /** Component used to render all message types */\n Message: ComponentType;\n /** Component used when editing any message type */\n EditComposer?: ComponentType | undefined;\n /** Component used when editing user messages specifically */\n UserEditComposer?: ComponentType | undefined;\n /** Component used when editing assistant messages specifically */\n AssistantEditComposer?: ComponentType | undefined;\n /** Component used when editing system messages specifically */\n SystemEditComposer?: ComponentType | undefined;\n /** Component used to render user messages specifically */\n UserMessage?: ComponentType | undefined;\n /** Component used to render assistant messages specifically */\n AssistantMessage?: ComponentType | undefined;\n /** Component used to render system messages specifically */\n SystemMessage?: ComponentType | undefined;\n }\n | {\n /** Component used to render all message types (fallback) */\n Message?: ComponentType | undefined;\n /** Component used when editing any message type */\n EditComposer?: ComponentType | undefined;\n /** Component used when editing user messages specifically */\n UserEditComposer?: ComponentType | undefined;\n /** Component used when editing assistant messages specifically */\n AssistantEditComposer?: ComponentType | undefined;\n /** Component used when editing system messages specifically */\n SystemEditComposer?: ComponentType | undefined;\n /** Component used to render user messages */\n UserMessage: ComponentType;\n /** Component used to render assistant messages */\n AssistantMessage: ComponentType;\n /** Component used to render system messages */\n SystemMessage?: ComponentType | undefined;\n };\n\nexport namespace ThreadPrimitiveMessages {\n export type Props =\n | {\n /** @deprecated Use the children render function instead. */\n components: MessagesComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each message. Receives the message. */\n children: (value: { message: MessageState }) => ReactNode;\n components?: never;\n };\n}\n\nconst isComponentsSame = (\n prev: MessagesComponentConfig,\n next: MessagesComponentConfig,\n) => {\n return (\n prev.Message === next.Message &&\n prev.EditComposer === next.EditComposer &&\n prev.UserEditComposer === next.UserEditComposer &&\n prev.AssistantEditComposer === next.AssistantEditComposer &&\n prev.SystemEditComposer === next.SystemEditComposer &&\n prev.UserMessage === next.UserMessage &&\n prev.AssistantMessage === next.AssistantMessage &&\n prev.SystemMessage === next.SystemMessage\n );\n};\n\nconst DEFAULT_SYSTEM_MESSAGE = () => null;\n\nconst messageIdSetCache = new WeakMap<\n readonly MessageState[],\n ReadonlySet<string>\n>();\n\nconst hasMessageId = (messages: readonly MessageState[], messageId: string) => {\n let ids = messageIdSetCache.get(messages);\n if (!ids) {\n ids = new Set(messages.map((m) => m.id));\n messageIdSetCache.set(messages, ids);\n }\n return ids.has(messageId);\n};\n\nconst getComponent = (\n components: MessagesComponentConfig,\n role: MessageState[\"role\"],\n isEditing: boolean,\n) => {\n switch (role) {\n case \"user\":\n if (isEditing) {\n return (\n components.UserEditComposer ??\n components.EditComposer ??\n components.UserMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return components.UserMessage ?? (components.Message as ComponentType);\n }\n case \"assistant\":\n if (isEditing) {\n return (\n components.AssistantEditComposer ??\n components.EditComposer ??\n components.AssistantMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return (\n components.AssistantMessage ?? (components.Message as ComponentType)\n );\n }\n case \"system\":\n if (isEditing) {\n return (\n components.SystemEditComposer ??\n components.EditComposer ??\n components.SystemMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return (\n components.SystemMessage ??\n (components.Message as ComponentType) ??\n DEFAULT_SYSTEM_MESSAGE\n );\n }\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unknown message role: ${_exhaustiveCheck}`);\n }\n }\n};\n\ntype ThreadMessageComponentProps = {\n components: MessagesComponentConfig;\n};\n\nconst ThreadMessageComponent: FC<ThreadMessageComponentProps> = ({\n components,\n}) => {\n const role = useAuiState((s) => s.message.role);\n const isEditing = useAuiState((s) => s.message.composer.isEditing);\n const Component = getComponent(components, role, isEditing);\n\n return <Component />;\n};\nexport namespace ThreadPrimitiveMessageByIndex {\n export type Props = {\n index: number;\n components: MessagesComponentConfig;\n };\n}\n\n/**\n * Renders a single message at the specified index in the current thread.\n */\nexport const ThreadPrimitiveMessageByIndex: FC<ThreadPrimitiveMessageByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <MessageByIndexProvider index={index}>\n <ThreadMessageComponent components={components} />\n </MessageByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n isComponentsSame(prev.components, next.components),\n );\n\nThreadPrimitiveMessageByIndex.displayName = \"ThreadPrimitive.MessageByIndex\";\n\nexport namespace ThreadPrimitiveUnstable_MessageById {\n export type Props = {\n messageId: string;\n components: MessagesComponentConfig;\n };\n}\n\n/**\n * Renders the message with the given id in the current thread.\n *\n * Unlike {@link ThreadPrimitiveMessageByIndex}, this keys off the message id,\n * so it stays attached to the same message across reordering and windowing -\n * the shape needed to drive a virtualized or custom message list together with\n * `unstable_useThreadMessageIds`. A missing or removed id renders `null` rather\n * than throwing.\n *\n * @deprecated Unstable / Experimental - may change in any release.\n *\n * @example\n * ```tsx\n * const messageIds = unstable_useThreadMessageIds();\n * return messageIds.map((messageId) => (\n * <ThreadPrimitive.Unstable_MessageById\n * key={messageId}\n * messageId={messageId}\n * components={MESSAGE_COMPONENTS}\n * />\n * ));\n * ```\n */\nexport const ThreadPrimitiveUnstable_MessageById: FC<ThreadPrimitiveUnstable_MessageById.Props> =\n memo(\n ({ messageId, components }) => {\n const exists = useAuiState((s) =>\n hasMessageId(s.thread.messages, messageId),\n );\n if (!exists) return null;\n\n return (\n <MessageByIdProvider id={messageId}>\n <ThreadMessageComponent components={components} />\n </MessageByIdProvider>\n );\n },\n (prev, next) =>\n prev.messageId === next.messageId &&\n isComponentsSame(prev.components, next.components),\n );\n\nThreadPrimitiveUnstable_MessageById.displayName =\n \"ThreadPrimitive.Unstable_MessageById\";\n\nconst ThreadPrimitiveMessagesInner: FC<{\n children: (value: { message: MessageState }) => ReactNode;\n}> = ({ children }) => {\n const messagesLength = useAuiState((s) => s.thread.messages.length);\n\n return useMemo(() => {\n if (messagesLength === 0) return null;\n return Array.from({ length: messagesLength }, (_, index) => (\n <MessageByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.thread().message({ index }).getState()}\n >\n {(getItem) =>\n children({\n get message() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </MessageByIndexProvider>\n ));\n }, [messagesLength, children]);\n};\n\n/**\n * Renders all messages in the current thread.\n *\n * @example\n * ```tsx\n * <ThreadPrimitive.Messages>\n * {({ message }) => {\n * if (message.role === \"user\") return <MyUserMessage />;\n * return <MyAssistantMessage />;\n * }}\n * </ThreadPrimitive.Messages>\n * ```\n */\nexport const ThreadPrimitiveMessagesImpl: FC<ThreadPrimitiveMessages.Props> = ({\n components,\n children,\n}) => {\n if (components) {\n return (\n <ThreadPrimitiveMessagesInner>\n {() => <ThreadMessageComponent components={components} />}\n </ThreadPrimitiveMessagesInner>\n );\n }\n return (\n <ThreadPrimitiveMessagesInner>{children}</ThreadPrimitiveMessagesInner>\n );\n};\n\nThreadPrimitiveMessagesImpl.displayName = \"ThreadPrimitive.Messages\";\n\nexport const ThreadPrimitiveMessages = memo(\n ThreadPrimitiveMessagesImpl,\n (prev, next) => {\n if (prev.children || next.children) {\n return prev.children === next.children;\n }\n return isComponentsSame(prev.components!, next.components!);\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThreadMessages.js","names":["ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","MessageByIndexProvider","MessageByIdProvider","MessageState","MessagesComponentConfig","Message","EditComposer","UserEditComposer","AssistantEditComposer","SystemEditComposer","UserMessage","AssistantMessage","SystemMessage","ThreadPrimitiveMessages","Props","components","children","value","message","isComponentsSame","prev","next","DEFAULT_SYSTEM_MESSAGE","messageIdSetCache","WeakMap","ReadonlySet","hasMessageId","messages","messageId","ids","get","Set","map","m","id","set","has","getComponent","role","isEditing","_exhaustiveCheck","Error","ThreadMessageComponentProps","ThreadMessageComponent","t0","$","_c","_temp","_temp2","t1","Component","t2","ThreadPrimitiveMessageByIndex","index","displayName","ThreadPrimitiveUnstable_MessageById","s","thread","exists","t3","ThreadPrimitiveMessagesInner","messagesLength","length","Array","from","_","aui","getState","getItem","ThreadPrimitiveMessagesImpl","s_0","composer"],"sources":["../../../../src/react/primitives/thread/ThreadMessages.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport { MessageByIndexProvider } from \"../../providers/MessageByIndexProvider\";\nimport { MessageByIdProvider } from \"../../providers/MessageByIdProvider\";\nimport type { MessageState } from \"../../../store\";\n\ntype MessagesComponentConfig =\n | {\n /** Component used to render all message types */\n Message: ComponentType;\n /** Component used when editing any message type */\n EditComposer?: ComponentType | undefined;\n /** Component used when editing user messages specifically */\n UserEditComposer?: ComponentType | undefined;\n /** Component used when editing assistant messages specifically */\n AssistantEditComposer?: ComponentType | undefined;\n /** Component used when editing system messages specifically */\n SystemEditComposer?: ComponentType | undefined;\n /** Component used to render user messages specifically */\n UserMessage?: ComponentType | undefined;\n /** Component used to render assistant messages specifically */\n AssistantMessage?: ComponentType | undefined;\n /** Component used to render system messages specifically */\n SystemMessage?: ComponentType | undefined;\n }\n | {\n /** Component used to render all message types (fallback) */\n Message?: ComponentType | undefined;\n /** Component used when editing any message type */\n EditComposer?: ComponentType | undefined;\n /** Component used when editing user messages specifically */\n UserEditComposer?: ComponentType | undefined;\n /** Component used when editing assistant messages specifically */\n AssistantEditComposer?: ComponentType | undefined;\n /** Component used when editing system messages specifically */\n SystemEditComposer?: ComponentType | undefined;\n /** Component used to render user messages */\n UserMessage: ComponentType;\n /** Component used to render assistant messages */\n AssistantMessage: ComponentType;\n /** Component used to render system messages */\n SystemMessage?: ComponentType | undefined;\n };\n\nexport namespace ThreadPrimitiveMessages {\n export type Props =\n | {\n /** @deprecated Use the children render function instead. */\n components: MessagesComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each message. Receives the message. */\n children: (value: { message: MessageState }) => ReactNode;\n components?: never;\n };\n}\n\nconst isComponentsSame = (\n prev: MessagesComponentConfig,\n next: MessagesComponentConfig,\n) => {\n return (\n prev.Message === next.Message &&\n prev.EditComposer === next.EditComposer &&\n prev.UserEditComposer === next.UserEditComposer &&\n prev.AssistantEditComposer === next.AssistantEditComposer &&\n prev.SystemEditComposer === next.SystemEditComposer &&\n prev.UserMessage === next.UserMessage &&\n prev.AssistantMessage === next.AssistantMessage &&\n prev.SystemMessage === next.SystemMessage\n );\n};\n\nconst DEFAULT_SYSTEM_MESSAGE = () => null;\n\nconst messageIdSetCache = new WeakMap<\n readonly MessageState[],\n ReadonlySet<string>\n>();\n\nconst hasMessageId = (messages: readonly MessageState[], messageId: string) => {\n let ids = messageIdSetCache.get(messages);\n if (!ids) {\n ids = new Set(messages.map((m) => m.id));\n messageIdSetCache.set(messages, ids);\n }\n return ids.has(messageId);\n};\n\nconst getComponent = (\n components: MessagesComponentConfig,\n role: MessageState[\"role\"],\n isEditing: boolean,\n) => {\n switch (role) {\n case \"user\":\n if (isEditing) {\n return (\n components.UserEditComposer ??\n components.EditComposer ??\n components.UserMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return components.UserMessage ?? (components.Message as ComponentType);\n }\n case \"assistant\":\n if (isEditing) {\n return (\n components.AssistantEditComposer ??\n components.EditComposer ??\n components.AssistantMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return (\n components.AssistantMessage ?? (components.Message as ComponentType)\n );\n }\n case \"system\":\n if (isEditing) {\n return (\n components.SystemEditComposer ??\n components.EditComposer ??\n components.SystemMessage ??\n (components.Message as ComponentType)\n );\n } else {\n return (\n components.SystemMessage ??\n (components.Message as ComponentType) ??\n DEFAULT_SYSTEM_MESSAGE\n );\n }\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unknown message role: ${_exhaustiveCheck}`);\n }\n }\n};\n\ntype ThreadMessageComponentProps = {\n components: MessagesComponentConfig;\n};\n\nconst ThreadMessageComponent: FC<ThreadMessageComponentProps> = ({\n components,\n}) => {\n const role = useAuiState((s) => s.message.role);\n const isEditing = useAuiState((s) => s.message.composer.isEditing);\n const Component = getComponent(components, role, isEditing);\n\n return <Component />;\n};\nexport namespace ThreadPrimitiveMessageByIndex {\n export type Props = {\n index: number;\n components: MessagesComponentConfig;\n };\n}\n\n/**\n * Renders a single message at the specified index in the current thread.\n */\nexport const ThreadPrimitiveMessageByIndex: FC<ThreadPrimitiveMessageByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <MessageByIndexProvider index={index}>\n <ThreadMessageComponent components={components} />\n </MessageByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n isComponentsSame(prev.components, next.components),\n );\n\nThreadPrimitiveMessageByIndex.displayName = \"ThreadPrimitive.MessageByIndex\";\n\nexport namespace ThreadPrimitiveUnstable_MessageById {\n export type Props = {\n messageId: string;\n components: MessagesComponentConfig;\n };\n}\n\n/**\n * Renders the message with the given id in the current thread.\n *\n * Unlike {@link ThreadPrimitiveMessageByIndex}, this keys off the message id,\n * so it stays attached to the same message across reordering and windowing -\n * the shape needed to drive a virtualized or custom message list together with\n * `unstable_useThreadMessageIds`. A missing or removed id renders `null` rather\n * than throwing.\n *\n * @deprecated Unstable / Experimental - may change in any release.\n *\n * @example\n * ```tsx\n * const messageIds = unstable_useThreadMessageIds();\n * return messageIds.map((messageId) => (\n * <ThreadPrimitive.Unstable_MessageById\n * key={messageId}\n * messageId={messageId}\n * components={MESSAGE_COMPONENTS}\n * />\n * ));\n * ```\n */\nexport const ThreadPrimitiveUnstable_MessageById: FC<ThreadPrimitiveUnstable_MessageById.Props> =\n memo(\n ({ messageId, components }) => {\n const exists = useAuiState((s) =>\n hasMessageId(s.thread.messages, messageId),\n );\n if (!exists) return null;\n\n return (\n <MessageByIdProvider id={messageId}>\n <ThreadMessageComponent components={components} />\n </MessageByIdProvider>\n );\n },\n (prev, next) =>\n prev.messageId === next.messageId &&\n isComponentsSame(prev.components, next.components),\n );\n\nThreadPrimitiveUnstable_MessageById.displayName =\n \"ThreadPrimitive.Unstable_MessageById\";\n\nconst ThreadPrimitiveMessagesInner: FC<{\n children: (value: { message: MessageState }) => ReactNode;\n}> = ({ children }) => {\n const messagesLength = useAuiState((s) => s.thread.messages.length);\n\n return useMemo(() => {\n if (messagesLength === 0) return null;\n return Array.from({ length: messagesLength }, (_, index) => (\n <MessageByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.thread.message({ index }).getState()}\n >\n {(getItem) =>\n children({\n get message() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </MessageByIndexProvider>\n ));\n }, [messagesLength, children]);\n};\n\n/**\n * Renders all messages in the current thread.\n *\n * @example\n * ```tsx\n * <ThreadPrimitive.Messages>\n * {({ message }) => {\n * if (message.role === \"user\") return <MyUserMessage />;\n * return <MyAssistantMessage />;\n * }}\n * </ThreadPrimitive.Messages>\n * ```\n */\nexport const ThreadPrimitiveMessagesImpl: FC<ThreadPrimitiveMessages.Props> = ({\n components,\n children,\n}) => {\n if (components) {\n return (\n <ThreadPrimitiveMessagesInner>\n {() => <ThreadMessageComponent components={components} />}\n </ThreadPrimitiveMessagesInner>\n );\n }\n return (\n <ThreadPrimitiveMessagesInner>{children}</ThreadPrimitiveMessagesInner>\n );\n};\n\nThreadPrimitiveMessagesImpl.displayName = \"ThreadPrimitive.Messages\";\n\nexport const ThreadPrimitiveMessages = memo(\n ThreadPrimitiveMessagesImpl,\n (prev, next) => {\n if (prev.children || next.children) {\n return prev.children === next.children;\n }\n return isComponentsSame(prev.components!, next.components!);\n },\n);\n"],"mappings":"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"}
@@ -48,7 +48,7 @@ const ThreadPrimitiveSuggestionsInner = ({ children }) => {
48
48
  return Array.from({ length: suggestionsLength }, (_, index) => /* @__PURE__ */ jsx(SuggestionByIndexProvider, {
49
49
  index,
50
50
  children: /* @__PURE__ */ jsx(RenderChildrenWithAccessor, {
51
- getItemState: (aui) => aui.suggestions().suggestion({ index }).getState(),
51
+ getItemState: (aui) => aui.suggestions.suggestion({ index }).getState(),
52
52
  children: (getItem) => children({ get suggestion() {
53
53
  return getItem();
54
54
  } })
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadSuggestions.js","names":["ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","SuggestionState","SuggestionByIndexProvider","SuggestionsComponentConfig","Suggestion","ThreadPrimitiveSuggestions","Props","components","children","value","suggestion","SuggestionComponentProps","SuggestionComponent","t0","$","_c","Component","t1","ThreadPrimitiveSuggestionByIndex","index","t2","prev","next","displayName","ThreadPrimitiveSuggestionsInner","suggestionsLength","s","suggestions","length","Array","from","_","aui","getState","getItem","ThreadPrimitiveSuggestionsImpl"],"sources":["../../../../src/react/primitives/thread/ThreadSuggestions.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { SuggestionState } from \"../../../store/scopes/suggestion\";\nimport { SuggestionByIndexProvider } from \"../../providers/SuggestionByIndexProvider\";\n\ntype SuggestionsComponentConfig = {\n /** Component used to render each suggestion */\n Suggestion: ComponentType;\n};\n\nexport namespace ThreadPrimitiveSuggestions {\n export type Props =\n | {\n /** @deprecated Use the children render function instead. */\n components: SuggestionsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each suggestion. Receives the suggestion. */\n children: (value: { suggestion: SuggestionState }) => ReactNode;\n components?: never;\n };\n}\n\ntype SuggestionComponentProps = {\n components: SuggestionsComponentConfig;\n};\n\nconst SuggestionComponent: FC<SuggestionComponentProps> = ({ components }) => {\n const Component = components.Suggestion;\n return <Component />;\n};\n\nexport namespace ThreadPrimitiveSuggestionByIndex {\n export type Props = {\n index: number;\n components: SuggestionsComponentConfig;\n };\n}\n\n/**\n * Renders a single suggestion at the specified index.\n */\nexport const ThreadPrimitiveSuggestionByIndex: FC<ThreadPrimitiveSuggestionByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <SuggestionByIndexProvider index={index}>\n <SuggestionComponent components={components} />\n </SuggestionByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.components.Suggestion === next.components.Suggestion,\n );\n\nThreadPrimitiveSuggestionByIndex.displayName =\n \"ThreadPrimitive.SuggestionByIndex\";\n\nconst ThreadPrimitiveSuggestionsInner: FC<{\n children: (value: { suggestion: SuggestionState }) => ReactNode;\n}> = ({ children }) => {\n const suggestionsLength = useAuiState(\n (s) => s.suggestions.suggestions.length,\n );\n\n return useMemo(() => {\n if (suggestionsLength === 0) return null;\n return Array.from({ length: suggestionsLength }, (_, index) => (\n <SuggestionByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) =>\n aui.suggestions().suggestion({ index }).getState()\n }\n >\n {(getItem) =>\n children({\n get suggestion() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </SuggestionByIndexProvider>\n ));\n }, [suggestionsLength, children]);\n};\n\n/**\n * Renders all suggestions.\n */\nexport const ThreadPrimitiveSuggestionsImpl: FC<\n ThreadPrimitiveSuggestions.Props\n> = ({ components, children }) => {\n if (components) {\n return (\n <ThreadPrimitiveSuggestionsInner>\n {() => <SuggestionComponent components={components} />}\n </ThreadPrimitiveSuggestionsInner>\n );\n }\n return (\n <ThreadPrimitiveSuggestionsInner>\n {children}\n </ThreadPrimitiveSuggestionsInner>\n );\n};\n\nThreadPrimitiveSuggestionsImpl.displayName = \"ThreadPrimitive.Suggestions\";\n\nexport const ThreadPrimitiveSuggestions = memo(\n ThreadPrimitiveSuggestionsImpl,\n (prev, next) => {\n if (prev.children || next.children) {\n return prev.children === next.children;\n }\n return prev.components!.Suggestion === next.components!.Suggestion;\n },\n);\n"],"mappings":";;;;;;AAkCA,MAAMkB,uBAAoDC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAR,eAAAM;CACzD,MAAAG,YAAkBT,WAAUH;CAAY,IAAAa;CAAA,IAAAH,EAAA,OAAAE,WAAA;EACjCC,KAAA,oBAAC,WAAD,CAAU,CAAA;EAAGH,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAAbG;AAAa;;;;AAatB,MAAaC,mCACXrB,MACEgB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAI,OAAAZ,eAAAM;CAAqB,IAAAI;CAAA,IAAAH,EAAA,OAAAP,YAAA;EAGhBU,KAAA,oBAAC,qBAAD,EAAiCV,WAAU,CAAA;EAAIO,EAAA,KAAAP;EAAAO,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAK,SAAAL,EAAA,OAAAG,IAAA;EADjDG,KAAA,oBAAC,2BAAD;GAAkCD;GAChCF,UAAAA;EADwB,CAAA;EAEEH,EAAA,KAAAK;EAAAL,EAAA,KAAAG;EAAAH,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAF5BM;AAE4B,IAG/BC,MAAMC,SACLD,KAAKF,UAAUG,KAAKH,SACpBE,KAAKd,WAAWH,eAAekB,KAAKf,WAAWH,UACnD;AAEFc,iCAAiCK,cAC/B;AAEF,MAAMC,mCAEA,EAAEhB,eAAe;CACrB,MAAMiB,oBAAoBzB,aACvB0B,MAAMA,EAAEC,YAAYA,YAAYC,MACnC;CAEA,OAAO9B,cAAc;EACnB,IAAI2B,sBAAsB,GAAG,OAAO;EACpC,OAAOI,MAAMC,KAAK,EAAEF,QAAQH,kBAAkB,IAAIM,GAAGZ,UACnD,oBAAC,2BAAD;GAA8CA;GAC5C,UAAA,oBAAC,4BAAD;IACE,eAAea,QACbA,IAAIL,YAAY,CAAC,CAACjB,WAAW,EAAES,MAAM,CAAC,CAAC,CAACc,SAAS;IAGjDC,WAAAA,YACA1B,SAAS,EACP,IAAIE,aAAa;KACf,OAAOwB,QAAQ;IACjB,EACF,CAAC;GAEuB,CAAA;EACH,GAdKf,KAcL,CAC5B;CACH,GAAG,CAACM,mBAAmBjB,QAAQ,CAAC;AAClC;;;;AAKA,MAAa2B,kCAETtB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAR,YAAAC,aAAAK;CACH,IAAIN,YAAU;EAAA,IAAAU;EAAA,IAAAH,EAAA,OAAAP,YAAA;GAEVU,KAAA,oBAAC,iCAAD,EAAA,gBACS,oBAAC,qBAAD,EAAiCV,WAAU,CAAA,EADpB,CAAA;GAEEO,EAAA,KAAAP;GAAAO,EAAA,KAAAG;EAAA,OAAAA,KAAAH,EAAA;EAAA,OAFlCG;CAEkC;CAErC,IAAAA;CAAA,IAAAH,EAAA,OAAAN,UAAA;EAECS,KAAA,oBAAC,iCAAD,EACGT,SAD6B,CAAA;EAEEM,EAAA,KAAAN;EAAAM,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAFlCG;AAEkC;AAItCkB,+BAA+BZ,cAAc;AAE7C,MAAalB,6BAA6BR,KACxCsC,iCACCd,MAAMC,SAAS;CACd,IAAID,KAAKb,YAAYc,KAAKd,UACxB,OAAOa,KAAKb,aAAac,KAAKd;CAEhC,OAAOa,KAAKd,WAAYH,eAAekB,KAAKf,WAAYH;AAC1D,CACF"}
1
+ {"version":3,"file":"ThreadSuggestions.js","names":["ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","SuggestionState","SuggestionByIndexProvider","SuggestionsComponentConfig","Suggestion","ThreadPrimitiveSuggestions","Props","components","children","value","suggestion","SuggestionComponentProps","SuggestionComponent","t0","$","_c","Component","t1","ThreadPrimitiveSuggestionByIndex","index","t2","prev","next","displayName","ThreadPrimitiveSuggestionsInner","suggestionsLength","s","suggestions","length","Array","from","_","aui","getState","getItem","ThreadPrimitiveSuggestionsImpl"],"sources":["../../../../src/react/primitives/thread/ThreadSuggestions.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { SuggestionState } from \"../../../store/scopes/suggestion\";\nimport { SuggestionByIndexProvider } from \"../../providers/SuggestionByIndexProvider\";\n\ntype SuggestionsComponentConfig = {\n /** Component used to render each suggestion */\n Suggestion: ComponentType;\n};\n\nexport namespace ThreadPrimitiveSuggestions {\n export type Props =\n | {\n /** @deprecated Use the children render function instead. */\n components: SuggestionsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each suggestion. Receives the suggestion. */\n children: (value: { suggestion: SuggestionState }) => ReactNode;\n components?: never;\n };\n}\n\ntype SuggestionComponentProps = {\n components: SuggestionsComponentConfig;\n};\n\nconst SuggestionComponent: FC<SuggestionComponentProps> = ({ components }) => {\n const Component = components.Suggestion;\n return <Component />;\n};\n\nexport namespace ThreadPrimitiveSuggestionByIndex {\n export type Props = {\n index: number;\n components: SuggestionsComponentConfig;\n };\n}\n\n/**\n * Renders a single suggestion at the specified index.\n */\nexport const ThreadPrimitiveSuggestionByIndex: FC<ThreadPrimitiveSuggestionByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <SuggestionByIndexProvider index={index}>\n <SuggestionComponent components={components} />\n </SuggestionByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.components.Suggestion === next.components.Suggestion,\n );\n\nThreadPrimitiveSuggestionByIndex.displayName =\n \"ThreadPrimitive.SuggestionByIndex\";\n\nconst ThreadPrimitiveSuggestionsInner: FC<{\n children: (value: { suggestion: SuggestionState }) => ReactNode;\n}> = ({ children }) => {\n const suggestionsLength = useAuiState(\n (s) => s.suggestions.suggestions.length,\n );\n\n return useMemo(() => {\n if (suggestionsLength === 0) return null;\n return Array.from({ length: suggestionsLength }, (_, index) => (\n <SuggestionByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) =>\n aui.suggestions.suggestion({ index }).getState()\n }\n >\n {(getItem) =>\n children({\n get suggestion() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </SuggestionByIndexProvider>\n ));\n }, [suggestionsLength, children]);\n};\n\n/**\n * Renders all suggestions.\n */\nexport const ThreadPrimitiveSuggestionsImpl: FC<\n ThreadPrimitiveSuggestions.Props\n> = ({ components, children }) => {\n if (components) {\n return (\n <ThreadPrimitiveSuggestionsInner>\n {() => <SuggestionComponent components={components} />}\n </ThreadPrimitiveSuggestionsInner>\n );\n }\n return (\n <ThreadPrimitiveSuggestionsInner>\n {children}\n </ThreadPrimitiveSuggestionsInner>\n );\n};\n\nThreadPrimitiveSuggestionsImpl.displayName = \"ThreadPrimitive.Suggestions\";\n\nexport const ThreadPrimitiveSuggestions = memo(\n ThreadPrimitiveSuggestionsImpl,\n (prev, next) => {\n if (prev.children || next.children) {\n return prev.children === next.children;\n }\n return prev.components!.Suggestion === next.components!.Suggestion;\n },\n);\n"],"mappings":";;;;;;AAkCA,MAAMkB,uBAAoDC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAR,eAAAM;CACzD,MAAAG,YAAkBT,WAAUH;CAAY,IAAAa;CAAA,IAAAH,EAAA,OAAAE,WAAA;EACjCC,KAAA,oBAAC,WAAD,CAAU,CAAA;EAAGH,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAAbG;AAAa;;;;AAatB,MAAaC,mCACXrB,MACEgB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAI,OAAAZ,eAAAM;CAAqB,IAAAI;CAAA,IAAAH,EAAA,OAAAP,YAAA;EAGhBU,KAAA,oBAAC,qBAAD,EAAiCV,WAAU,CAAA;EAAIO,EAAA,KAAAP;EAAAO,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAK,SAAAL,EAAA,OAAAG,IAAA;EADjDG,KAAA,oBAAC,2BAAD;GAAkCD;GAChCF,UAAAA;EADwB,CAAA;EAEEH,EAAA,KAAAK;EAAAL,EAAA,KAAAG;EAAAH,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAF5BM;AAE4B,IAG/BC,MAAMC,SACLD,KAAKF,UAAUG,KAAKH,SACpBE,KAAKd,WAAWH,eAAekB,KAAKf,WAAWH,UACnD;AAEFc,iCAAiCK,cAC/B;AAEF,MAAMC,mCAEA,EAAEhB,eAAe;CACrB,MAAMiB,oBAAoBzB,aACvB0B,MAAMA,EAAEC,YAAYA,YAAYC,MACnC;CAEA,OAAO9B,cAAc;EACnB,IAAI2B,sBAAsB,GAAG,OAAO;EACpC,OAAOI,MAAMC,KAAK,EAAEF,QAAQH,kBAAkB,IAAIM,GAAGZ,UACnD,oBAAC,2BAAD;GAA8CA;GAC5C,UAAA,oBAAC,4BAAD;IACE,eAAea,QACbA,IAAIL,YAAYjB,WAAW,EAAES,MAAM,CAAC,CAAC,CAACc,SAAS;IAG/CC,WAAAA,YACA1B,SAAS,EACP,IAAIE,aAAa;KACf,OAAOwB,QAAQ;IACjB,EACF,CAAC;GAEuB,CAAA;EACH,GAdKf,KAcL,CAC5B;CACH,GAAG,CAACM,mBAAmBjB,QAAQ,CAAC;AAClC;;;;AAKA,MAAa2B,kCAETtB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAR,YAAAC,aAAAK;CACH,IAAIN,YAAU;EAAA,IAAAU;EAAA,IAAAH,EAAA,OAAAP,YAAA;GAEVU,KAAA,oBAAC,iCAAD,EAAA,gBACS,oBAAC,qBAAD,EAAiCV,WAAU,CAAA,EADpB,CAAA;GAEEO,EAAA,KAAAP;GAAAO,EAAA,KAAAG;EAAA,OAAAA,KAAAH,EAAA;EAAA,OAFlCG;CAEkC;CAErC,IAAAA;CAAA,IAAAH,EAAA,OAAAN,UAAA;EAECS,KAAA,oBAAC,iCAAD,EACGT,SAD6B,CAAA;EAEEM,EAAA,KAAAN;EAAAM,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAFlCG;AAEkC;AAItCkB,+BAA+BZ,cAAc;AAE7C,MAAalB,6BAA6BR,KACxCsC,iCACCd,MAAMC,SAAS;CACd,IAAID,KAAKb,YAAYc,KAAKd,UACxB,OAAOa,KAAKb,aAAac,KAAKd;CAEhC,OAAOa,KAAKd,WAAYH,eAAekB,KAAKf,WAAYH;AAC1D,CACF"}
@@ -39,7 +39,7 @@ const ThreadListPrimitiveItemsInner = ({ archived, children }) => {
39
39
  index,
40
40
  archived,
41
41
  children: /* @__PURE__ */ jsx(RenderChildrenWithAccessor, {
42
- getItemState: (aui) => aui.threads().item({
42
+ getItemState: (aui) => aui.threads.item({
43
43
  index,
44
44
  archived
45
45
  }).getState(),
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItems.js","names":["ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","ThreadListItemState","ThreadListItemByIndexProvider","ThreadListItemsComponentConfig","ThreadListItem","ThreadListPrimitiveItems","Props","archived","components","children","value","threadListItem","ThreadListPrimitiveItemByIndex","index","t0","$","_c","t1","undefined","ThreadListItemComponent","t2","t3","prev","next","displayName","ThreadListPrimitiveItemsInner","contentLength","s","threads","archivedThreadIds","length","threadIds","Array","from","_","aui","item","getState","getItem"],"sources":["../../../../src/react/primitives/threadList/ThreadListItems.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { ThreadListItemState } from \"../../../store/scopes/thread-list-item\";\nimport { ThreadListItemByIndexProvider } from \"../../providers/ThreadListItemByIndexProvider\";\n\ntype ThreadListItemsComponentConfig = {\n ThreadListItem: ComponentType;\n};\n\nexport namespace ThreadListPrimitiveItems {\n export type Props = {\n archived?: boolean | undefined;\n } & (\n | {\n /** @deprecated Use the children render function instead. */\n components: ThreadListItemsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each thread list item. Receives the item. */\n children: (value: { threadListItem: ThreadListItemState }) => ReactNode;\n components?: never;\n }\n );\n}\n\nexport namespace ThreadListPrimitiveItemByIndex {\n export type Props = {\n index: number;\n archived?: boolean | undefined;\n components: ThreadListItemsComponentConfig;\n };\n}\n\n/**\n * Renders a single thread list item at the specified index.\n */\nexport const ThreadListPrimitiveItemByIndex: FC<ThreadListPrimitiveItemByIndex.Props> =\n memo(\n ({ index, archived = false, components }) => {\n const ThreadListItemComponent = components.ThreadListItem;\n\n return (\n <ThreadListItemByIndexProvider index={index} archived={archived}>\n <ThreadListItemComponent />\n </ThreadListItemByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.archived === next.archived &&\n prev.components.ThreadListItem === next.components.ThreadListItem,\n );\n\nThreadListPrimitiveItemByIndex.displayName = \"ThreadListPrimitive.ItemByIndex\";\n\nconst ThreadListPrimitiveItemsInner: FC<{\n archived: boolean;\n children: (value: { threadListItem: ThreadListItemState }) => ReactNode;\n}> = ({ archived, children }) => {\n const contentLength = useAuiState((s) =>\n archived ? s.threads.archivedThreadIds.length : s.threads.threadIds.length,\n );\n\n return useMemo(\n () =>\n Array.from({ length: contentLength }, (_, index) => (\n <ThreadListItemByIndexProvider\n key={index}\n index={index}\n archived={archived}\n >\n <RenderChildrenWithAccessor\n getItemState={(aui) =>\n aui.threads().item({ index, archived }).getState()\n }\n >\n {(getItem) =>\n children({\n get threadListItem() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </ThreadListItemByIndexProvider>\n )),\n [contentLength, archived, children],\n );\n};\n\nexport const ThreadListPrimitiveItems: FC<ThreadListPrimitiveItems.Props> = ({\n archived = false,\n components,\n children,\n}) => {\n if (components) {\n const ThreadListItemComponent = components.ThreadListItem;\n return (\n <ThreadListPrimitiveItemsInner archived={archived}>\n {() => <ThreadListItemComponent />}\n </ThreadListPrimitiveItemsInner>\n );\n }\n return (\n <ThreadListPrimitiveItemsInner archived={archived}>\n {children}\n </ThreadListPrimitiveItemsInner>\n );\n};\n\nThreadListPrimitiveItems.displayName = \"ThreadListPrimitive.Items\";\n"],"mappings":";;;;;;;;;AA2CA,MAAakB,iCACXf,MACEiB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAN,UAAAU,IAAAT,eAAAM;CAAS,MAAAP,WAAAU,OAAAC,KAAAA,IAAA,QAAAD;CACR,MAAAE,0BAAgCX,WAAUJ;CAAgB,IAAAgB;CAAA,IAAAL,EAAA,OAAAI,yBAAA;EAItDC,KAAA,oBAAC,yBAAD,CAAwB,CAAA;EAAGL,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAR,YAAAQ,EAAA,OAAAF,SAAAE,EAAA,OAAAK,IAAA;EAD7BC,KAAA,oBAAC,+BAAD;GAAsCR;GAAiBN;GACrDa,UAAAA;EAD4B,CAAA;EAEEL,EAAA,KAAAR;EAAAQ,EAAA,KAAAF;EAAAE,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAFhCM;AAEgC,IAGnCC,MAAMC,SACLD,KAAKT,UAAUU,KAAKV,SACpBS,KAAKf,aAAagB,KAAKhB,YACvBe,KAAKd,WAAWJ,mBAAmBmB,KAAKf,WAAWJ,cACvD;AAEFQ,+BAA+BY,cAAc;AAE7C,MAAMC,iCAGA,EAAElB,UAAUE,eAAe;CAC/B,MAAMiB,gBAAgB1B,aAAa2B,MACjCpB,WAAWoB,EAAEC,QAAQC,kBAAkBC,SAASH,EAAEC,QAAQG,UAAUD,MACtE;CAEA,OAAOhC,cAEHkC,MAAMC,KAAK,EAAEH,QAAQJ,cAAc,IAAIQ,GAAGrB,UACxC,oBAAC,+BAAD;EAESA;EACGN;EAEV,UAAA,oBAAC,4BAAD;GACE,eAAe4B,QACbA,IAAIP,QAAQ,CAAC,CAACQ,KAAK;IAAEvB;IAAON;GAAS,CAAC,CAAC,CAAC8B,SAAS;GAGjDC,WAAAA,YACA7B,SAAS,EACP,IAAIE,iBAAiB;IACnB,OAAO2B,QAAQ;GACjB,EACF,CAAC;EAEuB,CAAA;CACC,GAjBxBzB,KAiBwB,CAChC,GACH;EAACa;EAAenB;EAAUE;CAAQ,CACpC;AACF;AAEA,MAAaJ,4BAA+DS,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAT,UAAAU,IAAAT,YAAAC,aAAAK;CAC3E,MAAAP,WAAAU,OAAAC,KAAAA,IAAA,QAAAD;CAIA,IAAIT,YAAU;EACZ,MAAAW,0BAAgCX,WAAUJ;EAAgB,IAAAgB;EAAA,IAAAL,EAAA,OAAAI,yBAAA;GAGrDC,WAAM,oBAAC,yBAAD,CAAwB,CAAA;GAAGL,EAAA,KAAAI;GAAAJ,EAAA,KAAAK;EAAA,OAAAA,KAAAL,EAAA;EAAA,IAAAM;EAAA,IAAAN,EAAA,OAAAR,YAAAQ,EAAA,OAAAK,IAAA;GADpCC,KAAA,oBAAC,+BAAD;IAAyCd;IACtCa,UAAAA;GAD2B,CAAA;GAEEL,EAAA,KAAAR;GAAAQ,EAAA,KAAAK;GAAAL,EAAA,KAAAM;EAAA,OAAAA,KAAAN,EAAA;EAAA,OAFhCM;CAEgC;CAEnC,IAAAD;CAAA,IAAAL,EAAA,OAAAR,YAAAQ,EAAA,OAAAN,UAAA;EAECW,KAAA,oBAAC,+BAAD;GAAyCb;GACtCE;EAD2B,CAAA;EAEEM,EAAA,KAAAR;EAAAQ,EAAA,KAAAN;EAAAM,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OAFhCK;AAEgC;AAIpCf,yBAAyBmB,cAAc"}
1
+ {"version":3,"file":"ThreadListItems.js","names":["ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","ThreadListItemState","ThreadListItemByIndexProvider","ThreadListItemsComponentConfig","ThreadListItem","ThreadListPrimitiveItems","Props","archived","components","children","value","threadListItem","ThreadListPrimitiveItemByIndex","index","t0","$","_c","t1","undefined","ThreadListItemComponent","t2","t3","prev","next","displayName","ThreadListPrimitiveItemsInner","contentLength","s","threads","archivedThreadIds","length","threadIds","Array","from","_","aui","item","getState","getItem"],"sources":["../../../../src/react/primitives/threadList/ThreadListItems.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { ThreadListItemState } from \"../../../store/scopes/thread-list-item\";\nimport { ThreadListItemByIndexProvider } from \"../../providers/ThreadListItemByIndexProvider\";\n\ntype ThreadListItemsComponentConfig = {\n ThreadListItem: ComponentType;\n};\n\nexport namespace ThreadListPrimitiveItems {\n export type Props = {\n archived?: boolean | undefined;\n } & (\n | {\n /** @deprecated Use the children render function instead. */\n components: ThreadListItemsComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each thread list item. Receives the item. */\n children: (value: { threadListItem: ThreadListItemState }) => ReactNode;\n components?: never;\n }\n );\n}\n\nexport namespace ThreadListPrimitiveItemByIndex {\n export type Props = {\n index: number;\n archived?: boolean | undefined;\n components: ThreadListItemsComponentConfig;\n };\n}\n\n/**\n * Renders a single thread list item at the specified index.\n */\nexport const ThreadListPrimitiveItemByIndex: FC<ThreadListPrimitiveItemByIndex.Props> =\n memo(\n ({ index, archived = false, components }) => {\n const ThreadListItemComponent = components.ThreadListItem;\n\n return (\n <ThreadListItemByIndexProvider index={index} archived={archived}>\n <ThreadListItemComponent />\n </ThreadListItemByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.archived === next.archived &&\n prev.components.ThreadListItem === next.components.ThreadListItem,\n );\n\nThreadListPrimitiveItemByIndex.displayName = \"ThreadListPrimitive.ItemByIndex\";\n\nconst ThreadListPrimitiveItemsInner: FC<{\n archived: boolean;\n children: (value: { threadListItem: ThreadListItemState }) => ReactNode;\n}> = ({ archived, children }) => {\n const contentLength = useAuiState((s) =>\n archived ? s.threads.archivedThreadIds.length : s.threads.threadIds.length,\n );\n\n return useMemo(\n () =>\n Array.from({ length: contentLength }, (_, index) => (\n <ThreadListItemByIndexProvider\n key={index}\n index={index}\n archived={archived}\n >\n <RenderChildrenWithAccessor\n getItemState={(aui) =>\n aui.threads.item({ index, archived }).getState()\n }\n >\n {(getItem) =>\n children({\n get threadListItem() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </ThreadListItemByIndexProvider>\n )),\n [contentLength, archived, children],\n );\n};\n\nexport const ThreadListPrimitiveItems: FC<ThreadListPrimitiveItems.Props> = ({\n archived = false,\n components,\n children,\n}) => {\n if (components) {\n const ThreadListItemComponent = components.ThreadListItem;\n return (\n <ThreadListPrimitiveItemsInner archived={archived}>\n {() => <ThreadListItemComponent />}\n </ThreadListPrimitiveItemsInner>\n );\n }\n return (\n <ThreadListPrimitiveItemsInner archived={archived}>\n {children}\n </ThreadListPrimitiveItemsInner>\n );\n};\n\nThreadListPrimitiveItems.displayName = \"ThreadListPrimitive.Items\";\n"],"mappings":";;;;;;;;;AA2CA,MAAakB,iCACXf,MACEiB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAN,UAAAU,IAAAT,eAAAM;CAAS,MAAAP,WAAAU,OAAAC,KAAAA,IAAA,QAAAD;CACR,MAAAE,0BAAgCX,WAAUJ;CAAgB,IAAAgB;CAAA,IAAAL,EAAA,OAAAI,yBAAA;EAItDC,KAAA,oBAAC,yBAAD,CAAwB,CAAA;EAAGL,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAR,YAAAQ,EAAA,OAAAF,SAAAE,EAAA,OAAAK,IAAA;EAD7BC,KAAA,oBAAC,+BAAD;GAAsCR;GAAiBN;GACrDa,UAAAA;EAD4B,CAAA;EAEEL,EAAA,KAAAR;EAAAQ,EAAA,KAAAF;EAAAE,EAAA,KAAAK;EAAAL,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAFhCM;AAEgC,IAGnCC,MAAMC,SACLD,KAAKT,UAAUU,KAAKV,SACpBS,KAAKf,aAAagB,KAAKhB,YACvBe,KAAKd,WAAWJ,mBAAmBmB,KAAKf,WAAWJ,cACvD;AAEFQ,+BAA+BY,cAAc;AAE7C,MAAMC,iCAGA,EAAElB,UAAUE,eAAe;CAC/B,MAAMiB,gBAAgB1B,aAAa2B,MACjCpB,WAAWoB,EAAEC,QAAQC,kBAAkBC,SAASH,EAAEC,QAAQG,UAAUD,MACtE;CAEA,OAAOhC,cAEHkC,MAAMC,KAAK,EAAEH,QAAQJ,cAAc,IAAIQ,GAAGrB,UACxC,oBAAC,+BAAD;EAESA;EACGN;EAEV,UAAA,oBAAC,4BAAD;GACE,eAAe4B,QACbA,IAAIP,QAAQQ,KAAK;IAAEvB;IAAON;GAAS,CAAC,CAAC,CAAC8B,SAAS;GAG/CC,WAAAA,YACA7B,SAAS,EACP,IAAIE,iBAAiB;IACnB,OAAO2B,QAAQ;GACjB,EACF,CAAC;EAEuB,CAAA;CACC,GAjBxBzB,KAiBwB,CAChC,GACH;EAACa;EAAenB;EAAUE;CAAQ,CACpC;AACF;AAEA,MAAaJ,4BAA+DS,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAT,UAAAU,IAAAT,YAAAC,aAAAK;CAC3E,MAAAP,WAAAU,OAAAC,KAAAA,IAAA,QAAAD;CAIA,IAAIT,YAAU;EACZ,MAAAW,0BAAgCX,WAAUJ;EAAgB,IAAAgB;EAAA,IAAAL,EAAA,OAAAI,yBAAA;GAGrDC,WAAM,oBAAC,yBAAD,CAAwB,CAAA;GAAGL,EAAA,KAAAI;GAAAJ,EAAA,KAAAK;EAAA,OAAAA,KAAAL,EAAA;EAAA,IAAAM;EAAA,IAAAN,EAAA,OAAAR,YAAAQ,EAAA,OAAAK,IAAA;GADpCC,KAAA,oBAAC,+BAAD;IAAyCd;IACtCa,UAAAA;GAD2B,CAAA;GAEEL,EAAA,KAAAR;GAAAQ,EAAA,KAAAK;GAAAL,EAAA,KAAAM;EAAA,OAAAA,KAAAN,EAAA;EAAA,OAFhCM;CAEgC;CAEnC,IAAAD;CAAA,IAAAL,EAAA,OAAAR,YAAAQ,EAAA,OAAAN,UAAA;EAECW,KAAA,oBAAC,+BAAD;GAAyCb;GACtCE;EAD2B,CAAA;EAEEM,EAAA,KAAAR;EAAAQ,EAAA,KAAAN;EAAAM,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OAFhCK;AAEgC;AAIpCf,yBAAyBmB,cAAc"}
@@ -13,7 +13,7 @@ const MessageAttachmentByIndexProvider = (t0) => {
13
13
  type: "index",
14
14
  index
15
15
  },
16
- get: (aui) => aui.message().attachment({ index })
16
+ get: (aui) => aui.message.attachment({ index })
17
17
  });
18
18
  $[0] = index;
19
19
  $[1] = t1;
@@ -48,7 +48,7 @@ const ComposerAttachmentByIndexProvider = (t0) => {
48
48
  type: "index",
49
49
  index
50
50
  },
51
- get: (aui) => aui.composer().attachment({ index })
51
+ get: (aui) => aui.composer.attachment({ index })
52
52
  });
53
53
  $[0] = index;
54
54
  $[1] = t1;
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","MessageAttachmentByIndexProvider","index","t0","$","_c","children","t1","source","query","type","get","aui","message","attachment","t2","aui_0","t3","ComposerAttachmentByIndexProvider","composer"],"sources":["../../../src/react/providers/AttachmentByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const MessageAttachmentByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const aui = useAui({\n attachment: Derived({\n source: \"message\",\n query: { type: \"index\", index },\n get: (aui) => aui.message().attachment({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n\nexport const ComposerAttachmentByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const aui = useAui({\n attachment: Derived({\n source: \"composer\",\n query: { type: \"index\", index },\n get: (aui) => aui.composer().attachment({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,oCAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAERK,KAAAP,QAAQ;GAAAQ,QACV;GAASC,OACV;IAAAC,MAAQ;IAAOR;GAAQ;GAACS,MAC1BC,QAASA,IAAGC,QAAS,CAAC,CAAAC,WAAY,EAAAZ,MAAQ,CAAC;EAClD,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,IAAA;EALeQ,KAAA,EAAAD,YACLP,GAKd;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAND,MAAAY,QAAYlB,OAAOiB,EAMlB;CAAE,IAAAE;CAAA,IAAAb,EAAA,OAAAY,SAAAZ,EAAA,OAAAE,UAAA;EAEIW,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAY;EAAAZ,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAAjDa;AAAiD;AAG1D,MAAaC,qCAITf,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAERK,KAAAP,QAAQ;GAAAQ,QACV;GAAUC,OACX;IAAAC,MAAQ;IAAOR;GAAQ;GAACS,MAC1BC,QAASA,IAAGO,SAAU,CAAC,CAAAL,WAAY,EAAAZ,MAAQ,CAAC;EACnD,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,IAAA;EALeQ,KAAA,EAAAD,YACLP,GAKd;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAND,MAAAY,QAAYlB,OAAOiB,EAMlB;CAAE,IAAAE;CAAA,IAAAb,EAAA,OAAAY,SAAAZ,EAAA,OAAAE,UAAA;EAEIW,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAY;EAAAZ,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAAjDa;AAAiD"}
1
+ {"version":3,"file":"AttachmentByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","MessageAttachmentByIndexProvider","index","t0","$","_c","children","t1","source","query","type","get","aui","message","attachment","t2","aui_0","t3","ComposerAttachmentByIndexProvider","composer"],"sources":["../../../src/react/providers/AttachmentByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const MessageAttachmentByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const aui = useAui({\n attachment: Derived({\n source: \"message\",\n query: { type: \"index\", index },\n get: (aui) => aui.message.attachment({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n\nexport const ComposerAttachmentByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const aui = useAui({\n attachment: Derived({\n source: \"composer\",\n query: { type: \"index\", index },\n get: (aui) => aui.composer.attachment({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,oCAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAERK,KAAAP,QAAQ;GAAAQ,QACV;GAASC,OACV;IAAAC,MAAQ;IAAOR;GAAQ;GAACS,MAC1BC,QAASA,IAAGC,QAAQC,WAAY,EAAAZ,MAAQ,CAAC;EAChD,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,IAAA;EALeQ,KAAA,EAAAD,YACLP,GAKd;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAND,MAAAY,QAAYlB,OAAOiB,EAMlB;CAAE,IAAAE;CAAA,IAAAb,EAAA,OAAAY,SAAAZ,EAAA,OAAAE,UAAA;EAEIW,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAY;EAAAZ,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAAjDa;AAAiD;AAG1D,MAAaC,qCAITf,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAERK,KAAAP,QAAQ;GAAAQ,QACV;GAAUC,OACX;IAAAC,MAAQ;IAAOR;GAAQ;GAACS,MAC1BC,QAASA,IAAGO,SAASL,WAAY,EAAAZ,MAAQ,CAAC;EACjD,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,IAAA;EALeQ,KAAA,EAAAD,YACLP,GAKd;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAND,MAAAY,QAAYlB,OAAOiB,EAMlB;CAAE,IAAAE;CAAA,IAAAb,EAAA,OAAAY,SAAAZ,EAAA,OAAAE,UAAA;EAEIW,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAY;EAAAZ,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAAjDa;AAAiD"}
@@ -13,7 +13,7 @@ const ChainOfThoughtByIndicesProvider = (t0) => {
13
13
  getMessagePart: (t1) => {
14
14
  const { index } = t1;
15
15
  if (index < 0 || index >= parts.length) throw new Error(`ChainOfThought part index ${index} is out of bounds (0..${parts.length - 1})`);
16
- return parentAui.message().part({ index: startIndex + index });
16
+ return parentAui.message.part({ index: startIndex + index });
17
17
  }
18
18
  });
19
19
  let t3;
@@ -1 +1 @@
1
- {"version":3,"file":"ChainOfThoughtByIndicesProvider.js","names":["FC","PropsWithChildren","useAui","useAuiState","AuiProvider","ChainOfThoughtClient","ChainOfThoughtPart","ChainOfThoughtByIndicesProvider","startIndex","endIndex","t0","$","_c","children","parts","_temp","slice","parentAui","t2","getMessagePart","t1","index","length","Error","message","part","t3","chainOfThought","aui","t4","s"],"sources":["../../../src/react/providers/ChainOfThoughtByIndicesProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, useAuiState, AuiProvider } from \"@assistant-ui/store\";\nimport { ChainOfThoughtClient } from \"../../store/clients/chain-of-thought-client\";\nimport type { ChainOfThoughtPart } from \"../../store/scopes/chain-of-thought\";\n\nexport const ChainOfThoughtByIndicesProvider: FC<\n PropsWithChildren<{\n startIndex: number;\n endIndex: number;\n }>\n> = ({ startIndex, endIndex, children }) => {\n const parts = useAuiState((s) => s.message.parts).slice(\n startIndex,\n endIndex + 1,\n ) as ChainOfThoughtPart[];\n\n const parentAui = useAui();\n\n const aui = useAui({\n chainOfThought: ChainOfThoughtClient({\n parts,\n getMessagePart: ({ index }) => {\n if (index < 0 || index >= parts.length) {\n throw new Error(\n `ChainOfThought part index ${index} is out of bounds (0..${parts.length - 1})`,\n );\n }\n return parentAui.message().part({ index: startIndex + index });\n },\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;;AAKA,MAAaO,mCAKTG,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAJ,YAAAC,UAAAI,aAAAH;CACH,MAAAI,QAAcX,YAAYY,KAAsB,CAAC,CAAAC,MAC/CR,YACAC,WAAW,CACb;CAEA,MAAAQ,YAAkBf,OAAO;CAGP,MAAAgB,KAAAb,qBAAqB;EAAAS;EAAAK,iBAEnBC,OAAA;GAAC,MAAA,EAAAC,UAAAD;GACf,IAAIC,QAAQ,KAAKA,SAASP,MAAKQ,QAC7B,MAAM,IAAIC,MACR,6BAA6BF,MAAK,wBAAyBP,MAAKQ,SAAU,EAAC,EAC7E;GACD,OACML,UAASO,QAAS,CAAC,CAAAC,KAAM,EAAAJ,OAASb,aAAaa,MAAM,CAAC;EAAC;CAElE,CAAC;CAAC,IAAAK;CAAA,IAAAf,EAAA,OAAAO,IAAA;EAXeQ,KAAA,EAAAC,gBACDT,GAWlB;EAACP,EAAA,KAAAO;EAAAP,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAZD,MAAAiB,MAAY1B,OAAOwB,EAYlB;CAAE,IAAAG;CAAA,IAAAlB,EAAA,OAAAiB,OAAAjB,EAAA,OAAAE,UAAA;EAEIgB,KAAA,oBAAC,aAAD;GAAoBD,OAAAA;GAAMf;EAAd,CAAA;EAAqCF,EAAA,KAAAiB;EAAAjB,EAAA,KAAAE;EAAAF,EAAA,KAAAkB;CAAA,OAAAA,KAAAlB,EAAA;CAAA,OAAjDkB;AAAiD;AAtBtD,SAAAd,MAAAe,GAAA;CAAA,OAC+BA,EAACN,QAAQV;AAAM"}
1
+ {"version":3,"file":"ChainOfThoughtByIndicesProvider.js","names":["FC","PropsWithChildren","useAui","useAuiState","AuiProvider","ChainOfThoughtClient","ChainOfThoughtPart","ChainOfThoughtByIndicesProvider","startIndex","endIndex","t0","$","_c","children","parts","_temp","slice","parentAui","t2","getMessagePart","t1","index","length","Error","message","part","t3","chainOfThought","aui","t4","s"],"sources":["../../../src/react/providers/ChainOfThoughtByIndicesProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, useAuiState, AuiProvider } from \"@assistant-ui/store\";\nimport { ChainOfThoughtClient } from \"../../store/clients/chain-of-thought-client\";\nimport type { ChainOfThoughtPart } from \"../../store/scopes/chain-of-thought\";\n\nexport const ChainOfThoughtByIndicesProvider: FC<\n PropsWithChildren<{\n startIndex: number;\n endIndex: number;\n }>\n> = ({ startIndex, endIndex, children }) => {\n const parts = useAuiState((s) => s.message.parts).slice(\n startIndex,\n endIndex + 1,\n ) as ChainOfThoughtPart[];\n\n const parentAui = useAui();\n\n const aui = useAui({\n chainOfThought: ChainOfThoughtClient({\n parts,\n getMessagePart: ({ index }) => {\n if (index < 0 || index >= parts.length) {\n throw new Error(\n `ChainOfThought part index ${index} is out of bounds (0..${parts.length - 1})`,\n );\n }\n return parentAui.message.part({ index: startIndex + index });\n },\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;;AAKA,MAAaO,mCAKTG,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAJ,YAAAC,UAAAI,aAAAH;CACH,MAAAI,QAAcX,YAAYY,KAAsB,CAAC,CAAAC,MAC/CR,YACAC,WAAW,CACb;CAEA,MAAAQ,YAAkBf,OAAO;CAGP,MAAAgB,KAAAb,qBAAqB;EAAAS;EAAAK,iBAEnBC,OAAA;GAAC,MAAA,EAAAC,UAAAD;GACf,IAAIC,QAAQ,KAAKA,SAASP,MAAKQ,QAC7B,MAAM,IAAIC,MACR,6BAA6BF,MAAK,wBAAyBP,MAAKQ,SAAU,EAAC,EAC7E;GACD,OACML,UAASO,QAAQC,KAAM,EAAAJ,OAASb,aAAaa,MAAM,CAAC;EAAC;CAEhE,CAAC;CAAC,IAAAK;CAAA,IAAAf,EAAA,OAAAO,IAAA;EAXeQ,KAAA,EAAAC,gBACDT,GAWlB;EAACP,EAAA,KAAAO;EAAAP,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAZD,MAAAiB,MAAY1B,OAAOwB,EAYlB;CAAE,IAAAG;CAAA,IAAAlB,EAAA,OAAAiB,OAAAjB,EAAA,OAAAE,UAAA;EAEIgB,KAAA,oBAAC,aAAD;GAAoBD,OAAAA;GAAMf;EAAd,CAAA;EAAqCF,EAAA,KAAAiB;EAAAjB,EAAA,KAAAE;EAAAF,EAAA,KAAAkB;CAAA,OAAAA,KAAAlB,EAAA;CAAA,OAAjDkB;AAAiD;AAtBtD,SAAAd,MAAAe,GAAA;CAAA,OAC+BA,EAACN,QAAQV;AAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChainOfThoughtPartByIndexProvider.d.ts","names":[],"sources":["../../../src/react/providers/ChainOfThoughtPartByIndexProvider.tsx"],"mappings":";;cAIa,mCAAmC,GAC9C;EACE"}
1
+ {"version":3,"file":"ChainOfThoughtPartByIndexProvider.d.ts","names":[],"sources":["../../../src/react/providers/ChainOfThoughtPartByIndexProvider.tsx"],"mappings":";;cAGa,mCAAmC,GAC9C;EACE"}
@@ -1,29 +1,41 @@
1
1
  import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
2
- import { useMemo } from "@assistant-ui/tap/react-shim";
2
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/react/providers/ChainOfThoughtPartByIndexProvider.tsx
5
- const ChainOfThoughtPartByIndexProvider = ({ index, children }) => {
6
- const lastPartRef = useMemo(() => ({
7
- index,
8
- current: null
9
- }), [index]);
10
- return /* @__PURE__ */ jsx(AuiProvider, {
11
- value: useAui({ part: Derived({
5
+ const ChainOfThoughtPartByIndexProvider = (t0) => {
6
+ const $ = c(7);
7
+ const { index, children } = t0;
8
+ let t1;
9
+ if ($[0] !== index) {
10
+ t1 = Derived({
12
11
  source: "chainOfThought",
13
12
  query: {
14
13
  type: "index",
15
14
  index
16
15
  },
17
- get: (aui) => {
18
- const chainOfThought = aui.chainOfThought();
19
- if (index >= chainOfThought.getState().parts.length && lastPartRef.current) return lastPartRef.current;
20
- const part = chainOfThought.part({ index });
21
- lastPartRef.current = part;
22
- return part;
23
- }
24
- }) }),
25
- children
26
- });
16
+ get: (aui) => aui.chainOfThought.part({ index })
17
+ });
18
+ $[0] = index;
19
+ $[1] = t1;
20
+ } else t1 = $[1];
21
+ let t2;
22
+ if ($[2] !== t1) {
23
+ t2 = { part: t1 };
24
+ $[2] = t1;
25
+ $[3] = t2;
26
+ } else t2 = $[3];
27
+ const aui_0 = useAui(t2);
28
+ let t3;
29
+ if ($[4] !== aui_0 || $[5] !== children) {
30
+ t3 = /* @__PURE__ */ jsx(AuiProvider, {
31
+ value: aui_0,
32
+ children
33
+ });
34
+ $[4] = aui_0;
35
+ $[5] = children;
36
+ $[6] = t3;
37
+ } else t3 = $[6];
38
+ return t3;
27
39
  };
28
40
  //#endregion
29
41
  export { ChainOfThoughtPartByIndexProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"ChainOfThoughtPartByIndexProvider.js","names":["useMemo","FC","PropsWithChildren","useAui","AuiProvider","Derived","PartMethods","ChainOfThoughtPartByIndexProvider","index","children","lastPartRef","current","aui","part","source","query","type","get","chainOfThought","getState","parts","length"],"sources":["../../../src/react/providers/ChainOfThoughtPartByIndexProvider.tsx"],"sourcesContent":["import { useMemo, type FC, type PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\nimport type { PartMethods } from \"../../store/scopes/part\";\n\nexport const ChainOfThoughtPartByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const lastPartRef = useMemo(\n () => ({ index, current: null as PartMethods | null }),\n [index],\n );\n const aui = useAui({\n part: Derived({\n source: \"chainOfThought\",\n query: { type: \"index\", index },\n get: (aui) => {\n const chainOfThought = aui.chainOfThought();\n if (\n index >= chainOfThought.getState().parts.length &&\n lastPartRef.current\n ) {\n return lastPartRef.current;\n }\n\n const part = chainOfThought.part({ index });\n lastPartRef.current = part;\n return part;\n },\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAIA,MAAaO,qCAIR,EAAEC,OAAOC,eAAe;CAC3B,MAAMC,cAAcV,eACX;EAAEQ;EAAOG,SAAS;CAA2B,IACpD,CAACH,KAAK,CACR;CAqBA,OAAO,oBAAC,aAAD;EAAa,OApBRL,OAAO,EACjBU,MAAMR,QAAQ;GACZS,QAAQ;GACRC,OAAO;IAAEC,MAAM;IAASR;GAAM;GAC9BS,MAAML,QAAQ;IACZ,MAAMM,iBAAiBN,IAAIM,eAAe;IAC1C,IACEV,SAASU,eAAeC,SAAS,CAAC,CAACC,MAAMC,UACzCX,YAAYC,SAEZ,OAAOD,YAAYC;IAGrB,MAAME,OAAOK,eAAeL,KAAK,EAAEL,MAAM,CAAC;IAC1CE,YAAYC,UAAUE;IACtB,OAAOA;GACT;EACF,CAAC,EACH,CAE2BD;EAAMH;CAAsB,CAAA;AACzD"}
1
+ {"version":3,"file":"ChainOfThoughtPartByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","ChainOfThoughtPartByIndexProvider","index","t0","$","_c","children","t1","source","query","type","get","aui","chainOfThought","part","t2","aui_0","t3"],"sources":["../../../src/react/providers/ChainOfThoughtPartByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const ChainOfThoughtPartByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const aui = useAui({\n part: Derived({\n source: \"chainOfThought\",\n query: { type: \"index\", index },\n get: (aui) => aui.chainOfThought.part({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,qCAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAEdK,KAAAP,QAAQ;GAAAQ,QACJ;GAAgBC,OACjB;IAAAC,MAAQ;IAAOR;GAAQ;GAACS,MAC1BC,QAASA,IAAGC,eAAeC,KAAM,EAAAZ,MAAQ,CAAC;EACjD,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,IAAA;EALeQ,KAAA,EAAAD,MACXP,GAKR;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAND,MAAAY,QAAYlB,OAAOiB,EAMlB;CAAE,IAAAE;CAAA,IAAAb,EAAA,OAAAY,SAAAZ,EAAA,OAAAE,UAAA;EAEIW,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAY;EAAAZ,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAAjDa;AAAiD"}
@@ -13,7 +13,7 @@ const MessageByIdProvider = (t0) => {
13
13
  type: "id",
14
14
  id
15
15
  },
16
- get: (aui) => aui.thread().message({ id })
16
+ get: (aui) => aui.thread.message({ id })
17
17
  });
18
18
  $[0] = id;
19
19
  $[1] = t1;
@@ -23,7 +23,7 @@ const MessageByIdProvider = (t0) => {
23
23
  t2 = Derived({
24
24
  source: "message",
25
25
  query: {},
26
- get: (aui_0) => aui_0.thread().message({ id }).composer()
26
+ get: (aui_0) => aui_0.thread.message({ id }).composer()
27
27
  });
28
28
  $[2] = id;
29
29
  $[3] = t2;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageByIdProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","MessageByIdProvider","id","t0","$","_c","children","t1","source","query","type","get","aui","thread","message","t2","aui_0","composer","t3","aui_1","t4"],"sources":["../../../src/react/providers/MessageByIdProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const MessageByIdProvider: FC<\n PropsWithChildren<{\n id: string;\n }>\n> = ({ id, children }) => {\n const aui = useAui({\n message: Derived({\n source: \"thread\",\n query: { type: \"id\", id },\n get: (aui) => aui.thread().message({ id }),\n }),\n composer: Derived({\n source: \"message\",\n query: {},\n get: (aui) => aui.thread().message({ id }).composer(),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,uBAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAH,IAAAI,aAAAH;CAAgB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,IAAA;EAERK,KAAAP,QAAQ;GAAAQ,QACP;GAAQC,OACT;IAAAC,MAAQ;IAAIR;GAAK;GAACS,MACpBC,QAASA,IAAGC,OAAQ,CAAC,CAAAC,QAAS,EAAAZ,GAAK,CAAC;EAC3C,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAF,IAAA;EACQa,KAAAf,QAAQ;GAAAQ,QACR;GAASC,OACV,CAAC;GAACE,MACJK,UAASJ,MAAGC,OAAQ,CAAC,CAAAC,QAAS,EAAAZ,GAAK,CAAC,CAAC,CAAAe,SAAU;EACtD,CAAC;EAACb,EAAA,KAAAF;EAAAE,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAG,MAAAH,EAAA,OAAAW,IAAA;EAVeG,KAAA;GAAAJ,SACRP;GAIPU,UACQF;EAKZ;EAACX,EAAA,KAAAG;EAAAH,EAAA,KAAAW;EAAAX,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAXD,MAAAe,QAAYrB,OAAOoB,EAWlB;CAAE,IAAAE;CAAA,IAAAhB,EAAA,OAAAe,SAAAf,EAAA,OAAAE,UAAA;EAEIc,KAAA,oBAAC,aAAD;GAAoBR,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAe;EAAAf,EAAA,KAAAE;EAAAF,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAAA,OAAjDgB;AAAiD"}
1
+ {"version":3,"file":"MessageByIdProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","MessageByIdProvider","id","t0","$","_c","children","t1","source","query","type","get","aui","thread","message","t2","aui_0","composer","t3","aui_1","t4"],"sources":["../../../src/react/providers/MessageByIdProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const MessageByIdProvider: FC<\n PropsWithChildren<{\n id: string;\n }>\n> = ({ id, children }) => {\n const aui = useAui({\n message: Derived({\n source: \"thread\",\n query: { type: \"id\", id },\n get: (aui) => aui.thread.message({ id }),\n }),\n composer: Derived({\n source: \"message\",\n query: {},\n get: (aui) => aui.thread.message({ id }).composer(),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,uBAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAH,IAAAI,aAAAH;CAAgB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,IAAA;EAERK,KAAAP,QAAQ;GAAAQ,QACP;GAAQC,OACT;IAAAC,MAAQ;IAAIR;GAAK;GAACS,MACpBC,QAASA,IAAGC,OAAOC,QAAS,EAAAZ,GAAK,CAAC;EACzC,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAF,IAAA;EACQa,KAAAf,QAAQ;GAAAQ,QACR;GAASC,OACV,CAAC;GAACE,MACJK,UAASJ,MAAGC,OAAOC,QAAS,EAAAZ,GAAK,CAAC,CAAC,CAAAe,SAAU;EACpD,CAAC;EAACb,EAAA,KAAAF;EAAAE,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAG,MAAAH,EAAA,OAAAW,IAAA;EAVeG,KAAA;GAAAJ,SACRP;GAIPU,UACQF;EAKZ;EAACX,EAAA,KAAAG;EAAAH,EAAA,KAAAW;EAAAX,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAXD,MAAAe,QAAYrB,OAAOoB,EAWlB;CAAE,IAAAE;CAAA,IAAAhB,EAAA,OAAAe,SAAAf,EAAA,OAAAE,UAAA;EAEIc,KAAA,oBAAC,aAAD;GAAoBR,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAe;EAAAf,EAAA,KAAAE;EAAAF,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAAA,OAAjDgB;AAAiD"}
@@ -13,7 +13,7 @@ const MessageByIndexProvider = (t0) => {
13
13
  type: "index",
14
14
  index
15
15
  },
16
- get: (aui) => aui.thread().message({ index })
16
+ get: (aui) => aui.thread.message({ index })
17
17
  });
18
18
  $[0] = index;
19
19
  $[1] = t1;
@@ -23,7 +23,7 @@ const MessageByIndexProvider = (t0) => {
23
23
  t2 = Derived({
24
24
  source: "message",
25
25
  query: {},
26
- get: (aui_0) => aui_0.thread().message({ index }).composer()
26
+ get: (aui_0) => aui_0.thread.message({ index }).composer()
27
27
  });
28
28
  $[2] = index;
29
29
  $[3] = t2;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","MessageByIndexProvider","index","t0","$","_c","children","t1","source","query","type","get","aui","thread","message","t2","aui_0","composer","t3","aui_1","t4"],"sources":["../../../src/react/providers/MessageByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const MessageByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const aui = useAui({\n message: Derived({\n source: \"thread\",\n query: { type: \"index\", index },\n get: (aui) => aui.thread().message({ index }),\n }),\n composer: Derived({\n source: \"message\",\n query: {},\n get: (aui) => aui.thread().message({ index }).composer(),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,0BAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAEXK,KAAAP,QAAQ;GAAAQ,QACP;GAAQC,OACT;IAAAC,MAAQ;IAAOR;GAAQ;GAACS,MAC1BC,QAASA,IAAGC,OAAQ,CAAC,CAAAC,QAAS,EAAAZ,MAAQ,CAAC;EAC9C,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAF,OAAA;EACQa,KAAAf,QAAQ;GAAAQ,QACR;GAASC,OACV,CAAC;GAACE,MACJK,UAASJ,MAAGC,OAAQ,CAAC,CAAAC,QAAS,EAAAZ,MAAQ,CAAC,CAAC,CAAAe,SAAU;EACzD,CAAC;EAACb,EAAA,KAAAF;EAAAE,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAG,MAAAH,EAAA,OAAAW,IAAA;EAVeG,KAAA;GAAAJ,SACRP;GAIPU,UACQF;EAKZ;EAACX,EAAA,KAAAG;EAAAH,EAAA,KAAAW;EAAAX,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAXD,MAAAe,QAAYrB,OAAOoB,EAWlB;CAAE,IAAAE;CAAA,IAAAhB,EAAA,OAAAe,SAAAf,EAAA,OAAAE,UAAA;EAEIc,KAAA,oBAAC,aAAD;GAAoBR,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAe;EAAAf,EAAA,KAAAE;EAAAF,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAAA,OAAjDgB;AAAiD"}
1
+ {"version":3,"file":"MessageByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","MessageByIndexProvider","index","t0","$","_c","children","t1","source","query","type","get","aui","thread","message","t2","aui_0","composer","t3","aui_1","t4"],"sources":["../../../src/react/providers/MessageByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const MessageByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const aui = useAui({\n message: Derived({\n source: \"thread\",\n query: { type: \"index\", index },\n get: (aui) => aui.thread.message({ index }),\n }),\n composer: Derived({\n source: \"message\",\n query: {},\n get: (aui) => aui.thread.message({ index }).composer(),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,0BAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAEXK,KAAAP,QAAQ;GAAAQ,QACP;GAAQC,OACT;IAAAC,MAAQ;IAAOR;GAAQ;GAACS,MAC1BC,QAASA,IAAGC,OAAOC,QAAS,EAAAZ,MAAQ,CAAC;EAC5C,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAF,OAAA;EACQa,KAAAf,QAAQ;GAAAQ,QACR;GAASC,OACV,CAAC;GAACE,MACJK,UAASJ,MAAGC,OAAOC,QAAS,EAAAZ,MAAQ,CAAC,CAAC,CAAAe,SAAU;EACvD,CAAC;EAACb,EAAA,KAAAF;EAAAE,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAG,MAAAH,EAAA,OAAAW,IAAA;EAVeG,KAAA;GAAAJ,SACRP;GAIPU,UACQF;EAKZ;EAACX,EAAA,KAAAG;EAAAH,EAAA,KAAAW;EAAAX,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAXD,MAAAe,QAAYrB,OAAOoB,EAWlB;CAAE,IAAAE;CAAA,IAAAhB,EAAA,OAAAe,SAAAf,EAAA,OAAAE,UAAA;EAEIc,KAAA,oBAAC,aAAD;GAAoBR,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAe;EAAAf,EAAA,KAAAE;EAAAF,EAAA,KAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CAAA,OAAjDgB;AAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"PartByIndexProvider.d.ts","names":[],"sources":["../../../src/react/providers/PartByIndexProvider.tsx"],"mappings":";;cAIa,qBAAqB,GAChC;EACE"}
1
+ {"version":3,"file":"PartByIndexProvider.d.ts","names":[],"sources":["../../../src/react/providers/PartByIndexProvider.tsx"],"mappings":";;cAGa,qBAAqB,GAChC;EACE"}
@@ -1,29 +1,41 @@
1
1
  import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
2
- import { useMemo } from "@assistant-ui/tap/react-shim";
2
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/react/providers/PartByIndexProvider.tsx
5
- const PartByIndexProvider = ({ index, children }) => {
6
- const lastPartRef = useMemo(() => ({
7
- index,
8
- current: null
9
- }), [index]);
10
- return /* @__PURE__ */ jsx(AuiProvider, {
11
- value: useAui({ part: Derived({
5
+ const PartByIndexProvider = (t0) => {
6
+ const $ = c(7);
7
+ const { index, children } = t0;
8
+ let t1;
9
+ if ($[0] !== index) {
10
+ t1 = Derived({
12
11
  source: "message",
13
12
  query: {
14
13
  type: "index",
15
14
  index
16
15
  },
17
- get: (aui) => {
18
- const message = aui.message();
19
- if (index >= message.getState().parts.length && lastPartRef.current) return lastPartRef.current;
20
- const part = message.part({ index });
21
- lastPartRef.current = part;
22
- return part;
23
- }
24
- }) }),
25
- children
26
- });
16
+ get: (aui) => aui.message.part({ index })
17
+ });
18
+ $[0] = index;
19
+ $[1] = t1;
20
+ } else t1 = $[1];
21
+ let t2;
22
+ if ($[2] !== t1) {
23
+ t2 = { part: t1 };
24
+ $[2] = t1;
25
+ $[3] = t2;
26
+ } else t2 = $[3];
27
+ const aui_0 = useAui(t2);
28
+ let t3;
29
+ if ($[4] !== aui_0 || $[5] !== children) {
30
+ t3 = /* @__PURE__ */ jsx(AuiProvider, {
31
+ value: aui_0,
32
+ children
33
+ });
34
+ $[4] = aui_0;
35
+ $[5] = children;
36
+ $[6] = t3;
37
+ } else t3 = $[6];
38
+ return t3;
27
39
  };
28
40
  //#endregion
29
41
  export { PartByIndexProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"PartByIndexProvider.js","names":["useMemo","FC","PropsWithChildren","useAui","AuiProvider","Derived","PartMethods","PartByIndexProvider","index","children","lastPartRef","current","aui","part","source","query","type","get","message","getState","parts","length"],"sources":["../../../src/react/providers/PartByIndexProvider.tsx"],"sourcesContent":["import { useMemo, type FC, type PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\nimport type { PartMethods } from \"../../store/scopes/part\";\n\nexport const PartByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const lastPartRef = useMemo(\n () => ({ index, current: null as PartMethods | null }),\n [index],\n );\n const aui = useAui({\n part: Derived({\n source: \"message\",\n query: { type: \"index\", index },\n get: (aui) => {\n const message = aui.message();\n if (index >= message.getState().parts.length && lastPartRef.current) {\n return lastPartRef.current;\n }\n\n const part = message.part({ index });\n lastPartRef.current = part;\n return part;\n },\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAIA,MAAaO,uBAIR,EAAEC,OAAOC,eAAe;CAC3B,MAAMC,cAAcV,eACX;EAAEQ;EAAOG,SAAS;CAA2B,IACpD,CAACH,KAAK,CACR;CAkBA,OAAO,oBAAC,aAAD;EAAa,OAjBRL,OAAO,EACjBU,MAAMR,QAAQ;GACZS,QAAQ;GACRC,OAAO;IAAEC,MAAM;IAASR;GAAM;GAC9BS,MAAML,QAAQ;IACZ,MAAMM,UAAUN,IAAIM,QAAQ;IAC5B,IAAIV,SAASU,QAAQC,SAAS,CAAC,CAACC,MAAMC,UAAUX,YAAYC,SAC1D,OAAOD,YAAYC;IAGrB,MAAME,OAAOK,QAAQL,KAAK,EAAEL,MAAM,CAAC;IACnCE,YAAYC,UAAUE;IACtB,OAAOA;GACT;EACF,CAAC,EACH,CAE2BD;EAAMH;CAAsB,CAAA;AACzD"}
1
+ {"version":3,"file":"PartByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","PartByIndexProvider","index","t0","$","_c","children","t1","source","query","type","get","aui","message","part","t2","aui_0","t3"],"sources":["../../../src/react/providers/PartByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const PartByIndexProvider: FC<\n PropsWithChildren<{\n index: number;\n }>\n> = ({ index, children }) => {\n const aui = useAui({\n part: Derived({\n source: \"message\",\n query: { type: \"index\", index },\n get: (aui) => aui.message.part({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,uBAITE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAAmB,IAAAI;CAAA,IAAAH,EAAA,OAAAF,OAAA;EAEdK,KAAAP,QAAQ;GAAAQ,QACJ;GAASC,OACV;IAAAC,MAAQ;IAAOR;GAAQ;GAACS,MAC1BC,QAASA,IAAGC,QAAQC,KAAM,EAAAZ,MAAQ,CAAC;EAC1C,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,IAAA;EALeQ,KAAA,EAAAD,MACXP,GAKR;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAND,MAAAY,QAAYlB,OAAOiB,EAMlB;CAAE,IAAAE;CAAA,IAAAb,EAAA,OAAAY,SAAAZ,EAAA,OAAAE,UAAA;EAEIW,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAMN;EAAd,CAAA;EAAqCF,EAAA,KAAAY;EAAAZ,EAAA,KAAAE;EAAAF,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAAjDa;AAAiD"}
@@ -10,7 +10,7 @@ const QueueItemByIndexProvider = (t0) => {
10
10
  t1 = Derived({
11
11
  source: "composer",
12
12
  query: { index },
13
- get: (aui) => aui.composer().queueItem({ index })
13
+ get: (aui) => aui.composer.queueItem({ index })
14
14
  });
15
15
  $[0] = index;
16
16
  $[1] = t1;
@@ -1 +1 @@
1
- {"version":3,"file":"QueueItemByIndexProvider.js","names":["FC","PropsWithChildren","AuiProvider","Derived","useAui","QueueItemByIndexProviderProps","index","QueueItemByIndexProvider","t0","$","_c","children","t1","source","query","get","aui","composer","queueItem","t2","aui_0","t3"],"sources":["../../../src/react/providers/QueueItemByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { AuiProvider, Derived, useAui } from \"@assistant-ui/store\";\n\nexport type QueueItemByIndexProviderProps = PropsWithChildren<{\n index: number;\n}>;\n\nexport const QueueItemByIndexProvider: FC<QueueItemByIndexProviderProps> = ({\n index,\n children,\n}) => {\n const aui = useAui({\n queueItem: Derived({\n source: \"composer\",\n query: { index },\n get: (aui) => aui.composer().queueItem({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAOA,MAAaO,4BAA8DC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAJ,OAAAK,aAAAH;CAG3E,IAAAI;CAAA,IAAAH,EAAA,OAAAH,OAAA;EAEcM,KAAAT,QAAQ;GAAAU,QACT;GAAUC,OACX,EAAAR,MAAQ;GAACS,MACXC,QAASA,IAAGC,SAAU,CAAC,CAAAC,UAAW,EAAAZ,MAAQ,CAAC;EAClD,CAAC;EAACG,EAAA,KAAAH;EAAAG,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,IAAA;EALeO,KAAA,EAAAD,WACNN,GAKb;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAND,MAAAW,QAAYhB,OAAOe,EAMlB;CAAE,IAAAE;CAAA,IAAAZ,EAAA,OAAAW,SAAAX,EAAA,OAAAE,UAAA;EAEIU,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAML;EAAd,CAAA;EAAqCF,EAAA,KAAAW;EAAAX,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAAjDY;AAAiD"}
1
+ {"version":3,"file":"QueueItemByIndexProvider.js","names":["FC","PropsWithChildren","AuiProvider","Derived","useAui","QueueItemByIndexProviderProps","index","QueueItemByIndexProvider","t0","$","_c","children","t1","source","query","get","aui","composer","queueItem","t2","aui_0","t3"],"sources":["../../../src/react/providers/QueueItemByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { AuiProvider, Derived, useAui } from \"@assistant-ui/store\";\n\nexport type QueueItemByIndexProviderProps = PropsWithChildren<{\n index: number;\n}>;\n\nexport const QueueItemByIndexProvider: FC<QueueItemByIndexProviderProps> = ({\n index,\n children,\n}) => {\n const aui = useAui({\n queueItem: Derived({\n source: \"composer\",\n query: { index },\n get: (aui) => aui.composer.queueItem({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAOA,MAAaO,4BAA8DC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAJ,OAAAK,aAAAH;CAG3E,IAAAI;CAAA,IAAAH,EAAA,OAAAH,OAAA;EAEcM,KAAAT,QAAQ;GAAAU,QACT;GAAUC,OACX,EAAAR,MAAQ;GAACS,MACXC,QAASA,IAAGC,SAASC,UAAW,EAAAZ,MAAQ,CAAC;EAChD,CAAC;EAACG,EAAA,KAAAH;EAAAG,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,IAAA;EALeO,KAAA,EAAAD,WACNN,GAKb;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAND,MAAAW,QAAYhB,OAAOe,EAMlB;CAAE,IAAAE;CAAA,IAAAZ,EAAA,OAAAW,SAAAX,EAAA,OAAAE,UAAA;EAEIU,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAML;EAAd,CAAA;EAAqCF,EAAA,KAAAW;EAAAX,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAAjDY;AAAiD"}
@@ -103,7 +103,7 @@ const ReadonlyThreadProvider = (t0) => {
103
103
  return t8;
104
104
  };
105
105
  function _temp(aui) {
106
- return aui.thread().composer();
106
+ return aui.thread.composer();
107
107
  }
108
108
  //#endregion
109
109
  export { ReadonlyThreadProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"ReadonlyThreadProvider.js","names":["FC","PropsWithChildren","useEffect","useMemo","useState","useAui","AuiProvider","Derived","ThreadMessage","ReadonlyThreadRuntimeCore","ThreadRuntimeImpl","ThreadRuntimeCoreBinding","ThreadListItemRuntimeBinding","ThreadClient","ThreadListItemState","READONLY_THREAD_PATH","Object","freeze","ref","threadSelector","type","const","READONLY_THREAD_LIST_ITEM","id","remoteId","undefined","externalId","isMain","status","title","READONLY_THREAD_LIST_ITEM_BINDING","path","getState","subscribe","ReadonlyThreadProvider","Props","messages","t0","$","_c","children","t1","c","setMessages","core","t2","t3","t4","threadBinding","callback","outerSubscribe","callback_0","threadRuntime","t5","runtime","t6","Symbol","for","source","query","get","_temp","t7","thread","composer","aui_0","t8","aui"],"sources":["../../../src/react/providers/ReadonlyThreadProvider.tsx"],"sourcesContent":["import {\n type FC,\n type PropsWithChildren,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\nimport type { ThreadMessage } from \"../../types/message\";\nimport { ReadonlyThreadRuntimeCore } from \"../../runtimes/readonly/ReadonlyThreadRuntimeCore\";\nimport {\n ThreadRuntimeImpl,\n type ThreadRuntimeCoreBinding,\n type ThreadListItemRuntimeBinding,\n} from \"../../runtime/internal\";\nimport { ThreadClient } from \"../../store/runtime-clients/thread-runtime-client\";\nimport type { ThreadListItemState } from \"../../runtime/api/bindings\";\n\nconst READONLY_THREAD_PATH = Object.freeze({\n ref: \"readonly-thread\",\n threadSelector: { type: \"main\" as const },\n});\n\nconst READONLY_THREAD_LIST_ITEM: ThreadListItemState = Object.freeze({\n id: \"readonly\",\n remoteId: undefined,\n externalId: undefined,\n isMain: true,\n status: \"regular\" as const,\n title: undefined,\n});\n\nconst READONLY_THREAD_LIST_ITEM_BINDING: ThreadListItemRuntimeBinding =\n Object.freeze({\n path: READONLY_THREAD_PATH,\n getState: () => READONLY_THREAD_LIST_ITEM,\n subscribe: () => () => {},\n });\n\nexport namespace ReadonlyThreadProvider {\n export type Props = PropsWithChildren<{\n messages: readonly ThreadMessage[];\n }>;\n}\n\nexport const ReadonlyThreadProvider: FC<ReadonlyThreadProvider.Props> = ({\n messages,\n children,\n}) => {\n const [core] = useState(() => {\n const c = new ReadonlyThreadRuntimeCore();\n c.setMessages(messages);\n return c;\n });\n\n useEffect(() => {\n core.setMessages(messages);\n }, [core, messages]);\n\n const threadRuntime = useMemo(() => {\n const threadBinding: ThreadRuntimeCoreBinding = {\n path: READONLY_THREAD_PATH,\n getState: () => core,\n subscribe: (callback) => core.subscribe(callback),\n outerSubscribe: (callback) => core.subscribe(callback),\n };\n\n return new ThreadRuntimeImpl(\n threadBinding,\n READONLY_THREAD_LIST_ITEM_BINDING,\n );\n }, [core]);\n\n const aui = useAui({\n thread: ThreadClient({ runtime: threadRuntime }),\n composer: Derived({\n source: \"thread\",\n query: {},\n get: (aui) => aui.thread().composer(),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;;;;;AAkBA,MAAMe,uBAAuBC,OAAOC,OAAO;CACzCC,KAAK;CACLC,gBAAgB,EAAEC,MAAM,OAAgB;AAC1C,CAAC;AAED,MAAME,4BAAiDN,OAAOC,OAAO;CACnEM,IAAI;CACJC,UAAUC,KAAAA;CACVC,YAAYD,KAAAA;CACZE,QAAQ;CACRC,QAAQ;CACRC,OAAOJ,KAAAA;AACT,CAAC;AAED,MAAMK,oCACJd,OAAOC,OAAO;CACZc,MAAMhB;CACNiB,gBAAgBV;CAChBW,uBAAuB,CAAC;AAC1B,CAAC;AAQH,MAAaC,0BAA2DG,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAH,UAAAI,aAAAH;CAGxE,IAAAI;CAAA,IAAAH,EAAA,OAAAF,UAAA;EACyBK,WAAA;GACtB,MAAAC,IAAU,IAAIjC,0BAA0B;GACxCiC,EAACC,YAAaP,QAAQ;GAAC,OAChBM;EAAC;EACTJ,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAJD,MAAA,CAAAM,QAAexC,SAASqC,EAIvB;CAAE,IAAAI;CAAA,IAAAC;CAAA,IAAAR,EAAA,OAAAM,QAAAN,EAAA,OAAAF,UAAA;EAEOS,WAAA;GACRD,KAAID,YAAaP,QAAQ;EAAC;EACzBU,KAAA,CAACF,MAAMR,QAAQ;EAACE,EAAA,KAAAM;EAAAN,EAAA,KAAAF;EAAAE,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAA;EAAAD,KAAAP,EAAA;EAAAQ,KAAAR,EAAA;CAAA;CAFnBpC,UAAU2C,IAEPC,EAAgB;CAAC,IAAAC;CAAA,IAAAT,EAAA,OAAAM,MAAA;EAUXG,KAAA,IAAIrC,kBACTsC;GAR8CjB,MACxChB;GAAoBiB,gBACVY;GAAIX,YACTgB,aAAcL,KAAIX,UAAWgB,QAAQ;GAACC,iBACjCC,eAAcP,KAAIX,UAAWgB,UAAQ;EAIrDD,GACAlB,iCACF;EAACQ,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAXH,MAAAc,gBAQEL;CAIS,IAAAM;CAAA,IAAAf,EAAA,OAAAc,eAAA;EAGDC,KAAAxC,aAAa,EAAAyC,SAAWF,cAAc,CAAC;EAACd,EAAA,KAAAc;EAAAd,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,IAAAiB;CAAA,IAAAjB,EAAA,QAAAkB,OAAAC,IAAA,2BAAA,GAAA;EACtCF,KAAAhD,QAAQ;GAAAmD,QACR;GAAQC,OACT,CAAC;GAACC,KACJC;EACP,CAAC;EAACvB,EAAA,MAAAiB;CAAA,OAAAA,KAAAjB,EAAA;CAAA,IAAAwB;CAAA,IAAAxB,EAAA,QAAAe,IAAA;EANeS,KAAA;GAAAC,QACTV;GAAwCW,UACtCT;EAKZ;EAACjB,EAAA,MAAAe;EAAAf,EAAA,MAAAwB;CAAA,OAAAA,KAAAxB,EAAA;CAPD,MAAA2B,QAAY5D,OAAOyD,EAOlB;CAAE,IAAAI;CAAA,IAAA5B,EAAA,QAAA2B,SAAA3B,EAAA,QAAAE,UAAA;EAEI0B,KAAA,oBAAC,aAAD;GAAoBC,OAAAA;GAAM3B;EAAd,CAAA;EAAqCF,EAAA,MAAA2B;EAAA3B,EAAA,MAAAE;EAAAF,EAAA,MAAA4B;CAAA,OAAAA,KAAA5B,EAAA;CAAA,OAAjD4B;AAAiD;AArCc,SAAAL,MAAAM,KAAA;CAAA,OAiCpDA,IAAGJ,OAAQ,CAAC,CAAAC,SAAU;AAAC"}
1
+ {"version":3,"file":"ReadonlyThreadProvider.js","names":["FC","PropsWithChildren","useEffect","useMemo","useState","useAui","AuiProvider","Derived","ThreadMessage","ReadonlyThreadRuntimeCore","ThreadRuntimeImpl","ThreadRuntimeCoreBinding","ThreadListItemRuntimeBinding","ThreadClient","ThreadListItemState","READONLY_THREAD_PATH","Object","freeze","ref","threadSelector","type","const","READONLY_THREAD_LIST_ITEM","id","remoteId","undefined","externalId","isMain","status","title","READONLY_THREAD_LIST_ITEM_BINDING","path","getState","subscribe","ReadonlyThreadProvider","Props","messages","t0","$","_c","children","t1","c","setMessages","core","t2","t3","t4","threadBinding","callback","outerSubscribe","callback_0","threadRuntime","t5","runtime","t6","Symbol","for","source","query","get","_temp","t7","thread","composer","aui_0","t8","aui"],"sources":["../../../src/react/providers/ReadonlyThreadProvider.tsx"],"sourcesContent":["import {\n type FC,\n type PropsWithChildren,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\nimport type { ThreadMessage } from \"../../types/message\";\nimport { ReadonlyThreadRuntimeCore } from \"../../runtimes/readonly/ReadonlyThreadRuntimeCore\";\nimport {\n ThreadRuntimeImpl,\n type ThreadRuntimeCoreBinding,\n type ThreadListItemRuntimeBinding,\n} from \"../../runtime/internal\";\nimport { ThreadClient } from \"../../store/runtime-clients/thread-runtime-client\";\nimport type { ThreadListItemState } from \"../../runtime/api/bindings\";\n\nconst READONLY_THREAD_PATH = Object.freeze({\n ref: \"readonly-thread\",\n threadSelector: { type: \"main\" as const },\n});\n\nconst READONLY_THREAD_LIST_ITEM: ThreadListItemState = Object.freeze({\n id: \"readonly\",\n remoteId: undefined,\n externalId: undefined,\n isMain: true,\n status: \"regular\" as const,\n title: undefined,\n});\n\nconst READONLY_THREAD_LIST_ITEM_BINDING: ThreadListItemRuntimeBinding =\n Object.freeze({\n path: READONLY_THREAD_PATH,\n getState: () => READONLY_THREAD_LIST_ITEM,\n subscribe: () => () => {},\n });\n\nexport namespace ReadonlyThreadProvider {\n export type Props = PropsWithChildren<{\n messages: readonly ThreadMessage[];\n }>;\n}\n\nexport const ReadonlyThreadProvider: FC<ReadonlyThreadProvider.Props> = ({\n messages,\n children,\n}) => {\n const [core] = useState(() => {\n const c = new ReadonlyThreadRuntimeCore();\n c.setMessages(messages);\n return c;\n });\n\n useEffect(() => {\n core.setMessages(messages);\n }, [core, messages]);\n\n const threadRuntime = useMemo(() => {\n const threadBinding: ThreadRuntimeCoreBinding = {\n path: READONLY_THREAD_PATH,\n getState: () => core,\n subscribe: (callback) => core.subscribe(callback),\n outerSubscribe: (callback) => core.subscribe(callback),\n };\n\n return new ThreadRuntimeImpl(\n threadBinding,\n READONLY_THREAD_LIST_ITEM_BINDING,\n );\n }, [core]);\n\n const aui = useAui({\n thread: ThreadClient({ runtime: threadRuntime }),\n composer: Derived({\n source: \"thread\",\n query: {},\n get: (aui) => aui.thread.composer(),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;;;;;AAkBA,MAAMe,uBAAuBC,OAAOC,OAAO;CACzCC,KAAK;CACLC,gBAAgB,EAAEC,MAAM,OAAgB;AAC1C,CAAC;AAED,MAAME,4BAAiDN,OAAOC,OAAO;CACnEM,IAAI;CACJC,UAAUC,KAAAA;CACVC,YAAYD,KAAAA;CACZE,QAAQ;CACRC,QAAQ;CACRC,OAAOJ,KAAAA;AACT,CAAC;AAED,MAAMK,oCACJd,OAAOC,OAAO;CACZc,MAAMhB;CACNiB,gBAAgBV;CAChBW,uBAAuB,CAAC;AAC1B,CAAC;AAQH,MAAaC,0BAA2DG,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAH,UAAAI,aAAAH;CAGxE,IAAAI;CAAA,IAAAH,EAAA,OAAAF,UAAA;EACyBK,WAAA;GACtB,MAAAC,IAAU,IAAIjC,0BAA0B;GACxCiC,EAACC,YAAaP,QAAQ;GAAC,OAChBM;EAAC;EACTJ,EAAA,KAAAF;EAAAE,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAJD,MAAA,CAAAM,QAAexC,SAASqC,EAIvB;CAAE,IAAAI;CAAA,IAAAC;CAAA,IAAAR,EAAA,OAAAM,QAAAN,EAAA,OAAAF,UAAA;EAEOS,WAAA;GACRD,KAAID,YAAaP,QAAQ;EAAC;EACzBU,KAAA,CAACF,MAAMR,QAAQ;EAACE,EAAA,KAAAM;EAAAN,EAAA,KAAAF;EAAAE,EAAA,KAAAO;EAAAP,EAAA,KAAAQ;CAAA,OAAA;EAAAD,KAAAP,EAAA;EAAAQ,KAAAR,EAAA;CAAA;CAFnBpC,UAAU2C,IAEPC,EAAgB;CAAC,IAAAC;CAAA,IAAAT,EAAA,OAAAM,MAAA;EAUXG,KAAA,IAAIrC,kBACTsC;GAR8CjB,MACxChB;GAAoBiB,gBACVY;GAAIX,YACTgB,aAAcL,KAAIX,UAAWgB,QAAQ;GAACC,iBACjCC,eAAcP,KAAIX,UAAWgB,UAAQ;EAIrDD,GACAlB,iCACF;EAACQ,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAXH,MAAAc,gBAQEL;CAIS,IAAAM;CAAA,IAAAf,EAAA,OAAAc,eAAA;EAGDC,KAAAxC,aAAa,EAAAyC,SAAWF,cAAc,CAAC;EAACd,EAAA,KAAAc;EAAAd,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,IAAAiB;CAAA,IAAAjB,EAAA,QAAAkB,OAAAC,IAAA,2BAAA,GAAA;EACtCF,KAAAhD,QAAQ;GAAAmD,QACR;GAAQC,OACT,CAAC;GAACC,KACJC;EACP,CAAC;EAACvB,EAAA,MAAAiB;CAAA,OAAAA,KAAAjB,EAAA;CAAA,IAAAwB;CAAA,IAAAxB,EAAA,QAAAe,IAAA;EANeS,KAAA;GAAAC,QACTV;GAAwCW,UACtCT;EAKZ;EAACjB,EAAA,MAAAe;EAAAf,EAAA,MAAAwB;CAAA,OAAAA,KAAAxB,EAAA;CAPD,MAAA2B,QAAY5D,OAAOyD,EAOlB;CAAE,IAAAI;CAAA,IAAA5B,EAAA,QAAA2B,SAAA3B,EAAA,QAAAE,UAAA;EAEI0B,KAAA,oBAAC,aAAD;GAAoBC,OAAAA;GAAM3B;EAAd,CAAA;EAAqCF,EAAA,MAAA2B;EAAA3B,EAAA,MAAAE;EAAAF,EAAA,MAAA4B;CAAA,OAAAA,KAAA5B,EAAA;CAAA,OAAjD4B;AAAiD;AArCc,SAAAL,MAAAM,KAAA;CAAA,OAiCpDA,IAAGJ,OAAOC,SAAU;AAAC"}
@@ -10,7 +10,7 @@ const SuggestionByIndexProvider = (t0) => {
10
10
  t1 = Derived({
11
11
  source: "suggestions",
12
12
  query: { index },
13
- get: (aui) => aui.suggestions().suggestion({ index })
13
+ get: (aui) => aui.suggestions.suggestion({ index })
14
14
  });
15
15
  $[0] = index;
16
16
  $[1] = t1;
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestionByIndexProvider.js","names":["FC","PropsWithChildren","AuiProvider","Derived","useAui","SuggestionByIndexProviderProps","index","SuggestionByIndexProvider","t0","$","_c","children","t1","source","query","get","aui","suggestions","suggestion","t2","aui_0","t3"],"sources":["../../../src/react/providers/SuggestionByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { AuiProvider, Derived, useAui } from \"@assistant-ui/store\";\n\nexport type SuggestionByIndexProviderProps = PropsWithChildren<{\n index: number;\n}>;\n\nexport const SuggestionByIndexProvider: FC<SuggestionByIndexProviderProps> = ({\n index,\n children,\n}) => {\n const aui = useAui({\n suggestion: Derived({\n source: \"suggestions\",\n query: { index },\n get: (aui) => aui.suggestions().suggestion({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAOA,MAAaO,6BAAgEC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAJ,OAAAK,aAAAH;CAG7E,IAAAI;CAAA,IAAAH,EAAA,OAAAH,OAAA;EAEeM,KAAAT,QAAQ;GAAAU,QACV;GAAaC,OACd,EAAAR,MAAQ;GAACS,MACXC,QAASA,IAAGC,YAAa,CAAC,CAAAC,WAAY,EAAAZ,MAAQ,CAAC;EACtD,CAAC;EAACG,EAAA,KAAAH;EAAAG,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,IAAA;EALeO,KAAA,EAAAD,YACLN,GAKd;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAND,MAAAW,QAAYhB,OAAOe,EAMlB;CAAE,IAAAE;CAAA,IAAAZ,EAAA,OAAAW,SAAAX,EAAA,OAAAE,UAAA;EAEIU,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAML;EAAd,CAAA;EAAqCF,EAAA,KAAAW;EAAAX,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAAjDY;AAAiD"}
1
+ {"version":3,"file":"SuggestionByIndexProvider.js","names":["FC","PropsWithChildren","AuiProvider","Derived","useAui","SuggestionByIndexProviderProps","index","SuggestionByIndexProvider","t0","$","_c","children","t1","source","query","get","aui","suggestions","suggestion","t2","aui_0","t3"],"sources":["../../../src/react/providers/SuggestionByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { AuiProvider, Derived, useAui } from \"@assistant-ui/store\";\n\nexport type SuggestionByIndexProviderProps = PropsWithChildren<{\n index: number;\n}>;\n\nexport const SuggestionByIndexProvider: FC<SuggestionByIndexProviderProps> = ({\n index,\n children,\n}) => {\n const aui = useAui({\n suggestion: Derived({\n source: \"suggestions\",\n query: { index },\n get: (aui) => aui.suggestions.suggestion({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAOA,MAAaO,6BAAgEC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAJ,OAAAK,aAAAH;CAG7E,IAAAI;CAAA,IAAAH,EAAA,OAAAH,OAAA;EAEeM,KAAAT,QAAQ;GAAAU,QACV;GAAaC,OACd,EAAAR,MAAQ;GAACS,MACXC,QAASA,IAAGC,YAAYC,WAAY,EAAAZ,MAAQ,CAAC;EACpD,CAAC;EAACG,EAAA,KAAAH;EAAAG,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,IAAA;EALeO,KAAA,EAAAD,YACLN,GAKd;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAND,MAAAW,QAAYhB,OAAOe,EAMlB;CAAE,IAAAE;CAAA,IAAAZ,EAAA,OAAAW,SAAAX,EAAA,OAAAE,UAAA;EAEIU,KAAA,oBAAC,aAAD;GAAoBL,OAAAA;GAAML;EAAd,CAAA;EAAqCF,EAAA,KAAAW;EAAAX,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAAjDY;AAAiD"}
@@ -1,4 +1,5 @@
1
1
  import { AuiProvider, 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
  import { resource } from "@assistant-ui/tap";
4
5
  import { jsx } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"TextMessagePartProvider.js","names":["FC","PropsWithChildren","useMemo","useAui","AuiProvider","ClientOutput","PartState","resource","useTextMessagePartClient","t0","$","_c","text","isRunning","t1","type","t2","status","state","t3","getState","addToolResult","_temp","resumeToolCall","_temp2","respondToToolApproval","_temp3","TextMessagePartClient","TextMessagePartProvider","children","undefined","part","aui","t4","Error"],"sources":["../../../src/react/providers/TextMessagePartProvider.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, useMemo } from \"react\";\nimport { useAui, AuiProvider, type ClientOutput } from \"@assistant-ui/store\";\nimport type { PartState } from \"../../store/scopes/part\";\n\nimport { resource } from \"@assistant-ui/tap\";\n\nconst useTextMessagePartClient = ({\n text,\n isRunning,\n}: {\n text: string;\n isRunning: boolean;\n}): ClientOutput<\"part\"> => {\n const state = useMemo<PartState>(\n () => ({\n type: \"text\",\n text,\n status: isRunning ? { type: \"running\" } : { type: \"complete\" },\n }),\n [text, isRunning],\n );\n\n return {\n getState: () => state,\n addToolResult: () => {\n throw new Error(\"Not supported\");\n },\n resumeToolCall: () => {\n throw new Error(\"Not supported\");\n },\n respondToToolApproval: () => {\n throw new Error(\"Not supported\");\n },\n };\n};\n\nconst TextMessagePartClient = resource(useTextMessagePartClient);\n\nexport const TextMessagePartProvider: FC<\n PropsWithChildren<{\n text: string;\n isRunning?: boolean;\n }>\n> = ({ text, isRunning = false, children }) => {\n const aui = useAui({\n part: TextMessagePartClient({ text, isRunning }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;;AAMA,MAAMQ,4BAA2BC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,MAAAC,cAAAJ;CAMjC,IAAAK;CAAA,IAAAJ,EAAA,OAAAG,WAAA;EAKaC,KAAAD,YAAA,EAAAE,MAAoB,UAAiC,IAArD,EAAAA,MAA0C,WAAW;EAACL,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAI,MAAAJ,EAAA,OAAAE,MAAA;EAHzDI,KAAA;GAAAD,MACC;GAAMH;GAAAK,QAEJH;EACV;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAE;EAAAF,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CALH,MAAAQ,QACSF;CAMP,IAAAG;CAAA,IAAAT,EAAA,OAAAQ,OAAA;EAEKC,KAAA;GAAAC,gBACWF;GAAKG,eACNC;GAEdC,gBACeC;GAEfC,uBACsBC;EAGzB;EAAChB,EAAA,KAAAQ;EAAAR,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,OAXMS;AAWN;AAGH,MAAMQ,wBAAwBpB,SAASC,wBAAwB;AAE/D,MAAaoB,2BAKTnB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,MAAAC,WAAAC,IAAAe,aAAApB;CAAQ,MAAAI,YAAAC,OAAAgB,KAAAA,IAAA,QAAAhB;CAAiB,IAAAE;CAAA,IAAAN,EAAA,OAAAG,aAAAH,EAAA,OAAAE,MAAA;EAEpBI,KAAAW,sBAAsB;GAAAf;GAAAC;EAAkB,CAAC;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,OAAAM,IAAA;EAD/BG,KAAA,EAAAY,MACXf,GACR;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAFD,MAAAsB,MAAY7B,OAAOgB,EAElB;CAAE,IAAAc;CAAA,IAAAvB,EAAA,OAAAsB,OAAAtB,EAAA,OAAAmB,UAAA;EAEII,KAAA,oBAAC,aAAD;GAAoBD,OAAAA;GAAMH;EAAd,CAAA;EAAqCnB,EAAA,KAAAsB;EAAAtB,EAAA,KAAAmB;EAAAnB,EAAA,KAAAuB;CAAA,OAAAA,KAAAvB,EAAA;CAAA,OAAjDuB;AAAiD;AA1CzB,SAAAX,QAAA;CAmB3B,MAAM,IAAIY,MAAM,eAAe;AAAE;AAnBN,SAAAV,SAAA;CAsB3B,MAAM,IAAIU,MAAM,eAAe;AAAE;AAtBN,SAAAR,SAAA;CAyB3B,MAAM,IAAIQ,MAAM,eAAe;AAAE"}
1
+ {"version":3,"file":"TextMessagePartProvider.js","names":["FC","PropsWithChildren","useMemo","useAui","AuiProvider","ClientOutput","PartState","resource","useTextMessagePartClient","t0","$","_c","text","isRunning","t1","type","t2","status","state","t3","getState","addToolResult","_temp","resumeToolCall","_temp2","respondToToolApproval","_temp3","TextMessagePartClient","TextMessagePartProvider","children","undefined","part","aui","t4","Error"],"sources":["../../../src/react/providers/TextMessagePartProvider.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren, useMemo } from \"react\";\nimport { useAui, AuiProvider, type ClientOutput } from \"@assistant-ui/store\";\nimport type { PartState } from \"../../store/scopes/part\";\n\nimport { resource } from \"@assistant-ui/tap\";\n\nconst useTextMessagePartClient = ({\n text,\n isRunning,\n}: {\n text: string;\n isRunning: boolean;\n}): ClientOutput<\"part\"> => {\n const state = useMemo<PartState>(\n () => ({\n type: \"text\",\n text,\n status: isRunning ? { type: \"running\" } : { type: \"complete\" },\n }),\n [text, isRunning],\n );\n\n return {\n getState: () => state,\n addToolResult: () => {\n throw new Error(\"Not supported\");\n },\n resumeToolCall: () => {\n throw new Error(\"Not supported\");\n },\n respondToToolApproval: () => {\n throw new Error(\"Not supported\");\n },\n };\n};\n\nconst TextMessagePartClient = resource(useTextMessagePartClient);\n\nexport const TextMessagePartProvider: FC<\n PropsWithChildren<{\n text: string;\n isRunning?: boolean;\n }>\n> = ({ text, isRunning = false, children }) => {\n const aui = useAui({\n part: TextMessagePartClient({ text, isRunning }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;;;AAMA,MAAMQ,4BAA2BC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,MAAAC,cAAAJ;CAMjC,IAAAK;CAAA,IAAAJ,EAAA,OAAAG,WAAA;EAKaC,KAAAD,YAAA,EAAAE,MAAoB,UAAiC,IAArD,EAAAA,MAA0C,WAAW;EAACL,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAI,MAAAJ,EAAA,OAAAE,MAAA;EAHzDI,KAAA;GAAAD,MACC;GAAMH;GAAAK,QAEJH;EACV;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAE;EAAAF,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CALH,MAAAQ,QACSF;CAMP,IAAAG;CAAA,IAAAT,EAAA,OAAAQ,OAAA;EAEKC,KAAA;GAAAC,gBACWF;GAAKG,eACNC;GAEdC,gBACeC;GAEfC,uBACsBC;EAGzB;EAAChB,EAAA,KAAAQ;EAAAR,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,OAXMS;AAWN;AAGH,MAAMQ,wBAAwBpB,SAASC,wBAAwB;AAE/D,MAAaoB,2BAKTnB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAC,MAAAC,WAAAC,IAAAe,aAAApB;CAAQ,MAAAI,YAAAC,OAAAgB,KAAAA,IAAA,QAAAhB;CAAiB,IAAAE;CAAA,IAAAN,EAAA,OAAAG,aAAAH,EAAA,OAAAE,MAAA;EAEpBI,KAAAW,sBAAsB;GAAAf;GAAAC;EAAkB,CAAC;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,OAAAM,IAAA;EAD/BG,KAAA,EAAAY,MACXf,GACR;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAFD,MAAAsB,MAAY7B,OAAOgB,EAElB;CAAE,IAAAc;CAAA,IAAAvB,EAAA,OAAAsB,OAAAtB,EAAA,OAAAmB,UAAA;EAEII,KAAA,oBAAC,aAAD;GAAoBD,OAAAA;GAAMH;EAAd,CAAA;EAAqCnB,EAAA,KAAAsB;EAAAtB,EAAA,KAAAmB;EAAAnB,EAAA,KAAAuB;CAAA,OAAAA,KAAAvB,EAAA;CAAA,OAAjDuB;AAAiD;AA1CzB,SAAAX,QAAA;CAmB3B,MAAM,IAAIY,MAAM,eAAe;AAAE;AAnBN,SAAAV,SAAA;CAsB3B,MAAM,IAAIU,MAAM,eAAe;AAAE;AAtBN,SAAAR,SAAA;CAyB3B,MAAM,IAAIQ,MAAM,eAAe;AAAE"}
@@ -14,7 +14,7 @@ const ThreadListItemByIndexProvider = (t0) => {
14
14
  index,
15
15
  archived
16
16
  },
17
- get: (aui) => aui.threads().item({
17
+ get: (aui) => aui.threads.item({
18
18
  index,
19
19
  archived
20
20
  })