@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 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/types/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Custom Component Template System Types
4
+ *
5
+ * Allows creating custom components from JSON templates without writing code.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/types/template.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,69 @@
1
+ import { ConfigInput, ConfigResult } from '../types/config';
2
+ /**
3
+ * Load config from environment variables
4
+ * Checks process.env for AICHAT_API_KEY, AICHAT_API_URL, AICHAT_PROJECT_ID
5
+ *
6
+ * @returns Partial config from environment variables
7
+ */
8
+ export declare function loadFromEnv(): ConfigInput;
9
+ /**
10
+ * Load config from aichat.config.js file in project root
11
+ *
12
+ * ⚠️ IMPORTANT: This function does NOT reliably work in React Native!
13
+ *
14
+ * React Native's Metro bundler requires static imports for proper resolution.
15
+ * Dynamic require() with relative paths from node_modules is unreliable.
16
+ *
17
+ * ✅ RECOMMENDED APPROACH:
18
+ * Import config manually in your app and pass to SDK:
19
+ *
20
+ * ```tsx
21
+ * import config from './aichat.config.js';
22
+ * <AIChatWidget {...config} />
23
+ * ```
24
+ *
25
+ * This function is kept for potential future improvements or specific
26
+ * Metro configurations where it might work.
27
+ *
28
+ * @returns Partial config from config file or null if not found
29
+ */
30
+ export declare function loadFromConfigFile(): ConfigInput | null;
31
+ /**
32
+ * Merge configs with priority: props > env > file > defaults
33
+ *
34
+ * @param props - Config from component props (highest priority)
35
+ * @param env - Config from environment variables
36
+ * @param file - Config from config file (lowest priority)
37
+ * @returns Merged config result with source tracking
38
+ */
39
+ export declare function mergeConfigs(props: ConfigInput, env: ConfigInput, file: ConfigInput | null): ConfigResult;
40
+ /**
41
+ * Validate API key format
42
+ *
43
+ * @param apiKey - API key to validate
44
+ * @returns true if valid, false otherwise
45
+ */
46
+ export declare function validateApiKey(apiKey: string): boolean;
47
+ /**
48
+ * Validate project ID format
49
+ *
50
+ * @param projectId - Project ID to validate
51
+ * @returns true if valid, false otherwise
52
+ */
53
+ export declare function validateProjectId(projectId: string): boolean;
54
+ /**
55
+ * Load and merge config from all sources with validation
56
+ * This is the main entry point for config loading
57
+ *
58
+ * @param props - Config from component props
59
+ * @returns Complete config result with validation
60
+ */
61
+ export declare function loadConfig(props?: ConfigInput): ConfigResult;
62
+ /**
63
+ * Get config setup instructions for missing configuration
64
+ *
65
+ * @param missing - Array of missing config keys
66
+ * @returns Helpful setup instructions
67
+ */
68
+ export declare function getSetupInstructions(missing: string[]): string;
69
+ //# sourceMappingURL=configLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configLoader.d.ts","sourceRoot":"","sources":["../../src/utils/configLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,WAAW,EAAE,YAAY,EAAgB,MAAM,iBAAiB,CAAC;AAiDxF;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAmBzC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,GAAG,IAAI,CAavD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,GAAG,IAAI,GACvB,YAAY,CAqEd;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAYtD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAE,WAAgB,GAAG,YAAY,CAwBhE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAqC9D"}
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadFromEnv = loadFromEnv;
4
+ exports.loadFromConfigFile = loadFromConfigFile;
5
+ exports.mergeConfigs = mergeConfigs;
6
+ exports.validateApiKey = validateApiKey;
7
+ exports.validateProjectId = validateProjectId;
8
+ exports.loadConfig = loadConfig;
9
+ exports.getSetupInstructions = getSetupInstructions;
10
+ const react_native_1 = require("react-native");
11
+ const config_1 = require("../types/config");
12
+ /**
13
+ * Default API URL if not configured
14
+ */
15
+ const DEFAULT_API_URL = 'http://localhost:3001/api/v1';
16
+ /**
17
+ * Resolve API key from keys object based on platform
18
+ * @param keys - Platform-specific keys object
19
+ * @param platform - Platform selection ('ios' | 'android' | 'web' | 'auto')
20
+ * @returns Resolved API key or undefined
21
+ */
22
+ function resolveApiKeyFromKeys(keys, platform) {
23
+ // If no keys object, return undefined
24
+ if (!keys || typeof keys !== 'object') {
25
+ return undefined;
26
+ }
27
+ // If specific platform is set (not 'auto'), use that
28
+ if (platform && platform !== 'auto' && keys[platform]) {
29
+ return keys[platform];
30
+ }
31
+ // Auto-detect platform
32
+ const currentPlatform = react_native_1.Platform.OS;
33
+ // Try current platform
34
+ if (keys[currentPlatform]) {
35
+ return keys[currentPlatform];
36
+ }
37
+ // Fallback to 'default' key if exists
38
+ if (keys.default) {
39
+ return keys.default;
40
+ }
41
+ // Last resort: return first available key
42
+ const availableKeys = Object.values(keys);
43
+ if (availableKeys.length > 0) {
44
+ return availableKeys[0];
45
+ }
46
+ return undefined;
47
+ }
48
+ /**
49
+ * Load config from environment variables
50
+ * Checks process.env for AICHAT_API_KEY, AICHAT_API_URL, AICHAT_PROJECT_ID
51
+ *
52
+ * @returns Partial config from environment variables
53
+ */
54
+ function loadFromEnv() {
55
+ const config = {};
56
+ // Check if we have access to process.env
57
+ if (typeof process !== 'undefined' && process.env) {
58
+ if (process.env.AICHAT_API_KEY) {
59
+ config.apiKey = process.env.AICHAT_API_KEY;
60
+ }
61
+ if (process.env.AICHAT_API_URL) {
62
+ config.apiUrl = process.env.AICHAT_API_URL;
63
+ }
64
+ if (process.env.AICHAT_PROJECT_ID) {
65
+ config.projectId = process.env.AICHAT_PROJECT_ID;
66
+ }
67
+ }
68
+ return config;
69
+ }
70
+ /**
71
+ * Load config from aichat.config.js file in project root
72
+ *
73
+ * ⚠️ IMPORTANT: This function does NOT reliably work in React Native!
74
+ *
75
+ * React Native's Metro bundler requires static imports for proper resolution.
76
+ * Dynamic require() with relative paths from node_modules is unreliable.
77
+ *
78
+ * ✅ RECOMMENDED APPROACH:
79
+ * Import config manually in your app and pass to SDK:
80
+ *
81
+ * ```tsx
82
+ * import config from './aichat.config.js';
83
+ * <AIChatWidget {...config} />
84
+ * ```
85
+ *
86
+ * This function is kept for potential future improvements or specific
87
+ * Metro configurations where it might work.
88
+ *
89
+ * @returns Partial config from config file or null if not found
90
+ */
91
+ function loadFromConfigFile() {
92
+ // In React Native, dynamic config loading is unreliable
93
+ // We'll attempt it but expect it to fail most of the time
94
+ if (__DEV__) {
95
+ console.log('[AIChatSDK] ℹ️ Auto-loading config is not supported in React Native.');
96
+ console.log('[AIChatSDK] 💡 Please import config manually:');
97
+ console.log('[AIChatSDK] import config from "./aichat.config.js";');
98
+ console.log('[AIChatSDK] <AIChatWidget {...config} />');
99
+ }
100
+ // Return null - config should be passed via props
101
+ return null;
102
+ }
103
+ /**
104
+ * Merge configs with priority: props > env > file > defaults
105
+ *
106
+ * @param props - Config from component props (highest priority)
107
+ * @param env - Config from environment variables
108
+ * @param file - Config from config file (lowest priority)
109
+ * @returns Merged config result with source tracking
110
+ */
111
+ function mergeConfigs(props, env, file) {
112
+ const sources = {};
113
+ const config = {};
114
+ // Merge apiKey (priority: props > env > file)
115
+ // Support both single apiKey and keys object
116
+ let resolvedApiKey;
117
+ let keySource;
118
+ if (props.apiKey) {
119
+ resolvedApiKey = props.apiKey;
120
+ keySource = config_1.ConfigSource.Props;
121
+ }
122
+ else if (props.keys) {
123
+ resolvedApiKey = resolveApiKeyFromKeys(props.keys, props.platform);
124
+ keySource = config_1.ConfigSource.Props;
125
+ }
126
+ else if (env.apiKey) {
127
+ resolvedApiKey = env.apiKey;
128
+ keySource = config_1.ConfigSource.EnvVars;
129
+ }
130
+ else if (file?.apiKey) {
131
+ resolvedApiKey = file.apiKey;
132
+ keySource = config_1.ConfigSource.ConfigFile;
133
+ }
134
+ else if (file?.keys) {
135
+ resolvedApiKey = resolveApiKeyFromKeys(file.keys, file.platform);
136
+ keySource = config_1.ConfigSource.ConfigFile;
137
+ }
138
+ if (resolvedApiKey) {
139
+ config.apiKey = resolvedApiKey;
140
+ sources.apiKey = keySource;
141
+ }
142
+ // Merge apiUrl (priority: props > env > file > default)
143
+ if (props.apiUrl) {
144
+ config.apiUrl = props.apiUrl;
145
+ sources.apiUrl = config_1.ConfigSource.Props;
146
+ }
147
+ else if (env.apiUrl) {
148
+ config.apiUrl = env.apiUrl;
149
+ sources.apiUrl = config_1.ConfigSource.EnvVars;
150
+ }
151
+ else if (file?.apiUrl) {
152
+ config.apiUrl = file.apiUrl;
153
+ sources.apiUrl = config_1.ConfigSource.ConfigFile;
154
+ }
155
+ else {
156
+ // Use default API URL
157
+ config.apiUrl = DEFAULT_API_URL;
158
+ }
159
+ // Merge projectId (priority: props > env > file)
160
+ if (props.projectId) {
161
+ config.projectId = props.projectId;
162
+ sources.projectId = config_1.ConfigSource.Props;
163
+ }
164
+ else if (env.projectId) {
165
+ config.projectId = env.projectId;
166
+ sources.projectId = config_1.ConfigSource.EnvVars;
167
+ }
168
+ else if (file?.projectId) {
169
+ config.projectId = file.projectId;
170
+ sources.projectId = config_1.ConfigSource.ConfigFile;
171
+ }
172
+ // Check for missing required fields
173
+ const missing = [];
174
+ if (!config.apiKey)
175
+ missing.push('apiKey');
176
+ if (!config.projectId)
177
+ missing.push('projectId');
178
+ // Return result
179
+ return {
180
+ config: missing.length === 0 ? config : null,
181
+ sources,
182
+ missing
183
+ };
184
+ }
185
+ /**
186
+ * Validate API key format
187
+ *
188
+ * @param apiKey - API key to validate
189
+ * @returns true if valid, false otherwise
190
+ */
191
+ function validateApiKey(apiKey) {
192
+ // API key should start with "aichat_"
193
+ if (!apiKey.startsWith('aichat_')) {
194
+ return false;
195
+ }
196
+ // API key should have reasonable length (at least 30 characters)
197
+ if (apiKey.length < 30) {
198
+ return false;
199
+ }
200
+ return true;
201
+ }
202
+ /**
203
+ * Validate project ID format
204
+ *
205
+ * @param projectId - Project ID to validate
206
+ * @returns true if valid, false otherwise
207
+ */
208
+ function validateProjectId(projectId) {
209
+ // Project ID should be MongoDB ObjectId (24 hex characters)
210
+ if (!/^[a-f0-9]{24}$/i.test(projectId)) {
211
+ return false;
212
+ }
213
+ return true;
214
+ }
215
+ /**
216
+ * Load and merge config from all sources with validation
217
+ * This is the main entry point for config loading
218
+ *
219
+ * @param props - Config from component props
220
+ * @returns Complete config result with validation
221
+ */
222
+ function loadConfig(props = {}) {
223
+ // Load from all sources
224
+ const env = loadFromEnv();
225
+ const file = loadFromConfigFile();
226
+ // Merge configs
227
+ const result = mergeConfigs(props, env, file);
228
+ // Additional validation if config is complete
229
+ if (result.config) {
230
+ const { apiKey, projectId } = result.config;
231
+ // Validate API key format
232
+ if (!validateApiKey(apiKey)) {
233
+ console.warn('[AIChatSDK] Invalid API key format. Expected format: aichat_[env]_pk_[timestamp]-[random]');
234
+ }
235
+ // Validate project ID format
236
+ if (!validateProjectId(projectId)) {
237
+ console.warn('[AIChatSDK] Invalid project ID format. Expected 24-character hex string (MongoDB ObjectId)');
238
+ }
239
+ }
240
+ return result;
241
+ }
242
+ /**
243
+ * Get config setup instructions for missing configuration
244
+ *
245
+ * @param missing - Array of missing config keys
246
+ * @returns Helpful setup instructions
247
+ */
248
+ function getSetupInstructions(missing) {
249
+ if (missing.length === 0) {
250
+ return '';
251
+ }
252
+ const instructions = [
253
+ 'AIChatSDK is not configured. Please set up your configuration:',
254
+ '',
255
+ '1. Run CLI setup:',
256
+ ' $ npx @aichat/cli init',
257
+ '',
258
+ '2. Or set environment variables:',
259
+ ];
260
+ if (missing.includes('apiKey')) {
261
+ instructions.push(' AICHAT_API_KEY=your_api_key');
262
+ }
263
+ if (missing.includes('projectId')) {
264
+ instructions.push(' AICHAT_PROJECT_ID=your_project_id');
265
+ }
266
+ instructions.push('');
267
+ instructions.push('3. Or pass config as props:');
268
+ instructions.push(' <AIChatWidget');
269
+ if (missing.includes('apiKey')) {
270
+ instructions.push(' apiKey="your_api_key"');
271
+ }
272
+ if (missing.includes('projectId')) {
273
+ instructions.push(' projectId="your_project_id"');
274
+ }
275
+ instructions.push(' />');
276
+ return instructions.join('\n');
277
+ }
278
+ //# sourceMappingURL=configLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configLoader.js","sourceRoot":"","sources":["../../src/utils/configLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Deep merge utility for theme objects
3
+ * Allows partial theme overrides while preserving default values
4
+ */
5
+ export type DeepPartial<T> = {
6
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
7
+ };
8
+ /**
9
+ * Deep merge two objects
10
+ * Source properties override target properties
11
+ * Nested objects are merged recursively
12
+ */
13
+ export declare function deepMerge<T extends Record<string, any>>(target: T, source: DeepPartial<T> | undefined | null): T;
14
+ /**
15
+ * Example usage:
16
+ *
17
+ * const defaultTheme = {
18
+ * colors: {
19
+ * primary: '#007AFF',
20
+ * background: '#FFFFFF',
21
+ * },
22
+ * spacing: {
23
+ * sm: 8,
24
+ * md: 16,
25
+ * },
26
+ * };
27
+ *
28
+ * const customTheme = {
29
+ * colors: {
30
+ * background: '#F5F5F5', // Override only background
31
+ * },
32
+ * };
33
+ *
34
+ * const mergedTheme = deepMerge(defaultTheme, customTheme);
35
+ * // Result:
36
+ * // {
37
+ * // colors: {
38
+ * // primary: '#007AFF', // Kept from default
39
+ * // background: '#F5F5F5', // Overridden
40
+ * // },
41
+ * // spacing: {
42
+ * // sm: 8, // Kept from default
43
+ * // md: 16, // Kept from default
44
+ * // },
45
+ * // }
46
+ */
47
+ //# sourceMappingURL=deepMerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/utils/deepMerge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GACxC,CAAC,CA4BH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /**
3
+ * Deep merge utility for theme objects
4
+ * Allows partial theme overrides while preserving default values
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.deepMerge = deepMerge;
8
+ /**
9
+ * Deep merge two objects
10
+ * Source properties override target properties
11
+ * Nested objects are merged recursively
12
+ */
13
+ function deepMerge(target, source) {
14
+ if (!source)
15
+ return target;
16
+ const result = { ...target };
17
+ for (const key in source) {
18
+ if (source.hasOwnProperty(key)) {
19
+ const targetValue = target[key];
20
+ const sourceValue = source[key];
21
+ if (sourceValue &&
22
+ typeof sourceValue === 'object' &&
23
+ !Array.isArray(sourceValue) &&
24
+ targetValue &&
25
+ typeof targetValue === 'object' &&
26
+ !Array.isArray(targetValue)) {
27
+ // Recursively merge nested objects
28
+ result[key] = deepMerge(targetValue, sourceValue);
29
+ }
30
+ else {
31
+ // Direct assignment for primitives and arrays
32
+ result[key] = sourceValue;
33
+ }
34
+ }
35
+ }
36
+ return result;
37
+ }
38
+ /**
39
+ * Example usage:
40
+ *
41
+ * const defaultTheme = {
42
+ * colors: {
43
+ * primary: '#007AFF',
44
+ * background: '#FFFFFF',
45
+ * },
46
+ * spacing: {
47
+ * sm: 8,
48
+ * md: 16,
49
+ * },
50
+ * };
51
+ *
52
+ * const customTheme = {
53
+ * colors: {
54
+ * background: '#F5F5F5', // Override only background
55
+ * },
56
+ * };
57
+ *
58
+ * const mergedTheme = deepMerge(defaultTheme, customTheme);
59
+ * // Result:
60
+ * // {
61
+ * // colors: {
62
+ * // primary: '#007AFF', // Kept from default
63
+ * // background: '#F5F5F5', // Overridden
64
+ * // },
65
+ * // spacing: {
66
+ * // sm: 8, // Kept from default
67
+ * // md: 16, // Kept from default
68
+ * // },
69
+ * // }
70
+ */
71
+ //# sourceMappingURL=deepMerge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../src/utils/deepMerge.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAWH,8BA+BC;AApCD;;;;GAIG;AACH,SAAgB,SAAS,CACvB,MAAS,EACT,MAAyC;IAEzC,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAE3B,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhC,IACE,WAAW;gBACX,OAAO,WAAW,KAAK,QAAQ;gBAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC3B,WAAW;gBACX,OAAO,WAAW,KAAK,QAAQ;gBAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAC3B,CAAC;gBACD,mCAAmC;gBAClC,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC7C,MAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@volkansuner/aichat-react-native",
3
+ "version": "0.1.0",
4
+ "description": "AI-powered chat SDK for React Native with intelligent navigation and hybrid AI processing",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "react-native": "./dist/index.js",
8
+ "files": [
9
+ "dist",
10
+ "README.md",
11
+ "LICENSE"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc",
15
+ "dev": "tsc --watch",
16
+ "clean": "rm -rf dist",
17
+ "typecheck": "tsc --noEmit",
18
+ "prepublishOnly": "pnpm run clean && pnpm run build"
19
+ },
20
+ "keywords": [
21
+ "react-native",
22
+ "ai",
23
+ "chat",
24
+ "sdk",
25
+ "chatbot",
26
+ "conversational-ai",
27
+ "openai",
28
+ "gemini",
29
+ "claude",
30
+ "navigation",
31
+ "mobile"
32
+ ],
33
+ "author": "Volkan Suner",
34
+ "license": "MIT",
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "https://github.com/volkansuner/aichat.git",
38
+ "directory": "packages/react-native-sdk"
39
+ },
40
+ "bugs": {
41
+ "url": "https://github.com/volkansuner/aichat/issues"
42
+ },
43
+ "homepage": "https://github.com/volkansuner/aichat#readme",
44
+ "publishConfig": {
45
+ "access": "public",
46
+ "registry": "https://registry.npmjs.org/"
47
+ },
48
+ "peerDependencies": {
49
+ "@react-native-async-storage/async-storage": ">=1.21.0",
50
+ "@react-navigation/native": ">=6.0.0",
51
+ "react": ">=18.0.0",
52
+ "react-native": ">=0.72.0",
53
+ "react-native-device-info": ">=10.0.0",
54
+ "react-native-safe-area-context": ">=4.0.0"
55
+ },
56
+ "dependencies": {},
57
+ "devDependencies": {
58
+ "@types/react": "^18.2.0",
59
+ "@types/react-native": "^0.72.0",
60
+ "typescript": "^5.3.0"
61
+ },
62
+ "engines": {
63
+ "node": ">=18.0.0"
64
+ }
65
+ }