@nxuss/lemma 0.5.1 → 0.5.2

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 (40) hide show
  1. package/README.md +1 -1
  2. package/dashboard/dist/assets/{index-B4TA31pA.js → index-CIlkFwDs.js} +98 -98
  3. package/dashboard/dist/assets/index-CIlkFwDs.js.map +1 -0
  4. package/dashboard/dist/index.html +1 -1
  5. package/dist/cjs/cli/lemma-proxy.d.ts +2 -0
  6. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  7. package/dist/cjs/cli/lemma-proxy.js +243 -37
  8. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  9. package/dist/cjs/mcp/index.js +81 -0
  10. package/dist/cjs/mcp/index.js.map +1 -1
  11. package/dist/cjs/utils/ClipboardWatcher.d.ts.map +1 -1
  12. package/dist/cjs/utils/ClipboardWatcher.js +3 -0
  13. package/dist/cjs/utils/ClipboardWatcher.js.map +1 -1
  14. package/dist/cjs/utils/SavingsLedger.d.ts +52 -0
  15. package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -0
  16. package/dist/cjs/utils/SavingsLedger.js +101 -0
  17. package/dist/cjs/utils/SavingsLedger.js.map +1 -0
  18. package/dist/cjs/utils/reportSavings.d.ts +24 -0
  19. package/dist/cjs/utils/reportSavings.d.ts.map +1 -0
  20. package/dist/cjs/utils/reportSavings.js +53 -0
  21. package/dist/cjs/utils/reportSavings.js.map +1 -0
  22. package/dist/esm/cli/lemma-proxy.d.ts +2 -0
  23. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  24. package/dist/esm/cli/lemma-proxy.js +241 -37
  25. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  26. package/dist/esm/mcp/index.js +81 -0
  27. package/dist/esm/mcp/index.js.map +1 -1
  28. package/dist/esm/utils/ClipboardWatcher.d.ts.map +1 -1
  29. package/dist/esm/utils/ClipboardWatcher.js +3 -0
  30. package/dist/esm/utils/ClipboardWatcher.js.map +1 -1
  31. package/dist/esm/utils/SavingsLedger.d.ts +52 -0
  32. package/dist/esm/utils/SavingsLedger.d.ts.map +1 -0
  33. package/dist/esm/utils/SavingsLedger.js +98 -0
  34. package/dist/esm/utils/SavingsLedger.js.map +1 -0
  35. package/dist/esm/utils/reportSavings.d.ts +24 -0
  36. package/dist/esm/utils/reportSavings.d.ts.map +1 -0
  37. package/dist/esm/utils/reportSavings.js +47 -0
  38. package/dist/esm/utils/reportSavings.js.map +1 -0
  39. package/package.json +2 -2
  40. package/dashboard/dist/assets/index-B4TA31pA.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SavingsLedger.d.ts","sourceRoot":"","sources":["../../../src/utils/SavingsLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,gBAAgB,GAAG,cAAc,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAE5G,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,WAAW,CAAC;IACvB,cAAc,EAAE,WAAW,CAAC;IAC5B,YAAY,EAAE,WAAW,CAAC;IAC1B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAKD,cAAM,aAAa;IACjB,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;;IAa1C;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAY5E;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ9D,wDAAwD;IACxD,WAAW,IAAI,eAAe;IAgB9B,8CAA8C;IAC9C,kBAAkB,IAAI,MAAM;IA+B5B,gDAAgD;IAChD,KAAK,IAAI,IAAI;CAKd;AAED,gDAAgD;AAChD,eAAO,MAAM,aAAa,eAAsB,CAAC;AACjD,eAAe,aAAa,CAAC"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * SavingsLedger — Singleton accumulator for token savings across all Lemma modules.
3
+ *
4
+ * Every module (ClipboardWatcher, ContextSqueezer, ComplexityRouter, SemanticCache)
5
+ * calls `ledger.record(source, charsBefore, charsAfter)` — no one knows about the dashboard.
6
+ *
7
+ * The proxy exposes the ledger via GET /api/savings-breakdown for the dashboard to consume.
8
+ */
9
+ /** Average blended cost per input token across GPT-4o / Claude Sonnet / Gemini Pro */
10
+ const AVG_COST_PER_TOKEN = 0.000008; // $0.008 per 1K tokens
11
+ class SavingsLedger {
12
+ constructor() {
13
+ this.sessionStartedAt = new Date().toISOString();
14
+ this.sources = {
15
+ clipboard: { events: 0, tokensSaved: 0, costSaved: 0 },
16
+ contextSqueeze: { events: 0, tokensSaved: 0, costSaved: 0 },
17
+ historyPrune: { events: 0, tokensSaved: 0, costSaved: 0 },
18
+ complexityRouting: { events: 0, tokensSaved: 0, costSaved: 0 },
19
+ cache: { events: 0, tokensSaved: 0, costSaved: 0 },
20
+ };
21
+ }
22
+ /**
23
+ * Record a savings event by char counts (automatically converts to token estimate).
24
+ * @param source Which module recorded the savings
25
+ * @param charsBefore Original char count before compression/routing
26
+ * @param charsAfter Resulting char count after compression/routing
27
+ */
28
+ record(source, charsBefore, charsAfter) {
29
+ const charsSaved = Math.max(0, charsBefore - charsAfter);
30
+ if (charsSaved === 0)
31
+ return;
32
+ const tokensSaved = Math.floor(charsSaved / 4);
33
+ const costSaved = tokensSaved * AVG_COST_PER_TOKEN;
34
+ this.sources[source].events++;
35
+ this.sources[source].tokensSaved += tokensSaved;
36
+ this.sources[source].costSaved += costSaved;
37
+ }
38
+ /**
39
+ * Record a savings event directly in tokens (for sources that already know their token count).
40
+ */
41
+ recordTokens(source, tokensSaved) {
42
+ if (tokensSaved <= 0)
43
+ return;
44
+ const costSaved = tokensSaved * AVG_COST_PER_TOKEN;
45
+ this.sources[source].events++;
46
+ this.sources[source].tokensSaved += tokensSaved;
47
+ this.sources[source].costSaved += costSaved;
48
+ }
49
+ /** Returns a full snapshot including computed totals */
50
+ getSnapshot() {
51
+ const total = { events: 0, tokensSaved: 0, costSaved: 0 };
52
+ for (const src of Object.values(this.sources)) {
53
+ total.events += src.events;
54
+ total.tokensSaved += src.tokensSaved;
55
+ total.costSaved += src.costSaved;
56
+ }
57
+ return {
58
+ ...this.sources,
59
+ total,
60
+ sessionStartedAt: this.sessionStartedAt,
61
+ };
62
+ }
63
+ /** Returns a pretty terminal summary block */
64
+ getTerminalSummary() {
65
+ const snap = this.getSnapshot();
66
+ const fmt = (n) => n.toLocaleString('en-US');
67
+ const fmtUSD = (n) => new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 4 }).format(n);
68
+ const rows = [
69
+ ['📋 Clipboard Squeeze', snap.clipboard.tokensSaved, snap.clipboard.costSaved],
70
+ ['🗜️ Context Squeeze ', snap.contextSqueeze.tokensSaved, snap.contextSqueeze.costSaved],
71
+ ['📜 History Prune ', snap.historyPrune.tokensSaved, snap.historyPrune.costSaved],
72
+ ['🔀 Model Routing ', snap.complexityRouting.tokensSaved, snap.complexityRouting.costSaved],
73
+ ['⚡ Semantic Cache ', snap.cache.tokensSaved, snap.cache.costSaved],
74
+ ];
75
+ const lines = [
76
+ '┌──────────────────────────────────────────────────────┐',
77
+ '│ 💰 Lemma Savings Report (this session) │',
78
+ '├──────────────────────────────────────────────────────┤',
79
+ ...rows
80
+ .filter(([, tokens]) => tokens > 0)
81
+ .map(([label, tokens, cost]) => `│ ${label} ${fmt(tokens).padStart(7)} tokens ${fmtUSD(cost).padStart(10)} │`),
82
+ '│ ────────────────────────────────────────────────── │',
83
+ `│ TOTAL ${fmt(snap.total.tokensSaved).padStart(7)} tokens ${fmtUSD(snap.total.costSaved).padStart(10)} │`,
84
+ '└──────────────────────────────────────────────────────┘',
85
+ ];
86
+ return lines.join('\n');
87
+ }
88
+ /** Reset all counters (e.g., on cache clear) */
89
+ reset() {
90
+ for (const key of Object.keys(this.sources)) {
91
+ this.sources[key] = { events: 0, tokensSaved: 0, costSaved: 0 };
92
+ }
93
+ }
94
+ }
95
+ /** Global singleton — import this everywhere */
96
+ export const savingsLedger = new SavingsLedger();
97
+ export default savingsLedger;
98
+ //# sourceMappingURL=SavingsLedger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SavingsLedger.js","sourceRoot":"","sources":["../../../src/utils/SavingsLedger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * reportSavings — Fire-and-forget helper to report token savings to the proxy's SavingsLedger.
3
+ *
4
+ * Used by processes that run separately from the proxy (e.g., MCP server, CLI tools).
5
+ * The proxy accumulates all savings in its in-memory SavingsLedger and serves them to the dashboard.
6
+ */
7
+ type SavingsSource = 'clipboard' | 'contextSqueeze' | 'historyPrune' | 'complexityRouting' | 'cache';
8
+ interface ReportByChars {
9
+ source: SavingsSource;
10
+ charsBefore: number;
11
+ charsAfter: number;
12
+ }
13
+ interface ReportByTokens {
14
+ source: SavingsSource;
15
+ tokens: number;
16
+ }
17
+ type ReportPayload = ReportByChars | ReportByTokens;
18
+ /**
19
+ * Report savings to the proxy's SavingsLedger via HTTP POST.
20
+ * Fire-and-forget — never throws, never blocks.
21
+ */
22
+ export declare function reportSavings(payload: ReportPayload): void;
23
+ export {};
24
+ //# sourceMappingURL=reportSavings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportSavings.d.ts","sourceRoot":"","sources":["../../../src/utils/reportSavings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,KAAK,aAAa,GAAG,WAAW,GAAG,gBAAgB,GAAG,cAAc,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAErG,UAAU,aAAa;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,cAAc;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC;AAapD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAsB1D"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * reportSavings — Fire-and-forget helper to report token savings to the proxy's SavingsLedger.
3
+ *
4
+ * Used by processes that run separately from the proxy (e.g., MCP server, CLI tools).
5
+ * The proxy accumulates all savings in its in-memory SavingsLedger and serves them to the dashboard.
6
+ */
7
+ import fs from 'fs';
8
+ import path from 'path';
9
+ import http from 'http';
10
+ function getProxyPort() {
11
+ try {
12
+ const HOME = process.env.HOME || process.env.USERPROFILE || '~';
13
+ const portFile = path.join(HOME, '.lemma-cache/proxy.port');
14
+ if (fs.existsSync(portFile)) {
15
+ return fs.readFileSync(portFile, 'utf8').trim();
16
+ }
17
+ }
18
+ catch { }
19
+ return '8081';
20
+ }
21
+ /**
22
+ * Report savings to the proxy's SavingsLedger via HTTP POST.
23
+ * Fire-and-forget — never throws, never blocks.
24
+ */
25
+ export function reportSavings(payload) {
26
+ try {
27
+ const port = getProxyPort();
28
+ const body = JSON.stringify(payload);
29
+ const req = http.request({
30
+ hostname: '127.0.0.1',
31
+ port: parseInt(port),
32
+ path: '/api/savings-record',
33
+ method: 'POST',
34
+ headers: {
35
+ 'Content-Type': 'application/json',
36
+ 'Content-Length': Buffer.byteLength(body),
37
+ },
38
+ });
39
+ req.on('error', () => { }); // Silently ignore if proxy isn't running
40
+ req.write(body);
41
+ req.end();
42
+ }
43
+ catch {
44
+ // Never throw — savings reporting is non-critical
45
+ }
46
+ }
47
+ //# sourceMappingURL=reportSavings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportSavings.js","sourceRoot":"","sources":["../../../src/utils/reportSavings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAiBxB,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC5D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YACvB,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;aAC1C;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,yCAAyC;QACpE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxuss/lemma",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Intelligent AI Gateway for IDEs & Agents — Semantic cache, Privacy Firewall, and Autonomous Cost-Optimization.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -162,7 +162,7 @@
162
162
  "dependencies": {
163
163
  "@chroma-core/default-embed": "^0.1.9",
164
164
  "@modelcontextprotocol/sdk": "^1.29.0",
165
- "@nxuss/lemma": "^0.5.1",
165
+ "@nxuss/lemma": "^0.5.2",
166
166
  "@types/cors": "^2.8.19",
167
167
  "axios": "^1.6.0",
168
168
  "commander": "^14.0.3",