@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
@@ -1,227 +0,0 @@
1
- import { type AssistantStream, createAssistantStream } from "assistant-stream";
2
- import { FC, PropsWithChildren, useMemo } from "react";
3
- import { useAui } from "@assistant-ui/store";
4
- import type {
5
- RemoteThreadInitializeResponse,
6
- RemoteThreadListAdapter,
7
- RemoteThreadListResponse,
8
- RemoteThreadMetadata,
9
- ThreadHistoryAdapter,
10
- ThreadMessage,
11
- } from "@assistant-ui/core";
12
- import type {
13
- ExportedMessageRepository,
14
- ExportedMessageRepositoryItem,
15
- } from "@assistant-ui/core/internal";
16
- import { RuntimeAdapterProvider } from "../context/providers/RuntimeAdapterProvider";
17
- import type { TitleGenerationAdapter } from "./TitleGenerationAdapter";
18
-
19
- type AsyncStorageLike = {
20
- getItem(key: string): Promise<string | null>;
21
- setItem(key: string, value: string): Promise<void>;
22
- removeItem(key: string): Promise<void>;
23
- };
24
-
25
- type LocalStorageAdapterOptions = {
26
- storage: AsyncStorageLike;
27
- prefix?: string | undefined;
28
- titleGenerator?: TitleGenerationAdapter | undefined;
29
- };
30
-
31
- type StoredThreadMetadata = {
32
- remoteId: string;
33
- externalId?: string;
34
- status: "regular" | "archived";
35
- title?: string;
36
- };
37
-
38
- class AsyncStorageHistoryAdapter implements ThreadHistoryAdapter {
39
- constructor(
40
- private storage: AsyncStorageLike,
41
- private aui: ReturnType<typeof useAui>,
42
- private prefix: string,
43
- ) {}
44
-
45
- private _messagesKey(remoteId: string) {
46
- return `${this.prefix}messages:${remoteId}`;
47
- }
48
-
49
- async load(): Promise<ExportedMessageRepository> {
50
- const remoteId = this.aui.threadListItem().getState().remoteId;
51
- if (!remoteId) return { messages: [] };
52
-
53
- const raw = await this.storage.getItem(this._messagesKey(remoteId));
54
- if (!raw) return { messages: [] };
55
- return JSON.parse(raw) as ExportedMessageRepository;
56
- }
57
-
58
- async append(item: ExportedMessageRepositoryItem): Promise<void> {
59
- const { remoteId } = await this.aui.threadListItem().initialize();
60
-
61
- const key = this._messagesKey(remoteId);
62
- const raw = await this.storage.getItem(key);
63
- const repo: ExportedMessageRepository = raw
64
- ? (JSON.parse(raw) as ExportedMessageRepository)
65
- : { messages: [] };
66
-
67
- const idx = repo.messages.findIndex(
68
- (m) => m.message.id === item.message.id,
69
- );
70
- if (idx >= 0) {
71
- repo.messages[idx] = item;
72
- } else {
73
- repo.messages.push(item);
74
- }
75
- repo.headId = item.message.id;
76
-
77
- await this.storage.setItem(key, JSON.stringify(repo));
78
- }
79
- }
80
-
81
- const createHistoryProvider = (
82
- storage: AsyncStorageLike,
83
- prefix: string,
84
- ): FC<PropsWithChildren> => {
85
- const Provider: FC<PropsWithChildren> = ({ children }) => {
86
- const aui = useAui();
87
- const history = useMemo(
88
- () => new AsyncStorageHistoryAdapter(storage, aui, prefix),
89
- [aui],
90
- );
91
- const adapters = useMemo(() => ({ history }), [history]);
92
-
93
- return (
94
- <RuntimeAdapterProvider adapters={adapters}>
95
- {children}
96
- </RuntimeAdapterProvider>
97
- );
98
- };
99
- return Provider;
100
- };
101
-
102
- export const createLocalStorageAdapter = (
103
- options: LocalStorageAdapterOptions,
104
- ): RemoteThreadListAdapter => {
105
- const { storage, prefix = "@assistant-ui:", titleGenerator } = options;
106
-
107
- const threadsKey = `${prefix}threads`;
108
- const messagesKey = (threadId: string) => `${prefix}messages:${threadId}`;
109
-
110
- const loadThreadMetadata = async (): Promise<StoredThreadMetadata[]> => {
111
- const raw = await storage.getItem(threadsKey);
112
- return raw ? (JSON.parse(raw) as StoredThreadMetadata[]) : [];
113
- };
114
-
115
- const saveThreadMetadata = async (
116
- threads: StoredThreadMetadata[],
117
- ): Promise<void> => {
118
- await storage.setItem(threadsKey, JSON.stringify(threads));
119
- };
120
-
121
- const adapter: RemoteThreadListAdapter = {
122
- unstable_Provider: createHistoryProvider(storage, prefix),
123
-
124
- async list(): Promise<RemoteThreadListResponse> {
125
- const threads = await loadThreadMetadata();
126
- return {
127
- threads: threads.map((t) => ({
128
- remoteId: t.remoteId,
129
- externalId: t.externalId,
130
- status: t.status,
131
- title: t.title,
132
- })),
133
- };
134
- },
135
-
136
- async initialize(
137
- threadId: string,
138
- ): Promise<RemoteThreadInitializeResponse> {
139
- const remoteId = threadId;
140
- const threads = await loadThreadMetadata();
141
-
142
- // Only add if not already present
143
- if (!threads.some((t) => t.remoteId === remoteId)) {
144
- threads.unshift({
145
- remoteId,
146
- status: "regular",
147
- });
148
- await saveThreadMetadata(threads);
149
- }
150
-
151
- return { remoteId, externalId: undefined };
152
- },
153
-
154
- async rename(remoteId: string, newTitle: string): Promise<void> {
155
- const threads = await loadThreadMetadata();
156
- const thread = threads.find((t) => t.remoteId === remoteId);
157
- if (thread) {
158
- thread.title = newTitle;
159
- await saveThreadMetadata(threads);
160
- }
161
- },
162
-
163
- async archive(remoteId: string): Promise<void> {
164
- const threads = await loadThreadMetadata();
165
- const thread = threads.find((t) => t.remoteId === remoteId);
166
- if (thread) {
167
- thread.status = "archived";
168
- await saveThreadMetadata(threads);
169
- }
170
- },
171
-
172
- async unarchive(remoteId: string): Promise<void> {
173
- const threads = await loadThreadMetadata();
174
- const thread = threads.find((t) => t.remoteId === remoteId);
175
- if (thread) {
176
- thread.status = "regular";
177
- await saveThreadMetadata(threads);
178
- }
179
- },
180
-
181
- async delete(remoteId: string): Promise<void> {
182
- const threads = await loadThreadMetadata();
183
- const filtered = threads.filter((t) => t.remoteId !== remoteId);
184
- await saveThreadMetadata(filtered);
185
- await storage.removeItem(messagesKey(remoteId));
186
- },
187
-
188
- async fetch(threadId: string): Promise<RemoteThreadMetadata> {
189
- const threads = await loadThreadMetadata();
190
- const thread = threads.find((t) => t.remoteId === threadId);
191
- if (!thread) throw new Error("Thread not found");
192
- return {
193
- remoteId: thread.remoteId,
194
- externalId: thread.externalId,
195
- status: thread.status,
196
- title: thread.title,
197
- };
198
- },
199
-
200
- async generateTitle(
201
- remoteId: string,
202
- messages: readonly ThreadMessage[],
203
- ): Promise<AssistantStream> {
204
- if (titleGenerator) {
205
- const title = await titleGenerator.generateTitle(messages);
206
-
207
- // Update the stored title
208
- const threads = await loadThreadMetadata();
209
- const thread = threads.find((t) => t.remoteId === remoteId);
210
- if (thread) {
211
- thread.title = title;
212
- await saveThreadMetadata(threads);
213
- }
214
-
215
- // Return a stream with a single text part
216
- return createAssistantStream((controller) => {
217
- controller.appendText(title);
218
- });
219
- }
220
-
221
- // No title generator — return empty stream
222
- return createAssistantStream(() => {});
223
- },
224
- };
225
-
226
- return adapter;
227
- };
@@ -1,20 +0,0 @@
1
- import type { ThreadMessage } from "@assistant-ui/core";
2
-
3
- export type TitleGenerationAdapter = {
4
- generateTitle(messages: readonly ThreadMessage[]): Promise<string>;
5
- };
6
-
7
- export const createSimpleTitleAdapter = (): TitleGenerationAdapter => {
8
- return {
9
- async generateTitle(messages) {
10
- const firstUserMessage = messages.find((m) => m.role === "user");
11
- if (!firstUserMessage) return "New Thread";
12
-
13
- const textPart = firstUserMessage.content.find((p) => p.type === "text");
14
- if (!textPart || textPart.type !== "text") return "New Thread";
15
-
16
- const text = textPart.text.trim();
17
- return text.length > 50 ? `${text.slice(0, 47)}...` : text;
18
- },
19
- };
20
- };
@@ -1,5 +0,0 @@
1
- export {
2
- type TitleGenerationAdapter,
3
- createSimpleTitleAdapter,
4
- } from "./TitleGenerationAdapter";
5
- export { createLocalStorageAdapter } from "./LocalStorageThreadListAdapter";
@@ -1,7 +0,0 @@
1
- // Re-export shared clients from core/react
2
- export { Tools, DataRenderers } from "@assistant-ui/core/react";
3
-
4
- // Re-export clients from core
5
- export { ModelContext as ModelContextClient } from "@assistant-ui/core/store";
6
- export { Suggestions, type SuggestionConfig } from "@assistant-ui/core/store";
7
- export { ChainOfThoughtClient } from "@assistant-ui/core/store";
@@ -1,4 +0,0 @@
1
- export {
2
- AssistantRuntimeProvider,
3
- useAssistantRuntime,
4
- } from "./AssistantContext";
@@ -1,44 +0,0 @@
1
- // Re-export shared from core/react
2
- export {
3
- makeAssistantTool,
4
- type AssistantTool,
5
- makeAssistantToolUI,
6
- type AssistantToolUI,
7
- makeAssistantDataUI,
8
- type AssistantDataUI,
9
- useAssistantTool,
10
- type AssistantToolProps,
11
- useAssistantToolUI,
12
- type AssistantToolUIProps,
13
- useAssistantDataUI,
14
- type AssistantDataUIProps,
15
- useAssistantInstructions,
16
- useInlineRender,
17
- type Toolkit,
18
- type ToolDefinition,
19
- Tools,
20
- DataRenderers,
21
- } from "@assistant-ui/core/react";
22
-
23
- // Core pass-through (unchanged)
24
- export type {
25
- ModelContext,
26
- ModelContextProvider,
27
- LanguageModelConfig,
28
- LanguageModelV1CallSettings,
29
- } from "@assistant-ui/core";
30
-
31
- export { mergeModelContexts } from "@assistant-ui/core";
32
-
33
- export type { Tool } from "assistant-stream";
34
-
35
- export { tool } from "@assistant-ui/core";
36
-
37
- export { Suggestions, type SuggestionConfig } from "@assistant-ui/core/store";
38
-
39
- export { ModelContextRegistry } from "@assistant-ui/core";
40
- export type {
41
- ModelContextRegistryToolHandle,
42
- ModelContextRegistryInstructionHandle,
43
- ModelContextRegistryProviderHandle,
44
- } from "@assistant-ui/core";
@@ -1,18 +0,0 @@
1
- export { useThreadMessages } from "./useThreadMessages";
2
- export { useThreadIsRunning } from "./useThreadIsRunning";
3
- export { useThreadIsEmpty } from "./useThreadIsEmpty";
4
- export { useComposerSend } from "./useComposerSend";
5
- export { useComposerCancel } from "./useComposerCancel";
6
- export { useMessageReload } from "./useMessageReload";
7
- export { useMessageBranching } from "./useMessageBranching";
8
- export {
9
- useActionBarCopy,
10
- type UseActionBarCopyOptions,
11
- } from "./useActionBarCopy";
12
- export { useActionBarEdit } from "./useActionBarEdit";
13
- export { useActionBarReload } from "./useActionBarReload";
14
- export {
15
- useActionBarFeedbackPositive,
16
- useActionBarFeedbackNegative,
17
- } from "./useActionBarFeedback";
18
- export { useComposerAddAttachment } from "./useComposerAddAttachment";
@@ -1,38 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export type UseActionBarCopyOptions = {
5
- copiedDuration?: number | undefined;
6
- copyToClipboard?: ((text: string) => void | Promise<void>) | undefined;
7
- };
8
-
9
- export const useActionBarCopy = ({
10
- copiedDuration = 3000,
11
- copyToClipboard,
12
- }: UseActionBarCopyOptions = {}) => {
13
- const aui = useAui();
14
- const disabled = useAuiState((s) => {
15
- return !(
16
- (s.message.role !== "assistant" ||
17
- s.message.status?.type !== "running") &&
18
- s.message.parts.some((c) => c.type === "text" && c.text.length > 0)
19
- );
20
- });
21
- const isCopied = useAuiState((s) => s.message.isCopied);
22
- const isEditing = useAuiState((s) => s.composer.isEditing);
23
- const composerValue = useAuiState((s) => s.composer.text);
24
-
25
- const copy = useCallback(() => {
26
- const valueToCopy = isEditing ? composerValue : aui.message().getCopyText();
27
- if (!valueToCopy) return;
28
-
29
- const write = copyToClipboard ?? (() => {});
30
- const result = write(valueToCopy);
31
- Promise.resolve(result).then(() => {
32
- aui.message().setIsCopied(true);
33
- setTimeout(() => aui.message().setIsCopied(false), copiedDuration);
34
- });
35
- }, [aui, isEditing, composerValue, copiedDuration, copyToClipboard]);
36
-
37
- return { copy, disabled, isCopied };
38
- };
@@ -1,13 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export const useActionBarEdit = () => {
5
- const aui = useAui();
6
- const disabled = useAuiState((s) => s.composer.isEditing);
7
-
8
- const edit = useCallback(() => {
9
- aui.composer().beginEdit();
10
- }, [aui]);
11
-
12
- return { edit, disabled };
13
- };
@@ -1,28 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export const useActionBarFeedbackPositive = () => {
5
- const aui = useAui();
6
- const isSubmitted = useAuiState(
7
- (s) => s.message.metadata.submittedFeedback?.type === "positive",
8
- );
9
-
10
- const submit = useCallback(() => {
11
- aui.message().submitFeedback({ type: "positive" });
12
- }, [aui]);
13
-
14
- return { submit, isSubmitted };
15
- };
16
-
17
- export const useActionBarFeedbackNegative = () => {
18
- const aui = useAui();
19
- const isSubmitted = useAuiState(
20
- (s) => s.message.metadata.submittedFeedback?.type === "negative",
21
- );
22
-
23
- const submit = useCallback(() => {
24
- aui.message().submitFeedback({ type: "negative" });
25
- }, [aui]);
26
-
27
- return { submit, isSubmitted };
28
- };
@@ -1,18 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export const useActionBarReload = () => {
5
- const aui = useAui();
6
- const disabled = useAuiState(
7
- (s) =>
8
- s.thread.isRunning ||
9
- s.thread.isDisabled ||
10
- s.message.role !== "assistant",
11
- );
12
-
13
- const reload = useCallback(() => {
14
- aui.message().reload();
15
- }, [aui]);
16
-
17
- return { reload, disabled };
18
- };
@@ -1,16 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui } from "@assistant-ui/store";
3
- import type { CreateAttachment } from "@assistant-ui/core";
4
-
5
- export const useComposerAddAttachment = () => {
6
- const aui = useAui();
7
-
8
- const addAttachment = useCallback(
9
- (file: File | CreateAttachment) => {
10
- return aui.composer().addAttachment(file);
11
- },
12
- [aui],
13
- );
14
-
15
- return { addAttachment };
16
- };
@@ -1,13 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export const useComposerCancel = () => {
5
- const aui = useAui();
6
- const canCancel = useAuiState((s) => s.thread.isRunning);
7
-
8
- const cancel = useCallback(() => {
9
- aui.composer().cancel();
10
- }, [aui]);
11
-
12
- return { cancel, canCancel };
13
- };
@@ -1,15 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export const useComposerSend = () => {
5
- const aui = useAui();
6
- const canSend = useAuiState(
7
- (s) => !s.thread.isRunning && s.composer.isEditing && !s.composer.isEmpty,
8
- );
9
-
10
- const send = useCallback(() => {
11
- aui.composer().send();
12
- }, [aui]);
13
-
14
- return { send, canSend };
15
- };
@@ -1,12 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui } from "@assistant-ui/store";
3
-
4
- export const useEditComposerCancel = () => {
5
- const aui = useAui();
6
-
7
- const cancel = useCallback(() => {
8
- aui.composer().cancel();
9
- }, [aui]);
10
-
11
- return { cancel };
12
- };
@@ -1,13 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export const useEditComposerSend = () => {
5
- const aui = useAui();
6
- const disabled = useAuiState((s) => s.composer.isEmpty);
7
-
8
- const send = useCallback(() => {
9
- aui.composer().send();
10
- }, [aui]);
11
-
12
- return { send, disabled };
13
- };
@@ -1,18 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export const useMessageBranching = () => {
5
- const aui = useAui();
6
- const branchNumber = useAuiState((s) => s.message.branchNumber);
7
- const branchCount = useAuiState((s) => s.message.branchCount);
8
-
9
- const goToPrev = useCallback(() => {
10
- aui.message().switchToBranch({ position: "previous" });
11
- }, [aui]);
12
-
13
- const goToNext = useCallback(() => {
14
- aui.message().switchToBranch({ position: "next" });
15
- }, [aui]);
16
-
17
- return { branchNumber, branchCount, goToPrev, goToNext };
18
- };
@@ -1,13 +0,0 @@
1
- import { useCallback } from "react";
2
- import { useAui, useAuiState } from "@assistant-ui/store";
3
-
4
- export const useMessageReload = () => {
5
- const aui = useAui();
6
- const canReload = useAuiState((s) => s.message.role === "assistant");
7
-
8
- const reload = useCallback(() => {
9
- aui.message().reload();
10
- }, [aui]);
11
-
12
- return { reload, canReload };
13
- };
@@ -1,5 +0,0 @@
1
- import { useAuiState } from "@assistant-ui/store";
2
-
3
- export const useThreadIsEmpty = (): boolean => {
4
- return useAuiState((s) => s.thread.isEmpty);
5
- };
@@ -1,5 +0,0 @@
1
- import { useAuiState } from "@assistant-ui/store";
2
-
3
- export const useThreadIsRunning = (): boolean => {
4
- return useAuiState((s) => s.thread.isRunning);
5
- };
@@ -1,6 +0,0 @@
1
- import { useAuiState } from "@assistant-ui/store";
2
- import type { MessageState } from "@assistant-ui/core/store";
3
-
4
- export const useThreadMessages = (): readonly MessageState[] => {
5
- return useAuiState((s) => s.thread.messages);
6
- };
@@ -1,20 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import { Pressable, type PressableProps } from "react-native";
3
- import { useEditComposerCancel } from "../../primitive-hooks/useEditComposerCancel";
4
-
5
- export type EditComposerCancelProps = Omit<PressableProps, "onPress"> & {
6
- children: ReactNode;
7
- };
8
-
9
- export const EditComposerCancel = ({
10
- children,
11
- ...pressableProps
12
- }: EditComposerCancelProps) => {
13
- const { cancel } = useEditComposerCancel();
14
-
15
- return (
16
- <Pressable onPress={cancel} {...pressableProps}>
17
- {children}
18
- </Pressable>
19
- );
20
- };
@@ -1,22 +0,0 @@
1
- import { useCallback } from "react";
2
- import { TextInput, type TextInputProps } from "react-native";
3
- import { useAui, useAuiState } from "@assistant-ui/store";
4
-
5
- export type EditComposerInputProps = Omit<
6
- TextInputProps,
7
- "value" | "onChangeText"
8
- >;
9
-
10
- export const EditComposerInput = (props: EditComposerInputProps) => {
11
- const aui = useAui();
12
- const text = useAuiState((s) => s.composer.text);
13
-
14
- const onChangeText = useCallback(
15
- (value: string) => {
16
- aui.composer().setText(value);
17
- },
18
- [aui],
19
- );
20
-
21
- return <TextInput value={text} onChangeText={onChangeText} {...props} />;
22
- };
@@ -1,25 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import { Pressable, type PressableProps } from "react-native";
3
- import { useEditComposerSend } from "../../primitive-hooks/useEditComposerSend";
4
-
5
- export type EditComposerSendProps = Omit<PressableProps, "onPress"> & {
6
- children: ReactNode;
7
- };
8
-
9
- export const EditComposerSend = ({
10
- children,
11
- disabled: disabledProp,
12
- ...pressableProps
13
- }: EditComposerSendProps) => {
14
- const { send, disabled } = useEditComposerSend();
15
-
16
- return (
17
- <Pressable
18
- onPress={send}
19
- disabled={disabledProp ?? disabled}
20
- {...pressableProps}
21
- >
22
- {children}
23
- </Pressable>
24
- );
25
- };
@@ -1,2 +0,0 @@
1
- export { useLocalRuntime, type LocalRuntimeOptions } from "./useLocalRuntime";
2
- export { useRemoteThreadListRuntime } from "./useRemoteThreadListRuntime";
@@ -1,23 +0,0 @@
1
- // React component types (from core/react)
2
- export type {
3
- EmptyMessagePartComponent,
4
- EmptyMessagePartProps,
5
- TextMessagePartComponent,
6
- TextMessagePartProps,
7
- ReasoningMessagePartComponent,
8
- ReasoningMessagePartProps,
9
- ReasoningGroupProps,
10
- ReasoningGroupComponent,
11
- SourceMessagePartComponent,
12
- SourceMessagePartProps,
13
- ImageMessagePartComponent,
14
- ImageMessagePartProps,
15
- FileMessagePartComponent,
16
- FileMessagePartProps,
17
- Unstable_AudioMessagePartComponent,
18
- Unstable_AudioMessagePartProps,
19
- DataMessagePartComponent,
20
- DataMessagePartProps,
21
- ToolCallMessagePartComponent,
22
- ToolCallMessagePartProps,
23
- } from "@assistant-ui/core/react";