@nxuss/lemma 0.3.3 → 0.4.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/README.md +42 -330
- package/dashboard/README.md +351 -0
- package/dashboard/dist/assets/index-CIx8ECj8.css +1 -0
- package/dashboard/dist/assets/index-zTlIPJOp.js +478 -0
- package/dashboard/dist/assets/index-zTlIPJOp.js.map +1 -0
- package/dashboard/dist/index.html +14 -0
- package/dist/cjs/api/server.js +1 -1
- package/dist/cjs/cli/stack.d.ts +20 -0
- package/dist/cjs/cli/stack.d.ts.map +1 -0
- package/dist/cjs/cli/stack.js +76 -0
- package/dist/cjs/cli/stack.js.map +1 -0
- package/dist/cjs/cloud/TenantCache.d.ts +1 -0
- package/dist/cjs/cloud/TenantCache.d.ts.map +1 -1
- package/dist/cjs/cloud/TenantCache.js +25 -3
- package/dist/cjs/cloud/TenantCache.js.map +1 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +4 -0
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/observability/IdeContextSync.d.ts +39 -0
- package/dist/cjs/observability/IdeContextSync.d.ts.map +1 -0
- package/dist/cjs/observability/IdeContextSync.js +169 -0
- package/dist/cjs/observability/IdeContextSync.js.map +1 -0
- package/dist/cjs/types/index.d.ts +11 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/esm/api/server.js +1 -1
- package/dist/esm/cli/stack.d.ts +20 -0
- package/dist/esm/cli/stack.d.ts.map +1 -0
- package/dist/esm/cli/stack.js +73 -0
- package/dist/esm/cli/stack.js.map +1 -0
- package/dist/esm/cloud/TenantCache.d.ts +1 -0
- package/dist/esm/cloud/TenantCache.d.ts.map +1 -1
- package/dist/esm/cloud/TenantCache.js +25 -3
- package/dist/esm/cloud/TenantCache.js.map +1 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +4 -0
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +29 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/observability/IdeContextSync.d.ts +39 -0
- package/dist/esm/observability/IdeContextSync.d.ts.map +1 -0
- package/dist/esm/observability/IdeContextSync.js +162 -0
- package/dist/esm/observability/IdeContextSync.js.map +1 -0
- package/dist/esm/types/index.d.ts +11 -0
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/lemma-proxy.cjs +177 -25
- package/package.json +15 -13
- package/src/cloud/CloudSyncClient.js +35 -0
- package/src/protocol/README.md +576 -0
- package/src/proxy/ComplexityRouter.js +37 -0
- package/src/security/SemanticScrubber.js +54 -0
- package/src/speculative/worker.js +96 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>lemma Dashboard - Agent Orchestration Hub</title>
|
|
8
|
+
<script type="module" crossorigin src="/dashboard/assets/index-zTlIPJOp.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/dashboard/assets/index-CIx8ECj8.css">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div id="root"></div>
|
|
13
|
+
</body>
|
|
14
|
+
</html>
|
package/dist/cjs/api/server.js
CHANGED
|
@@ -23,7 +23,7 @@ class DashboardAPIServer {
|
|
|
23
23
|
this.eventLog = [];
|
|
24
24
|
this.cacheStore = null;
|
|
25
25
|
this.server = null;
|
|
26
|
-
this.port = config.port ||
|
|
26
|
+
this.port = config.port || 8083;
|
|
27
27
|
this.host = config.host || '0.0.0.0';
|
|
28
28
|
this.app = (0, express_1.default)();
|
|
29
29
|
this.httpServer = http_1.default.createServer(this.app);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { WebSocketServer } from '../core/WebSocketServer';
|
|
2
|
+
import { OrchestrationEngine } from '../core/OrchestrationEngine';
|
|
3
|
+
import { SubconsciousEngine } from '../core/SubconsciousEngine';
|
|
4
|
+
import { DashboardAPIServer } from '../api/server';
|
|
5
|
+
/**
|
|
6
|
+
* Lemma Stack Orchestrator
|
|
7
|
+
* Starts the Router, Subconscious Engine, and Dashboard API
|
|
8
|
+
*/
|
|
9
|
+
export declare function startStack(options?: {
|
|
10
|
+
wsPort?: number;
|
|
11
|
+
apiPort?: number;
|
|
12
|
+
chromaUrl?: string;
|
|
13
|
+
ollamaUrl?: string;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
wsServer: WebSocketServer;
|
|
16
|
+
subconsciousEngine: SubconsciousEngine;
|
|
17
|
+
orchestrationEngine: OrchestrationEngine;
|
|
18
|
+
dashboardAPIServer: DashboardAPIServer;
|
|
19
|
+
}>;
|
|
20
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/cli/stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf;;;;;GAiFL"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.startStack = startStack;
|
|
4
|
+
const WebSocketServer_1 = require("../core/WebSocketServer");
|
|
5
|
+
const OrchestrationEngine_1 = require("../core/OrchestrationEngine");
|
|
6
|
+
const SubconsciousEngine_1 = require("../core/SubconsciousEngine");
|
|
7
|
+
const DashboardBroadcaster_1 = require("../core/DashboardBroadcaster");
|
|
8
|
+
const server_1 = require("../api/server");
|
|
9
|
+
/**
|
|
10
|
+
* Lemma Stack Orchestrator
|
|
11
|
+
* Starts the Router, Subconscious Engine, and Dashboard API
|
|
12
|
+
*/
|
|
13
|
+
async function startStack(options = {}) {
|
|
14
|
+
const wsPort = options.wsPort || parseInt(process.env.WS_PORT || '8080');
|
|
15
|
+
const apiPort = options.apiPort || parseInt(process.env.DASHBOARD_API_PORT || '8083');
|
|
16
|
+
const chromaUrl = options.chromaUrl || process.env.CHROMA_URL || 'http://localhost:8000';
|
|
17
|
+
const ollamaUrl = options.ollamaUrl || process.env.OLLAMA_URL || 'http://localhost:11434';
|
|
18
|
+
console.log('🧠 Starting Lemma Full Stack...');
|
|
19
|
+
console.log(` WebSocket Port: ${wsPort}`);
|
|
20
|
+
console.log(` Dashboard API: http://localhost:${apiPort}`);
|
|
21
|
+
console.log(` ChromaDB URL: ${chromaUrl}`);
|
|
22
|
+
console.log(` Ollama URL: ${ollamaUrl}\n`);
|
|
23
|
+
try {
|
|
24
|
+
// 1. Initialize WebSocket Server
|
|
25
|
+
const wsServer = new WebSocketServer_1.WebSocketServer({
|
|
26
|
+
port: wsPort,
|
|
27
|
+
heartbeatInterval: 30000,
|
|
28
|
+
connectionTimeout: 60000,
|
|
29
|
+
maxConnections: 100,
|
|
30
|
+
});
|
|
31
|
+
// 2. Initialize Subconscious Engine
|
|
32
|
+
const subconsciousEngine = new SubconsciousEngine_1.SubconsciousEngine();
|
|
33
|
+
// 3. Initialize Orchestration Engine
|
|
34
|
+
const orchestrationEngine = new OrchestrationEngine_1.OrchestrationEngine(wsServer, subconsciousEngine);
|
|
35
|
+
// 4. Initialize Dashboard Broadcaster
|
|
36
|
+
const dashboardBroadcaster = new DashboardBroadcaster_1.DashboardBroadcaster(wsServer, orchestrationEngine);
|
|
37
|
+
orchestrationEngine.setDashboardBroadcaster(dashboardBroadcaster);
|
|
38
|
+
// 5. Initialize Dashboard API Server
|
|
39
|
+
const dashboardAPIServer = new server_1.DashboardAPIServer({
|
|
40
|
+
port: apiPort,
|
|
41
|
+
});
|
|
42
|
+
// Start everything
|
|
43
|
+
await wsServer.start();
|
|
44
|
+
await subconsciousEngine.initialize();
|
|
45
|
+
dashboardAPIServer.setOrchestrationContext(orchestrationEngine, wsServer.getAgentRegistry?.() || { getAgents: () => [] }, subconsciousEngine);
|
|
46
|
+
await dashboardAPIServer.start();
|
|
47
|
+
dashboardBroadcaster.start(2000);
|
|
48
|
+
console.log('\n🚀 Lemma Stack is ready!');
|
|
49
|
+
// Graceful shutdown
|
|
50
|
+
const shutdown = async () => {
|
|
51
|
+
console.log('\n🛑 Shutting down Lemma Stack...');
|
|
52
|
+
dashboardBroadcaster.stop();
|
|
53
|
+
await dashboardAPIServer.stop();
|
|
54
|
+
await wsServer.stop();
|
|
55
|
+
await subconsciousEngine.shutdown();
|
|
56
|
+
process.exit(0);
|
|
57
|
+
};
|
|
58
|
+
process.on('SIGINT', shutdown);
|
|
59
|
+
process.on('SIGTERM', shutdown);
|
|
60
|
+
return {
|
|
61
|
+
wsServer,
|
|
62
|
+
subconsciousEngine,
|
|
63
|
+
orchestrationEngine,
|
|
64
|
+
dashboardAPIServer
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.error('❌ Failed to start Lemma Stack:', error);
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// If run directly
|
|
73
|
+
if (require.main === module) {
|
|
74
|
+
startStack();
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../src/cli/stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export declare class TenantCache {
|
|
|
14
14
|
private chromaClient;
|
|
15
15
|
private chromaCollection;
|
|
16
16
|
private embeddingCache;
|
|
17
|
+
private _pipeline;
|
|
17
18
|
private stats;
|
|
18
19
|
constructor(tenantId: string, chromaUrl: string, ollamaUrl: string, model: string);
|
|
19
20
|
initialize(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantCache.d.ts","sourceRoot":"","sources":["../../../src/cloud/TenantCache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAuD,MAAM,SAAS,CAAC;AAU3F,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,cAAc,CAA+B;
|
|
1
|
+
{"version":3,"file":"TenantCache.d.ts","sourceRoot":"","sources":["../../../src/cloud/TenantCache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAuD,MAAM,SAAS,CAAC;AAU3F,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,SAAS,CAAa;IAE9B,OAAO,CAAC,KAAK,CAA0B;gBAE3B,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAS3E,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,KAAK,CACT,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA0CvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxE,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;YAyBxB,KAAK;CAyCpB"}
|
|
@@ -46,6 +46,7 @@ class TenantCache {
|
|
|
46
46
|
this.chromaClient = null;
|
|
47
47
|
this.chromaCollection = null;
|
|
48
48
|
this.embeddingCache = new Map();
|
|
49
|
+
this._pipeline = null;
|
|
49
50
|
this.stats = { hits: 0, misses: 0 };
|
|
50
51
|
this.tenantId = tenantId;
|
|
51
52
|
this.chromaUrl = chromaUrl;
|
|
@@ -148,9 +149,30 @@ class TenantCache {
|
|
|
148
149
|
const normalized = text.trim().toLowerCase();
|
|
149
150
|
if (this.embeddingCache.has(normalized))
|
|
150
151
|
return this.embeddingCache.get(normalized);
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
const provider = process.env.EMBEDDING_PROVIDER || 'ollama';
|
|
153
|
+
let embedding = [];
|
|
154
|
+
if (provider === 'openai') {
|
|
155
|
+
const axios = (await Promise.resolve().then(() => __importStar(require('axios')))).default;
|
|
156
|
+
const res = await axios.post('https://api.openai.com/v1/embeddings', { model: 'text-embedding-3-small', input: text }, {
|
|
157
|
+
headers: { Authorization: `Bearer ${process.env.OPENAI_API_KEY}` },
|
|
158
|
+
timeout: 15000
|
|
159
|
+
});
|
|
160
|
+
embedding = res.data.data[0].embedding;
|
|
161
|
+
}
|
|
162
|
+
else if (provider === 'xenova') {
|
|
163
|
+
// @ts-ignore
|
|
164
|
+
const { pipeline } = await Promise.resolve().then(() => __importStar(require('@xenova/transformers')));
|
|
165
|
+
if (!this._pipeline) {
|
|
166
|
+
this._pipeline = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');
|
|
167
|
+
}
|
|
168
|
+
const out = await this._pipeline(text, { pooling: 'mean', normalize: true });
|
|
169
|
+
embedding = Array.from(out.data);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
const axios = (await Promise.resolve().then(() => __importStar(require('axios')))).default;
|
|
173
|
+
const res = await axios.post(`${this.ollamaUrl}/api/embeddings`, { model: this.model, prompt: text }, { timeout: 15000 });
|
|
174
|
+
embedding = res.data.embedding;
|
|
175
|
+
}
|
|
154
176
|
// Keep embedding cache bounded
|
|
155
177
|
if (this.embeddingCache.size > 5000)
|
|
156
178
|
this.embeddingCache.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantCache.js","sourceRoot":"","sources":["../../../src/cloud/TenantCache.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,mCAA2F;AAU3F,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"TenantCache.js","sourceRoot":"","sources":["../../../src/cloud/TenantCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AA+B7C;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AA+B7C;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,iBA4CpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA6BrC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAelC;AAED;;GAEG;AACH,wBAAgB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;EAwBhC"}
|
package/dist/cjs/config/index.js
CHANGED
|
@@ -74,6 +74,10 @@ exports.config = {
|
|
|
74
74
|
// Logging Configuration
|
|
75
75
|
logLevel: process.env.LOG_LEVEL || 'info',
|
|
76
76
|
LOG_LEVEL: process.env.LOG_LEVEL || 'info',
|
|
77
|
+
// IDE State Sync Configuration
|
|
78
|
+
IDE_SYNC_ENABLED: parseBoolean(process.env.IDE_SYNC_ENABLED, false),
|
|
79
|
+
IDE_SYNC_EXPORT_PATH: process.env.IDE_SYNC_EXPORT_PATH || '.lemma/live-context.md',
|
|
80
|
+
IDE_SYNC_MODE: process.env.IDE_SYNC_MODE || 'smart',
|
|
77
81
|
};
|
|
78
82
|
/**
|
|
79
83
|
* Validate configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -7,13 +7,14 @@
|
|
|
7
7
|
import { WebSocketServer } from './core/WebSocketServer';
|
|
8
8
|
import { AgentRegistry } from './core/AgentRegistry';
|
|
9
9
|
import { Router } from './core/router';
|
|
10
|
-
import { ServerConfig, RouterConfig } from './types';
|
|
10
|
+
import { ServerConfig, RouterConfig, IdeSyncConfig } from './types';
|
|
11
11
|
/**
|
|
12
12
|
* Main Hub Configuration
|
|
13
13
|
*/
|
|
14
14
|
export interface HubConfig {
|
|
15
15
|
server?: ServerConfig;
|
|
16
16
|
router?: RouterConfig;
|
|
17
|
+
ideSync?: IdeSyncConfig;
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* Subconscious Router Hub
|
|
@@ -24,6 +25,7 @@ export declare class SubconsciousHub {
|
|
|
24
25
|
private agentRegistry;
|
|
25
26
|
private router;
|
|
26
27
|
private isRunning;
|
|
28
|
+
private ideContextSync;
|
|
27
29
|
constructor(config?: HubConfig);
|
|
28
30
|
/**
|
|
29
31
|
* Setup event handlers for monitoring
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGpE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,MAAM,GAAE,SAAc;IAclC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkE1B;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC;;OAEG;IACI,QAAQ;;;;;;;;;;;;;IAIf;;OAEG;IACI,WAAW,IAAI,IAAI;IAU1B;;OAEG;IACI,kBAAkB,IAAI,eAAe;IAI5C;;OAEG;IACI,gBAAgB,IAAI,aAAa;IAIxC;;OAEG;IACI,SAAS,IAAI,MAAM;CAG3B;AAGD,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGrE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGxE,eAAe,eAAe,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -46,6 +46,7 @@ exports.Lemma = exports.validateConfig = exports.getSecurityConfig = exports.con
|
|
|
46
46
|
const WebSocketServer_1 = require("./core/WebSocketServer");
|
|
47
47
|
const AgentRegistry_1 = require("./core/AgentRegistry");
|
|
48
48
|
const router_1 = require("./core/router");
|
|
49
|
+
const IdeContextSync_1 = require("./observability/IdeContextSync");
|
|
49
50
|
/**
|
|
50
51
|
* Subconscious Router Hub
|
|
51
52
|
* Orchestrates WebSocket connections, agent registry, and message routing
|
|
@@ -57,6 +58,7 @@ class SubconsciousHub {
|
|
|
57
58
|
this.wsServer = new WebSocketServer_1.WebSocketServer(config.server || { port: 8080 });
|
|
58
59
|
this.agentRegistry = new AgentRegistry_1.AgentRegistry();
|
|
59
60
|
this.router = new router_1.Router(this.wsServer, this.agentRegistry, config.router || {});
|
|
61
|
+
this.ideContextSync = new IdeContextSync_1.IdeContextSync(config.ideSync);
|
|
60
62
|
this.setupEventHandlers();
|
|
61
63
|
}
|
|
62
64
|
/**
|
|
@@ -89,6 +91,33 @@ class SubconsciousHub {
|
|
|
89
91
|
});
|
|
90
92
|
this.router.on('taskFailed', ({ taskId, reason }) => {
|
|
91
93
|
console.log(`✗ Task ${taskId} failed: ${reason}`);
|
|
94
|
+
this.ideContextSync.intercept({
|
|
95
|
+
type: 'agent_failure',
|
|
96
|
+
message: `Task ${taskId} failed: ${reason}`,
|
|
97
|
+
timestamp: new Date().toISOString(),
|
|
98
|
+
payload: { taskId, reason }
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
// Global exception handlers
|
|
102
|
+
process.on('uncaughtException', (error) => {
|
|
103
|
+
this.ideContextSync.intercept({
|
|
104
|
+
type: 'uncaught_exception',
|
|
105
|
+
message: error.message,
|
|
106
|
+
timestamp: new Date().toISOString(),
|
|
107
|
+
stackTrace: error.stack,
|
|
108
|
+
}).finally(() => {
|
|
109
|
+
console.error('Uncaught Exception:', error);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
process.on('unhandledRejection', (reason, promise) => {
|
|
113
|
+
this.ideContextSync.intercept({
|
|
114
|
+
type: 'unhandled_rejection',
|
|
115
|
+
message: reason instanceof Error ? reason.message : String(reason),
|
|
116
|
+
timestamp: new Date().toISOString(),
|
|
117
|
+
stackTrace: reason instanceof Error ? reason.stack : undefined,
|
|
118
|
+
}).finally(() => {
|
|
119
|
+
console.error('Unhandled Rejection at:', promise, 'reason:', reason);
|
|
120
|
+
});
|
|
92
121
|
});
|
|
93
122
|
}
|
|
94
123
|
/**
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4DAAyD;AACzD,wDAAqD;AACrD,0CAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { IdeSyncConfig } from '../types';
|
|
2
|
+
export interface ContextEvent {
|
|
3
|
+
type: 'uncaught_exception' | 'unhandled_rejection' | 'agent_failure' | 'state_mutation';
|
|
4
|
+
message: string;
|
|
5
|
+
timestamp: string;
|
|
6
|
+
stackTrace?: string;
|
|
7
|
+
payload?: any;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* IDE State Sync (Telepathic Context Injector)
|
|
11
|
+
*
|
|
12
|
+
* Captures, semantically filters, and formats runtime state/errors into a
|
|
13
|
+
* local markdown file for seamless IDE AI integration (Cursor, Copilot, etc.)
|
|
14
|
+
*/
|
|
15
|
+
export declare class IdeContextSync {
|
|
16
|
+
private config;
|
|
17
|
+
private embeddingService?;
|
|
18
|
+
private recentEmbeddings;
|
|
19
|
+
private readonly MAX_HISTORY;
|
|
20
|
+
private readonly SIMILARITY_THRESHOLD;
|
|
21
|
+
constructor(ideConfig?: IdeSyncConfig);
|
|
22
|
+
/**
|
|
23
|
+
* Intercept a context event, filter it, and async-write it to the IDE context file
|
|
24
|
+
*/
|
|
25
|
+
intercept(event: ContextEvent): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Use semantic similarity (or string fallback) to strip noise and repetitive logs
|
|
28
|
+
*/
|
|
29
|
+
private applySemanticFilter;
|
|
30
|
+
/**
|
|
31
|
+
* Compress and format the context into a highly structured, LLM-optimized Markdown format
|
|
32
|
+
*/
|
|
33
|
+
private formatMarkdown;
|
|
34
|
+
/**
|
|
35
|
+
* Write the formatted context to the local file
|
|
36
|
+
*/
|
|
37
|
+
private writeContext;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=IdeContextSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdeContextSync.d.ts","sourceRoot":"","sources":["../../../src/observability/IdeContextSync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,oBAAoB,GAAG,qBAAqB,GAAG,eAAe,GAAG,gBAAgB,CAAC;IACxF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,gBAAgB,CAAkE;IAC1F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;gBAEjC,SAAS,CAAC,EAAE,aAAa;IAqBrC;;OAEG;IACU,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1D;;OAEG;YACW,mBAAmB;IA4DjC;;OAEG;IACH,OAAO,CAAC,cAAc;IAuCtB;;OAEG;YACW,YAAY;CAW3B"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.IdeContextSync = void 0;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const embeddings_1 = require("../subconscious/embeddings");
|
|
10
|
+
const KeyManager_1 = require("../proxy/KeyManager");
|
|
11
|
+
const config_1 = require("../config");
|
|
12
|
+
const logger_1 = require("../utils/logger");
|
|
13
|
+
const logger = (0, logger_1.createLogger)('IdeContextSync');
|
|
14
|
+
/**
|
|
15
|
+
* IDE State Sync (Telepathic Context Injector)
|
|
16
|
+
*
|
|
17
|
+
* Captures, semantically filters, and formats runtime state/errors into a
|
|
18
|
+
* local markdown file for seamless IDE AI integration (Cursor, Copilot, etc.)
|
|
19
|
+
*/
|
|
20
|
+
class IdeContextSync {
|
|
21
|
+
constructor(ideConfig) {
|
|
22
|
+
this.recentEmbeddings = [];
|
|
23
|
+
this.MAX_HISTORY = 50;
|
|
24
|
+
this.SIMILARITY_THRESHOLD = 0.95; // threshold for deduplication
|
|
25
|
+
this.config = ideConfig || {
|
|
26
|
+
enabled: config_1.config.IDE_SYNC_ENABLED,
|
|
27
|
+
exportPath: config_1.config.IDE_SYNC_EXPORT_PATH || '.lemma/live-context.md',
|
|
28
|
+
mode: config_1.config.IDE_SYNC_MODE || 'smart',
|
|
29
|
+
};
|
|
30
|
+
// Enforce Pro License for smart mode
|
|
31
|
+
if (this.config.mode === 'smart') {
|
|
32
|
+
const keyManager = new KeyManager_1.KeyManager();
|
|
33
|
+
if (!keyManager.isPro()) {
|
|
34
|
+
logger.warn('IdeContextSync: "smart" mode requires an active Lemma Pro license. Falling back to "raw" mode.');
|
|
35
|
+
this.config.mode = 'raw';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (this.config.enabled && this.config.mode === 'smart') {
|
|
39
|
+
this.embeddingService = new embeddings_1.EmbeddingService(config_1.config.ollamaUrl, config_1.config.OLLAMA_MODEL);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Intercept a context event, filter it, and async-write it to the IDE context file
|
|
44
|
+
*/
|
|
45
|
+
async intercept(event) {
|
|
46
|
+
if (!this.config.enabled)
|
|
47
|
+
return;
|
|
48
|
+
// Execute asynchronously to ensure zero impact on application performance
|
|
49
|
+
setImmediate(async () => {
|
|
50
|
+
try {
|
|
51
|
+
const isDuplicate = await this.applySemanticFilter(event);
|
|
52
|
+
if (isDuplicate) {
|
|
53
|
+
logger.debug('Context sync skipped: repetitive event detected as noise');
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const markdown = this.formatMarkdown(event);
|
|
57
|
+
await this.writeContext(markdown);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
logger.error('Failed to sync context to IDE', error);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Use semantic similarity (or string fallback) to strip noise and repetitive logs
|
|
66
|
+
*/
|
|
67
|
+
async applySemanticFilter(event) {
|
|
68
|
+
if (this.config.mode !== 'smart')
|
|
69
|
+
return false;
|
|
70
|
+
// Create a normalized string representation of the core event
|
|
71
|
+
const eventString = `${event.type}: ${event.message}`;
|
|
72
|
+
try {
|
|
73
|
+
if (!this.embeddingService)
|
|
74
|
+
return false;
|
|
75
|
+
const embedding = await this.embeddingService.generateEmbedding(eventString);
|
|
76
|
+
// Check for similarity against recent events
|
|
77
|
+
for (const past of this.recentEmbeddings) {
|
|
78
|
+
// Only compare against events in the last 2 minutes to avoid staleness
|
|
79
|
+
if (Date.now() - past.timestamp > 120000)
|
|
80
|
+
continue;
|
|
81
|
+
// Skip comparing against fallback entries with empty embeddings
|
|
82
|
+
if (!past.embedding || past.embedding.length === 0)
|
|
83
|
+
continue;
|
|
84
|
+
const similarity = embeddings_1.EmbeddingService.cosineSimilarity(embedding, past.embedding);
|
|
85
|
+
if (similarity > this.SIMILARITY_THRESHOLD) {
|
|
86
|
+
return true; // High similarity indicates redundant noise
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Add to history
|
|
90
|
+
this.recentEmbeddings.push({
|
|
91
|
+
text: eventString,
|
|
92
|
+
embedding,
|
|
93
|
+
timestamp: Date.now(),
|
|
94
|
+
});
|
|
95
|
+
// Prune history
|
|
96
|
+
if (this.recentEmbeddings.length > this.MAX_HISTORY) {
|
|
97
|
+
this.recentEmbeddings.shift();
|
|
98
|
+
}
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
logger.warn('Semantic filter fallback: embedding failed. Using string matching.');
|
|
103
|
+
// Fallback: simple string exact match in the last 10 seconds
|
|
104
|
+
const recent = this.recentEmbeddings.find(p => p.text === eventString && (Date.now() - p.timestamp < 10000));
|
|
105
|
+
if (recent)
|
|
106
|
+
return true;
|
|
107
|
+
this.recentEmbeddings.push({
|
|
108
|
+
text: eventString,
|
|
109
|
+
embedding: [],
|
|
110
|
+
timestamp: Date.now()
|
|
111
|
+
});
|
|
112
|
+
if (this.recentEmbeddings.length > this.MAX_HISTORY) {
|
|
113
|
+
this.recentEmbeddings.shift();
|
|
114
|
+
}
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Compress and format the context into a highly structured, LLM-optimized Markdown format
|
|
120
|
+
*/
|
|
121
|
+
formatMarkdown(event) {
|
|
122
|
+
let md = `# Live Context Sync: ${event.type.toUpperCase().replace(/_/g, ' ')}\n\n`;
|
|
123
|
+
md += `- **Timestamp**: ${event.timestamp}\n`;
|
|
124
|
+
md += `- **Message**: ${event.message}\n\n`;
|
|
125
|
+
if (event.stackTrace) {
|
|
126
|
+
md += `## Stack Trace\n`;
|
|
127
|
+
// Compress stack trace if in smart mode (take top 10 lines)
|
|
128
|
+
let trace = event.stackTrace;
|
|
129
|
+
if (this.config.mode === 'smart') {
|
|
130
|
+
const lines = trace.split('\n');
|
|
131
|
+
if (lines.length > 10) {
|
|
132
|
+
trace = lines.slice(0, 10).join('\n') + '\n ... (truncated by semantic filter)';
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
md += `\`\`\`typescript\n${trace}\n\`\`\`\n\n`;
|
|
136
|
+
}
|
|
137
|
+
if (event.payload !== undefined) {
|
|
138
|
+
md += `## Last Known Memory State / Payload\n`;
|
|
139
|
+
// Handle both object payloads and string payloads
|
|
140
|
+
let payloadStr = '';
|
|
141
|
+
try {
|
|
142
|
+
payloadStr = typeof event.payload === 'string' ? event.payload : JSON.stringify(event.payload, null, 2);
|
|
143
|
+
}
|
|
144
|
+
catch (e) {
|
|
145
|
+
payloadStr = String(event.payload);
|
|
146
|
+
}
|
|
147
|
+
if (this.config.mode === 'smart' && payloadStr.length > 2000) {
|
|
148
|
+
payloadStr = payloadStr.substring(0, 2000) + '\n // ... (truncated by semantic filter)';
|
|
149
|
+
}
|
|
150
|
+
md += `\`\`\`json\n${payloadStr}\n\`\`\`\n\n`;
|
|
151
|
+
}
|
|
152
|
+
md += `---\n*Generated by Lemma Telepathic Context Injector*\n`;
|
|
153
|
+
return md;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Write the formatted context to the local file
|
|
157
|
+
*/
|
|
158
|
+
async writeContext(markdown) {
|
|
159
|
+
const exportPath = this.config.exportPath || '.lemma/live-context.md';
|
|
160
|
+
const absolutePath = path_1.default.resolve(process.cwd(), exportPath);
|
|
161
|
+
// Ensure directory exists
|
|
162
|
+
const dir = path_1.default.dirname(absolutePath);
|
|
163
|
+
await fs_1.promises.mkdir(dir, { recursive: true });
|
|
164
|
+
await fs_1.promises.writeFile(absolutePath, markdown, 'utf-8');
|
|
165
|
+
logger.debug(`IDE State Sync updated: ${exportPath}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.IdeContextSync = IdeContextSync;
|
|
169
|
+
//# sourceMappingURL=IdeContextSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdeContextSync.js","sourceRoot":"","sources":["../../../src/observability/IdeContextSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,14 @@ export interface RouterConfig {
|
|
|
16
16
|
maxRetries?: number;
|
|
17
17
|
retryDelay?: number;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* IDE Context Sync Configuration
|
|
21
|
+
*/
|
|
22
|
+
export interface IdeSyncConfig {
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
exportPath?: string;
|
|
25
|
+
mode: 'smart' | 'raw';
|
|
26
|
+
}
|
|
19
27
|
/**
|
|
20
28
|
* Agent Connection Information
|
|
21
29
|
*/
|
|
@@ -282,5 +290,8 @@ export interface EnvironmentConfig {
|
|
|
282
290
|
SANITIZATION_MAX_STRING_LENGTH: number;
|
|
283
291
|
SANITIZATION_MAX_ARRAY_LENGTH: number;
|
|
284
292
|
SANITIZATION_MAX_OBJECT_DEPTH: number;
|
|
293
|
+
IDE_SYNC_ENABLED: boolean;
|
|
294
|
+
IDE_SYNC_EXPORT_PATH: string;
|
|
295
|
+
IDE_SYNC_MODE: string;
|
|
285
296
|
}
|
|
286
297
|
//# sourceMappingURL=index.d.ts.map
|