@seekora-ai/ui-sdk-core 0.2.0 → 0.2.4

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/index.d.ts CHANGED
@@ -445,5 +445,132 @@ declare class URLRouter {
445
445
  */
446
446
  declare function createURLRouter(config: URLRouterConfig): URLRouter;
447
447
 
448
- export { LogLevel, SearchStateManager, URLRouter, announce, announceFilterChange, announceResults, createFocusTrap, createKeyboardShortcuts, createLogger, createRovingTabIndex, createTheme, createURLRouter, darkThemeVariables, extractField, focusFirstError, formatPrice, generateCompleteStylesheet, generateId, generateThemeStylesheet, getFocusableElements, getHighlightedValue, getLogger, getNestedValue, getSnippetedValue, getTheme, handleKeyboardNavigation, highContrastThemeVariables, highlightQuery, injectStyles, lightThemeVariables, log, mergeThemes, minimalThemeVariables, parseHighlightedParts, parseQueryHighlightParts, prefersHighContrast, prefersReducedMotion, setAriaDescribedBy, setDefaultLogger, setLogLevel, setLogPrefix, setLogTimestamp, setTheme, stripHighlightTags, themeToCSSVariables };
449
- export type { CSSVariablesConfig, HighlightOptions, HighlightPart, KeyboardNavigationOptions, KeyboardShortcut, LoggerConfig, Refinement, SearchState, SearchStateManagerConfig, SnippetOptions, URLRouterConfig, URLStateMapping };
448
+ /**
449
+ * Seekora Device Fingerprinting Module
450
+ *
451
+ * A lightweight, dependency-free device fingerprinting solution that collects
452
+ * various browser and device signals to generate a unique visitor identifier.
453
+ */
454
+ interface FingerprintConfig {
455
+ enableCanvas: boolean;
456
+ enableWebGL: boolean;
457
+ enableAudio: boolean;
458
+ enableFonts: boolean;
459
+ enableHardware: boolean;
460
+ timeout: number;
461
+ }
462
+ interface FingerprintResult {
463
+ visitorId: string;
464
+ confidence: number;
465
+ components: FingerprintComponents;
466
+ }
467
+ interface FingerprintComponents {
468
+ canvas: {
469
+ hash: string;
470
+ data?: string;
471
+ };
472
+ webgl: {
473
+ renderer: string;
474
+ vendor: string;
475
+ hash: string;
476
+ };
477
+ audio: {
478
+ hash: string;
479
+ value?: number;
480
+ };
481
+ fonts: string[];
482
+ hardware: {
483
+ concurrency: number;
484
+ deviceMemory: number;
485
+ maxTouchPoints: number;
486
+ platform: string;
487
+ };
488
+ screen: {
489
+ width: number;
490
+ height: number;
491
+ colorDepth: number;
492
+ pixelRatio: number;
493
+ };
494
+ browser: {
495
+ language: string;
496
+ languages: string[];
497
+ timezone: string;
498
+ timezoneOffset: number;
499
+ cookieEnabled: boolean;
500
+ doNotTrack: boolean;
501
+ };
502
+ adBlockerDetected: boolean;
503
+ incognitoDetected: boolean;
504
+ }
505
+ declare class Fingerprint {
506
+ private config;
507
+ private cachedResult;
508
+ constructor(config?: Partial<FingerprintConfig>);
509
+ /**
510
+ * Get the complete fingerprint result
511
+ */
512
+ get(): Promise<FingerprintResult>;
513
+ /**
514
+ * Clear the cached result to force re-fingerprinting
515
+ */
516
+ clearCache(): void;
517
+ /**
518
+ * Collect all fingerprint components
519
+ */
520
+ private collectComponents;
521
+ /**
522
+ * Canvas fingerprinting - draws various shapes and text, then hashes the result
523
+ */
524
+ private getCanvasFingerprint;
525
+ /**
526
+ * WebGL fingerprinting - extracts GPU info and renders test triangles
527
+ */
528
+ private getWebGLFingerprint;
529
+ /**
530
+ * Audio fingerprinting using AudioContext oscillator
531
+ */
532
+ private getAudioFingerprint;
533
+ /**
534
+ * Font detection by measuring text rendering differences
535
+ */
536
+ private detectFonts;
537
+ /**
538
+ * Get hardware information
539
+ */
540
+ private getHardwareInfo;
541
+ /**
542
+ * Get screen information
543
+ */
544
+ private getScreenInfo;
545
+ /**
546
+ * Get browser information
547
+ */
548
+ private getBrowserInfo;
549
+ /**
550
+ * Detect if an ad blocker is installed
551
+ */
552
+ private detectAdBlocker;
553
+ /**
554
+ * Detect if browser is in incognito/private mode
555
+ */
556
+ private detectIncognito;
557
+ /**
558
+ * Generate a hash from any data
559
+ */
560
+ private generateHash;
561
+ /**
562
+ * Generate the final visitor ID from all components
563
+ */
564
+ private generateVisitorId;
565
+ /**
566
+ * Calculate confidence score based on available components
567
+ */
568
+ private calculateConfidence;
569
+ }
570
+ /**
571
+ * Quick fingerprint getter - creates a Fingerprint instance and returns the result
572
+ */
573
+ declare function getFingerprint(config?: Partial<FingerprintConfig>): Promise<FingerprintResult>;
574
+
575
+ export { Fingerprint, LogLevel, SearchStateManager, URLRouter, announce, announceFilterChange, announceResults, createFocusTrap, createKeyboardShortcuts, createLogger, createRovingTabIndex, createTheme, createURLRouter, darkThemeVariables, extractField, focusFirstError, formatPrice, generateCompleteStylesheet, generateId, generateThemeStylesheet, getFingerprint, getFocusableElements, getHighlightedValue, getLogger, getNestedValue, getSnippetedValue, getTheme, handleKeyboardNavigation, highContrastThemeVariables, highlightQuery, injectStyles, lightThemeVariables, log, mergeThemes, minimalThemeVariables, parseHighlightedParts, parseQueryHighlightParts, prefersHighContrast, prefersReducedMotion, setAriaDescribedBy, setDefaultLogger, setLogLevel, setLogPrefix, setLogTimestamp, setTheme, stripHighlightTags, themeToCSSVariables };
576
+ export type { CSSVariablesConfig, FingerprintComponents, FingerprintConfig, FingerprintResult, HighlightOptions, HighlightPart, KeyboardNavigationOptions, KeyboardShortcut, LoggerConfig, Refinement, SearchState, SearchStateManagerConfig, SnippetOptions, URLRouterConfig, URLStateMapping };