@nxuss/lemma 0.2.1 → 0.3.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/README.md +50 -5
- package/dist/cjs/api/dashboardRoutes.d.ts +28 -0
- package/dist/cjs/api/dashboardRoutes.d.ts.map +1 -0
- package/dist/cjs/api/dashboardRoutes.js +239 -0
- package/dist/cjs/api/dashboardRoutes.js.map +1 -0
- package/dist/cjs/api/server.d.ts +51 -0
- package/dist/cjs/api/server.d.ts.map +1 -0
- package/dist/cjs/api/server.js +166 -0
- package/dist/cjs/api/server.js.map +1 -0
- package/dist/cjs/core/AgentRegistry.d.ts +4 -0
- package/dist/cjs/core/AgentRegistry.d.ts.map +1 -1
- package/dist/cjs/core/AgentRegistry.js +6 -0
- package/dist/cjs/core/AgentRegistry.js.map +1 -1
- package/dist/cjs/core/DashboardWebSocketServer.d.ts +70 -0
- package/dist/cjs/core/DashboardWebSocketServer.d.ts.map +1 -0
- package/dist/cjs/core/DashboardWebSocketServer.js +211 -0
- package/dist/cjs/core/DashboardWebSocketServer.js.map +1 -0
- package/dist/cjs/core/OrchestrationEngine.d.ts +22 -0
- package/dist/cjs/core/OrchestrationEngine.d.ts.map +1 -1
- package/dist/cjs/core/OrchestrationEngine.js +98 -0
- package/dist/cjs/core/OrchestrationEngine.js.map +1 -1
- package/dist/cjs/core/SubconsciousEngine.d.ts +24 -0
- package/dist/cjs/core/SubconsciousEngine.d.ts.map +1 -1
- package/dist/cjs/core/SubconsciousEngine.js +110 -0
- package/dist/cjs/core/SubconsciousEngine.js.map +1 -1
- package/dist/cjs/core/WebSocketServer.d.ts.map +1 -1
- package/dist/cjs/core/WebSocketServer.js +4 -0
- package/dist/cjs/core/WebSocketServer.js.map +1 -1
- package/dist/cjs/db/database.d.ts +60 -0
- package/dist/cjs/db/database.d.ts.map +1 -0
- package/dist/cjs/db/database.js +297 -0
- package/dist/cjs/db/database.js.map +1 -0
- package/dist/cjs/db/migrations/001-dashboard-schema.d.ts +18 -0
- package/dist/cjs/db/migrations/001-dashboard-schema.d.ts.map +1 -0
- package/dist/cjs/db/migrations/001-dashboard-schema.js +175 -0
- package/dist/cjs/db/migrations/001-dashboard-schema.js.map +1 -0
- package/dist/cjs/embed/index.d.ts +1 -1
- package/dist/cjs/embed/index.d.ts.map +1 -1
- package/dist/cjs/embed/index.js +17 -9
- package/dist/cjs/embed/index.js.map +1 -1
- package/dist/cjs/proxy/Gatekeeper.d.ts +43 -0
- package/dist/cjs/proxy/Gatekeeper.d.ts.map +1 -0
- package/dist/cjs/proxy/Gatekeeper.js +202 -0
- package/dist/cjs/proxy/Gatekeeper.js.map +1 -0
- package/dist/cjs/proxy/KeyManager.d.ts +56 -0
- package/dist/cjs/proxy/KeyManager.d.ts.map +1 -0
- package/dist/cjs/proxy/KeyManager.js +220 -0
- package/dist/cjs/proxy/KeyManager.js.map +1 -0
- package/dist/cjs/proxy/ProjectStore.d.ts +84 -0
- package/dist/cjs/proxy/ProjectStore.d.ts.map +1 -0
- package/dist/cjs/proxy/ProjectStore.js +214 -0
- package/dist/cjs/proxy/ProjectStore.js.map +1 -0
- package/dist/cjs/proxy/SseRelay.d.ts +41 -0
- package/dist/cjs/proxy/SseRelay.d.ts.map +1 -0
- package/dist/cjs/proxy/SseRelay.js +176 -0
- package/dist/cjs/proxy/SseRelay.js.map +1 -0
- package/dist/esm/api/dashboardRoutes.d.ts +28 -0
- package/dist/esm/api/dashboardRoutes.d.ts.map +1 -0
- package/dist/esm/api/dashboardRoutes.js +236 -0
- package/dist/esm/api/dashboardRoutes.js.map +1 -0
- package/dist/esm/api/server.d.ts +51 -0
- package/dist/esm/api/server.d.ts.map +1 -0
- package/dist/esm/api/server.js +159 -0
- package/dist/esm/api/server.js.map +1 -0
- package/dist/esm/core/AgentRegistry.d.ts +4 -0
- package/dist/esm/core/AgentRegistry.d.ts.map +1 -1
- package/dist/esm/core/AgentRegistry.js +6 -0
- package/dist/esm/core/AgentRegistry.js.map +1 -1
- package/dist/esm/core/DashboardWebSocketServer.d.ts +70 -0
- package/dist/esm/core/DashboardWebSocketServer.d.ts.map +1 -0
- package/dist/esm/core/DashboardWebSocketServer.js +207 -0
- package/dist/esm/core/DashboardWebSocketServer.js.map +1 -0
- package/dist/esm/core/OrchestrationEngine.d.ts +22 -0
- package/dist/esm/core/OrchestrationEngine.d.ts.map +1 -1
- package/dist/esm/core/OrchestrationEngine.js +98 -0
- package/dist/esm/core/OrchestrationEngine.js.map +1 -1
- package/dist/esm/core/SubconsciousEngine.d.ts +24 -0
- package/dist/esm/core/SubconsciousEngine.d.ts.map +1 -1
- package/dist/esm/core/SubconsciousEngine.js +110 -0
- package/dist/esm/core/SubconsciousEngine.js.map +1 -1
- package/dist/esm/core/WebSocketServer.d.ts.map +1 -1
- package/dist/esm/core/WebSocketServer.js +4 -0
- package/dist/esm/core/WebSocketServer.js.map +1 -1
- package/dist/esm/db/database.d.ts +60 -0
- package/dist/esm/db/database.d.ts.map +1 -0
- package/dist/esm/db/database.js +293 -0
- package/dist/esm/db/database.js.map +1 -0
- package/dist/esm/db/migrations/001-dashboard-schema.d.ts +18 -0
- package/dist/esm/db/migrations/001-dashboard-schema.d.ts.map +1 -0
- package/dist/esm/db/migrations/001-dashboard-schema.js +172 -0
- package/dist/esm/db/migrations/001-dashboard-schema.js.map +1 -0
- package/dist/esm/embed/index.d.ts +1 -1
- package/dist/esm/embed/index.d.ts.map +1 -1
- package/dist/esm/embed/index.js +17 -9
- package/dist/esm/embed/index.js.map +1 -1
- package/dist/esm/proxy/Gatekeeper.d.ts +43 -0
- package/dist/esm/proxy/Gatekeeper.d.ts.map +1 -0
- package/dist/esm/proxy/Gatekeeper.js +165 -0
- package/dist/esm/proxy/Gatekeeper.js.map +1 -0
- package/dist/esm/proxy/KeyManager.d.ts +56 -0
- package/dist/esm/proxy/KeyManager.d.ts.map +1 -0
- package/dist/esm/proxy/KeyManager.js +213 -0
- package/dist/esm/proxy/KeyManager.js.map +1 -0
- package/dist/esm/proxy/ProjectStore.d.ts +84 -0
- package/dist/esm/proxy/ProjectStore.d.ts.map +1 -0
- package/dist/esm/proxy/ProjectStore.js +207 -0
- package/dist/esm/proxy/ProjectStore.js.map +1 -0
- package/dist/esm/proxy/SseRelay.d.ts +41 -0
- package/dist/esm/proxy/SseRelay.d.ts.map +1 -0
- package/dist/esm/proxy/SseRelay.js +169 -0
- package/dist/esm/proxy/SseRelay.js.map +1 -0
- package/lemma-proxy.js +810 -0
- package/package.json +17 -3
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard Database Schema
|
|
3
|
+
* PostgreSQL tables for dashboard metrics and cache history
|
|
4
|
+
*
|
|
5
|
+
* Migration file: Create tables for metrics and cache history tracking
|
|
6
|
+
*/
|
|
7
|
+
export declare const UP_SQL = "\n-- Metrics History Table\n-- Stores hourly snapshots of dashboard metrics\nCREATE TABLE IF NOT EXISTS metrics_history (\n id SERIAL PRIMARY KEY,\n timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n total_requests BIGINT NOT NULL DEFAULT 0,\n cache_hits BIGINT NOT NULL DEFAULT 0,\n cache_misses BIGINT NOT NULL DEFAULT 0,\n hit_rate FLOAT NOT NULL DEFAULT 0,\n average_latency FLOAT NOT NULL DEFAULT 0,\n tokens_saved BIGINT NOT NULL DEFAULT 0,\n cost_saved FLOAT NOT NULL DEFAULT 0,\n active_agents INT NOT NULL DEFAULT 0,\n total_agents INT NOT NULL DEFAULT 0,\n uptime_ms BIGINT NOT NULL DEFAULT 0,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\n-- Agent History Table\n-- Tracks agent status changes and activity over time\nCREATE TABLE IF NOT EXISTS agent_history (\n id SERIAL PRIMARY KEY,\n agent_id VARCHAR(255) NOT NULL,\n agent_name VARCHAR(255) NOT NULL,\n status VARCHAR(50) NOT NULL, -- 'active', 'idle', 'error'\n tasks_completed INT NOT NULL DEFAULT 0,\n error_count INT NOT NULL DEFAULT 0,\n cache_hit_rate FLOAT NOT NULL DEFAULT 0,\n last_seen TIMESTAMP NOT NULL,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE\n);\n\n-- Cache Entries Archive Table\n-- Archives of cached queries and their performance metrics\nCREATE TABLE IF NOT EXISTS cache_entries_archive (\n id SERIAL PRIMARY KEY,\n query_hash VARCHAR(64) NOT NULL UNIQUE,\n query_text TEXT NOT NULL,\n response_hash VARCHAR(64),\n tokens_saved BIGINT NOT NULL DEFAULT 0,\n hit_count INT NOT NULL DEFAULT 0,\n total_tokens INT NOT NULL DEFAULT 0,\n cost_saved FLOAT NOT NULL DEFAULT 0,\n first_cached TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n last_hit TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\n-- Event Log Table\n-- Real-time events from the orchestration engine\nCREATE TABLE IF NOT EXISTS event_log (\n id SERIAL PRIMARY KEY,\n event_id VARCHAR(255) UNIQUE NOT NULL,\n event_type VARCHAR(50) NOT NULL, -- 'cache_hit', 'cache_miss', 'agent_join', 'agent_leave', 'error'\n agent_id VARCHAR(255),\n query_hash VARCHAR(64),\n latency_ms INT,\n tokens_saved INT,\n cost_saved FLOAT,\n metadata JSONB,\n timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\n-- Indexes for performance\nCREATE INDEX IF NOT EXISTS idx_metrics_history_timestamp ON metrics_history(timestamp DESC);\nCREATE INDEX IF NOT EXISTS idx_metrics_history_created ON metrics_history(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_agent_history_agent_id ON agent_history(agent_id);\nCREATE INDEX IF NOT EXISTS idx_agent_history_timestamp ON agent_history(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_cache_entries_query_hash ON cache_entries_archive(query_hash);\nCREATE INDEX IF NOT EXISTS idx_cache_entries_last_hit ON cache_entries_archive(last_hit DESC);\nCREATE INDEX IF NOT EXISTS idx_event_log_timestamp ON event_log(timestamp DESC);\nCREATE INDEX IF NOT EXISTS idx_event_log_type ON event_log(event_type);\nCREATE INDEX IF NOT EXISTS idx_event_log_agent_id ON event_log(agent_id);\n\n-- Retention Policy View\n-- Returns records older than 30 days for cleanup\nCREATE OR REPLACE VIEW stale_records AS\nSELECT \n 'metrics_history' as table_name,\n id,\n created_at\nFROM metrics_history\nWHERE created_at < NOW() - INTERVAL '30 days'\nUNION ALL\nSELECT \n 'agent_history' as table_name,\n id,\n created_at\nFROM agent_history\nWHERE created_at < NOW() - INTERVAL '30 days'\nUNION ALL\nSELECT \n 'cache_entries_archive' as table_name,\n id,\n created_at\nFROM cache_entries_archive\nWHERE created_at < NOW() - INTERVAL '30 days'\nUNION ALL\nSELECT \n 'event_log' as table_name,\n id,\n created_at\nFROM event_log\nWHERE created_at < NOW() - INTERVAL '30 days';\n";
|
|
8
|
+
export declare const DOWN_SQL = "\n-- Rollback: Drop all tables and views\nDROP VIEW IF EXISTS stale_records;\nDROP TABLE IF EXISTS event_log;\nDROP TABLE IF EXISTS cache_entries_archive;\nDROP TABLE IF EXISTS agent_history;\nDROP TABLE IF EXISTS metrics_history;\n";
|
|
9
|
+
/**
|
|
10
|
+
* Cleanup function to remove records older than 30 days
|
|
11
|
+
* Should be run as a cron job (e.g., daily)
|
|
12
|
+
*/
|
|
13
|
+
export declare const CLEANUP_SQL = "\n-- Delete stale metrics\nDELETE FROM metrics_history\nWHERE created_at < NOW() - INTERVAL '30 days';\n\n-- Delete stale agent history\nDELETE FROM agent_history\nWHERE created_at < NOW() - INTERVAL '30 days';\n\n-- Delete stale cache entries\nDELETE FROM cache_entries_archive\nWHERE created_at < NOW() - INTERVAL '30 days';\n\n-- Delete stale events\nDELETE FROM event_log\nWHERE created_at < NOW() - INTERVAL '30 days';\n";
|
|
14
|
+
/**
|
|
15
|
+
* Sample seed data for testing
|
|
16
|
+
*/
|
|
17
|
+
export declare const SEED_DATA_SQL = "\n-- Insert sample metrics\nINSERT INTO metrics_history (\n total_requests, cache_hits, cache_misses, hit_rate, \n average_latency, tokens_saved, cost_saved, active_agents, total_agents, uptime_ms\n) VALUES\n (1000, 750, 250, 0.75, 45.5, 50000, 120.50, 5, 10, 3600000),\n (2000, 1600, 400, 0.8, 42.3, 85000, 210.75, 8, 10, 7200000),\n (3000, 2550, 450, 0.85, 38.9, 135000, 345.80, 10, 10, 10800000);\n\n-- Insert sample cache entries\nINSERT INTO cache_entries_archive (\n query_hash, query_text, tokens_saved, hit_count, total_tokens, cost_saved\n) VALUES\n ('qh_001', 'What is machine learning?', 4200, 156, 28800, 24.50),\n ('qh_002', 'How to implement LLM caching?', 3150, 98, 30900, 18.90),\n ('qh_003', 'Explain neural networks', 2800, 87, 24360, 16.80);\n\n-- Insert sample events\nINSERT INTO event_log (event_id, event_type, agent_id, query_hash, latency_ms, tokens_saved, cost_saved) VALUES\n ('evt_001', 'cache_hit', 'agent_001', 'qh_001', 25, 4200, 24.50),\n ('evt_002', 'cache_miss', 'agent_002', 'qh_002', 450, 0, 0),\n ('evt_003', 'agent_join', 'agent_003', NULL, NULL, NULL, NULL),\n ('evt_004', 'agent_leave', 'agent_001', NULL, NULL, NULL, NULL);\n";
|
|
18
|
+
//# sourceMappingURL=001-dashboard-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"001-dashboard-schema.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/001-dashboard-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,MAAM,4wHA2GlB,CAAC;AAEF,eAAO,MAAM,QAAQ,6OAOpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,8aAgBvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,gqCAwBzB,CAAC"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard Database Schema
|
|
3
|
+
* PostgreSQL tables for dashboard metrics and cache history
|
|
4
|
+
*
|
|
5
|
+
* Migration file: Create tables for metrics and cache history tracking
|
|
6
|
+
*/
|
|
7
|
+
export const UP_SQL = `
|
|
8
|
+
-- Metrics History Table
|
|
9
|
+
-- Stores hourly snapshots of dashboard metrics
|
|
10
|
+
CREATE TABLE IF NOT EXISTS metrics_history (
|
|
11
|
+
id SERIAL PRIMARY KEY,
|
|
12
|
+
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
13
|
+
total_requests BIGINT NOT NULL DEFAULT 0,
|
|
14
|
+
cache_hits BIGINT NOT NULL DEFAULT 0,
|
|
15
|
+
cache_misses BIGINT NOT NULL DEFAULT 0,
|
|
16
|
+
hit_rate FLOAT NOT NULL DEFAULT 0,
|
|
17
|
+
average_latency FLOAT NOT NULL DEFAULT 0,
|
|
18
|
+
tokens_saved BIGINT NOT NULL DEFAULT 0,
|
|
19
|
+
cost_saved FLOAT NOT NULL DEFAULT 0,
|
|
20
|
+
active_agents INT NOT NULL DEFAULT 0,
|
|
21
|
+
total_agents INT NOT NULL DEFAULT 0,
|
|
22
|
+
uptime_ms BIGINT NOT NULL DEFAULT 0,
|
|
23
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
-- Agent History Table
|
|
27
|
+
-- Tracks agent status changes and activity over time
|
|
28
|
+
CREATE TABLE IF NOT EXISTS agent_history (
|
|
29
|
+
id SERIAL PRIMARY KEY,
|
|
30
|
+
agent_id VARCHAR(255) NOT NULL,
|
|
31
|
+
agent_name VARCHAR(255) NOT NULL,
|
|
32
|
+
status VARCHAR(50) NOT NULL, -- 'active', 'idle', 'error'
|
|
33
|
+
tasks_completed INT NOT NULL DEFAULT 0,
|
|
34
|
+
error_count INT NOT NULL DEFAULT 0,
|
|
35
|
+
cache_hit_rate FLOAT NOT NULL DEFAULT 0,
|
|
36
|
+
last_seen TIMESTAMP NOT NULL,
|
|
37
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
38
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
-- Cache Entries Archive Table
|
|
42
|
+
-- Archives of cached queries and their performance metrics
|
|
43
|
+
CREATE TABLE IF NOT EXISTS cache_entries_archive (
|
|
44
|
+
id SERIAL PRIMARY KEY,
|
|
45
|
+
query_hash VARCHAR(64) NOT NULL UNIQUE,
|
|
46
|
+
query_text TEXT NOT NULL,
|
|
47
|
+
response_hash VARCHAR(64),
|
|
48
|
+
tokens_saved BIGINT NOT NULL DEFAULT 0,
|
|
49
|
+
hit_count INT NOT NULL DEFAULT 0,
|
|
50
|
+
total_tokens INT NOT NULL DEFAULT 0,
|
|
51
|
+
cost_saved FLOAT NOT NULL DEFAULT 0,
|
|
52
|
+
first_cached TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
53
|
+
last_hit TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
54
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
-- Event Log Table
|
|
58
|
+
-- Real-time events from the orchestration engine
|
|
59
|
+
CREATE TABLE IF NOT EXISTS event_log (
|
|
60
|
+
id SERIAL PRIMARY KEY,
|
|
61
|
+
event_id VARCHAR(255) UNIQUE NOT NULL,
|
|
62
|
+
event_type VARCHAR(50) NOT NULL, -- 'cache_hit', 'cache_miss', 'agent_join', 'agent_leave', 'error'
|
|
63
|
+
agent_id VARCHAR(255),
|
|
64
|
+
query_hash VARCHAR(64),
|
|
65
|
+
latency_ms INT,
|
|
66
|
+
tokens_saved INT,
|
|
67
|
+
cost_saved FLOAT,
|
|
68
|
+
metadata JSONB,
|
|
69
|
+
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
70
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
-- Indexes for performance
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_metrics_history_timestamp ON metrics_history(timestamp DESC);
|
|
75
|
+
CREATE INDEX IF NOT EXISTS idx_metrics_history_created ON metrics_history(created_at DESC);
|
|
76
|
+
CREATE INDEX IF NOT EXISTS idx_agent_history_agent_id ON agent_history(agent_id);
|
|
77
|
+
CREATE INDEX IF NOT EXISTS idx_agent_history_timestamp ON agent_history(created_at DESC);
|
|
78
|
+
CREATE INDEX IF NOT EXISTS idx_cache_entries_query_hash ON cache_entries_archive(query_hash);
|
|
79
|
+
CREATE INDEX IF NOT EXISTS idx_cache_entries_last_hit ON cache_entries_archive(last_hit DESC);
|
|
80
|
+
CREATE INDEX IF NOT EXISTS idx_event_log_timestamp ON event_log(timestamp DESC);
|
|
81
|
+
CREATE INDEX IF NOT EXISTS idx_event_log_type ON event_log(event_type);
|
|
82
|
+
CREATE INDEX IF NOT EXISTS idx_event_log_agent_id ON event_log(agent_id);
|
|
83
|
+
|
|
84
|
+
-- Retention Policy View
|
|
85
|
+
-- Returns records older than 30 days for cleanup
|
|
86
|
+
CREATE OR REPLACE VIEW stale_records AS
|
|
87
|
+
SELECT
|
|
88
|
+
'metrics_history' as table_name,
|
|
89
|
+
id,
|
|
90
|
+
created_at
|
|
91
|
+
FROM metrics_history
|
|
92
|
+
WHERE created_at < NOW() - INTERVAL '30 days'
|
|
93
|
+
UNION ALL
|
|
94
|
+
SELECT
|
|
95
|
+
'agent_history' as table_name,
|
|
96
|
+
id,
|
|
97
|
+
created_at
|
|
98
|
+
FROM agent_history
|
|
99
|
+
WHERE created_at < NOW() - INTERVAL '30 days'
|
|
100
|
+
UNION ALL
|
|
101
|
+
SELECT
|
|
102
|
+
'cache_entries_archive' as table_name,
|
|
103
|
+
id,
|
|
104
|
+
created_at
|
|
105
|
+
FROM cache_entries_archive
|
|
106
|
+
WHERE created_at < NOW() - INTERVAL '30 days'
|
|
107
|
+
UNION ALL
|
|
108
|
+
SELECT
|
|
109
|
+
'event_log' as table_name,
|
|
110
|
+
id,
|
|
111
|
+
created_at
|
|
112
|
+
FROM event_log
|
|
113
|
+
WHERE created_at < NOW() - INTERVAL '30 days';
|
|
114
|
+
`;
|
|
115
|
+
export const DOWN_SQL = `
|
|
116
|
+
-- Rollback: Drop all tables and views
|
|
117
|
+
DROP VIEW IF EXISTS stale_records;
|
|
118
|
+
DROP TABLE IF EXISTS event_log;
|
|
119
|
+
DROP TABLE IF EXISTS cache_entries_archive;
|
|
120
|
+
DROP TABLE IF EXISTS agent_history;
|
|
121
|
+
DROP TABLE IF EXISTS metrics_history;
|
|
122
|
+
`;
|
|
123
|
+
/**
|
|
124
|
+
* Cleanup function to remove records older than 30 days
|
|
125
|
+
* Should be run as a cron job (e.g., daily)
|
|
126
|
+
*/
|
|
127
|
+
export const CLEANUP_SQL = `
|
|
128
|
+
-- Delete stale metrics
|
|
129
|
+
DELETE FROM metrics_history
|
|
130
|
+
WHERE created_at < NOW() - INTERVAL '30 days';
|
|
131
|
+
|
|
132
|
+
-- Delete stale agent history
|
|
133
|
+
DELETE FROM agent_history
|
|
134
|
+
WHERE created_at < NOW() - INTERVAL '30 days';
|
|
135
|
+
|
|
136
|
+
-- Delete stale cache entries
|
|
137
|
+
DELETE FROM cache_entries_archive
|
|
138
|
+
WHERE created_at < NOW() - INTERVAL '30 days';
|
|
139
|
+
|
|
140
|
+
-- Delete stale events
|
|
141
|
+
DELETE FROM event_log
|
|
142
|
+
WHERE created_at < NOW() - INTERVAL '30 days';
|
|
143
|
+
`;
|
|
144
|
+
/**
|
|
145
|
+
* Sample seed data for testing
|
|
146
|
+
*/
|
|
147
|
+
export const SEED_DATA_SQL = `
|
|
148
|
+
-- Insert sample metrics
|
|
149
|
+
INSERT INTO metrics_history (
|
|
150
|
+
total_requests, cache_hits, cache_misses, hit_rate,
|
|
151
|
+
average_latency, tokens_saved, cost_saved, active_agents, total_agents, uptime_ms
|
|
152
|
+
) VALUES
|
|
153
|
+
(1000, 750, 250, 0.75, 45.5, 50000, 120.50, 5, 10, 3600000),
|
|
154
|
+
(2000, 1600, 400, 0.8, 42.3, 85000, 210.75, 8, 10, 7200000),
|
|
155
|
+
(3000, 2550, 450, 0.85, 38.9, 135000, 345.80, 10, 10, 10800000);
|
|
156
|
+
|
|
157
|
+
-- Insert sample cache entries
|
|
158
|
+
INSERT INTO cache_entries_archive (
|
|
159
|
+
query_hash, query_text, tokens_saved, hit_count, total_tokens, cost_saved
|
|
160
|
+
) VALUES
|
|
161
|
+
('qh_001', 'What is machine learning?', 4200, 156, 28800, 24.50),
|
|
162
|
+
('qh_002', 'How to implement LLM caching?', 3150, 98, 30900, 18.90),
|
|
163
|
+
('qh_003', 'Explain neural networks', 2800, 87, 24360, 16.80);
|
|
164
|
+
|
|
165
|
+
-- Insert sample events
|
|
166
|
+
INSERT INTO event_log (event_id, event_type, agent_id, query_hash, latency_ms, tokens_saved, cost_saved) VALUES
|
|
167
|
+
('evt_001', 'cache_hit', 'agent_001', 'qh_001', 25, 4200, 24.50),
|
|
168
|
+
('evt_002', 'cache_miss', 'agent_002', 'qh_002', 450, 0, 0),
|
|
169
|
+
('evt_003', 'agent_join', 'agent_003', NULL, NULL, NULL, NULL),
|
|
170
|
+
('evt_004', 'agent_leave', 'agent_001', NULL, NULL, NULL, NULL);
|
|
171
|
+
`;
|
|
172
|
+
//# sourceMappingURL=001-dashboard-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"001-dashboard-schema.js","sourceRoot":"","sources":["../../../../src/db/migrations/001-dashboard-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2GrB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;CAOvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;CAgB1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/embed/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/embed/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IAErD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAmzBD,qBAAa,KAAM,SAAQ,YAAY;IACrC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,OAAO,CAA2C;IAC1D,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO;IAKP;;;;;;;;;;;;;;;;;;;;OAoBG;WACU,MAAM,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;YAyB/C,IAAI;IAqIlB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,OAAO,EAC5C,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GACvC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAOpD;;;;;;;;;OASG;IACG,GAAG,CAAC,CAAC,EACT,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAmC1B;;;OAGG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAa1D;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD;;OAEG;IACH,UAAU,IAAI,YAAY;IAkC1B;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAO5F;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI;IAKZ,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,GAAG;CAGZ;AAcD,eAAe,KAAK,CAAC"}
|
package/dist/esm/embed/index.js
CHANGED
|
@@ -865,14 +865,19 @@ export class Lemma extends EventEmitter {
|
|
|
865
865
|
*/
|
|
866
866
|
getMetrics() {
|
|
867
867
|
const total = this.metrics.hits + this.metrics.misses;
|
|
868
|
-
|
|
869
|
-
// Determine backend health status
|
|
868
|
+
// Check if backend has getHealth method (ResilientBackend)
|
|
870
869
|
let backendHealth = 'healthy';
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
870
|
+
let failureCount = 0;
|
|
871
|
+
if (typeof this.backend.getHealth === 'function') {
|
|
872
|
+
const health = this.backend.getHealth();
|
|
873
|
+
// Determine backend health status
|
|
874
|
+
if (health.state === 'OPEN') {
|
|
875
|
+
backendHealth = 'down';
|
|
876
|
+
}
|
|
877
|
+
else if (health.state === 'HALF_OPEN' || health.currentBackend !== this.getStorageType()) {
|
|
878
|
+
backendHealth = 'degraded';
|
|
879
|
+
}
|
|
880
|
+
failureCount = health.totalFailures;
|
|
876
881
|
}
|
|
877
882
|
return {
|
|
878
883
|
hits: this.metrics.hits,
|
|
@@ -882,7 +887,7 @@ export class Lemma extends EventEmitter {
|
|
|
882
887
|
avgLatencyMs: total > 0 ? Math.round(this.metrics.totalLatency / total) : 0,
|
|
883
888
|
cacheSize: this.backend.size(),
|
|
884
889
|
backendHealth,
|
|
885
|
-
failureCount
|
|
890
|
+
failureCount,
|
|
886
891
|
evictedCount: 0, // Will be implemented per backend
|
|
887
892
|
lastCleanupAt: 0, // Will be implemented per backend
|
|
888
893
|
};
|
|
@@ -891,7 +896,10 @@ export class Lemma extends EventEmitter {
|
|
|
891
896
|
* Get backend health information.
|
|
892
897
|
*/
|
|
893
898
|
getBackendHealth() {
|
|
894
|
-
|
|
899
|
+
if (typeof this.backend.getHealth === 'function') {
|
|
900
|
+
return this.backend.getHealth();
|
|
901
|
+
}
|
|
902
|
+
return null;
|
|
895
903
|
}
|
|
896
904
|
/**
|
|
897
905
|
* Get the configured storage type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/embed/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/embed/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lemma Gatekeeper
|
|
3
|
+
*
|
|
4
|
+
* Picks the correct cache backend per request based on license tier:
|
|
5
|
+
* Standard (Free) → InMemoryExactBackend (exact-match, no embeddings)
|
|
6
|
+
* Pro (Paid) → SemanticBackendAdapter (vector similarity)
|
|
7
|
+
*
|
|
8
|
+
* Backend is evaluated per-request so activate takes effect immediately.
|
|
9
|
+
* Emits 'mode-changed' when the effective tier switches.
|
|
10
|
+
*/
|
|
11
|
+
import { EventEmitter } from 'events';
|
|
12
|
+
import { KeyManager } from './KeyManager';
|
|
13
|
+
export type CacheMode = 'standard' | 'pro';
|
|
14
|
+
export interface GatekeeperStatus {
|
|
15
|
+
mode: CacheMode;
|
|
16
|
+
semanticEnabled: boolean;
|
|
17
|
+
isPro: boolean;
|
|
18
|
+
licenseKey: string | null;
|
|
19
|
+
}
|
|
20
|
+
export interface CacheBackend {
|
|
21
|
+
set(key: string, input: string, data: any, ttl: number): Promise<void>;
|
|
22
|
+
findSimilar(input: string, threshold: number): Promise<{
|
|
23
|
+
data: any;
|
|
24
|
+
similarity: number;
|
|
25
|
+
} | null>;
|
|
26
|
+
size(): number;
|
|
27
|
+
clear(): void;
|
|
28
|
+
}
|
|
29
|
+
export declare class Gatekeeper extends EventEmitter {
|
|
30
|
+
private keyManager;
|
|
31
|
+
private lastMode;
|
|
32
|
+
private memBackend;
|
|
33
|
+
private semBackend;
|
|
34
|
+
private semInitialized;
|
|
35
|
+
constructor(keyManager: KeyManager);
|
|
36
|
+
getBackend(): Promise<CacheBackend>;
|
|
37
|
+
getMode(): CacheMode;
|
|
38
|
+
getStatus(): GatekeeperStatus;
|
|
39
|
+
reload(): void;
|
|
40
|
+
private getMemoryBackend;
|
|
41
|
+
private getSemanticBackend;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=Gatekeeper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Gatekeeper.d.ts","sourceRoot":"","sources":["../../../src/proxy/Gatekeeper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACjG,IAAI,IAAI,MAAM,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACf;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,cAAc,CAAS;gBAEnB,UAAU,EAAE,UAAU;IAK5B,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC;IAazC,OAAO,IAAI,SAAS;IAIpB,SAAS,IAAI,gBAAgB;IAK7B,MAAM,IAAI,IAAI;IAId,OAAO,CAAC,gBAAgB;YAKV,kBAAkB;CAejC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lemma Gatekeeper
|
|
3
|
+
*
|
|
4
|
+
* Picks the correct cache backend per request based on license tier:
|
|
5
|
+
* Standard (Free) → InMemoryExactBackend (exact-match, no embeddings)
|
|
6
|
+
* Pro (Paid) → SemanticBackendAdapter (vector similarity)
|
|
7
|
+
*
|
|
8
|
+
* Backend is evaluated per-request so activate takes effect immediately.
|
|
9
|
+
* Emits 'mode-changed' when the effective tier switches.
|
|
10
|
+
*/
|
|
11
|
+
import { EventEmitter } from 'events';
|
|
12
|
+
export class Gatekeeper extends EventEmitter {
|
|
13
|
+
constructor(keyManager) {
|
|
14
|
+
super();
|
|
15
|
+
this.lastMode = null;
|
|
16
|
+
this.memBackend = null;
|
|
17
|
+
this.semBackend = null;
|
|
18
|
+
this.semInitialized = false;
|
|
19
|
+
this.keyManager = keyManager;
|
|
20
|
+
}
|
|
21
|
+
async getBackend() {
|
|
22
|
+
const mode = this.getMode();
|
|
23
|
+
if (mode !== this.lastMode) {
|
|
24
|
+
const prev = this.lastMode;
|
|
25
|
+
this.lastMode = mode;
|
|
26
|
+
if (prev !== null) {
|
|
27
|
+
this.emit('mode-changed', { from: prev, to: mode });
|
|
28
|
+
console.log(`[Gatekeeper] Mode: ${prev} → ${mode}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return mode === 'pro' ? this.getSemanticBackend() : this.getMemoryBackend();
|
|
32
|
+
}
|
|
33
|
+
getMode() {
|
|
34
|
+
return this.keyManager.isPro() ? 'pro' : 'standard';
|
|
35
|
+
}
|
|
36
|
+
getStatus() {
|
|
37
|
+
const mode = this.getMode();
|
|
38
|
+
return { mode, semanticEnabled: mode === 'pro', isPro: mode === 'pro', licenseKey: this.keyManager.getLicenseKey() };
|
|
39
|
+
}
|
|
40
|
+
reload() {
|
|
41
|
+
this.keyManager.reload();
|
|
42
|
+
}
|
|
43
|
+
getMemoryBackend() {
|
|
44
|
+
if (!this.memBackend)
|
|
45
|
+
this.memBackend = new InMemoryExactBackend();
|
|
46
|
+
return this.memBackend;
|
|
47
|
+
}
|
|
48
|
+
async getSemanticBackend() {
|
|
49
|
+
if (!this.semBackend)
|
|
50
|
+
this.semBackend = new SemanticBackendAdapter();
|
|
51
|
+
if (!this.semInitialized) {
|
|
52
|
+
try {
|
|
53
|
+
await this.semBackend.initialize();
|
|
54
|
+
this.semInitialized = true;
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
console.warn(`[Gatekeeper] Semantic backend unavailable: ${err.message}`);
|
|
58
|
+
console.warn(`[Gatekeeper] Install @xenova/transformers for Pro semantic mode.`);
|
|
59
|
+
this.semBackend = this.getMemoryBackend();
|
|
60
|
+
this.semInitialized = true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return this.semBackend;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
67
|
+
function norm(s) { return s.toLowerCase().replace(/\s+/g, ' ').trim(); }
|
|
68
|
+
class InMemoryExactBackend {
|
|
69
|
+
constructor() {
|
|
70
|
+
this.store = new Map();
|
|
71
|
+
this.maxSize = 10000;
|
|
72
|
+
}
|
|
73
|
+
async set(key, input, data, ttl) {
|
|
74
|
+
if (this.store.size >= this.maxSize) {
|
|
75
|
+
const k = this.store.keys().next().value;
|
|
76
|
+
if (k)
|
|
77
|
+
this.store.delete(k);
|
|
78
|
+
}
|
|
79
|
+
this.store.set(key, { key, input, data, createdAt: Date.now(), ttl });
|
|
80
|
+
}
|
|
81
|
+
async findSimilar(input, _threshold) {
|
|
82
|
+
const n = norm(input);
|
|
83
|
+
for (const e of this.store.values()) {
|
|
84
|
+
if (e.ttl > 0 && Date.now() - e.createdAt > e.ttl) {
|
|
85
|
+
this.store.delete(e.key);
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (norm(e.input) === n)
|
|
89
|
+
return { data: e.data, similarity: 1.0 };
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
size() { return this.store.size; }
|
|
94
|
+
clear() { this.store.clear(); }
|
|
95
|
+
}
|
|
96
|
+
class SemanticBackendAdapter {
|
|
97
|
+
constructor() {
|
|
98
|
+
this.store = new Map();
|
|
99
|
+
this.pipeline = null;
|
|
100
|
+
this.embCache = new Map();
|
|
101
|
+
this.maxSize = 10000;
|
|
102
|
+
}
|
|
103
|
+
async initialize() {
|
|
104
|
+
if (this.pipeline)
|
|
105
|
+
return;
|
|
106
|
+
// @ts-ignore optional dependency
|
|
107
|
+
const { pipeline } = await import('@xenova/transformers');
|
|
108
|
+
this.pipeline = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');
|
|
109
|
+
}
|
|
110
|
+
async set(key, input, data, ttl) {
|
|
111
|
+
if (this.store.size >= this.maxSize) {
|
|
112
|
+
const k = this.store.keys().next().value;
|
|
113
|
+
if (k)
|
|
114
|
+
this.store.delete(k);
|
|
115
|
+
}
|
|
116
|
+
const embedding = await this.embed(input);
|
|
117
|
+
this.store.set(key, { key, input, embedding, data, createdAt: Date.now(), ttl });
|
|
118
|
+
}
|
|
119
|
+
async findSimilar(input, threshold) {
|
|
120
|
+
if (this.store.size === 0)
|
|
121
|
+
return null;
|
|
122
|
+
const q = await this.embed(input);
|
|
123
|
+
let best = null;
|
|
124
|
+
let bestScore = -1;
|
|
125
|
+
for (const e of this.store.values()) {
|
|
126
|
+
if (e.ttl > 0 && Date.now() - e.createdAt > e.ttl) {
|
|
127
|
+
this.store.delete(e.key);
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
const sim = cosine(q, e.embedding);
|
|
131
|
+
if (sim > bestScore && sim >= threshold) {
|
|
132
|
+
bestScore = sim;
|
|
133
|
+
best = { data: e.data, similarity: sim };
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return best;
|
|
137
|
+
}
|
|
138
|
+
async embed(text) {
|
|
139
|
+
const k = text.toLowerCase().trim();
|
|
140
|
+
if (this.embCache.has(k))
|
|
141
|
+
return this.embCache.get(k);
|
|
142
|
+
const out = await this.pipeline(text, { pooling: 'mean', normalize: true });
|
|
143
|
+
const vec = Array.from(out.data);
|
|
144
|
+
this.embCache.set(k, vec);
|
|
145
|
+
if (this.embCache.size > this.maxSize) {
|
|
146
|
+
const f = this.embCache.keys().next().value;
|
|
147
|
+
if (f)
|
|
148
|
+
this.embCache.delete(f);
|
|
149
|
+
}
|
|
150
|
+
return vec;
|
|
151
|
+
}
|
|
152
|
+
size() { return this.store.size; }
|
|
153
|
+
clear() { this.store.clear(); this.embCache.clear(); }
|
|
154
|
+
}
|
|
155
|
+
function cosine(a, b) {
|
|
156
|
+
let dot = 0, na = 0, nb = 0;
|
|
157
|
+
for (let i = 0; i < a.length; i++) {
|
|
158
|
+
dot += a[i] * b[i];
|
|
159
|
+
na += a[i] * a[i];
|
|
160
|
+
nb += b[i] * b[i];
|
|
161
|
+
}
|
|
162
|
+
const d = Math.sqrt(na) * Math.sqrt(nb);
|
|
163
|
+
return d === 0 ? 0 : dot / d;
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=Gatekeeper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Gatekeeper.js","sourceRoot":"","sources":["../../../src/proxy/Gatekeeper.ts"],"names":[],"mappings":"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"}
|