@bytexbyte/nxtlinq-ai-agent-ui-react-development 0.1.1
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/dist/NxtlinqAgentChat.d.ts +26 -0
- package/dist/NxtlinqAgentChat.d.ts.map +1 -0
- package/dist/NxtlinqAgentChat.js +28 -0
- package/dist/components/AgentAssistantShell.d.ts +5 -0
- package/dist/components/AgentAssistantShell.d.ts.map +1 -0
- package/dist/components/AgentAssistantShell.js +52 -0
- package/dist/components/AgentComposer.d.ts +3 -0
- package/dist/components/AgentComposer.d.ts.map +1 -0
- package/dist/components/AgentComposer.js +60 -0
- package/dist/components/AgentMessageList.d.ts +3 -0
- package/dist/components/AgentMessageList.d.ts.map +1 -0
- package/dist/components/AgentMessageList.js +37 -0
- package/dist/components/AgentRemoteAudio.d.ts +4 -0
- package/dist/components/AgentRemoteAudio.d.ts.map +1 -0
- package/dist/components/AgentRemoteAudio.js +34 -0
- package/dist/components/AgentVoiceBar.d.ts +3 -0
- package/dist/components/AgentVoiceBar.d.ts.map +1 -0
- package/dist/components/AgentVoiceBar.js +91 -0
- package/dist/components/PresetMessageChips.d.ts +3 -0
- package/dist/components/PresetMessageChips.d.ts.map +1 -0
- package/dist/components/PresetMessageChips.js +23 -0
- package/dist/context/AgentAssistantContext.d.ts +32 -0
- package/dist/context/AgentAssistantContext.d.ts.map +1 -0
- package/dist/context/AgentAssistantContext.js +159 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/legacy/assets/images/adiSideItalicDataUri.d.ts +2 -0
- package/dist/legacy/assets/images/adiSideItalicDataUri.d.ts.map +1 -0
- package/dist/legacy/assets/images/adiSideItalicDataUri.js +1 -0
- package/dist/legacy/chatbot/ChatBot.d.ts +5 -0
- package/dist/legacy/chatbot/ChatBot.d.ts.map +1 -0
- package/dist/legacy/chatbot/ChatBot.js +35 -0
- package/dist/legacy/chatbot/context/ChatBotContext.d.ts +5 -0
- package/dist/legacy/chatbot/context/ChatBotContext.d.ts.map +1 -0
- package/dist/legacy/chatbot/context/ChatBotContext.js +2908 -0
- package/dist/legacy/chatbot/types/ChatBotTypes.d.ts +166 -0
- package/dist/legacy/chatbot/types/ChatBotTypes.d.ts.map +1 -0
- package/dist/legacy/chatbot/types/ChatBotTypes.js +1 -0
- package/dist/legacy/chatbot/ui/BerifyMeModal.d.ts +17 -0
- package/dist/legacy/chatbot/ui/BerifyMeModal.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/BerifyMeModal.js +110 -0
- package/dist/legacy/chatbot/ui/ChatBotUI.d.ts +3 -0
- package/dist/legacy/chatbot/ui/ChatBotUI.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/ChatBotUI.js +625 -0
- package/dist/legacy/chatbot/ui/MessageInput.d.ts +3 -0
- package/dist/legacy/chatbot/ui/MessageInput.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/MessageInput.js +321 -0
- package/dist/legacy/chatbot/ui/MessageList.d.ts +4 -0
- package/dist/legacy/chatbot/ui/MessageList.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/MessageList.js +455 -0
- package/dist/legacy/chatbot/ui/ModelSelector.d.ts +4 -0
- package/dist/legacy/chatbot/ui/ModelSelector.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/ModelSelector.js +122 -0
- package/dist/legacy/chatbot/ui/NotificationModal.d.ts +15 -0
- package/dist/legacy/chatbot/ui/NotificationModal.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/NotificationModal.js +53 -0
- package/dist/legacy/chatbot/ui/PermissionForm.d.ts +8 -0
- package/dist/legacy/chatbot/ui/PermissionForm.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/PermissionForm.js +465 -0
- package/dist/legacy/chatbot/ui/PresetMessages.d.ts +4 -0
- package/dist/legacy/chatbot/ui/PresetMessages.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/PresetMessages.js +33 -0
- package/dist/legacy/chatbot/ui/VoiceModePanel.d.ts +3 -0
- package/dist/legacy/chatbot/ui/VoiceModePanel.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/VoiceModePanel.js +95 -0
- package/dist/legacy/chatbot/ui/styles/isolatedStyles.d.ts +73 -0
- package/dist/legacy/chatbot/ui/styles/isolatedStyles.d.ts.map +1 -0
- package/dist/legacy/chatbot/ui/styles/isolatedStyles.js +985 -0
- package/dist/legacy/index.d.ts +14 -0
- package/dist/legacy/index.d.ts.map +1 -0
- package/dist/legacy/index.js +12 -0
- package/dist/theme/defaultTheme.d.ts +3 -0
- package/dist/theme/defaultTheme.d.ts.map +1 -0
- package/dist/theme/defaultTheme.js +20 -0
- package/dist/types.d.ts +62 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/dist/voice/useVoiceConnectOrchestration.d.ts +21 -0
- package/dist/voice/useVoiceConnectOrchestration.d.ts.map +1 -0
- package/dist/voice/useVoiceConnectOrchestration.js +86 -0
- package/dist/voice/useVoiceMicState.d.ts +15 -0
- package/dist/voice/useVoiceMicState.d.ts.map +1 -0
- package/dist/voice/useVoiceMicState.js +94 -0
- package/dist/voice/useVoiceSilenceCommit.d.ts +10 -0
- package/dist/voice/useVoiceSilenceCommit.d.ts.map +1 -0
- package/dist/voice/useVoiceSilenceCommit.js +67 -0
- package/dist/voice/useVoiceTranscriptMessages.d.ts +16 -0
- package/dist/voice/useVoiceTranscriptMessages.d.ts.map +1 -0
- package/dist/voice/useVoiceTranscriptMessages.js +129 -0
- package/dist/voice/useWsRealtimeAudio.d.ts +18 -0
- package/dist/voice/useWsRealtimeAudio.d.ts.map +1 -0
- package/dist/voice/useWsRealtimeAudio.js +102 -0
- package/dist/voice/voiceMicConstants.d.ts +4 -0
- package/dist/voice/voiceMicConstants.d.ts.map +1 -0
- package/dist/voice/voiceMicConstants.js +10 -0
- package/dist/voice/ws/BrowserWsPcmPlayer.d.ts +23 -0
- package/dist/voice/ws/BrowserWsPcmPlayer.d.ts.map +1 -0
- package/dist/voice/ws/BrowserWsPcmPlayer.js +137 -0
- package/dist/voice/ws/BrowserWsPcmRecorder.d.ts +17 -0
- package/dist/voice/ws/BrowserWsPcmRecorder.d.ts.map +1 -0
- package/dist/voice/ws/BrowserWsPcmRecorder.js +71 -0
- package/dist/voice/ws/float32ToPcm16.d.ts +2 -0
- package/dist/voice/ws/float32ToPcm16.d.ts.map +1 -0
- package/dist/voice/ws/float32ToPcm16.js +8 -0
- package/dist/voice/ws/voiceSilenceConstants.d.ts +5 -0
- package/dist/voice/ws/voiceSilenceConstants.d.ts.map +1 -0
- package/dist/voice/ws/voiceSilenceConstants.js +4 -0
- package/dist/voice/ws/wsRealtimeConstants.d.ts +2 -0
- package/dist/voice/ws/wsRealtimeConstants.d.ts.map +1 -0
- package/dist/voice/ws/wsRealtimeConstants.js +1 -0
- package/package.json +60 -0
- package/src/NxtlinqAgentChat.tsx +79 -0
- package/src/components/AgentAssistantShell.tsx +104 -0
- package/src/components/AgentComposer.tsx +134 -0
- package/src/components/AgentMessageList.tsx +78 -0
- package/src/components/AgentRemoteAudio.tsx +34 -0
- package/src/components/AgentVoiceBar.tsx +173 -0
- package/src/components/PresetMessageChips.tsx +41 -0
- package/src/context/AgentAssistantContext.tsx +276 -0
- package/src/index.ts +78 -0
- package/src/legacy/assets/images/adiSideItalicDataUri.ts +1 -0
- package/src/legacy/chatbot/ChatBot.tsx +61 -0
- package/src/legacy/chatbot/context/ChatBotContext.tsx +3227 -0
- package/src/legacy/chatbot/types/ChatBotTypes.ts +195 -0
- package/src/legacy/chatbot/ui/BerifyMeModal.tsx +145 -0
- package/src/legacy/chatbot/ui/ChatBotUI.tsx +949 -0
- package/src/legacy/chatbot/ui/MessageInput.tsx +517 -0
- package/src/legacy/chatbot/ui/MessageList.tsx +764 -0
- package/src/legacy/chatbot/ui/ModelSelector.tsx +190 -0
- package/src/legacy/chatbot/ui/NotificationModal.tsx +110 -0
- package/src/legacy/chatbot/ui/PermissionForm.tsx +632 -0
- package/src/legacy/chatbot/ui/PresetMessages.tsx +50 -0
- package/src/legacy/chatbot/ui/VoiceModePanel.tsx +168 -0
- package/src/legacy/chatbot/ui/styles/isolatedStyles.ts +1058 -0
- package/src/legacy/index.ts +26 -0
- package/src/theme/defaultTheme.ts +22 -0
- package/src/types.ts +65 -0
- package/src/voice/useVoiceConnectOrchestration.ts +117 -0
- package/src/voice/useVoiceMicState.ts +117 -0
- package/src/voice/useVoiceTranscriptMessages.ts +173 -0
- package/src/voice/voiceMicConstants.ts +13 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { VoiceStatus, AIT, AITApi, Message, ServicePermission, Attachment } from '@bytexbyte/nxtlinq-ai-agent-core-development';
|
|
2
|
+
export interface PresetMessage {
|
|
3
|
+
text: string;
|
|
4
|
+
autoSend?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface ToolUse {
|
|
7
|
+
name: string;
|
|
8
|
+
input: Record<string, any>;
|
|
9
|
+
}
|
|
10
|
+
export interface ToolCall {
|
|
11
|
+
toolUse: ToolUse;
|
|
12
|
+
}
|
|
13
|
+
export interface NovaResponse {
|
|
14
|
+
result: string;
|
|
15
|
+
reply: Array<{
|
|
16
|
+
text: string;
|
|
17
|
+
}>;
|
|
18
|
+
toolCall?: ToolCall;
|
|
19
|
+
}
|
|
20
|
+
export interface NovaError {
|
|
21
|
+
error: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AITMetadata {
|
|
24
|
+
permissions: string[];
|
|
25
|
+
issuedBy: string;
|
|
26
|
+
}
|
|
27
|
+
export interface AIModel {
|
|
28
|
+
label: string;
|
|
29
|
+
value: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ChatBotProps {
|
|
32
|
+
onMessage?: (message: Message) => void;
|
|
33
|
+
onError?: (error: Error) => void;
|
|
34
|
+
onToolUse?: (toolUse: ToolUse, onProgress?: (update: {
|
|
35
|
+
status?: string;
|
|
36
|
+
progress?: number;
|
|
37
|
+
partialResult?: string;
|
|
38
|
+
steps?: string[];
|
|
39
|
+
partialContent?: string;
|
|
40
|
+
}) => void) => Promise<Message | void>;
|
|
41
|
+
presetMessages?: PresetMessage[];
|
|
42
|
+
placeholder?: string;
|
|
43
|
+
className?: string;
|
|
44
|
+
maxRetries?: number;
|
|
45
|
+
retryDelay?: number;
|
|
46
|
+
serviceId: string;
|
|
47
|
+
apiKey: string;
|
|
48
|
+
apiSecret: string;
|
|
49
|
+
environment?: 'production' | 'staging';
|
|
50
|
+
onVerifyWallet?: () => Promise<{
|
|
51
|
+
token: string;
|
|
52
|
+
} | undefined>;
|
|
53
|
+
permissionGroup?: string;
|
|
54
|
+
children?: React.ReactNode;
|
|
55
|
+
onModelChange?: (model: AIModel) => void;
|
|
56
|
+
storageMode?: "session-storage" | "local-storage";
|
|
57
|
+
requireWalletIDVVerification?: boolean;
|
|
58
|
+
isSemiAutomaticMode?: boolean;
|
|
59
|
+
customUserInfo?: Record<string, any>;
|
|
60
|
+
customUsername?: string;
|
|
61
|
+
idvBannerDismissSeconds?: number;
|
|
62
|
+
berifymeMode?: 'built-in' | 'external';
|
|
63
|
+
isStopRecordingOnSend?: boolean;
|
|
64
|
+
customError?: string;
|
|
65
|
+
/** PII display mode: how PII protection is visualized in chat messages
|
|
66
|
+
* - 'plain': No visualization, messages look like normal chat
|
|
67
|
+
* - 'redacted': Anonymized text with PII tokens displayed (default)
|
|
68
|
+
*/
|
|
69
|
+
piiDisplayMode?: 'plain' | 'redacted';
|
|
70
|
+
}
|
|
71
|
+
export interface ChatBotContextType {
|
|
72
|
+
messages: Message[];
|
|
73
|
+
inputValue: string;
|
|
74
|
+
isLoading: boolean;
|
|
75
|
+
isOpen: boolean;
|
|
76
|
+
hitAddress: string | null;
|
|
77
|
+
ait: AIT | null;
|
|
78
|
+
permissions: string[];
|
|
79
|
+
availablePermissions: ServicePermission[];
|
|
80
|
+
showPermissionForm: boolean;
|
|
81
|
+
isPermissionFormOpen: boolean;
|
|
82
|
+
isAITLoading: boolean;
|
|
83
|
+
isAITEnabling: boolean;
|
|
84
|
+
isDisabled: boolean;
|
|
85
|
+
walletInfo: any;
|
|
86
|
+
isWalletLoading: boolean;
|
|
87
|
+
isAutoConnecting: boolean;
|
|
88
|
+
notification: {
|
|
89
|
+
show: boolean;
|
|
90
|
+
type: 'success' | 'error' | 'warning' | 'info';
|
|
91
|
+
message: string;
|
|
92
|
+
autoHide?: boolean;
|
|
93
|
+
duration?: number;
|
|
94
|
+
};
|
|
95
|
+
isMicEnabled: boolean;
|
|
96
|
+
isAwaitingMicGesture: boolean;
|
|
97
|
+
transcript: string;
|
|
98
|
+
textInputRef: React.RefObject<HTMLInputElement>;
|
|
99
|
+
autoSendEnabled: boolean;
|
|
100
|
+
textToSpeechEnabled: boolean;
|
|
101
|
+
speechingIndex: number | undefined;
|
|
102
|
+
isTtsProcessing: boolean;
|
|
103
|
+
requiresGesture?: boolean;
|
|
104
|
+
availableModels: AIModel[];
|
|
105
|
+
selectedModelIndex: number;
|
|
106
|
+
showModelSelector: boolean;
|
|
107
|
+
suggestions: PresetMessage[];
|
|
108
|
+
piiDisplayMode: 'plain' | 'redacted';
|
|
109
|
+
isVoiceMode: boolean;
|
|
110
|
+
voiceStatus: VoiceStatus;
|
|
111
|
+
isVoiceConnecting: boolean;
|
|
112
|
+
isMicMuted: boolean;
|
|
113
|
+
remoteAudioRef: React.RefObject<HTMLAudioElement>;
|
|
114
|
+
setInputValue: (value: string) => void;
|
|
115
|
+
setIsOpen: (open: boolean) => void;
|
|
116
|
+
setShowPermissionForm: (show: boolean) => void;
|
|
117
|
+
setIsPermissionFormOpen: (open: boolean) => void;
|
|
118
|
+
setPermissions: (permissions: string[]) => void;
|
|
119
|
+
setIsDisabled: (disabled: boolean) => void;
|
|
120
|
+
setIsWalletLoading: (loading: boolean) => void;
|
|
121
|
+
setNotification: (notification: any) => void;
|
|
122
|
+
setSelectedModelIndex: (index: number) => void;
|
|
123
|
+
setSuggestions: (suggestions: PresetMessage[]) => void;
|
|
124
|
+
setAutoSendEnabled: (enabled: boolean) => void;
|
|
125
|
+
setTextToSpeechEnabled: (enabled: boolean) => void;
|
|
126
|
+
connectWallet: (autoShowSignInMessage?: boolean) => Promise<string | false | undefined>;
|
|
127
|
+
signInWallet: (autoShowSuccessMessage?: boolean) => Promise<void>;
|
|
128
|
+
sendMessage: (content: string, retryCount?: number) => Promise<void>;
|
|
129
|
+
handleSubmit: (e: React.FormEvent, attachments?: Attachment[]) => Promise<void>;
|
|
130
|
+
handlePresetMessage: (message: PresetMessage) => void;
|
|
131
|
+
savePermissions: (newPermissions?: string[]) => Promise<void>;
|
|
132
|
+
enableAIT: (toolName: string) => Promise<boolean>;
|
|
133
|
+
handleVerifyWalletClick: (method: 'berifyme' | 'custom') => Promise<void>;
|
|
134
|
+
showSuccess: (message: string) => void;
|
|
135
|
+
showError: (message: string) => void;
|
|
136
|
+
showWarning: (message: string) => void;
|
|
137
|
+
showInfo: (message: string) => void;
|
|
138
|
+
refreshAIT: (forceUpdatePermissions?: boolean) => Promise<void>;
|
|
139
|
+
startRecording: () => Promise<void>;
|
|
140
|
+
stopRecording: () => void;
|
|
141
|
+
clearRecording: () => void;
|
|
142
|
+
handleModelChange: (modelIndex: number) => void;
|
|
143
|
+
getCurrentModel: () => AIModel;
|
|
144
|
+
playTextToSpeech: (text: string) => Promise<void>;
|
|
145
|
+
stopTextToSpeech: () => void;
|
|
146
|
+
retryTtsWithGesture?: () => Promise<void>;
|
|
147
|
+
uploadAttachment: (file: File) => Promise<{
|
|
148
|
+
url: string;
|
|
149
|
+
} | {
|
|
150
|
+
error: string;
|
|
151
|
+
}>;
|
|
152
|
+
enterVoiceMode: () => Promise<void>;
|
|
153
|
+
exitVoiceMode: () => Promise<void>;
|
|
154
|
+
toggleVoiceMicMute: () => void;
|
|
155
|
+
interruptVoice: () => void;
|
|
156
|
+
onSave: (newPermissions?: string[]) => Promise<void>;
|
|
157
|
+
onConnectWallet: () => Promise<string | false | undefined>;
|
|
158
|
+
onSignIn: () => Promise<void>;
|
|
159
|
+
isNeedSignInWithWallet: boolean;
|
|
160
|
+
onVerifyWallet: (method: 'berifyme' | 'custom') => Promise<void>;
|
|
161
|
+
serviceId: string;
|
|
162
|
+
permissionGroup?: string;
|
|
163
|
+
props: ChatBotProps;
|
|
164
|
+
nxtlinqApi: AITApi;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=ChatBotTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatBotTypes.d.ts","sourceRoot":"","sources":["../../../../src/legacy/chatbot/types/ChatBotTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface BerifyMeModalProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onVerificationComplete?: (token?: string) => void;
|
|
6
|
+
mode?: 'built-in' | 'external';
|
|
7
|
+
}
|
|
8
|
+
export declare const BerifyMeModal: React.FC<BerifyMeModalProps>;
|
|
9
|
+
declare global {
|
|
10
|
+
interface Window {
|
|
11
|
+
BerifyMeSDK?: {
|
|
12
|
+
modal: any;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=BerifyMeModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BerifyMeModal.d.ts","sourceRoot":"","sources":["../../../../src/legacy/chatbot/ui/BerifyMeModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sBAAsB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAChC;AASD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoHtD,CAAC;AAGF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,WAAW,CAAC,EAAE;YACZ,KAAK,EAAE,GAAG,CAAC;SACZ,CAAC;KACH;CACF"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
/** @jsxImportSource @emotion/react */
|
|
3
|
+
import { css } from '@emotion/react';
|
|
4
|
+
import React, { useEffect, useRef } from 'react';
|
|
5
|
+
import { modalOverlay } from './styles/isolatedStyles';
|
|
6
|
+
// Built-in BerifyMe configuration
|
|
7
|
+
const BUILT_IN_BERIFYME_CONFIG = {
|
|
8
|
+
apiKeyId: 'idv_XjN7vvuQVfHnaUkVQAEhdTuxAsQeKoa9',
|
|
9
|
+
secretKey: 'aaa444b1-087c-4b17-821a-9a6974286905',
|
|
10
|
+
environment: 'idv'
|
|
11
|
+
};
|
|
12
|
+
export const BerifyMeModal = ({ isOpen, onClose, onVerificationComplete, mode = 'built-in' }) => {
|
|
13
|
+
const modalRef = useRef(null);
|
|
14
|
+
const berifyMeModalRef = useRef(null);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!isOpen)
|
|
17
|
+
return;
|
|
18
|
+
if (mode === 'external') {
|
|
19
|
+
// External mode: This should not be called as BerifyMeModal is not rendered in external mode
|
|
20
|
+
console.warn('⚠️ BerifyMeModal should not be rendered in external mode');
|
|
21
|
+
onClose();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
// Built-in mode: dynamically load BerifyMe SDK
|
|
25
|
+
const loadBerifyMeSDK = async () => {
|
|
26
|
+
try {
|
|
27
|
+
// Check if already loaded
|
|
28
|
+
if (window.BerifyMeSDK) {
|
|
29
|
+
renderBerifyMeModal();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// Dynamically load SDK
|
|
33
|
+
const script = document.createElement('script');
|
|
34
|
+
script.src = 'https://docs.nxtlinq.ai/sdk/umd/berifyme-sdk.umd.js';
|
|
35
|
+
script.onload = () => {
|
|
36
|
+
if (window.BerifyMeSDK) {
|
|
37
|
+
renderBerifyMeModal();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
script.onerror = () => {
|
|
41
|
+
console.error('❌ Failed to load BerifyMe SDK');
|
|
42
|
+
onClose();
|
|
43
|
+
};
|
|
44
|
+
document.head.appendChild(script);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.error('❌ Error loading BerifyMe SDK:', error);
|
|
48
|
+
onClose();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
loadBerifyMeSDK();
|
|
52
|
+
}
|
|
53
|
+
return () => {
|
|
54
|
+
// Cleanup function
|
|
55
|
+
if (berifyMeModalRef.current) {
|
|
56
|
+
try {
|
|
57
|
+
berifyMeModalRef.current.unmount?.();
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
// Ignore cleanup errors
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}, [isOpen]);
|
|
65
|
+
const renderBerifyMeModal = () => {
|
|
66
|
+
if (!window.BerifyMeSDK || !modalRef.current)
|
|
67
|
+
return;
|
|
68
|
+
try {
|
|
69
|
+
// Build redirect URL - always redirect to current page
|
|
70
|
+
const currentUrl = window.location.href;
|
|
71
|
+
const redirectUrl = `${window.location.origin}${window.location.pathname}?isAutoConnect=true&method=berifyme&returnUrl=${encodeURIComponent(currentUrl)}`;
|
|
72
|
+
// Create BerifyMe modal using built-in config
|
|
73
|
+
const berifyMeModal = window.BerifyMeSDK.modal;
|
|
74
|
+
// Use React 18's createRoot
|
|
75
|
+
const { createRoot } = require('react-dom/client');
|
|
76
|
+
const root = createRoot(modalRef.current);
|
|
77
|
+
berifyMeModalRef.current = root;
|
|
78
|
+
root.render(React.createElement(berifyMeModal, {
|
|
79
|
+
environment: BUILT_IN_BERIFYME_CONFIG.environment,
|
|
80
|
+
apiKeyId: BUILT_IN_BERIFYME_CONFIG.apiKeyId,
|
|
81
|
+
secretKey: BUILT_IN_BERIFYME_CONFIG.secretKey,
|
|
82
|
+
redirectUrl,
|
|
83
|
+
onUpdate: (event) => {
|
|
84
|
+
if (event.detail.page.pageName === 'All Set') {
|
|
85
|
+
console.log('✅ BerifyMe wallet verification completed successfully!');
|
|
86
|
+
// Get token if available
|
|
87
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
88
|
+
const token = urlParams.get('token');
|
|
89
|
+
// Call completion callback
|
|
90
|
+
if (onVerificationComplete) {
|
|
91
|
+
onVerificationComplete(token || undefined);
|
|
92
|
+
}
|
|
93
|
+
// Close modal
|
|
94
|
+
onClose();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.error('❌ Error rendering BerifyMe modal:', error);
|
|
101
|
+
onClose();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
if (!isOpen)
|
|
105
|
+
return null;
|
|
106
|
+
return (_jsx("div", { ref: modalRef, css: css `
|
|
107
|
+
${modalOverlay}
|
|
108
|
+
z-index: 9999 !important;
|
|
109
|
+
` }));
|
|
110
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatBotUI.d.ts","sourceRoot":"","sources":["../../../../src/legacy/chatbot/ui/ChatBotUI.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuG/B,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EA20B7B,CAAC"}
|