react-native-chatbot-ai 0.0.5 → 0.1.0

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 (162) hide show
  1. package/lib/module/assets/icons/icon_thinking_step.gif +0 -0
  2. package/lib/module/assets/icons/index.js +6 -0
  3. package/lib/module/assets/icons/index.js.map +1 -0
  4. package/lib/module/assets/images/index.js.map +1 -0
  5. package/lib/module/assets/svgIcon/IconChatArrow.js +25 -0
  6. package/lib/module/assets/svgIcon/IconChatArrow.js.map +1 -0
  7. package/lib/module/assets/svgIcon/IconThinkingStep.js +45 -0
  8. package/lib/module/assets/svgIcon/IconThinkingStep.js.map +1 -0
  9. package/lib/module/components/chat/ChatEmpty.js +60 -0
  10. package/lib/module/components/chat/ChatEmpty.js.map +1 -0
  11. package/lib/module/components/chat/ChatFooter.js +91 -0
  12. package/lib/module/components/chat/ChatFooter.js.map +1 -0
  13. package/lib/module/components/chat/ChatHeader.js +32 -10
  14. package/lib/module/components/chat/ChatHeader.js.map +1 -1
  15. package/lib/module/components/chat/ChatMessageList.js +38 -0
  16. package/lib/module/components/chat/ChatMessageList.js.map +1 -0
  17. package/lib/module/components/chat/SuggestionItem.js +80 -0
  18. package/lib/module/components/chat/SuggestionItem.js.map +1 -0
  19. package/lib/module/components/chat/index.js +14 -2
  20. package/lib/module/components/chat/index.js.map +1 -1
  21. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +99 -0
  22. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -0
  23. package/lib/module/components/chat/item/ChatAIThinkingMessageItem.js +158 -0
  24. package/lib/module/components/chat/item/ChatAIThinkingMessageItem.js.map +1 -0
  25. package/lib/module/components/chat/item/ChatUserMessageItem.js +41 -0
  26. package/lib/module/components/chat/item/ChatUserMessageItem.js.map +1 -0
  27. package/lib/module/components/chat/item/index.js +34 -0
  28. package/lib/module/components/chat/item/index.js.map +1 -0
  29. package/lib/module/constants/events.js +8 -0
  30. package/lib/module/constants/events.js.map +1 -0
  31. package/lib/module/constants/query.js +8 -0
  32. package/lib/module/constants/query.js.map +1 -0
  33. package/lib/module/context/ChatContext.js +20 -7
  34. package/lib/module/context/ChatContext.js.map +1 -1
  35. package/lib/module/hooks/message/useMessage.js +86 -0
  36. package/lib/module/hooks/message/useMessage.js.map +1 -0
  37. package/lib/module/hooks/message/useSendMessage.js +58 -0
  38. package/lib/module/hooks/message/useSendMessage.js.map +1 -0
  39. package/lib/module/hooks/message/useStreamMessage.js +113 -0
  40. package/lib/module/hooks/message/useStreamMessage.js.map +1 -0
  41. package/lib/module/hooks/session/useCreateSession.js +18 -0
  42. package/lib/module/hooks/session/useCreateSession.js.map +1 -0
  43. package/lib/module/hooks/session/useFetchSessionById.js +14 -0
  44. package/lib/module/hooks/session/useFetchSessionById.js.map +1 -0
  45. package/lib/module/hooks/suggestions/useFetchSuggestions.js +15 -0
  46. package/lib/module/hooks/suggestions/useFetchSuggestions.js.map +1 -0
  47. package/lib/module/index.js +2 -2
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/services/endpoints.js +11 -0
  50. package/lib/module/services/endpoints.js.map +1 -0
  51. package/lib/module/store/session.js +11 -0
  52. package/lib/module/store/session.js.map +1 -0
  53. package/lib/module/store/streamMessage.js +26 -0
  54. package/lib/module/store/streamMessage.js.map +1 -0
  55. package/lib/module/types/common.js +23 -0
  56. package/lib/module/types/common.js.map +1 -0
  57. package/lib/module/types/dto.js +2 -0
  58. package/lib/module/types/index.js +6 -0
  59. package/lib/module/types/index.js.map +1 -0
  60. package/lib/typescript/src/assets/icons/index.d.ts +5 -0
  61. package/lib/typescript/src/assets/icons/index.d.ts.map +1 -0
  62. package/lib/typescript/src/assets/images/index.d.ts.map +1 -0
  63. package/lib/typescript/src/assets/svgIcon/IconChatArrow.d.ts +9 -0
  64. package/lib/typescript/src/assets/svgIcon/IconChatArrow.d.ts.map +1 -0
  65. package/lib/typescript/src/assets/svgIcon/IconThinkingStep.d.ts +7 -0
  66. package/lib/typescript/src/assets/svgIcon/IconThinkingStep.d.ts.map +1 -0
  67. package/lib/typescript/src/components/chat/ChatEmpty.d.ts +3 -0
  68. package/lib/typescript/src/components/chat/ChatEmpty.d.ts.map +1 -0
  69. package/lib/typescript/src/components/chat/ChatFooter.d.ts +3 -0
  70. package/lib/typescript/src/components/chat/ChatFooter.d.ts.map +1 -0
  71. package/lib/typescript/src/components/chat/ChatHeader.d.ts.map +1 -1
  72. package/lib/typescript/src/components/chat/ChatMessageList.d.ts +3 -0
  73. package/lib/typescript/src/components/chat/ChatMessageList.d.ts.map +1 -0
  74. package/lib/typescript/src/components/chat/SuggestionItem.d.ts +8 -0
  75. package/lib/typescript/src/components/chat/SuggestionItem.d.ts.map +1 -0
  76. package/lib/typescript/src/components/chat/index.d.ts.map +1 -1
  77. package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts +8 -0
  78. package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -0
  79. package/lib/typescript/src/components/chat/item/ChatAIThinkingMessageItem.d.ts +8 -0
  80. package/lib/typescript/src/components/chat/item/ChatAIThinkingMessageItem.d.ts.map +1 -0
  81. package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts +7 -0
  82. package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts.map +1 -0
  83. package/lib/typescript/src/components/chat/item/index.d.ts +8 -0
  84. package/lib/typescript/src/components/chat/item/index.d.ts.map +1 -0
  85. package/lib/typescript/src/constants/events.d.ts +6 -0
  86. package/lib/typescript/src/constants/events.d.ts.map +1 -0
  87. package/lib/typescript/src/constants/query.d.ts +6 -0
  88. package/lib/typescript/src/constants/query.d.ts.map +1 -0
  89. package/lib/typescript/src/context/ChatContext.d.ts +2 -1
  90. package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
  91. package/lib/typescript/src/hooks/message/useMessage.d.ts +5 -0
  92. package/lib/typescript/src/hooks/message/useMessage.d.ts.map +1 -0
  93. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +5 -0
  94. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -0
  95. package/lib/typescript/src/hooks/message/useStreamMessage.d.ts +6 -0
  96. package/lib/typescript/src/hooks/message/useStreamMessage.d.ts.map +1 -0
  97. package/lib/typescript/src/hooks/session/useCreateSession.d.ts +2 -0
  98. package/lib/typescript/src/hooks/session/useCreateSession.d.ts.map +1 -0
  99. package/lib/typescript/src/hooks/session/useFetchSessionById.d.ts +2 -0
  100. package/lib/typescript/src/hooks/session/useFetchSessionById.d.ts.map +1 -0
  101. package/lib/typescript/src/hooks/suggestions/useFetchSuggestions.d.ts +2 -0
  102. package/lib/typescript/src/hooks/suggestions/useFetchSuggestions.d.ts.map +1 -0
  103. package/lib/typescript/src/index.d.ts +2 -2
  104. package/lib/typescript/src/index.d.ts.map +1 -1
  105. package/lib/typescript/src/services/endpoints.d.ts +9 -0
  106. package/lib/typescript/src/services/endpoints.d.ts.map +1 -0
  107. package/lib/typescript/src/store/session.d.ts +4 -0
  108. package/lib/typescript/src/store/session.d.ts.map +1 -0
  109. package/lib/typescript/src/store/streamMessage.d.ts +4 -0
  110. package/lib/typescript/src/store/streamMessage.d.ts.map +1 -0
  111. package/lib/typescript/src/types/chat.d.ts +19 -2
  112. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  113. package/lib/typescript/src/types/common.d.ts +29 -0
  114. package/lib/typescript/src/types/common.d.ts.map +1 -0
  115. package/lib/typescript/src/types/dto.d.ts +66 -0
  116. package/lib/typescript/src/types/dto.d.ts.map +1 -1
  117. package/lib/typescript/src/types/index.d.ts +4 -0
  118. package/lib/typescript/src/types/index.d.ts.map +1 -0
  119. package/package.json +15 -5
  120. package/src/assets/icons/icon_thinking_step.gif +0 -0
  121. package/src/assets/icons/index.ts +3 -0
  122. package/src/assets/svgIcon/IconChatArrow.tsx +27 -0
  123. package/src/assets/svgIcon/IconThinkingStep.tsx +48 -0
  124. package/src/components/chat/ChatEmpty.tsx +60 -0
  125. package/src/components/chat/ChatFooter.tsx +99 -0
  126. package/src/components/chat/ChatHeader.tsx +36 -3
  127. package/src/components/chat/ChatMessageList.tsx +35 -0
  128. package/src/components/chat/SuggestionItem.tsx +106 -0
  129. package/src/components/chat/index.tsx +15 -1
  130. package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +141 -0
  131. package/src/components/chat/item/ChatAIThinkingMessageItem.tsx +205 -0
  132. package/src/components/chat/item/ChatUserMessageItem.tsx +39 -0
  133. package/src/components/chat/item/index.tsx +23 -0
  134. package/src/constants/events.ts +5 -0
  135. package/src/constants/query.ts +5 -0
  136. package/src/context/ChatContext.tsx +13 -5
  137. package/src/hooks/message/useMessage.ts +98 -0
  138. package/src/hooks/message/useSendMessage.ts +58 -0
  139. package/src/hooks/message/useStreamMessage.ts +142 -0
  140. package/src/hooks/session/useCreateSession.ts +23 -0
  141. package/src/hooks/session/useFetchSessionById.ts +17 -0
  142. package/src/hooks/suggestions/useFetchSuggestions.ts +18 -0
  143. package/src/index.ts +3 -2
  144. package/src/services/endpoints.ts +10 -0
  145. package/src/store/session.ts +9 -0
  146. package/src/store/streamMessage.ts +24 -0
  147. package/src/types/chat.ts +24 -3
  148. package/src/types/common.ts +32 -0
  149. package/src/types/dto.ts +79 -0
  150. package/src/types/index.ts +3 -0
  151. package/lib/module/images/index.js.map +0 -1
  152. package/lib/module/utils/index.js +0 -2
  153. package/lib/module/utils/index.js.map +0 -1
  154. package/lib/typescript/src/images/index.d.ts.map +0 -1
  155. package/lib/typescript/src/utils/index.d.ts +0 -1
  156. package/lib/typescript/src/utils/index.d.ts.map +0 -1
  157. package/src/utils/index.ts +0 -0
  158. /package/lib/module/{images → assets/images}/bg_header.png +0 -0
  159. /package/lib/module/{images → assets/images}/index.js +0 -0
  160. /package/lib/typescript/src/{images → assets/images}/index.d.ts +0 -0
  161. /package/src/{images → assets/images}/bg_header.png +0 -0
  162. /package/src/{images → assets/images}/index.ts +0 -0
@@ -0,0 +1,9 @@
1
+ import { create } from 'zustand';
2
+ import { SessionStore } from '../types/chat';
3
+
4
+ const useSessionStore = create<SessionStore>((set) => ({
5
+ sessionId: undefined,
6
+ setSessionId: (sessionId) => set({ sessionId }),
7
+ }));
8
+
9
+ export default useSessionStore;
@@ -0,0 +1,24 @@
1
+ import { create } from 'zustand';
2
+ import { StreamMessageStore } from '../types/chat';
3
+ import { IMessageItem } from '../types';
4
+
5
+ const useStreamMessageStore = create<StreamMessageStore>((set) => ({
6
+ isStreaming: false,
7
+ setIsStreaming: (isStreaming) => set({ isStreaming }),
8
+ streamMessage: {},
9
+ setStreamMessage: (streamMessage: Record<string, IMessageItem>) => {
10
+ if (!streamMessage || Object.keys(streamMessage).length === 0) return;
11
+
12
+ set((state) => {
13
+ const updated = { ...state.streamMessage };
14
+
15
+ for (const [id, msg] of Object.entries(streamMessage)) {
16
+ updated[id] = msg;
17
+ }
18
+
19
+ return { streamMessage: updated };
20
+ });
21
+ },
22
+ }));
23
+
24
+ export default useStreamMessageStore;
package/src/types/chat.ts CHANGED
@@ -1,5 +1,26 @@
1
- import type { PropsWithChildren } from 'react';
1
+ import { JSX } from 'react';
2
+ import { IMessageItem } from './dto';
2
3
 
3
- export interface ChatContextType {}
4
+ export interface ChatContextType {
5
+ apiAddress: string;
6
+ userId: string;
7
+ cartButton?: JSX.Element;
8
+ }
4
9
 
5
- export interface ChatProviderProps extends PropsWithChildren {}
10
+ export interface ChatProviderProps {
11
+ apiAddress: string;
12
+ userId: string;
13
+ cartButton?: JSX.Element;
14
+ }
15
+
16
+ export interface SessionStore {
17
+ sessionId?: string;
18
+ setSessionId: (sessionId: string | undefined) => void;
19
+ }
20
+
21
+ export interface StreamMessageStore {
22
+ isStreaming: boolean;
23
+ setIsStreaming: (isStreaming: boolean) => void;
24
+ streamMessage: Record<string, IMessageItem>;
25
+ setStreamMessage: (streamMessage: Record<string, IMessageItem>) => void;
26
+ }
@@ -0,0 +1,32 @@
1
+ export interface BaseResponse<T> {
2
+ statusCode: number;
3
+ message: any;
4
+ data: T;
5
+ }
6
+
7
+ export interface Pageable {
8
+ pageNumber: number;
9
+ totalPages: number;
10
+ pageSize: number;
11
+ totalElements: number;
12
+ }
13
+
14
+ export enum SuggestionCategory {
15
+ product = 'product',
16
+ discount = 'discount',
17
+ gift = 'gift',
18
+ health_advice = 'health_advice',
19
+ content = 'content',
20
+ guide = 'guide',
21
+ }
22
+
23
+ export enum MessageType {
24
+ user_message = 'user-message',
25
+ ai_thinking = 'ai-thinking',
26
+ ai_answer = 'ai-answer',
27
+ }
28
+
29
+ export enum RoleType {
30
+ user = 'user',
31
+ ai = 'ai',
32
+ }
package/src/types/dto.ts CHANGED
@@ -0,0 +1,79 @@
1
+ import { MessageType, RoleType, SuggestionCategory } from './common';
2
+
3
+ export interface ISuggestionItem {
4
+ content: string;
5
+ category: SuggestionCategory;
6
+ suggestion_id: string;
7
+ }
8
+
9
+ export interface SuggetionResponse {
10
+ group_suggestion_id: string;
11
+ suggestions: ISuggestionItem[];
12
+ }
13
+
14
+ export interface IMessageItem {
15
+ id: string;
16
+ content: string;
17
+ additional_kwargs: Record<string, any>;
18
+ response_metadata: Record<string, any>;
19
+ type: MessageType;
20
+ name: string | null;
21
+ role: RoleType;
22
+ metadata: Record<string, any>;
23
+ created_at: string;
24
+ modified_at: string;
25
+ attachments: any[];
26
+ }
27
+
28
+ export interface SessionDetailResponse {
29
+ id: string;
30
+ title: string;
31
+ created_at: string;
32
+ updated_at: string;
33
+ metadata: {
34
+ source: string;
35
+ };
36
+ shared: boolean;
37
+ messages: IMessageItem[];
38
+ }
39
+
40
+ export interface IAttachment {
41
+ type: 'image' | 'file';
42
+ source_type: 'url';
43
+ data: string;
44
+ name?: string;
45
+ size?: number;
46
+ loading?: boolean;
47
+ mime_type:
48
+ | 'image/jpeg'
49
+ | 'image/png'
50
+ | 'image/webp'
51
+ | 'image/jpg'
52
+ | 'application/pdf';
53
+ }
54
+
55
+ export interface StreamMessageRequest {
56
+ content: string;
57
+ stream: boolean;
58
+ attachments: IAttachment[];
59
+ clicked_suggestion_id?: string;
60
+ metadata: {
61
+ source: 'user';
62
+ };
63
+ manual_retry_attempts: number;
64
+ retried_message_id?: string;
65
+ }
66
+
67
+ export interface CreateSessionRequest {
68
+ title: string;
69
+ }
70
+
71
+ export interface CreateSessionResponse {
72
+ id: string;
73
+ title: string;
74
+ created_at: string;
75
+ updated_at: string;
76
+ metadata: {
77
+ source: string;
78
+ };
79
+ }
@@ -0,0 +1,3 @@
1
+ export * from './common';
2
+ export * from './dto';
3
+ export * from './chat';
@@ -1 +0,0 @@
1
- {"version":3,"names":["bg_header","require"],"sourceRoot":"../../../src","sources":["images/index.ts"],"mappings":";;AAAA,eAAe;EACbA,SAAS,EAAEC,OAAO,CAAC,iBAAiB;AACtC,CAAC","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/images/index.ts"],"names":[],"mappings":";;;AAAA,wBAEE"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":""}
File without changes
File without changes
File without changes
File without changes