@nxuss/lemma 1.18.2 → 1.20.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.
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: lemma
3
+ description: Lemma — cache semántico, firewall de privacidad y memoria cross-sesión para Muse. Usa `lemma call <tool>` vía bash para acceder a 70+ tools sin MCP nativo.
4
+ user-invocable: true
5
+ allowed-tools: bash
6
+ ---
7
+
8
+ # Lemma para Muse
9
+
10
+ Eres Muse Code (muse-spark). Tienes **Lemma MCP** disponible — gateway de caché semántica, firewall de privacidad y memoria persistente. Muse no expone MCP nativamente, así que llamas a Lemma vía **CLI `lemma call`** (wrapper sobre `mcp-server.js` por stdio) + **proxy local**.
11
+
12
+ ## Qué es Lemma
13
+
14
+ - **Proxy local** en `http://localhost:8081` — cachea respuestas LLM (BM25 + embeddings), ahorra tokens/dinero.
15
+ - **Brain persistente** en `~/.lemma-cache/lemma_brain.json` + memoria por proyecto.
16
+ - **MCP server** con 70+ tools — las mismas que usan Claude Code / Cursor / Codex, aquí vía `lemma call`.
17
+
18
+ > **Nota de compatibilidad:** Este skill NO afecta a Claude Code, Cursor, Codex ni otros CLIs con MCP nativo. Ellos siguen usando `mcp__lemma__*` directo. Las reglas globales de `AGENTS.md` (MANDATORY RULES) aplican a clientes con MCP nativo; si eres Muse, **este skill tiene prioridad** sobre `AGENTS.md` para decidir cuándo usar Lemma.
19
+
20
+ ## Cuándo usar Lemma (Muse)
21
+
22
+ | Tarea | Qué hacer con Lemma |
23
+ |---|---|
24
+ | Pregunta que puede estar ya resuelta | `search_memory` antes de razonar |
25
+ | Pregunta atada a archivos concretos (mismo prompt + mismos archivos) | `state_hash_cache` con `action=lookup` antes, `store` después |
26
+ | Conocimiento que debe sobrevivir sesiones | `search_memory` / `store_memory` (con `derivedFrom`) |
27
+ | Leer/listar/buscar workspace | Usa tus tools nativos (`read_file`, `bash ls/grep`) — Lemma añade scrubbing si lo llamas, pero no es obligatorio |
28
+ | Tarea mecánica → decidir modelo barato | `get_routing_advice` |
29
+ | Aplicar patch | `validate_patch_sandbox` primero |
30
+ | "¿Cuánto ahorramos?" | `token_receipt` |
31
+
32
+ Si Lemma no encaja, usa tu tool nativo. No fuerces Lemma donde no aporta.
33
+
34
+ ## Cómo llamar a Lemma desde Muse (preferido)
35
+
36
+ Usa el wrapper `lemma call` — evita craft de JSON-RPC manual y escapa args por ti. Está disponible como `node ./lemma-proxy.cjs call` o `node ./bin/lemma-call.js` o `npx @nxuss/lemma call` si instalaste global.
37
+
38
+ ```bash
39
+ # 1. Lookup en memoria antes de razonar (preferido — wrapper)
40
+ node ./lemma-proxy.cjs call search_memory --query "tu pregunta"
41
+ # o JSON explícito:
42
+ node ./lemma-proxy.cjs call search_memory '{"query":"tu pregunta"}'
43
+
44
+ # 2. Busca en workspace (con scrubbing)
45
+ node ./lemma-proxy.cjs call search_workspace --query "texto" --maxResults 10
46
+
47
+ # 3. Guarda solución verificada
48
+ node ./lemma-proxy.cjs call store_memory '{"content":"solución verificada","tags":["bugfix"]}'
49
+
50
+ # 4. Lista tools disponibles
51
+ node ./lemma-proxy.cjs call --list
52
+
53
+ # Pipe también funciona:
54
+ echo '{"query":"hello"}' | node ./bin/lemma-call.js search_memory
55
+ ```
56
+
57
+ **Alternativa raw (solo si el wrapper no está disponible):**
58
+
59
+ ```bash
60
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_memory","arguments":{"query":"tu pregunta"}}}' | node ./mcp-server.js
61
+ ```
62
+
63
+ Para tráfico LLM real (cache del proxy), asegúrate que el daemon corre:
64
+
65
+ ```bash
66
+ node ./lemma-proxy.cjs status
67
+ node ./lemma-proxy.cjs start
68
+ ```
69
+
70
+ ## Cero config en este repo
71
+
72
+ Si clonaste `lemma` y lo abriste con Muse, **no necesitas correr ningún comando**. Este repo ya trae:
73
+ - `.agents/skills/lemma/SKILL.md` (este archivo) — Muse lo detecta al abrir el workspace
74
+ - `AGENTS.md` con guard clause para Muse
75
+ - `bin/lemma-call.js` + `lemma-proxy.cjs call` (wrapper sin JSON manual)
76
+ - `mcp-server.js` como fallback sin build
77
+
78
+ Muse te pedirá confiar el workspace la primera vez (prompt interactivo). Una vez que aceptas, el skill queda activo automáticamente — sin `lemma init`, sin `npm run build` manual. Para uso total (70+ tools) el wrapper resuelve `dist/cjs/mcp/index.js` → `mcp-server.js`; si `dist` no existe se auto-construye o usa el fallback con las tools core.
79
+
80
+ ## Sandbox y permisos
81
+
82
+ Muse corre con sandbox por workspace. El proxy (`localhost:8081`) y el brain (`~/.lemma-cache/`) están **fuera** del workspace, así que:
83
+
84
+ - La primera vez Muse pregunta si confías el workspace — di que sí. Después queda recordado, no necesitas `--trust-workspace` manual cada vez (solo si lo abres con flag explícito).
85
+ - Si ves `permission denied`, acepta el trust prompt y re-intenta; no necesitas `--disable-sandbox`.
86
+ - El wrapper prioriza `dist/cjs/mcp/index.js` y cae a `mcp-server.js` si aún no hay build — cero pasos extra.
87
+
88
+ ## Flujo obligatorio al iniciar sesión
89
+
90
+ 1. Llama `search_memory` vía `lemma call` con el tema de la tarea.
91
+ 2. Si hay hit, verifícalo contra el código actual antes de presentarlo.
92
+ 3. Al terminar con solución verificada (tests pasaron), llama `store_memory` vía `lemma call`.
93
+
94
+ ## Flujo para bugs
95
+
96
+ 1. `get_telepathic_hints` vía `lemma call` si necesitas contexto de runtime.
97
+ 2. `search_memory` con el mensaje de error.
98
+
99
+ ## Regla dura
100
+
101
+ Si tu respuesta viene de un cache hit, dilo explícitamente: "esto viene de memoria cacheada". Nunca presentes un hit como razonamiento fresco. Y nunca guardes una solución no verificada.
102
+
103
+ ## Verificación (opcional)
104
+
105
+ En este repo no necesitas instalar nada — ya está listo. Solo si quieres verificar:
106
+
107
+ ```bash
108
+ # Wrapper responde (sin JSON manual)
109
+ node ./lemma-proxy.cjs call --list | head -c 500
110
+ node ./lemma-proxy.cjs call get_project_onboarding '{}' | head -c 800
111
+
112
+ # Proxy (solo si usas cache de tráfico LLM)
113
+ node ./lemma-proxy.cjs status
114
+ ```
115
+
116
+ Para **otros proyectos** (no este repo), instala Lemma una vez:
117
+
118
+ ```bash
119
+ npx @nxuss/lemma init # genera .agents/skills/lemma/SKILL.md + AGENTS.md en ese proyecto
120
+ # o
121
+ npm i -D @nxuss/lemma && npx lemma init
122
+ ```
123
+
124
+ > Generado por `lemma init` — @nxuss/lemma para Muse.
package/README.md CHANGED
@@ -27,10 +27,12 @@ to an auditable ledger, never an estimate.
27
27
 
28
28
  ```bash
29
29
  npm install -g @nxuss/lemma
30
- lemma init # auto-configures MCP for your IDE
30
+ lemma init # auto-configures MCP for your IDE (Claude Code, Cursor, Codex, Windsurf, Kiro, OpenCode)
31
31
  lemma start # gateway + dashboard on http://localhost:8081
32
32
  ```
33
33
 
34
+ > **Muse** — no setup needed. This repo is already Muse-compatible zero-config: clone and open with `muse` — the skill at `.agents/skills/lemma/SKILL.md` auto-loads and `lemma call` works via `bash`. See [MCP integration](#-mcp-integration).
35
+
34
36
  ---
35
37
 
36
38
  ## ✨ What Lemma actually does
@@ -154,9 +156,11 @@ Customize via `lemma.config.json`:
154
156
 
155
157
  | Client | Setup |
156
158
  | :--- | :--- |
159
+ | **Muse** (`muse` CLI · Muse Spark) | **Zero-config** — clone this repo and open with `muse`; skill at `.agents/skills/lemma/SKILL.md` auto-loads, `lemma call` wrapper via `bash` (no MCP native needed). No `lemma init` required. |
157
160
  | OpenCode | `lemma init` — registers itself in `~/.opencode.json`, zero config. |
158
161
  | Cursor / Windsurf / Kiro / Antigravity | Settings → MCP → add server, command `lemma mcp`. |
159
162
  | Claude Desktop | Add to `mcpServers`: `{ "lemma": { "command": "npx", "args": ["-y", "@nxuss/lemma", "mcp"] } }` |
163
+ | Claude Code / Codex CLI | `lemma init` — auto-configures MCP + sets gateway (`ANTHROPIC_BASE_URL`/`OPENAI_BASE_URL` → `http://localhost:8081`). |
160
164
 
161
165
  Once connected, Lemma auto-injects its TurboMode system prompt on handshake — states the goal
162
166
  (reduce what enters context without ever costing a correct answer) and enforces it: a tool call
package/bin/init.js CHANGED
@@ -427,9 +427,18 @@ function configureClaudeCodeGateway(anthropicApiKey) {
427
427
 
428
428
  const LEMMA_RULES_CONTENT = `# Lemma MCP — Autonomous Behaviors
429
429
 
430
- > ⚠️ MANDATORY RULES — Follow without exception.
430
+ > ⚠️ MANDATORY RULES — Follow without exception **for MCP-native clients**.
431
431
 
432
- The MCP server \`lemma\` is connected. NEVER use native tools when a Lemma equivalent exists.
432
+ The MCP server \`lemma\` is connected. For clients with native MCP support
433
+ (Claude Code, Cursor, Codex, Windsurf, Kiro, OpenCode), NEVER use native tools
434
+ when a Lemma equivalent exists.
435
+
436
+ > **Muse Code:** you DO NOT have native \`mcp__lemma__*\` tools. For you,
437
+ > \`AGENTS.md\` is advisory. Follow \`.agents/skills/lemma/SKILL.md\` instead —
438
+ > it has priority and uses \`lemma call\` via bash. Do not enforce the table
439
+ > below as a hard block; use it only when \`lemma call\` actually helps.
440
+
441
+ ## Mandatory Substitutions (MCP-native clients only)
433
442
 
434
443
  ## Mandatory Substitutions
435
444
 
@@ -452,6 +461,8 @@ The MCP server \`lemma\` is connected. NEVER use native tools when a Lemma equiv
452
461
  2. Call \`search_memory\` with the task topic — recall past solutions
453
462
  3. When done: call \`store_memory\` with the solution
454
463
 
464
+ > Muse: use \`node ./lemma-proxy.cjs call <tool>\` (see \`.agents/skills/lemma/SKILL.md\`).
465
+
455
466
  ## Bug Reporting
456
467
 
457
468
  1. Call \`get_telepathic_hints\` with the relevant file
@@ -474,6 +485,17 @@ function updateAgentsMd() {
474
485
  const existing = fs.readFileSync(agentsMdPath, 'utf8');
475
486
  if (!existing.includes('@nxuss/lemma')) {
476
487
  fs.appendFileSync(agentsMdPath, '\n---\n\n' + LEMMA_RULES_CONTENT, 'utf8');
488
+ } else if (!existing.includes('Muse Code:') || !existing.includes('MCP-native clients')) {
489
+ // Migrate old Lemma AGENTS.md (pre-Muse guard) to new version with Muse compatibility
490
+ // Replace the old block in-place to preserve any user content above it
491
+ const lemmaBlockRegex = /# Lemma MCP[\s\S]*?\*Auto-generated by `lemma init` — @nxuss\/lemma\*/;
492
+ if (lemmaBlockRegex.test(existing)) {
493
+ const updated = existing.replace(lemmaBlockRegex, LEMMA_RULES_CONTENT.trim());
494
+ fs.writeFileSync(agentsMdPath, updated, 'utf8');
495
+ } else {
496
+ // Fallback: append new block
497
+ fs.appendFileSync(agentsMdPath, '\n---\n\n' + LEMMA_RULES_CONTENT, 'utf8');
498
+ }
477
499
  }
478
500
  } else {
479
501
  fs.writeFileSync(agentsMdPath, LEMMA_RULES_CONTENT, 'utf8');
@@ -546,7 +568,162 @@ function configureKiro() {
546
568
  return true;
547
569
  }
548
570
 
549
- // OpenCode: register MCP server in opencode.json
571
+ // OpenCode: register MCP server in opencode.json + Muse skill
572
+ const MUSE_SKILL_CONTENT = `---
573
+ name: lemma
574
+ description: Lemma — cache semántico, firewall de privacidad y memoria cross-sesión para Muse. Usa lemma call <tool> vía bash para acceder a 70+ tools sin MCP nativo.
575
+ user-invocable: true
576
+ allowed-tools: bash
577
+ ---
578
+
579
+ # Lemma para Muse
580
+
581
+ Eres Muse Code (muse-spark). Tienes **Lemma MCP** disponible — gateway de caché semántica, firewall de privacidad y memoria persistente. Muse no expone MCP nativamente, así que llamas a Lemma vía **CLI \`lemma call\`** (wrapper sobre \`mcp-server.js\` por stdio) + **proxy local**.
582
+
583
+ ## Qué es Lemma
584
+
585
+ - **Proxy local** en \`http://localhost:8081\` — cachea respuestas LLM (BM25 + embeddings), ahorra tokens/dinero.
586
+ - **Brain persistente** en \`~/.lemma-cache/lemma_brain.json\` + memoria por proyecto.
587
+ - **MCP server** con 70+ tools — las mismas que usan Claude Code / Cursor / Codex, aquí vía \`lemma call\`.
588
+
589
+ > **Nota de compatibilidad:** Este skill NO afecta a Claude Code, Cursor, Codex ni otros CLIs con MCP nativo. Ellos siguen usando \`mcp__lemma__*\` directo. Las reglas globales de \`AGENTS.md\` (MANDATORY RULES) aplican a clientes con MCP nativo; si eres Muse, **este skill tiene prioridad** sobre \`AGENTS.md\` para decidir cuándo usar Lemma.
590
+
591
+ ## Cuándo usar Lemma (Muse)
592
+
593
+ | Tarea | Qué hacer con Lemma |
594
+ |---|---|
595
+ | Pregunta que puede estar ya resuelta | \`search_memory\` antes de razonar |
596
+ | Pregunta atada a archivos concretos (mismo prompt + mismos archivos) | \`state_hash_cache\` con \`action=lookup\` antes, \`store\` después |
597
+ | Conocimiento que debe sobrevivir sesiones | \`search_memory\` / \`store_memory\` (con \`derivedFrom\`) |
598
+ | Leer/listar/buscar workspace | Usa tus tools nativos (\`read_file\`, \`bash ls/grep\`) — Lemma añade scrubbing si lo llamas, pero no es obligatorio |
599
+ | Tarea mecánica → decidir modelo barato | \`get_routing_advice\` |
600
+ | Aplicar patch | \`validate_patch_sandbox\` primero |
601
+ | "¿Cuánto ahorramos?" | \`token_receipt\` |
602
+
603
+ Si Lemma no encaja, usa tu tool nativo. No fuerces Lemma donde no aporta.
604
+
605
+ ## Cómo llamar a Lemma desde Muse (preferido)
606
+
607
+ Usa el wrapper \`lemma call\` — evita craft de JSON-RPC manual y escapa args por ti. Está disponible como \`node ./lemma-proxy.cjs call\` o \`node ./bin/lemma-call.js\` o \`npx @nxuss/lemma call\` si instalaste global.
608
+
609
+ \`\`\`bash
610
+ # 1. Lookup en memoria antes de razonar (preferido — wrapper)
611
+ node ./lemma-proxy.cjs call search_memory --query "tu pregunta"
612
+ # o JSON explícito:
613
+ node ./lemma-proxy.cjs call search_memory '{"query":"tu pregunta"}'
614
+
615
+ # 2. Busca en workspace (con scrubbing)
616
+ node ./lemma-proxy.cjs call search_workspace --query "texto" --maxResults 10
617
+
618
+ # 3. Guarda solución verificada
619
+ node ./lemma-proxy.cjs call store_memory '{"content":"solución verificada","tags":["bugfix"]}'
620
+
621
+ # 4. Lista tools disponibles
622
+ node ./lemma-proxy.cjs call --list
623
+
624
+ # Pipe también funciona:
625
+ echo '{"query":"hello"}' | node ./bin/lemma-call.js search_memory
626
+ \`\`\`
627
+
628
+ **Alternativa raw (solo si el wrapper no está disponible):**
629
+
630
+ \`\`\`bash
631
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_memory","arguments":{"query":"tu pregunta"}}}' | node ./mcp-server.js
632
+ \`\`\`
633
+
634
+ Para tráfico LLM real (cache del proxy), asegúrate que el daemon corre:
635
+
636
+ \`\`\`bash
637
+ node ./lemma-proxy.cjs status
638
+ node ./lemma-proxy.cjs start
639
+ \`\`\`
640
+
641
+ ## Cero config en este repo
642
+
643
+ Si clonaste \`lemma\` y lo abriste con Muse, **no necesitas correr ningún comando**. Este repo ya trae:
644
+ - \`.agents/skills/lemma/SKILL.md\` (este archivo) — Muse lo detecta al abrir el workspace
645
+ - \`AGENTS.md\` con guard clause para Muse
646
+ - \`bin/lemma-call.js\` + \`lemma-proxy.cjs call\` (wrapper sin JSON manual)
647
+ - \`mcp-server.js\` como fallback sin build
648
+
649
+ Muse te pedirá confiar el workspace la primera vez (prompt interactivo). Una vez que aceptas, el skill queda activo automáticamente — sin \`lemma init\`, sin \`npm run build\` manual. Para uso total (70+ tools) el wrapper resuelve \`dist/cjs/mcp/index.js\` → \`mcp-server.js\`; si \`dist\` no existe se auto-construye o usa el fallback con las tools core.
650
+
651
+ ## Sandbox y permisos
652
+
653
+ Muse corre con sandbox por workspace. El proxy (\`localhost:8081\`) y el brain (\`~/.lemma-cache/\`) están **fuera** del workspace, así que:
654
+
655
+ - La primera vez Muse pregunta si confías el workspace — di que sí. Después queda recordado, no necesitas \`--trust-workspace\` manual cada vez (solo si lo abres con flag explícito).
656
+ - Si ves \`permission denied\`, acepta el trust prompt y re-intenta; no necesitas \`--disable-sandbox\`.
657
+ - El wrapper prioriza \`dist/cjs/mcp/index.js\` y cae a \`mcp-server.js\` si aún no hay build — cero pasos extra.
658
+
659
+ ## Flujo obligatorio al iniciar sesión
660
+
661
+ 1. Llama \`search_memory\` vía \`lemma call\` con el tema de la tarea.
662
+ 2. Si hay hit, verifícalo contra el código actual antes de presentarlo.
663
+ 3. Al terminar con solución verificada (tests pasaron), llama \`store_memory\` vía \`lemma call\`.
664
+
665
+ ## Flujo para bugs
666
+
667
+ 1. \`get_telepathic_hints\` vía \`lemma call\` si necesitas contexto de runtime.
668
+ 2. \`search_memory\` con el mensaje de error.
669
+
670
+ ## Regla dura
671
+
672
+ Si tu respuesta viene de un cache hit, dilo explícitamente: "esto viene de memoria cacheada". Nunca presentes un hit como razonamiento fresco. Y nunca guardes una solución no verificada.
673
+
674
+ ## Verificación (opcional)
675
+
676
+ En este repo no necesitas instalar nada — ya está listo. Solo si quieres verificar:
677
+
678
+ \`\`\`bash
679
+ # Wrapper responde (sin JSON manual)
680
+ node ./lemma-proxy.cjs call --list | head -c 500
681
+ node ./lemma-proxy.cjs call get_project_onboarding '{}' | head -c 800
682
+
683
+ # Proxy (solo si usas cache de tráfico LLM)
684
+ node ./lemma-proxy.cjs status
685
+ \`\`\`
686
+
687
+ Para **otros proyectos** (no este repo), instala Lemma una vez:
688
+
689
+ \`\`\`bash
690
+ npx @nxuss/lemma init # genera .agents/skills/lemma/SKILL.md + AGENTS.md en ese proyecto
691
+ # o
692
+ npm i -D @nxuss/lemma && npx lemma init
693
+ \`\`\`
694
+
695
+ > Generado por \`lemma init\` — @nxuss/lemma para Muse.
696
+ `;
697
+
698
+ function configureMuse() {
699
+ const cwd = process.cwd();
700
+ const skillDir = path.join(cwd, '.agents', 'skills', 'lemma');
701
+ try {
702
+ ensureDir(skillDir);
703
+ const skillPath = path.join(skillDir, 'SKILL.md');
704
+ fs.writeFileSync(skillPath, MUSE_SKILL_CONTENT, 'utf8');
705
+ return true;
706
+ } catch { return false; }
707
+ }
708
+
709
+ function ensureKiroMigratesAgentsMd() {
710
+ // Kiro's configureKiro also touches AGENTS.md — ensure it migrates the same way
711
+ const cwd = process.cwd();
712
+ const agentsMdPath = path.join(cwd, 'AGENTS.md');
713
+ try {
714
+ if (fs.existsSync(agentsMdPath)) {
715
+ const existing = fs.readFileSync(agentsMdPath, 'utf8');
716
+ if (existing.includes('@nxuss/lemma') && (!existing.includes('Muse Code:') || !existing.includes('MCP-native clients'))) {
717
+ const lemmaBlockRegex = /# Lemma MCP[\s\S]*?\*Auto-generated by `lemma init` — @nxuss\/lemma\*/;
718
+ if (lemmaBlockRegex.test(existing)) {
719
+ const updated = existing.replace(lemmaBlockRegex, LEMMA_RULES_CONTENT.trim());
720
+ fs.writeFileSync(agentsMdPath, updated, 'utf8');
721
+ }
722
+ }
723
+ }
724
+ } catch {}
725
+ }
726
+
550
727
  function configureOpenCode() {
551
728
  const cwd = process.cwd();
552
729
  const opencodePath = path.join(cwd, 'opencode.json');
@@ -771,6 +948,10 @@ async function main() {
771
948
  configureOpenCode();
772
949
  ok('OpenCode configured (opencode.json MCP + instructions)');
773
950
 
951
+ const museOk = configureMuse();
952
+ if (museOk) ok('Muse configured (.agents/skills/lemma/SKILL.md)');
953
+ else warn('Muse skill could not be configured');
954
+
774
955
  const hasContinue = detectTool('Continue.dev', () => configureContinueDotDev());
775
956
  if (hasContinue) ok('Continue.dev configured');
776
957
  else skip('Continue.dev not detected');
@@ -0,0 +1,269 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ /**
5
+ * Lemma Call — one-shot MCP tool invocation for CLIs without native MCP (Muse, etc.)
6
+ *
7
+ * Usage:
8
+ * node bin/lemma-call.js <tool_name> [json_args]
9
+ * node bin/lemma-call.js search_memory '{"query":"hello"}'
10
+ * echo '{"query":"hello"}' | node bin/lemma-call.js search_memory
11
+ * node bin/lemma-call.js --list # lists available tools
12
+ *
13
+ * Also via npx:
14
+ * npx @nxuss/lemma call search_memory '{"query":"hello"}'
15
+ *
16
+ * Resolves MCP server path the same way as bin/init.js and mcp-server.js:
17
+ * 1. dist/cjs/mcp/index.js (built)
18
+ * 2. mcp-server.js (fallback/legacy)
19
+ */
20
+
21
+ const fs = require('fs');
22
+ const path = require('path');
23
+ const { spawn } = require('child_process');
24
+
25
+ function resolveMcpServer() {
26
+ const candidates = [
27
+ path.join(__dirname, '..', 'dist', 'cjs', 'mcp', 'index.js'),
28
+ path.join(__dirname, '..', 'mcp-server.js'),
29
+ path.join(__dirname, 'mcp-server.js'),
30
+ ];
31
+ for (const p of candidates) {
32
+ if (fs.existsSync(p)) return p;
33
+ }
34
+ // Zero-config: try to auto-build dist if missing and tsc is available (fresh clone without build)
35
+ try {
36
+ const pkgPath = path.join(__dirname, '..', 'package.json');
37
+ if (fs.existsSync(pkgPath)) {
38
+ const { execSync } = require('child_process');
39
+ // Only attempt if typescript is installed (npm install was run)
40
+ execSync('npx tsc --project tsconfig.cjs.json --outDir ./dist/cjs 2>&1', { cwd: path.join(__dirname, '..'), stdio: 'ignore', timeout: 30000 });
41
+ const built = path.join(__dirname, '..', 'dist', 'cjs', 'mcp', 'index.js');
42
+ if (fs.existsSync(built)) return built;
43
+ }
44
+ } catch {}
45
+ return null;
46
+ }
47
+
48
+ function parseArgs(argv) {
49
+ const args = argv.slice(2);
50
+ if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
51
+ return { help: true };
52
+ }
53
+ if (args.includes('--list') || args.includes('--tools')) {
54
+ return { list: true };
55
+ }
56
+ // tool name is first non-flag arg
57
+ let tool = null;
58
+ let jsonArg = null;
59
+ const flags = {};
60
+ for (let i = 0; i < args.length; i++) {
61
+ const a = args[i];
62
+ if (a.startsWith('--')) {
63
+ const key = a.slice(2);
64
+ const next = args[i + 1];
65
+ if (next && !next.startsWith('--')) {
66
+ flags[key] = next;
67
+ i++;
68
+ } else {
69
+ flags[key] = true;
70
+ }
71
+ } else if (!tool) {
72
+ tool = a;
73
+ } else if (!jsonArg) {
74
+ jsonArg = a;
75
+ }
76
+ }
77
+ // Flags like --query "hello" should become jsonArg object
78
+ let jsonObj = null;
79
+ if (jsonArg) {
80
+ try { jsonObj = JSON.parse(jsonArg); } catch (e) {
81
+ console.error(`[lemma-call] Invalid JSON args: ${e.message}`);
82
+ process.exit(2);
83
+ }
84
+ } else if (Object.keys(flags).length > 0) {
85
+ jsonObj = flags;
86
+ // coerce common string flags
87
+ for (const k of Object.keys(jsonObj)) {
88
+ if (jsonObj[k] === 'true') jsonObj[k] = true;
89
+ if (jsonObj[k] === 'false') jsonObj[k] = false;
90
+ }
91
+ }
92
+ return { tool, jsonObj, flags };
93
+ }
94
+
95
+ function readStdin() {
96
+ return new Promise(resolve => {
97
+ if (process.stdin.isTTY) return resolve(null);
98
+ let data = '';
99
+ process.stdin.setEncoding('utf8');
100
+ process.stdin.on('data', chunk => data += chunk);
101
+ process.stdin.on('end', () => {
102
+ const t = data.trim();
103
+ if (!t) return resolve(null);
104
+ try { resolve(JSON.parse(t)); } catch { resolve(t); }
105
+ });
106
+ // If stdin never ends (no pipe), timeout
107
+ setTimeout(() => resolve(null), 100);
108
+ });
109
+ }
110
+
111
+ async function main() {
112
+ const parsed = parseArgs(process.argv);
113
+ if (parsed.help) {
114
+ console.log(`lemma-call — one-shot Lemma MCP tool invocation
115
+
116
+ Usage:
117
+ node bin/lemma-call.js <tool> [json]
118
+ node bin/lemma-call.js search_memory '{"query":"hello"}'
119
+ node bin/lemma-call.js search_memory --query "hello"
120
+ echo '{"query":"hello"}' | node bin/lemma-call.js search_memory
121
+ node bin/lemma-call.js --list
122
+ npx @nxuss/lemma call <tool> [json] (via lemma-proxy.cjs)
123
+ `);
124
+ process.exit(0);
125
+ }
126
+
127
+ const mcpPath = resolveMcpServer();
128
+ if (!mcpPath) {
129
+ console.error('[lemma-call] MCP server not found. Run `npm run build` first.');
130
+ process.exit(1);
131
+ }
132
+
133
+ // --list mode: proper MCP handshake (initialize → tools/list)
134
+ if (parsed.list) {
135
+ const initReq = JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'initialize', params: { protocolVersion: '2024-11-05', capabilities: {}, clientInfo: { name: 'lemma-call', version: '1.0.0' } } }) + '\n';
136
+ const initialized = JSON.stringify({ jsonrpc: '2.0', method: 'notifications/initialized' }) + '\n';
137
+ const listReq = JSON.stringify({ jsonrpc: '2.0', id: 2, method: 'tools/list' }) + '\n';
138
+ const child = spawn(process.execPath, [mcpPath], { stdio: ['pipe', 'pipe', 'pipe'] });
139
+ let out = '';
140
+ child.stdout.on('data', d => out += d.toString());
141
+ child.stderr.on('data', () => {}); // ignore watcher noise
142
+ child.stdin.write(initReq);
143
+ child.stdin.write(initialized);
144
+ child.stdin.write(listReq);
145
+ child.stdin.end();
146
+ // Give server time to respond before close (MCP is stream-oriented)
147
+ await new Promise(r => setTimeout(r, 800));
148
+ try { child.kill(); } catch {}
149
+ await new Promise(r => child.on('close', r).on('error', r));
150
+ // Parse all JSON-RPC response lines, find the tools/list result (id:2)
151
+ const lines = out.trim().split('\n').filter(Boolean);
152
+ let tools = null;
153
+ for (const line of lines) {
154
+ try {
155
+ const j = JSON.parse(line);
156
+ if (j.id === 2 && j.result && Array.isArray(j.result.tools)) { tools = j.result.tools; break; }
157
+ if (j.result && Array.isArray(j.result.tools) && !tools) tools = j.result.tools;
158
+ } catch {}
159
+ }
160
+ if (tools) {
161
+ console.log(JSON.stringify(tools.map(t => t.name), null, 2));
162
+ } else {
163
+ // Fallback: try last line approach
164
+ try {
165
+ const res = JSON.parse(lines[lines.length - 1] || '{}');
166
+ const t = res.result?.tools || [];
167
+ if (t.length) console.log(JSON.stringify(t.map(x => x.name), null, 2));
168
+ else console.log(out.trim().split('\n').pop() || '[]');
169
+ } catch {
170
+ console.log(out.trim() || '[]');
171
+ }
172
+ }
173
+ process.exit(0);
174
+ }
175
+
176
+ if (!parsed.tool) {
177
+ console.error('[lemma-call] Missing tool name. Try --help');
178
+ process.exit(2);
179
+ }
180
+
181
+ let argsObj = parsed.jsonObj;
182
+ // If no args from CLI, try stdin
183
+ if (!argsObj) {
184
+ const stdinData = await readStdin();
185
+ if (stdinData && typeof stdinData === 'object') argsObj = stdinData;
186
+ else if (typeof stdinData === 'string' && stdinData) {
187
+ try { argsObj = JSON.parse(stdinData); } catch { argsObj = { query: stdinData }; }
188
+ }
189
+ }
190
+ if (!argsObj) argsObj = {};
191
+
192
+ // MCP handshake: initialize → initialized → tools/call (required by SDK)
193
+ const initReq = JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'initialize', params: { protocolVersion: '2024-11-05', capabilities: {}, clientInfo: { name: 'lemma-call', version: '1.0.0' } } }) + '\n';
194
+ const initialized = JSON.stringify({ jsonrpc: '2.0', method: 'notifications/initialized' }) + '\n';
195
+ const request = JSON.stringify({
196
+ jsonrpc: '2.0',
197
+ id: 2,
198
+ method: 'tools/call',
199
+ params: { name: parsed.tool, arguments: argsObj }
200
+ }) + '\n';
201
+
202
+ const child = spawn(process.execPath, [mcpPath], { stdio: ['pipe', 'pipe', 'pipe'] });
203
+ let stdout = '';
204
+ let stderr = '';
205
+ child.stdout.on('data', d => stdout += d.toString());
206
+ child.stderr.on('data', d => stderr += d.toString());
207
+ child.stdin.write(initReq);
208
+ child.stdin.write(initialized);
209
+ child.stdin.write(request);
210
+ // Keep stdin open briefly for server to process; MCP SDK buffers responses
211
+ await new Promise(r => setTimeout(r, 500));
212
+ child.stdin.end();
213
+ // Wait for response with timeout
214
+ const exitCode = await Promise.race([
215
+ new Promise(resolve => child.on('close', resolve)),
216
+ new Promise(resolve => setTimeout(() => { try { child.kill(); } catch {}; resolve(0); }, 5000))
217
+ ]);
218
+
219
+ // MCP server returns JSON-RPC with result.content[].text — find id:2 response
220
+ const lines = stdout.trim().split('\n').filter(Boolean);
221
+ let parsedRes = null;
222
+ for (const line of lines) {
223
+ try {
224
+ const j = JSON.parse(line);
225
+ if (j.id === 2) { parsedRes = j; break; }
226
+ } catch {}
227
+ }
228
+ if (!parsedRes) {
229
+ try { parsedRes = JSON.parse(lines[lines.length - 1] || ''); } catch {}
230
+ }
231
+
232
+ if (parsedRes && parsedRes.result) {
233
+ // Pretty-print the tool result for Muse to read easily
234
+ const content = parsedRes.result.content;
235
+ if (Array.isArray(content)) {
236
+ for (const c of content) {
237
+ if (c.text) {
238
+ // Try to pretty-print if text is JSON
239
+ try {
240
+ const j = JSON.parse(c.text);
241
+ console.log(JSON.stringify(j, null, 2));
242
+ } catch {
243
+ console.log(c.text);
244
+ }
245
+ } else {
246
+ console.log(JSON.stringify(c, null, 2));
247
+ }
248
+ }
249
+ } else {
250
+ console.log(JSON.stringify(parsedRes.result, null, 2));
251
+ }
252
+ // Propagate isError as exit code
253
+ if (parsedRes.result.isError) process.exit(1);
254
+ process.exit(0);
255
+ }
256
+
257
+ if (parsedRes && parsedRes.error) {
258
+ console.error(`[lemma-call] MCP error: ${parsedRes.error.message || JSON.stringify(parsedRes.error)}`);
259
+ if (stderr.trim()) console.error(stderr.trim());
260
+ process.exit(1);
261
+ }
262
+
263
+ // Fallback: dump raw output
264
+ if (stdout.trim()) console.log(stdout.trim());
265
+ if (stderr.trim()) console.error(stderr.trim());
266
+ process.exit(exitCode || 0);
267
+ }
268
+
269
+ main().catch(e => { console.error('[lemma-call]', e.message); process.exit(1); });
@@ -129,11 +129,12 @@ class LemmaMcpServer {
129
129
  if (!fs_1.default.existsSync(liveContextPath)) {
130
130
  fs_1.default.writeFileSync(liveContextPath, "# No Live Context\nNo recent crashes or state changes recorded by Lemma.", "utf8");
131
131
  }
132
- fs_1.default.watch(liveContextPath, (eventType) => {
132
+ const watcher = fs_1.default.watch(liveContextPath, (eventType) => {
133
133
  if (eventType === "change") {
134
134
  (0, resources_1.notifyResourceUpdated)(this.server, "lemma://runtime/context");
135
135
  }
136
136
  });
137
+ watcher.on('error', () => (0, utils_1.logWarn)("live-context", "Live context watcher error — EMFILE or permission, ignoring"));
137
138
  }
138
139
  catch (err) {
139
140
  (0, utils_1.logWarn)("live-context", "Could not set up live context watcher");
@@ -150,11 +151,12 @@ class LemmaMcpServer {
150
151
  const statsDir = path_1.default.dirname(statsPath);
151
152
  if (!fs_1.default.existsSync(statsDir))
152
153
  return;
153
- fs_1.default.watch(statsDir, (eventType, filename) => {
154
+ const watcher = fs_1.default.watch(statsDir, (eventType, filename) => {
154
155
  if (filename === "stats.json") {
155
156
  (0, resources_1.notifyResourceUpdated)(this.server, "lemma://stats/usage");
156
157
  }
157
158
  });
159
+ watcher.on('error', () => (0, utils_1.logWarn)("stats-watcher", "Stats watcher error — EMFILE or permission, ignoring"));
158
160
  }
159
161
  catch (err) {
160
162
  (0, utils_1.logWarn)("stats-watcher", "Could not set up stats watcher");
@@ -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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"}
@@ -124,11 +124,12 @@ class LemmaMcpServer {
124
124
  if (!fs.existsSync(liveContextPath)) {
125
125
  fs.writeFileSync(liveContextPath, "# No Live Context\nNo recent crashes or state changes recorded by Lemma.", "utf8");
126
126
  }
127
- fs.watch(liveContextPath, (eventType) => {
127
+ const watcher = fs.watch(liveContextPath, (eventType) => {
128
128
  if (eventType === "change") {
129
129
  notifyResourceUpdated(this.server, "lemma://runtime/context");
130
130
  }
131
131
  });
132
+ watcher.on('error', () => logWarn("live-context", "Live context watcher error — EMFILE or permission, ignoring"));
132
133
  }
133
134
  catch (err) {
134
135
  logWarn("live-context", "Could not set up live context watcher");
@@ -145,11 +146,12 @@ class LemmaMcpServer {
145
146
  const statsDir = path.dirname(statsPath);
146
147
  if (!fs.existsSync(statsDir))
147
148
  return;
148
- fs.watch(statsDir, (eventType, filename) => {
149
+ const watcher = fs.watch(statsDir, (eventType, filename) => {
149
150
  if (filename === "stats.json") {
150
151
  notifyResourceUpdated(this.server, "lemma://stats/usage");
151
152
  }
152
153
  });
154
+ watcher.on('error', () => logWarn("stats-watcher", "Stats watcher error — EMFILE or permission, ignoring"));
153
155
  }
154
156
  catch (err) {
155
157
  logWarn("stats-watcher", "Could not set up stats watcher");
@@ -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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"}
package/lemma-proxy.cjs CHANGED
@@ -55,6 +55,18 @@ if (cmd === 'init') {
55
55
  process.exit(1);
56
56
  }
57
57
  }
58
+ } else if (cmd === 'call') {
59
+ // One-shot MCP tool invocation: `lemma call <tool> [json]` or `npx @nxuss/lemma call <tool> [json]`
60
+ // Avoids manual JSON-RPC echo piping for Muse and other non-MCP CLIs.
61
+ const callPath = path.join(__dirname, 'bin', 'lemma-call.js');
62
+ if (fs.existsSync(callPath)) {
63
+ // Forward remaining args to lemma-call.js; keep process.argv[2]='call' semantics by shifting
64
+ process.argv.splice(2, 1); // remove 'call'
65
+ require(callPath);
66
+ } else {
67
+ console.error('lemma-call not found. Run npm run build first.');
68
+ process.exit(1);
69
+ }
58
70
  } else if (cmd === 'proxy') {
59
71
  const proxyPath = path.join(__dirname, 'cache-proxy.js');
60
72
  if (fs.existsSync(proxyPath)) require(proxyPath);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxuss/lemma",
3
- "version": "1.18.2",
3
+ "version": "1.20.0",
4
4
  "description": "Intelligent AI Gateway for IDEs & Agents — Semantic cache, Privacy Firewall, Infrastructure Command Center, and Autonomous Cost-Optimization.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -86,8 +86,10 @@
86
86
  "cache-proxy.js",
87
87
  "bin/init.js",
88
88
  "bin/cli.js",
89
+ "bin/lemma-call.js",
89
90
  "bin/checkpoint.js",
90
91
  "bin/brain-ingest.js",
92
+ ".agents/skills/lemma/SKILL.md",
91
93
  "dashboard/dist/**/*",
92
94
  "sdks/crewai/dist/**/*",
93
95
  "!dist/examples/**",
@@ -105,6 +107,7 @@
105
107
  "build:cjs": "tsc --project tsconfig.cjs.json",
106
108
  "build:sdks": "npm run sdk:build",
107
109
  "postbuild": "node scripts/post-build.js && node scripts/fix-esm-extensions.js",
110
+ "prepare": "npm run build:cjs 2>&1 | tail -n 5 || true",
108
111
  "dev": "npx tsx start-dev.ts",
109
112
  "start": "node dist/cjs/index.js",
110
113
  "test": "jest",
@@ -157,7 +160,13 @@
157
160
  "llm-gateway",
158
161
  "openai-proxy",
159
162
  "anthropic-proxy",
160
- "vector-database"
163
+ "vector-database",
164
+ "muse",
165
+ "muse-code",
166
+ "muse-spark",
167
+ "claude-code",
168
+ "cursor",
169
+ "codex"
161
170
  ],
162
171
  "author": "Nxus Studio",
163
172
  "license": "MIT",