token-counter-mcp 1.0.5 → 1.0.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AA2IA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA2B9C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AA8KA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA2B9C"}
package/dist/setup.js CHANGED
@@ -31,7 +31,7 @@ function registerMcp() {
31
31
  execSync('claude mcp remove token-counter --scope user 2>$null; claude mcp add --scope user token-counter -- npx -y token-counter-mcp', { stdio: "ignore", shell: "powershell.exe" });
32
32
  }
33
33
  else {
34
- execSync("claude mcp remove token-counter --scope user 2>/dev/null; claude mcp add --scope user token-counter -- npx -y token-counter-mcp", { stdio: "ignore", shell: "/bin/bash" });
34
+ execSync("claude mcp remove token-counter --scope user 2>/dev/null; claude mcp add --scope user token-counter -- npx -y token-counter-mcp", { stdio: "ignore", shell: "bash" });
35
35
  }
36
36
  return "ok";
37
37
  }
@@ -48,30 +48,52 @@ function writeStopHookBash() {
48
48
  `INPUT=${D}(cat)`,
49
49
  `TRANSCRIPT=${D}(echo "${D}INPUT" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('transcript_path',''))" 2>/dev/null || echo "")`,
50
50
  `if [[ -n "${D}TRANSCRIPT" && -f "${D}TRANSCRIPT" ]]; then`,
51
- ` CHARS=${D}(python3 - "${D}TRANSCRIPT" 2>/dev/null << 'PYEOF'`,
51
+ ` USAGE=${D}(python3 - "${D}TRANSCRIPT" 2>/dev/null << 'PYEOF'`,
52
52
  "import json, sys",
53
- "lines = open(sys.argv[1]).readlines()",
54
- "for line in reversed(lines):",
55
- " try:",
56
- " msg = json.loads(line)",
57
- ` if msg.get("type") == "assistant":`,
58
- ` print(len(str(msg.get("message", {}).get("content", ""))))`,
59
- " break",
60
- " except Exception:",
61
- " pass",
53
+ "input_tokens = cache_create = cache_read = output_tokens = 0",
54
+ 'model = ""',
55
+ "with open(sys.argv[1]) as f:",
56
+ " for line in f:",
57
+ " try:",
58
+ " msg = json.loads(line)",
59
+ " except Exception:",
60
+ " continue",
61
+ ' if msg.get("type") != "assistant":',
62
+ " continue",
63
+ ' m = msg.get("message", {})',
64
+ " if not model:",
65
+ ' model = m.get("model", "")',
66
+ ' u = m.get("usage", {})',
67
+ " if not u:",
68
+ " continue",
69
+ ' input_tokens += u.get("input_tokens", 0)',
70
+ ' cache_create += u.get("cache_creation_input_tokens", 0)',
71
+ ' cache_read += u.get("cache_read_input_tokens", 0)',
72
+ ' output_tokens += u.get("output_tokens", 0)',
73
+ "total_input = input_tokens + cache_create + cache_read",
74
+ "if total_input > 0 or output_tokens > 0:",
75
+ " print(json.dumps({",
76
+ ' "input_tokens": total_input,',
77
+ ' "output_tokens": output_tokens,',
78
+ ' "cache_creation_input_tokens": cache_create,',
79
+ ' "cache_read_input_tokens": cache_read,',
80
+ ' "raw_input_tokens": input_tokens,',
81
+ ' "model": model or "claude-sonnet-4-6",',
82
+ " }))",
62
83
  "PYEOF",
63
84
  ")",
64
- ` OUT=${D}(( ${D}{CHARS:-0} / 4 ))`,
65
- ` IN=${D}(( OUT * 4 ))`,
66
- ` PROJ_DIR=${D}(basename "${D}(dirname "${D}TRANSCRIPT")")`,
67
- ` PROJECT_PATH=${D}(echo "${D}PROJ_DIR" | sed 's|^-|/|' | sed 's|-|/|g')`,
68
- ` PORT_FILE="${D}HOME/.claude/token-counter/dashboard-port.txt"`,
69
- ` DASH_PORT=8899`,
70
- ` if [[ -f "${D}PORT_FILE" ]]; then DASH_PORT=${D}(cat "${D}PORT_FILE"); fi`,
71
- ` curl -sf -X POST "http://localhost:${D}DASH_PORT/log" \\`,
72
- ` -H "Content-Type: application/json" \\`,
73
- ` -d "{\\"input_tokens\\":${D}IN,\\"output_tokens\\":${D}OUT,\\"model\\":\\"claude-sonnet-4-6\\",\\"description\\":\\"auto\\",\\"project\\":\\"${D}PROJECT_PATH\\"}" \\`,
74
- " >/dev/null 2>&1 || true",
85
+ ` if [[ -n "${D}USAGE" ]]; then`,
86
+ ` PROJ_DIR=${D}(basename "${D}(dirname "${D}TRANSCRIPT")")`,
87
+ ` PROJECT_PATH=${D}(echo "${D}PROJ_DIR" | sed 's|^-|/|' | sed 's|-|/|g')`,
88
+ ` BODY=${D}(echo "${D}USAGE" | python3 -c "import sys,json; d=json.load(sys.stdin); d['description']='auto'; d['project']='${D}PROJECT_PATH'; print(json.dumps(d))" 2>/dev/null)`,
89
+ ` PORT_FILE="${D}HOME/.claude/token-counter/dashboard-port.txt"`,
90
+ ` DASH_PORT=8899`,
91
+ ` if [[ -f "${D}PORT_FILE" ]]; then DASH_PORT=${D}(cat "${D}PORT_FILE"); fi`,
92
+ ` curl -sf -X POST "http://localhost:${D}DASH_PORT/log" \\`,
93
+ ` -H "Content-Type: application/json" \\`,
94
+ ` -d "${D}BODY" \\`,
95
+ " >/dev/null 2>&1 || true",
96
+ " fi",
75
97
  "fi",
76
98
  "exit 0",
77
99
  "",
@@ -79,23 +101,35 @@ function writeStopHookBash() {
79
101
  fs.writeFileSync(STOP_SCRIPT, lines.join("\n"), { encoding: "utf8", mode: 0o755 });
80
102
  }
81
103
  function writeStopHookPowershell() {
82
- // PowerShell stop hook: reads transcript from stdin JSON, estimates tokens, POSTs to dashboard.
104
+ // PowerShell stop hook: reads real API usage from transcript JSONL, POSTs to dashboard.
83
105
  const lines = [
84
106
  "$hookInput = [Console]::In.ReadToEnd()",
85
107
  "try { $transcript = ($hookInput | ConvertFrom-Json).transcript_path } catch { $transcript = '' }",
86
108
  "if ($transcript -and (Test-Path $transcript)) {",
87
109
  " try {",
88
- " $lines = Get-Content $transcript -Raw | ConvertFrom-Json -AsHashtable -ErrorAction SilentlyContinue",
89
- " if (-not $lines) { $lines = (Get-Content $transcript) | ForEach-Object { $_ | ConvertFrom-Json -ErrorAction SilentlyContinue } | Where-Object { $_ } }",
90
- " $last = ($lines | Where-Object { $_.type -eq 'assistant' }) | Select-Object -Last 1",
91
- " $chars = ([string]($last.message.content)).Length",
92
- " $out = [Math]::Max(1, [int]($chars / 4)); $in = $out * 4",
93
- ' $portFile = Join-Path $env:USERPROFILE ".claude\\token-counter\\dashboard-port.txt"',
94
- ' $dashPort = if (Test-Path $portFile) { (Get-Content $portFile -Raw).Trim() } else { "8899" }',
95
- ' $projDir = Split-Path (Split-Path $transcript) -Leaf',
96
- " $projectPath = ($projDir -replace '^-','/' -replace '-','/')",
97
- ' $body = "{`"input_tokens`":$in,`"output_tokens`":$out,`"model`":`"claude-sonnet-4-6`",`"description`":`"auto`",`"project`":`"$projectPath`"}"',
98
- ' Invoke-RestMethod -Method Post -Uri "http://localhost:$dashPort/log" -ContentType "application/json" -Body $body -ErrorAction SilentlyContinue | Out-Null',
110
+ " $inputTok = 0; $cacheCreate = 0; $cacheRead = 0; $outputTok = 0; $model = ''",
111
+ " foreach ($line in (Get-Content $transcript)) {",
112
+ " try { $msg = $line | ConvertFrom-Json -ErrorAction SilentlyContinue } catch { continue }",
113
+ " if ($msg.type -ne 'assistant') { continue }",
114
+ " $m = $msg.message",
115
+ " if (-not $model -and $m.model) { $model = $m.model }",
116
+ " $u = $m.usage",
117
+ " if (-not $u) { continue }",
118
+ " $inputTok += [int]($u.input_tokens -as [int])",
119
+ " $cacheCreate += [int]($u.cache_creation_input_tokens -as [int])",
120
+ " $cacheRead += [int]($u.cache_read_input_tokens -as [int])",
121
+ " $outputTok += [int]($u.output_tokens -as [int])",
122
+ " }",
123
+ " $totalInput = $inputTok + $cacheCreate + $cacheRead",
124
+ " if ($totalInput -gt 0 -or $outputTok -gt 0) {",
125
+ " if (-not $model) { $model = 'claude-sonnet-4-6' }",
126
+ ' $portFile = Join-Path $env:USERPROFILE ".claude\\token-counter\\dashboard-port.txt"',
127
+ ' $dashPort = if (Test-Path $portFile) { (Get-Content $portFile -Raw).Trim() } else { "8899" }',
128
+ ' $projDir = Split-Path (Split-Path $transcript) -Leaf',
129
+ " $projectPath = ($projDir -replace '^-','/' -replace '-','/')",
130
+ ' $body = "{`"input_tokens`":$totalInput,`"output_tokens`":$outputTok,`"cache_creation_input_tokens`":$cacheCreate,`"cache_read_input_tokens`":$cacheRead,`"raw_input_tokens`":$inputTok,`"model`":`"$model`",`"description`":`"auto`",`"project`":`"$projectPath`"}"',
131
+ ' Invoke-RestMethod -Method Post -Uri "http://localhost:$dashPort/log" -ContentType "application/json" -Body $body -ErrorAction SilentlyContinue | Out-Null',
132
+ " }",
99
133
  " } catch {}",
100
134
  "}",
101
135
  "",
@@ -116,9 +150,10 @@ function addStopHook() {
116
150
  const hooks = (settings.hooks ?? {});
117
151
  const stopHookCmd = IS_WIN
118
152
  ? `powershell -NoProfile -File "${STOP_SCRIPT}"`
119
- : `/bin/bash "${STOP_SCRIPT}"`;
153
+ : `bash "${STOP_SCRIPT}"`;
120
154
  const existing = (hooks.Stop ?? []);
121
- const alreadyIn = existing.some(h => h.hooks?.some(hh => hh.command === stopHookCmd));
155
+ // Also match old /bin/bash variant so we don't duplicate hooks after upgrade
156
+ const alreadyIn = existing.some(h => h.hooks?.some(hh => hh.command === stopHookCmd || hh.command === `/bin/bash "${STOP_SCRIPT}"`));
122
157
  if (!alreadyIn) {
123
158
  existing.push({ matcher: "", hooks: [{ type: "command", command: stopHookCmd }] });
124
159
  }
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "token-counter-mcp",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "MCP server that accurately counts and tracks every Claude Code token — input, output, cache, and planning",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",