@yourgpt/widget-web-sdk
Version:
Official YourGPT SDK for JavaScript/TypeScript and React applications
1 lines • 40.4 kB
Source Map (JSON)
{"version":3,"sources":["../src/types/core.ts","../src/utils/index.ts","../src/types/enum.ts","../src/core/YourGPT.ts","../src/index.ts"],"names":["WidgetRenderModeE"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Core Types for YourGPT SDK\n */\n\nimport { WidgetRenderModeE } from \"./enum\";\n\n// Core SDK Configuration\nexport interface YourGPTConfig {\n widgetId: string;\n endpoint?: string;\n autoLoad?: boolean;\n debug?: boolean;\n whitelabel?: boolean;\n mode?: WidgetRenderModeE;\n}\n\n// Widget State\nexport interface WidgetState {\n isOpen: boolean;\n isVisible: boolean;\n isConnected: boolean;\n isLoaded: boolean;\n lastMessageId?: string;\n messageCount: number;\n connectionRetries: number;\n}\n\n// Event Types\nexport type EventHandler<T = any> = (data: T) => void;\nexport type EventUnsubscriber = () => void;\n\n// Error Types\nexport class YourGPTError extends Error {\n constructor(message: string, public code?: string) {\n super(message);\n this.name = \"YourGPTError\";\n }\n}\n\n// Utility Types\nexport type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport type RequiredKeys<T, K extends keyof T> = T & Required<Pick<T, K>>;\n","/**\n * YourGPT SDK Utilities\n */\n\nimport { YourGPTError } from '../types';\n\n/**\n * Check if we're in a browser environment\n */\nexport const isBrowser = (): boolean => {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n};\n\n/**\n * Check if we're in a development environment\n */\nexport const isDevelopment = (): boolean => {\n return typeof process !== 'undefined' && process.env?.NODE_ENV === 'development';\n};\n\n/**\n * Create a debug logger that only logs in development\n */\nexport const createDebugLogger = (namespace: string) => {\n return {\n log: (message: string, ...args: any[]) => {\n if (isDevelopment()) {\n console.log(`[YourGPT SDK:${namespace}] ${message}`, ...args);\n }\n },\n warn: (message: string, ...args: any[]) => {\n if (isDevelopment()) {\n console.warn(`[YourGPT SDK:${namespace}] ${message}`, ...args);\n }\n },\n error: (message: string, ...args: any[]) => {\n if (isDevelopment()) {\n console.error(`[YourGPT SDK:${namespace}] ${message}`, ...args);\n }\n }\n };\n};\n\n/**\n * Wait for a condition to be true\n */\nexport const waitFor = async (\n condition: () => boolean,\n timeout: number = 5000,\n interval: number = 100\n): Promise<void> => {\n const start = Date.now();\n \n while (!condition()) {\n if (Date.now() - start > timeout) {\n throw new YourGPTError(`Timeout after ${timeout}ms waiting for condition`);\n }\n await new Promise(resolve => setTimeout(resolve, interval));\n }\n};\n\n/**\n * Retry a function with exponential backoff\n */\nexport const withRetry = async <T>(\n operation: () => Promise<T>,\n maxRetries: number = 3,\n baseDelay: number = 1000\n): Promise<T> => {\n let lastError: Error;\n \n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n try {\n return await operation();\n } catch (error) {\n lastError = error as Error;\n \n if (attempt === maxRetries) {\n throw lastError;\n }\n \n // Exponential backoff\n const delay = baseDelay * Math.pow(2, attempt);\n await new Promise(resolve => setTimeout(resolve, delay));\n }\n }\n \n throw lastError!;\n};\n\n/**\n * Deep merge objects\n */\nexport const deepMerge = <T extends Record<string, any>>(\n target: T,\n source: Partial<T>\n): T => {\n const result = { ...target };\n \n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n if (\n typeof source[key] === 'object' &&\n source[key] !== null &&\n !Array.isArray(source[key]) &&\n typeof result[key] === 'object' &&\n result[key] !== null &&\n !Array.isArray(result[key])\n ) {\n result[key] = deepMerge(result[key], source[key] as any);\n } else {\n result[key] = source[key] as any;\n }\n }\n }\n \n return result;\n};\n\n/**\n * Generate a unique ID\n */\nexport const generateId = (): string => {\n return Math.random().toString(36).substring(2, 15) + \n Math.random().toString(36).substring(2, 15);\n};\n\n/**\n * Validate widget ID format\n */\nexport const validateWidgetId = (widgetId: string): boolean => {\n // UUID format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\n const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n return uuidRegex.test(widgetId);\n};\n\n/**\n * Validate URL format\n */\nexport const validateUrl = (url: string): boolean => {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Sanitize HTML content\n */\nexport const sanitizeHtml = (html: string): string => {\n if (!isBrowser()) return html;\n \n const div = document.createElement('div');\n div.textContent = html;\n return div.innerHTML;\n};\n\n/**\n * Debounce function\n */\nexport const debounce = <T extends (...args: any[]) => any>(\n func: T,\n wait: number\n): ((...args: Parameters<T>) => void) => {\n let timeout: NodeJS.Timeout | null = null;\n \n return (...args: Parameters<T>) => {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => func(...args), wait);\n };\n};\n\n/**\n * Throttle function\n */\nexport const throttle = <T extends (...args: any[]) => any>(\n func: T,\n wait: number\n): ((...args: Parameters<T>) => void) => {\n let lastCallTime = 0;\n \n return (...args: Parameters<T>) => {\n const now = Date.now();\n if (now - lastCallTime >= wait) {\n lastCallTime = now;\n func(...args);\n }\n };\n};\n\n/**\n * Check if element is in viewport\n */\nexport const isInViewport = (element: Element): boolean => {\n if (!isBrowser()) return false;\n \n const rect = element.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n};\n\n/**\n * Load external script\n */\nexport const loadScript = (src: string, async: boolean = true): Promise<void> => {\n return new Promise((resolve, reject) => {\n if (!isBrowser()) {\n reject(new YourGPTError('Cannot load script in non-browser environment'));\n return;\n }\n \n // Check if script already exists\n if (document.querySelector(`script[src=\"${src}\"]`)) {\n resolve();\n return;\n }\n \n const script = document.createElement('script');\n script.src = src;\n script.async = async;\n \n script.onload = () => resolve();\n script.onerror = () => reject(new YourGPTError(`Failed to load script: ${src}`));\n \n document.head.appendChild(script);\n });\n};\n\n/**\n * Load external CSS\n */\nexport const loadCSS = (href: string): Promise<void> => {\n return new Promise((resolve, reject) => {\n if (!isBrowser()) {\n reject(new YourGPTError('Cannot load CSS in non-browser environment'));\n return;\n }\n \n // Check if CSS already exists\n if (document.querySelector(`link[href=\"${href}\"]`)) {\n resolve();\n return;\n }\n \n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.type = 'text/css';\n link.href = href;\n \n link.onload = () => resolve();\n link.onerror = () => reject(new YourGPTError(`Failed to load CSS: ${href}`));\n \n document.head.appendChild(link);\n });\n};\n\n/**\n * Event emitter utility\n */\nexport class EventEmitter<T extends Record<string, any>> {\n private events: { [K in keyof T]?: Array<(data: T[K]) => void> } = {};\n \n on<K extends keyof T>(event: K, callback: (data: T[K]) => void): () => void {\n if (!this.events[event]) {\n this.events[event] = [];\n }\n \n this.events[event]!.push(callback);\n \n // Return unsubscribe function\n return () => {\n this.off(event, callback);\n };\n }\n \n off<K extends keyof T>(event: K, callback?: (data: T[K]) => void): void {\n if (!this.events[event]) return;\n \n if (callback) {\n this.events[event] = this.events[event]!.filter(cb => cb !== callback);\n } else {\n delete this.events[event];\n }\n }\n \n emit<K extends keyof T>(event: K, data: T[K]): void {\n if (!this.events[event]) return;\n \n this.events[event]!.forEach(callback => {\n try {\n callback(data);\n } catch (error) {\n console.error(`Error in event handler for ${String(event)}:`, error);\n }\n });\n }\n \n removeAllListeners(): void {\n this.events = {};\n }\n}","export enum WidgetRenderModeE {\n floating = \"floating\",\n embedded = \"embedded\",\n iframe = \"iframe\",\n}\n","/**\n * YourGPT Core SDK\n */\n\nimport { YourGPTConfig, YourGPTError, WidgetState, EventHandler, EventUnsubscriber } from \"../types/core\";\n\nimport { ChatbotAPI, AIActionsAPI, MessageData, EscalationData, SessionData, VisitorData, ContactData, GameOptions, AIActionHandler } from \"../types\";\n\nimport { isBrowser, createDebugLogger, validateWidgetId, validateUrl, loadScript, waitFor, EventEmitter } from \"../utils\";\nimport { WidgetRenderModeE } from \"../types/enum\";\n\ninterface YourGPTEvents {\n stateChange: WidgetState;\n init: void;\n messageReceived: MessageData;\n escalatedToHuman: EscalationData;\n widgetPopup: boolean;\n}\n\n/**\n * Main YourGPT SDK class\n */\nclass YourGPTSDK extends EventEmitter<YourGPTEvents> {\n private static instance: YourGPTSDK | null = null;\n private config: YourGPTConfig | null = null;\n private isInitialized = false;\n private logger = createDebugLogger(\"Core\");\n private state: WidgetState = {\n isOpen: false,\n isVisible: true,\n isConnected: false,\n isLoaded: false,\n messageCount: 0,\n connectionRetries: 0,\n };\n private aiActionHandlers = new Map<string, AIActionHandler>();\n\n private constructor() {\n super();\n this.setupGlobalAPI();\n }\n\n /**\n * Get singleton instance\n */\n public static getInstance(): YourGPTSDK {\n if (!YourGPTSDK.instance) {\n YourGPTSDK.instance = new YourGPTSDK();\n }\n return YourGPTSDK.instance;\n }\n\n /**\n * Initialize the SDK\n */\n public async init(config: YourGPTConfig): Promise<YourGPTSDK> {\n window.YGC_WIDGET_RENDER_MODE = config.mode || WidgetRenderModeE.floating;\n\n if (this.isInitialized) {\n this.logger.warn(\"SDK already initialized\");\n return this;\n }\n\n // Validate configuration\n this.validateConfig(config);\n\n this.config = config;\n this.logger.log(\"Initializing SDK with config:\", config);\n\n // Set up global variables\n this.setupGlobalVariables();\n\n // Load widget if auto-load is enabled\n if (config.autoLoad !== false) {\n await this.loadWidget();\n }\n\n this.isInitialized = true;\n this.logger.log(\"SDK initialized successfully\");\n\n return this;\n }\n\n /**\n * Validate configuration\n */\n private validateConfig(config: YourGPTConfig): void {\n if (!config.widgetId) {\n throw new YourGPTError(\"Widget ID is required\", \"MISSING_WIDGET_ID\");\n }\n\n if (!validateWidgetId(config.widgetId)) {\n throw new YourGPTError(\"Invalid widget ID format\", \"INVALID_WIDGET_ID\");\n }\n\n if (config.endpoint && !validateUrl(config.endpoint)) {\n throw new YourGPTError(\"Invalid endpoint URL\", \"INVALID_ENDPOINT\");\n }\n }\n\n /**\n * Set up global variables\n */\n private setupGlobalVariables(): void {\n if (!isBrowser()) return;\n\n window.YOURGPT_WIDGET_UID = this.config!.widgetId;\n\n if (!window.$yourgptChatbot) {\n window.$yourgptChatbot = {};\n }\n\n window.$yourgptChatbot.WIDGET_ENDPOINT = this.getEndpoint();\n }\n\n /**\n * Get endpoint URL\n */\n private getEndpoint(): string {\n if (this.config?.endpoint) {\n return this.config.endpoint;\n }\n\n // Default endpoints\n return this.config?.whitelabel ? \"https://widget.d4ai.chat\" : \"\";\n }\n\n /**\n * Load widget assets\n */\n private async loadWidget(): Promise<void> {\n if (!isBrowser()) {\n throw new YourGPTError(\"Cannot load widget in non-browser environment\", \"NOT_BROWSER\");\n }\n\n const endpoint = this.getEndpoint();\n\n try {\n // Create root container\n this.createRootContainer();\n\n // Load JavaScript\n await loadScript(`${endpoint}/chatbot.js`);\n\n // Wait for widget to be ready\n await waitFor(() => this.isWidgetReady(), 10000);\n\n this.updateState({ isLoaded: true });\n this.logger.log(\"Widget loaded successfully\");\n } catch (error) {\n this.logger.error(\"Failed to load widget:\", error);\n throw new YourGPTError(\"Failed to load widget\", \"WIDGET_LOAD_FAILED\");\n }\n }\n\n /**\n * Create root container for widget\n */\n private createRootContainer(): void {\n if (document.getElementById(\"yourgpt_root\")) {\n return; // Already exists\n }\n\n const root = document.createElement(\"div\");\n root.id = \"yourgpt_root\";\n root.style.cssText = `\n position: fixed;\n z-index: 99999;\n `;\n\n document.body.appendChild(root);\n }\n\n /**\n * Check if widget is ready\n */\n private isWidgetReady(): boolean {\n return Boolean(window.$yourgptChatbot?.execute && window.$yourgptChatbot?.on && window.$yourgptChatbot?.set);\n }\n\n /**\n * Set up global API for backwards compatibility\n */\n private setupGlobalAPI(): void {\n if (!isBrowser()) return;\n\n // Initialize command queue\n if (!window.$yourgptChatbot) {\n window.$yourgptChatbot = {\n q: [],\n execute: (action: string, ...args: any[]) => {\n window.$yourgptChatbot!.q!.push([\"execute\", action, ...args]);\n },\n on: (event: string, callback: Function) => {\n window.$yourgptChatbot!.q!.push([\"on\", event, callback]);\n },\n off: (event: string, callback?: Function) => {\n window.$yourgptChatbot!.q!.push([\"off\", event, callback]);\n },\n set: (key: string, value: any) => {\n window.$yourgptChatbot!.q!.push([\"set\", key, value]);\n },\n };\n }\n }\n\n /**\n * Update widget state\n */\n private updateState(updates: Partial<WidgetState>): void {\n this.state = { ...this.state, ...updates };\n this.emit(\"stateChange\", this.state);\n }\n\n /**\n * Execute widget command\n */\n private executeCommand(command: string, ...args: any[]): void {\n if (!this.isWidgetReady()) {\n this.logger.warn(\"Widget not ready, queueing command:\", command);\n window.$yourgptChatbot?.q?.push([\"execute\", command, ...args]);\n return;\n }\n\n window.$yourgptChatbot!.execute!(command, ...args);\n }\n\n /**\n * Register event listener\n */\n private registerEventListener(event: string, callback: Function): void {\n if (!this.isWidgetReady()) {\n this.logger.warn(\"Widget not ready, queueing event listener:\", event);\n window.$yourgptChatbot?.q?.push([\"on\", event, callback]);\n return;\n }\n\n window.$yourgptChatbot!.on!(event, callback);\n }\n\n /**\n * Set widget data\n */\n private setWidgetData(key: string, value: any): void {\n if (!this.isWidgetReady()) {\n this.logger.warn(\"Widget not ready, queueing data:\", key);\n window.$yourgptChatbot?.q?.push([\"set\", key, value]);\n return;\n }\n\n window.$yourgptChatbot!.set!(key, value);\n }\n\n /**\n * Get current configuration\n */\n public getConfig(): YourGPTConfig | null {\n return this.config;\n }\n\n /**\n * Get current state\n */\n public getState(): WidgetState {\n return { ...this.state };\n }\n\n /**\n * Check if SDK is initialized\n */\n public isReady(): boolean {\n return this.isInitialized;\n }\n\n /**\n * Widget Controls\n */\n public open(): void {\n this.executeCommand(\"widget:open\");\n this.updateState({ isOpen: true });\n }\n\n public close(): void {\n this.executeCommand(\"widget:close\");\n this.updateState({ isOpen: false });\n }\n\n public toggle(): void {\n if (this.state.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n public show(): void {\n this.executeCommand(\"widget:show\");\n this.updateState({ isVisible: true });\n }\n\n public hide(): void {\n this.executeCommand(\"widget:hide\");\n this.updateState({ isVisible: false });\n }\n\n /**\n * Messaging\n */\n public sendMessage(text: string, autoSend: boolean = true): void {\n this.executeCommand(\"message:send\", { text, send: autoSend });\n }\n\n /**\n * Advanced Features\n */\n public openBottomSheet(url: string): void {\n this.executeCommand(\"bottomSheet:open\", { url });\n }\n\n public startGame(gameId: string, options: GameOptions = {}): void {\n this.executeCommand(\"game:start\", { id: gameId, ...options });\n }\n\n /**\n * Data Management\n */\n public setSessionData(data: SessionData): void {\n this.setWidgetData(\"session:data\", data);\n }\n\n public setVisitorData(data: VisitorData): void {\n this.setWidgetData(\"visitor:data\", data);\n }\n\n public setContactData(data: ContactData): void {\n this.setWidgetData(\"contact:data\", data);\n }\n\n /**\n * Event Listeners\n */\n public onInit(callback: EventHandler<void>): EventUnsubscriber {\n const wrappedCallback = () => {\n this.updateState({ isConnected: true });\n callback();\n };\n\n this.registerEventListener(\"init\", wrappedCallback);\n return () => window.$yourgptChatbot?.off?.(\"init\", wrappedCallback);\n }\n\n public onMessageReceived(callback: EventHandler<MessageData>): EventUnsubscriber {\n const wrappedCallback = (data: MessageData) => {\n this.updateState({ messageCount: this.state.messageCount + 1 });\n callback(data);\n };\n\n this.registerEventListener(\"message:received\", wrappedCallback);\n return () => window.$yourgptChatbot?.off?.(\"message:received\", wrappedCallback);\n }\n\n public onEscalatedToHuman(callback: EventHandler<EscalationData>): EventUnsubscriber {\n this.registerEventListener(\"escalatedToHuman\", callback);\n return () => window.$yourgptChatbot?.off?.(\"escalatedToHuman\", callback);\n }\n\n public onWidgetPopup(callback: EventHandler<boolean>): EventUnsubscriber {\n const wrappedCallback = (isOpen: boolean) => {\n this.updateState({ isOpen });\n callback(isOpen);\n };\n\n this.registerEventListener(\"widget:popup\", wrappedCallback);\n return () => window.$yourgptChatbot?.off?.(\"widget:popup\", wrappedCallback);\n }\n\n /**\n * AI Actions\n */\n public registerAIAction(actionName: string, handler: AIActionHandler): void {\n this.aiActionHandlers.set(actionName, handler);\n this.registerEventListener(`ai:action:${actionName}`, handler);\n }\n\n public unregisterAIAction(actionName: string): void {\n this.aiActionHandlers.delete(actionName);\n window.$yourgptChatbot?.off?.(`ai:action:${actionName}`);\n }\n\n public getRegisteredAIActions(): string[] {\n return Array.from(this.aiActionHandlers.keys());\n }\n\n /**\n * Create complete chatbot API\n */\n public createChatbotAPI(): ChatbotAPI {\n return {\n // State\n ...this.getState(),\n\n // Widget Controls\n open: this.open.bind(this),\n close: this.close.bind(this),\n toggle: this.toggle.bind(this),\n show: this.show.bind(this),\n hide: this.hide.bind(this),\n\n // Messaging\n sendMessage: this.sendMessage.bind(this),\n\n // Advanced Features\n openBottomSheet: this.openBottomSheet.bind(this),\n startGame: this.startGame.bind(this),\n\n // Data Management\n setSessionData: this.setSessionData.bind(this),\n setVisitorData: this.setVisitorData.bind(this),\n setContactData: this.setContactData.bind(this),\n\n // Event Listeners\n onInit: this.onInit.bind(this),\n onMessageReceived: this.onMessageReceived.bind(this),\n onEscalatedToHuman: this.onEscalatedToHuman.bind(this),\n onWidgetPopup: this.onWidgetPopup.bind(this),\n };\n }\n\n /**\n * Create AI Actions API\n */\n public createAIActionsAPI(): AIActionsAPI {\n return {\n registerAction: this.registerAIAction.bind(this),\n unregisterAction: this.unregisterAIAction.bind(this),\n registerActions: (actions: Record<string, AIActionHandler>) => {\n Object.entries(actions).forEach(([name, handler]) => {\n this.registerAIAction(name, handler);\n });\n },\n getRegisteredActions: this.getRegisteredAIActions.bind(this),\n get registeredActions() {\n return this.getRegisteredActions();\n },\n };\n }\n\n /**\n * Cleanup\n */\n public destroy(): void {\n this.removeAllListeners();\n this.aiActionHandlers.clear();\n this.isInitialized = false;\n this.config = null;\n YourGPTSDK.instance = null;\n }\n}\n\n/**\n * Static methods for easier usage\n */\nconst YourGPT = {\n /**\n * Initialize the SDK\n */\n init: (config: YourGPTConfig) => {\n const sdk = YourGPTSDK.getInstance();\n return sdk.init(config);\n },\n\n /**\n * Get the SDK instance\n */\n getInstance: () => {\n return YourGPTSDK.getInstance();\n },\n};\n\nexport { YourGPTSDK };\nexport default YourGPT;\n","/**\n * YourGPT SDK - Main Entry Point\n *\n * This is the core SDK that works with vanilla JavaScript/TypeScript\n * For React-specific functionality, use @yourgpt/sdk/react\n */\n\n// Core SDK\nexport { default as YourGPT, YourGPTSDK } from \"./core/YourGPT\";\n\n// Types\nexport type {\n YourGPTConfig,\n WidgetState,\n MessageData,\n EscalationData,\n SessionData,\n VisitorData,\n ContactData,\n GameOptions,\n AIActionData,\n AIActionHelpers,\n AIActionHandler,\n ConfirmOptions,\n ChatbotAPI,\n AIActionsAPI,\n EventHandler,\n EventUnsubscriber,\n WidgetControls,\n MessagingControls,\n AdvancedFeatures,\n DataManagement,\n EventListeners,\n} from \"./types\";\n\n// Error class\nexport { YourGPTError } from \"./types\";\n\n// Utilities\nexport { isBrowser, isDevelopment, createDebugLogger, waitFor, withRetry, deepMerge, generateId, validateWidgetId, validateUrl, sanitizeHtml, debounce, throttle, isInViewport, loadScript, loadCSS, EventEmitter } from \"./utils\";\n\n// Version\nexport const VERSION = \"1.0.0\";\n\n// Re-export default\nexport { default } from \"./core/YourGPT\";\n\nexport { WidgetRenderModeE } from \"./types/enum\";\n"]}