@assistant-ui/react-native 0.1.4 → 0.1.7

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 (208) hide show
  1. package/dist/context/AssistantContext.d.ts +1 -1
  2. package/dist/context/AssistantContext.d.ts.map +1 -1
  3. package/dist/context/AssistantContext.js +1 -1
  4. package/dist/context/AssistantContext.js.map +1 -1
  5. package/dist/index.d.ts +25 -15
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +23 -16
  8. package/dist/index.js.map +1 -1
  9. package/dist/primitives/{actionBar/index.d.ts → actionBar.d.ts} +6 -6
  10. package/dist/primitives/actionBar.d.ts.map +1 -0
  11. package/dist/primitives/actionBar.js +6 -0
  12. package/dist/primitives/actionBar.js.map +1 -0
  13. package/dist/primitives/{attachment/index.d.ts → attachment.d.ts} +5 -5
  14. package/dist/primitives/attachment.d.ts.map +1 -0
  15. package/dist/primitives/attachment.js +5 -0
  16. package/dist/primitives/attachment.js.map +1 -0
  17. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  18. package/dist/primitives/branchPicker/BranchPickerNext.js +3 -15
  19. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  20. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  21. package/dist/primitives/branchPicker/BranchPickerPrevious.js +3 -15
  22. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  23. package/dist/primitives/branchPicker.d.ts +5 -0
  24. package/dist/primitives/branchPicker.d.ts.map +1 -0
  25. package/dist/primitives/branchPicker.js +5 -0
  26. package/dist/primitives/branchPicker.js.map +1 -0
  27. package/dist/primitives/{chainOfThought/index.d.ts → chainOfThought.d.ts} +3 -3
  28. package/dist/primitives/chainOfThought.d.ts.map +1 -0
  29. package/dist/primitives/chainOfThought.js +4 -0
  30. package/dist/primitives/chainOfThought.js.map +1 -0
  31. package/dist/primitives/composer/ComposerSend.js +1 -1
  32. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  33. package/dist/primitives/composer.d.ts +8 -0
  34. package/dist/primitives/composer.d.ts.map +1 -0
  35. package/dist/primitives/composer.js +8 -0
  36. package/dist/primitives/composer.js.map +1 -0
  37. package/dist/primitives/error/ErrorMessage.d.ts +10 -0
  38. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -0
  39. package/dist/primitives/error/ErrorMessage.js +11 -0
  40. package/dist/primitives/error/ErrorMessage.js.map +1 -0
  41. package/dist/primitives/error/ErrorRoot.d.ts +10 -0
  42. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -0
  43. package/dist/primitives/error/ErrorRoot.js +11 -0
  44. package/dist/primitives/error/ErrorRoot.js.map +1 -0
  45. package/dist/primitives/error/index.d.ts +3 -0
  46. package/dist/primitives/error/index.d.ts.map +1 -0
  47. package/dist/primitives/error/index.js +3 -0
  48. package/dist/primitives/error/index.js.map +1 -0
  49. package/dist/primitives/message/MessageParts.d.ts.map +1 -1
  50. package/dist/primitives/message/MessageParts.js +6 -1
  51. package/dist/primitives/message/MessageParts.js.map +1 -1
  52. package/dist/primitives/message.d.ts +6 -0
  53. package/dist/primitives/message.d.ts.map +1 -0
  54. package/dist/primitives/message.js +6 -0
  55. package/dist/primitives/message.js.map +1 -0
  56. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -1
  57. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  58. package/dist/primitives/suggestion/SuggestionTrigger.js +8 -29
  59. package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -1
  60. package/dist/primitives/suggestion.d.ts +4 -0
  61. package/dist/primitives/suggestion.d.ts.map +1 -0
  62. package/dist/primitives/suggestion.js +4 -0
  63. package/dist/primitives/suggestion.js.map +1 -0
  64. package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -1
  65. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  66. package/dist/primitives/thread/ThreadSuggestion.js +7 -29
  67. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  68. package/dist/primitives/{thread/index.d.ts → thread.d.ts} +6 -6
  69. package/dist/primitives/thread.d.ts.map +1 -0
  70. package/dist/primitives/thread.js +8 -0
  71. package/dist/primitives/thread.js.map +1 -0
  72. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -1
  73. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  74. package/dist/primitives/threadList/ThreadListNew.js +3 -7
  75. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  76. package/dist/primitives/{threadList/index.d.ts → threadList.d.ts} +4 -4
  77. package/dist/primitives/threadList.d.ts.map +1 -0
  78. package/dist/primitives/threadList.js +4 -0
  79. package/dist/primitives/threadList.js.map +1 -0
  80. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -1
  81. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  82. package/dist/primitives/threadListItem/ThreadListItemArchive.js +3 -7
  83. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  84. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -1
  85. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  86. package/dist/primitives/threadListItem/ThreadListItemDelete.js +3 -7
  87. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
  88. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -1
  89. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  90. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +3 -7
  91. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  92. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -1
  93. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  94. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +3 -7
  95. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
  96. package/dist/primitives/threadListItem.d.ts +7 -0
  97. package/dist/primitives/threadListItem.d.ts.map +1 -0
  98. package/dist/primitives/threadListItem.js +7 -0
  99. package/dist/primitives/threadListItem.js.map +1 -0
  100. package/package.json +8 -8
  101. package/src/context/AssistantContext.tsx +1 -4
  102. package/src/index.ts +75 -7
  103. package/src/primitives/{actionBar/index.ts → actionBar.ts} +5 -5
  104. package/src/primitives/{attachment/index.ts → attachment.ts} +4 -4
  105. package/src/primitives/branchPicker/BranchPickerNext.tsx +3 -15
  106. package/src/primitives/branchPicker/BranchPickerPrevious.tsx +3 -15
  107. package/src/primitives/{branchPicker/index.ts → branchPicker.ts} +4 -4
  108. package/src/primitives/{chainOfThought/index.ts → chainOfThought.ts} +2 -2
  109. package/src/primitives/composer/ComposerSend.tsx +1 -1
  110. package/src/primitives/composer.ts +25 -0
  111. package/src/primitives/error/ErrorMessage.tsx +17 -0
  112. package/src/primitives/error/ErrorRoot.tsx +16 -0
  113. package/src/primitives/error/index.ts +8 -0
  114. package/src/primitives/message/MessageContent.tsx +1 -1
  115. package/src/primitives/message/MessageParts.tsx +11 -4
  116. package/src/primitives/{message/index.ts → message.ts} +8 -5
  117. package/src/primitives/suggestion/SuggestionTrigger.tsx +10 -30
  118. package/src/primitives/{suggestion/index.ts → suggestion.ts} +3 -3
  119. package/src/primitives/thread/ThreadSuggestion.tsx +9 -30
  120. package/src/primitives/{thread/index.ts → thread.ts} +8 -5
  121. package/src/primitives/threadList/ThreadListNew.tsx +4 -8
  122. package/src/primitives/{threadList/index.ts → threadList.ts} +3 -3
  123. package/src/primitives/threadListItem/ThreadListItemArchive.tsx +4 -8
  124. package/src/primitives/threadListItem/ThreadListItemDelete.tsx +4 -8
  125. package/src/primitives/threadListItem/ThreadListItemTrigger.tsx +4 -8
  126. package/src/primitives/threadListItem/ThreadListItemUnarchive.tsx +4 -8
  127. package/src/primitives/{threadListItem/index.ts → threadListItem.ts} +5 -5
  128. package/dist/client/index.d.ts +0 -5
  129. package/dist/client/index.d.ts.map +0 -1
  130. package/dist/client/index.js +0 -7
  131. package/dist/client/index.js.map +0 -1
  132. package/dist/context/index.d.ts +0 -2
  133. package/dist/context/index.d.ts.map +0 -1
  134. package/dist/context/index.js +0 -2
  135. package/dist/context/index.js.map +0 -1
  136. package/dist/model-context/index.d.ts +0 -9
  137. package/dist/model-context/index.d.ts.map +0 -1
  138. package/dist/model-context/index.js +0 -7
  139. package/dist/model-context/index.js.map +0 -1
  140. package/dist/primitives/actionBar/index.d.ts.map +0 -1
  141. package/dist/primitives/actionBar/index.js +0 -6
  142. package/dist/primitives/actionBar/index.js.map +0 -1
  143. package/dist/primitives/attachment/index.d.ts.map +0 -1
  144. package/dist/primitives/attachment/index.js +0 -5
  145. package/dist/primitives/attachment/index.js.map +0 -1
  146. package/dist/primitives/branchPicker/index.d.ts +0 -5
  147. package/dist/primitives/branchPicker/index.d.ts.map +0 -1
  148. package/dist/primitives/branchPicker/index.js +0 -5
  149. package/dist/primitives/branchPicker/index.js.map +0 -1
  150. package/dist/primitives/chainOfThought/index.d.ts.map +0 -1
  151. package/dist/primitives/chainOfThought/index.js +0 -4
  152. package/dist/primitives/chainOfThought/index.js.map +0 -1
  153. package/dist/primitives/composer/EditComposerCancel.d.ts +0 -7
  154. package/dist/primitives/composer/EditComposerCancel.d.ts.map +0 -1
  155. package/dist/primitives/composer/EditComposerCancel.js +0 -8
  156. package/dist/primitives/composer/EditComposerCancel.js.map +0 -1
  157. package/dist/primitives/composer/EditComposerInput.d.ts +0 -4
  158. package/dist/primitives/composer/EditComposerInput.d.ts.map +0 -1
  159. package/dist/primitives/composer/EditComposerInput.js +0 -13
  160. package/dist/primitives/composer/EditComposerInput.js.map +0 -1
  161. package/dist/primitives/composer/EditComposerSend.d.ts +0 -7
  162. package/dist/primitives/composer/EditComposerSend.d.ts.map +0 -1
  163. package/dist/primitives/composer/EditComposerSend.js +0 -8
  164. package/dist/primitives/composer/EditComposerSend.js.map +0 -1
  165. package/dist/primitives/composer/index.d.ts +0 -11
  166. package/dist/primitives/composer/index.d.ts.map +0 -1
  167. package/dist/primitives/composer/index.js +0 -11
  168. package/dist/primitives/composer/index.js.map +0 -1
  169. package/dist/primitives/message/index.d.ts +0 -6
  170. package/dist/primitives/message/index.d.ts.map +0 -1
  171. package/dist/primitives/message/index.js +0 -6
  172. package/dist/primitives/message/index.js.map +0 -1
  173. package/dist/primitives/suggestion/index.d.ts +0 -4
  174. package/dist/primitives/suggestion/index.d.ts.map +0 -1
  175. package/dist/primitives/suggestion/index.js +0 -4
  176. package/dist/primitives/suggestion/index.js.map +0 -1
  177. package/dist/primitives/thread/index.d.ts.map +0 -1
  178. package/dist/primitives/thread/index.js +0 -8
  179. package/dist/primitives/thread/index.js.map +0 -1
  180. package/dist/primitives/threadList/index.d.ts.map +0 -1
  181. package/dist/primitives/threadList/index.js +0 -4
  182. package/dist/primitives/threadList/index.js.map +0 -1
  183. package/dist/primitives/threadListItem/index.d.ts +0 -7
  184. package/dist/primitives/threadListItem/index.d.ts.map +0 -1
  185. package/dist/primitives/threadListItem/index.js +0 -7
  186. package/dist/primitives/threadListItem/index.js.map +0 -1
  187. package/dist/runtimes/index.d.ts +0 -3
  188. package/dist/runtimes/index.d.ts.map +0 -1
  189. package/dist/runtimes/index.js +0 -3
  190. package/dist/runtimes/index.js.map +0 -1
  191. package/dist/types/index.d.ts +0 -2
  192. package/dist/types/index.d.ts.map +0 -1
  193. package/dist/types/index.js +0 -2
  194. package/dist/types/index.js.map +0 -1
  195. package/dist/types/scopes/index.d.ts +0 -3
  196. package/dist/types/scopes/index.d.ts.map +0 -1
  197. package/dist/types/scopes/index.js +0 -2
  198. package/dist/types/scopes/index.js.map +0 -1
  199. package/src/client/index.ts +0 -7
  200. package/src/context/index.ts +0 -4
  201. package/src/model-context/index.ts +0 -44
  202. package/src/primitives/composer/EditComposerCancel.tsx +0 -20
  203. package/src/primitives/composer/EditComposerInput.tsx +0 -22
  204. package/src/primitives/composer/EditComposerSend.tsx +0 -25
  205. package/src/primitives/composer/index.ts +0 -37
  206. package/src/runtimes/index.ts +0 -2
  207. package/src/types/index.ts +0 -23
  208. package/src/types/scopes/index.ts +0 -59
@@ -1,7 +1,6 @@
1
1
  import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useCallback } from "react";
4
- import { useAui, useAuiState } from "@assistant-ui/store";
3
+ import { useBranchPickerPrevious } from "@assistant-ui/core/react";
5
4
 
6
5
  export type BranchPickerPreviousProps = Omit<PressableProps, "onPress"> & {
7
6
  children: ReactNode;
@@ -12,22 +11,11 @@ export const BranchPickerPrevious = ({
12
11
  disabled: disabledProp,
13
12
  ...pressableProps
14
13
  }: BranchPickerPreviousProps) => {
15
- const aui = useAui();
16
- const disabled = useAuiState((s) => {
17
- if (s.message.branchNumber <= 1) return true;
18
- if (s.thread.isRunning && !s.thread.capabilities.switchBranchDuringRun) {
19
- return true;
20
- }
21
- return false;
22
- });
23
-
24
- const goToPrevious = useCallback(() => {
25
- aui.message().switchToBranch({ position: "previous" });
26
- }, [aui]);
14
+ const { previous, disabled } = useBranchPickerPrevious();
27
15
 
28
16
  return (
29
17
  <Pressable
30
- onPress={goToPrevious}
18
+ onPress={previous}
31
19
  disabled={disabledProp ?? disabled}
32
20
  {...pressableProps}
33
21
  >
@@ -1,16 +1,16 @@
1
1
  export {
2
2
  BranchPickerPrevious as Previous,
3
3
  type BranchPickerPreviousProps as PreviousProps,
4
- } from "./BranchPickerPrevious";
4
+ } from "./branchPicker/BranchPickerPrevious";
5
5
  export {
6
6
  BranchPickerNext as Next,
7
7
  type BranchPickerNextProps as NextProps,
8
- } from "./BranchPickerNext";
8
+ } from "./branchPicker/BranchPickerNext";
9
9
  export {
10
10
  BranchPickerNumber as Number,
11
11
  type BranchPickerNumberProps as NumberProps,
12
- } from "./BranchPickerNumber";
12
+ } from "./branchPicker/BranchPickerNumber";
13
13
  export {
14
14
  BranchPickerCount as Count,
15
15
  type BranchPickerCountProps as CountProps,
16
- } from "./BranchPickerCount";
16
+ } from "./branchPicker/BranchPickerCount";
@@ -1,9 +1,9 @@
1
1
  export {
2
2
  ChainOfThoughtRoot as Root,
3
3
  type ChainOfThoughtRootProps as RootProps,
4
- } from "./ChainOfThoughtRoot";
4
+ } from "./chainOfThought/ChainOfThoughtRoot";
5
5
  export {
6
6
  ChainOfThoughtAccordionTrigger as AccordionTrigger,
7
7
  type ChainOfThoughtAccordionTriggerProps as AccordionTriggerProps,
8
- } from "./ChainOfThoughtAccordionTrigger";
8
+ } from "./chainOfThought/ChainOfThoughtAccordionTrigger";
9
9
  export { ChainOfThoughtPrimitiveParts as Parts } from "@assistant-ui/core/react";
@@ -15,7 +15,7 @@ export const ComposerSend = ({
15
15
 
16
16
  return (
17
17
  <Pressable
18
- onPress={send}
18
+ onPress={() => send()}
19
19
  disabled={disabled ?? hookDisabled}
20
20
  {...pressableProps}
21
21
  >
@@ -0,0 +1,25 @@
1
+ export {
2
+ ComposerRoot as Root,
3
+ type ComposerRootProps as RootProps,
4
+ } from "./composer/ComposerRoot";
5
+ export {
6
+ ComposerAttachments as Attachments,
7
+ ComposerAttachmentByIndex as AttachmentByIndex,
8
+ } from "./composer/ComposerAttachments";
9
+ export {
10
+ ComposerInput as Input,
11
+ type ComposerInputProps as InputProps,
12
+ } from "./composer/ComposerInput";
13
+ export {
14
+ ComposerSend as Send,
15
+ type ComposerSendProps as SendProps,
16
+ } from "./composer/ComposerSend";
17
+ export {
18
+ ComposerCancel as Cancel,
19
+ type ComposerCancelProps as CancelProps,
20
+ } from "./composer/ComposerCancel";
21
+ export {
22
+ ComposerAddAttachment as AddAttachment,
23
+ type ComposerAddAttachmentProps as AddAttachmentProps,
24
+ } from "./composer/ComposerAddAttachment";
25
+ export { ComposerIf as If } from "./composer/ComposerIf";
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from "react";
2
+ import { Text, type TextProps } from "react-native";
3
+ import { useMessageError } from "@assistant-ui/core/react";
4
+
5
+ export type ErrorMessageProps = TextProps & {
6
+ children?: ReactNode;
7
+ };
8
+
9
+ export const ErrorMessage = ({ children, ...textProps }: ErrorMessageProps) => {
10
+ const error = useMessageError();
11
+
12
+ if (error === undefined) return null;
13
+
14
+ return <Text {...textProps}>{children ?? String(error)}</Text>;
15
+ };
16
+
17
+ ErrorMessage.displayName = "ErrorPrimitive.Message";
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from "react";
2
+ import { View, type ViewProps } from "react-native";
3
+ import { useMessageError } from "@assistant-ui/core/react";
4
+
5
+ export type ErrorRootProps = ViewProps & {
6
+ children: ReactNode;
7
+ };
8
+
9
+ export const ErrorRoot = ({ children, ...viewProps }: ErrorRootProps) => {
10
+ const error = useMessageError();
11
+ if (error === undefined) return null;
12
+
13
+ return <View {...viewProps}>{children}</View>;
14
+ };
15
+
16
+ ErrorRoot.displayName = "ErrorPrimitive.Root";
@@ -0,0 +1,8 @@
1
+ export {
2
+ ErrorRoot as Root,
3
+ type ErrorRootProps as RootProps,
4
+ } from "./ErrorRoot";
5
+ export {
6
+ ErrorMessage as Message,
7
+ type ErrorMessageProps as MessageProps,
8
+ } from "./ErrorMessage";
@@ -10,7 +10,7 @@ import { useAui, useAuiState } from "@assistant-ui/store";
10
10
  import type {
11
11
  ToolCallMessagePartProps,
12
12
  DataMessagePartProps,
13
- } from "../../types";
13
+ } from "@assistant-ui/core/react";
14
14
 
15
15
  type MessageContentPart = ThreadUserMessagePart | ThreadAssistantMessagePart;
16
16
 
@@ -19,10 +19,16 @@ export namespace MessagePrimitiveParts {
19
19
  /**
20
20
  * Renders the parts of a message with React Native-specific default components.
21
21
  */
22
- export const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props> = ({
23
- components,
24
- ...rest
25
- }) => {
22
+ export const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props> = (
23
+ props,
24
+ ) => {
25
+ if ("children" in props) {
26
+ return (
27
+ <MessagePrimitivePartsBase>{props.children}</MessagePrimitivePartsBase>
28
+ );
29
+ }
30
+
31
+ const { components, ...rest } = props;
26
32
  const merged = components
27
33
  ? {
28
34
  Text: components.Text ?? rnDefaultComponents.Text,
@@ -46,6 +52,7 @@ export const MessagePrimitiveParts: FC<MessagePrimitiveParts.Props> = ({
46
52
  messagePartsDefaultComponents.ReasoningGroup,
47
53
  }),
48
54
  Empty: components.Empty,
55
+ Quote: components.Quote,
49
56
  }
50
57
  : rnDefaultComponents;
51
58
 
@@ -1,17 +1,20 @@
1
1
  export {
2
2
  MessageRoot as Root,
3
3
  type MessageRootProps as RootProps,
4
- } from "./MessageRoot";
4
+ } from "./message/MessageRoot";
5
5
  export {
6
6
  MessageContent as Content,
7
7
  type MessageContentProps as ContentProps,
8
- } from "./MessageContent";
8
+ } from "./message/MessageContent";
9
9
  export {
10
10
  MessagePrimitiveParts as Parts,
11
11
  MessagePrimitivePartByIndex as PartByIndex,
12
- } from "./MessageParts";
13
- export { MessageIf as If, type MessageIfProps as IfProps } from "./MessageIf";
12
+ } from "./message/MessageParts";
13
+ export {
14
+ MessageIf as If,
15
+ type MessageIfProps as IfProps,
16
+ } from "./message/MessageIf";
14
17
  export {
15
18
  MessageAttachments as Attachments,
16
19
  MessageAttachmentByIndex as AttachmentByIndex,
17
- } from "./MessageAttachments";
20
+ } from "./message/MessageAttachments";
@@ -1,6 +1,7 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { useAuiState } from "@assistant-ui/store";
4
+ import { useSuggestionTrigger } from "@assistant-ui/core/react";
4
5
 
5
6
  export type SuggestionTriggerProps = Omit<PressableProps, "onPress"> & {
6
7
  children: ReactNode;
@@ -24,38 +25,17 @@ export const SuggestionTrigger = ({
24
25
  disabled: disabledProp,
25
26
  ...pressableProps
26
27
  }: SuggestionTriggerProps) => {
27
- const aui = useAui();
28
- const isDisabled = useAuiState((s) => s.thread.isDisabled);
29
28
  const prompt = useAuiState((s) => s.suggestion.prompt);
30
- const resolvedSend = send ?? false;
31
-
32
- const onPress = useCallback(() => {
33
- const isRunning = aui.thread().getState().isRunning;
34
-
35
- if (resolvedSend && !isRunning) {
36
- aui.thread().append({
37
- content: [{ type: "text", text: prompt }],
38
- runConfig: aui.composer().getState().runConfig,
39
- });
40
- if (clearComposer) {
41
- aui.composer().setText("");
42
- }
43
- } else {
44
- if (clearComposer) {
45
- aui.composer().setText(prompt);
46
- } else {
47
- const currentText = aui.composer().getState().text;
48
- aui
49
- .composer()
50
- .setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);
51
- }
52
- }
53
- }, [aui, resolvedSend, clearComposer, prompt]);
29
+ const { trigger, disabled } = useSuggestionTrigger({
30
+ prompt,
31
+ send,
32
+ clearComposer,
33
+ });
54
34
 
55
35
  return (
56
36
  <Pressable
57
- onPress={onPress}
58
- disabled={disabledProp ?? isDisabled}
37
+ onPress={trigger}
38
+ disabled={disabledProp ?? disabled}
59
39
  {...pressableProps}
60
40
  >
61
41
  {children}
@@ -1,12 +1,12 @@
1
1
  export {
2
2
  SuggestionTitle as Title,
3
3
  type SuggestionTitleProps as TitleProps,
4
- } from "./SuggestionTitle";
4
+ } from "./suggestion/SuggestionTitle";
5
5
  export {
6
6
  SuggestionDescription as Description,
7
7
  type SuggestionDescriptionProps as DescriptionProps,
8
- } from "./SuggestionDescription";
8
+ } from "./suggestion/SuggestionDescription";
9
9
  export {
10
10
  SuggestionTrigger as Trigger,
11
11
  type SuggestionTriggerProps as TriggerProps,
12
- } from "./SuggestionTrigger";
12
+ } from "./suggestion/SuggestionTrigger";
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAuiState, useAui } from "@assistant-ui/store";
3
+ import { useSuggestionTrigger } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadSuggestionProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -27,37 +27,16 @@ export const ThreadSuggestion = ({
27
27
  disabled: disabledProp,
28
28
  ...pressableProps
29
29
  }: ThreadSuggestionProps) => {
30
- const aui = useAui();
31
- const isDisabled = useAuiState((s) => s.thread.isDisabled);
32
- const resolvedSend = send ?? false;
33
-
34
- const onPress = useCallback(() => {
35
- const isRunning = aui.thread().getState().isRunning;
36
-
37
- if (resolvedSend && !isRunning) {
38
- aui.thread().append({
39
- content: [{ type: "text", text: prompt }],
40
- runConfig: aui.composer().getState().runConfig,
41
- });
42
- if (clearComposer) {
43
- aui.composer().setText("");
44
- }
45
- } else {
46
- if (clearComposer) {
47
- aui.composer().setText(prompt);
48
- } else {
49
- const currentText = aui.composer().getState().text;
50
- aui
51
- .composer()
52
- .setText(currentText.trim() ? `${currentText} ${prompt}` : prompt);
53
- }
54
- }
55
- }, [aui, resolvedSend, clearComposer, prompt]);
30
+ const { trigger, disabled } = useSuggestionTrigger({
31
+ prompt,
32
+ send,
33
+ clearComposer,
34
+ });
56
35
 
57
36
  return (
58
37
  <Pressable
59
- onPress={onPress}
60
- disabled={disabledProp ?? isDisabled}
38
+ onPress={trigger}
39
+ disabled={disabledProp ?? disabled}
61
40
  {...pressableProps}
62
41
  >
63
42
  {children}
@@ -1,21 +1,24 @@
1
1
  export {
2
2
  ThreadRoot as Root,
3
3
  type ThreadRootProps as RootProps,
4
- } from "./ThreadRoot";
4
+ } from "./thread/ThreadRoot";
5
5
  export {
6
6
  ThreadMessages as Messages,
7
7
  type ThreadMessagesProps as MessagesProps,
8
- } from "./ThreadMessages";
8
+ } from "./thread/ThreadMessages";
9
9
  export { ThreadPrimitiveMessageByIndex as MessageByIndex } from "@assistant-ui/core/react";
10
10
  export {
11
11
  ThreadEmpty as Empty,
12
12
  type ThreadEmptyProps as EmptyProps,
13
- } from "./ThreadEmpty";
14
- export { ThreadIf as If, type ThreadIfProps as IfProps } from "./ThreadIf";
13
+ } from "./thread/ThreadEmpty";
14
+ export {
15
+ ThreadIf as If,
16
+ type ThreadIfProps as IfProps,
17
+ } from "./thread/ThreadIf";
15
18
  export {
16
19
  ThreadSuggestion as Suggestion,
17
20
  type ThreadSuggestionProps as SuggestionProps,
18
- } from "./ThreadSuggestion";
21
+ } from "./thread/ThreadSuggestion";
19
22
  export {
20
23
  ThreadPrimitiveSuggestions as Suggestions,
21
24
  ThreadPrimitiveSuggestionByIndex as SuggestionByIndex,
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListNew } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListNewProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListNew = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListNewProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threads().switchToNewThread();
17
- }, [aui]);
13
+ const { switchToNewThread } = useThreadListNew();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={switchToNewThread} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,12 +1,12 @@
1
1
  export {
2
2
  ThreadListRoot as Root,
3
3
  type ThreadListRootProps as RootProps,
4
- } from "./ThreadListRoot";
4
+ } from "./threadList/ThreadListRoot";
5
5
  export {
6
6
  ThreadListItems as Items,
7
7
  type ThreadListItemsProps as ItemsProps,
8
- } from "./ThreadListItems";
8
+ } from "./threadList/ThreadListItems";
9
9
  export {
10
10
  ThreadListNew as New,
11
11
  type ThreadListNewProps as NewProps,
12
- } from "./ThreadListNew";
12
+ } from "./threadList/ThreadListNew";
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListItemArchive } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListItemArchiveProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListItemArchive = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListItemArchiveProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threadListItem().archive();
17
- }, [aui]);
13
+ const { archive } = useThreadListItemArchive();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={archive} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListItemDelete } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListItemDeleteProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListItemDelete = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListItemDeleteProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threadListItem().delete();
17
- }, [aui]);
13
+ const { delete: deleteThread } = useThreadListItemDelete();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={deleteThread} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListItemTrigger } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListItemTriggerProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListItemTrigger = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListItemTriggerProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threadListItem().switchTo();
17
- }, [aui]);
13
+ const { switchTo } = useThreadListItemTrigger();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={switchTo} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,6 +1,6 @@
1
- import { useCallback, type ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  import { Pressable, type PressableProps } from "react-native";
3
- import { useAui } from "@assistant-ui/store";
3
+ import { useThreadListItemUnarchive } from "@assistant-ui/core/react";
4
4
 
5
5
  export type ThreadListItemUnarchiveProps = Omit<PressableProps, "onPress"> & {
6
6
  children: ReactNode;
@@ -10,14 +10,10 @@ export const ThreadListItemUnarchive = ({
10
10
  children,
11
11
  ...pressableProps
12
12
  }: ThreadListItemUnarchiveProps) => {
13
- const aui = useAui();
14
-
15
- const onPress = useCallback(() => {
16
- aui.threadListItem().unarchive();
17
- }, [aui]);
13
+ const { unarchive } = useThreadListItemUnarchive();
18
14
 
19
15
  return (
20
- <Pressable onPress={onPress} {...pressableProps}>
16
+ <Pressable onPress={unarchive} {...pressableProps}>
21
17
  {children}
22
18
  </Pressable>
23
19
  );
@@ -1,21 +1,21 @@
1
1
  export {
2
2
  ThreadListItemRoot as Root,
3
3
  type ThreadListItemRootProps as RootProps,
4
- } from "./ThreadListItemRoot";
4
+ } from "./threadListItem/ThreadListItemRoot";
5
5
  export { ThreadListItemPrimitiveTitle as Title } from "@assistant-ui/core/react";
6
6
  export {
7
7
  ThreadListItemTrigger as Trigger,
8
8
  type ThreadListItemTriggerProps as TriggerProps,
9
- } from "./ThreadListItemTrigger";
9
+ } from "./threadListItem/ThreadListItemTrigger";
10
10
  export {
11
11
  ThreadListItemDelete as Delete,
12
12
  type ThreadListItemDeleteProps as DeleteProps,
13
- } from "./ThreadListItemDelete";
13
+ } from "./threadListItem/ThreadListItemDelete";
14
14
  export {
15
15
  ThreadListItemArchive as Archive,
16
16
  type ThreadListItemArchiveProps as ArchiveProps,
17
- } from "./ThreadListItemArchive";
17
+ } from "./threadListItem/ThreadListItemArchive";
18
18
  export {
19
19
  ThreadListItemUnarchive as Unarchive,
20
20
  type ThreadListItemUnarchiveProps as UnarchiveProps,
21
- } from "./ThreadListItemUnarchive";
21
+ } from "./threadListItem/ThreadListItemUnarchive";
@@ -1,5 +0,0 @@
1
- export { Tools, DataRenderers } from "@assistant-ui/core/react";
2
- export { ModelContext as ModelContextClient } from "@assistant-ui/core/store";
3
- export { Suggestions, type SuggestionConfig } from "@assistant-ui/core/store";
4
- export { ChainOfThoughtClient } from "@assistant-ui/core/store";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,7 +0,0 @@
1
- // Re-export shared clients from core/react
2
- export { Tools, DataRenderers } from "@assistant-ui/core/react";
3
- // Re-export clients from core
4
- export { ModelContext as ModelContextClient } from "@assistant-ui/core/store";
5
- export { Suggestions } from "@assistant-ui/core/store";
6
- export { ChainOfThoughtClient } from "@assistant-ui/core/store";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhE,8BAA8B;AAC9B,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAyB,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,2 +0,0 @@
1
- export { AssistantRuntimeProvider, useAssistantRuntime, } from "./AssistantContext.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,8BAA2B"}
@@ -1,2 +0,0 @@
1
- export { AssistantRuntimeProvider, useAssistantRuntime, } from "./AssistantContext.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,8BAA2B"}
@@ -1,9 +0,0 @@
1
- export { makeAssistantTool, type AssistantTool, makeAssistantToolUI, type AssistantToolUI, makeAssistantDataUI, type AssistantDataUI, useAssistantTool, type AssistantToolProps, useAssistantToolUI, type AssistantToolUIProps, useAssistantDataUI, type AssistantDataUIProps, useAssistantInstructions, useInlineRender, type Toolkit, type ToolDefinition, Tools, DataRenderers, } from "@assistant-ui/core/react";
2
- export type { ModelContext, ModelContextProvider, LanguageModelConfig, LanguageModelV1CallSettings, } from "@assistant-ui/core";
3
- export { mergeModelContexts } from "@assistant-ui/core";
4
- export type { Tool } from "assistant-stream";
5
- export { tool } from "@assistant-ui/core";
6
- export { Suggestions, type SuggestionConfig } from "@assistant-ui/core/store";
7
- export { ModelContextRegistry } from "@assistant-ui/core";
8
- export type { ModelContextRegistryToolHandle, ModelContextRegistryInstructionHandle, ModelContextRegistryProviderHandle, } from "@assistant-ui/core";
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model-context/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,eAAe,EACpB,mBAAmB,EACnB,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,eAAe,EACf,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,EACL,aAAa,GACd,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EACV,8BAA8B,EAC9B,qCAAqC,EACrC,kCAAkC,GACnC,MAAM,oBAAoB,CAAC"}
@@ -1,7 +0,0 @@
1
- // Re-export shared from core/react
2
- export { makeAssistantTool, makeAssistantToolUI, makeAssistantDataUI, useAssistantTool, useAssistantToolUI, useAssistantDataUI, useAssistantInstructions, useInlineRender, Tools, DataRenderers, } from "@assistant-ui/core/react";
3
- export { mergeModelContexts } from "@assistant-ui/core";
4
- export { tool } from "@assistant-ui/core";
5
- export { Suggestions } from "@assistant-ui/core/store";
6
- export { ModelContextRegistry } from "@assistant-ui/core";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model-context/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EAEnB,mBAAmB,EAEnB,gBAAgB,EAEhB,kBAAkB,EAElB,kBAAkB,EAElB,wBAAwB,EACxB,eAAe,EAGf,KAAK,EACL,aAAa,GACd,MAAM,0BAA0B,CAAC;AAUlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAyB,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/actionBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,IAAI,EACrB,KAAK,kBAAkB,IAAI,SAAS,GACrC,2BAAwB;AACzB,OAAO,EACL,aAAa,IAAI,IAAI,EACrB,KAAK,kBAAkB,IAAI,SAAS,GACrC,2BAAwB;AACzB,OAAO,EACL,eAAe,IAAI,MAAM,EACzB,KAAK,oBAAoB,IAAI,WAAW,GACzC,6BAA0B;AAC3B,OAAO,EACL,yBAAyB,IAAI,gBAAgB,EAC7C,KAAK,8BAA8B,IAAI,qBAAqB,GAC7D,uCAAoC;AACrC,OAAO,EACL,yBAAyB,IAAI,gBAAgB,EAC7C,KAAK,8BAA8B,IAAI,qBAAqB,GAC7D,uCAAoC"}
@@ -1,6 +0,0 @@
1
- export { ActionBarCopy as Copy, } from "./ActionBarCopy.js";
2
- export { ActionBarEdit as Edit, } from "./ActionBarEdit.js";
3
- export { ActionBarReload as Reload, } from "./ActionBarReload.js";
4
- export { ActionBarFeedbackPositive as FeedbackPositive, } from "./ActionBarFeedbackPositive.js";
5
- export { ActionBarFeedbackNegative as FeedbackNegative, } from "./ActionBarFeedbackNegative.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/actionBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,IAAI,GAEtB,2BAAwB;AACzB,OAAO,EACL,aAAa,IAAI,IAAI,GAEtB,2BAAwB;AACzB,OAAO,EACL,eAAe,IAAI,MAAM,GAE1B,6BAA0B;AAC3B,OAAO,EACL,yBAAyB,IAAI,gBAAgB,GAE9C,uCAAoC;AACrC,OAAO,EACL,yBAAyB,IAAI,gBAAgB,GAE9C,uCAAoC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/attachment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,IAAI,IAAI,EACtB,KAAK,mBAAmB,IAAI,SAAS,GACtC,4BAAyB;AAC1B,OAAO,EACL,cAAc,IAAI,IAAI,EACtB,KAAK,mBAAmB,IAAI,SAAS,GACtC,4BAAyB;AAC1B,OAAO,EACL,eAAe,IAAI,KAAK,EACxB,KAAK,oBAAoB,IAAI,UAAU,GACxC,6BAA0B;AAC3B,OAAO,EACL,gBAAgB,IAAI,MAAM,EAC1B,KAAK,qBAAqB,IAAI,WAAW,GAC1C,8BAA2B"}