@kevinbermudezc/context-guard 1.3.0 → 1.3.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.
package/README.md CHANGED
@@ -8,7 +8,9 @@
8
8
 
9
9
  > **Intelligent context admission control & token optimization for Claude Code, Cursor, and Agentic AI workflows.**
10
10
 
11
- Stop burning expensive tokens and degrading reasoning accuracy. `ContextGuard` intercepts un-scoped, large file reads before they enter your frontier reasoning models (Claude Opus 5, Claude Sonnet 5, GPT-6 Astra), extracting structural signatures or delegating summarization to ultra-fast worker models (Gemini 3.8 Flash, local SLMs).
11
+ > 🐶 **Built on Dogfooding:** ContextGuard built itself — saving over 500,000 tokens during its own development lifecycle, verified by its internal FinOps ledger.
12
+
13
+ Stop burning expensive tokens and degrading reasoning accuracy. `ContextGuard` intercepts un-scoped, large file reads before they enter your frontier reasoning models (Claude Opus 5.5, Claude Sonnet 5.5, GPT-6 Astra), extracting structural signatures or delegating summarization to ultra-fast worker models (Gemini 3.8 Flash, local SLMs).
12
14
 
13
15
  ---
14
16
 
@@ -24,7 +26,7 @@ ContextGuard is built on **TypeScript 7.0**, utilizing the native **Go-based com
24
26
 
25
27
  Frontier models are incredible at reasoning, but reading massive files (1,000+ lines of monorepo code, generated types, or verbose logs) introduces two major problems:
26
28
 
27
- 1. **FinOps Bleed:** Frontier models cost between \$3.00 and \$15.00+ per million input tokens. Dumping a few 2,000-line files into a session quickly adds up to dozens of dollars per day per developer.
29
+ 1. **FinOps Bleed:** Frontier models cost between \$2.00 and \$10.00+ per million input tokens (e.g. Claude Opus 5.5, GPT-6 Astra). Dumping a few 2,000-line files into a session quickly adds up to dozens of dollars per day per developer.
28
30
  2. **Context Rot & "Lost in the Middle":** Saturating attention heads with hundreds of lines of boilerplate degrades precision, increases hallucination rates, and derails agentic reasoning loops.
29
31
 
30
32
  ---
@@ -50,7 +52,7 @@ flowchart TD
50
52
  F -- "YES (Large un-scoped read)" --> G["🛡️ <b>CONTEXTGUARD SHUNT TRIGGER</b>"]
51
53
 
52
54
  G --> H["<b>Tier 0: Local AST Skeletonizer</b><br>TS, JS, Python, Go, Rust, Java, C#<br>+ Svelte 5, Vue 3, Angular, Astro SFCs<br>• Collapses import walls (&gt;5 imports)<br>• Cost: <b>$0.00</b> | Latency: <b>&lt; 5ms</b>"]
53
- G --> I["<b>Tier 1: Worker Model</b><br>Logs, JSON, Markdown, Docs<br>• Gemini 2.5 Flash / Local Ollama<br>• Cost: <b>~95% cheaper</b> than Frontier"]
55
+ G --> I["<b>Tier 1: Worker Model</b><br>Logs, JSON, Markdown, Docs<br>• Gemini 3.8 Flash / Local Ollama<br>• Cost: <b>~95% cheaper</b> than Frontier"]
54
56
 
55
57
  H --> J["🛑 <b>HARD BLOCK (Exit Code 2)</b><br>Emits line-tagged skeleton <code>[L89]</code> to stderr"]
56
58
  I --> J
@@ -80,7 +82,7 @@ Imagine Claude Code needs to inspect how refund errors are handled in `src/payme
80
82
  ```text
81
83
  1. Claude Code executes: Read("src/payment-gateway.ts")
82
84
  └── ❌ Dumps all 1,500 lines into the frontier reasoning context
83
- ├── Tokens burned: ~8,500 tokens (~$0.13 in Claude Opus for a single read)
85
+ ├── Tokens burned: ~8,500 tokens (~$0.034 in Claude Opus 5.5 for a single read)
84
86
  ├── Context window saturated with 28 repetitive imports & unrelated schema logic
85
87
  └── High risk of "Lost in the Middle" attention degradation and hallucinations
86
88
  ```
@@ -166,18 +168,53 @@ The MCP server exposes tools, passive resources, and optimized prompt templates:
166
168
  | **Resource** | `contextguard://config` | Live inspection of active thresholds, bypass formats, and worker provider |
167
169
  | **Prompt** | `investigate_codebase_safely` | System prompt template enforcing token preservation and outline-first navigation |
168
170
 
169
- ### Install & Run
171
+ ### How to Install & Configure ContextGuard MCP
172
+
173
+ The Model Context Protocol (MCP) server allows AI editors to automatically call `read_file_safe`, `inspect_outline`, and `grep_distilled`.
174
+
175
+ #### 1. Instant Run (No Installation Required)
176
+
177
+ You can run the server directly via `npx` (it will download the latest binary on the fly):
170
178
 
171
179
  ```bash
172
- # One-shot (no install):
173
180
  npx -y -p @kevinbermudezc/context-guard context-guard-mcp
181
+ ```
182
+
183
+ Or install it globally/locally in your repository:
174
184
 
175
- # Or as a local dependency:
185
+ ```bash
186
+ # Global install:
187
+ npm install -g @kevinbermudezc/context-guard
188
+
189
+ # Or as a project devDependency:
176
190
  pnpm add -D @kevinbermudezc/context-guard
177
- node ./node_modules/@kevinbermudezc/context-guard/dist/bin/mcp-server.js
178
191
  ```
179
192
 
180
- ### 🖱️ Cursor (`~/.cursor/mcp.json`)
193
+ ---
194
+
195
+ #### 2. Configure Your AI Coding Assistant
196
+
197
+ ##### 🖱️ Cursor
198
+ 1. Open **Cursor Settings** (`Cmd + ,` on macOS or `Ctrl + ,` on Windows/Linux).
199
+ 2. Navigate to **Features > MCP Servers** or open `~/.cursor/mcp.json`.
200
+ 3. Add the `context-guard` entry:
201
+
202
+ ```json
203
+ {
204
+ "mcpServers": {
205
+ "context-guard": {
206
+ "command": "npx",
207
+ "args": ["-y", "-p", "@kevinbermudezc/context-guard@latest", "context-guard-mcp"]
208
+ }
209
+ }
210
+ }
211
+ ```
212
+
213
+ ##### 🤖 Claude Desktop
214
+ 1. Open the Claude Desktop configuration file:
215
+ - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
216
+ - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
217
+ 2. Add the `context-guard` definition:
181
218
 
182
219
  ```json
183
220
  {
@@ -189,8 +226,10 @@ node ./node_modules/@kevinbermudezc/context-guard/dist/bin/mcp-server.js
189
226
  }
190
227
  }
191
228
  ```
229
+ 3. Restart Claude Desktop. You will see `read_file_safe`, `inspect_outline`, and `grep_distilled` under the 🔌 icon.
192
230
 
193
- ### 🤖 Claude Desktop (`~/Library/Application Support/Claude/claude_desktop_config.json`)
231
+ ##### 🪁 Antigravity / Google AGY
232
+ 1. In your project workspace, create or edit `.agents/mcp.json` (or globally in `~/.gemini/config/mcp_config.json`):
194
233
 
195
234
  ```json
196
235
  {
@@ -203,7 +242,8 @@ node ./node_modules/@kevinbermudezc/context-guard/dist/bin/mcp-server.js
203
242
  }
204
243
  ```
205
244
 
206
- ### 🪁 Antigravity / Google AGY (`.agents/mcp.json` or `~/.config/agy/mcp.json`)
245
+ ##### 🏄 Windsurf (Cascade) & Zed
246
+ Add to your respective MCP configuration file:
207
247
 
208
248
  ```json
209
249
  {
@@ -216,11 +256,11 @@ node ./node_modules/@kevinbermudezc/context-guard/dist/bin/mcp-server.js
216
256
  }
217
257
  ```
218
258
 
219
- > **Note:** Configuration examples are also available in [`examples/mcp-configs/`](./examples/mcp-configs/).
259
+ > 📁 Ready-to-use configuration files are available in [`examples/mcp-configs/`](./examples/mcp-configs/).
220
260
 
221
261
  ---
222
262
 
223
- ## 🛠️ CLI & FinOps Telemetry (v1.3.0)
263
+ ## 🛠️ CLI & FinOps Telemetry (v1.3.2)
224
264
 
225
265
  ContextGuard includes a beautiful developer CLI with built-in token savings and financial ROI telemetry:
226
266
 
@@ -255,7 +295,7 @@ Customize thresholds and worker models via environment variables:
255
295
  | `CONTEXT_GUARD_MAX_LINES` | `300` | Maximum lines allowed for un-scoped direct reads |
256
296
  | `CONTEXT_GUARD_MAX_BYTES` | `25600` | Maximum file size in bytes (~25 KB) |
257
297
  | `CONTEXT_GUARD_PROVIDER` | `skeleton` | Worker mode: `skeleton` (Tier 0 AST), `gemini`, `ollama`, or `openai` |
258
- | `GEMINI_API_KEY` | - | API key for Gemini 2.5 Flash worker |
298
+ | `GEMINI_API_KEY` | - | API key for Gemini 3.8 Flash worker |
259
299
  | `GEMINI_MODEL` | `gemini-3.8-flash` | Gemini model name |
260
300
  | `OLLAMA_BASE_URL` | `http://localhost:11434` | Ollama local endpoint |
261
301
  | `OLLAMA_MODEL` | `qwen2.5-coder:7b` | Model to use in Ollama |
@@ -109,12 +109,12 @@ async function runHook() {
109
109
  rawTokens: finOps.rawTokens,
110
110
  guardedTokens: finOps.guardedTokens,
111
111
  tokensSaved: finOps.tokensSaved,
112
- dollarsSavedSonnet: finOps.dollarsSaved.claudeSonnet
112
+ dollarsSavedSonnet: finOps.dollarsSaved.claudeSonnet55
113
113
  });
114
114
  const feedbackMessage = [
115
115
  `🛡️ [CONTEXTGUARD: LECTURA REGULADA - PREVENCIÓN DE SATURACIÓN DE TOKENS]`,
116
116
  `El recurso "${path.basename(resolvedPath)}" contiene ${totalLines} líneas (~${(stat.size / 1024).toFixed(1)} KB).`,
117
- `📉 Tokens prevenidos: ~${finOps.tokensSaved.toLocaleString()} tokens (${finOps.percentageSaved}% ahorro | ~$${finOps.dollarsSaved.claudeSonnet} USD en Sonnet).`,
117
+ `📉 Tokens prevenidos: ~${finOps.tokensSaved.toLocaleString()} tokens (${finOps.percentageSaved}% ahorro | ~$${finOps.dollarsSaved.claudeSonnet55} USD en Claude Sonnet 5.5).`,
118
118
  `Para optimizar tu contexto y prevenir degradación de razonamiento, no se ha cargado el archivo completo en la ventana principal.`,
119
119
  ``,
120
120
  `📋 ESQUELETO ESTRUCTURAL Y FIRMAS (Con índices de línea):`,
@@ -1 +1 @@
1
- {"version":3,"file":"claude-hook.js","sourceRoot":"","sources":["../../bin/claude-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-hook.js","sourceRoot":"","sources":["../../bin/claude-hook.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,11 @@ import fs from 'node:fs';
4
4
  import { processWithContextGuard } from '../src/index.js';
5
5
  import { extractCodeSkeleton } from '../src/skeletonizer.js';
6
6
  import { getAggregatedStats, resetMetrics, calculateFinOps } from '../src/token-metrics.js';
7
- // ─── ANSI Colors & Terminal Formatting (Zero-Dependencies) ────────────────────
7
+ // ─── Minimal ANSI Formatting (Clean, Terminal-Agnostic) ───────────────────────
8
8
  const c = {
9
9
  reset: '\x1b[0m',
10
10
  bold: '\x1b[1m',
11
11
  dim: '\x1b[2m',
12
- italic: '\x1b[3m',
13
- underline: '\x1b[4m',
14
12
  // Colors
15
13
  red: '\x1b[31m',
16
14
  green: '\x1b[32m',
@@ -19,13 +17,9 @@ const c = {
19
17
  magenta: '\x1b[35m',
20
18
  cyan: '\x1b[36m',
21
19
  white: '\x1b[37m',
22
- gray: '\x1b[90m',
23
- // Backgrounds
24
- bgBlue: '\x1b[44m',
25
- bgGreen: '\x1b[42m',
26
- bgRed: '\x1b[41m'
20
+ gray: '\x1b[90m'
27
21
  };
28
- const VERSION = '1.3.0';
22
+ const VERSION = '1.3.2';
29
23
  // ─── Help Menu ────────────────────────────────────────────────────────────────
30
24
  function printHelp() {
31
25
  console.log(`
@@ -33,13 +27,13 @@ function printHelp() {
33
27
  ${c.dim}Intelligent Context Admission Control & FinOps Optimization${c.reset}
34
28
 
35
29
  ${c.bold}USAGE${c.reset}
36
- ${c.green}$ context-guard${c.reset} <file-path> [options]
37
- ${c.green}$ context-guard stats${c.reset} [path] [options]
30
+ ${c.green}context-guard${c.reset} <file-path> [options]
31
+ ${c.green}context-guard stats${c.reset} [path] [options]
38
32
 
39
33
  ${c.bold}COMMANDS${c.reset}
40
- ${c.cyan}stats${c.reset} [dir] ${c.white}Muestra la telemetría acumulada o audita un directorio${c.reset}
41
- ${c.cyan}stats --watch${c.reset} ${c.white}Monitor interactivo de consumo y ahorro en tiempo real${c.reset}
42
- ${c.cyan}stats --reset${c.reset} ${c.white}Reinicia el historial de métricas locales${c.reset}
34
+ ${c.cyan}stats${c.reset} [dir] Muestra la telemetría acumulada o audita un directorio
35
+ ${c.cyan}stats --watch${c.reset} Monitor interactivo de consumo y ahorro en tiempo real
36
+ ${c.cyan}stats --reset${c.reset} Reinicia el historial de métricas locales
43
37
 
44
38
  ${c.bold}OPTIONS${c.reset}
45
39
  ${c.yellow}-q, --query <text>${c.reset} Filtro semántico para el modelo worker (Gemini/Ollama)
@@ -52,26 +46,26 @@ function printHelp() {
52
46
 
53
47
  ${c.bold}EXAMPLES${c.reset}
54
48
  ${c.dim}# Inspecciona un archivo con protección automática (>300 líneas)${c.reset}
55
- ${c.cyan}context-guard${c.reset} src/large-service.ts
49
+ context-guard src/large-service.ts
56
50
 
57
51
  ${c.dim}# Lee un rango acotado sin aplicar el guard${c.reset}
58
- ${c.cyan}context-guard${c.reset} src/large-service.ts --start 120 --end 160
52
+ context-guard src/large-service.ts --start 120 --end 160
59
53
 
60
54
  ${c.dim}# Consulta el ahorro histórico de tokens y dinero${c.reset}
61
- ${c.cyan}context-guard stats${c.reset}
55
+ context-guard stats
62
56
 
63
57
  ${c.dim}# Audita el potencial de ahorro de un directorio completo${c.reset}
64
- ${c.cyan}context-guard stats${c.reset} src/
58
+ context-guard stats src/
65
59
 
66
60
  ${c.dim}# Monitor en tiempo real mientras usas Claude Code o Cursor${c.reset}
67
- ${c.cyan}context-guard stats --watch${c.reset}
61
+ context-guard stats --watch
68
62
  `);
69
63
  }
70
- // ─── Directory Auditor (Option B) ─────────────────────────────────────────────
64
+ // ─── Directory Auditor ────────────────────────────────────────────────────────
71
65
  function auditDirectory(targetDir) {
72
66
  const resolved = path.resolve(process.cwd(), targetDir);
73
67
  if (!fs.existsSync(resolved)) {
74
- console.error(`${c.red}✖ Error:${c.reset} El directorio no existe: ${targetDir}`);
68
+ console.error(`\n ${c.red}✖ Error:${c.reset} El directorio no existe: ${targetDir}\n`);
75
69
  process.exit(1);
76
70
  }
77
71
  const IGNORED = new Set(['node_modules', '.git', 'dist', 'build', '.next', '.turbo', 'coverage']);
@@ -119,61 +113,64 @@ function auditDirectory(targetDir) {
119
113
  }
120
114
  const tokensSaved = Math.max(0, totalRawTokens - totalGuardedTokens);
121
115
  const pctSaved = totalRawTokens > 0 ? ((tokensSaved / totalRawTokens) * 100).toFixed(1) : '0';
122
- const opusDollars = ((tokensSaved / 1_000_000) * 15.00).toFixed(2);
123
- const sonnetDollars = ((tokensSaved / 1_000_000) * 3.00).toFixed(2);
116
+ const opusDollars = ((tokensSaved / 1_000_000) * 4.00).toFixed(2);
117
+ const sonnetDollars = ((tokensSaved / 1_000_000) * 2.00).toFixed(2);
118
+ const gpt6Dollars = ((tokensSaved / 1_000_000) * 10.00).toFixed(2);
124
119
  console.log(`
125
- ${c.cyan}🔍 ${c.bold}Auditoría de Código y FinOps: ${c.white}${path.relative(process.cwd(), resolved) || '.'}${c.reset}
126
- ${c.gray}Analizados ${filesToAudit.length} archivos fuente (${largeFilesCount} archivos superan las 300 líneas)${c.reset}
120
+ ${c.cyan}🔍 ${c.bold}Auditoría FinOps:${c.reset} ${c.white}${path.relative(process.cwd(), resolved) || '.'}${c.reset}
121
+ ${c.dim}${filesToAudit.length} archivos fuente analizados (${largeFilesCount} superan el umbral de 300 líneas)${c.reset}
127
122
 
128
- ${c.bold}┌─────────────────────────────────────────────────────────────────┐${c.reset}
129
- │ ${c.yellow}Escenario de Lectura Cruda:${c.reset} ~${totalRawTokens.toLocaleString().padStart(8)} tokens │
130
- │ ${c.green}Con ContextGuard (AST):${c.reset} ~${totalGuardedTokens.toLocaleString().padStart(8)} tokens │
131
- │ │
132
- │ ${c.bold}${c.green}📉 Ahorro potencial:${c.reset} ${c.bold}~${tokensSaved.toLocaleString()}${c.reset} tokens (${c.bold}${pctSaved}%${c.reset} reducción) │
133
- │ │
134
- │ ${c.bold}💰 Estimación de Ahorro en Dólares:${c.reset} │
135
- │ • Claude Opus 4/5: ${c.green}$${opusDollars} USD${c.reset} │
136
- │ • Claude Sonnet 4: ${c.green}$${sonnetDollars} USD${c.reset} │
137
- ${c.bold}└─────────────────────────────────────────────────────────────────┘${c.reset}
138
- `);
123
+ ${c.bold}Consumo de Tokens:${c.reset}
124
+ ${c.gray}•${c.reset} Lectura Cruda: ${c.yellow}~${totalRawTokens.toLocaleString()} tokens${c.reset}
125
+ ${c.gray}•${c.reset} Con ContextGuard: ${c.green}~${totalGuardedTokens.toLocaleString()} tokens${c.reset}
126
+ ${c.gray}•${c.reset} ${c.bold}Ahorro Neto:${c.reset} ${c.green}${c.bold}~${tokensSaved.toLocaleString()} tokens (${pctSaved}% reducción)${c.reset}
127
+
128
+ ${c.bold}Ahorro Estimado en Dólares:${c.reset}
129
+ ${c.gray}•${c.reset} Claude Opus 5.5: ${c.green}$${opusDollars} USD${c.reset}
130
+ ${c.gray}•${c.reset} Claude Sonnet 5.5: ${c.green}$${sonnetDollars} USD${c.reset}
131
+ ${c.gray}•${c.reset} GPT-6 Astra: ${c.green}$${gpt6Dollars} USD${c.reset}
132
+ `);
139
133
  }
140
- // ─── Real-Time Live Watcher (Real-time telemetry) ─────────────────────────────
134
+ // ─── Real-Time Live Watcher ───────────────────────────────────────────────────
141
135
  function runRealtimeWatch() {
142
- // Clear screen
143
- process.stdout.write('\x1b[2J\x1b[0;0H');
144
136
  const render = () => {
145
- process.stdout.write('\x1b[0;0H'); // cursor to home
137
+ console.clear();
146
138
  const stats = getAggregatedStats();
147
139
  const time = new Date().toLocaleTimeString();
148
140
  console.log(`
149
141
  ${c.cyan}🛡️ ${c.bold}ContextGuard Live Telemetry Monitor${c.reset} ${c.gray}[${time}]${c.reset}
150
142
  ${c.dim}Escuchando intercepciones activas de Claude Code, Cursor y MCP...${c.reset}
151
143
 
152
- ${c.bold}┌── 📊 Métricas Globales Acumuladas ─────────────────────────────┐${c.reset}
153
- │ Archivos Regulados: ${c.bold}${c.cyan}${stats.totalInterceptions.toString().padEnd(10)}${c.reset} │
154
- │ Tokens Crudos Evitados: ${c.bold}${c.yellow}${stats.totalRawTokens.toLocaleString().padEnd(12)}${c.reset} │
155
- │ Tokens AST Inyectados: ${c.bold}${c.white}${stats.totalGuardedTokens.toLocaleString().padEnd(12)}${c.reset} │
156
- │ ${c.green}${c.bold}Tokens Netos Ahorrados:${c.reset} ${c.bold}${c.green}${stats.totalTokensSaved.toLocaleString().padEnd(12)}${c.reset} │
157
- │ │
158
- │ ${c.bold}💰 Retorno de Inversión (ROI Estimado):${c.reset} │
159
- │ • Claude Opus 4/5: ${c.bold}${c.green}$${stats.totalDollarsSavedOpus.toFixed(2)} USD${c.reset} │
160
- │ • Claude Sonnet 4: ${c.bold}${c.green}$${stats.totalDollarsSavedSonnet.toFixed(2)} USD${c.reset} │
161
- │ • GPT-4o / Astra: ${c.bold}${c.green}$${stats.totalDollarsSavedGpt4o.toFixed(2)} USD${c.reset} │
162
- ${c.bold}└── 📋 Últimos Eventos Registrados ───────────────────────────────┘${c.reset}
163
- `);
144
+ ${c.bold}Balance de Tokens:${c.reset}
145
+ ${c.gray}•${c.reset} Archivos regulados: ${c.cyan}${stats.totalInterceptions}${c.reset}
146
+ ${c.gray}•${c.reset} Tokens crudos evitados: ${c.yellow}~${stats.totalRawTokens.toLocaleString()}${c.reset}
147
+ ${c.gray}•${c.reset} Tokens AST inyectados: ${c.white}~${stats.totalGuardedTokens.toLocaleString()}${c.reset}
148
+ ${c.gray}•${c.reset} ${c.bold}Tokens netos ahorrados:${c.reset} ${c.green}${c.bold}~${stats.totalTokensSaved.toLocaleString()}${c.reset}
149
+
150
+ ${c.bold}Retorno de Inversión (ROI):${c.reset}
151
+ ${c.gray}•${c.reset} Claude Opus 5.5: ${c.green}$${stats.totalDollarsSavedOpus.toFixed(2)} USD${c.reset}
152
+ ${c.gray}•${c.reset} Claude Sonnet 5.5: ${c.green}$${stats.totalDollarsSavedSonnet.toFixed(2)} USD${c.reset}
153
+ ${c.gray}•${c.reset} GPT-6 Astra: ${c.green}$${stats.totalDollarsSavedGpt6.toFixed(2)} USD${c.reset}
154
+
155
+ ${c.bold}Últimos Eventos:${c.reset}`);
164
156
  const recent = stats.events.slice(-6).reverse();
165
157
  if (recent.length === 0) {
166
- console.log(` ${c.dim}Aún no hay eventos registrados. Usa Claude Code o el CLI para ver tráfico.${c.reset}\n`);
158
+ console.log(` ${c.dim}(Sin eventos recientes. Usa Claude Code, Cursor o MCP para registrar tráfico)${c.reset}\n`);
167
159
  }
168
160
  else {
161
+ const badges = {
162
+ hook: `${c.magenta}[HOOK]${c.reset}`,
163
+ mcp: `${c.cyan}[MCP]${c.reset} `,
164
+ cli: `${c.blue}[CLI]${c.reset} `
165
+ };
169
166
  for (const ev of recent) {
170
- const badge = ev.source === 'hook' ? `${c.magenta}[HOOK]${c.reset}` : `${c.blue}[CLI]${c.reset} `;
167
+ const badge = badges[ev.source] || `${c.blue}[CLI]${c.reset} `;
171
168
  const fName = ev.filePath.length > 28 ? '...' + ev.filePath.slice(-25) : ev.filePath.padEnd(28);
172
- console.log(` ${c.dim}${ev.timestamp.slice(11, 19)}${c.reset} ${badge} ${c.white}${fName}${c.reset} 📉 ${c.green}+${ev.tokensSaved.toLocaleString()} tokens${c.reset} ${c.gray}(~$${ev.dollarsSavedSonnet})${c.reset}`);
169
+ console.log(` ${c.dim}${ev.timestamp.slice(11, 19)}${c.reset} ${badge} ${c.white}${fName}${c.reset} ${c.green}+${ev.tokensSaved.toLocaleString()} tokens${c.reset} ${c.gray}(~$${ev.dollarsSavedSonnet})${c.reset}`);
173
170
  }
174
171
  console.log('');
175
172
  }
176
- console.log(` ${c.gray}Presiona Ctrl+C para salir.${c.reset}`);
173
+ console.log(` ${c.dim}Presiona Ctrl+C para salir.${c.reset}`);
177
174
  };
178
175
  render();
179
176
  const interval = setInterval(render, 1000);
@@ -206,50 +203,45 @@ function printStats(args) {
206
203
  return;
207
204
  }
208
205
  console.log(`
209
- ${c.cyan}🛡️ ${c.bold}ContextGuard — Resumen FinOps & Telemetría${c.reset}
210
- ${c.gray}Métricas calculadas en base a intercepciones en tu máquina${c.reset}
206
+ ${c.cyan}🛡️ ${c.bold}ContextGuard — Resumen FinOps${c.reset}
207
+ ${c.dim}Telemetría de intercepciones registradas en este equipo${c.reset}
208
+
209
+ ${c.bold}Balance de Tokens:${c.reset}
210
+ ${c.gray}•${c.reset} Archivos regulados: ${c.cyan}${stats.totalInterceptions}${c.reset}
211
+ ${c.gray}•${c.reset} Tokens crudos evitados: ${c.yellow}~${stats.totalRawTokens.toLocaleString()}${c.reset}
212
+ ${c.gray}•${c.reset} Tokens AST inyectados: ${c.white}~${stats.totalGuardedTokens.toLocaleString()}${c.reset}
213
+ ${c.gray}•${c.reset} ${c.bold}Tokens netos ahorrados:${c.reset} ${c.green}${c.bold}~${stats.totalTokensSaved.toLocaleString()}${c.reset}
211
214
 
212
- ${c.bold}┌── 📈 Balance de Tokens ─────────────────────────────────────────┐${c.reset}
213
- │ Intercepciones totales: ${c.bold}${c.cyan}${stats.totalInterceptions.toString().padEnd(10)}${c.reset} │
214
- │ Tokens crudos solicitados: ${c.bold}${c.yellow}${stats.totalRawTokens.toLocaleString().padEnd(12)}${c.reset} │
215
- │ Tokens procesados (AST): ${c.bold}${c.white}${stats.totalGuardedTokens.toLocaleString().padEnd(12)}${c.reset} │
216
- │ ${c.green}${c.bold}Tokens netos ahorrados:${c.reset} ${c.bold}${c.green}${stats.totalTokensSaved.toLocaleString().padEnd(12)}${c.reset} │
217
- │ │
218
- │ ${c.bold}💰 Ahorro Estimado en Dólares:${c.reset} │
219
- │ • Claude Opus 4/5: ${c.bold}${c.green}$${stats.totalDollarsSavedOpus.toFixed(2)} USD${c.reset} │
220
- │ • Claude Sonnet 4: ${c.bold}${c.green}$${stats.totalDollarsSavedSonnet.toFixed(2)} USD${c.reset} │
221
- │ • GPT-4o / Astra: ${c.bold}${c.green}$${stats.totalDollarsSavedGpt4o.toFixed(2)} USD${c.reset} │
222
- ${c.bold}└─────────────────────────────────────────────────────────────────┘${c.reset}
215
+ ${c.bold}Ahorro Estimado en Dólares:${c.reset}
216
+ ${c.gray}•${c.reset} Claude Opus 5.5: ${c.green}$${stats.totalDollarsSavedOpus.toFixed(2)} USD${c.reset}
217
+ ${c.gray}•${c.reset} Claude Sonnet 5.5: ${c.green}$${stats.totalDollarsSavedSonnet.toFixed(2)} USD${c.reset}
218
+ ${c.gray}•${c.reset} GPT-6 Astra: ${c.green}$${stats.totalDollarsSavedGpt6.toFixed(2)} USD${c.reset}
223
219
 
224
- ${c.dim}👉 Corre "context-guard stats --watch" para ver el flujo en tiempo real.${c.reset}
225
- ${c.dim}👉 Corre "context-guard stats <directorio>" para auditar un proyecto.${c.reset}
220
+ ${c.dim}💡 Corre "context-guard stats --watch" para ver el monitor en vivo.${c.reset}
221
+ ${c.dim}💡 Corre "context-guard stats <directorio>" para auditar una carpeta.${c.reset}
226
222
  `);
227
223
  }
228
224
  // ─── Single File Execution Card ───────────────────────────────────────────────
229
225
  function printExecutionCard(filePath, result) {
230
- const statusColor = {
231
- PASSTHROUGH_FULL: `${c.green}✅ PASSTHROUGH (Directo)${c.reset}`,
232
- PASSTHROUGH_SLICE: `${c.green}✅ SLICE (Rango acotado)${c.reset}`,
233
- SHUNTED_LOCAL_AST: `${c.cyan}🛡️ SHUNTED (Esqueleto AST Tier 0)${c.reset}`,
234
- SHUNTED_WORKER_MODEL: `${c.magenta}🤖 WORKER (Resumen ligero)${c.reset}`,
235
- BLOCKED_BINARY: `${c.red}🛑 BLOCKED (Archivo Binario)${c.reset}`,
236
- BLOCKED_LOCKFILE: `${c.red}🛑 BLOCKED (Lockfile masivo)${c.reset}`,
237
- BLOCKED_MINIFIED: `${c.red}🛑 BLOCKED (Código Minificado)${c.reset}`,
238
- ERROR: `${c.red}✖ ERROR${c.reset}`
226
+ const statusLabels = {
227
+ PASSTHROUGH_FULL: `${c.green}PASSTHROUGH (Directo)${c.reset}`,
228
+ PASSTHROUGH_SLICE: `${c.green}SLICE (Rango acotado)${c.reset}`,
229
+ SHUNTED_LOCAL_AST: `${c.cyan}SHUNTED (Esqueleto AST Tier 0)${c.reset}`,
230
+ SHUNTED_WORKER_MODEL: `${c.magenta}WORKER (Resumen ligero)${c.reset}`,
231
+ BLOCKED_BINARY: `${c.red}BLOCKED (Archivo Binario)${c.reset}`,
232
+ BLOCKED_LOCKFILE: `${c.red}BLOCKED (Lockfile)${c.reset}`,
233
+ BLOCKED_MINIFIED: `${c.red}BLOCKED (Minificado)${c.reset}`,
234
+ ERROR: `${c.red}ERROR${c.reset}`
239
235
  };
240
- const badge = statusColor[result.status] || result.status;
236
+ const label = statusLabels[result.status] || result.status;
241
237
  const fileName = path.basename(filePath);
242
238
  const m = result.metrics;
243
239
  console.log(`
244
- ${c.bold}┌── 🛡️ ContextGuard ──────────────────────────────────────────────┐${c.reset}
245
- │ ${c.bold}Archivo:${c.reset} ${c.white}${fileName.padEnd(46)}${c.reset}│
246
- │ ${c.bold}Estado:${c.reset} ${badge.padEnd(55)}│
247
- │ ${c.bold}Líneas:${c.reset} ${(result.totalLines ? `${result.totalLines} líneas (~${((result.sizeBytes || 0) / 1024).toFixed(1)} KB)` : 'N/A').padEnd(46)}│`);
240
+ ${c.cyan}🛡️ ${c.bold}${fileName}${c.reset} ${c.gray}•${c.reset} ${label} ${c.gray}•${c.reset} ${result.totalLines ? `${result.totalLines} líneas (~${((result.sizeBytes || 0) / 1024).toFixed(1)} KB)` : ''}`);
248
241
  if (m && m.tokensSaved > 0) {
249
- console.log(` │ ${c.bold}Ahorro:${c.reset} ${c.green}${c.bold}-${m.tokensSaved.toLocaleString()} tokens (-${m.percentageSaved}%)${c.reset} ${c.gray}(~$${m.dollarsSaved.claudeSonnet} en Sonnet)${c.reset} │`);
242
+ console.log(` ${c.green}📉 Ahorro:${c.reset} ${c.bold}-${m.tokensSaved.toLocaleString()} tokens (-${m.percentageSaved}%)${c.reset} ${c.gray}(~$${m.dollarsSaved.claudeSonnet55} USD en Claude Sonnet 5.5)${c.reset}`);
250
243
  }
251
- console.log(` ${c.bold}└─────────────────────────────────────────────────────────────────┘${c.reset}
252
- `);
244
+ console.log('');
253
245
  }
254
246
  // ─── CLI Entrypoint ───────────────────────────────────────────────────────────
255
247
  async function runCli() {
@@ -297,7 +289,7 @@ async function runCli() {
297
289
  }
298
290
  else {
299
291
  if (result.error) {
300
- console.error(`${c.red}✖ [ContextGuard Error]${c.reset} ${result.error}`);
292
+ console.error(`\n ${c.red}✖ [ContextGuard Error]${c.reset} ${result.error}\n`);
301
293
  process.exit(1);
302
294
  }
303
295
  printExecutionCard(filePath, result);
@@ -1 +1 @@
1
- {"version":3,"file":"context-guard.js","sourceRoot":"","sources":["../../bin/context-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-guard.js","sourceRoot":"","sources":["../../bin/context-guard.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,13 @@ import { StdioServerTransport } from '@modelcontextprotocol/server/stdio';
18
18
  import { z } from 'zod';
19
19
  import fs from 'node:fs';
20
20
  import path from 'node:path';
21
- import { processWithContextGuard } from '../src/index.js';
21
+ import { processWithContextGuard, calculateFinOps, recordMetricEvent } from '../src/index.js';
22
22
  import { CONFIG } from '../src/config.js';
23
23
  import { extractCodeSkeleton, isSupportedExtension } from '../src/skeletonizer.js';
24
24
  import { spawnSync } from 'node:child_process';
25
25
  // ─── Constants ────────────────────────────────────────────────────────────────
26
26
  const SERVER_NAME = 'context-guard';
27
- const SERVER_VERSION = '1.2.0';
27
+ const SERVER_VERSION = '1.3.2';
28
28
  // Native Claude Code / multimodal formats — allow full passthrough
29
29
  const NATIVE_MEDIA_EXTS = new Set([
30
30
  '.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.ico', '.bmp', '.avif',
@@ -220,7 +220,8 @@ server.registerTool('read_file_safe', {
220
220
  filePath: file_path,
221
221
  startLine: start_line,
222
222
  endLine: end_line,
223
- query: query ?? ''
223
+ query: query ?? '',
224
+ source: 'mcp'
224
225
  });
225
226
  // Format the response with status metadata header
226
227
  const statusBadge = {
@@ -303,6 +304,20 @@ server.registerTool('inspect_outline', {
303
304
  }]
304
305
  };
305
306
  }
307
+ if (totalLines > 300) {
308
+ const metrics = calculateFinOps(raw, skeleton);
309
+ if (metrics.tokensSaved > 0) {
310
+ recordMetricEvent({
311
+ source: 'mcp',
312
+ filePath: path.relative(process.cwd(), resolved),
313
+ action: 'INSPECT_OUTLINE',
314
+ rawTokens: metrics.rawTokens,
315
+ guardedTokens: metrics.guardedTokens,
316
+ tokensSaved: metrics.tokensSaved,
317
+ dollarsSavedSonnet: metrics.dollarsSaved.claudeSonnet55
318
+ });
319
+ }
320
+ }
306
321
  return {
307
322
  content: [{
308
323
  type: 'text',
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../bin/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../bin/mcp-server.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -17,7 +17,7 @@ export * from './token-metrics.js';
17
17
  * Evaluates file size and either passes it through or shunts it to an AST/Worker summary.
18
18
  */
19
19
  export async function processWithContextGuard(options) {
20
- const { filePath, query = '', startLine, endLine, forceWorker = false } = options;
20
+ const { filePath, query = '', startLine, endLine, forceWorker = false, source = 'cli' } = options;
21
21
  const resolved = path.resolve(process.cwd(), filePath);
22
22
  if (!fs.existsSync(resolved) || fs.statSync(resolved).isDirectory()) {
23
23
  return {
@@ -32,13 +32,13 @@ export async function processWithContextGuard(options) {
32
32
  res.metrics = metrics;
33
33
  if (metrics.tokensSaved > 0) {
34
34
  recordMetricEvent({
35
- source: 'cli',
35
+ source,
36
36
  filePath: path.relative(process.cwd(), resolved),
37
37
  action: res.status,
38
38
  rawTokens: metrics.rawTokens,
39
39
  guardedTokens: metrics.guardedTokens,
40
40
  tokensSaved: metrics.tokensSaved,
41
- dollarsSavedSonnet: metrics.dollarsSaved.claudeSonnet
41
+ dollarsSavedSonnet: metrics.dollarsSaved.claudeSonnet55
42
42
  });
43
43
  }
44
44
  return res;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,9 @@ export interface TokenComparison {
6
6
  tokensSaved: number;
7
7
  percentageSaved: number;
8
8
  dollarsSaved: {
9
- claudeOpus: number;
10
- claudeSonnet: number;
11
- gpt4o: number;
9
+ claudeOpus55: number;
10
+ claudeSonnet55: number;
11
+ gpt6Astra: number;
12
12
  };
13
13
  }
14
14
  export interface MetricEvent {
@@ -28,7 +28,7 @@ export interface AggregatedStats {
28
28
  totalTokensSaved: number;
29
29
  totalDollarsSavedOpus: number;
30
30
  totalDollarsSavedSonnet: number;
31
- totalDollarsSavedGpt4o: number;
31
+ totalDollarsSavedGpt6: number;
32
32
  events: MetricEvent[];
33
33
  }
34
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"token-metrics.d.ts","sourceRoot":"","sources":["../../src/token-metrics.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CA4BrF;AAcD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,IAAI,CAyB7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CA8BpD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAOnC"}
1
+ {"version":3,"file":"token-metrics.d.ts","sourceRoot":"","sources":["../../src/token-metrics.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CA4BrF;AAiBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,IAAI,CAyB7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CA8BpD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAOnC"}
@@ -31,10 +31,10 @@ export function calculateFinOps(rawText, guardedText) {
31
31
  const guardedTokens = estimateTokens(guardedText);
32
32
  const tokensSaved = Math.max(0, rawTokens - guardedTokens);
33
33
  const percentageSaved = rawTokens > 0 ? (tokensSaved / rawTokens) * 100 : 0;
34
- // Pricing per 1M input tokens
35
- const OPUS_PRICE_PER_M = 15.00;
36
- const SONNET_PRICE_PER_M = 3.00;
37
- const GPT4O_PRICE_PER_M = 2.50;
34
+ // Pricing per 1M input tokens (Anthropic & OpenAI official docs)
35
+ const OPUS55_PRICE_PER_M = 4.00;
36
+ const SONNET55_PRICE_PER_M = 2.00;
37
+ const GPT6_PRICE_PER_M = 10.00;
38
38
  return {
39
39
  rawBytes,
40
40
  rawTokens,
@@ -43,14 +43,17 @@ export function calculateFinOps(rawText, guardedText) {
43
43
  tokensSaved,
44
44
  percentageSaved: parseFloat(percentageSaved.toFixed(1)),
45
45
  dollarsSaved: {
46
- claudeOpus: parseFloat(((tokensSaved / 1_000_000) * OPUS_PRICE_PER_M).toFixed(4)),
47
- claudeSonnet: parseFloat(((tokensSaved / 1_000_000) * SONNET_PRICE_PER_M).toFixed(4)),
48
- gpt4o: parseFloat(((tokensSaved / 1_000_000) * GPT4O_PRICE_PER_M).toFixed(4))
46
+ claudeOpus55: parseFloat(((tokensSaved / 1_000_000) * OPUS55_PRICE_PER_M).toFixed(4)),
47
+ claudeSonnet55: parseFloat(((tokensSaved / 1_000_000) * SONNET55_PRICE_PER_M).toFixed(4)),
48
+ gpt6Astra: parseFloat(((tokensSaved / 1_000_000) * GPT6_PRICE_PER_M).toFixed(4))
49
49
  }
50
50
  };
51
51
  }
52
52
  // ─── Persistent Metrics Store (~/.contextguard/metrics.json) ──────────────────
53
53
  function getMetricsFilePath() {
54
+ if (process.env.CONTEXT_GUARD_METRICS_FILE) {
55
+ return process.env.CONTEXT_GUARD_METRICS_FILE;
56
+ }
54
57
  const dir = path.join(os.homedir(), '.contextguard');
55
58
  if (!fs.existsSync(dir)) {
56
59
  try {
@@ -114,9 +117,9 @@ export function getAggregatedStats() {
114
117
  totalRawTokens,
115
118
  totalGuardedTokens,
116
119
  totalTokensSaved,
117
- totalDollarsSavedOpus: parseFloat(((totalTokensSaved / 1_000_000) * 15.00).toFixed(2)),
118
- totalDollarsSavedSonnet: parseFloat(((totalTokensSaved / 1_000_000) * 3.00).toFixed(2)),
119
- totalDollarsSavedGpt4o: parseFloat(((totalTokensSaved / 1_000_000) * 2.50).toFixed(2)),
120
+ totalDollarsSavedOpus: parseFloat(((totalTokensSaved / 1_000_000) * 4.00).toFixed(2)),
121
+ totalDollarsSavedSonnet: parseFloat(((totalTokensSaved / 1_000_000) * 2.00).toFixed(2)),
122
+ totalDollarsSavedGpt6: parseFloat(((totalTokensSaved / 1_000_000) * 10.00).toFixed(2)),
120
123
  events
121
124
  };
122
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-metrics.js","sourceRoot":"","sources":["../../src/token-metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-metrics.js","sourceRoot":"","sources":["../../src/token-metrics.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface ProcessFileOptions {
17
17
  startLine?: number;
18
18
  endLine?: number;
19
19
  forceWorker?: boolean;
20
+ source?: 'cli' | 'mcp' | 'hook';
20
21
  }
21
22
  export type ProcessFileStatus = 'PASSTHROUGH_FULL' | 'PASSTHROUGH_SLICE' | 'SHUNTED_LOCAL_AST' | 'SHUNTED_WORKER_MODEL' | 'SHUNT_FALLBACK' | 'BLOCKED_BINARY' | 'BLOCKED_LOCKFILE' | 'BLOCKED_MINIFIED' | 'ERROR';
22
23
  export interface ProcessFileResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,GAClB,OAAO,CAAC;AAEZ,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,oBAAoB,EAAE,eAAe,CAAC;CACxD;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,GAClB,OAAO,CAAC;AAEZ,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,oBAAoB,EAAE,eAAe,CAAC;CACxD;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB"}
@@ -10,6 +10,7 @@ import path from 'node:path';
10
10
  import fs from 'node:fs';
11
11
  import os from 'node:os';
12
12
  import { fileURLToPath } from 'node:url';
13
+ import { getAggregatedStats } from '../src/token-metrics.js';
13
14
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
14
15
  const MCP_SERVER_BIN = path.resolve(__dirname, '../../dist/bin/mcp-server.js');
15
16
  function sendRequest(proc, request) {
@@ -89,7 +90,7 @@ describe('ContextGuard MCP Server (Phase 2)', () => {
89
90
  assert.ok(result.serverInfo, 'Must include serverInfo');
90
91
  const info = result.serverInfo;
91
92
  assert.strictEqual(info.name, 'context-guard');
92
- assert.strictEqual(info.version, '1.2.0');
93
+ assert.strictEqual(info.version, '1.3.2');
93
94
  });
94
95
  it('should list exactly 3 registered tools', async () => {
95
96
  const res = await sendRequest(proc, req('tools/list'));
@@ -244,5 +245,22 @@ describe('ContextGuard MCP Server (Phase 2)', () => {
244
245
  const result = res.result;
245
246
  assert.ok(result.prompts.some((p) => p.name === 'investigate_codebase_safely'), 'Must expose prompt template');
246
247
  });
248
+ it('telemetry: should record MCP events with source="mcp" when large file is inspected', async () => {
249
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'cg-mcp-telemetry-'));
250
+ const tmpFile = path.join(tmpDir, 'service.ts');
251
+ const lines = ['export class OrderService {', ' processOrder() {}', '}'];
252
+ while (lines.length < 320)
253
+ lines.push(` // padding line ${lines.length}`);
254
+ fs.writeFileSync(tmpFile, lines.join('\n'));
255
+ await sendRequest(proc, req('tools/call', {
256
+ name: 'inspect_outline',
257
+ arguments: { file_path: tmpFile }
258
+ }));
259
+ const stats = getAggregatedStats();
260
+ const mcpEvents = stats.events.filter((e) => e.source === 'mcp');
261
+ assert.ok(mcpEvents.length > 0, 'Must record at least one MCP event');
262
+ assert.strictEqual(mcpEvents[mcpEvents.length - 1].source, 'mcp');
263
+ fs.rmSync(tmpDir, { recursive: true });
264
+ });
247
265
  });
248
266
  //# sourceMappingURL=mcp-server.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.test.js","sourceRoot":"","sources":["../../tests/mcp-server.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.test.js","sourceRoot":"","sources":["../../tests/mcp-server.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * Token Metrics and FinOps Unit Tests
3
3
  */
4
+ import fs from 'node:fs';
5
+ import os from 'node:os';
6
+ import path from 'node:path';
4
7
  import { describe, it } from 'node:test';
5
8
  import assert from 'node:assert';
6
9
  import { estimateTokens, calculateFinOps, getAggregatedStats, resetMetrics, recordMetricEvent } from '../src/token-metrics.js';
@@ -18,24 +21,38 @@ describe('Token Metrics & FinOps (Fase 5 Preview)', () => {
18
21
  const fin = calculateFinOps(rawContent, skeletonContent);
19
22
  assert.ok(fin.tokensSaved > 0, 'Must have saved tokens');
20
23
  assert.ok(fin.percentageSaved > 80, `Expected >80% savings, got ${fin.percentageSaved}%`);
21
- assert.ok(fin.dollarsSaved.claudeSonnet >= 0);
22
- assert.ok(fin.dollarsSaved.claudeOpus >= 0);
24
+ assert.ok(fin.dollarsSaved.claudeSonnet55 >= 0);
25
+ assert.ok(fin.dollarsSaved.claudeOpus55 >= 0);
26
+ assert.ok(fin.dollarsSaved.gpt6Astra >= 0);
23
27
  });
24
28
  it('should record metric events and aggregate stats', () => {
25
- resetMetrics();
26
- recordMetricEvent({
27
- source: 'cli',
28
- filePath: 'test.ts',
29
- action: 'SHUNTED_LOCAL_AST',
30
- rawTokens: 1000,
31
- guardedTokens: 100,
32
- tokensSaved: 900,
33
- dollarsSavedSonnet: 0.0027
34
- });
35
- const stats = getAggregatedStats();
36
- assert.strictEqual(stats.totalInterceptions, 1);
37
- assert.strictEqual(stats.totalTokensSaved, 900);
38
- assert.ok(stats.events.length === 1);
29
+ const testMetricsFile = path.join(os.tmpdir(), `cg-metrics-test-${Date.now()}-${Math.random().toString(36).slice(2)}.json`);
30
+ process.env.CONTEXT_GUARD_METRICS_FILE = testMetricsFile;
31
+ try {
32
+ resetMetrics();
33
+ recordMetricEvent({
34
+ source: 'cli',
35
+ filePath: 'test.ts',
36
+ action: 'SHUNTED_LOCAL_AST',
37
+ rawTokens: 1000,
38
+ guardedTokens: 100,
39
+ tokensSaved: 900,
40
+ dollarsSavedSonnet: 0.0027
41
+ });
42
+ const stats = getAggregatedStats();
43
+ assert.strictEqual(stats.totalInterceptions, 1);
44
+ assert.strictEqual(stats.totalTokensSaved, 900);
45
+ assert.ok(stats.events.length === 1);
46
+ }
47
+ finally {
48
+ delete process.env.CONTEXT_GUARD_METRICS_FILE;
49
+ if (fs.existsSync(testMetricsFile)) {
50
+ try {
51
+ fs.unlinkSync(testMetricsFile);
52
+ }
53
+ catch { }
54
+ }
55
+ }
39
56
  });
40
57
  });
41
58
  //# sourceMappingURL=token-metrics.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-metrics.test.js","sourceRoot":"","sources":["../../tests/token-metrics.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/H,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,6DAA6D,CAAC;QAChF,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,EAAE,wCAAwC,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QACrD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;QAExD,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,EAAE,8BAA8B,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC;QAC1F,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,YAAY,EAAE,CAAC;QAEf,iBAAiB,CAAC;YAChB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,mBAAmB;YAC3B,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,GAAG;YAClB,WAAW,EAAE,GAAG;YAChB,kBAAkB,EAAE,MAAM;SAC3B,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;QACnC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"token-metrics.test.js","sourceRoot":"","sources":["../../tests/token-metrics.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevinbermudezc/context-guard",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "Intelligent context admission control and token optimization for Claude Code, Cursor, Windsurf, Antigravity, and Agentic AI workflows.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -19,6 +19,12 @@
19
19
  "LICENSE",
20
20
  "examples"
21
21
  ],
22
+ "packageManager": "pnpm@11.2.2",
23
+ "scripts": {
24
+ "build": "tsc && chmod +x dist/bin/*.js",
25
+ "prepublishOnly": "pnpm run build",
26
+ "test": "pnpm run build && node --test dist/tests/**/*.test.js"
27
+ },
22
28
  "devDependencies": {
23
29
  "@types/node": "^22.13.9",
24
30
  "typescript": "^7.0.2",
@@ -52,9 +58,5 @@
52
58
  },
53
59
  "dependencies": {
54
60
  "@modelcontextprotocol/server": "2.2.0"
55
- },
56
- "scripts": {
57
- "build": "tsc && chmod +x dist/bin/*.js",
58
- "test": "pnpm run build && node --test dist/tests/**/*.test.js"
59
61
  }
60
- }
62
+ }