@volkansuner/aichat-react-native 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 (203) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +528 -0
  3. package/dist/AIChatSDK.d.ts +75 -0
  4. package/dist/AIChatSDK.d.ts.map +1 -0
  5. package/dist/AIChatSDK.js +357 -0
  6. package/dist/AIChatSDK.js.map +1 -0
  7. package/dist/components/AIChatProvider.d.ts +25 -0
  8. package/dist/components/AIChatProvider.d.ts.map +1 -0
  9. package/dist/components/AIChatProvider.js +93 -0
  10. package/dist/components/AIChatProvider.js.map +1 -0
  11. package/dist/components/AIChatWidget.d.ts +62 -0
  12. package/dist/components/AIChatWidget.d.ts.map +1 -0
  13. package/dist/components/AIChatWidget.handlers.d.ts +15 -0
  14. package/dist/components/AIChatWidget.handlers.d.ts.map +1 -0
  15. package/dist/components/AIChatWidget.handlers.js +180 -0
  16. package/dist/components/AIChatWidget.handlers.js.map +1 -0
  17. package/dist/components/AIChatWidget.js +403 -0
  18. package/dist/components/AIChatWidget.js.map +1 -0
  19. package/dist/components/AIChatWidget.styles.d.ts +17 -0
  20. package/dist/components/AIChatWidget.styles.d.ts.map +1 -0
  21. package/dist/components/AIChatWidget.styles.js +68 -0
  22. package/dist/components/AIChatWidget.styles.js.map +1 -0
  23. package/dist/components/AIChatWidget.types.d.ts +250 -0
  24. package/dist/components/AIChatWidget.types.d.ts.map +1 -0
  25. package/dist/components/AIChatWidget.types.js +3 -0
  26. package/dist/components/AIChatWidget.types.js.map +1 -0
  27. package/dist/components/AIChatWidget.utils.d.ts +12 -0
  28. package/dist/components/AIChatWidget.utils.d.ts.map +1 -0
  29. package/dist/components/AIChatWidget.utils.js +109 -0
  30. package/dist/components/AIChatWidget.utils.js.map +1 -0
  31. package/dist/components/ConfigError.d.ts +33 -0
  32. package/dist/components/ConfigError.d.ts.map +1 -0
  33. package/dist/components/ConfigError.js +195 -0
  34. package/dist/components/ConfigError.js.map +1 -0
  35. package/dist/components/FloatingButton.d.ts +12 -0
  36. package/dist/components/FloatingButton.d.ts.map +1 -0
  37. package/dist/components/FloatingButton.js +163 -0
  38. package/dist/components/FloatingButton.js.map +1 -0
  39. package/dist/components/InputArea.d.ts +58 -0
  40. package/dist/components/InputArea.d.ts.map +1 -0
  41. package/dist/components/InputArea.js +135 -0
  42. package/dist/components/InputArea.js.map +1 -0
  43. package/dist/components/MarkdownText.d.ts +16 -0
  44. package/dist/components/MarkdownText.d.ts.map +1 -0
  45. package/dist/components/MarkdownText.js +263 -0
  46. package/dist/components/MarkdownText.js.map +1 -0
  47. package/dist/components/MessageBubble.d.ts +101 -0
  48. package/dist/components/MessageBubble.d.ts.map +1 -0
  49. package/dist/components/MessageBubble.js +377 -0
  50. package/dist/components/MessageBubble.js.map +1 -0
  51. package/dist/components/NavigationSuggestion.d.ts +13 -0
  52. package/dist/components/NavigationSuggestion.d.ts.map +1 -0
  53. package/dist/components/NavigationSuggestion.js +117 -0
  54. package/dist/components/NavigationSuggestion.js.map +1 -0
  55. package/dist/components/QuickReplies.d.ts +15 -0
  56. package/dist/components/QuickReplies.d.ts.map +1 -0
  57. package/dist/components/QuickReplies.js +49 -0
  58. package/dist/components/QuickReplies.js.map +1 -0
  59. package/dist/components/TemplateRenderer.d.ts +17 -0
  60. package/dist/components/TemplateRenderer.d.ts.map +1 -0
  61. package/dist/components/TemplateRenderer.js +397 -0
  62. package/dist/components/TemplateRenderer.js.map +1 -0
  63. package/dist/components/TypingIndicator.d.ts +29 -0
  64. package/dist/components/TypingIndicator.d.ts.map +1 -0
  65. package/dist/components/TypingIndicator.js +110 -0
  66. package/dist/components/TypingIndicator.js.map +1 -0
  67. package/dist/components/defaults/DefaultCard.d.ts +15 -0
  68. package/dist/components/defaults/DefaultCard.d.ts.map +1 -0
  69. package/dist/components/defaults/DefaultCard.js +157 -0
  70. package/dist/components/defaults/DefaultCard.js.map +1 -0
  71. package/dist/components/defaults/DefaultDetail.d.ts +15 -0
  72. package/dist/components/defaults/DefaultDetail.d.ts.map +1 -0
  73. package/dist/components/defaults/DefaultDetail.js +139 -0
  74. package/dist/components/defaults/DefaultDetail.js.map +1 -0
  75. package/dist/components/defaults/DefaultList.d.ts +13 -0
  76. package/dist/components/defaults/DefaultList.d.ts.map +1 -0
  77. package/dist/components/defaults/DefaultList.js +99 -0
  78. package/dist/components/defaults/DefaultList.js.map +1 -0
  79. package/dist/components/defaults/DefaultTable.d.ts +15 -0
  80. package/dist/components/defaults/DefaultTable.d.ts.map +1 -0
  81. package/dist/components/defaults/DefaultTable.js +205 -0
  82. package/dist/components/defaults/DefaultTable.js.map +1 -0
  83. package/dist/components/defaults/index.d.ts +15 -0
  84. package/dist/components/defaults/index.d.ts.map +1 -0
  85. package/dist/components/defaults/index.js +26 -0
  86. package/dist/components/defaults/index.js.map +1 -0
  87. package/dist/components/index.d.ts +17 -0
  88. package/dist/components/index.d.ts.map +1 -0
  89. package/dist/components/index.js +33 -0
  90. package/dist/components/index.js.map +1 -0
  91. package/dist/constants.d.ts +41 -0
  92. package/dist/constants.d.ts.map +1 -0
  93. package/dist/constants.js +52 -0
  94. package/dist/constants.js.map +1 -0
  95. package/dist/hooks/useAIChatConfig.d.ts +61 -0
  96. package/dist/hooks/useAIChatConfig.d.ts.map +1 -0
  97. package/dist/hooks/useAIChatConfig.js +95 -0
  98. package/dist/hooks/useAIChatConfig.js.map +1 -0
  99. package/dist/hooks/useChatMessages.d.ts +27 -0
  100. package/dist/hooks/useChatMessages.d.ts.map +1 -0
  101. package/dist/hooks/useChatMessages.js +255 -0
  102. package/dist/hooks/useChatMessages.js.map +1 -0
  103. package/dist/hooks/useContextManager.d.ts +13 -0
  104. package/dist/hooks/useContextManager.d.ts.map +1 -0
  105. package/dist/hooks/useContextManager.js +42 -0
  106. package/dist/hooks/useContextManager.js.map +1 -0
  107. package/dist/hooks/useSDK.d.ts +18 -0
  108. package/dist/hooks/useSDK.d.ts.map +1 -0
  109. package/dist/hooks/useSDK.js +64 -0
  110. package/dist/hooks/useSDK.js.map +1 -0
  111. package/dist/index.d.ts +15 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +46 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/registry/TemplateRegistry.d.ts +48 -0
  116. package/dist/registry/TemplateRegistry.d.ts.map +1 -0
  117. package/dist/registry/TemplateRegistry.js +77 -0
  118. package/dist/registry/TemplateRegistry.js.map +1 -0
  119. package/dist/registry/index.d.ts +5 -0
  120. package/dist/registry/index.d.ts.map +1 -0
  121. package/dist/registry/index.js +9 -0
  122. package/dist/registry/index.js.map +1 -0
  123. package/dist/services/BackendService.d.ts +47 -0
  124. package/dist/services/BackendService.d.ts.map +1 -0
  125. package/dist/services/BackendService.js +362 -0
  126. package/dist/services/BackendService.js.map +1 -0
  127. package/dist/services/ConversationManager.d.ts +40 -0
  128. package/dist/services/ConversationManager.d.ts.map +1 -0
  129. package/dist/services/ConversationManager.js +95 -0
  130. package/dist/services/ConversationManager.js.map +1 -0
  131. package/dist/services/LocalAIClassifier.d.ts +32 -0
  132. package/dist/services/LocalAIClassifier.d.ts.map +1 -0
  133. package/dist/services/LocalAIClassifier.js +149 -0
  134. package/dist/services/LocalAIClassifier.js.map +1 -0
  135. package/dist/services/NavigationHandler.d.ts +30 -0
  136. package/dist/services/NavigationHandler.d.ts.map +1 -0
  137. package/dist/services/NavigationHandler.js +74 -0
  138. package/dist/services/NavigationHandler.js.map +1 -0
  139. package/dist/themes/dark.d.ts +6 -0
  140. package/dist/themes/dark.d.ts.map +1 -0
  141. package/dist/themes/dark.js +130 -0
  142. package/dist/themes/dark.js.map +1 -0
  143. package/dist/themes/index.d.ts +13 -0
  144. package/dist/themes/index.d.ts.map +1 -0
  145. package/dist/themes/index.js +34 -0
  146. package/dist/themes/index.js.map +1 -0
  147. package/dist/themes/light.d.ts +6 -0
  148. package/dist/themes/light.d.ts.map +1 -0
  149. package/dist/themes/light.js +130 -0
  150. package/dist/themes/light.js.map +1 -0
  151. package/dist/themes/types.d.ts +143 -0
  152. package/dist/themes/types.d.ts.map +1 -0
  153. package/dist/themes/types.js +6 -0
  154. package/dist/themes/types.js.map +1 -0
  155. package/dist/types/api.d.ts +118 -0
  156. package/dist/types/api.d.ts.map +1 -0
  157. package/dist/types/api.js +6 -0
  158. package/dist/types/api.js.map +1 -0
  159. package/dist/types/chat.d.ts +154 -0
  160. package/dist/types/chat.d.ts.map +1 -0
  161. package/dist/types/chat.js +6 -0
  162. package/dist/types/chat.js.map +1 -0
  163. package/dist/types/components.d.ts +69 -0
  164. package/dist/types/components.d.ts.map +1 -0
  165. package/dist/types/components.js +17 -0
  166. package/dist/types/components.js.map +1 -0
  167. package/dist/types/config.d.ts +122 -0
  168. package/dist/types/config.d.ts.map +1 -0
  169. package/dist/types/config.js +18 -0
  170. package/dist/types/config.js.map +1 -0
  171. package/dist/types/document.d.ts +108 -0
  172. package/dist/types/document.d.ts.map +1 -0
  173. package/dist/types/document.js +7 -0
  174. package/dist/types/document.js.map +1 -0
  175. package/dist/types/index.d.ts +14 -0
  176. package/dist/types/index.d.ts.map +1 -0
  177. package/dist/types/index.js +31 -0
  178. package/dist/types/index.js.map +1 -0
  179. package/dist/types/local-ai.d.ts +48 -0
  180. package/dist/types/local-ai.d.ts.map +1 -0
  181. package/dist/types/local-ai.js +17 -0
  182. package/dist/types/local-ai.js.map +1 -0
  183. package/dist/types/navigation.d.ts +89 -0
  184. package/dist/types/navigation.d.ts.map +1 -0
  185. package/dist/types/navigation.js +6 -0
  186. package/dist/types/navigation.js.map +1 -0
  187. package/dist/types/sdk.d.ts +47 -0
  188. package/dist/types/sdk.d.ts.map +1 -0
  189. package/dist/types/sdk.js +6 -0
  190. package/dist/types/sdk.js.map +1 -0
  191. package/dist/types/template.d.ts +220 -0
  192. package/dist/types/template.d.ts.map +1 -0
  193. package/dist/types/template.js +8 -0
  194. package/dist/types/template.js.map +1 -0
  195. package/dist/utils/configLoader.d.ts +69 -0
  196. package/dist/utils/configLoader.d.ts.map +1 -0
  197. package/dist/utils/configLoader.js +278 -0
  198. package/dist/utils/configLoader.js.map +1 -0
  199. package/dist/utils/deepMerge.d.ts +47 -0
  200. package/dist/utils/deepMerge.d.ts.map +1 -0
  201. package/dist/utils/deepMerge.js +71 -0
  202. package/dist/utils/deepMerge.js.map +1 -0
  203. package/package.json +65 -0
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /**
3
+ * DefaultTable Component
4
+ *
5
+ * Generic table component for displaying array of objects in tabular format.
6
+ * Used as fallback when no custom component is registered.
7
+ *
8
+ * Displays:
9
+ * - Column headers (from first object keys)
10
+ * - Rows with data
11
+ * - Horizontal scrolling for wide tables
12
+ */
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.DefaultTable = DefaultTable;
18
+ const react_1 = __importDefault(require("react"));
19
+ const react_native_1 = require("react-native");
20
+ function DefaultTable({ data, theme }) {
21
+ // Validate data is array
22
+ if (!Array.isArray(data) || data.length === 0) {
23
+ return (<react_native_1.View style={[
24
+ styles.emptyContainer,
25
+ {
26
+ padding: theme?.spacing?.md || 12,
27
+ backgroundColor: theme?.colors?.surface || '#f5f5f5',
28
+ borderRadius: theme?.borderRadius?.md || 8,
29
+ }
30
+ ]}>
31
+ <react_native_1.Text style={{
32
+ color: theme?.colors?.textSecondary || '#666666',
33
+ fontSize: theme?.typography?.fontSize?.sm || 14,
34
+ textAlign: 'center',
35
+ }}>
36
+ No data to display
37
+ </react_native_1.Text>
38
+ </react_native_1.View>);
39
+ }
40
+ // Get columns from first object
41
+ const firstItem = data[0];
42
+ if (typeof firstItem !== 'object' || firstItem === null) {
43
+ return (<react_native_1.View style={{
44
+ padding: theme?.spacing?.md || 12,
45
+ }}>
46
+ <react_native_1.Text style={{
47
+ color: theme?.colors?.textSecondary || '#666666',
48
+ }}>
49
+ Table requires array of objects
50
+ </react_native_1.Text>
51
+ </react_native_1.View>);
52
+ }
53
+ // Extract column names (exclude internal fields)
54
+ const excludedFields = ['_id', '__v', 'id'];
55
+ const columns = Object.keys(firstItem)
56
+ .filter(key => !excludedFields.includes(key))
57
+ .slice(0, 5); // Max 5 columns for mobile
58
+ // Format column name
59
+ const formatColumnName = (key) => {
60
+ return key
61
+ .replace(/([A-Z])/g, ' $1')
62
+ .replace(/^./, str => str.toUpperCase())
63
+ .trim();
64
+ };
65
+ // Format cell value
66
+ const formatValue = (value) => {
67
+ if (value === null || value === undefined)
68
+ return '-';
69
+ if (typeof value === 'boolean')
70
+ return value ? '✓' : '✗';
71
+ if (typeof value === 'number')
72
+ return value.toLocaleString();
73
+ if (Array.isArray(value))
74
+ return `[${value.length}]`;
75
+ if (typeof value === 'object')
76
+ return '{...}';
77
+ const str = String(value);
78
+ return str.length > 30 ? str.substring(0, 27) + '...' : str;
79
+ };
80
+ const spacing = theme?.spacing || { xs: 4, sm: 8, md: 12 };
81
+ const borderColor = theme?.colors?.border || '#e0e0e0';
82
+ return (<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={styles.container}>
83
+ <react_native_1.View style={[
84
+ styles.table,
85
+ {
86
+ borderWidth: 1,
87
+ borderColor,
88
+ borderRadius: theme?.borderRadius?.md || 8,
89
+ backgroundColor: theme?.colors?.surface || '#f5f5f5',
90
+ }
91
+ ]}>
92
+ {/* Header Row */}
93
+ <react_native_1.View style={[
94
+ styles.headerRow,
95
+ {
96
+ backgroundColor: theme?.colors?.primary || '#3b82f6',
97
+ borderTopLeftRadius: theme?.borderRadius?.md || 8,
98
+ borderTopRightRadius: theme?.borderRadius?.md || 8,
99
+ }
100
+ ]}>
101
+ {columns.map((column, index) => (<react_native_1.View key={column} style={[
102
+ styles.headerCell,
103
+ {
104
+ paddingHorizontal: spacing.sm,
105
+ paddingVertical: spacing.sm,
106
+ borderRightWidth: index < columns.length - 1 ? 1 : 0,
107
+ borderRightColor: 'rgba(255, 255, 255, 0.2)',
108
+ }
109
+ ]}>
110
+ <react_native_1.Text style={[
111
+ styles.headerText,
112
+ {
113
+ color: '#ffffff',
114
+ fontSize: theme?.typography?.fontSize?.xs || 12,
115
+ fontWeight: theme?.typography?.fontWeight?.semibold || '600',
116
+ }
117
+ ]}>
118
+ {formatColumnName(column)}
119
+ </react_native_1.Text>
120
+ </react_native_1.View>))}
121
+ </react_native_1.View>
122
+
123
+ {/* Data Rows */}
124
+ {data.slice(0, 10).map((row, rowIndex) => (<react_native_1.View key={rowIndex} style={[
125
+ styles.dataRow,
126
+ {
127
+ backgroundColor: rowIndex % 2 === 0
128
+ ? theme?.colors?.background || '#ffffff'
129
+ : theme?.colors?.surface || '#f9fafb',
130
+ borderTopWidth: 1,
131
+ borderTopColor: borderColor,
132
+ }
133
+ ]}>
134
+ {columns.map((column, colIndex) => (<react_native_1.View key={`${rowIndex}-${column}`} style={[
135
+ styles.dataCell,
136
+ {
137
+ paddingHorizontal: spacing.sm,
138
+ paddingVertical: spacing.sm,
139
+ borderRightWidth: colIndex < columns.length - 1 ? 1 : 0,
140
+ borderRightColor: borderColor,
141
+ }
142
+ ]}>
143
+ <react_native_1.Text style={[
144
+ styles.cellText,
145
+ {
146
+ color: theme?.colors?.text || '#000000',
147
+ fontSize: theme?.typography?.fontSize?.xs || 12,
148
+ }
149
+ ]}>
150
+ {formatValue(row[column])}
151
+ </react_native_1.Text>
152
+ </react_native_1.View>))}
153
+ </react_native_1.View>))}
154
+
155
+ {/* Show more indicator */}
156
+ {data.length > 10 && (<react_native_1.View style={{
157
+ padding: spacing.sm,
158
+ alignItems: 'center',
159
+ borderTopWidth: 1,
160
+ borderTopColor: borderColor,
161
+ }}>
162
+ <react_native_1.Text style={{
163
+ color: theme?.colors?.textSecondary || '#666666',
164
+ fontSize: theme?.typography?.fontSize?.xs || 12,
165
+ }}>
166
+ ... and {data.length - 10} more rows
167
+ </react_native_1.Text>
168
+ </react_native_1.View>)}
169
+ </react_native_1.View>
170
+ </react_native_1.ScrollView>);
171
+ }
172
+ const styles = react_native_1.StyleSheet.create({
173
+ container: {
174
+ width: '100%',
175
+ },
176
+ table: {
177
+ minWidth: '100%',
178
+ },
179
+ headerRow: {
180
+ flexDirection: 'row',
181
+ },
182
+ headerCell: {
183
+ minWidth: 100,
184
+ justifyContent: 'center',
185
+ },
186
+ headerText: {
187
+ textTransform: 'uppercase',
188
+ letterSpacing: 0.5,
189
+ },
190
+ dataRow: {
191
+ flexDirection: 'row',
192
+ },
193
+ dataCell: {
194
+ minWidth: 100,
195
+ justifyContent: 'center',
196
+ },
197
+ cellText: {
198
+ // Default styles
199
+ },
200
+ emptyContainer: {
201
+ alignItems: 'center',
202
+ justifyContent: 'center',
203
+ },
204
+ });
205
+ //# sourceMappingURL=DefaultTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultTable.js","sourceRoot":"","sources":["../../../src/components/defaults/DefaultTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Default Components
3
+ * Export all default components for Tool Registry
4
+ */
5
+ export { DefaultCard } from './DefaultCard';
6
+ export { DefaultList } from './DefaultList';
7
+ export { DefaultDetail } from './DefaultDetail';
8
+ export { DefaultTable } from './DefaultTable';
9
+ /**
10
+ * Default component registry
11
+ * Can be used as fallback or merged with custom components
12
+ */
13
+ import { ComponentRegistry } from '../../types/components';
14
+ export declare const defaultComponentRegistry: ComponentRegistry;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/defaults/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * Default Components
4
+ * Export all default components for Tool Registry
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.defaultComponentRegistry = exports.DefaultTable = exports.DefaultDetail = exports.DefaultList = exports.DefaultCard = void 0;
8
+ var DefaultCard_1 = require("./DefaultCard");
9
+ Object.defineProperty(exports, "DefaultCard", { enumerable: true, get: function () { return DefaultCard_1.DefaultCard; } });
10
+ var DefaultList_1 = require("./DefaultList");
11
+ Object.defineProperty(exports, "DefaultList", { enumerable: true, get: function () { return DefaultList_1.DefaultList; } });
12
+ var DefaultDetail_1 = require("./DefaultDetail");
13
+ Object.defineProperty(exports, "DefaultDetail", { enumerable: true, get: function () { return DefaultDetail_1.DefaultDetail; } });
14
+ var DefaultTable_1 = require("./DefaultTable");
15
+ Object.defineProperty(exports, "DefaultTable", { enumerable: true, get: function () { return DefaultTable_1.DefaultTable; } });
16
+ const DefaultCard_2 = require("./DefaultCard");
17
+ const DefaultList_2 = require("./DefaultList");
18
+ const DefaultDetail_2 = require("./DefaultDetail");
19
+ const DefaultTable_2 = require("./DefaultTable");
20
+ exports.defaultComponentRegistry = {
21
+ DefaultCard: DefaultCard_2.DefaultCard,
22
+ DefaultList: DefaultList_2.DefaultList,
23
+ DefaultDetail: DefaultDetail_2.DefaultDetail,
24
+ DefaultTable: DefaultTable_2.DefaultTable,
25
+ };
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/defaults/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAOrB,+CAA4C;AAC5C,+CAA4C;AAC5C,mDAAgD;AAChD,iDAA8C;AAEjC,QAAA,wBAAwB,GAAsB;IACzD,WAAW,EAAX,yBAAW;IACX,WAAW,EAAX,yBAAW;IACX,aAAa,EAAb,6BAAa;IACb,YAAY,EAAZ,2BAAY;CACb,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * AIChatSDK Components
3
+ *
4
+ * UI components for the AI Chat SDK
5
+ */
6
+ export { AIChatProvider } from './AIChatProvider';
7
+ export { AIChatWidget } from './AIChatWidget';
8
+ export { MessageBubble } from './MessageBubble';
9
+ export { InputArea } from './InputArea';
10
+ export { TypingIndicator } from './TypingIndicator';
11
+ export { FloatingButton } from './FloatingButton';
12
+ export { QuickReplies } from './QuickReplies';
13
+ export { NavigationSuggestionCard } from './NavigationSuggestion';
14
+ export { MarkdownText } from './MarkdownText';
15
+ export { TemplateRenderer } from './TemplateRenderer';
16
+ export { ConfigError } from './ConfigError';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ /**
3
+ * AIChatSDK Components
4
+ *
5
+ * UI components for the AI Chat SDK
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ConfigError = exports.TemplateRenderer = exports.MarkdownText = exports.NavigationSuggestionCard = exports.QuickReplies = exports.FloatingButton = exports.TypingIndicator = exports.InputArea = exports.MessageBubble = exports.AIChatWidget = exports.AIChatProvider = void 0;
9
+ // Main Components
10
+ var AIChatProvider_1 = require("./AIChatProvider");
11
+ Object.defineProperty(exports, "AIChatProvider", { enumerable: true, get: function () { return AIChatProvider_1.AIChatProvider; } });
12
+ var AIChatWidget_1 = require("./AIChatWidget");
13
+ Object.defineProperty(exports, "AIChatWidget", { enumerable: true, get: function () { return AIChatWidget_1.AIChatWidget; } });
14
+ // UI Components
15
+ var MessageBubble_1 = require("./MessageBubble");
16
+ Object.defineProperty(exports, "MessageBubble", { enumerable: true, get: function () { return MessageBubble_1.MessageBubble; } });
17
+ var InputArea_1 = require("./InputArea");
18
+ Object.defineProperty(exports, "InputArea", { enumerable: true, get: function () { return InputArea_1.InputArea; } });
19
+ var TypingIndicator_1 = require("./TypingIndicator");
20
+ Object.defineProperty(exports, "TypingIndicator", { enumerable: true, get: function () { return TypingIndicator_1.TypingIndicator; } });
21
+ var FloatingButton_1 = require("./FloatingButton");
22
+ Object.defineProperty(exports, "FloatingButton", { enumerable: true, get: function () { return FloatingButton_1.FloatingButton; } });
23
+ var QuickReplies_1 = require("./QuickReplies");
24
+ Object.defineProperty(exports, "QuickReplies", { enumerable: true, get: function () { return QuickReplies_1.QuickReplies; } });
25
+ var NavigationSuggestion_1 = require("./NavigationSuggestion");
26
+ Object.defineProperty(exports, "NavigationSuggestionCard", { enumerable: true, get: function () { return NavigationSuggestion_1.NavigationSuggestionCard; } });
27
+ var MarkdownText_1 = require("./MarkdownText");
28
+ Object.defineProperty(exports, "MarkdownText", { enumerable: true, get: function () { return MarkdownText_1.MarkdownText; } });
29
+ var TemplateRenderer_1 = require("./TemplateRenderer");
30
+ Object.defineProperty(exports, "TemplateRenderer", { enumerable: true, get: function () { return TemplateRenderer_1.TemplateRenderer; } });
31
+ var ConfigError_1 = require("./ConfigError");
32
+ Object.defineProperty(exports, "ConfigError", { enumerable: true, get: function () { return ConfigError_1.ConfigError; } });
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,kBAAkB;AAClB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,gBAAgB;AAChB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,+DAAkE;AAAzD,gIAAA,wBAAwB,OAAA;AACjC,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Shared constants for AIChatSDK
3
+ */
4
+ export declare const APP_NAME = "AIChatSDK";
5
+ export declare const APP_VERSION = "0.1.0";
6
+ export declare const API_VERSION = "v1";
7
+ export declare const DEFAULT_API_TIMEOUT = 30000;
8
+ export declare const LOCAL_AI_CONFIDENCE_THRESHOLD = 0.85;
9
+ export declare const LOCAL_AI_MAX_INFERENCE_TIME = 150;
10
+ export declare const MAX_MESSAGE_LENGTH = 1000;
11
+ export declare const MAX_CONVERSATION_HISTORY = 50;
12
+ export declare const DEFAULT_MESSAGES_LIMIT = 20;
13
+ export declare const FREE_TIER_MONTHLY_TOKENS = 1000;
14
+ export declare const STARTER_TIER_MONTHLY_TOKENS = 10000;
15
+ export declare const PRO_TIER_MONTHLY_TOKENS = 50000;
16
+ export declare const FREE_TIER_RATE_LIMIT = 10;
17
+ export declare const STARTER_TIER_RATE_LIMIT = 100;
18
+ export declare const PRO_TIER_RATE_LIMIT = 1000;
19
+ export declare const STORAGE_KEYS: {
20
+ readonly CONFIG: "@aichat/config";
21
+ readonly CONVERSATION_HISTORY: "@aichat/conversation_history";
22
+ readonly MESSAGE_QUEUE: "@aichat/message_queue";
23
+ readonly API_KEY: "@aichat/api_key";
24
+ };
25
+ export declare const CONFIDENCE_THRESHOLDS: {
26
+ readonly HIGH: 0.85;
27
+ readonly MEDIUM: 0.5;
28
+ readonly LOW: 0.3;
29
+ };
30
+ export declare const HTTP_STATUS: {
31
+ readonly OK: 200;
32
+ readonly CREATED: 201;
33
+ readonly NO_CONTENT: 204;
34
+ readonly BAD_REQUEST: 400;
35
+ readonly UNAUTHORIZED: 401;
36
+ readonly FORBIDDEN: 403;
37
+ readonly NOT_FOUND: 404;
38
+ readonly RATE_LIMIT: 429;
39
+ readonly INTERNAL_ERROR: 500;
40
+ };
41
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,QAAQ,cAAc,CAAC;AACpC,eAAO,MAAM,WAAW,UAAU,CAAC;AAGnC,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAGzC,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAClD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAG/C,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAGzC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AACjD,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAG7C,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAGxC,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAGX,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;;;CAUd,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * Shared constants for AIChatSDK
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HTTP_STATUS = exports.CONFIDENCE_THRESHOLDS = exports.STORAGE_KEYS = exports.PRO_TIER_RATE_LIMIT = exports.STARTER_TIER_RATE_LIMIT = exports.FREE_TIER_RATE_LIMIT = exports.PRO_TIER_MONTHLY_TOKENS = exports.STARTER_TIER_MONTHLY_TOKENS = exports.FREE_TIER_MONTHLY_TOKENS = exports.DEFAULT_MESSAGES_LIMIT = exports.MAX_CONVERSATION_HISTORY = exports.MAX_MESSAGE_LENGTH = exports.LOCAL_AI_MAX_INFERENCE_TIME = exports.LOCAL_AI_CONFIDENCE_THRESHOLD = exports.DEFAULT_API_TIMEOUT = exports.API_VERSION = exports.APP_VERSION = exports.APP_NAME = void 0;
7
+ exports.APP_NAME = 'AIChatSDK';
8
+ exports.APP_VERSION = '0.1.0';
9
+ // API
10
+ exports.API_VERSION = 'v1';
11
+ exports.DEFAULT_API_TIMEOUT = 30000; // 30 seconds
12
+ // Local AI
13
+ exports.LOCAL_AI_CONFIDENCE_THRESHOLD = 0.85;
14
+ exports.LOCAL_AI_MAX_INFERENCE_TIME = 150; // ms
15
+ // Chat
16
+ exports.MAX_MESSAGE_LENGTH = 1000;
17
+ exports.MAX_CONVERSATION_HISTORY = 50;
18
+ exports.DEFAULT_MESSAGES_LIMIT = 20;
19
+ // Token limits
20
+ exports.FREE_TIER_MONTHLY_TOKENS = 1000;
21
+ exports.STARTER_TIER_MONTHLY_TOKENS = 10000;
22
+ exports.PRO_TIER_MONTHLY_TOKENS = 50000;
23
+ // Rate limiting
24
+ exports.FREE_TIER_RATE_LIMIT = 10; // requests per minute
25
+ exports.STARTER_TIER_RATE_LIMIT = 100;
26
+ exports.PRO_TIER_RATE_LIMIT = 1000;
27
+ // Storage keys (for SDK)
28
+ exports.STORAGE_KEYS = {
29
+ CONFIG: '@aichat/config',
30
+ CONVERSATION_HISTORY: '@aichat/conversation_history',
31
+ MESSAGE_QUEUE: '@aichat/message_queue',
32
+ API_KEY: '@aichat/api_key',
33
+ };
34
+ // Intent confidence thresholds
35
+ exports.CONFIDENCE_THRESHOLDS = {
36
+ HIGH: 0.85, // Handle locally
37
+ MEDIUM: 0.50, // Backend with context
38
+ LOW: 0.30, // Backend full processing
39
+ };
40
+ // HTTP Status codes
41
+ exports.HTTP_STATUS = {
42
+ OK: 200,
43
+ CREATED: 201,
44
+ NO_CONTENT: 204,
45
+ BAD_REQUEST: 400,
46
+ UNAUTHORIZED: 401,
47
+ FORBIDDEN: 403,
48
+ NOT_FOUND: 404,
49
+ RATE_LIMIT: 429,
50
+ INTERNAL_ERROR: 500,
51
+ };
52
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,QAAQ,GAAG,WAAW,CAAC;AACvB,QAAA,WAAW,GAAG,OAAO,CAAC;AAEnC,MAAM;AACO,QAAA,WAAW,GAAG,IAAI,CAAC;AACnB,QAAA,mBAAmB,GAAG,KAAK,CAAC,CAAC,aAAa;AAEvD,WAAW;AACE,QAAA,6BAA6B,GAAG,IAAI,CAAC;AACrC,QAAA,2BAA2B,GAAG,GAAG,CAAC,CAAC,KAAK;AAErD,OAAO;AACM,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAC1B,QAAA,wBAAwB,GAAG,EAAE,CAAC;AAC9B,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC,eAAe;AACF,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAChC,QAAA,2BAA2B,GAAG,KAAK,CAAC;AACpC,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAE7C,gBAAgB;AACH,QAAA,oBAAoB,GAAG,EAAE,CAAC,CAAC,sBAAsB;AACjD,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAC9B,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAExC,yBAAyB;AACZ,QAAA,YAAY,GAAG;IAC1B,MAAM,EAAE,gBAAgB;IACxB,oBAAoB,EAAE,8BAA8B;IACpD,aAAa,EAAE,uBAAuB;IACtC,OAAO,EAAE,iBAAiB;CAClB,CAAC;AAEX,+BAA+B;AAClB,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,IAAI,EAAE,iBAAiB;IAC7B,MAAM,EAAE,IAAI,EAAE,uBAAuB;IACrC,GAAG,EAAE,IAAI,EAAE,0BAA0B;CAC7B,CAAC;AAEX,oBAAoB;AACP,QAAA,WAAW,GAAG;IACzB,EAAE,EAAE,GAAG;IACP,OAAO,EAAE,GAAG;IACZ,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,GAAG;CACX,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { AIChatConfig, ConfigInput, ConfigResult } from '../types/config';
2
+ /**
3
+ * Hook to load AIChatSDK configuration from multiple sources
4
+ *
5
+ * Priority order:
6
+ * 1. Props (highest priority) - explicitly passed config
7
+ * 2. Environment variables - AICHAT_API_KEY, AICHAT_API_URL, AICHAT_PROJECT_ID
8
+ * 3. Config file (lowest priority) - aichat.config.js in project root
9
+ *
10
+ * Returns null if no valid config is found from any source.
11
+ *
12
+ * @param props - Config passed as component props
13
+ * @returns Config result with loaded config, sources, and missing fields
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * // Zero-config usage (loads from env or file)
18
+ * const configResult = useAIChatConfig({});
19
+ * if (!configResult.config) {
20
+ * return <ConfigError result={configResult} />;
21
+ * }
22
+ * ```
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * // Explicit config via props (overrides env/file)
27
+ * const configResult = useAIChatConfig({
28
+ * apiKey: 'aichat_test_pk_...',
29
+ * projectId: '68e4c834c62d2ff6533d6fb0'
30
+ * });
31
+ * ```
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * // Partial override (apiKey from props, projectId from env/file)
36
+ * const configResult = useAIChatConfig({
37
+ * apiKey: 'aichat_test_pk_...'
38
+ * });
39
+ * ```
40
+ */
41
+ export declare function useAIChatConfig(props?: ConfigInput): ConfigResult;
42
+ /**
43
+ * Hook to get only the config object (without metadata)
44
+ * Returns null if config is incomplete
45
+ *
46
+ * This is a convenience wrapper around useAIChatConfig for simpler usage
47
+ *
48
+ * @param props - Config passed as component props
49
+ * @returns Complete config or null
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * const config = useConfig({ apiKey: 'override' });
54
+ * if (!config) {
55
+ * return <ConfigError />;
56
+ * }
57
+ * // config is guaranteed to have all required fields
58
+ * ```
59
+ */
60
+ export declare function useConfig(props?: ConfigInput): AIChatConfig | null;
61
+ //# sourceMappingURL=useAIChatConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAIChatConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useAIChatConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,WAAgB,GAAG,YAAY,CAgCrE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,WAAgB,GAAG,YAAY,GAAG,IAAI,CAGtE"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useAIChatConfig = useAIChatConfig;
4
+ exports.useConfig = useConfig;
5
+ const react_1 = require("react");
6
+ const configLoader_1 = require("../utils/configLoader");
7
+ /**
8
+ * Hook to load AIChatSDK configuration from multiple sources
9
+ *
10
+ * Priority order:
11
+ * 1. Props (highest priority) - explicitly passed config
12
+ * 2. Environment variables - AICHAT_API_KEY, AICHAT_API_URL, AICHAT_PROJECT_ID
13
+ * 3. Config file (lowest priority) - aichat.config.js in project root
14
+ *
15
+ * Returns null if no valid config is found from any source.
16
+ *
17
+ * @param props - Config passed as component props
18
+ * @returns Config result with loaded config, sources, and missing fields
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * // Zero-config usage (loads from env or file)
23
+ * const configResult = useAIChatConfig({});
24
+ * if (!configResult.config) {
25
+ * return <ConfigError result={configResult} />;
26
+ * }
27
+ * ```
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * // Explicit config via props (overrides env/file)
32
+ * const configResult = useAIChatConfig({
33
+ * apiKey: 'aichat_test_pk_...',
34
+ * projectId: '68e4c834c62d2ff6533d6fb0'
35
+ * });
36
+ * ```
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * // Partial override (apiKey from props, projectId from env/file)
41
+ * const configResult = useAIChatConfig({
42
+ * apiKey: 'aichat_test_pk_...'
43
+ * });
44
+ * ```
45
+ */
46
+ function useAIChatConfig(props = {}) {
47
+ // Memoize config loading to avoid re-loading on every render
48
+ // Only re-load if props change
49
+ const configResult = (0, react_1.useMemo)(() => {
50
+ return (0, configLoader_1.loadConfig)(props);
51
+ }, [props.apiKey, props.keys, props.platform, props.apiUrl, props.projectId]);
52
+ // Log config sources in development mode
53
+ if (__DEV__ && configResult.config) {
54
+ console.log('[AIChatSDK] Config loaded successfully:');
55
+ console.log(JSON.stringify(configResult.config, null, 2));
56
+ if (configResult.sources.apiKey) {
57
+ console.log(` - API Key: ${configResult.sources.apiKey}`);
58
+ }
59
+ if (configResult.sources.apiUrl) {
60
+ console.log(` - API URL: ${configResult.sources.apiUrl} (${configResult.config.apiUrl})`);
61
+ }
62
+ if (configResult.sources.projectId) {
63
+ console.log(` - Project ID: ${configResult.sources.projectId}`);
64
+ }
65
+ }
66
+ // Log missing config in development mode
67
+ if (__DEV__ && !configResult.config && configResult.missing.length > 0) {
68
+ console.warn('[AIChatSDK] Missing required config:', configResult.missing.join(', '));
69
+ console.warn('[AIChatSDK] Run "npx @aichat/cli init" to set up configuration');
70
+ }
71
+ return configResult;
72
+ }
73
+ /**
74
+ * Hook to get only the config object (without metadata)
75
+ * Returns null if config is incomplete
76
+ *
77
+ * This is a convenience wrapper around useAIChatConfig for simpler usage
78
+ *
79
+ * @param props - Config passed as component props
80
+ * @returns Complete config or null
81
+ *
82
+ * @example
83
+ * ```tsx
84
+ * const config = useConfig({ apiKey: 'override' });
85
+ * if (!config) {
86
+ * return <ConfigError />;
87
+ * }
88
+ * // config is guaranteed to have all required fields
89
+ * ```
90
+ */
91
+ function useConfig(props = {}) {
92
+ const result = useAIChatConfig(props);
93
+ return result.config;
94
+ }
95
+ //# sourceMappingURL=useAIChatConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAIChatConfig.js","sourceRoot":"","sources":["../../src/hooks/useAIChatConfig.ts"],"names":[],"mappings":";;AA2CA,0CAgCC;AAoBD,8BAGC;AAlGD,iCAAgC;AAEhC,wDAAmD;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,SAAgB,eAAe,CAAC,QAAqB,EAAE;IACrD,6DAA6D;IAC7D,+BAA+B;IAC/B,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAChC,OAAO,IAAA,yBAAU,EAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9E,yCAAyC;IACzC,IAAI,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1D,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,SAAS,CAAC,QAAqB,EAAE;IAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { FlatList } from 'react-native';
2
+ import { ChatMessage } from '../types/chat';
3
+ export interface UseChatMessagesOptions {
4
+ enableStreaming?: boolean;
5
+ context?: Record<string, any>;
6
+ contextDescription?: string;
7
+ onMessageSent?: (message: string) => void;
8
+ onResponseReceived?: (response: any) => void;
9
+ onError?: (error: Error) => void;
10
+ onNavigationSuggest?: (suggestion: any) => void;
11
+ onApiActionsSuggested?: (suggestions: any[]) => void;
12
+ onToolSuggested?: (tools: any[], addResponse: (toolKey: string, data: any, tool: any) => void) => void | Promise<void>;
13
+ }
14
+ export interface UseChatMessagesResult {
15
+ messages: ChatMessage[];
16
+ isTyping: boolean;
17
+ isSending: boolean;
18
+ streamingMessage: string;
19
+ flatListRef: React.RefObject<FlatList>;
20
+ handleSend: (message: string) => Promise<void>;
21
+ setMessages: React.Dispatch<React.SetStateAction<ChatMessage[]>>;
22
+ }
23
+ /**
24
+ * Custom hook for managing chat messages and sending
25
+ */
26
+ export declare const useChatMessages: ({ enableStreaming, context, contextDescription, onMessageSent, onResponseReceived, onError, onNavigationSuggest, onApiActionsSuggested, onToolSuggested, }: UseChatMessagesOptions) => UseChatMessagesResult;
27
+ //# sourceMappingURL=useChatMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../src/hooks/useChatMessages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IAChD,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACrD,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,GAAG,EAAE,EACZ,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,KACzD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;CAClE;AAQD;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,4JAU7B,sBAAsB,KAAG,qBAyR3B,CAAC"}