@seekora-ai/search-sdk 0.2.6 → 0.2.8
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/cdn/seekora-sdk.js +30 -19
- package/cdn/seekora-sdk.min.js +12 -12
- package/dist/client.d.ts +130 -0
- package/dist/client.js +199 -5
- package/dist/generated/api.d.ts +33029 -8906
- package/dist/generated/api.js +46824 -1681
- package/dist/index.d.ts +1 -0
- package/dist/index.js +14 -1
- package/dist/ui-components.d.ts +74 -0
- package/dist/ui-components.js +165 -0
- package/package.json +1 -1
- package/dist/src/cdn.d.ts +0 -16
- package/dist/src/cdn.js +0 -26
- package/dist/src/client.d.ts +0 -709
- package/dist/src/client.js +0 -1548
- package/dist/src/config-loader.d.ts +0 -43
- package/dist/src/config-loader.js +0 -147
- package/dist/src/config.d.ts +0 -22
- package/dist/src/config.js +0 -58
- package/dist/src/context-collector.d.ts +0 -273
- package/dist/src/context-collector.js +0 -868
- package/dist/src/event-queue.d.ts +0 -195
- package/dist/src/event-queue.js +0 -424
- package/dist/src/index.d.ts +0 -14
- package/dist/src/index.js +0 -48
- package/dist/src/logger.d.ts +0 -61
- package/dist/src/logger.js +0 -172
- package/dist/src/utils.d.ts +0 -20
- package/dist/src/utils.js +0 -73
package/dist/src/logger.d.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Seekora SDK Logger
|
|
3
|
-
*
|
|
4
|
-
* Provides structured logging with configurable levels:
|
|
5
|
-
* - VERBOSE: Detailed debugging information
|
|
6
|
-
* - INFO: General informational messages (default)
|
|
7
|
-
* - WARN: Warning messages
|
|
8
|
-
* - ERROR: Error messages
|
|
9
|
-
* - SILENT: No logging
|
|
10
|
-
*
|
|
11
|
-
* Configurable via SEEKORA_LOG_LEVEL environment variable
|
|
12
|
-
*/
|
|
13
|
-
export type LogLevel = 'verbose' | 'info' | 'warn' | 'error' | 'silent';
|
|
14
|
-
export interface LoggerConfig {
|
|
15
|
-
level?: LogLevel;
|
|
16
|
-
enableConsole?: boolean;
|
|
17
|
-
enableFile?: boolean;
|
|
18
|
-
filePath?: string;
|
|
19
|
-
format?: 'json' | 'text';
|
|
20
|
-
enableTimestamp?: boolean;
|
|
21
|
-
prefix?: string;
|
|
22
|
-
enablePrefix?: boolean;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Get log level from environment variable or default
|
|
26
|
-
*/
|
|
27
|
-
export declare function getLogLevelFromEnv(): LogLevel;
|
|
28
|
-
/**
|
|
29
|
-
* Logger implementation with configurable levels and formatting
|
|
30
|
-
*/
|
|
31
|
-
export declare class Logger {
|
|
32
|
-
private level;
|
|
33
|
-
private levelValue;
|
|
34
|
-
private enableConsole;
|
|
35
|
-
private enableFile;
|
|
36
|
-
private filePath?;
|
|
37
|
-
private format;
|
|
38
|
-
private enableTimestamp;
|
|
39
|
-
private prefix;
|
|
40
|
-
private enablePrefix;
|
|
41
|
-
constructor(config?: LoggerConfig);
|
|
42
|
-
private shouldLog;
|
|
43
|
-
private formatMessage;
|
|
44
|
-
private write;
|
|
45
|
-
verbose(message: string, meta?: any): void;
|
|
46
|
-
info(message: string, meta?: any): void;
|
|
47
|
-
warn(message: string, meta?: any): void;
|
|
48
|
-
error(message: string, meta?: any): void;
|
|
49
|
-
debug(message: string, meta?: any): void;
|
|
50
|
-
fatal(message: string, meta?: any): void;
|
|
51
|
-
setLevel(level: LogLevel): void;
|
|
52
|
-
getLevel(): LogLevel;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Create a logger instance
|
|
56
|
-
*/
|
|
57
|
-
export declare function createLogger(config?: LoggerConfig): Logger;
|
|
58
|
-
/**
|
|
59
|
-
* Default logger instance
|
|
60
|
-
*/
|
|
61
|
-
export declare const defaultLogger: Logger;
|
package/dist/src/logger.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Seekora SDK Logger
|
|
4
|
-
*
|
|
5
|
-
* Provides structured logging with configurable levels:
|
|
6
|
-
* - VERBOSE: Detailed debugging information
|
|
7
|
-
* - INFO: General informational messages (default)
|
|
8
|
-
* - WARN: Warning messages
|
|
9
|
-
* - ERROR: Error messages
|
|
10
|
-
* - SILENT: No logging
|
|
11
|
-
*
|
|
12
|
-
* Configurable via SEEKORA_LOG_LEVEL environment variable
|
|
13
|
-
*/
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.defaultLogger = exports.Logger = void 0;
|
|
16
|
-
exports.getLogLevelFromEnv = getLogLevelFromEnv;
|
|
17
|
-
exports.createLogger = createLogger;
|
|
18
|
-
const LOG_LEVELS = {
|
|
19
|
-
verbose: 0,
|
|
20
|
-
info: 1,
|
|
21
|
-
warn: 2,
|
|
22
|
-
error: 3,
|
|
23
|
-
silent: 4,
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Get log level from environment variable or default
|
|
27
|
-
*/
|
|
28
|
-
function getLogLevelFromEnv() {
|
|
29
|
-
let envLevel;
|
|
30
|
-
// Try to get from process.env (Node.js) or window (browser)
|
|
31
|
-
if (typeof process !== 'undefined' && process.env) {
|
|
32
|
-
envLevel = process.env.SEEKORA_LOG_LEVEL?.toLowerCase();
|
|
33
|
-
}
|
|
34
|
-
else if (typeof window !== 'undefined' && window.SEEKORA_LOG_LEVEL) {
|
|
35
|
-
envLevel = String(window.SEEKORA_LOG_LEVEL).toLowerCase();
|
|
36
|
-
}
|
|
37
|
-
// Support both old and new level names
|
|
38
|
-
const levelMap = {
|
|
39
|
-
'verbose': 'verbose',
|
|
40
|
-
'info': 'info',
|
|
41
|
-
'warn': 'warn',
|
|
42
|
-
'warning': 'warn',
|
|
43
|
-
'error': 'error',
|
|
44
|
-
'silent': 'silent',
|
|
45
|
-
// Legacy support
|
|
46
|
-
'debug': 'verbose',
|
|
47
|
-
'fatal': 'error',
|
|
48
|
-
};
|
|
49
|
-
if (envLevel && levelMap[envLevel]) {
|
|
50
|
-
return levelMap[envLevel];
|
|
51
|
-
}
|
|
52
|
-
// Default: INFO in production, VERBOSE in debug mode
|
|
53
|
-
const nodeEnv = typeof process !== 'undefined' && process.env
|
|
54
|
-
? process.env.NODE_ENV
|
|
55
|
-
: undefined;
|
|
56
|
-
const debug = typeof process !== 'undefined' && process.env
|
|
57
|
-
? process.env.DEBUG
|
|
58
|
-
: undefined;
|
|
59
|
-
if (nodeEnv === 'development' || debug) {
|
|
60
|
-
return 'verbose';
|
|
61
|
-
}
|
|
62
|
-
return 'info';
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Logger implementation with configurable levels and formatting
|
|
66
|
-
*/
|
|
67
|
-
class Logger {
|
|
68
|
-
constructor(config = {}) {
|
|
69
|
-
this.level = config.level || getLogLevelFromEnv();
|
|
70
|
-
this.levelValue = LOG_LEVELS[this.level];
|
|
71
|
-
this.enableConsole = config.enableConsole !== false;
|
|
72
|
-
this.enableFile = config.enableFile || false;
|
|
73
|
-
this.filePath = config.filePath;
|
|
74
|
-
this.format = config.format || 'text';
|
|
75
|
-
this.enableTimestamp = config.enableTimestamp !== false;
|
|
76
|
-
this.prefix = config.prefix || '[Seekora SDK]';
|
|
77
|
-
this.enablePrefix = config.enablePrefix !== false;
|
|
78
|
-
}
|
|
79
|
-
shouldLog(level) {
|
|
80
|
-
if (this.level === 'silent') {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
return LOG_LEVELS[level] >= this.levelValue;
|
|
84
|
-
}
|
|
85
|
-
formatMessage(level, message, meta) {
|
|
86
|
-
const parts = [];
|
|
87
|
-
// Add timestamp if enabled
|
|
88
|
-
if (this.enableTimestamp) {
|
|
89
|
-
const timestamp = new Date().toISOString();
|
|
90
|
-
parts.push(`[${timestamp}]`);
|
|
91
|
-
}
|
|
92
|
-
// Add prefix if enabled
|
|
93
|
-
if (this.enablePrefix && this.prefix) {
|
|
94
|
-
parts.push(this.prefix);
|
|
95
|
-
}
|
|
96
|
-
// Add log level
|
|
97
|
-
parts.push(`[${level.toUpperCase()}]`);
|
|
98
|
-
// Add message
|
|
99
|
-
parts.push(message);
|
|
100
|
-
// Add metadata if present
|
|
101
|
-
if (meta && Object.keys(meta).length > 0) {
|
|
102
|
-
if (this.format === 'json') {
|
|
103
|
-
return JSON.stringify({
|
|
104
|
-
timestamp: this.enableTimestamp ? new Date().toISOString() : undefined,
|
|
105
|
-
level,
|
|
106
|
-
message,
|
|
107
|
-
...meta,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
parts.push(JSON.stringify(meta, null, 2));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return parts.join(' ');
|
|
115
|
-
}
|
|
116
|
-
write(level, message, meta) {
|
|
117
|
-
if (!this.shouldLog(level)) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
const formatted = this.formatMessage(level, message, meta);
|
|
121
|
-
if (this.enableConsole) {
|
|
122
|
-
const consoleMethod = level === 'error'
|
|
123
|
-
? console.error
|
|
124
|
-
: level === 'warn'
|
|
125
|
-
? console.warn
|
|
126
|
-
: console.log;
|
|
127
|
-
consoleMethod(formatted);
|
|
128
|
-
}
|
|
129
|
-
if (this.enableFile && this.filePath) {
|
|
130
|
-
// File logging would require fs module
|
|
131
|
-
// In production, you might want to use winston or similar
|
|
132
|
-
// For now, we'll just log to console
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
verbose(message, meta) {
|
|
136
|
-
this.write('verbose', message, meta);
|
|
137
|
-
}
|
|
138
|
-
info(message, meta) {
|
|
139
|
-
this.write('info', message, meta);
|
|
140
|
-
}
|
|
141
|
-
warn(message, meta) {
|
|
142
|
-
this.write('warn', message, meta);
|
|
143
|
-
}
|
|
144
|
-
error(message, meta) {
|
|
145
|
-
this.write('error', message, meta);
|
|
146
|
-
}
|
|
147
|
-
// Legacy support methods
|
|
148
|
-
debug(message, meta) {
|
|
149
|
-
this.verbose(message, meta);
|
|
150
|
-
}
|
|
151
|
-
fatal(message, meta) {
|
|
152
|
-
this.error(message, meta);
|
|
153
|
-
}
|
|
154
|
-
setLevel(level) {
|
|
155
|
-
this.level = level;
|
|
156
|
-
this.levelValue = LOG_LEVELS[level];
|
|
157
|
-
}
|
|
158
|
-
getLevel() {
|
|
159
|
-
return this.level;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
exports.Logger = Logger;
|
|
163
|
-
/**
|
|
164
|
-
* Create a logger instance
|
|
165
|
-
*/
|
|
166
|
-
function createLogger(config) {
|
|
167
|
-
return new Logger(config);
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Default logger instance
|
|
171
|
-
*/
|
|
172
|
-
exports.defaultLogger = createLogger();
|
package/dist/src/utils.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility functions for the Seekora SDK
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Generate a UUID v4
|
|
6
|
-
* Uses crypto.randomUUID() if available, otherwise falls back to manual generation
|
|
7
|
-
*/
|
|
8
|
-
export declare function generateUUID(): string;
|
|
9
|
-
/**
|
|
10
|
-
* Get or create anonymous ID from storage
|
|
11
|
-
* In browser: uses localStorage
|
|
12
|
-
* In Node.js: uses a simple in-memory store (consider file-based storage for production)
|
|
13
|
-
*/
|
|
14
|
-
export declare function getOrCreateAnonId(): string;
|
|
15
|
-
/**
|
|
16
|
-
* Get or create session ID
|
|
17
|
-
* In browser: uses sessionStorage
|
|
18
|
-
* In Node.js: uses a simple in-memory store (session ends when process ends)
|
|
19
|
-
*/
|
|
20
|
-
export declare function getOrCreateSessionId(): string;
|
package/dist/src/utils.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Utility functions for the Seekora SDK
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generateUUID = generateUUID;
|
|
7
|
-
exports.getOrCreateAnonId = getOrCreateAnonId;
|
|
8
|
-
exports.getOrCreateSessionId = getOrCreateSessionId;
|
|
9
|
-
// Browser environment types are handled via typeof checks and type assertions
|
|
10
|
-
/**
|
|
11
|
-
* Generate a UUID v4
|
|
12
|
-
* Uses crypto.randomUUID() if available, otherwise falls back to manual generation
|
|
13
|
-
*/
|
|
14
|
-
function generateUUID() {
|
|
15
|
-
// Use native crypto.randomUUID() if available (Node.js 14.17+, modern browsers)
|
|
16
|
-
if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {
|
|
17
|
-
return crypto.randomUUID();
|
|
18
|
-
}
|
|
19
|
-
// Fallback for older environments
|
|
20
|
-
// Simplified UUID v4 generation
|
|
21
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
22
|
-
const r = Math.random() * 16 | 0;
|
|
23
|
-
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
24
|
-
return v.toString(16);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get or create anonymous ID from storage
|
|
29
|
-
* In browser: uses localStorage
|
|
30
|
-
* In Node.js: uses a simple in-memory store (consider file-based storage for production)
|
|
31
|
-
*/
|
|
32
|
-
function getOrCreateAnonId() {
|
|
33
|
-
// Check for browser environment
|
|
34
|
-
if (typeof window !== 'undefined' && window?.localStorage) {
|
|
35
|
-
const key = 'seekora_anon_id';
|
|
36
|
-
const storage = window.localStorage;
|
|
37
|
-
let anonId = storage.getItem(key);
|
|
38
|
-
if (!anonId) {
|
|
39
|
-
anonId = generateUUID();
|
|
40
|
-
storage.setItem(key, anonId);
|
|
41
|
-
}
|
|
42
|
-
return anonId;
|
|
43
|
-
}
|
|
44
|
-
// Node.js environment - use in-memory storage
|
|
45
|
-
// For production Node.js apps, consider using a file-based storage
|
|
46
|
-
if (!global.__seekora_anon_id) {
|
|
47
|
-
global.__seekora_anon_id = generateUUID();
|
|
48
|
-
}
|
|
49
|
-
return global.__seekora_anon_id;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get or create session ID
|
|
53
|
-
* In browser: uses sessionStorage
|
|
54
|
-
* In Node.js: uses a simple in-memory store (session ends when process ends)
|
|
55
|
-
*/
|
|
56
|
-
function getOrCreateSessionId() {
|
|
57
|
-
// Check for browser environment
|
|
58
|
-
if (typeof window !== 'undefined' && window?.sessionStorage) {
|
|
59
|
-
const key = 'seekora_session_id';
|
|
60
|
-
const storage = window.sessionStorage;
|
|
61
|
-
let sessionId = storage.getItem(key);
|
|
62
|
-
if (!sessionId) {
|
|
63
|
-
sessionId = generateUUID();
|
|
64
|
-
storage.setItem(key, sessionId);
|
|
65
|
-
}
|
|
66
|
-
return sessionId;
|
|
67
|
-
}
|
|
68
|
-
// Node.js environment - use in-memory storage
|
|
69
|
-
if (!global.__seekora_session_id) {
|
|
70
|
-
global.__seekora_session_id = generateUUID();
|
|
71
|
-
}
|
|
72
|
-
return global.__seekora_session_id;
|
|
73
|
-
}
|