@nxuss/lemma 0.4.13 ā 0.5.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 +16 -10
- package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
- package/dist/cjs/cli/lemma-proxy.js +94 -14
- package/dist/cjs/cli/lemma-proxy.js.map +1 -1
- package/dist/cjs/mcp/index.js +198 -1
- package/dist/cjs/mcp/index.js.map +1 -1
- package/dist/cjs/observability/IdeContextSync.d.ts.map +1 -1
- package/dist/cjs/observability/IdeContextSync.js +22 -10
- package/dist/cjs/observability/IdeContextSync.js.map +1 -1
- package/dist/cjs/proxy/KeyManager.d.ts +3 -0
- package/dist/cjs/proxy/KeyManager.d.ts.map +1 -1
- package/dist/cjs/proxy/KeyManager.js +44 -1
- package/dist/cjs/proxy/KeyManager.js.map +1 -1
- package/dist/cjs/utils/ClipboardWatcher.d.ts +19 -0
- package/dist/cjs/utils/ClipboardWatcher.d.ts.map +1 -0
- package/dist/cjs/utils/ClipboardWatcher.js +99 -0
- package/dist/cjs/utils/ClipboardWatcher.js.map +1 -0
- package/dist/cjs/utils/ContextSqueezer.d.ts +27 -1
- package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
- package/dist/cjs/utils/ContextSqueezer.js +279 -6
- package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
- package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
- package/dist/esm/cli/lemma-proxy.js +94 -14
- package/dist/esm/cli/lemma-proxy.js.map +1 -1
- package/dist/esm/mcp/index.js +198 -1
- package/dist/esm/mcp/index.js.map +1 -1
- package/dist/esm/observability/IdeContextSync.d.ts.map +1 -1
- package/dist/esm/observability/IdeContextSync.js +22 -10
- package/dist/esm/observability/IdeContextSync.js.map +1 -1
- package/dist/esm/proxy/KeyManager.d.ts +3 -0
- package/dist/esm/proxy/KeyManager.d.ts.map +1 -1
- package/dist/esm/proxy/KeyManager.js +44 -1
- package/dist/esm/proxy/KeyManager.js.map +1 -1
- package/dist/esm/utils/ClipboardWatcher.d.ts +19 -0
- package/dist/esm/utils/ClipboardWatcher.d.ts.map +1 -0
- package/dist/esm/utils/ClipboardWatcher.js +93 -0
- package/dist/esm/utils/ClipboardWatcher.js.map +1 -0
- package/dist/esm/utils/ContextSqueezer.d.ts +27 -1
- package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
- package/dist/esm/utils/ContextSqueezer.js +273 -6
- package/dist/esm/utils/ContextSqueezer.js.map +1 -1
- package/package.json +2 -2
package/dist/cjs/mcp/index.js
CHANGED
|
@@ -19,12 +19,101 @@ class LemmaMcpServer {
|
|
|
19
19
|
version: "0.1.0",
|
|
20
20
|
}, {
|
|
21
21
|
capabilities: {
|
|
22
|
-
resources: {
|
|
22
|
+
resources: {
|
|
23
|
+
subscribe: true
|
|
24
|
+
},
|
|
23
25
|
tools: {},
|
|
24
26
|
},
|
|
25
27
|
});
|
|
26
28
|
this.setupHandlers();
|
|
27
29
|
this.setupErrorHandling();
|
|
30
|
+
this.setupLiveContextWatcher();
|
|
31
|
+
}
|
|
32
|
+
setupLiveContextWatcher() {
|
|
33
|
+
try {
|
|
34
|
+
const lemmaDir = path_1.default.join(process.cwd(), ".lemma");
|
|
35
|
+
if (!fs_1.default.existsSync(lemmaDir)) {
|
|
36
|
+
fs_1.default.mkdirSync(lemmaDir, { recursive: true });
|
|
37
|
+
}
|
|
38
|
+
const liveContextPath = path_1.default.join(lemmaDir, "live-context.md");
|
|
39
|
+
if (!fs_1.default.existsSync(liveContextPath)) {
|
|
40
|
+
fs_1.default.writeFileSync(liveContextPath, "# No Live Context\nNo recent crashes or state changes recorded by Lemma.", "utf8");
|
|
41
|
+
}
|
|
42
|
+
fs_1.default.watch(liveContextPath, (eventType) => {
|
|
43
|
+
if (eventType === "change") {
|
|
44
|
+
try {
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
this.server.sendResourceUpdated({ uri: "lemma://runtime/context" });
|
|
47
|
+
}
|
|
48
|
+
catch { }
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch { }
|
|
53
|
+
}
|
|
54
|
+
listDirRecursive(currentDir, relativePath, depth, maxDepth) {
|
|
55
|
+
if (depth > maxDepth)
|
|
56
|
+
return [];
|
|
57
|
+
try {
|
|
58
|
+
const entries = fs_1.default.readdirSync(currentDir, { withFileTypes: true });
|
|
59
|
+
let result = [];
|
|
60
|
+
for (const entry of entries) {
|
|
61
|
+
if (["node_modules", ".git", "dist", "chroma_data"].includes(entry.name))
|
|
62
|
+
continue;
|
|
63
|
+
const rel = relativePath ? path_1.default.join(relativePath, entry.name) : entry.name;
|
|
64
|
+
const full = path_1.default.join(currentDir, entry.name);
|
|
65
|
+
if (entry.isDirectory()) {
|
|
66
|
+
result.push(`${rel}/`);
|
|
67
|
+
result.push(...this.listDirRecursive(full, rel, depth + 1, maxDepth));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
result.push(rel);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
searchDirRecursive(currentDir, relativePath, query, extFilter) {
|
|
80
|
+
try {
|
|
81
|
+
const entries = fs_1.default.readdirSync(currentDir, { withFileTypes: true });
|
|
82
|
+
let result = [];
|
|
83
|
+
for (const entry of entries) {
|
|
84
|
+
if (["node_modules", ".git", "dist", "chroma_data"].includes(entry.name))
|
|
85
|
+
continue;
|
|
86
|
+
const rel = relativePath ? path_1.default.join(relativePath, entry.name) : entry.name;
|
|
87
|
+
const full = path_1.default.join(currentDir, entry.name);
|
|
88
|
+
if (entry.isDirectory()) {
|
|
89
|
+
result.push(...this.searchDirRecursive(full, rel, query, extFilter));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
if (extFilter && !entry.name.endsWith(`.${extFilter}`))
|
|
93
|
+
continue;
|
|
94
|
+
try {
|
|
95
|
+
const content = fs_1.default.readFileSync(full, "utf8");
|
|
96
|
+
if (content.toLowerCase().includes(query.toLowerCase())) {
|
|
97
|
+
const lines = content.split("\n");
|
|
98
|
+
lines.forEach((lineText, idx) => {
|
|
99
|
+
if (lineText.toLowerCase().includes(query.toLowerCase())) {
|
|
100
|
+
result.push({
|
|
101
|
+
filePath: rel,
|
|
102
|
+
line: idx + 1,
|
|
103
|
+
text: lineText.trim()
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch { }
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return [];
|
|
116
|
+
}
|
|
28
117
|
}
|
|
29
118
|
setupHandlers() {
|
|
30
119
|
// 1. List Resources
|
|
@@ -152,6 +241,41 @@ class LemmaMcpServer {
|
|
|
152
241
|
},
|
|
153
242
|
},
|
|
154
243
|
},
|
|
244
|
+
{
|
|
245
|
+
name: "read_workspace_file",
|
|
246
|
+
description: "Read the contents of a file inside the local workspace project. Automatically compresses comments and excessive whitespaces to save up to 80% tokens on your local model's context window.",
|
|
247
|
+
inputSchema: {
|
|
248
|
+
type: "object",
|
|
249
|
+
properties: {
|
|
250
|
+
filePath: { type: "string", description: "The path to the file relative to the project root" },
|
|
251
|
+
compact: { type: "boolean", description: "Whether to compress comments and whitespace to save local/cloud LLM tokens", default: true }
|
|
252
|
+
},
|
|
253
|
+
required: ["filePath"],
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
name: "list_workspace_dir",
|
|
258
|
+
description: "List all files and subdirectories recursively in the project to help navigate the repository structure.",
|
|
259
|
+
inputSchema: {
|
|
260
|
+
type: "object",
|
|
261
|
+
properties: {
|
|
262
|
+
dirPath: { type: "string", description: "The directory path relative to the project root (empty string for root)", default: "" },
|
|
263
|
+
maxDepth: { type: "number", description: "Maximum recursion depth", default: 3 }
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
name: "search_workspace",
|
|
269
|
+
description: "Perform a fast local text search (grep) across all files in the project workspace.",
|
|
270
|
+
inputSchema: {
|
|
271
|
+
type: "object",
|
|
272
|
+
properties: {
|
|
273
|
+
query: { type: "string", description: "The keyword or text pattern to search for" },
|
|
274
|
+
extension: { type: "string", description: "Optional file extension filter (e.g., 'ts', 'json')" }
|
|
275
|
+
},
|
|
276
|
+
required: ["query"],
|
|
277
|
+
},
|
|
278
|
+
},
|
|
155
279
|
],
|
|
156
280
|
};
|
|
157
281
|
});
|
|
@@ -235,6 +359,79 @@ class LemmaMcpServer {
|
|
|
235
359
|
};
|
|
236
360
|
}
|
|
237
361
|
}
|
|
362
|
+
case "read_workspace_file": {
|
|
363
|
+
const filePath = args?.filePath;
|
|
364
|
+
const compact = args?.compact !== false;
|
|
365
|
+
if (!filePath)
|
|
366
|
+
throw new Error("filePath is required");
|
|
367
|
+
const workspaceRoot = process.cwd();
|
|
368
|
+
const resolvedPath = path_1.default.resolve(workspaceRoot, filePath);
|
|
369
|
+
if (!resolvedPath.startsWith(workspaceRoot)) {
|
|
370
|
+
throw new Error("Access denied: path is outside of workspace root");
|
|
371
|
+
}
|
|
372
|
+
try {
|
|
373
|
+
let content = fs_1.default.readFileSync(resolvedPath, "utf8");
|
|
374
|
+
if (compact) {
|
|
375
|
+
const { squeezeCode } = require("../utils/ContextSqueezer");
|
|
376
|
+
content = squeezeCode(content);
|
|
377
|
+
}
|
|
378
|
+
return {
|
|
379
|
+
content: [{ type: "text", text: content }],
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
catch (err) {
|
|
383
|
+
return {
|
|
384
|
+
content: [{ type: "text", text: `Error reading file: ${err.message}` }],
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
case "list_workspace_dir": {
|
|
389
|
+
const dirPath = args?.dirPath || "";
|
|
390
|
+
const maxDepth = args?.maxDepth || 3;
|
|
391
|
+
const workspaceRoot = process.cwd();
|
|
392
|
+
const resolvedPath = path_1.default.resolve(workspaceRoot, dirPath);
|
|
393
|
+
if (!resolvedPath.startsWith(workspaceRoot)) {
|
|
394
|
+
throw new Error("Access denied: path is outside of workspace root");
|
|
395
|
+
}
|
|
396
|
+
try {
|
|
397
|
+
const list = this.listDirRecursive(resolvedPath, dirPath, 1, maxDepth);
|
|
398
|
+
return {
|
|
399
|
+
content: [{
|
|
400
|
+
type: "text",
|
|
401
|
+
text: list.length > 0 ? list.join("\n") : "(Directory is empty or inaccessible)"
|
|
402
|
+
}],
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
catch (err) {
|
|
406
|
+
return {
|
|
407
|
+
content: [{ type: "text", text: `Error listing directory: ${err.message}` }],
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
case "search_workspace": {
|
|
412
|
+
const query = args?.query;
|
|
413
|
+
const extension = args?.extension;
|
|
414
|
+
if (!query)
|
|
415
|
+
throw new Error("query is required");
|
|
416
|
+
const workspaceRoot = process.cwd();
|
|
417
|
+
try {
|
|
418
|
+
const results = this.searchDirRecursive(workspaceRoot, "", query, extension);
|
|
419
|
+
if (results.length === 0) {
|
|
420
|
+
return {
|
|
421
|
+
content: [{ type: "text", text: `No matches found in the workspace for "${query}".` }],
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
const formatted = results.map(r => `[${r.filePath}:${r.line}] ${r.text}`).join("\n");
|
|
425
|
+
return {
|
|
426
|
+
content: [{ type: "text", text: `Found ${results.length} matches:\n\n${formatted}` }],
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
catch (err) {
|
|
430
|
+
return {
|
|
431
|
+
content: [{ type: "text", text: `Error searching workspace: ${err.message}` }],
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
}
|
|
238
435
|
default:
|
|
239
436
|
throw new Error(`Unknown tool: ${name}`);
|
|
240
437
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdeContextSync.d.ts","sourceRoot":"","sources":["../../../src/observability/IdeContextSync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AASzC,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;
|
|
1
|
+
{"version":3,"file":"IdeContextSync.d.ts","sourceRoot":"","sources":["../../../src/observability/IdeContextSync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AASzC,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;IAkBrC;;OAEG;IACU,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1D;;OAEG;YACW,mBAAmB;IA6EjC;;OAEG;IACH,OAAO,CAAC,cAAc;IA4CtB;;OAEG;YACW,YAAY;CAW3B"}
|
|
@@ -28,16 +28,15 @@ class IdeContextSync {
|
|
|
28
28
|
exportPath: config_1.config.IDE_SYNC_EXPORT_PATH || '.lemma/live-context.md',
|
|
29
29
|
mode: config_1.config.IDE_SYNC_MODE || 'smart',
|
|
30
30
|
};
|
|
31
|
-
//
|
|
32
|
-
if (this.config.mode === 'smart') {
|
|
31
|
+
// Smart structural squeezing is enabled for everyone, but AI-based semantic duplicate filtering requires Pro
|
|
32
|
+
if (this.config.enabled && this.config.mode === 'smart') {
|
|
33
33
|
const keyManager = new KeyManager_1.KeyManager();
|
|
34
|
-
if (
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
if (keyManager.isPro()) {
|
|
35
|
+
this.embeddingService = new embeddings_1.EmbeddingService(config_1.config.ollamaUrl, config_1.config.OLLAMA_MODEL);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
logger.info('IdeContextSync: Smart structural squeezing active. (AI-based semantic duplicate filter requires Pro).');
|
|
37
39
|
}
|
|
38
|
-
}
|
|
39
|
-
if (this.config.enabled && this.config.mode === 'smart') {
|
|
40
|
-
this.embeddingService = new embeddings_1.EmbeddingService(config_1.config.ollamaUrl, config_1.config.OLLAMA_MODEL);
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
42
|
/**
|
|
@@ -70,9 +69,22 @@ class IdeContextSync {
|
|
|
70
69
|
return false;
|
|
71
70
|
// Create a normalized string representation of the core event
|
|
72
71
|
const eventString = `${event.type}: ${event.message}`;
|
|
72
|
+
// If embedding service is not available (e.g. Free offline tier), fall back to exact string deduplication
|
|
73
|
+
if (!this.embeddingService) {
|
|
74
|
+
const recent = this.recentEmbeddings.find(p => p.text === eventString && (Date.now() - p.timestamp < 10000));
|
|
75
|
+
if (recent)
|
|
76
|
+
return true;
|
|
77
|
+
this.recentEmbeddings.push({
|
|
78
|
+
text: eventString,
|
|
79
|
+
embedding: [],
|
|
80
|
+
timestamp: Date.now()
|
|
81
|
+
});
|
|
82
|
+
if (this.recentEmbeddings.length > this.MAX_HISTORY) {
|
|
83
|
+
this.recentEmbeddings.shift();
|
|
84
|
+
}
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
73
87
|
try {
|
|
74
|
-
if (!this.embeddingService)
|
|
75
|
-
return false;
|
|
76
88
|
const embedding = await this.embeddingService.generateEmbedding(eventString);
|
|
77
89
|
// Check for similarity against recent events
|
|
78
90
|
for (const past of this.recentEmbeddings) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdeContextSync.js","sourceRoot":"","sources":["../../../src/observability/IdeContextSync.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAoC;AACpC,gDAAwB;AAExB,2DAA8D;AAC9D,oDAAiD;AACjD,sCAAmC;AACnC,4CAA+C;AAC/C,8DAAuD;AAEvD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,gBAAgB,CAAC,CAAC;AAU9C;;;;;GAKG;AACH,MAAa,cAAc;IAOzB,YAAY,SAAyB;QAJ7B,qBAAgB,GAA+D,EAAE,CAAC;QACzE,gBAAW,GAAG,EAAE,CAAC;QACjB,yBAAoB,GAAG,IAAI,CAAC,CAAC,8BAA8B;QAG1E,IAAI,CAAC,MAAM,GAAG,SAAS,IAAI;YACzB,OAAO,EAAE,eAAM,CAAC,gBAAgB;YAChC,UAAU,EAAE,eAAM,CAAC,oBAAoB,IAAI,wBAAwB;YACnE,IAAI,EAAE,eAAM,CAAC,aAAgC,IAAI,OAAO;SACzD,CAAC;QAEF,
|
|
1
|
+
{"version":3,"file":"IdeContextSync.js","sourceRoot":"","sources":["../../../src/observability/IdeContextSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export interface LicenseData {
|
|
|
20
20
|
isPro: boolean;
|
|
21
21
|
activatedAt: string;
|
|
22
22
|
expiresAt?: string;
|
|
23
|
+
lastValidatedAt?: string;
|
|
23
24
|
validatedRemotely: boolean;
|
|
24
25
|
email?: string;
|
|
25
26
|
}
|
|
@@ -32,8 +33,10 @@ export interface ActivationResult {
|
|
|
32
33
|
}
|
|
33
34
|
export declare class KeyManager {
|
|
34
35
|
private license;
|
|
36
|
+
private isCheckingHeartbeat;
|
|
35
37
|
constructor();
|
|
36
38
|
isPro(): boolean;
|
|
39
|
+
private checkHeartbeat;
|
|
37
40
|
getLicenseKey(): string | null;
|
|
38
41
|
getLicense(): LicenseData | null;
|
|
39
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyManager.d.ts","sourceRoot":"","sources":["../../../src/proxy/KeyManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAcrD;AAID,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAID,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAA4B;;
|
|
1
|
+
{"version":3,"file":"KeyManager.d.ts","sourceRoot":"","sources":["../../../src/proxy/KeyManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAcrD;AAID,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAID,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,mBAAmB,CAAS;;IASpC,KAAK,IAAI,OAAO;YA8BF,cAAc;IAyB5B,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;;OAGG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+DtD;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB;;OAEG;IACH,MAAM,IAAI,IAAI;IAMd,OAAO,CAAC,IAAI;IAoCZ,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACH,OAAO,CAAC,cAAc;CAyCvB"}
|
|
@@ -49,6 +49,7 @@ function verifyOfflineKey(key) {
|
|
|
49
49
|
class KeyManager {
|
|
50
50
|
constructor() {
|
|
51
51
|
this.license = null;
|
|
52
|
+
this.isCheckingHeartbeat = false;
|
|
52
53
|
this.ensureCacheDir();
|
|
53
54
|
this.license = this.load();
|
|
54
55
|
}
|
|
@@ -58,14 +59,55 @@ class KeyManager {
|
|
|
58
59
|
return false;
|
|
59
60
|
if (!this.license.isPro)
|
|
60
61
|
return false;
|
|
61
|
-
// Check expiry if set
|
|
62
|
+
// Check expiry if explicitly set by remote server
|
|
62
63
|
if (this.license.expiresAt) {
|
|
63
64
|
if (Date.now() > new Date(this.license.expiresAt).getTime()) {
|
|
64
65
|
return false;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
68
|
+
// 1. Check Offline Grace Period (30 days maximum offline usage)
|
|
69
|
+
const lastValidated = this.license.lastValidatedAt || this.license.activatedAt;
|
|
70
|
+
const timeSinceLastValidation = Date.now() - new Date(lastValidated).getTime();
|
|
71
|
+
const thirtyDaysMs = 30 * 24 * 60 * 60 * 1000;
|
|
72
|
+
if (timeSinceLastValidation > thirtyDaysMs) {
|
|
73
|
+
console.warn(`\n[KeyManager] ā Offline grace period expired (>30 days since last remote check). Internet connection required to validate subscription.`);
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
// 2. Trigger silent background heartbeat validation if 7 days have passed
|
|
77
|
+
const sevenDaysMs = 7 * 24 * 60 * 60 * 1000;
|
|
78
|
+
if (timeSinceLastValidation > sevenDaysMs) {
|
|
79
|
+
this.checkHeartbeat().catch(() => { });
|
|
80
|
+
}
|
|
67
81
|
return true;
|
|
68
82
|
}
|
|
83
|
+
async checkHeartbeat() {
|
|
84
|
+
if (this.isCheckingHeartbeat || !this.license)
|
|
85
|
+
return;
|
|
86
|
+
this.isCheckingHeartbeat = true;
|
|
87
|
+
try {
|
|
88
|
+
const remoteData = await this.validateRemote(this.license.key);
|
|
89
|
+
if (remoteData.valid) {
|
|
90
|
+
// Extend validation timestamp
|
|
91
|
+
this.license.lastValidatedAt = new Date().toISOString();
|
|
92
|
+
if (remoteData.expiresAt)
|
|
93
|
+
this.license.expiresAt = remoteData.expiresAt;
|
|
94
|
+
this.save(this.license);
|
|
95
|
+
console.log(`[KeyManager] š Silent background heartbeat check: subscription valid. Expiry extended.`);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// Subscription cancelled or payment failed! Deactivate immediately.
|
|
99
|
+
console.warn(`[KeyManager] ā Background subscription verification failed: license is invalid or inactive. Deactivating Pro features...`);
|
|
100
|
+
this.deactivate();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
// Offline fallback: fail silently to preserve offline grace period
|
|
105
|
+
console.log(`[KeyManager] Background subscription check skipped (unreachable: ${err.message}). Grace period remaining.`);
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
this.isCheckingHeartbeat = false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
69
111
|
getLicenseKey() {
|
|
70
112
|
return this.license?.key || null;
|
|
71
113
|
}
|
|
@@ -116,6 +158,7 @@ class KeyManager {
|
|
|
116
158
|
tier: 'pro',
|
|
117
159
|
isPro: true,
|
|
118
160
|
activatedAt: new Date().toISOString(),
|
|
161
|
+
lastValidatedAt: new Date().toISOString(), // Initialize validation date
|
|
119
162
|
validatedRemotely,
|
|
120
163
|
expiresAt: remoteData?.expiresAt,
|
|
121
164
|
email: remoteData?.email,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyManager.js","sourceRoot":"","sources":["../../../src/proxy/KeyManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;AAqBH,4CAcC;AAjCD,4CAAoB;AACpB,gDAAwB;AACxB,kDAA0B;AAC1B,oDAA4B;AAE5B,iFAAiF;AAEjF,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAAE,cAAc,CAAC,CAAC;AAChG,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAC1D,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAChE,MAAM,YAAY,GAAG,2CAA2C,CAAC;AACjE,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,gBAAgB,GAAG,iDAAiD,CAAC;AAC3E,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAElE;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACrF,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAM,OAAO,GAAG,aAAa,KAAK,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7D,MAAM,YAAY,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7F,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO,QAAQ,KAAK,gBAAgB,CAAC;AACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyManager.js","sourceRoot":"","sources":["../../../src/proxy/KeyManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads text content from the macOS system clipboard using native pbpaste
|
|
3
|
+
*/
|
|
4
|
+
export declare function readClipboard(): string;
|
|
5
|
+
/**
|
|
6
|
+
* Writes text content to the macOS system clipboard using native pbcopy
|
|
7
|
+
*/
|
|
8
|
+
export declare function writeClipboard(text: string): void;
|
|
9
|
+
/**
|
|
10
|
+
* Returns true if the given text contains structural hallmarks of programming source code,
|
|
11
|
+
* avoiding normal text conversations, urls, or already squeezed blocks.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isCodeBlock(text: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Start background polling of the system clipboard.
|
|
16
|
+
* Auto-squeezes copied code snippets and alerts the developer.
|
|
17
|
+
*/
|
|
18
|
+
export declare function startClipboardWatcher(intervalMs?: number): void;
|
|
19
|
+
//# sourceMappingURL=ClipboardWatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClipboardWatcher.d.ts","sourceRoot":"","sources":["../../../src/utils/ClipboardWatcher.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAMtC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA2BjD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,SAAO,GAAG,IAAI,CAwC7D"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readClipboard = readClipboard;
|
|
4
|
+
exports.writeClipboard = writeClipboard;
|
|
5
|
+
exports.isCodeBlock = isCodeBlock;
|
|
6
|
+
exports.startClipboardWatcher = startClipboardWatcher;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const ContextSqueezer_1 = require("./ContextSqueezer");
|
|
9
|
+
/**
|
|
10
|
+
* Reads text content from the macOS system clipboard using native pbpaste
|
|
11
|
+
*/
|
|
12
|
+
function readClipboard() {
|
|
13
|
+
try {
|
|
14
|
+
return (0, child_process_1.execSync)('pbpaste', { encoding: 'utf8' });
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
return '';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Writes text content to the macOS system clipboard using native pbcopy
|
|
22
|
+
*/
|
|
23
|
+
function writeClipboard(text) {
|
|
24
|
+
try {
|
|
25
|
+
const proc = (0, child_process_1.spawn)('pbcopy');
|
|
26
|
+
proc.stdin.write(text);
|
|
27
|
+
proc.stdin.end();
|
|
28
|
+
}
|
|
29
|
+
catch (err) { }
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns true if the given text contains structural hallmarks of programming source code,
|
|
33
|
+
* avoiding normal text conversations, urls, or already squeezed blocks.
|
|
34
|
+
*/
|
|
35
|
+
function isCodeBlock(text) {
|
|
36
|
+
const trimmed = text.trim();
|
|
37
|
+
if (trimmed.length < 30)
|
|
38
|
+
return false;
|
|
39
|
+
// Prevent double squeezing by checking for our custom squeeze header comment
|
|
40
|
+
if (trimmed.includes('// [Lemma Clipboard Optimizer: Squeezed]'))
|
|
41
|
+
return false;
|
|
42
|
+
// If it is enclosed in a markdown code block, it's definitely code
|
|
43
|
+
if (trimmed.startsWith('```') && trimmed.endsWith('```'))
|
|
44
|
+
return true;
|
|
45
|
+
// Code indicators regex matcher
|
|
46
|
+
const codeMarkers = [
|
|
47
|
+
/function\s+\w+\s*\(/i,
|
|
48
|
+
/export\s+(?:default\s+)?(?:const|let|var|class|function)/,
|
|
49
|
+
/import\s+[\s\S]+?from\s+['"]/,
|
|
50
|
+
/require\(['"][a-zA-Z0-9_\-]+['"]\)/,
|
|
51
|
+
/class\s+\w+\s*(?:extends|\{)/,
|
|
52
|
+
/public\s+static\s+void\s+main/i,
|
|
53
|
+
/def\s+\w+\s*\(.*\)\s*:/, // Python
|
|
54
|
+
/<html>[\s\S]*<\/html>/i, // HTML
|
|
55
|
+
/^[ \t]*(?:const|let|var)\s+\w+\s*=/m,
|
|
56
|
+
/^[ \t]*if\s*\(.+\)\s*\{/m,
|
|
57
|
+
/^[ \t]*import\s+\w+/m,
|
|
58
|
+
/^[ \t]*package\s+\w+/m
|
|
59
|
+
];
|
|
60
|
+
return codeMarkers.some(regex => regex.test(text));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Start background polling of the system clipboard.
|
|
64
|
+
* Auto-squeezes copied code snippets and alerts the developer.
|
|
65
|
+
*/
|
|
66
|
+
function startClipboardWatcher(intervalMs = 1000) {
|
|
67
|
+
let lastClipboardContent = readClipboard();
|
|
68
|
+
console.log(`\nš [Clipboard] Telepathic Optimizer Active! Polling system clips every ${intervalMs}ms.`);
|
|
69
|
+
console.log(`š” Copy any block of code to squeeze it automatically for any chat IDE!\n`);
|
|
70
|
+
setInterval(() => {
|
|
71
|
+
try {
|
|
72
|
+
const currentContent = readClipboard();
|
|
73
|
+
if (currentContent === lastClipboardContent)
|
|
74
|
+
return;
|
|
75
|
+
// Update last content cache so we don't evaluate it again
|
|
76
|
+
lastClipboardContent = currentContent;
|
|
77
|
+
if (isCodeBlock(currentContent)) {
|
|
78
|
+
const originalLength = currentContent.length;
|
|
79
|
+
// Squeeze code block
|
|
80
|
+
const squeezed = (0, ContextSqueezer_1.squeezeCode)(currentContent);
|
|
81
|
+
// Add header to identify squeezed clips and prevent infinite loops
|
|
82
|
+
const header = `// [Lemma Clipboard Optimizer: Squeezed]\n`;
|
|
83
|
+
const finalContent = `${header}${squeezed}`;
|
|
84
|
+
const squeezedLength = finalContent.length;
|
|
85
|
+
const savings = Math.max(0, originalLength - squeezedLength);
|
|
86
|
+
const percent = originalLength > 0 ? ((savings / originalLength) * 100).toFixed(1) : '0';
|
|
87
|
+
// Update the system clipboard
|
|
88
|
+
writeClipboard(finalContent);
|
|
89
|
+
// Cache the newly written content so we ignore it on the next poll
|
|
90
|
+
lastClipboardContent = finalContent;
|
|
91
|
+
console.log(`⨠[Clipboard] Automatically squeezed copied code block! (Saved ${percent}% context tokens! [${originalLength} ā ${squeezedLength} chars])`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
console.error(`[Clipboard] Polling error: ${err.message}`);
|
|
96
|
+
}
|
|
97
|
+
}, intervalMs);
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=ClipboardWatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClipboardWatcher.js","sourceRoot":"","sources":["../../../src/utils/ClipboardWatcher.ts"],"names":[],"mappings":"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"}
|