@nxuss/lemma 0.4.5 → 0.4.7
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 -39
- package/dist/cjs/autopilot/AutopilotWatcher.d.ts +11 -0
- package/dist/cjs/autopilot/AutopilotWatcher.d.ts.map +1 -0
- package/dist/cjs/autopilot/AutopilotWatcher.js +119 -0
- package/dist/cjs/autopilot/AutopilotWatcher.js.map +1 -0
- package/dist/cjs/cli/lemma-proxy.d.ts +10 -0
- package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -0
- package/dist/cjs/cli/lemma-proxy.js +1268 -0
- package/dist/cjs/cli/lemma-proxy.js.map +1 -0
- package/dist/cjs/cloud/CloudSyncClient.d.ts +10 -0
- package/dist/cjs/cloud/CloudSyncClient.d.ts.map +1 -0
- package/dist/cjs/cloud/CloudSyncClient.js +42 -0
- package/dist/cjs/cloud/CloudSyncClient.js.map +1 -0
- package/dist/cjs/mcp/index.d.ts +2 -0
- package/dist/cjs/mcp/index.d.ts.map +1 -0
- package/dist/cjs/mcp/index.js +260 -0
- package/dist/cjs/mcp/index.js.map +1 -0
- package/dist/cjs/observability/IdeContextSync.d.ts.map +1 -1
- package/dist/cjs/observability/IdeContextSync.js +7 -2
- package/dist/cjs/observability/IdeContextSync.js.map +1 -1
- package/dist/cjs/proxy/AgentMultiplexer.d.ts +9 -0
- package/dist/cjs/proxy/AgentMultiplexer.d.ts.map +1 -0
- package/dist/cjs/proxy/AgentMultiplexer.js +69 -0
- package/dist/cjs/proxy/AgentMultiplexer.js.map +1 -0
- package/dist/cjs/proxy/ComplexityRouter.d.ts +19 -0
- package/dist/cjs/proxy/ComplexityRouter.d.ts.map +1 -0
- package/dist/cjs/proxy/ComplexityRouter.js +79 -0
- package/dist/cjs/proxy/ComplexityRouter.js.map +1 -0
- package/dist/cjs/security/SemanticScrubber.d.ts +25 -0
- package/dist/cjs/security/SemanticScrubber.d.ts.map +1 -0
- package/dist/cjs/security/SemanticScrubber.js +99 -0
- package/dist/cjs/security/SemanticScrubber.js.map +1 -0
- package/dist/cjs/utils/ContextSqueezer.d.ts +44 -0
- package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -0
- package/dist/cjs/utils/ContextSqueezer.js +201 -0
- package/dist/cjs/utils/ContextSqueezer.js.map +1 -0
- package/dist/esm/autopilot/AutopilotWatcher.d.ts +11 -0
- package/dist/esm/autopilot/AutopilotWatcher.d.ts.map +1 -0
- package/dist/esm/autopilot/AutopilotWatcher.js +112 -0
- package/dist/esm/autopilot/AutopilotWatcher.js.map +1 -0
- package/dist/esm/cli/lemma-proxy.d.ts +10 -0
- package/dist/esm/cli/lemma-proxy.d.ts.map +1 -0
- package/dist/esm/cli/lemma-proxy.js +1262 -0
- package/dist/esm/cli/lemma-proxy.js.map +1 -0
- package/dist/esm/cloud/CloudSyncClient.d.ts +10 -0
- package/dist/esm/cloud/CloudSyncClient.d.ts.map +1 -0
- package/dist/esm/cloud/CloudSyncClient.js +35 -0
- package/dist/esm/cloud/CloudSyncClient.js.map +1 -0
- package/dist/esm/mcp/index.d.ts +2 -0
- package/dist/esm/mcp/index.d.ts.map +1 -0
- package/dist/esm/mcp/index.js +255 -0
- package/dist/esm/mcp/index.js.map +1 -0
- package/dist/esm/observability/IdeContextSync.d.ts.map +1 -1
- package/dist/esm/observability/IdeContextSync.js +7 -2
- package/dist/esm/observability/IdeContextSync.js.map +1 -1
- package/dist/esm/proxy/AgentMultiplexer.d.ts +9 -0
- package/dist/esm/proxy/AgentMultiplexer.d.ts.map +1 -0
- package/dist/esm/proxy/AgentMultiplexer.js +62 -0
- package/dist/esm/proxy/AgentMultiplexer.js.map +1 -0
- package/dist/esm/proxy/ComplexityRouter.d.ts +19 -0
- package/dist/esm/proxy/ComplexityRouter.d.ts.map +1 -0
- package/dist/esm/proxy/ComplexityRouter.js +75 -0
- package/dist/esm/proxy/ComplexityRouter.js.map +1 -0
- package/dist/esm/security/SemanticScrubber.d.ts +25 -0
- package/dist/esm/security/SemanticScrubber.d.ts.map +1 -0
- package/dist/esm/security/SemanticScrubber.js +92 -0
- package/dist/esm/security/SemanticScrubber.js.map +1 -0
- package/dist/esm/utils/ContextSqueezer.d.ts +44 -0
- package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -0
- package/dist/esm/utils/ContextSqueezer.js +193 -0
- package/dist/esm/utils/ContextSqueezer.js.map +1 -0
- package/lemma-proxy.cjs +12 -738
- package/package.json +4 -3
- package/src/cloud/CloudSyncClient.js +0 -35
- package/src/proxy/ComplexityRouter.js +0 -37
- package/src/security/SemanticScrubber.js +0 -54
package/README.md
CHANGED
|
@@ -1,78 +1,81 @@
|
|
|
1
|
-
# Lemma v0.4.
|
|
1
|
+
# Lemma v0.4.7
|
|
2
2
|
> **The Intelligent AI Gateway — Privacy, Performance, and Precision for the Agentic Era.**
|
|
3
3
|
|
|
4
|
-
Lemma is a high-performance orchestration layer that sits between your development environment and LLM providers. It transforms the way you build with AI by providing **Shared Semantic Memory**, **Autonomous Cost Optimization**, and **
|
|
4
|
+
Lemma is a high-performance orchestration layer that sits between your development environment and LLM providers. It transforms the way you build with AI by providing **Shared Semantic Memory**, **Autonomous Cost Optimization**, and **Privacy Guardrails**.
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
## ⚡ Killer Features
|
|
9
9
|
|
|
10
|
+
### ✂️ Codebase Context Squeezer (AST Tree-Shaker)
|
|
11
|
+
**Unbelievable Prompt Compaction.** Stop wasting Claude Pro context limits and throttled Cursor speeds on repetitive codebase payloads. Lemma automatically tree-shakes outgoing prompts, recursively pruning heavy, irrelevant implementations while keeping structural declarations and symbols intact. Get ultra-fast answers under 1 second and enjoy 10x longer chats without ever hitting Claude's 5-hour usage caps.
|
|
12
|
+
|
|
13
|
+
### 🛸 Local Cache-Augmented Response Synthesis (CARS)
|
|
14
|
+
**Zero-Cost Response Generation.** When you ask a query semantically similar to a previous question, Lemma avoids the cloud completely. Instead, it dynamically harnesses your local computational environment to adjust and synthesize the historical answer to fit your new requirements in less than a second. 0 Cloud Tokens, 0 Cloud API costs, and seamless offline fallback protection.
|
|
15
|
+
|
|
10
16
|
### 🛡️ Privacy Firewall (Semantic Scrubber)
|
|
11
|
-
**Zero-Trust Prompts.** Stop leaking sensitive data. Lemma automatically detects API keys, PII, and credentials in your prompts, masking them with secure tokens before they reach the cloud. Responses are seamlessly reconstructed locally
|
|
17
|
+
**Zero-Trust Prompts.** Stop leaking sensitive data. Lemma automatically detects API keys, PII, and credentials in your prompts, masking them with secure tokens before they reach the cloud. Responses are seamlessly reconstructed locally.
|
|
12
18
|
|
|
13
19
|
### 🚦 Complexity Router (Cost-Optimizer)
|
|
14
|
-
**Intelligence Where it Matters.** Lemma analyzes the semantic complexity of every request. It autonomously routes lightweight tasks
|
|
20
|
+
**Intelligence Where it Matters.** Lemma analyzes the semantic complexity of every request. It autonomously routes lightweight tasks to hyper-efficient models like `gpt-4o-mini`, reserving premium models for high-reasoning challenges. Save up to 90% on simple tasks.
|
|
15
21
|
|
|
16
22
|
### 🧠 Telepathic Context Injector (Runtime Sync)
|
|
17
|
-
**Bridge the Gap Between Code and Execution.** Lemma synchronizes your application's live runtime state
|
|
23
|
+
**Bridge the Gap Between Code and Execution.** Lemma synchronizes your application's live runtime state and exceptions directly with your IDE’s consciousness. Your AI assistant gains immediate "situational awareness" of crashes.
|
|
18
24
|
|
|
19
25
|
### ⚡ Shared Semantic Cache
|
|
20
|
-
**Stop Paying for the Same Thought Twice.**
|
|
26
|
+
**Stop Paying for the Same Thought Twice.** Lemma understands meaning. It recognizes similar prompts and returns instant (3ms) responses, saving 40-70% on total API expenditure.
|
|
21
27
|
|
|
22
28
|
---
|
|
23
29
|
|
|
24
|
-
## 🚀
|
|
30
|
+
## 🚀 Smart CLI (Zero-Config)
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
Lemma v0.4.7 introduces the **Smart CLI**, making it easier than ever to get started:
|
|
27
33
|
|
|
28
34
|
```bash
|
|
35
|
+
# 1. Install
|
|
29
36
|
npm install -g @nxuss/lemma
|
|
30
|
-
|
|
37
|
+
|
|
38
|
+
# 2. Initialize (Auto-configures .env and .lemma/)
|
|
39
|
+
lemma init
|
|
40
|
+
|
|
41
|
+
# 3. Start with Intelligence Report
|
|
42
|
+
lemma start
|
|
31
43
|
```
|
|
32
44
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
* **Gemini Base:** `http://localhost:8085/v1beta`
|
|
36
|
-
* **Dashboard:** `http://localhost:3000`
|
|
45
|
+
### 🧠 Intelligence Report
|
|
46
|
+
On startup, Lemma performs a **System Check** to detect dependencies like Ollama and ChromaDB, providing a real-time report of active features and optimizations.
|
|
37
47
|
|
|
38
48
|
---
|
|
39
49
|
|
|
40
50
|
## 💎 Tier Comparison
|
|
41
51
|
|
|
42
|
-
| Feature | 🆓 Free (
|
|
52
|
+
| Feature | 🆓 Free (Standard) | 💎 Pro ($12/mo) |
|
|
43
53
|
| :--- | :--- | :--- |
|
|
44
|
-
| **
|
|
45
|
-
| **
|
|
46
|
-
| **
|
|
47
|
-
| **
|
|
48
|
-
| **
|
|
54
|
+
| **Privacy Firewall** | ✅ Included | ✅ Advanced Masking |
|
|
55
|
+
| **Complexity Router** | ✅ Included | ✅ Custom Routing Policies |
|
|
56
|
+
| **Caching** | Exact Match | **Semantic Memory** |
|
|
57
|
+
| **Hive Mind** | Local Only | **Cloud Sync (Team Memory)** |
|
|
58
|
+
| **Telepathy** | Basic Sync | **Advanced State Injection** |
|
|
49
59
|
| **Limits** | 300 requests/mo | **Unlimited Agentic Power** |
|
|
50
60
|
|
|
51
61
|
---
|
|
52
62
|
|
|
53
|
-
## 🛠️
|
|
54
|
-
|
|
55
|
-
### Use as an Intelligent Proxy
|
|
56
|
-
Simply swap your OpenAI/Anthropic base URL in your favorite tools (Cursor, Copilot, AutoGPT). Lemma handles the caching, scrubbing, and routing transparently.
|
|
63
|
+
## 🛠️ Integration: Power Up Your Favorite Tools
|
|
57
64
|
|
|
58
|
-
|
|
59
|
-
# Point your configuration to:
|
|
60
|
-
http://localhost:8085/v1
|
|
61
|
-
```
|
|
65
|
+
Lemma is compatible with **any** tool that allows you to configure a custom OpenAI Base URL. This means you can add Lemma's intelligence to your existing workflow in seconds.
|
|
62
66
|
|
|
63
|
-
### Use
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
---
|
|
67
|
+
### 💬 Use it with AI Chats & IDEs
|
|
68
|
+
You don't need to change your habits. Just point your tool's "Base URL" to Lemma:
|
|
69
|
+
* **Cursor:** Go to `Settings > Models > OpenAI API > Override Base URL` and set it to `http://localhost:8081/v1`.
|
|
70
|
+
* **VS Code (Continue):** Update your `config.json` to use `http://localhost:8081/v1` as the `apiBase`.
|
|
71
|
+
* **AutoGPT / BabyAGI:** Set the `OPENAI_API_BASE` environment variable.
|
|
72
|
+
* **Custom Apps:** Replace `https://api.openai.com/v1` with `http://localhost:8081/v1` in your SDK initialization.
|
|
72
73
|
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
### ⚡ Why use Lemma for Chat?
|
|
75
|
+
1. **Privacy:** Your IDE won't leak your secrets to the cloud.
|
|
76
|
+
2. **Context:** Lemma syncs your runtime crashes directly to your chat window.
|
|
77
|
+
3. **Speed:** Instant responses for similar questions via Semantic Cache.
|
|
75
78
|
|
|
76
79
|
---
|
|
77
80
|
|
|
78
|
-
MIT © Nxus Studio | [
|
|
81
|
+
MIT © Nxus Studio | [Upgrade to Lemma Pro](https://lemma.nxus.studio/upgrade)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class AutopilotWatcher {
|
|
2
|
+
private isRunning;
|
|
3
|
+
private watchDir;
|
|
4
|
+
private debounceTimer;
|
|
5
|
+
private activeBuildProcess;
|
|
6
|
+
constructor(watchDir?: string);
|
|
7
|
+
start(): void;
|
|
8
|
+
private triggerBuildAndHeal;
|
|
9
|
+
stop(): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=AutopilotWatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutopilotWatcher.d.ts","sourceRoot":"","sources":["../../../src/autopilot/AutopilotWatcher.ts"],"names":[],"mappings":"AAKA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,kBAAkB,CAAa;gBAE3B,QAAQ,GAAE,MAAc;IAIpC,KAAK;IAuBL,OAAO,CAAC,mBAAmB;IA+E3B,IAAI;CAML"}
|
|
@@ -0,0 +1,119 @@
|
|
|
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.AutopilotWatcher = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
const lemma_proxy_1 = require("../cli/lemma-proxy");
|
|
11
|
+
class AutopilotWatcher {
|
|
12
|
+
constructor(watchDir = 'src') {
|
|
13
|
+
this.isRunning = false;
|
|
14
|
+
this.debounceTimer = null;
|
|
15
|
+
this.activeBuildProcess = null;
|
|
16
|
+
this.watchDir = path_1.default.resolve(process.cwd(), watchDir);
|
|
17
|
+
}
|
|
18
|
+
start() {
|
|
19
|
+
if (this.isRunning)
|
|
20
|
+
return;
|
|
21
|
+
this.isRunning = true;
|
|
22
|
+
console.log(`\n🛸 \x1b[35m[Autopilot]\x1b[0m Starting active background watcher on: ${this.watchDir}`);
|
|
23
|
+
console.log(`💡 \x1b[36mAutopilot is actively monitoring your saves. Make code errors and watch them heal!\x1b[0m\n`);
|
|
24
|
+
if (!fs_1.default.existsSync(this.watchDir)) {
|
|
25
|
+
console.log(`⚠️ Watch directory ${this.watchDir} does not exist. Creating it.`);
|
|
26
|
+
fs_1.default.mkdirSync(this.watchDir, { recursive: true });
|
|
27
|
+
}
|
|
28
|
+
// Watch files recursively natively (mac supports recursive natively)
|
|
29
|
+
fs_1.default.watch(this.watchDir, { recursive: true }, (eventType, filename) => {
|
|
30
|
+
if (!filename || filename.endsWith('.fixed') || filename.includes('.lemma'))
|
|
31
|
+
return;
|
|
32
|
+
// Debounce trigger
|
|
33
|
+
if (this.debounceTimer)
|
|
34
|
+
clearTimeout(this.debounceTimer);
|
|
35
|
+
this.debounceTimer = setTimeout(() => {
|
|
36
|
+
this.triggerBuildAndHeal(filename);
|
|
37
|
+
}, 1500);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
triggerBuildAndHeal(modifiedFile) {
|
|
41
|
+
if (this.activeBuildProcess) {
|
|
42
|
+
this.activeBuildProcess.kill();
|
|
43
|
+
this.activeBuildProcess = null;
|
|
44
|
+
}
|
|
45
|
+
console.log(`\n📝 \x1b[33m[Autopilot]\x1b[0m Change detected in ${modifiedFile}. Running background compilation...`);
|
|
46
|
+
// Determine the project root as the parent of watchDir
|
|
47
|
+
const projectRoot = path_1.default.dirname(this.watchDir);
|
|
48
|
+
// Determine the build/validation command
|
|
49
|
+
let cmd = 'npx tsc --noEmit';
|
|
50
|
+
if (!fs_1.default.existsSync(path_1.default.join(projectRoot, 'tsconfig.json'))) {
|
|
51
|
+
cmd = 'npm run build';
|
|
52
|
+
}
|
|
53
|
+
this.activeBuildProcess = (0, child_process_1.exec)(cmd, { cwd: projectRoot }, async (error, stdout, stderr) => {
|
|
54
|
+
this.activeBuildProcess = null;
|
|
55
|
+
if (!error) {
|
|
56
|
+
console.log(`✨ \x1b[32m[Autopilot] Build compiled perfectly!\x1b[0m`);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const output = stdout + '\n' + stderr;
|
|
60
|
+
console.log(`❌ \x1b[31m[Autopilot] Compilation error detected!\x1b[0m`);
|
|
61
|
+
// Parse TypeScript compiler output
|
|
62
|
+
// Standard format: src/utils/ContextSqueezer.ts:130:50 - error TS7006: Parameter 'match' implicitly has an 'any' type.
|
|
63
|
+
const tsErrorRegex = /([^\s\n]+\.ts)[\s\(:]+(\d+)[\s,:]+(\d+)?[\s\)]*[\s-:]+error\s+([^\n]+)/;
|
|
64
|
+
const match = output.match(tsErrorRegex);
|
|
65
|
+
if (match) {
|
|
66
|
+
const file = match[1];
|
|
67
|
+
const line = match[2];
|
|
68
|
+
const errorMsg = match[4];
|
|
69
|
+
console.log(`🩺 \x1b[35m[Autopilot] Parser details:\x1b[0m File: ${file}, Line: ${line}, Error: ${errorMsg}`);
|
|
70
|
+
// Write the crash state to both projectRoot/.lemma/live-context.md and process.cwd()/.lemma/live-context.md
|
|
71
|
+
const contextDirs = [
|
|
72
|
+
path_1.default.join(projectRoot, '.lemma'),
|
|
73
|
+
path_1.default.join(process.cwd(), '.lemma')
|
|
74
|
+
];
|
|
75
|
+
for (const dir of contextDirs) {
|
|
76
|
+
if (!fs_1.default.existsSync(dir)) {
|
|
77
|
+
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
78
|
+
}
|
|
79
|
+
const absoluteFile = path_1.default.resolve(projectRoot, file);
|
|
80
|
+
const liveContextContent = `# Autopilot Telemetry Crash Report
|
|
81
|
+
Timestamp: ${new Date().toISOString()}
|
|
82
|
+
Message: ${errorMsg} in ${absoluteFile}:${line}
|
|
83
|
+
Stack:
|
|
84
|
+
at ${absoluteFile}:${line}:0
|
|
85
|
+
`;
|
|
86
|
+
fs_1.default.writeFileSync(path_1.default.join(dir, 'live-context.md'), liveContextContent, 'utf8');
|
|
87
|
+
}
|
|
88
|
+
// Execute performAutoHeal in apply mode!
|
|
89
|
+
console.log(`⚡ \x1b[35m[Autopilot] Calling auto-healing agent...\x1b[0m`);
|
|
90
|
+
try {
|
|
91
|
+
const res = await (0, lemma_proxy_1.performAutoHeal)(true);
|
|
92
|
+
if (res.success) {
|
|
93
|
+
console.log(`✔ \x1b[32m[Autopilot] Auto-healed: ${res.message}\x1b[0m\n`);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
console.log(`⚠️ \x1b[33m[Autopilot] Healing agent failed: ${res.message}\x1b[0m\n`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
console.log(`⚠️ \x1b[33m[Autopilot] Healing agent error: ${err.message}\x1b[0m\n`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
console.log(`⚠️ \x1b[33m[Autopilot] Could not parse compile error layout automatically. Output:\x1b[0m`);
|
|
105
|
+
console.log(output.trim().substring(0, 300) + '...');
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
stop() {
|
|
110
|
+
this.isRunning = false;
|
|
111
|
+
if (this.debounceTimer)
|
|
112
|
+
clearTimeout(this.debounceTimer);
|
|
113
|
+
if (this.activeBuildProcess)
|
|
114
|
+
this.activeBuildProcess.kill();
|
|
115
|
+
console.log(`🛸 \x1b[35m[Autopilot]\x1b[0m Background watcher stopped.`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.AutopilotWatcher = AutopilotWatcher;
|
|
119
|
+
//# sourceMappingURL=AutopilotWatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutopilotWatcher.js","sourceRoot":"","sources":["../../../src/autopilot/AutopilotWatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
export declare function performAutoHeal(apply: boolean): Promise<{
|
|
3
|
+
success: boolean;
|
|
4
|
+
message: string;
|
|
5
|
+
patch?: string;
|
|
6
|
+
filePath?: string;
|
|
7
|
+
fileBefore?: string;
|
|
8
|
+
fileAfter?: string;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=lemma-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lemma-proxy.d.ts","sourceRoot":"","sources":["../../../src/cli/lemma-proxy.ts"],"names":[],"mappings":";AAumCA,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6KhL"}
|