@assistant-ui/core 0.2.14 → 0.2.16

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 (323) hide show
  1. package/dist/adapters/attachment.js.map +1 -1
  2. package/dist/adapters/directive-formatter.js.map +1 -1
  3. package/dist/adapters/speech.js.map +1 -1
  4. package/dist/adapters/voice.js.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/internal/duplicate-detection.js.map +1 -1
  8. package/dist/internal.d.ts +2 -1
  9. package/dist/internal.js +2 -1
  10. package/dist/model-context/frame/host.js.map +1 -1
  11. package/dist/model-context/frame/provider.js.map +1 -1
  12. package/dist/model-context/frame/types.js.map +1 -1
  13. package/dist/model-context/registry.js.map +1 -1
  14. package/dist/model-context/tool.js.map +1 -1
  15. package/dist/model-context/types.d.ts +1 -0
  16. package/dist/model-context/types.d.ts.map +1 -1
  17. package/dist/model-context/types.js.map +1 -1
  18. package/dist/react/AssistantProvider.js +1 -0
  19. package/dist/react/AssistantProvider.js.map +1 -1
  20. package/dist/react/AssistantRuntimeProvider.js +18 -6
  21. package/dist/react/AssistantRuntimeProvider.js.map +1 -1
  22. package/dist/react/RuntimeAdapter.js +26 -7
  23. package/dist/react/RuntimeAdapter.js.map +1 -1
  24. package/dist/react/adapters/LocalStorageThreadListAdapter.js +29 -7
  25. package/dist/react/adapters/LocalStorageThreadListAdapter.js.map +1 -1
  26. package/dist/react/adapters/TitleGenerationAdapter.js.map +1 -1
  27. package/dist/react/client/DataRenderers.js +54 -35
  28. package/dist/react/client/DataRenderers.js.map +1 -1
  29. package/dist/react/client/Interactables.js +67 -67
  30. package/dist/react/client/Interactables.js.map +1 -1
  31. package/dist/react/client/Tools.d.ts.map +1 -1
  32. package/dist/react/client/Tools.js +118 -55
  33. package/dist/react/client/Tools.js.map +1 -1
  34. package/dist/react/client/interactable-model-context.js.map +1 -1
  35. package/dist/react/model-context/define-mcp-toolkit.js.map +1 -1
  36. package/dist/react/model-context/define-toolkit.js.map +1 -1
  37. package/dist/react/model-context/external-tool.js.map +1 -1
  38. package/dist/react/model-context/human-tool.js.map +1 -1
  39. package/dist/react/model-context/makeAssistantDataUI.js.map +1 -1
  40. package/dist/react/model-context/makeAssistantTool.js.map +1 -1
  41. package/dist/react/model-context/makeAssistantToolUI.js.map +1 -1
  42. package/dist/react/model-context/provider-tool.js.map +1 -1
  43. package/dist/react/model-context/stub-tool.js.map +1 -1
  44. package/dist/react/model-context/toolbox.d.ts +3 -3
  45. package/dist/react/model-context/toolbox.d.ts.map +1 -1
  46. package/dist/react/model-context/toolbox.js.map +1 -1
  47. package/dist/react/model-context/useAssistantContext.js.map +1 -1
  48. package/dist/react/model-context/useAssistantDataUI.js +27 -8
  49. package/dist/react/model-context/useAssistantDataUI.js.map +1 -1
  50. package/dist/react/model-context/useAssistantInstructions.js +33 -10
  51. package/dist/react/model-context/useAssistantInstructions.js.map +1 -1
  52. package/dist/react/model-context/useAssistantInteractable.js.map +1 -1
  53. package/dist/react/model-context/useAssistantTool.js +59 -17
  54. package/dist/react/model-context/useAssistantTool.js.map +1 -1
  55. package/dist/react/model-context/useAssistantToolUI.js +30 -9
  56. package/dist/react/model-context/useAssistantToolUI.js.map +1 -1
  57. package/dist/react/model-context/useAuiToolOverrides.js.map +1 -1
  58. package/dist/react/model-context/useInlineRender.js +35 -8
  59. package/dist/react/model-context/useInlineRender.js.map +1 -1
  60. package/dist/react/model-context/useInteractableState.js +65 -19
  61. package/dist/react/model-context/useInteractableState.js.map +1 -1
  62. package/dist/react/model-context/useToolArgsStatus.js +42 -14
  63. package/dist/react/model-context/useToolArgsStatus.js.map +1 -1
  64. package/dist/react/primitive-hooks/useActionBarCopy.js +59 -22
  65. package/dist/react/primitive-hooks/useActionBarCopy.js.map +1 -1
  66. package/dist/react/primitive-hooks/useActionBarEdit.js +25 -7
  67. package/dist/react/primitive-hooks/useActionBarEdit.js.map +1 -1
  68. package/dist/react/primitive-hooks/useActionBarFeedback.js +49 -13
  69. package/dist/react/primitive-hooks/useActionBarFeedback.js.map +1 -1
  70. package/dist/react/primitive-hooks/useActionBarReload.js +25 -7
  71. package/dist/react/primitive-hooks/useActionBarReload.js.map +1 -1
  72. package/dist/react/primitive-hooks/useActionBarSpeak.js +28 -9
  73. package/dist/react/primitive-hooks/useActionBarSpeak.js.map +1 -1
  74. package/dist/react/primitive-hooks/useActionBarStopSpeaking.js +25 -7
  75. package/dist/react/primitive-hooks/useActionBarStopSpeaking.js.map +1 -1
  76. package/dist/react/primitive-hooks/useBranchPickerNext.js +27 -11
  77. package/dist/react/primitive-hooks/useBranchPickerNext.js.map +1 -1
  78. package/dist/react/primitive-hooks/useBranchPickerPrevious.js +27 -11
  79. package/dist/react/primitive-hooks/useBranchPickerPrevious.js.map +1 -1
  80. package/dist/react/primitive-hooks/useComposerAddAttachment.js +24 -8
  81. package/dist/react/primitive-hooks/useComposerAddAttachment.js.map +1 -1
  82. package/dist/react/primitive-hooks/useComposerCancel.js +25 -7
  83. package/dist/react/primitive-hooks/useComposerCancel.js.map +1 -1
  84. package/dist/react/primitive-hooks/useComposerDictate.js +25 -7
  85. package/dist/react/primitive-hooks/useComposerDictate.js.map +1 -1
  86. package/dist/react/primitive-hooks/useComposerSend.js +25 -7
  87. package/dist/react/primitive-hooks/useComposerSend.js.map +1 -1
  88. package/dist/react/primitive-hooks/useEditComposerCancel.js +18 -4
  89. package/dist/react/primitive-hooks/useEditComposerCancel.js.map +1 -1
  90. package/dist/react/primitive-hooks/useEditComposerSend.js +25 -7
  91. package/dist/react/primitive-hooks/useEditComposerSend.js.map +1 -1
  92. package/dist/react/primitive-hooks/useMessageBranching.js +41 -9
  93. package/dist/react/primitive-hooks/useMessageBranching.js.map +1 -1
  94. package/dist/react/primitive-hooks/useMessageError.js +4 -1
  95. package/dist/react/primitive-hooks/useMessageError.js.map +1 -1
  96. package/dist/react/primitive-hooks/useMessageReload.js +25 -7
  97. package/dist/react/primitive-hooks/useMessageReload.js.map +1 -1
  98. package/dist/react/primitive-hooks/useSuggestionTrigger.js +31 -13
  99. package/dist/react/primitive-hooks/useSuggestionTrigger.js.map +1 -1
  100. package/dist/react/primitive-hooks/useThreadIsEmpty.js +4 -1
  101. package/dist/react/primitive-hooks/useThreadIsEmpty.js.map +1 -1
  102. package/dist/react/primitive-hooks/useThreadIsRunning.js +4 -1
  103. package/dist/react/primitive-hooks/useThreadIsRunning.js.map +1 -1
  104. package/dist/react/primitive-hooks/useThreadListItemArchive.js +18 -4
  105. package/dist/react/primitive-hooks/useThreadListItemArchive.js.map +1 -1
  106. package/dist/react/primitive-hooks/useThreadListItemDelete.js +18 -4
  107. package/dist/react/primitive-hooks/useThreadListItemDelete.js.map +1 -1
  108. package/dist/react/primitive-hooks/useThreadListItemTrigger.js +18 -4
  109. package/dist/react/primitive-hooks/useThreadListItemTrigger.js.map +1 -1
  110. package/dist/react/primitive-hooks/useThreadListItemUnarchive.js +18 -4
  111. package/dist/react/primitive-hooks/useThreadListItemUnarchive.js.map +1 -1
  112. package/dist/react/primitive-hooks/useThreadListLoadMore.js +25 -7
  113. package/dist/react/primitive-hooks/useThreadListLoadMore.js.map +1 -1
  114. package/dist/react/primitive-hooks/useThreadListNew.js +18 -4
  115. package/dist/react/primitive-hooks/useThreadListNew.js.map +1 -1
  116. package/dist/react/primitive-hooks/useThreadMessages.js +4 -1
  117. package/dist/react/primitive-hooks/useThreadMessages.js.map +1 -1
  118. package/dist/react/primitive-hooks/useVoice.js +63 -13
  119. package/dist/react/primitive-hooks/useVoice.js.map +1 -1
  120. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js +42 -7
  121. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js.map +1 -1
  122. package/dist/react/primitives/composer/ComposerAttachments.js +67 -16
  123. package/dist/react/primitives/composer/ComposerAttachments.js.map +1 -1
  124. package/dist/react/primitives/composer/ComposerIf.js +30 -9
  125. package/dist/react/primitives/composer/ComposerIf.js.map +1 -1
  126. package/dist/react/primitives/composer/ComposerQueue.js.map +1 -1
  127. package/dist/react/primitives/generativeUI/GenerativeUI.js +55 -13
  128. package/dist/react/primitives/generativeUI/GenerativeUI.js.map +1 -1
  129. package/dist/react/primitives/message/MessageAttachments.js +68 -16
  130. package/dist/react/primitives/message/MessageAttachments.js.map +1 -1
  131. package/dist/react/primitives/message/MessageGroupedParts.js +3 -3
  132. package/dist/react/primitives/message/MessageGroupedParts.js.map +1 -1
  133. package/dist/react/primitives/message/MessageParts.js +649 -181
  134. package/dist/react/primitives/message/MessageParts.js.map +1 -1
  135. package/dist/react/primitives/message/MessageQuote.js +18 -2
  136. package/dist/react/primitives/message/MessageQuote.js.map +1 -1
  137. package/dist/react/primitives/messagePart/MessagePartInProgress.js +6 -2
  138. package/dist/react/primitives/messagePart/MessagePartInProgress.js.map +1 -1
  139. package/dist/react/primitives/part/PartMessages.js +46 -14
  140. package/dist/react/primitives/part/PartMessages.js.map +1 -1
  141. package/dist/react/primitives/thread/ThreadMessages.js +67 -10
  142. package/dist/react/primitives/thread/ThreadMessages.js.map +1 -1
  143. package/dist/react/primitives/thread/ThreadSuggestions.js +50 -10
  144. package/dist/react/primitives/thread/ThreadSuggestions.js.map +1 -1
  145. package/dist/react/primitives/threadList/ThreadListItems.js +55 -14
  146. package/dist/react/primitives/threadList/ThreadListItems.js.map +1 -1
  147. package/dist/react/primitives/threadListItem/ThreadListItemTitle.js +15 -2
  148. package/dist/react/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
  149. package/dist/react/providers/AttachmentByIndexProvider.js +57 -12
  150. package/dist/react/providers/AttachmentByIndexProvider.js.map +1 -1
  151. package/dist/react/providers/ChainOfThoughtByIndicesProvider.js +33 -11
  152. package/dist/react/providers/ChainOfThoughtByIndicesProvider.js.map +1 -1
  153. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js +29 -6
  154. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js.map +1 -1
  155. package/dist/react/providers/MessageByIndexProvider.js +49 -19
  156. package/dist/react/providers/MessageByIndexProvider.js.map +1 -1
  157. package/dist/react/providers/PartByIndexProvider.js +29 -6
  158. package/dist/react/providers/PartByIndexProvider.js.map +1 -1
  159. package/dist/react/providers/QueueItemByIndexProvider.js +29 -6
  160. package/dist/react/providers/QueueItemByIndexProvider.js.map +1 -1
  161. package/dist/react/providers/ReadonlyThreadProvider.js +83 -28
  162. package/dist/react/providers/ReadonlyThreadProvider.js.map +1 -1
  163. package/dist/react/providers/SuggestionByIndexProvider.js +29 -6
  164. package/dist/react/providers/SuggestionByIndexProvider.js.map +1 -1
  165. package/dist/react/providers/TextMessagePartProvider.js +73 -25
  166. package/dist/react/providers/TextMessagePartProvider.js.map +1 -1
  167. package/dist/react/providers/ThreadListItemByIndexProvider.js +30 -6
  168. package/dist/react/providers/ThreadListItemByIndexProvider.js.map +1 -1
  169. package/dist/react/providers/ThreadListItemRuntimeProvider.js +28 -5
  170. package/dist/react/providers/ThreadListItemRuntimeProvider.js.map +1 -1
  171. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js +19 -4
  172. package/dist/react/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
  173. package/dist/react/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  174. package/dist/react/runtimes/RuntimeAdapterProvider.js +27 -10
  175. package/dist/react/runtimes/RuntimeAdapterProvider.js.map +1 -1
  176. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js +10 -1
  177. package/dist/react/runtimes/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  178. package/dist/react/runtimes/cloud/CloudFileAttachmentAdapter.js.map +1 -1
  179. package/dist/react/runtimes/cloud/auiV0.js.map +1 -1
  180. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js +17 -17
  181. package/dist/react/runtimes/cloud/useCloudThreadListAdapter.js.map +1 -1
  182. package/dist/react/runtimes/createMessageConverter.js.map +1 -1
  183. package/dist/react/runtimes/external-message-converter.d.ts.map +1 -1
  184. package/dist/react/runtimes/external-message-converter.js +67 -30
  185. package/dist/react/runtimes/external-message-converter.js.map +1 -1
  186. package/dist/react/runtimes/useExternalStoreRuntime.js +44 -10
  187. package/dist/react/runtimes/useExternalStoreRuntime.js.map +1 -1
  188. package/dist/react/runtimes/useExternalStoreSharedOptions.js +17 -12
  189. package/dist/react/runtimes/useExternalStoreSharedOptions.js.map +1 -1
  190. package/dist/react/runtimes/useLocalRuntime.js.map +1 -1
  191. package/dist/react/runtimes/useRemoteThreadListRuntime.js +34 -6
  192. package/dist/react/runtimes/useRemoteThreadListRuntime.js.map +1 -1
  193. package/dist/react/types/MessagePartComponentTypes.d.ts +5 -6
  194. package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -1
  195. package/dist/react/utils/getMessageQuote.js.map +1 -1
  196. package/dist/react/utils/groupParts.js.map +1 -1
  197. package/dist/runtime/api/assistant-runtime.js.map +1 -1
  198. package/dist/runtime/api/attachment-runtime.js.map +1 -1
  199. package/dist/runtime/api/composer-runtime.js.map +1 -1
  200. package/dist/runtime/api/message-part-runtime.d.ts +3 -9
  201. package/dist/runtime/api/message-part-runtime.d.ts.map +1 -1
  202. package/dist/runtime/api/message-part-runtime.js +3 -6
  203. package/dist/runtime/api/message-part-runtime.js.map +1 -1
  204. package/dist/runtime/api/message-runtime.js.map +1 -1
  205. package/dist/runtime/api/thread-list-item-runtime.js.map +1 -1
  206. package/dist/runtime/api/thread-list-runtime.js.map +1 -1
  207. package/dist/runtime/api/thread-runtime.js.map +1 -1
  208. package/dist/runtime/base/base-assistant-runtime-core.js.map +1 -1
  209. package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
  210. package/dist/runtime/base/base-thread-runtime-core.js.map +1 -1
  211. package/dist/runtime/base/default-edit-composer-runtime-core.js.map +1 -1
  212. package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
  213. package/dist/runtime/interfaces/thread-runtime-core.d.ts +2 -1
  214. package/dist/runtime/interfaces/thread-runtime-core.d.ts.map +1 -1
  215. package/dist/runtime/queue/message-queue.js.map +1 -1
  216. package/dist/runtime/utils/auto-status.js.map +1 -1
  217. package/dist/runtime/utils/external-store-message.js.map +1 -1
  218. package/dist/runtime/utils/message-repository.js.map +1 -1
  219. package/dist/runtime/utils/resolveToolApprovalResponse.d.ts +15 -0
  220. package/dist/runtime/utils/resolveToolApprovalResponse.d.ts.map +1 -0
  221. package/dist/runtime/utils/resolveToolApprovalResponse.js +35 -0
  222. package/dist/runtime/utils/resolveToolApprovalResponse.js.map +1 -0
  223. package/dist/runtime/utils/thread-message-like.d.ts +5 -1
  224. package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
  225. package/dist/runtime/utils/thread-message-like.js.map +1 -1
  226. package/dist/runtimes/assistant-transport/utils.js.map +1 -1
  227. package/dist/runtimes/external-store/external-store-runtime-core.js.map +1 -1
  228. package/dist/runtimes/external-store/external-store-shared-options.js.map +1 -1
  229. package/dist/runtimes/external-store/external-store-thread-list-runtime-core.js.map +1 -1
  230. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  231. package/dist/runtimes/external-store/thread-message-converter.js.map +1 -1
  232. package/dist/runtimes/local/local-runtime-core.js.map +1 -1
  233. package/dist/runtimes/local/local-thread-list-runtime-core.js.map +1 -1
  234. package/dist/runtimes/local/local-thread-runtime-core.d.ts +1 -0
  235. package/dist/runtimes/local/local-thread-runtime-core.d.ts.map +1 -1
  236. package/dist/runtimes/local/local-thread-runtime-core.js +9 -7
  237. package/dist/runtimes/local/local-thread-runtime-core.js.map +1 -1
  238. package/dist/runtimes/local/should-continue.js +1 -1
  239. package/dist/runtimes/local/should-continue.js.map +1 -1
  240. package/dist/runtimes/readonly/ReadonlyThreadRuntimeCore.js.map +1 -1
  241. package/dist/runtimes/remote-thread-list/adapter/in-memory.js.map +1 -1
  242. package/dist/runtimes/remote-thread-list/empty-thread-core.js.map +1 -1
  243. package/dist/runtimes/remote-thread-list/optimistic-state.js.map +1 -1
  244. package/dist/runtimes/remote-thread-list/remote-thread-state.js.map +1 -1
  245. package/dist/runtimes/tool-invocations/ToolInvocationTracker.js.map +1 -1
  246. package/dist/store/clients/chain-of-thought-client.js +37 -19
  247. package/dist/store/clients/chain-of-thought-client.js.map +1 -1
  248. package/dist/store/clients/model-context-client.js +64 -14
  249. package/dist/store/clients/model-context-client.js.map +1 -1
  250. package/dist/store/clients/no-op-composer-client.js +94 -53
  251. package/dist/store/clients/no-op-composer-client.js.map +1 -1
  252. package/dist/store/clients/runtime-adapter.js.map +1 -1
  253. package/dist/store/clients/suggestions.d.ts.map +1 -1
  254. package/dist/store/clients/suggestions.js +59 -21
  255. package/dist/store/clients/suggestions.js.map +1 -1
  256. package/dist/store/clients/thread-message-client.d.ts.map +1 -1
  257. package/dist/store/clients/thread-message-client.js +176 -69
  258. package/dist/store/clients/thread-message-client.js.map +1 -1
  259. package/dist/store/runtime-clients/attachment-runtime-client.js +29 -6
  260. package/dist/store/runtime-clients/attachment-runtime-client.js.map +1 -1
  261. package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
  262. package/dist/store/runtime-clients/composer-runtime-client.js +188 -68
  263. package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
  264. package/dist/store/runtime-clients/liveRef.d.ts +7 -0
  265. package/dist/store/runtime-clients/liveRef.d.ts.map +1 -0
  266. package/dist/store/runtime-clients/liveRef.js +8 -0
  267. package/dist/store/runtime-clients/liveRef.js.map +1 -0
  268. package/dist/store/runtime-clients/message-part-runtime-client.js +47 -8
  269. package/dist/store/runtime-clients/message-part-runtime-client.js.map +1 -1
  270. package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
  271. package/dist/store/runtime-clients/message-runtime-client.js +214 -52
  272. package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
  273. package/dist/store/runtime-clients/thread-list-item-runtime-client.js +69 -25
  274. package/dist/store/runtime-clients/thread-list-item-runtime-client.js.map +1 -1
  275. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
  276. package/dist/store/runtime-clients/thread-list-runtime-client.js +137 -34
  277. package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
  278. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  279. package/dist/store/runtime-clients/thread-runtime-client.js +192 -71
  280. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  281. package/dist/store/runtime-clients/useSubscribable.js +2 -9
  282. package/dist/store/runtime-clients/useSubscribable.js.map +1 -1
  283. package/dist/store/scopes/part.d.ts +5 -6
  284. package/dist/store/scopes/part.d.ts.map +1 -1
  285. package/dist/store/scopes/queue-item.js.map +1 -1
  286. package/dist/subscribable/subscribable.js.map +1 -1
  287. package/dist/tests/remote-thread-list-test-helpers.js.map +1 -1
  288. package/dist/types/message.d.ts +38 -5
  289. package/dist/types/message.d.ts.map +1 -1
  290. package/dist/types/message.js.map +1 -1
  291. package/dist/utils/composite-context-provider.js.map +1 -1
  292. package/dist/utils/id.js.map +1 -1
  293. package/dist/utils/json/is-json-equal.js.map +1 -1
  294. package/dist/utils/json/is-json.js.map +1 -1
  295. package/dist/utils/text.js.map +1 -1
  296. package/package.json +8 -8
  297. package/src/index.ts +4 -0
  298. package/src/internal.ts +1 -0
  299. package/src/model-context/types.ts +1 -0
  300. package/src/react/AssistantProvider.tsx +7 -0
  301. package/src/react/client/Tools.ts +3 -5
  302. package/src/react/model-context/toolbox.test.ts +2 -1
  303. package/src/react/model-context/toolbox.ts +2 -6
  304. package/src/react/runtimes/external-message-converter.ts +3 -1
  305. package/src/react/types/MessagePartComponentTypes.ts +5 -5
  306. package/src/runtime/api/message-part-runtime.ts +14 -11
  307. package/src/runtime/interfaces/thread-runtime-core.ts +2 -0
  308. package/src/runtime/utils/resolveToolApprovalResponse.test.ts +91 -0
  309. package/src/runtime/utils/resolveToolApprovalResponse.ts +55 -0
  310. package/src/runtime/utils/thread-message-like.ts +10 -1
  311. package/src/runtimes/local/local-thread-runtime-core.test.ts +61 -2
  312. package/src/runtimes/local/local-thread-runtime-core.ts +17 -8
  313. package/src/runtimes/local/should-continue.ts +2 -1
  314. package/src/store/clients/suggestions.ts +3 -5
  315. package/src/store/clients/thread-message-client.ts +13 -14
  316. package/src/store/runtime-clients/composer-runtime-client.ts +18 -21
  317. package/src/store/runtime-clients/liveRef.ts +5 -0
  318. package/src/store/runtime-clients/message-runtime-client.ts +16 -21
  319. package/src/store/runtime-clients/thread-list-runtime-client.ts +3 -5
  320. package/src/store/runtime-clients/thread-runtime-client.ts +9 -10
  321. package/src/store/runtime-clients/useSubscribable.ts +2 -10
  322. package/src/store/scopes/part.ts +5 -2
  323. package/src/types/message.ts +45 -3
@@ -1,20 +1,44 @@
1
1
  import { SuggestionByIndexProvider } from "../../providers/SuggestionByIndexProvider.js";
2
2
  import { memo, useMemo } from "@assistant-ui/tap/react-shim";
3
3
  import { RenderChildrenWithAccessor, useAuiState } from "@assistant-ui/store";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
  //#region src/react/primitives/thread/ThreadSuggestions.tsx
6
- const SuggestionComponent = ({ components }) => {
7
+ const SuggestionComponent = (t0) => {
8
+ const $ = c(2);
9
+ const { components } = t0;
7
10
  const Component = components.Suggestion;
8
- return /* @__PURE__ */ jsx(Component, {});
11
+ let t1;
12
+ if ($[0] !== Component) {
13
+ t1 = /* @__PURE__ */ jsx(Component, {});
14
+ $[0] = Component;
15
+ $[1] = t1;
16
+ } else t1 = $[1];
17
+ return t1;
9
18
  };
10
19
  /**
11
20
  * Renders a single suggestion at the specified index.
12
21
  */
13
- const ThreadPrimitiveSuggestionByIndex = memo(({ index, components }) => {
14
- return /* @__PURE__ */ jsx(SuggestionByIndexProvider, {
15
- index,
16
- children: /* @__PURE__ */ jsx(SuggestionComponent, { components })
17
- });
22
+ const ThreadPrimitiveSuggestionByIndex = memo((t0) => {
23
+ const $ = c(5);
24
+ const { index, components } = t0;
25
+ let t1;
26
+ if ($[0] !== components) {
27
+ t1 = /* @__PURE__ */ jsx(SuggestionComponent, { components });
28
+ $[0] = components;
29
+ $[1] = t1;
30
+ } else t1 = $[1];
31
+ let t2;
32
+ if ($[2] !== index || $[3] !== t1) {
33
+ t2 = /* @__PURE__ */ jsx(SuggestionByIndexProvider, {
34
+ index,
35
+ children: t1
36
+ });
37
+ $[2] = index;
38
+ $[3] = t1;
39
+ $[4] = t2;
40
+ } else t2 = $[4];
41
+ return t2;
18
42
  }, (prev, next) => prev.index === next.index && prev.components.Suggestion === next.components.Suggestion);
19
43
  ThreadPrimitiveSuggestionByIndex.displayName = "ThreadPrimitive.SuggestionByIndex";
20
44
  const ThreadPrimitiveSuggestionsInner = ({ children }) => {
@@ -35,9 +59,25 @@ const ThreadPrimitiveSuggestionsInner = ({ children }) => {
35
59
  /**
36
60
  * Renders all suggestions.
37
61
  */
38
- const ThreadPrimitiveSuggestionsImpl = ({ components, children }) => {
39
- if (components) return /* @__PURE__ */ jsx(ThreadPrimitiveSuggestionsInner, { children: () => /* @__PURE__ */ jsx(SuggestionComponent, { components }) });
40
- return /* @__PURE__ */ jsx(ThreadPrimitiveSuggestionsInner, { children });
62
+ const ThreadPrimitiveSuggestionsImpl = (t0) => {
63
+ const $ = c(4);
64
+ const { components, children } = t0;
65
+ if (components) {
66
+ let t1;
67
+ if ($[0] !== components) {
68
+ t1 = /* @__PURE__ */ jsx(ThreadPrimitiveSuggestionsInner, { children: () => /* @__PURE__ */ jsx(SuggestionComponent, { components }) });
69
+ $[0] = components;
70
+ $[1] = t1;
71
+ } else t1 = $[1];
72
+ return t1;
73
+ }
74
+ let t1;
75
+ if ($[2] !== children) {
76
+ t1 = /* @__PURE__ */ jsx(ThreadPrimitiveSuggestionsInner, { children });
77
+ $[2] = children;
78
+ $[3] = t1;
79
+ } else t1 = $[3];
80
+ return t1;
41
81
  };
42
82
  ThreadPrimitiveSuggestionsImpl.displayName = "ThreadPrimitive.Suggestions";
43
83
  const ThreadPrimitiveSuggestions = memo(ThreadPrimitiveSuggestionsImpl, (prev, next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadSuggestions.js","names":[],"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,MAAM,uBAAqD,EAAE,iBAAiB;CAC5E,MAAM,YAAY,WAAW;CAC7B,OAAO,oBAAC,WAAD,CAAY,CAAA;AACrB;;;;AAYA,MAAa,mCACX,MACG,EAAE,OAAO,iBAAiB;CACzB,OACE,oBAAC,2BAAD;EAAkC;YAChC,oBAAC,qBAAD,EAAiC,WAAa,CAAA;CACrB,CAAA;AAE/B,IACC,MAAM,SACL,KAAK,UAAU,KAAK,SACpB,KAAK,WAAW,eAAe,KAAK,WAAW,UACnD;AAEF,iCAAiC,cAC/B;AAEF,MAAM,mCAEA,EAAE,eAAe;CACrB,MAAM,oBAAoB,aACvB,MAAM,EAAE,YAAY,YAAY,MACnC;CAEA,OAAO,cAAc;EACnB,IAAI,sBAAsB,GAAG,OAAO;EACpC,OAAO,MAAM,KAAK,EAAE,QAAQ,kBAAkB,IAAI,GAAG,UACnD,oBAAC,2BAAD;GAA8C;aAC5C,oBAAC,4BAAD;IACE,eAAe,QACb,IAAI,YAAY,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS;eAGjD,YACA,SAAS,EACP,IAAI,aAAa;KACf,OAAO,QAAQ;IACjB,EACF,CAAC;GAEuB,CAAA;EACH,GAdK,KAcL,CAC5B;CACH,GAAG,CAAC,mBAAmB,QAAQ,CAAC;AAClC;;;;AAKA,MAAa,kCAER,EAAE,YAAY,eAAe;CAChC,IAAI,YACF,OACE,oBAAC,iCAAD,EAAA,gBACS,oBAAC,qBAAD,EAAiC,WAAa,CAAA,EACtB,CAAA;CAGrC,OACE,oBAAC,iCAAD,EACG,SAC8B,CAAA;AAErC;AAEA,+BAA+B,cAAc;AAE7C,MAAa,6BAA6B,KACxC,iCACC,MAAM,SAAS;CACd,IAAI,KAAK,YAAY,KAAK,UACxB,OAAO,KAAK,aAAa,KAAK;CAEhC,OAAO,KAAK,WAAY,eAAe,KAAK,WAAY;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;aAChCF;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;aAC5C,oBAAC,4BAAD;IACE,eAAea,QACbA,IAAIL,YAAY,CAAC,CAACjB,WAAW,EAAES,MAAM,CAAC,CAAC,CAACc,SAAS;eAGjDC,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,18 +1,36 @@
1
1
  import { ThreadListItemByIndexProvider } from "../../providers/ThreadListItemByIndexProvider.js";
2
2
  import { memo, useMemo } from "@assistant-ui/tap/react-shim";
3
3
  import { RenderChildrenWithAccessor, useAuiState } from "@assistant-ui/store";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
  //#region src/react/primitives/threadList/ThreadListItems.tsx
6
7
  /**
7
8
  * Renders a single thread list item at the specified index.
8
9
  */
9
- const ThreadListPrimitiveItemByIndex = memo(({ index, archived = false, components }) => {
10
+ const ThreadListPrimitiveItemByIndex = memo((t0) => {
11
+ const $ = c(6);
12
+ const { index, archived: t1, components } = t0;
13
+ const archived = t1 === void 0 ? false : t1;
10
14
  const ThreadListItemComponent = components.ThreadListItem;
11
- return /* @__PURE__ */ jsx(ThreadListItemByIndexProvider, {
12
- index,
13
- archived,
14
- children: /* @__PURE__ */ jsx(ThreadListItemComponent, {})
15
- });
15
+ let t2;
16
+ if ($[0] !== ThreadListItemComponent) {
17
+ t2 = /* @__PURE__ */ jsx(ThreadListItemComponent, {});
18
+ $[0] = ThreadListItemComponent;
19
+ $[1] = t2;
20
+ } else t2 = $[1];
21
+ let t3;
22
+ if ($[2] !== archived || $[3] !== index || $[4] !== t2) {
23
+ t3 = /* @__PURE__ */ jsx(ThreadListItemByIndexProvider, {
24
+ index,
25
+ archived,
26
+ children: t2
27
+ });
28
+ $[2] = archived;
29
+ $[3] = index;
30
+ $[4] = t2;
31
+ $[5] = t3;
32
+ } else t3 = $[5];
33
+ return t3;
16
34
  }, (prev, next) => prev.index === next.index && prev.archived === next.archived && prev.components.ThreadListItem === next.components.ThreadListItem);
17
35
  ThreadListPrimitiveItemByIndex.displayName = "ThreadListPrimitive.ItemByIndex";
18
36
  const ThreadListPrimitiveItemsInner = ({ archived, children }) => {
@@ -35,18 +53,41 @@ const ThreadListPrimitiveItemsInner = ({ archived, children }) => {
35
53
  children
36
54
  ]);
37
55
  };
38
- const ThreadListPrimitiveItems = ({ archived = false, components, children }) => {
56
+ const ThreadListPrimitiveItems = (t0) => {
57
+ const $ = c(8);
58
+ const { archived: t1, components, children } = t0;
59
+ const archived = t1 === void 0 ? false : t1;
39
60
  if (components) {
40
61
  const ThreadListItemComponent = components.ThreadListItem;
41
- return /* @__PURE__ */ jsx(ThreadListPrimitiveItemsInner, {
62
+ let t2;
63
+ if ($[0] !== ThreadListItemComponent) {
64
+ t2 = () => /* @__PURE__ */ jsx(ThreadListItemComponent, {});
65
+ $[0] = ThreadListItemComponent;
66
+ $[1] = t2;
67
+ } else t2 = $[1];
68
+ let t3;
69
+ if ($[2] !== archived || $[3] !== t2) {
70
+ t3 = /* @__PURE__ */ jsx(ThreadListPrimitiveItemsInner, {
71
+ archived,
72
+ children: t2
73
+ });
74
+ $[2] = archived;
75
+ $[3] = t2;
76
+ $[4] = t3;
77
+ } else t3 = $[4];
78
+ return t3;
79
+ }
80
+ let t2;
81
+ if ($[5] !== archived || $[6] !== children) {
82
+ t2 = /* @__PURE__ */ jsx(ThreadListPrimitiveItemsInner, {
42
83
  archived,
43
- children: () => /* @__PURE__ */ jsx(ThreadListItemComponent, {})
84
+ children
44
85
  });
45
- }
46
- return /* @__PURE__ */ jsx(ThreadListPrimitiveItemsInner, {
47
- archived,
48
- children
49
- });
86
+ $[5] = archived;
87
+ $[6] = children;
88
+ $[7] = t2;
89
+ } else t2 = $[7];
90
+ return t2;
50
91
  };
51
92
  ThreadListPrimitiveItems.displayName = "ThreadListPrimitive.Items";
52
93
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItems.js","names":[],"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,MAAa,iCACX,MACG,EAAE,OAAO,WAAW,OAAO,iBAAiB;CAC3C,MAAM,0BAA0B,WAAW;CAE3C,OACE,oBAAC,+BAAD;EAAsC;EAAiB;YACrD,oBAAC,yBAAD,CAA0B,CAAA;CACG,CAAA;AAEnC,IACC,MAAM,SACL,KAAK,UAAU,KAAK,SACpB,KAAK,aAAa,KAAK,YACvB,KAAK,WAAW,mBAAmB,KAAK,WAAW,cACvD;AAEF,+BAA+B,cAAc;AAE7C,MAAM,iCAGA,EAAE,UAAU,eAAe;CAC/B,MAAM,gBAAgB,aAAa,MACjC,WAAW,EAAE,QAAQ,kBAAkB,SAAS,EAAE,QAAQ,UAAU,MACtE;CAEA,OAAO,cAEH,MAAM,KAAK,EAAE,QAAQ,cAAc,IAAI,GAAG,UACxC,oBAAC,+BAAD;EAES;EACG;YAEV,oBAAC,4BAAD;GACE,eAAe,QACb,IAAI,QAAQ,CAAC,CAAC,KAAK;IAAE;IAAO;GAAS,CAAC,CAAC,CAAC,SAAS;cAGjD,YACA,SAAS,EACP,IAAI,iBAAiB;IACnB,OAAO,QAAQ;GACjB,EACF,CAAC;EAEuB,CAAA;CACC,GAjBxB,KAiBwB,CAChC,GACH;EAAC;EAAe;EAAU;CAAQ,CACpC;AACF;AAEA,MAAa,4BAAgE,EAC3E,WAAW,OACX,YACA,eACI;CACJ,IAAI,YAAY;EACd,MAAM,0BAA0B,WAAW;EAC3C,OACE,oBAAC,+BAAD;GAAyC;mBAChC,oBAAC,yBAAD,CAA0B,CAAA;EACJ,CAAA;CAEnC;CACA,OACE,oBAAC,+BAAD;EAAyC;EACtC;CAC4B,CAAA;AAEnC;AAEA,yBAAyB,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;aACrDa;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;YAEV,oBAAC,4BAAD;GACE,eAAe4B,QACbA,IAAIP,QAAQ,CAAC,CAACQ,KAAK;IAAEvB;IAAON;GAAS,CAAC,CAAC,CAAC8B,SAAS;cAGjDC,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;cACtCa;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,10 +1,23 @@
1
1
  import { useAuiState } from "@assistant-ui/store";
2
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
2
3
  import { Fragment, jsx } from "react/jsx-runtime";
3
4
  //#region src/react/primitives/threadListItem/ThreadListItemTitle.tsx
4
- const ThreadListItemPrimitiveTitle = ({ fallback }) => {
5
- return /* @__PURE__ */ jsx(Fragment, { children: useAuiState((s) => s.threadListItem.title) || fallback });
5
+ const ThreadListItemPrimitiveTitle = (t0) => {
6
+ const $ = c(2);
7
+ const { fallback } = t0;
8
+ const t1 = useAuiState(_temp) || fallback;
9
+ let t2;
10
+ if ($[0] !== t1) {
11
+ t2 = /* @__PURE__ */ jsx(Fragment, { children: t1 });
12
+ $[0] = t1;
13
+ $[1] = t2;
14
+ } else t2 = $[1];
15
+ return t2;
6
16
  };
7
17
  ThreadListItemPrimitiveTitle.displayName = "ThreadListItemPrimitive.Title";
18
+ function _temp(s) {
19
+ return s.threadListItem.title;
20
+ }
8
21
  //#endregion
9
22
  export { ThreadListItemPrimitiveTitle };
10
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItemTitle.js","names":[],"sources":["../../../../src/react/primitives/threadListItem/ThreadListItemTitle.tsx"],"sourcesContent":["import type { FC, ReactNode } from \"react\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace ThreadListItemPrimitiveTitle {\n export type Props = {\n fallback?: ReactNode;\n };\n}\n\nexport const ThreadListItemPrimitiveTitle: FC<\n ThreadListItemPrimitiveTitle.Props\n> = ({ fallback }) => {\n const title = useAuiState((s) => s.threadListItem.title);\n return <>{title || fallback}</>;\n};\n\nThreadListItemPrimitiveTitle.displayName = \"ThreadListItemPrimitive.Title\";\n"],"mappings":";;;AASA,MAAa,gCAER,EAAE,eAAe;CAEpB,OAAO,oBAAA,UAAA,EAAA,UADO,aAAa,MAAM,EAAE,eAAe,KACpC,KAAK,SAAW,CAAA;AAChC;AAEA,6BAA6B,cAAc"}
1
+ {"version":3,"file":"ThreadListItemTitle.js","names":["FC","ReactNode","useAuiState","ThreadListItemPrimitiveTitle","Props","fallback","t0","$","_c","title","_temp","t1","t2","displayName","s","threadListItem"],"sources":["../../../../src/react/primitives/threadListItem/ThreadListItemTitle.tsx"],"sourcesContent":["import type { FC, ReactNode } from \"react\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace ThreadListItemPrimitiveTitle {\n export type Props = {\n fallback?: ReactNode;\n };\n}\n\nexport const ThreadListItemPrimitiveTitle: FC<\n ThreadListItemPrimitiveTitle.Props\n> = ({ fallback }) => {\n const title = useAuiState((s) => s.threadListItem.title);\n return <>{title || fallback}</>;\n};\n\nThreadListItemPrimitiveTitle.displayName = \"ThreadListItemPrimitive.Title\";\n"],"mappings":";;;;AASA,MAAaG,gCAETG,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,aAAAC;CAEO,MAAAK,KADIT,YAAYQ,KAChBD,KAAAJ;CAAiB,IAAAO;CAAA,IAAAL,EAAA,OAAAI,IAAA;EAApBC,KAAA,oBAAA,UAAA,EAAA,UAAGD,GAAiB,CAAA;EAAIJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,OAAxBK;AAAwB;AAGjCT,6BAA6BU,cAAc;AALvC,SAAAH,MAAAI,GAAA;CAAA,OAC+BA,EAACC,eAAeN;AAAM"}
@@ -1,31 +1,76 @@
1
1
  import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
2
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  //#region src/react/providers/AttachmentByIndexProvider.tsx
4
- const MessageAttachmentByIndexProvider = ({ index, children }) => {
5
- return /* @__PURE__ */ jsx(AuiProvider, {
6
- value: useAui({ attachment: Derived({
5
+ const MessageAttachmentByIndexProvider = (t0) => {
6
+ const $ = c(7);
7
+ const { index, children } = t0;
8
+ let t1;
9
+ if ($[0] !== index) {
10
+ t1 = Derived({
7
11
  source: "message",
8
12
  query: {
9
13
  type: "index",
10
14
  index
11
15
  },
12
16
  get: (aui) => aui.message().attachment({ index })
13
- }) }),
14
- children
15
- });
17
+ });
18
+ $[0] = index;
19
+ $[1] = t1;
20
+ } else t1 = $[1];
21
+ let t2;
22
+ if ($[2] !== t1) {
23
+ t2 = { attachment: 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;
16
39
  };
17
- const ComposerAttachmentByIndexProvider = ({ index, children }) => {
18
- return /* @__PURE__ */ jsx(AuiProvider, {
19
- value: useAui({ attachment: Derived({
40
+ const ComposerAttachmentByIndexProvider = (t0) => {
41
+ const $ = c(7);
42
+ const { index, children } = t0;
43
+ let t1;
44
+ if ($[0] !== index) {
45
+ t1 = Derived({
20
46
  source: "composer",
21
47
  query: {
22
48
  type: "index",
23
49
  index
24
50
  },
25
51
  get: (aui) => aui.composer().attachment({ index })
26
- }) }),
27
- children
28
- });
52
+ });
53
+ $[0] = index;
54
+ $[1] = t1;
55
+ } else t1 = $[1];
56
+ let t2;
57
+ if ($[2] !== t1) {
58
+ t2 = { attachment: t1 };
59
+ $[2] = t1;
60
+ $[3] = t2;
61
+ } else t2 = $[3];
62
+ const aui_0 = useAui(t2);
63
+ let t3;
64
+ if ($[4] !== aui_0 || $[5] !== children) {
65
+ t3 = /* @__PURE__ */ jsx(AuiProvider, {
66
+ value: aui_0,
67
+ children
68
+ });
69
+ $[4] = aui_0;
70
+ $[5] = children;
71
+ $[6] = t3;
72
+ } else t3 = $[6];
73
+ return t3;
29
74
  };
30
75
  //#endregion
31
76
  export { ComposerAttachmentByIndexProvider, MessageAttachmentByIndexProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentByIndexProvider.js","names":[],"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,MAAa,oCAIR,EAAE,OAAO,eAAe;CAS3B,OAAO,oBAAC,aAAD;EAAa,OARR,OAAO,EACjB,YAAY,QAAQ;GAClB,QAAQ;GACR,OAAO;IAAE,MAAM;IAAS;GAAM;GAC9B,MAAM,QAAQ,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC;EAClD,CAAC,EACH,CAE6B;EAAI;CAAsB,CAAA;AACzD;AAEA,MAAa,qCAIR,EAAE,OAAO,eAAe;CAS3B,OAAO,oBAAC,aAAD;EAAa,OARR,OAAO,EACjB,YAAY,QAAQ;GAClB,QAAQ;GACR,OAAO;IAAE,MAAM;IAAS;GAAM;GAC9B,MAAM,QAAQ,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC;EACnD,CAAC,EACH,CAE6B;EAAI;CAAsB,CAAA;AACzD"}
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,21 +1,43 @@
1
1
  import { ChainOfThoughtClient } from "../../store/clients/chain-of-thought-client.js";
2
2
  import { AuiProvider, useAui, useAuiState } from "@assistant-ui/store";
3
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
3
4
  import { jsx } from "react/jsx-runtime";
4
5
  //#region src/react/providers/ChainOfThoughtByIndicesProvider.tsx
5
- const ChainOfThoughtByIndicesProvider = ({ startIndex, endIndex, children }) => {
6
- const parts = useAuiState((s) => s.message.parts).slice(startIndex, endIndex + 1);
6
+ const ChainOfThoughtByIndicesProvider = (t0) => {
7
+ const $ = c(5);
8
+ const { startIndex, endIndex, children } = t0;
9
+ const parts = useAuiState(_temp).slice(startIndex, endIndex + 1);
7
10
  const parentAui = useAui();
8
- return /* @__PURE__ */ jsx(AuiProvider, {
9
- value: useAui({ chainOfThought: ChainOfThoughtClient({
10
- parts,
11
- getMessagePart: ({ index }) => {
12
- if (index < 0 || index >= parts.length) throw new Error(`ChainOfThought part index ${index} is out of bounds (0..${parts.length - 1})`);
13
- return parentAui.message().part({ index: startIndex + index });
14
- }
15
- }) }),
16
- children
11
+ const t2 = ChainOfThoughtClient({
12
+ parts,
13
+ getMessagePart: (t1) => {
14
+ const { index } = t1;
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 });
17
+ }
17
18
  });
19
+ let t3;
20
+ if ($[0] !== t2) {
21
+ t3 = { chainOfThought: t2 };
22
+ $[0] = t2;
23
+ $[1] = t3;
24
+ } else t3 = $[1];
25
+ const aui = useAui(t3);
26
+ let t4;
27
+ if ($[2] !== aui || $[3] !== children) {
28
+ t4 = /* @__PURE__ */ jsx(AuiProvider, {
29
+ value: aui,
30
+ children
31
+ });
32
+ $[2] = aui;
33
+ $[3] = children;
34
+ $[4] = t4;
35
+ } else t4 = $[4];
36
+ return t4;
18
37
  };
38
+ function _temp(s) {
39
+ return s.message.parts;
40
+ }
19
41
  //#endregion
20
42
  export { ChainOfThoughtByIndicesProvider };
21
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"ChainOfThoughtByIndicesProvider.js","names":[],"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,MAAa,mCAKR,EAAE,YAAY,UAAU,eAAe;CAC1C,MAAM,QAAQ,aAAa,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,MAChD,YACA,WAAW,CACb;CAEA,MAAM,YAAY,OAAO;CAgBzB,OAAO,oBAAC,aAAD;EAAa,OAdR,OAAO,EACjB,gBAAgB,qBAAqB;GACnC;GACA,iBAAiB,EAAE,YAAY;IAC7B,IAAI,QAAQ,KAAK,SAAS,MAAM,QAC9B,MAAM,IAAI,MACR,6BAA6B,MAAM,wBAAwB,MAAM,SAAS,EAAE,EAC9E;IAEF,OAAO,UAAU,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,aAAa,MAAM,CAAC;GAC/D;EACF,CAAC,EACH,CAE6B;EAAI;CAAsB,CAAA;AACzD"}
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,18 +1,41 @@
1
1
  import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
2
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  //#region src/react/providers/ChainOfThoughtPartByIndexProvider.tsx
4
- const ChainOfThoughtPartByIndexProvider = ({ index, children }) => {
5
- return /* @__PURE__ */ jsx(AuiProvider, {
6
- 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({
7
11
  source: "chainOfThought",
8
12
  query: {
9
13
  type: "index",
10
14
  index
11
15
  },
12
16
  get: (aui) => aui.chainOfThought().part({ index })
13
- }) }),
14
- children
15
- });
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;
16
39
  };
17
40
  //#endregion
18
41
  export { ChainOfThoughtPartByIndexProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"ChainOfThoughtPartByIndexProvider.js","names":[],"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,MAAa,qCAIR,EAAE,OAAO,eAAe;CAS3B,OAAO,oBAAC,aAAD;EAAa,OARR,OAAO,EACjB,MAAM,QAAQ;GACZ,QAAQ;GACR,OAAO;IAAE,MAAM;IAAS;GAAM;GAC9B,MAAM,QAAQ,IAAI,eAAe,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC;EACnD,CAAC,EACH,CAE6B;EAAI;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,eAAgB,CAAC,CAAAC,KAAM,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,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"}
@@ -1,25 +1,55 @@
1
1
  import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
2
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  //#region src/react/providers/MessageByIndexProvider.tsx
4
- const MessageByIndexProvider = ({ index, children }) => {
5
- return /* @__PURE__ */ jsx(AuiProvider, {
6
- value: useAui({
7
- message: Derived({
8
- source: "thread",
9
- query: {
10
- type: "index",
11
- index
12
- },
13
- get: (aui) => aui.thread().message({ index })
14
- }),
15
- composer: Derived({
16
- source: "message",
17
- query: {},
18
- get: (aui) => aui.thread().message({ index }).composer()
19
- })
20
- }),
21
- children
22
- });
5
+ const MessageByIndexProvider = (t0) => {
6
+ const $ = c(10);
7
+ const { index, children } = t0;
8
+ let t1;
9
+ if ($[0] !== index) {
10
+ t1 = Derived({
11
+ source: "thread",
12
+ query: {
13
+ type: "index",
14
+ index
15
+ },
16
+ get: (aui) => aui.thread().message({ index })
17
+ });
18
+ $[0] = index;
19
+ $[1] = t1;
20
+ } else t1 = $[1];
21
+ let t2;
22
+ if ($[2] !== index) {
23
+ t2 = Derived({
24
+ source: "message",
25
+ query: {},
26
+ get: (aui_0) => aui_0.thread().message({ index }).composer()
27
+ });
28
+ $[2] = index;
29
+ $[3] = t2;
30
+ } else t2 = $[3];
31
+ let t3;
32
+ if ($[4] !== t1 || $[5] !== t2) {
33
+ t3 = {
34
+ message: t1,
35
+ composer: t2
36
+ };
37
+ $[4] = t1;
38
+ $[5] = t2;
39
+ $[6] = t3;
40
+ } else t3 = $[6];
41
+ const aui_1 = useAui(t3);
42
+ let t4;
43
+ if ($[7] !== aui_1 || $[8] !== children) {
44
+ t4 = /* @__PURE__ */ jsx(AuiProvider, {
45
+ value: aui_1,
46
+ children
47
+ });
48
+ $[7] = aui_1;
49
+ $[8] = children;
50
+ $[9] = t4;
51
+ } else t4 = $[9];
52
+ return t4;
23
53
  };
24
54
  //#endregion
25
55
  export { MessageByIndexProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"MessageByIndexProvider.js","names":[],"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,MAAa,0BAIR,EAAE,OAAO,eAAe;CAc3B,OAAO,oBAAC,aAAD;EAAa,OAbR,OAAO;GACjB,SAAS,QAAQ;IACf,QAAQ;IACR,OAAO;KAAE,MAAM;KAAS;IAAM;IAC9B,MAAM,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;GAC9C,CAAC;GACD,UAAU,QAAQ;IAChB,QAAQ;IACR,OAAO,CAAC;IACR,MAAM,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS;GACzD,CAAC;EACH,CAE6B;EAAI;CAAsB,CAAA;AACzD"}
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"}