@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.
- package/LICENSE +22 -0
- package/README.md +528 -0
- package/dist/AIChatSDK.d.ts +75 -0
- package/dist/AIChatSDK.d.ts.map +1 -0
- package/dist/AIChatSDK.js +357 -0
- package/dist/AIChatSDK.js.map +1 -0
- package/dist/components/AIChatProvider.d.ts +25 -0
- package/dist/components/AIChatProvider.d.ts.map +1 -0
- package/dist/components/AIChatProvider.js +93 -0
- package/dist/components/AIChatProvider.js.map +1 -0
- package/dist/components/AIChatWidget.d.ts +62 -0
- package/dist/components/AIChatWidget.d.ts.map +1 -0
- package/dist/components/AIChatWidget.handlers.d.ts +15 -0
- package/dist/components/AIChatWidget.handlers.d.ts.map +1 -0
- package/dist/components/AIChatWidget.handlers.js +180 -0
- package/dist/components/AIChatWidget.handlers.js.map +1 -0
- package/dist/components/AIChatWidget.js +403 -0
- package/dist/components/AIChatWidget.js.map +1 -0
- package/dist/components/AIChatWidget.styles.d.ts +17 -0
- package/dist/components/AIChatWidget.styles.d.ts.map +1 -0
- package/dist/components/AIChatWidget.styles.js +68 -0
- package/dist/components/AIChatWidget.styles.js.map +1 -0
- package/dist/components/AIChatWidget.types.d.ts +250 -0
- package/dist/components/AIChatWidget.types.d.ts.map +1 -0
- package/dist/components/AIChatWidget.types.js +3 -0
- package/dist/components/AIChatWidget.types.js.map +1 -0
- package/dist/components/AIChatWidget.utils.d.ts +12 -0
- package/dist/components/AIChatWidget.utils.d.ts.map +1 -0
- package/dist/components/AIChatWidget.utils.js +109 -0
- package/dist/components/AIChatWidget.utils.js.map +1 -0
- package/dist/components/ConfigError.d.ts +33 -0
- package/dist/components/ConfigError.d.ts.map +1 -0
- package/dist/components/ConfigError.js +195 -0
- package/dist/components/ConfigError.js.map +1 -0
- package/dist/components/FloatingButton.d.ts +12 -0
- package/dist/components/FloatingButton.d.ts.map +1 -0
- package/dist/components/FloatingButton.js +163 -0
- package/dist/components/FloatingButton.js.map +1 -0
- package/dist/components/InputArea.d.ts +58 -0
- package/dist/components/InputArea.d.ts.map +1 -0
- package/dist/components/InputArea.js +135 -0
- package/dist/components/InputArea.js.map +1 -0
- package/dist/components/MarkdownText.d.ts +16 -0
- package/dist/components/MarkdownText.d.ts.map +1 -0
- package/dist/components/MarkdownText.js +263 -0
- package/dist/components/MarkdownText.js.map +1 -0
- package/dist/components/MessageBubble.d.ts +101 -0
- package/dist/components/MessageBubble.d.ts.map +1 -0
- package/dist/components/MessageBubble.js +377 -0
- package/dist/components/MessageBubble.js.map +1 -0
- package/dist/components/NavigationSuggestion.d.ts +13 -0
- package/dist/components/NavigationSuggestion.d.ts.map +1 -0
- package/dist/components/NavigationSuggestion.js +117 -0
- package/dist/components/NavigationSuggestion.js.map +1 -0
- package/dist/components/QuickReplies.d.ts +15 -0
- package/dist/components/QuickReplies.d.ts.map +1 -0
- package/dist/components/QuickReplies.js +49 -0
- package/dist/components/QuickReplies.js.map +1 -0
- package/dist/components/TemplateRenderer.d.ts +17 -0
- package/dist/components/TemplateRenderer.d.ts.map +1 -0
- package/dist/components/TemplateRenderer.js +397 -0
- package/dist/components/TemplateRenderer.js.map +1 -0
- package/dist/components/TypingIndicator.d.ts +29 -0
- package/dist/components/TypingIndicator.d.ts.map +1 -0
- package/dist/components/TypingIndicator.js +110 -0
- package/dist/components/TypingIndicator.js.map +1 -0
- package/dist/components/defaults/DefaultCard.d.ts +15 -0
- package/dist/components/defaults/DefaultCard.d.ts.map +1 -0
- package/dist/components/defaults/DefaultCard.js +157 -0
- package/dist/components/defaults/DefaultCard.js.map +1 -0
- package/dist/components/defaults/DefaultDetail.d.ts +15 -0
- package/dist/components/defaults/DefaultDetail.d.ts.map +1 -0
- package/dist/components/defaults/DefaultDetail.js +139 -0
- package/dist/components/defaults/DefaultDetail.js.map +1 -0
- package/dist/components/defaults/DefaultList.d.ts +13 -0
- package/dist/components/defaults/DefaultList.d.ts.map +1 -0
- package/dist/components/defaults/DefaultList.js +99 -0
- package/dist/components/defaults/DefaultList.js.map +1 -0
- package/dist/components/defaults/DefaultTable.d.ts +15 -0
- package/dist/components/defaults/DefaultTable.d.ts.map +1 -0
- package/dist/components/defaults/DefaultTable.js +205 -0
- package/dist/components/defaults/DefaultTable.js.map +1 -0
- package/dist/components/defaults/index.d.ts +15 -0
- package/dist/components/defaults/index.d.ts.map +1 -0
- package/dist/components/defaults/index.js +26 -0
- package/dist/components/defaults/index.js.map +1 -0
- package/dist/components/index.d.ts +17 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +33 -0
- package/dist/components/index.js.map +1 -0
- package/dist/constants.d.ts +41 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +52 -0
- package/dist/constants.js.map +1 -0
- package/dist/hooks/useAIChatConfig.d.ts +61 -0
- package/dist/hooks/useAIChatConfig.d.ts.map +1 -0
- package/dist/hooks/useAIChatConfig.js +95 -0
- package/dist/hooks/useAIChatConfig.js.map +1 -0
- package/dist/hooks/useChatMessages.d.ts +27 -0
- package/dist/hooks/useChatMessages.d.ts.map +1 -0
- package/dist/hooks/useChatMessages.js +255 -0
- package/dist/hooks/useChatMessages.js.map +1 -0
- package/dist/hooks/useContextManager.d.ts +13 -0
- package/dist/hooks/useContextManager.d.ts.map +1 -0
- package/dist/hooks/useContextManager.js +42 -0
- package/dist/hooks/useContextManager.js.map +1 -0
- package/dist/hooks/useSDK.d.ts +18 -0
- package/dist/hooks/useSDK.d.ts.map +1 -0
- package/dist/hooks/useSDK.js +64 -0
- package/dist/hooks/useSDK.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/registry/TemplateRegistry.d.ts +48 -0
- package/dist/registry/TemplateRegistry.d.ts.map +1 -0
- package/dist/registry/TemplateRegistry.js +77 -0
- package/dist/registry/TemplateRegistry.js.map +1 -0
- package/dist/registry/index.d.ts +5 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +9 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/services/BackendService.d.ts +47 -0
- package/dist/services/BackendService.d.ts.map +1 -0
- package/dist/services/BackendService.js +362 -0
- package/dist/services/BackendService.js.map +1 -0
- package/dist/services/ConversationManager.d.ts +40 -0
- package/dist/services/ConversationManager.d.ts.map +1 -0
- package/dist/services/ConversationManager.js +95 -0
- package/dist/services/ConversationManager.js.map +1 -0
- package/dist/services/LocalAIClassifier.d.ts +32 -0
- package/dist/services/LocalAIClassifier.d.ts.map +1 -0
- package/dist/services/LocalAIClassifier.js +149 -0
- package/dist/services/LocalAIClassifier.js.map +1 -0
- package/dist/services/NavigationHandler.d.ts +30 -0
- package/dist/services/NavigationHandler.d.ts.map +1 -0
- package/dist/services/NavigationHandler.js +74 -0
- package/dist/services/NavigationHandler.js.map +1 -0
- package/dist/themes/dark.d.ts +6 -0
- package/dist/themes/dark.d.ts.map +1 -0
- package/dist/themes/dark.js +130 -0
- package/dist/themes/dark.js.map +1 -0
- package/dist/themes/index.d.ts +13 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +34 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/light.d.ts +6 -0
- package/dist/themes/light.d.ts.map +1 -0
- package/dist/themes/light.js +130 -0
- package/dist/themes/light.js.map +1 -0
- package/dist/themes/types.d.ts +143 -0
- package/dist/themes/types.d.ts.map +1 -0
- package/dist/themes/types.js +6 -0
- package/dist/themes/types.js.map +1 -0
- package/dist/types/api.d.ts +118 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +6 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/chat.d.ts +154 -0
- package/dist/types/chat.d.ts.map +1 -0
- package/dist/types/chat.js +6 -0
- package/dist/types/chat.js.map +1 -0
- package/dist/types/components.d.ts +69 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/components.js +17 -0
- package/dist/types/components.js.map +1 -0
- package/dist/types/config.d.ts +122 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +18 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/document.d.ts +108 -0
- package/dist/types/document.d.ts.map +1 -0
- package/dist/types/document.js +7 -0
- package/dist/types/document.js.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +31 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/local-ai.d.ts +48 -0
- package/dist/types/local-ai.d.ts.map +1 -0
- package/dist/types/local-ai.js +17 -0
- package/dist/types/local-ai.js.map +1 -0
- package/dist/types/navigation.d.ts +89 -0
- package/dist/types/navigation.d.ts.map +1 -0
- package/dist/types/navigation.js +6 -0
- package/dist/types/navigation.js.map +1 -0
- package/dist/types/sdk.d.ts +47 -0
- package/dist/types/sdk.d.ts.map +1 -0
- package/dist/types/sdk.js +6 -0
- package/dist/types/sdk.js.map +1 -0
- package/dist/types/template.d.ts +220 -0
- package/dist/types/template.d.ts.map +1 -0
- package/dist/types/template.js +8 -0
- package/dist/types/template.js.map +1 -0
- package/dist/utils/configLoader.d.ts +69 -0
- package/dist/utils/configLoader.d.ts.map +1 -0
- package/dist/utils/configLoader.js +278 -0
- package/dist/utils/configLoader.js.map +1 -0
- package/dist/utils/deepMerge.d.ts +47 -0
- package/dist/utils/deepMerge.d.ts.map +1 -0
- package/dist/utils/deepMerge.js +71 -0
- package/dist/utils/deepMerge.js.map +1 -0
- 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 @@
|
|
|
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
|
+
}
|