@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.
Files changed (42) hide show
  1. package/README.md +16 -10
  2. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  3. package/dist/cjs/cli/lemma-proxy.js +94 -14
  4. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  5. package/dist/cjs/mcp/index.js +198 -1
  6. package/dist/cjs/mcp/index.js.map +1 -1
  7. package/dist/cjs/observability/IdeContextSync.d.ts.map +1 -1
  8. package/dist/cjs/observability/IdeContextSync.js +22 -10
  9. package/dist/cjs/observability/IdeContextSync.js.map +1 -1
  10. package/dist/cjs/proxy/KeyManager.d.ts +3 -0
  11. package/dist/cjs/proxy/KeyManager.d.ts.map +1 -1
  12. package/dist/cjs/proxy/KeyManager.js +44 -1
  13. package/dist/cjs/proxy/KeyManager.js.map +1 -1
  14. package/dist/cjs/utils/ClipboardWatcher.d.ts +19 -0
  15. package/dist/cjs/utils/ClipboardWatcher.d.ts.map +1 -0
  16. package/dist/cjs/utils/ClipboardWatcher.js +99 -0
  17. package/dist/cjs/utils/ClipboardWatcher.js.map +1 -0
  18. package/dist/cjs/utils/ContextSqueezer.d.ts +27 -1
  19. package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
  20. package/dist/cjs/utils/ContextSqueezer.js +279 -6
  21. package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
  22. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  23. package/dist/esm/cli/lemma-proxy.js +94 -14
  24. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  25. package/dist/esm/mcp/index.js +198 -1
  26. package/dist/esm/mcp/index.js.map +1 -1
  27. package/dist/esm/observability/IdeContextSync.d.ts.map +1 -1
  28. package/dist/esm/observability/IdeContextSync.js +22 -10
  29. package/dist/esm/observability/IdeContextSync.js.map +1 -1
  30. package/dist/esm/proxy/KeyManager.d.ts +3 -0
  31. package/dist/esm/proxy/KeyManager.d.ts.map +1 -1
  32. package/dist/esm/proxy/KeyManager.js +44 -1
  33. package/dist/esm/proxy/KeyManager.js.map +1 -1
  34. package/dist/esm/utils/ClipboardWatcher.d.ts +19 -0
  35. package/dist/esm/utils/ClipboardWatcher.d.ts.map +1 -0
  36. package/dist/esm/utils/ClipboardWatcher.js +93 -0
  37. package/dist/esm/utils/ClipboardWatcher.js.map +1 -0
  38. package/dist/esm/utils/ContextSqueezer.d.ts +27 -1
  39. package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
  40. package/dist/esm/utils/ContextSqueezer.js +273 -6
  41. package/dist/esm/utils/ContextSqueezer.js.map +1 -1
  42. package/package.json +2 -2
@@ -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;IAqBrC;;OAEG;IACU,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1D;;OAEG;YACW,mBAAmB;IA4DjC;;OAEG;IACH,OAAO,CAAC,cAAc;IA4CtB;;OAEG;YACW,YAAY;CAW3B"}
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
- // Enforce Pro License for smart mode
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 (!keyManager.isPro()) {
35
- logger.warn('IdeContextSync: "smart" mode requires an active Lemma Pro license. Falling back to "raw" mode.');
36
- this.config.mode = 'raw';
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":"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"}
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;;IAS3C,KAAK,IAAI,OAAO;IAYhB,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;;OAGG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8DtD;;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"}
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":"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"}
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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"}