@assistant-ui/react-native 0.1.0 → 0.1.1

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 (255) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -6
  3. package/dist/client/index.d.ts +5 -0
  4. package/dist/client/index.d.ts.map +1 -0
  5. package/dist/client/index.js +7 -0
  6. package/dist/client/index.js.map +1 -0
  7. package/dist/context/AssistantContext.d.ts.map +1 -1
  8. package/dist/context/AssistantContext.js +4 -9
  9. package/dist/context/AssistantContext.js.map +1 -1
  10. package/dist/context/providers/AttachmentByIndexProvider.d.ts +2 -0
  11. package/dist/context/providers/AttachmentByIndexProvider.d.ts.map +1 -0
  12. package/dist/context/providers/AttachmentByIndexProvider.js +2 -0
  13. package/dist/context/providers/AttachmentByIndexProvider.js.map +1 -0
  14. package/dist/context/providers/RuntimeAdapterProvider.d.ts +2 -1
  15. package/dist/context/providers/RuntimeAdapterProvider.d.ts.map +1 -1
  16. package/dist/context/providers/RuntimeAdapterProvider.js.map +1 -1
  17. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +1 -5
  18. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -1
  19. package/dist/context/providers/ThreadListItemRuntimeProvider.js +1 -9
  20. package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +1 -1
  21. package/dist/index.d.ts +15 -6
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +17 -6
  24. package/dist/index.js.map +1 -1
  25. package/dist/model-context/index.d.ts +9 -0
  26. package/dist/model-context/index.d.ts.map +1 -0
  27. package/dist/model-context/index.js +7 -0
  28. package/dist/model-context/index.js.map +1 -0
  29. package/dist/primitive-hooks/index.d.ts +1 -0
  30. package/dist/primitive-hooks/index.d.ts.map +1 -1
  31. package/dist/primitive-hooks/index.js +1 -0
  32. package/dist/primitive-hooks/index.js.map +1 -1
  33. package/dist/primitive-hooks/useComposerAddAttachment.d.ts +5 -0
  34. package/dist/primitive-hooks/useComposerAddAttachment.d.ts.map +1 -0
  35. package/dist/primitive-hooks/useComposerAddAttachment.js +10 -0
  36. package/dist/primitive-hooks/useComposerAddAttachment.js.map +1 -0
  37. package/dist/primitive-hooks/useThreadIsRunning.js +2 -2
  38. package/dist/primitive-hooks/useThreadIsRunning.js.map +1 -1
  39. package/dist/primitives/attachment/AttachmentName.d.ts +5 -0
  40. package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -0
  41. package/dist/primitives/attachment/AttachmentName.js +8 -0
  42. package/dist/primitives/attachment/AttachmentName.js.map +1 -0
  43. package/dist/primitives/attachment/AttachmentRemove.d.ts +7 -0
  44. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -0
  45. package/dist/primitives/attachment/AttachmentRemove.js +12 -0
  46. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -0
  47. package/dist/primitives/attachment/AttachmentRoot.d.ts +7 -0
  48. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -0
  49. package/dist/primitives/attachment/AttachmentRoot.js +6 -0
  50. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -0
  51. package/dist/primitives/attachment/AttachmentThumb.d.ts +5 -0
  52. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -0
  53. package/dist/primitives/attachment/AttachmentThumb.js +11 -0
  54. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -0
  55. package/dist/primitives/attachment/index.d.ts +5 -0
  56. package/dist/primitives/attachment/index.d.ts.map +1 -0
  57. package/dist/primitives/attachment/index.js +5 -0
  58. package/dist/primitives/attachment/index.js.map +1 -0
  59. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +7 -0
  60. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -0
  61. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js +13 -0
  62. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js.map +1 -0
  63. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +7 -0
  64. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -0
  65. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js +6 -0
  66. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -0
  67. package/dist/primitives/chainOfThought/index.d.ts +4 -0
  68. package/dist/primitives/chainOfThought/index.d.ts.map +1 -0
  69. package/dist/primitives/chainOfThought/index.js +4 -0
  70. package/dist/primitives/chainOfThought/index.js.map +1 -0
  71. package/dist/primitives/composer/ComposerAddAttachment.d.ts +14 -0
  72. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -0
  73. package/dist/primitives/composer/ComposerAddAttachment.js +17 -0
  74. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -0
  75. package/dist/primitives/composer/ComposerAttachments.d.ts +18 -0
  76. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -0
  77. package/dist/primitives/composer/ComposerAttachments.js +4 -0
  78. package/dist/primitives/composer/ComposerAttachments.js.map +1 -0
  79. package/dist/primitives/composer/ComposerIf.d.ts +2 -0
  80. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -0
  81. package/dist/primitives/composer/ComposerIf.js +2 -0
  82. package/dist/primitives/composer/ComposerIf.js.map +1 -0
  83. package/dist/primitives/composer/index.d.ts +3 -0
  84. package/dist/primitives/composer/index.d.ts.map +1 -1
  85. package/dist/primitives/composer/index.js +3 -0
  86. package/dist/primitives/composer/index.js.map +1 -1
  87. package/dist/primitives/message/MessageAttachments.d.ts +12 -0
  88. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -0
  89. package/dist/primitives/message/MessageAttachments.js +4 -0
  90. package/dist/primitives/message/MessageAttachments.js.map +1 -0
  91. package/dist/primitives/message/MessageContent.d.ts.map +1 -1
  92. package/dist/primitives/message/MessageContent.js +34 -9
  93. package/dist/primitives/message/MessageContent.js.map +1 -1
  94. package/dist/primitives/message/MessageIf.js +2 -2
  95. package/dist/primitives/message/MessageIf.js.map +1 -1
  96. package/dist/primitives/message/MessageParts.d.ts +11 -0
  97. package/dist/primitives/message/MessageParts.d.ts.map +1 -0
  98. package/dist/primitives/message/MessageParts.js +37 -0
  99. package/dist/primitives/message/MessageParts.js.map +1 -0
  100. package/dist/primitives/message/index.d.ts +2 -0
  101. package/dist/primitives/message/index.d.ts.map +1 -1
  102. package/dist/primitives/message/index.js +2 -0
  103. package/dist/primitives/message/index.js.map +1 -1
  104. package/dist/primitives/suggestion/SuggestionDescription.d.ts +7 -0
  105. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -0
  106. package/dist/primitives/suggestion/SuggestionDescription.js +8 -0
  107. package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -0
  108. package/dist/primitives/suggestion/SuggestionTitle.d.ts +7 -0
  109. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -0
  110. package/dist/primitives/suggestion/SuggestionTitle.js +8 -0
  111. package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -0
  112. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +18 -0
  113. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -0
  114. package/dist/primitives/suggestion/SuggestionTrigger.js +35 -0
  115. package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -0
  116. package/dist/primitives/suggestion/index.d.ts +4 -0
  117. package/dist/primitives/suggestion/index.d.ts.map +1 -0
  118. package/dist/primitives/suggestion/index.js +4 -0
  119. package/dist/primitives/suggestion/index.js.map +1 -0
  120. package/dist/primitives/thread/ThreadIf.js +2 -2
  121. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  122. package/dist/primitives/thread/ThreadSuggestion.d.ts +20 -0
  123. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -0
  124. package/dist/primitives/thread/ThreadSuggestion.js +34 -0
  125. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -0
  126. package/dist/primitives/thread/index.d.ts +3 -0
  127. package/dist/primitives/thread/index.d.ts.map +1 -1
  128. package/dist/primitives/thread/index.js +3 -0
  129. package/dist/primitives/thread/index.js.map +1 -1
  130. package/dist/primitives/threadList/ThreadListItems.js +2 -2
  131. package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
  132. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +7 -0
  133. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
  134. package/dist/primitives/threadListItem/ThreadListItemArchive.js +12 -0
  135. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -0
  136. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +7 -0
  137. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
  138. package/dist/primitives/threadListItem/ThreadListItemDelete.js +12 -0
  139. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -0
  140. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +7 -0
  141. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -0
  142. package/dist/primitives/threadListItem/ThreadListItemRoot.js +6 -0
  143. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -0
  144. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +7 -0
  145. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -0
  146. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +12 -0
  147. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -0
  148. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +7 -0
  149. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
  150. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +12 -0
  151. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -0
  152. package/dist/primitives/threadListItem/index.d.ts +7 -0
  153. package/dist/primitives/threadListItem/index.d.ts.map +1 -0
  154. package/dist/primitives/threadListItem/index.js +7 -0
  155. package/dist/primitives/threadListItem/index.js.map +1 -0
  156. package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +2 -1
  157. package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  158. package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.js +8 -2
  159. package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  160. package/dist/runtimes/useLocalRuntime.d.ts.map +1 -1
  161. package/dist/runtimes/useLocalRuntime.js +7 -2
  162. package/dist/runtimes/useLocalRuntime.js.map +1 -1
  163. package/dist/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
  164. package/dist/runtimes/useRemoteThreadListRuntime.js +14 -4
  165. package/dist/runtimes/useRemoteThreadListRuntime.js.map +1 -1
  166. package/dist/types/index.d.ts +2 -0
  167. package/dist/types/index.d.ts.map +1 -0
  168. package/dist/types/index.js +2 -0
  169. package/dist/types/index.js.map +1 -0
  170. package/dist/types/scopes/index.d.ts +3 -0
  171. package/dist/types/scopes/index.d.ts.map +1 -0
  172. package/dist/types/scopes/index.js +2 -0
  173. package/dist/types/scopes/index.js.map +1 -0
  174. package/package.json +13 -13
  175. package/src/client/index.ts +7 -0
  176. package/src/context/AssistantContext.tsx +6 -19
  177. package/src/context/providers/AttachmentByIndexProvider.tsx +4 -0
  178. package/src/context/providers/RuntimeAdapterProvider.tsx +2 -0
  179. package/src/context/providers/ThreadListItemRuntimeProvider.tsx +1 -16
  180. package/src/index.ts +52 -17
  181. package/src/model-context/index.ts +44 -0
  182. package/src/primitive-hooks/index.ts +1 -0
  183. package/src/primitive-hooks/useComposerAddAttachment.ts +16 -0
  184. package/src/primitive-hooks/useThreadIsRunning.ts +2 -2
  185. package/src/primitives/attachment/AttachmentName.tsx +10 -0
  186. package/src/primitives/attachment/AttachmentRemove.tsx +25 -0
  187. package/src/primitives/attachment/AttachmentRoot.tsx +13 -0
  188. package/src/primitives/attachment/AttachmentThumb.tsx +13 -0
  189. package/src/primitives/attachment/index.ts +7 -0
  190. package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.tsx +28 -0
  191. package/src/primitives/chainOfThought/ChainOfThoughtRoot.tsx +13 -0
  192. package/src/primitives/chainOfThought/index.ts +9 -0
  193. package/src/primitives/composer/ComposerAddAttachment.tsx +30 -0
  194. package/src/primitives/composer/ComposerAttachments.tsx +25 -0
  195. package/src/primitives/composer/ComposerIf.tsx +1 -0
  196. package/src/primitives/composer/index.ts +9 -0
  197. package/src/primitives/message/MessageAttachments.tsx +18 -0
  198. package/src/primitives/message/MessageContent.tsx +82 -7
  199. package/src/primitives/message/MessageIf.tsx +2 -2
  200. package/src/primitives/message/MessageParts.tsx +60 -0
  201. package/src/primitives/message/index.ts +8 -0
  202. package/src/primitives/suggestion/SuggestionDescription.tsx +16 -0
  203. package/src/primitives/suggestion/SuggestionTitle.tsx +16 -0
  204. package/src/primitives/suggestion/SuggestionTrigger.tsx +64 -0
  205. package/src/primitives/suggestion/index.ts +12 -0
  206. package/src/primitives/thread/ThreadIf.tsx +2 -2
  207. package/src/primitives/thread/ThreadSuggestion.tsx +66 -0
  208. package/src/primitives/thread/index.ts +12 -0
  209. package/src/primitives/threadList/ThreadListItems.tsx +2 -2
  210. package/src/primitives/threadListItem/ThreadListItemArchive.tsx +24 -0
  211. package/src/primitives/threadListItem/ThreadListItemDelete.tsx +24 -0
  212. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +13 -0
  213. package/src/primitives/threadListItem/ThreadListItemTrigger.tsx +24 -0
  214. package/src/primitives/threadListItem/ThreadListItemUnarchive.tsx +24 -0
  215. package/src/primitives/threadListItem/index.ts +21 -0
  216. package/src/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +14 -4
  217. package/src/runtimes/useLocalRuntime.ts +7 -2
  218. package/src/runtimes/useRemoteThreadListRuntime.ts +20 -4
  219. package/src/types/index.ts +23 -0
  220. package/src/types/scopes/index.ts +59 -0
  221. package/dist/hooks/index.d.ts +0 -6
  222. package/dist/hooks/index.d.ts.map +0 -1
  223. package/dist/hooks/index.js +0 -6
  224. package/dist/hooks/index.js.map +0 -1
  225. package/dist/hooks/useComposer.d.ts +0 -4
  226. package/dist/hooks/useComposer.d.ts.map +0 -1
  227. package/dist/hooks/useComposer.js +0 -5
  228. package/dist/hooks/useComposer.js.map +0 -1
  229. package/dist/hooks/useContentPart.d.ts +0 -2
  230. package/dist/hooks/useContentPart.d.ts.map +0 -1
  231. package/dist/hooks/useContentPart.js +0 -5
  232. package/dist/hooks/useContentPart.js.map +0 -1
  233. package/dist/hooks/useMessage.d.ts +0 -4
  234. package/dist/hooks/useMessage.d.ts.map +0 -1
  235. package/dist/hooks/useMessage.js +0 -5
  236. package/dist/hooks/useMessage.js.map +0 -1
  237. package/dist/hooks/useThread.d.ts +0 -4
  238. package/dist/hooks/useThread.d.ts.map +0 -1
  239. package/dist/hooks/useThread.js +0 -5
  240. package/dist/hooks/useThread.js.map +0 -1
  241. package/dist/hooks/useThreadList.d.ts +0 -4
  242. package/dist/hooks/useThreadList.d.ts.map +0 -1
  243. package/dist/hooks/useThreadList.js +0 -5
  244. package/dist/hooks/useThreadList.js.map +0 -1
  245. package/dist/runtimes/runtime-adapter.d.ts +0 -3
  246. package/dist/runtimes/runtime-adapter.d.ts.map +0 -1
  247. package/dist/runtimes/runtime-adapter.js +0 -44
  248. package/dist/runtimes/runtime-adapter.js.map +0 -1
  249. package/src/hooks/index.ts +0 -5
  250. package/src/hooks/useComposer.ts +0 -14
  251. package/src/hooks/useContentPart.ts +0 -5
  252. package/src/hooks/useMessage.ts +0 -14
  253. package/src/hooks/useThread.ts +0 -14
  254. package/src/hooks/useThreadList.ts +0 -14
  255. package/src/runtimes/runtime-adapter.ts +0 -63
@@ -0,0 +1,4 @@
1
+ export { ChainOfThoughtRoot, } from "./ChainOfThoughtRoot.js";
2
+ export { ChainOfThoughtAccordionTrigger, } from "./ChainOfThoughtAccordionTrigger.js";
3
+ export { ChainOfThoughtPrimitiveParts } from "@assistant-ui/core/react";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/chainOfThought/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAEnB,gCAA6B;AAC9B,OAAO,EACL,8BAA8B,GAE/B,4CAAyC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from "react";
2
+ import { type PressableProps } from "react-native";
3
+ export type ComposerAddAttachmentProps = Omit<PressableProps, "onPress"> & {
4
+ children: ReactNode;
5
+ };
6
+ /**
7
+ * A button that triggers the attachment adding flow.
8
+ *
9
+ * Note: The actual file picker implementation is platform-specific.
10
+ * This component calls `useComposerAddAttachment()` from your primitive-hooks.
11
+ * You must handle the file selection in your own component using the returned `addAttachment` callback.
12
+ */
13
+ export declare const ComposerAddAttachment: ({ children, disabled: disabledProp, ...pressableProps }: ComposerAddAttachmentProps) => import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=ComposerAddAttachment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerAddAttachment.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerAddAttachment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9D,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IACzE,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,yDAInC,0BAA0B,4CAS5B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Pressable } from "react-native";
3
+ import { useComposerAddAttachment } from "../../primitive-hooks/useComposerAddAttachment.js";
4
+ import { useAuiState } from "@assistant-ui/store";
5
+ /**
6
+ * A button that triggers the attachment adding flow.
7
+ *
8
+ * Note: The actual file picker implementation is platform-specific.
9
+ * This component calls `useComposerAddAttachment()` from your primitive-hooks.
10
+ * You must handle the file selection in your own component using the returned `addAttachment` callback.
11
+ */
12
+ export const ComposerAddAttachment = ({ children, disabled: disabledProp, ...pressableProps }) => {
13
+ const isDisabled = useAuiState((s) => !s.composer.isEditing);
14
+ const { addAttachment: _addAttachment } = useComposerAddAttachment();
15
+ return (_jsx(Pressable, { disabled: disabledProp ?? isDisabled, ...pressableProps, children: children }));
16
+ };
17
+ //# sourceMappingURL=ComposerAddAttachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerAddAttachment.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerAddAttachment.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,0DAAuD;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,GAAG,cAAc,EACU,EAAE,EAAE;IAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAErE,OAAO,CACL,KAAC,SAAS,IAAC,QAAQ,EAAE,YAAY,IAAI,UAAU,KAAM,cAAc,YAChE,QAAQ,GACC,CACb,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ComponentType } from "react";
2
+ import { ComposerPrimitiveAttachments, ComposerPrimitiveAttachmentByIndex } from "@assistant-ui/core/react";
3
+ export type AttachmentComponents = {
4
+ Image?: ComponentType | undefined;
5
+ Document?: ComponentType | undefined;
6
+ File?: ComponentType | undefined;
7
+ Attachment?: ComponentType | undefined;
8
+ };
9
+ export type ComposerAttachmentsProps = {
10
+ components: AttachmentComponents | undefined;
11
+ };
12
+ export type ComposerAttachmentByIndexProps = {
13
+ index: number;
14
+ components?: AttachmentComponents | undefined;
15
+ };
16
+ export declare const ComposerAttachmentByIndex: import("react").FC<ComposerPrimitiveAttachmentByIndex.Props>;
17
+ export declare const ComposerAttachments: import("react").FC<ComposerPrimitiveAttachments.Props>;
18
+ //# sourceMappingURL=ComposerAttachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerAttachments.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerAttachments.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,4BAA4B,EAC5B,kCAAkC,EACnC,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACrC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,yBAAyB,8DAAqC,CAAC;AAE5E,eAAO,MAAM,mBAAmB,wDAA+B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ComposerPrimitiveAttachments, ComposerPrimitiveAttachmentByIndex, } from "@assistant-ui/core/react";
2
+ export const ComposerAttachmentByIndex = ComposerPrimitiveAttachmentByIndex;
3
+ export const ComposerAttachments = ComposerPrimitiveAttachments;
4
+ //# sourceMappingURL=ComposerAttachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerAttachments.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerAttachments.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,0BAA0B,CAAC;AAkBlC,MAAM,CAAC,MAAM,yBAAyB,GAAG,kCAAkC,CAAC;AAE5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ComposerPrimitiveIf as ComposerIf } from "@assistant-ui/core/react";
2
+ //# sourceMappingURL=ComposerIf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerIf.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerIf.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ComposerPrimitiveIf as ComposerIf } from "@assistant-ui/core/react";
2
+ //# sourceMappingURL=ComposerIf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerIf.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerIf.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,7 +1,10 @@
1
1
  export { ComposerRoot, type ComposerRootProps } from "./ComposerRoot.js";
2
+ export { ComposerAttachments, ComposerAttachmentByIndex, } from "./ComposerAttachments.js";
2
3
  export { ComposerInput, type ComposerInputProps } from "./ComposerInput.js";
3
4
  export { ComposerSend, type ComposerSendProps } from "./ComposerSend.js";
4
5
  export { ComposerCancel, type ComposerCancelProps } from "./ComposerCancel.js";
6
+ export { ComposerAddAttachment, type ComposerAddAttachmentProps, } from "./ComposerAddAttachment.js";
7
+ export { ComposerIf } from "./ComposerIf.js";
5
8
  export { EditComposerInput, type EditComposerInputProps, } from "./EditComposerInput.js";
6
9
  export { EditComposerSend, type EditComposerSendProps, } from "./EditComposerSend.js";
7
10
  export { EditComposerCancel, type EditComposerCancelProps, } from "./EditComposerCancel.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,0BAAuB;AACtE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,2BAAwB;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,0BAAuB;AACtE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,4BAAyB;AAC5E,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,+BAA4B;AAC7B,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,8BAA2B;AAC5B,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,gCAA6B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,0BAAuB;AACtE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,iCAA8B;AAC/B,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,2BAAwB;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,0BAAuB;AACtE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,4BAAyB;AAC5E,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,mCAAgC;AACjC,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAC1C,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,+BAA4B;AAC7B,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,8BAA2B;AAC5B,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,gCAA6B"}
@@ -1,7 +1,10 @@
1
1
  export { ComposerRoot } from "./ComposerRoot.js";
2
+ export { ComposerAttachments, ComposerAttachmentByIndex, } from "./ComposerAttachments.js";
2
3
  export { ComposerInput } from "./ComposerInput.js";
3
4
  export { ComposerSend } from "./ComposerSend.js";
4
5
  export { ComposerCancel } from "./ComposerCancel.js";
6
+ export { ComposerAddAttachment, } from "./ComposerAddAttachment.js";
7
+ export { ComposerIf } from "./ComposerIf.js";
5
8
  export { EditComposerInput, } from "./EditComposerInput.js";
6
9
  export { EditComposerSend, } from "./EditComposerSend.js";
7
10
  export { EditComposerCancel, } from "./EditComposerCancel.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/composer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,0BAAuB;AACtE,OAAO,EAAE,aAAa,EAA2B,2BAAwB;AACzE,OAAO,EAAE,YAAY,EAA0B,0BAAuB;AACtE,OAAO,EAAE,cAAc,EAA4B,4BAAyB;AAC5E,OAAO,EACL,iBAAiB,GAElB,+BAA4B;AAC7B,OAAO,EACL,gBAAgB,GAEjB,8BAA2B;AAC5B,OAAO,EACL,kBAAkB,GAEnB,gCAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/composer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,0BAAuB;AACtE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,iCAA8B;AAC/B,OAAO,EAAE,aAAa,EAA2B,2BAAwB;AACzE,OAAO,EAAE,YAAY,EAA0B,0BAAuB;AACtE,OAAO,EAAE,cAAc,EAA4B,4BAAyB;AAC5E,OAAO,EACL,qBAAqB,GAEtB,mCAAgC;AACjC,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAC1C,OAAO,EACL,iBAAiB,GAElB,+BAA4B;AAC7B,OAAO,EACL,gBAAgB,GAEjB,8BAA2B;AAC5B,OAAO,EACL,kBAAkB,GAEnB,gCAA6B"}
@@ -0,0 +1,12 @@
1
+ import { MessagePrimitiveAttachments, MessagePrimitiveAttachmentByIndex } from "@assistant-ui/core/react";
2
+ import type { AttachmentComponents } from "../composer/ComposerAttachments.js";
3
+ export type MessageAttachmentsProps = {
4
+ components: AttachmentComponents | undefined;
5
+ };
6
+ export type MessageAttachmentByIndexProps = {
7
+ index: number;
8
+ components?: AttachmentComponents | undefined;
9
+ };
10
+ export declare const MessageAttachmentByIndex: import("react").FC<MessagePrimitiveAttachmentByIndex.Props>;
11
+ export declare const MessageAttachments: import("react").FC<MessagePrimitiveAttachments.Props>;
12
+ //# sourceMappingURL=MessageAttachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageAttachments.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageAttachments.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EAClC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,2CAAwC;AAE5E,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,6DAAoC,CAAC;AAE1E,eAAO,MAAM,kBAAkB,uDAA8B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { MessagePrimitiveAttachments, MessagePrimitiveAttachmentByIndex, } from "@assistant-ui/core/react";
2
+ export const MessageAttachmentByIndex = MessagePrimitiveAttachmentByIndex;
3
+ export const MessageAttachments = MessagePrimitiveAttachments;
4
+ //# sourceMappingURL=MessageAttachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageAttachments.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageAttachments.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,0BAA0B,CAAC;AAYlC,MAAM,CAAC,MAAM,wBAAwB,GAAG,iCAAiC,CAAC;AAE1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContent.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAG5B,KAAK,kBAAkB,GAAG,qBAAqB,GAAG,0BAA0B,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QACzD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACrD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QACzD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAA;SAAE,CAAC,CAAC;QACtD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;CACpB,CAAC;AAUF,eAAO,MAAM,cAAc,GAAI,qGAQ5B,mBAAmB,4CAkDrB,CAAC"}
1
+ {"version":3,"file":"MessageContent.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAG3B,MAAM,oBAAoB,CAAC;AAO5B,KAAK,kBAAkB,GAAG,qBAAqB,GAAG,0BAA0B,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QACzD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACrD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;QACzD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAA;SAAE,CAAC,CAAC;QACtD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,YAAY,CAAC;CACpB,CAAC;AAmEF,eAAO,MAAM,cAAc,GAAI,qGAQ5B,mBAAmB,4CA8DrB,CAAC"}
@@ -1,21 +1,48 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Fragment } from "react";
2
+ import { Fragment, useMemo } from "react";
3
3
  import { Text } from "react-native";
4
- import { useMessage } from "../../hooks/useMessage.js";
4
+ import { useAui, useAuiState } from "@assistant-ui/store";
5
5
  const DefaultTextRenderer = ({ part, }) => {
6
6
  return _jsx(Text, { children: part.text });
7
7
  };
8
+ const ToolUIDisplay = ({ Fallback, part, index, }) => {
9
+ const aui = useAui();
10
+ const Render = useAuiState((s) => {
11
+ const renders = s.tools.tools[part.toolName];
12
+ if (Array.isArray(renders))
13
+ return renders[0];
14
+ return renders;
15
+ });
16
+ const partMethods = useMemo(() => aui.message().part({ index }), [aui, index]);
17
+ if (Render) {
18
+ return (_jsx(Render, { ...part, addResult: partMethods.addToolResult, resume: partMethods.resumeToolCall }));
19
+ }
20
+ if (Fallback)
21
+ return _jsx(Fallback, { part: part, index: index });
22
+ return null;
23
+ };
24
+ const DataUIDisplay = ({ Fallback, part, index, }) => {
25
+ const Render = useAuiState((s) => {
26
+ const renders = s.dataRenderers.renderers[part.name];
27
+ if (Array.isArray(renders))
28
+ return renders[0];
29
+ return renders;
30
+ });
31
+ if (Render)
32
+ return _jsx(Render, { ...part });
33
+ if (Fallback)
34
+ return _jsx(Fallback, { part: part, index: index });
35
+ return null;
36
+ };
8
37
  export const MessageContent = ({ renderText, renderToolCall, renderImage, renderReasoning, renderSource, renderFile, renderData, }) => {
9
- const content = useMessage((s) => s.content);
38
+ const content = useAuiState((s) => s.message.content);
10
39
  return (_jsx(_Fragment, { children: content.map((part, index) => {
11
40
  const key = `${part.type}-${index}`;
12
41
  switch (part.type) {
13
42
  case "text":
14
43
  return (_jsx(Fragment, { children: renderText ? (renderText({ part, index })) : (_jsx(DefaultTextRenderer, { part: part })) }, key));
15
44
  case "tool-call":
16
- if (!renderToolCall)
17
- return null;
18
- return (_jsx(Fragment, { children: renderToolCall({ part, index }) }, key));
45
+ return (_jsx(Fragment, { children: _jsx(ToolUIDisplay, { Fallback: renderToolCall, part: part, index: index }) }, key));
19
46
  case "image":
20
47
  if (!renderImage)
21
48
  return null;
@@ -33,9 +60,7 @@ export const MessageContent = ({ renderText, renderToolCall, renderImage, render
33
60
  return null;
34
61
  return _jsx(Fragment, { children: renderFile({ part, index }) }, key);
35
62
  case "data":
36
- if (!renderData)
37
- return null;
38
- return _jsx(Fragment, { children: renderData({ part, index }) }, key);
63
+ return (_jsx(Fragment, { children: _jsx(DataUIDisplay, { Fallback: renderData, part: part, index: index }) }, key));
39
64
  default:
40
65
  return null;
41
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContent.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,OAAO,EAAE,UAAU,EAAE,kCAA+B;AAmCpD,MAAM,mBAAmB,GAAG,CAAC,EAC3B,IAAI,GAGL,EAAE,EAAE;IACH,OAAO,KAAC,IAAI,cAAE,IAAI,CAAC,IAAI,GAAQ,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,UAAU,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,GACU,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE7C,OAAO,CACL,4BACG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YACpC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,CACL,KAAC,QAAQ,cACN,UAAU,CAAC,CAAC,CAAC,CACZ,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAC5B,CAAC,CAAC,CAAC,CACF,KAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,GAAI,CACpC,IALY,GAAG,CAMP,CACZ,CAAC;gBACJ,KAAK,WAAW;oBACd,IAAI,CAAC,cAAc;wBAAE,OAAO,IAAI,CAAC;oBACjC,OAAO,CACL,KAAC,QAAQ,cAAY,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAArC,GAAG,CAA8C,CACjE,CAAC;gBACJ,KAAK,OAAO;oBACV,IAAI,CAAC,WAAW;wBAAE,OAAO,IAAI,CAAC;oBAC9B,OAAO,CACL,KAAC,QAAQ,cAAY,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAlC,GAAG,CAA2C,CAC9D,CAAC;gBACJ,KAAK,WAAW;oBACd,IAAI,CAAC,eAAe;wBAAE,OAAO,IAAI,CAAC;oBAClC,OAAO,CACL,KAAC,QAAQ,cAAY,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAtC,GAAG,CAA+C,CAClE,CAAC;gBACJ,KAAK,QAAQ;oBACX,IAAI,CAAC,YAAY;wBAAE,OAAO,IAAI,CAAC;oBAC/B,OAAO,CACL,KAAC,QAAQ,cAAY,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAnC,GAAG,CAA4C,CAC/D,CAAC;gBACJ,KAAK,MAAM;oBACT,IAAI,CAAC,UAAU;wBAAE,OAAO,IAAI,CAAC;oBAC7B,OAAO,KAAC,QAAQ,cAAY,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAjC,GAAG,CAA0C,CAAC;gBACtE,KAAK,MAAM;oBACT,IAAI,CAAC,UAAU;wBAAE,OAAO,IAAI,CAAC;oBAC7B,OAAO,KAAC,QAAQ,cAAY,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAjC,GAAG,CAA0C,CAAC;gBACtE;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,GACD,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"MessageContent.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageContent.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { useMessage } from "../../hooks/useMessage.js";
2
+ import { useAuiState } from "@assistant-ui/store";
3
3
  export const MessageIf = ({ children, user, assistant, running, last, }) => {
4
- const message = useMessage();
4
+ const message = useAuiState((s) => s.message);
5
5
  if (user !== undefined) {
6
6
  if (user !== (message.role === "user"))
7
7
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageIf.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageIf.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,kCAA+B;AAUpD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACP,IAAI,GACW,EAAE,EAAE;IACnB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,SAAS,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IAED,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"MessageIf.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageIf.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAUlD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACP,IAAI,GACW,EAAE,EAAE;IACnB,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,SAAS,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IAED,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { FC } from "react";
2
+ import { MessagePrimitiveParts as MessagePrimitivePartsBase, MessagePartComponent as MessagePartComponentBase, MessagePrimitivePartByIndex as MessagePrimitivePartByIndexBase } from "@assistant-ui/core/react";
3
+ export declare namespace MessagePrimitiveParts {
4
+ type Props = MessagePrimitivePartsBase.Props;
5
+ }
6
+ /**
7
+ * Renders the parts of a message with React Native-specific default components.
8
+ */
9
+ export declare const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props>;
10
+ export { MessagePartComponentBase as MessagePartComponent, MessagePrimitivePartByIndexBase as MessagePrimitivePartByIndex, };
11
+ //# sourceMappingURL=MessageParts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageParts.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageParts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EACL,qBAAqB,IAAI,yBAAyB,EAClD,oBAAoB,IAAI,wBAAwB,EAChD,2BAA2B,IAAI,+BAA+B,EAE/D,MAAM,0BAA0B,CAAC;AAOlC,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC;CACrD;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CA+BjE,CAAC;AAIF,OAAO,EACL,wBAAwB,IAAI,oBAAoB,EAChD,+BAA+B,IAAI,2BAA2B,GAC/D,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from "react-native";
3
+ import { MessagePrimitiveParts as MessagePrimitivePartsBase, MessagePartComponent as MessagePartComponentBase, MessagePrimitivePartByIndex as MessagePrimitivePartByIndexBase, messagePartsDefaultComponents, } from "@assistant-ui/core/react";
4
+ const rnDefaultComponents = {
5
+ ...messagePartsDefaultComponents,
6
+ Text: ({ text }) => _jsx(Text, { children: text }),
7
+ };
8
+ /**
9
+ * Renders the parts of a message with React Native-specific default components.
10
+ */
11
+ export const MessagePrimitiveParts = ({ components, ...rest }) => {
12
+ const merged = components
13
+ ? {
14
+ Text: components.Text ?? rnDefaultComponents.Text,
15
+ Image: components.Image ?? messagePartsDefaultComponents.Image,
16
+ Reasoning: components.Reasoning ?? messagePartsDefaultComponents.Reasoning,
17
+ Source: components.Source ?? messagePartsDefaultComponents.Source,
18
+ File: components.File ?? messagePartsDefaultComponents.File,
19
+ Unstable_Audio: components.Unstable_Audio ??
20
+ messagePartsDefaultComponents.Unstable_Audio,
21
+ ...("ChainOfThought" in components
22
+ ? { ChainOfThought: components.ChainOfThought }
23
+ : {
24
+ tools: components.tools,
25
+ data: components.data,
26
+ ToolGroup: components.ToolGroup ?? messagePartsDefaultComponents.ToolGroup,
27
+ ReasoningGroup: components.ReasoningGroup ??
28
+ messagePartsDefaultComponents.ReasoningGroup,
29
+ }),
30
+ Empty: components.Empty,
31
+ }
32
+ : rnDefaultComponents;
33
+ return _jsx(MessagePrimitivePartsBase, { components: merged, ...rest });
34
+ };
35
+ MessagePrimitiveParts.displayName = "MessagePrimitive.Parts";
36
+ export { MessagePartComponentBase as MessagePartComponent, MessagePrimitivePartByIndexBase as MessagePrimitivePartByIndex, };
37
+ //# sourceMappingURL=MessageParts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageParts.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageParts.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EACL,qBAAqB,IAAI,yBAAyB,EAClD,oBAAoB,IAAI,wBAAwB,EAChD,2BAA2B,IAAI,+BAA+B,EAC9D,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAElC,MAAM,mBAAmB,GAAG;IAC1B,GAAG,6BAA6B;IAChC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE,CAAC,KAAC,IAAI,cAAE,IAAI,GAAQ;CACN,CAAC;AAMtD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAoC,CAAC,EACrE,UAAU,EACV,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,UAAU;QACvB,CAAC,CAAC;YACE,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI;YACjD,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,6BAA6B,CAAC,KAAK;YAC9D,SAAS,EACP,UAAU,CAAC,SAAS,IAAI,6BAA6B,CAAC,SAAS;YACjE,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,6BAA6B,CAAC,MAAM;YACjE,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,6BAA6B,CAAC,IAAI;YAC3D,cAAc,EACZ,UAAU,CAAC,cAAc;gBACzB,6BAA6B,CAAC,cAAc;YAC9C,GAAG,CAAC,gBAAgB,IAAI,UAAU;gBAChC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE;gBAC/C,CAAC,CAAC;oBACE,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,SAAS,EACP,UAAU,CAAC,SAAS,IAAI,6BAA6B,CAAC,SAAS;oBACjE,cAAc,EACZ,UAAU,CAAC,cAAc;wBACzB,6BAA6B,CAAC,cAAc;iBAC/C,CAAC;YACN,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB;QACH,CAAC,CAAC,mBAAmB,CAAC;IAExB,OAAO,KAAC,yBAAyB,IAAC,UAAU,EAAE,MAAa,KAAM,IAAI,GAAI,CAAC;AAC5E,CAAC,CAAC;AAEF,qBAAqB,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAE7D,OAAO,EACL,wBAAwB,IAAI,oBAAoB,EAChD,+BAA+B,IAAI,2BAA2B,GAC/D,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export { MessageRoot, type MessageRootProps } from "./MessageRoot.js";
2
2
  export { MessageContent, type MessageContentProps } from "./MessageContent.js";
3
+ export { MessagePrimitiveParts, MessagePrimitivePartByIndex, } from "./MessageParts.js";
3
4
  export { MessageIf, type MessageIfProps } from "./MessageIf.js";
5
+ export { MessageAttachments, MessageAttachmentByIndex, } from "./MessageAttachments.js";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,yBAAsB;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,4BAAyB;AAC5E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,uBAAoB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,yBAAsB;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,4BAAyB;AAC5E,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,0BAAuB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,uBAAoB;AAC7D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,gCAA6B"}
@@ -1,4 +1,6 @@
1
1
  export { MessageRoot } from "./MessageRoot.js";
2
2
  export { MessageContent } from "./MessageContent.js";
3
+ export { MessagePrimitiveParts, MessagePrimitivePartByIndex, } from "./MessageParts.js";
3
4
  export { MessageIf } from "./MessageIf.js";
5
+ export { MessageAttachments, MessageAttachmentByIndex, } from "./MessageAttachments.js";
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/message/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,yBAAsB;AACnE,OAAO,EAAE,cAAc,EAA4B,4BAAyB;AAC5E,OAAO,EAAE,SAAS,EAAuB,uBAAoB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/message/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,yBAAsB;AACnE,OAAO,EAAE,cAAc,EAA4B,4BAAyB;AAC5E,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,0BAAuB;AACxB,OAAO,EAAE,SAAS,EAAuB,uBAAoB;AAC7D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,gCAA6B"}
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from "react";
2
+ import { type TextProps } from "react-native";
3
+ export type SuggestionDescriptionProps = TextProps & {
4
+ children?: ReactNode;
5
+ };
6
+ export declare const SuggestionDescription: ({ children, ...textProps }: SuggestionDescriptionProps) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SuggestionDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionDescription.d.ts","sourceRoot":"","sources":["../../../src/primitives/suggestion/SuggestionDescription.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,4BAGnC,0BAA0B,4CAI5B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from "react-native";
3
+ import { useAuiState } from "@assistant-ui/store";
4
+ export const SuggestionDescription = ({ children, ...textProps }) => {
5
+ const label = useAuiState((s) => s.suggestion.label);
6
+ return _jsx(Text, { ...textProps, children: children ?? label });
7
+ };
8
+ //# sourceMappingURL=SuggestionDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionDescription.js","sourceRoot":"","sources":["../../../src/primitives/suggestion/SuggestionDescription.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,GAAG,SAAS,EACe,EAAE,EAAE;IAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAErD,OAAO,KAAC,IAAI,OAAK,SAAS,YAAG,QAAQ,IAAI,KAAK,GAAQ,CAAC;AACzD,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from "react";
2
+ import { type TextProps } from "react-native";
3
+ export type SuggestionTitleProps = TextProps & {
4
+ children?: ReactNode;
5
+ };
6
+ export declare const SuggestionTitle: ({ children, ...textProps }: SuggestionTitleProps) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SuggestionTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionTitle.d.ts","sourceRoot":"","sources":["../../../src/primitives/suggestion/SuggestionTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,4BAG7B,oBAAoB,4CAItB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from "react-native";
3
+ import { useAuiState } from "@assistant-ui/store";
4
+ export const SuggestionTitle = ({ children, ...textProps }) => {
5
+ const title = useAuiState((s) => s.suggestion.title);
6
+ return _jsx(Text, { ...textProps, children: children ?? title });
7
+ };
8
+ //# sourceMappingURL=SuggestionTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionTitle.js","sourceRoot":"","sources":["../../../src/primitives/suggestion/SuggestionTitle.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,QAAQ,EACR,GAAG,SAAS,EACS,EAAE,EAAE;IACzB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAErD,OAAO,KAAC,IAAI,OAAK,SAAS,YAAG,QAAQ,IAAI,KAAK,GAAQ,CAAC;AACzD,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type ReactNode } from "react";
2
+ import { type PressableProps } from "react-native";
3
+ export type SuggestionTriggerProps = Omit<PressableProps, "onPress"> & {
4
+ children: ReactNode;
5
+ /**
6
+ * When true, automatically sends the message.
7
+ * When false, replaces or appends the composer text with the suggestion.
8
+ */
9
+ send?: boolean | undefined;
10
+ /**
11
+ * Whether to clear the composer. When send is false, determines if composer
12
+ * text is replaced (true) or appended (false).
13
+ * @default true
14
+ */
15
+ clearComposer?: boolean | undefined;
16
+ };
17
+ export declare const SuggestionTrigger: ({ children, send, clearComposer, disabled: disabledProp, ...pressableProps }: SuggestionTriggerProps) => import("react/jsx-runtime").JSX.Element;
18
+ //# sourceMappingURL=SuggestionTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionTrigger.d.ts","sourceRoot":"","sources":["../../../src/primitives/suggestion/SuggestionTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IACrE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,8EAM/B,sBAAsB,4CAsCxB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { Pressable } from "react-native";
4
+ import { useAuiState, useAui } from "@assistant-ui/store";
5
+ export const SuggestionTrigger = ({ children, send, clearComposer = true, disabled: disabledProp, ...pressableProps }) => {
6
+ const aui = useAui();
7
+ const isDisabled = useAuiState((s) => s.thread.isDisabled);
8
+ const prompt = useAuiState((s) => s.suggestion.prompt);
9
+ const resolvedSend = send ?? false;
10
+ const onPress = useCallback(() => {
11
+ const isRunning = aui.thread().getState().isRunning;
12
+ if (resolvedSend && !isRunning) {
13
+ aui.thread().append({
14
+ content: [{ type: "text", text: prompt }],
15
+ runConfig: aui.composer().getState().runConfig,
16
+ });
17
+ if (clearComposer) {
18
+ aui.composer().setText("");
19
+ }
20
+ }
21
+ else {
22
+ if (clearComposer) {
23
+ aui.composer().setText(prompt);
24
+ }
25
+ else {
26
+ const currentText = aui.composer().getState().text;
27
+ aui
28
+ .composer()
29
+ .setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);
30
+ }
31
+ }
32
+ }, [aui, resolvedSend, clearComposer, prompt]);
33
+ return (_jsx(Pressable, { onPress: onPress, disabled: disabledProp ?? isDisabled, ...pressableProps, children: children }));
34
+ };
35
+ //# sourceMappingURL=SuggestionTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionTrigger.js","sourceRoot":"","sources":["../../../src/primitives/suggestion/SuggestionTrigger.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAiB1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,QAAQ,EACR,IAAI,EACJ,aAAa,GAAG,IAAI,EACpB,QAAQ,EAAE,YAAY,EACtB,GAAG,cAAc,EACM,EAAE,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,IAAI,KAAK,CAAC;IAEnC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC;QAEpD,IAAI,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;gBAClB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS;aAC/C,CAAC,CAAC;YACH,IAAI,aAAa,EAAE,CAAC;gBAClB,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,aAAa,EAAE,CAAC;gBAClB,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;gBACnD,GAAG;qBACA,QAAQ,EAAE;qBACV,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE/C,OAAO,CACL,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,IAAI,UAAU,KAChC,cAAc,YAEjB,QAAQ,GACC,CACb,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { SuggestionTitle, type SuggestionTitleProps, } from "./SuggestionTitle.js";
2
+ export { SuggestionDescription, type SuggestionDescriptionProps, } from "./SuggestionDescription.js";
3
+ export { SuggestionTrigger, type SuggestionTriggerProps, } from "./SuggestionTrigger.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/suggestion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,6BAA0B;AAC3B,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,mCAAgC;AACjC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,+BAA4B"}
@@ -0,0 +1,4 @@
1
+ export { SuggestionTitle, } from "./SuggestionTitle.js";
2
+ export { SuggestionDescription, } from "./SuggestionDescription.js";
3
+ export { SuggestionTrigger, } from "./SuggestionTrigger.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/suggestion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAEhB,6BAA0B;AAC3B,OAAO,EACL,qBAAqB,GAEtB,mCAAgC;AACjC,OAAO,EACL,iBAAiB,GAElB,+BAA4B"}
@@ -1,7 +1,7 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { useThread } from "../../hooks/useThread.js";
2
+ import { useAuiState } from "@assistant-ui/store";
3
3
  export const ThreadIf = ({ children, empty, running }) => {
4
- const thread = useThread();
4
+ const thread = useAuiState((s) => s.thread);
5
5
  if (empty !== undefined) {
6
6
  const isEmpty = thread.messages.length === 0;
7
7
  if (empty !== isEmpty)
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadIf.js","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadIf.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAQlD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAiB,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,MAAM,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;IAChD,CAAC;IAED,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"ThreadIf.js","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadIf.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQlD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAiB,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,MAAM,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;IAChD,CAAC;IAED,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type ReactNode } from "react";
2
+ import { type PressableProps } from "react-native";
3
+ export type ThreadSuggestionProps = Omit<PressableProps, "onPress"> & {
4
+ children: ReactNode;
5
+ /** The suggestion prompt. */
6
+ prompt: string;
7
+ /**
8
+ * When true, automatically sends the message.
9
+ * When false, replaces or appends the composer text with the suggestion.
10
+ */
11
+ send?: boolean | undefined;
12
+ /**
13
+ * Whether to clear the composer. When send is false, determines if composer
14
+ * text is replaced (true) or appended (false).
15
+ * @default true
16
+ */
17
+ clearComposer?: boolean | undefined;
18
+ };
19
+ export declare const ThreadSuggestion: ({ children, prompt, send, clearComposer, disabled: disabledProp, ...pressableProps }: ThreadSuggestionProps) => import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=ThreadSuggestion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadSuggestion.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,sFAO9B,qBAAqB,4CAqCvB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { Pressable } from "react-native";
4
+ import { useAuiState, useAui } from "@assistant-ui/store";
5
+ export const ThreadSuggestion = ({ children, prompt, send, clearComposer = true, disabled: disabledProp, ...pressableProps }) => {
6
+ const aui = useAui();
7
+ const isDisabled = useAuiState((s) => s.thread.isDisabled);
8
+ const resolvedSend = send ?? false;
9
+ const onPress = useCallback(() => {
10
+ const isRunning = aui.thread().getState().isRunning;
11
+ if (resolvedSend && !isRunning) {
12
+ aui.thread().append({
13
+ content: [{ type: "text", text: prompt }],
14
+ runConfig: aui.composer().getState().runConfig,
15
+ });
16
+ if (clearComposer) {
17
+ aui.composer().setText("");
18
+ }
19
+ }
20
+ else {
21
+ if (clearComposer) {
22
+ aui.composer().setText(prompt);
23
+ }
24
+ else {
25
+ const currentText = aui.composer().getState().text;
26
+ aui
27
+ .composer()
28
+ .setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);
29
+ }
30
+ }
31
+ }, [aui, resolvedSend, clearComposer, prompt]);
32
+ return (_jsx(Pressable, { onPress: onPress, disabled: disabledProp ?? isDisabled, ...pressableProps, children: children }));
33
+ };
34
+ //# sourceMappingURL=ThreadSuggestion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadSuggestion.js","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadSuggestion.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAmB1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,aAAa,GAAG,IAAI,EACpB,QAAQ,EAAE,YAAY,EACtB,GAAG,cAAc,EACK,EAAE,EAAE;IAC1B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,IAAI,KAAK,CAAC;IAEnC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC;QAEpD,IAAI,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;gBAClB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS;aAC/C,CAAC,CAAC;YACH,IAAI,aAAa,EAAE,CAAC;gBAClB,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,aAAa,EAAE,CAAC;gBAClB,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;gBACnD,GAAG;qBACA,QAAQ,EAAE;qBACV,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE/C,OAAO,CACL,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,IAAI,UAAU,KAChC,cAAc,YAEjB,QAAQ,GACC,CACb,CAAC;AACJ,CAAC,CAAC"}