@assistant-ui/react-native 0.1.3 → 0.1.6

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 (330) hide show
  1. package/dist/context/AssistantContext.d.ts +1 -9
  2. package/dist/context/AssistantContext.d.ts.map +1 -1
  3. package/dist/context/AssistantContext.js +1 -15
  4. package/dist/context/AssistantContext.js.map +1 -1
  5. package/dist/index.d.ts +26 -17
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +24 -19
  8. package/dist/index.js.map +1 -1
  9. package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -1
  10. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  11. package/dist/primitives/actionBar/ActionBarCopy.js +1 -1
  12. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  13. package/dist/primitives/actionBar/ActionBarEdit.js +1 -1
  14. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  15. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +1 -1
  16. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  17. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +1 -1
  18. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  19. package/dist/primitives/actionBar/ActionBarReload.js +1 -1
  20. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  21. package/dist/primitives/{actionBar/index.d.ts → actionBar.d.ts} +6 -6
  22. package/dist/primitives/actionBar.d.ts.map +1 -0
  23. package/dist/primitives/actionBar.js +6 -0
  24. package/dist/primitives/actionBar.js.map +1 -0
  25. package/dist/primitives/{attachment/index.d.ts → attachment.d.ts} +5 -5
  26. package/dist/primitives/attachment.d.ts.map +1 -0
  27. package/dist/primitives/attachment.js +5 -0
  28. package/dist/primitives/attachment.js.map +1 -0
  29. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  30. package/dist/primitives/branchPicker/BranchPickerNext.js +3 -15
  31. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  32. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  33. package/dist/primitives/branchPicker/BranchPickerPrevious.js +3 -15
  34. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  35. package/dist/primitives/branchPicker.d.ts +5 -0
  36. package/dist/primitives/branchPicker.d.ts.map +1 -0
  37. package/dist/primitives/branchPicker.js +5 -0
  38. package/dist/primitives/branchPicker.js.map +1 -0
  39. package/dist/primitives/{chainOfThought/index.d.ts → chainOfThought.d.ts} +3 -3
  40. package/dist/primitives/chainOfThought.d.ts.map +1 -0
  41. package/dist/primitives/chainOfThought.js +4 -0
  42. package/dist/primitives/chainOfThought.js.map +1 -0
  43. package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -1
  44. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  45. package/dist/primitives/composer/ComposerAddAttachment.js +4 -6
  46. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  47. package/dist/primitives/composer/ComposerCancel.js +3 -3
  48. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  49. package/dist/primitives/composer/ComposerSend.js +3 -3
  50. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  51. package/dist/primitives/composer.d.ts +8 -0
  52. package/dist/primitives/composer.d.ts.map +1 -0
  53. package/dist/primitives/composer.js +8 -0
  54. package/dist/primitives/composer.js.map +1 -0
  55. package/dist/primitives/error/ErrorMessage.d.ts +10 -0
  56. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -0
  57. package/dist/primitives/error/ErrorMessage.js +11 -0
  58. package/dist/primitives/error/ErrorMessage.js.map +1 -0
  59. package/dist/primitives/error/ErrorRoot.d.ts +10 -0
  60. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -0
  61. package/dist/primitives/error/ErrorRoot.js +11 -0
  62. package/dist/primitives/error/ErrorRoot.js.map +1 -0
  63. package/dist/primitives/error/index.d.ts +3 -0
  64. package/dist/primitives/error/index.d.ts.map +1 -0
  65. package/dist/primitives/error/index.js +3 -0
  66. package/dist/primitives/error/index.js.map +1 -0
  67. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  68. package/dist/primitives/message/MessageParts.js +6 -1
  69. package/dist/primitives/message/MessageParts.js.map +1 -1
  70. package/dist/primitives/message.d.ts +6 -0
  71. package/dist/primitives/message.d.ts.map +1 -0
  72. package/dist/primitives/message.js +6 -0
  73. package/dist/primitives/message.js.map +1 -0
  74. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -1
  75. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  76. package/dist/primitives/suggestion/SuggestionTrigger.js +8 -29
  77. package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -1
  78. package/dist/primitives/suggestion.d.ts +4 -0
  79. package/dist/primitives/suggestion.d.ts.map +1 -0
  80. package/dist/primitives/suggestion.js +4 -0
  81. package/dist/primitives/suggestion.js.map +1 -0
  82. package/dist/primitives/thread/ThreadEmpty.js +1 -1
  83. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  84. package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -1
  85. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  86. package/dist/primitives/thread/ThreadSuggestion.js +7 -29
  87. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  88. package/dist/primitives/{thread/index.d.ts → thread.d.ts} +6 -6
  89. package/dist/primitives/thread.d.ts.map +1 -0
  90. package/dist/primitives/thread.js +8 -0
  91. package/dist/primitives/thread.js.map +1 -0
  92. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -1
  93. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  94. package/dist/primitives/threadList/ThreadListNew.js +3 -7
  95. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  96. package/dist/primitives/{threadList/index.d.ts → threadList.d.ts} +4 -4
  97. package/dist/primitives/threadList.d.ts.map +1 -0
  98. package/dist/primitives/threadList.js +4 -0
  99. package/dist/primitives/threadList.js.map +1 -0
  100. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -1
  101. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  102. package/dist/primitives/threadListItem/ThreadListItemArchive.js +3 -7
  103. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  104. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -1
  105. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  106. package/dist/primitives/threadListItem/ThreadListItemDelete.js +3 -7
  107. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
  108. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -1
  109. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  110. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +3 -7
  111. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  112. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -1
  113. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  114. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +3 -7
  115. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
  116. package/dist/primitives/threadListItem.d.ts +7 -0
  117. package/dist/primitives/threadListItem.d.ts.map +1 -0
  118. package/dist/primitives/threadListItem.js +7 -0
  119. package/dist/primitives/threadListItem.js.map +1 -0
  120. package/dist/runtimes/useLocalRuntime.d.ts +1 -17
  121. package/dist/runtimes/useLocalRuntime.d.ts.map +1 -1
  122. package/dist/runtimes/useLocalRuntime.js +1 -61
  123. package/dist/runtimes/useLocalRuntime.js.map +1 -1
  124. package/package.json +7 -7
  125. package/src/context/AssistantContext.tsx +1 -33
  126. package/src/index.ts +76 -26
  127. package/src/primitives/actionBar/ActionBarCopy.tsx +1 -1
  128. package/src/primitives/actionBar/ActionBarEdit.tsx +1 -1
  129. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +1 -1
  130. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +1 -1
  131. package/src/primitives/actionBar/ActionBarReload.tsx +1 -1
  132. package/src/primitives/{actionBar/index.ts → actionBar.ts} +5 -5
  133. package/src/primitives/{attachment/index.ts → attachment.ts} +4 -4
  134. package/src/primitives/branchPicker/BranchPickerNext.tsx +3 -15
  135. package/src/primitives/branchPicker/BranchPickerPrevious.tsx +3 -15
  136. package/src/primitives/{branchPicker/index.ts → branchPicker.ts} +4 -4
  137. package/src/primitives/{chainOfThought/index.ts → chainOfThought.ts} +2 -2
  138. package/src/primitives/composer/ComposerAddAttachment.tsx +4 -6
  139. package/src/primitives/composer/ComposerCancel.tsx +3 -3
  140. package/src/primitives/composer/ComposerSend.tsx +3 -3
  141. package/src/primitives/{composer/index.ts → composer.ts} +7 -7
  142. package/src/primitives/error/ErrorMessage.tsx +17 -0
  143. package/src/primitives/error/ErrorRoot.tsx +16 -0
  144. package/src/primitives/error/index.ts +8 -0
  145. package/src/primitives/message/MessageContent.tsx +1 -1
  146. package/src/primitives/message/MessageParts.tsx +11 -4
  147. package/src/primitives/{message/index.ts → message.ts} +8 -5
  148. package/src/primitives/suggestion/SuggestionTrigger.tsx +10 -30
  149. package/src/primitives/{suggestion/index.ts → suggestion.ts} +3 -3
  150. package/src/primitives/thread/ThreadEmpty.tsx +1 -1
  151. package/src/primitives/thread/ThreadSuggestion.tsx +9 -30
  152. package/src/primitives/{thread/index.ts → thread.ts} +8 -5
  153. package/src/primitives/threadList/ThreadListNew.tsx +4 -8
  154. package/src/primitives/{threadList/index.ts → threadList.ts} +3 -3
  155. package/src/primitives/threadListItem/ThreadListItemArchive.tsx +4 -8
  156. package/src/primitives/threadListItem/ThreadListItemDelete.tsx +4 -8
  157. package/src/primitives/threadListItem/ThreadListItemTrigger.tsx +4 -8
  158. package/src/primitives/threadListItem/ThreadListItemUnarchive.tsx +4 -8
  159. package/src/primitives/{threadListItem/index.ts → threadListItem.ts} +5 -5
  160. package/src/runtimes/useLocalRuntime.ts +4 -105
  161. package/dist/adapters/LocalStorageThreadListAdapter.d.ts +0 -15
  162. package/dist/adapters/LocalStorageThreadListAdapter.d.ts.map +0 -1
  163. package/dist/adapters/LocalStorageThreadListAdapter.js +0 -154
  164. package/dist/adapters/LocalStorageThreadListAdapter.js.map +0 -1
  165. package/dist/adapters/TitleGenerationAdapter.d.ts +0 -6
  166. package/dist/adapters/TitleGenerationAdapter.d.ts.map +0 -1
  167. package/dist/adapters/TitleGenerationAdapter.js +0 -15
  168. package/dist/adapters/TitleGenerationAdapter.js.map +0 -1
  169. package/dist/adapters/index.d.ts +0 -3
  170. package/dist/adapters/index.d.ts.map +0 -1
  171. package/dist/adapters/index.js +0 -3
  172. package/dist/adapters/index.js.map +0 -1
  173. package/dist/client/index.d.ts +0 -5
  174. package/dist/client/index.d.ts.map +0 -1
  175. package/dist/client/index.js +0 -7
  176. package/dist/client/index.js.map +0 -1
  177. package/dist/context/index.d.ts +0 -2
  178. package/dist/context/index.d.ts.map +0 -1
  179. package/dist/context/index.js +0 -2
  180. package/dist/context/index.js.map +0 -1
  181. package/dist/model-context/index.d.ts +0 -9
  182. package/dist/model-context/index.d.ts.map +0 -1
  183. package/dist/model-context/index.js +0 -7
  184. package/dist/model-context/index.js.map +0 -1
  185. package/dist/primitive-hooks/index.d.ts +0 -13
  186. package/dist/primitive-hooks/index.d.ts.map +0 -1
  187. package/dist/primitive-hooks/index.js +0 -13
  188. package/dist/primitive-hooks/index.js.map +0 -1
  189. package/dist/primitive-hooks/useActionBarCopy.d.ts +0 -10
  190. package/dist/primitive-hooks/useActionBarCopy.d.ts.map +0 -1
  191. package/dist/primitive-hooks/useActionBarCopy.js +0 -26
  192. package/dist/primitive-hooks/useActionBarCopy.js.map +0 -1
  193. package/dist/primitive-hooks/useActionBarEdit.d.ts +0 -5
  194. package/dist/primitive-hooks/useActionBarEdit.d.ts.map +0 -1
  195. package/dist/primitive-hooks/useActionBarEdit.js +0 -11
  196. package/dist/primitive-hooks/useActionBarEdit.js.map +0 -1
  197. package/dist/primitive-hooks/useActionBarFeedback.d.ts +0 -9
  198. package/dist/primitive-hooks/useActionBarFeedback.d.ts.map +0 -1
  199. package/dist/primitive-hooks/useActionBarFeedback.js +0 -19
  200. package/dist/primitive-hooks/useActionBarFeedback.js.map +0 -1
  201. package/dist/primitive-hooks/useActionBarReload.d.ts +0 -5
  202. package/dist/primitive-hooks/useActionBarReload.d.ts.map +0 -1
  203. package/dist/primitive-hooks/useActionBarReload.js +0 -13
  204. package/dist/primitive-hooks/useActionBarReload.js.map +0 -1
  205. package/dist/primitive-hooks/useComposerAddAttachment.d.ts +0 -5
  206. package/dist/primitive-hooks/useComposerAddAttachment.d.ts.map +0 -1
  207. package/dist/primitive-hooks/useComposerAddAttachment.js +0 -10
  208. package/dist/primitive-hooks/useComposerAddAttachment.js.map +0 -1
  209. package/dist/primitive-hooks/useComposerCancel.d.ts +0 -5
  210. package/dist/primitive-hooks/useComposerCancel.d.ts.map +0 -1
  211. package/dist/primitive-hooks/useComposerCancel.js +0 -11
  212. package/dist/primitive-hooks/useComposerCancel.js.map +0 -1
  213. package/dist/primitive-hooks/useComposerSend.d.ts +0 -5
  214. package/dist/primitive-hooks/useComposerSend.d.ts.map +0 -1
  215. package/dist/primitive-hooks/useComposerSend.js +0 -11
  216. package/dist/primitive-hooks/useComposerSend.js.map +0 -1
  217. package/dist/primitive-hooks/useEditComposerCancel.d.ts +0 -4
  218. package/dist/primitive-hooks/useEditComposerCancel.d.ts.map +0 -1
  219. package/dist/primitive-hooks/useEditComposerCancel.js +0 -10
  220. package/dist/primitive-hooks/useEditComposerCancel.js.map +0 -1
  221. package/dist/primitive-hooks/useEditComposerSend.d.ts +0 -5
  222. package/dist/primitive-hooks/useEditComposerSend.d.ts.map +0 -1
  223. package/dist/primitive-hooks/useEditComposerSend.js +0 -11
  224. package/dist/primitive-hooks/useEditComposerSend.js.map +0 -1
  225. package/dist/primitive-hooks/useMessageBranching.d.ts +0 -7
  226. package/dist/primitive-hooks/useMessageBranching.d.ts.map +0 -1
  227. package/dist/primitive-hooks/useMessageBranching.js +0 -15
  228. package/dist/primitive-hooks/useMessageBranching.js.map +0 -1
  229. package/dist/primitive-hooks/useMessageReload.d.ts +0 -5
  230. package/dist/primitive-hooks/useMessageReload.d.ts.map +0 -1
  231. package/dist/primitive-hooks/useMessageReload.js +0 -11
  232. package/dist/primitive-hooks/useMessageReload.js.map +0 -1
  233. package/dist/primitive-hooks/useThreadIsEmpty.d.ts +0 -2
  234. package/dist/primitive-hooks/useThreadIsEmpty.d.ts.map +0 -1
  235. package/dist/primitive-hooks/useThreadIsEmpty.js +0 -5
  236. package/dist/primitive-hooks/useThreadIsEmpty.js.map +0 -1
  237. package/dist/primitive-hooks/useThreadIsRunning.d.ts +0 -2
  238. package/dist/primitive-hooks/useThreadIsRunning.d.ts.map +0 -1
  239. package/dist/primitive-hooks/useThreadIsRunning.js +0 -5
  240. package/dist/primitive-hooks/useThreadIsRunning.js.map +0 -1
  241. package/dist/primitive-hooks/useThreadMessages.d.ts +0 -3
  242. package/dist/primitive-hooks/useThreadMessages.d.ts.map +0 -1
  243. package/dist/primitive-hooks/useThreadMessages.js +0 -5
  244. package/dist/primitive-hooks/useThreadMessages.js.map +0 -1
  245. package/dist/primitives/actionBar/index.d.ts.map +0 -1
  246. package/dist/primitives/actionBar/index.js +0 -6
  247. package/dist/primitives/actionBar/index.js.map +0 -1
  248. package/dist/primitives/attachment/index.d.ts.map +0 -1
  249. package/dist/primitives/attachment/index.js +0 -5
  250. package/dist/primitives/attachment/index.js.map +0 -1
  251. package/dist/primitives/branchPicker/index.d.ts +0 -5
  252. package/dist/primitives/branchPicker/index.d.ts.map +0 -1
  253. package/dist/primitives/branchPicker/index.js +0 -5
  254. package/dist/primitives/branchPicker/index.js.map +0 -1
  255. package/dist/primitives/chainOfThought/index.d.ts.map +0 -1
  256. package/dist/primitives/chainOfThought/index.js +0 -4
  257. package/dist/primitives/chainOfThought/index.js.map +0 -1
  258. package/dist/primitives/composer/EditComposerCancel.d.ts +0 -7
  259. package/dist/primitives/composer/EditComposerCancel.d.ts.map +0 -1
  260. package/dist/primitives/composer/EditComposerCancel.js +0 -8
  261. package/dist/primitives/composer/EditComposerCancel.js.map +0 -1
  262. package/dist/primitives/composer/EditComposerInput.d.ts +0 -4
  263. package/dist/primitives/composer/EditComposerInput.d.ts.map +0 -1
  264. package/dist/primitives/composer/EditComposerInput.js +0 -13
  265. package/dist/primitives/composer/EditComposerInput.js.map +0 -1
  266. package/dist/primitives/composer/EditComposerSend.d.ts +0 -7
  267. package/dist/primitives/composer/EditComposerSend.d.ts.map +0 -1
  268. package/dist/primitives/composer/EditComposerSend.js +0 -8
  269. package/dist/primitives/composer/EditComposerSend.js.map +0 -1
  270. package/dist/primitives/composer/index.d.ts +0 -8
  271. package/dist/primitives/composer/index.d.ts.map +0 -1
  272. package/dist/primitives/composer/index.js +0 -8
  273. package/dist/primitives/composer/index.js.map +0 -1
  274. package/dist/primitives/message/index.d.ts +0 -6
  275. package/dist/primitives/message/index.d.ts.map +0 -1
  276. package/dist/primitives/message/index.js +0 -6
  277. package/dist/primitives/message/index.js.map +0 -1
  278. package/dist/primitives/suggestion/index.d.ts +0 -4
  279. package/dist/primitives/suggestion/index.d.ts.map +0 -1
  280. package/dist/primitives/suggestion/index.js +0 -4
  281. package/dist/primitives/suggestion/index.js.map +0 -1
  282. package/dist/primitives/thread/index.d.ts.map +0 -1
  283. package/dist/primitives/thread/index.js +0 -8
  284. package/dist/primitives/thread/index.js.map +0 -1
  285. package/dist/primitives/threadList/index.d.ts.map +0 -1
  286. package/dist/primitives/threadList/index.js +0 -4
  287. package/dist/primitives/threadList/index.js.map +0 -1
  288. package/dist/primitives/threadListItem/index.d.ts +0 -7
  289. package/dist/primitives/threadListItem/index.d.ts.map +0 -1
  290. package/dist/primitives/threadListItem/index.js +0 -7
  291. package/dist/primitives/threadListItem/index.js.map +0 -1
  292. package/dist/runtimes/index.d.ts +0 -3
  293. package/dist/runtimes/index.d.ts.map +0 -1
  294. package/dist/runtimes/index.js +0 -3
  295. package/dist/runtimes/index.js.map +0 -1
  296. package/dist/types/index.d.ts +0 -2
  297. package/dist/types/index.d.ts.map +0 -1
  298. package/dist/types/index.js +0 -2
  299. package/dist/types/index.js.map +0 -1
  300. package/dist/types/scopes/index.d.ts +0 -3
  301. package/dist/types/scopes/index.d.ts.map +0 -1
  302. package/dist/types/scopes/index.js +0 -2
  303. package/dist/types/scopes/index.js.map +0 -1
  304. package/src/adapters/LocalStorageThreadListAdapter.tsx +0 -227
  305. package/src/adapters/TitleGenerationAdapter.ts +0 -20
  306. package/src/adapters/index.ts +0 -5
  307. package/src/client/index.ts +0 -7
  308. package/src/context/index.ts +0 -4
  309. package/src/model-context/index.ts +0 -44
  310. package/src/primitive-hooks/index.ts +0 -18
  311. package/src/primitive-hooks/useActionBarCopy.ts +0 -38
  312. package/src/primitive-hooks/useActionBarEdit.ts +0 -13
  313. package/src/primitive-hooks/useActionBarFeedback.ts +0 -28
  314. package/src/primitive-hooks/useActionBarReload.ts +0 -18
  315. package/src/primitive-hooks/useComposerAddAttachment.ts +0 -16
  316. package/src/primitive-hooks/useComposerCancel.ts +0 -13
  317. package/src/primitive-hooks/useComposerSend.ts +0 -15
  318. package/src/primitive-hooks/useEditComposerCancel.ts +0 -12
  319. package/src/primitive-hooks/useEditComposerSend.ts +0 -13
  320. package/src/primitive-hooks/useMessageBranching.ts +0 -18
  321. package/src/primitive-hooks/useMessageReload.ts +0 -13
  322. package/src/primitive-hooks/useThreadIsEmpty.ts +0 -5
  323. package/src/primitive-hooks/useThreadIsRunning.ts +0 -5
  324. package/src/primitive-hooks/useThreadMessages.ts +0 -6
  325. package/src/primitives/composer/EditComposerCancel.tsx +0 -20
  326. package/src/primitives/composer/EditComposerInput.tsx +0 -22
  327. package/src/primitives/composer/EditComposerSend.tsx +0 -25
  328. package/src/runtimes/index.ts +0 -2
  329. package/src/types/index.ts +0 -23
  330. package/src/types/scopes/index.ts +0 -59
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from "react";
2
+ import { Text, type TextProps } from "react-native";
3
+ import { useMessageError } from "@assistant-ui/core/react";
4
+
5
+ export type ErrorMessageProps = TextProps & {
6
+ children?: ReactNode;
7
+ };
8
+
9
+ export const ErrorMessage = ({ children, ...textProps }: ErrorMessageProps) => {
10
+ const error = useMessageError();
11
+
12
+ if (error === undefined) return null;
13
+
14
+ return <Text {...textProps}>{children ?? String(error)}</Text>;
15
+ };
16
+
17
+ ErrorMessage.displayName = "ErrorPrimitive.Message";
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from "react";
2
+ import { View, type ViewProps } from "react-native";
3
+ import { useMessageError } from "@assistant-ui/core/react";
4
+
5
+ export type ErrorRootProps = ViewProps & {
6
+ children: ReactNode;
7
+ };
8
+
9
+ export const ErrorRoot = ({ children, ...viewProps }: ErrorRootProps) => {
10
+ const error = useMessageError();
11
+ if (error === undefined) return null;
12
+
13
+ return <View {...viewProps}>{children}</View>;
14
+ };
15
+
16
+ ErrorRoot.displayName = "ErrorPrimitive.Root";
@@ -0,0 +1,8 @@
1
+ export {
2
+ ErrorRoot as Root,
3
+ type ErrorRootProps as RootProps,
4
+ } from "./ErrorRoot";
5
+ export {
6
+ ErrorMessage as Message,
7
+ type ErrorMessageProps as MessageProps,
8
+ } from "./ErrorMessage";
@@ -10,7 +10,7 @@ import { useAui, useAuiState } from "@assistant-ui/store";
10
10
  import type {
11
11
  ToolCallMessagePartProps,
12
12
  DataMessagePartProps,
13
- } from "../../types";
13
+ } from "@assistant-ui/core/react";
14
14
 
15
15
  type MessageContentPart = ThreadUserMessagePart | ThreadAssistantMessagePart;
16
16
 
@@ -19,10 +19,16 @@ export namespace MessagePrimitiveParts {
19
19
  /**
20
20
  * Renders the parts of a message with React Native-specific default components.
21
21
  */
22
- export const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props> = ({
23
- components,
24
- ...rest
25
- }) => {
22
+ export const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props> = (
23
+ props,
24
+ ) => {
25
+ if ("children" in props) {
26
+ return (
27
+ <MessagePrimitivePartsBase>{props.children}</MessagePrimitivePartsBase>
28
+ );
29
+ }
30
+
31
+ const { components, ...rest } = props;
26
32
  const merged = components
27
33
  ? {
28
34
  Text: components.Text ?? rnDefaultComponents.Text,
@@ -46,6 +52,7 @@ export const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props> = ({
46
52
  messagePartsDefaultComponents.ReasoningGroup,
47
53
  }),
48
54
  Empty: components.Empty,
55
+ Quote: components.Quote,
49
56
  }
50
57
  : rnDefaultComponents;
51
58
 
@@ -1,17 +1,20 @@
1
1
  export {
2
2
  MessageRoot as Root,
3
3
  type MessageRootProps as RootProps,
4
- } from "./MessageRoot";
4
+ } from "./message/MessageRoot";
5
5
  export {
6
6
  MessageContent as Content,
7
7
  type MessageContentProps as ContentProps,
8
- } from "./MessageContent";
8
+ } from "./message/MessageContent";
9
9
  export {
10
10
  MessagePrimitiveParts as Parts,
11
11
  MessagePrimitivePartByIndex as PartByIndex,
12
- } from "./MessageParts";
13
- export { MessageIf as If, type MessageIfProps as IfProps } from "./MessageIf";
12
+ } from "./message/MessageParts";
13
+ export {
14
+ MessageIf as If,
15
+ type MessageIfProps as IfProps,
16
+ } from "./message/MessageIf";
14
17
  export {
15
18
  MessageAttachments as Attachments,
16
19
  MessageAttachmentByIndex as AttachmentByIndex,
17
- } from "./MessageAttachments";
20
+ } from "./message/MessageAttachments";
@@ -1,6 +1,7 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { useAuiState } from "@assistant-ui/store";
4
+ import { useSuggestionTrigger } from "@assistant-ui/core/react";
4
5
 
5
6
  export type SuggestionTriggerProps = Omit<PressableProps, "onPress"> & {
6
7
  children: ReactNode;
@@ -24,38 +25,17 @@ export const SuggestionTrigger = ({
24
25
  disabled: disabledProp,
25
26
  ...pressableProps
26
27
  }: SuggestionTriggerProps) => {
27
- const aui = useAui();
28
- const isDisabled = useAuiState((s) => s.thread.isDisabled);
29
28
  const prompt = useAuiState((s) => s.suggestion.prompt);
30
- const resolvedSend = send ?? false;
31
-
32
- const onPress = useCallback(() => {
33
- const isRunning = aui.thread().getState().isRunning;
34
-
35
- if (resolvedSend && !isRunning) {
36
- aui.thread().append({
37
- content: [{ type: "text", text: prompt }],
38
- runConfig: aui.composer().getState().runConfig,
39
- });
40
- if (clearComposer) {
41
- aui.composer().setText("");
42
- }
43
- } else {
44
- if (clearComposer) {
45
- aui.composer().setText(prompt);
46
- } else {
47
- const currentText = aui.composer().getState().text;
48
- aui
49
- .composer()
50
- .setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);
51
- }
52
- }
53
- }, [aui, resolvedSend, clearComposer, prompt]);
29
+ const { trigger, disabled } = useSuggestionTrigger({
30
+ prompt,
31
+ send,
32
+ clearComposer,
33
+ });
54
34
 
55
35
  return (
56
36
  <Pressable
57
- onPress={onPress}
58
- disabled={disabledProp ?? isDisabled}
37
+ onPress={trigger}
38
+ disabled={disabledProp ?? disabled}
59
39
  {...pressableProps}
60
40
  >
61
41
  {children}
@@ -1,12 +1,12 @@
1
1
  export {
2
2
  SuggestionTitle as Title,
3
3
  type SuggestionTitleProps as TitleProps,
4
- } from "./SuggestionTitle";
4
+ } from "./suggestion/SuggestionTitle";
5
5
  export {
6
6
  SuggestionDescription as Description,
7
7
  type SuggestionDescriptionProps as DescriptionProps,
8
- } from "./SuggestionDescription";
8
+ } from "./suggestion/SuggestionDescription";
9
9
  export {
10
10
  SuggestionTrigger as Trigger,
11
11
  type SuggestionTriggerProps as TriggerProps,
12
- } from "./SuggestionTrigger";
12
+ } from "./suggestion/SuggestionTrigger";
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import { useThreadIsEmpty } from "../../primitive-hooks/useThreadIsEmpty";
2
+ import { useThreadIsEmpty } from "@assistant-ui/core/react";
3
3
 
4
4
  export type ThreadEmptyProps = {
5
5
  children: ReactNode;
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { useSuggestionTrigger } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadSuggestionProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -27,37 +27,16 @@ export const ThreadSuggestion = ({
27
27
  disabled: disabledProp,
28
28
  ...pressableProps
29
29
  }: ThreadSuggestionProps) => {
30
- const aui = useAui();
31
- const isDisabled = useAuiState((s) => s.thread.isDisabled);
32
- const resolvedSend = send ?? false;
33
-
34
- const onPress = useCallback(() => {
35
- const isRunning = aui.thread().getState().isRunning;
36
-
37
- if (resolvedSend && !isRunning) {
38
- aui.thread().append({
39
- content: [{ type: "text", text: prompt }],
40
- runConfig: aui.composer().getState().runConfig,
41
- });
42
- if (clearComposer) {
43
- aui.composer().setText("");
44
- }
45
- } else {
46
- if (clearComposer) {
47
- aui.composer().setText(prompt);
48
- } else {
49
- const currentText = aui.composer().getState().text;
50
- aui
51
- .composer()
52
- .setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);
53
- }
54
- }
55
- }, [aui, resolvedSend, clearComposer, prompt]);
30
+ const { trigger, disabled } = useSuggestionTrigger({
31
+ prompt,
32
+ send,
33
+ clearComposer,
34
+ });
56
35
 
57
36
  return (
58
37
  <Pressable
59
- onPress={onPress}
60
- disabled={disabledProp ?? isDisabled}
38
+ onPress={trigger}
39
+ disabled={disabledProp ?? disabled}
61
40
  {...pressableProps}
62
41
  >
63
42
  {children}
@@ -1,21 +1,24 @@
1
1
  export {
2
2
  ThreadRoot as Root,
3
3
  type ThreadRootProps as RootProps,
4
- } from "./ThreadRoot";
4
+ } from "./thread/ThreadRoot";
5
5
  export {
6
6
  ThreadMessages as Messages,
7
7
  type ThreadMessagesProps as MessagesProps,
8
- } from "./ThreadMessages";
8
+ } from "./thread/ThreadMessages";
9
9
  export { ThreadPrimitiveMessageByIndex as MessageByIndex } from "@assistant-ui/core/react";
10
10
  export {
11
11
  ThreadEmpty as Empty,
12
12
  type ThreadEmptyProps as EmptyProps,
13
- } from "./ThreadEmpty";
14
- export { ThreadIf as If, type ThreadIfProps as IfProps } from "./ThreadIf";
13
+ } from "./thread/ThreadEmpty";
14
+ export {
15
+ ThreadIf as If,
16
+ type ThreadIfProps as IfProps,
17
+ } from "./thread/ThreadIf";
15
18
  export {
16
19
  ThreadSuggestion as Suggestion,
17
20
  type ThreadSuggestionProps as SuggestionProps,
18
- } from "./ThreadSuggestion";
21
+ } from "./thread/ThreadSuggestion";
19
22
  export {
20
23
  ThreadPrimitiveSuggestions as Suggestions,
21
24
  ThreadPrimitiveSuggestionByIndex as SuggestionByIndex,
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListNew } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListNewProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListNew = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListNewProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threads().switchToNewThread();
17
- }, [aui]);
13
+ const { switchToNewThread } = useThreadListNew();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={switchToNewThread} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,12 +1,12 @@
1
1
  export {
2
2
  ThreadListRoot as Root,
3
3
  type ThreadListRootProps as RootProps,
4
- } from "./ThreadListRoot";
4
+ } from "./threadList/ThreadListRoot";
5
5
  export {
6
6
  ThreadListItems as Items,
7
7
  type ThreadListItemsProps as ItemsProps,
8
- } from "./ThreadListItems";
8
+ } from "./threadList/ThreadListItems";
9
9
  export {
10
10
  ThreadListNew as New,
11
11
  type ThreadListNewProps as NewProps,
12
- } from "./ThreadListNew";
12
+ } from "./threadList/ThreadListNew";
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListItemArchive } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListItemArchiveProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListItemArchive = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListItemArchiveProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threadListItem().archive();
17
- }, [aui]);
13
+ const { archive } = useThreadListItemArchive();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={archive} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListItemDelete } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListItemDeleteProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListItemDelete = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListItemDeleteProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threadListItem().delete();
17
- }, [aui]);
13
+ const { delete: deleteThread } = useThreadListItemDelete();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={deleteThread} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListItemTrigger } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListItemTriggerProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListItemTrigger = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListItemTriggerProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threadListItem().switchTo();
17
- }, [aui]);
13
+ const { switchTo } = useThreadListItemTrigger();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={switchTo} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListItemUnarchive } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListItemUnarchiveProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListItemUnarchive = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListItemUnarchiveProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threadListItem().unarchive();
17
- }, [aui]);
13
+ const { unarchive } = useThreadListItemUnarchive();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={unarchive} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,21 +1,21 @@
1
1
  export {
2
2
  ThreadListItemRoot as Root,
3
3
  type ThreadListItemRootProps as RootProps,
4
- } from "./ThreadListItemRoot";
4
+ } from "./threadListItem/ThreadListItemRoot";
5
5
  export { ThreadListItemPrimitiveTitle as Title } from "@assistant-ui/core/react";
6
6
  export {
7
7
  ThreadListItemTrigger as Trigger,
8
8
  type ThreadListItemTriggerProps as TriggerProps,
9
- } from "./ThreadListItemTrigger";
9
+ } from "./threadListItem/ThreadListItemTrigger";
10
10
  export {
11
11
  ThreadListItemDelete as Delete,
12
12
  type ThreadListItemDeleteProps as DeleteProps,
13
- } from "./ThreadListItemDelete";
13
+ } from "./threadListItem/ThreadListItemDelete";
14
14
  export {
15
15
  ThreadListItemArchive as Archive,
16
16
  type ThreadListItemArchiveProps as ArchiveProps,
17
- } from "./ThreadListItemArchive";
17
+ } from "./threadListItem/ThreadListItemArchive";
18
18
  export {
19
19
  ThreadListItemUnarchive as Unarchive,
20
20
  type ThreadListItemUnarchiveProps as UnarchiveProps,
21
- } from "./ThreadListItemUnarchive";
21
+ } from "./threadListItem/ThreadListItemUnarchive";
@@ -1,105 +1,4 @@
1
- import { useEffect, useMemo, useRef, useState } from "react";
2
- import type {
3
- AssistantRuntime,
4
- ChatModelAdapter,
5
- ThreadMessageLike,
6
- RemoteThreadListAdapter,
7
- } from "@assistant-ui/core";
8
- import { InMemoryThreadListAdapter } from "@assistant-ui/core";
9
- import type { LocalRuntimeOptionsBase } from "@assistant-ui/core/internal";
10
- import {
11
- AssistantRuntimeImpl,
12
- LocalRuntimeCore,
13
- } from "@assistant-ui/core/internal";
14
- import { useAuiState } from "@assistant-ui/store";
15
- import type { TitleGenerationAdapter } from "../adapters/TitleGenerationAdapter";
16
- import { useRemoteThreadListRuntime } from "./useRemoteThreadListRuntime";
17
- import { createLocalStorageAdapter } from "../adapters/LocalStorageThreadListAdapter";
18
- import { useRuntimeAdapters } from "../context/providers/RuntimeAdapterProvider";
19
-
20
- type AsyncStorageLike = {
21
- getItem(key: string): Promise<string | null>;
22
- setItem(key: string, value: string): Promise<void>;
23
- removeItem(key: string): Promise<void>;
24
- };
25
-
26
- export type LocalRuntimeOptions = Omit<LocalRuntimeOptionsBase, "adapters"> & {
27
- adapters?: Omit<LocalRuntimeOptionsBase["adapters"], "chatModel"> | undefined;
28
- initialMessages?: readonly ThreadMessageLike[] | undefined;
29
- titleGenerator?: TitleGenerationAdapter | undefined;
30
- storage?: AsyncStorageLike | undefined;
31
- storagePrefix?: string | undefined;
32
- };
33
-
34
- const useInnerLocalRuntime = (
35
- chatModel: ChatModelAdapter,
36
- options: Omit<
37
- LocalRuntimeOptions,
38
- "titleGenerator" | "storage" | "storagePrefix"
39
- >,
40
- ): AssistantRuntime => {
41
- const { initialMessages, ...restOptions } = options;
42
- const { modelContext, ...threadListAdapters } = useRuntimeAdapters() ?? {};
43
-
44
- const opt: LocalRuntimeOptionsBase = {
45
- ...restOptions,
46
- adapters: {
47
- ...threadListAdapters,
48
- ...restOptions.adapters,
49
- chatModel,
50
- },
51
- };
52
-
53
- const [runtime] = useState(() => new LocalRuntimeCore(opt, initialMessages));
54
-
55
- const threadIdRef = useRef<string | undefined>(undefined);
56
- threadIdRef.current = useAuiState((s) => s.threadListItem.remoteId);
57
-
58
- useEffect(() => {
59
- runtime.threads
60
- .getMainThreadRuntimeCore()
61
- .__internal_setGetThreadId(() => threadIdRef.current);
62
- }, [runtime]);
63
-
64
- useEffect(() => {
65
- return () => {
66
- runtime.threads.getMainThreadRuntimeCore().detach();
67
- };
68
- }, [runtime]);
69
-
70
- useEffect(() => {
71
- runtime.threads.getMainThreadRuntimeCore().__internal_setOptions(opt);
72
- runtime.threads.getMainThreadRuntimeCore().__internal_load();
73
- });
74
-
75
- useEffect(() => {
76
- if (!modelContext) return undefined;
77
- return runtime.registerModelContextProvider(modelContext);
78
- }, [modelContext, runtime]);
79
-
80
- return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);
81
- };
82
-
83
- export const useLocalRuntime = (
84
- chatModel: ChatModelAdapter,
85
- options: LocalRuntimeOptions = {},
86
- ): AssistantRuntime => {
87
- const { titleGenerator, storage, storagePrefix, ...innerOptions } = options;
88
-
89
- const adapter: RemoteThreadListAdapter = useMemo(() => {
90
- if (!storage) return new InMemoryThreadListAdapter();
91
- return createLocalStorageAdapter({
92
- storage,
93
- prefix: storagePrefix,
94
- titleGenerator,
95
- });
96
- }, [storage, storagePrefix, titleGenerator]);
97
-
98
- return useRemoteThreadListRuntime({
99
- runtimeHook: function RuntimeHook() {
100
- return useInnerLocalRuntime(chatModel, innerOptions);
101
- },
102
- adapter,
103
- allowNesting: true,
104
- });
105
- };
1
+ export {
2
+ useLocalRuntime,
3
+ type LocalRuntimeOptions,
4
+ } from "@assistant-ui/core/react";
@@ -1,15 +0,0 @@
1
- import type { RemoteThreadListAdapter } from "@assistant-ui/core";
2
- import type { TitleGenerationAdapter } from "./TitleGenerationAdapter.js";
3
- type AsyncStorageLike = {
4
- getItem(key: string): Promise<string | null>;
5
- setItem(key: string, value: string): Promise<void>;
6
- removeItem(key: string): Promise<void>;
7
- };
8
- type LocalStorageAdapterOptions = {
9
- storage: AsyncStorageLike;
10
- prefix?: string | undefined;
11
- titleGenerator?: TitleGenerationAdapter | undefined;
12
- };
13
- export declare const createLocalStorageAdapter: (options: LocalStorageAdapterOptions) => RemoteThreadListAdapter;
14
- export {};
15
- //# sourceMappingURL=LocalStorageThreadListAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalStorageThreadListAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/LocalStorageThreadListAdapter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,uBAAuB,EAKxB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,oCAAiC;AAEvE,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CACrD,CAAC;AAyEF,eAAO,MAAM,yBAAyB,GACpC,SAAS,0BAA0B,KAClC,uBA2HF,CAAC"}