token-counter-mcp 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +90 -36
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAkMA,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: "
|
|
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
|
-
`
|
|
51
|
+
` USAGE=${D}(python3 - "${D}TRANSCRIPT" 2>/dev/null << 'PYEOF'`,
|
|
52
52
|
"import json, sys",
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
|
|
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
|
-
`
|
|
65
|
-
`
|
|
66
|
-
`
|
|
67
|
-
`
|
|
68
|
-
`
|
|
69
|
-
`
|
|
70
|
-
`
|
|
71
|
-
`
|
|
72
|
-
`
|
|
73
|
-
`
|
|
74
|
-
"
|
|
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
|
|
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
|
-
" $
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
"
|
|
97
|
-
|
|
98
|
-
|
|
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
|
"",
|
|
@@ -105,6 +139,10 @@ function writeStopHookPowershell() {
|
|
|
105
139
|
function writeStopHook() {
|
|
106
140
|
if (IS_WIN) {
|
|
107
141
|
writeStopHookPowershell();
|
|
142
|
+
// Clean up old .sh file that doesn't work on Windows
|
|
143
|
+
const oldSh = path.join(CLAUDE_DIR, "token-counter-stop.sh");
|
|
144
|
+
if (fs.existsSync(oldSh))
|
|
145
|
+
fs.unlinkSync(oldSh);
|
|
108
146
|
}
|
|
109
147
|
else {
|
|
110
148
|
writeStopHookBash();
|
|
@@ -116,8 +154,24 @@ function addStopHook() {
|
|
|
116
154
|
const hooks = (settings.hooks ?? {});
|
|
117
155
|
const stopHookCmd = IS_WIN
|
|
118
156
|
? `powershell -NoProfile -File "${STOP_SCRIPT}"`
|
|
119
|
-
:
|
|
120
|
-
|
|
157
|
+
: `bash "${STOP_SCRIPT}"`;
|
|
158
|
+
let existing = (hooks.Stop ?? []);
|
|
159
|
+
// Remove old broken hooks: /bin/bash on Windows, or old .sh/.ps1 variant after platform switch
|
|
160
|
+
const oldShScript = path.join(CLAUDE_DIR, "token-counter-stop.sh");
|
|
161
|
+
const oldPs1Script = path.join(CLAUDE_DIR, "token-counter-stop.ps1");
|
|
162
|
+
const stalePatterns = [
|
|
163
|
+
`/bin/bash "${oldShScript}"`,
|
|
164
|
+
`/bin/bash "${oldPs1Script}"`,
|
|
165
|
+
`bash "${IS_WIN ? oldShScript : ""}"`, // .sh hook on Windows is stale
|
|
166
|
+
];
|
|
167
|
+
if (IS_WIN) {
|
|
168
|
+
// On Windows, remove any bash-based hooks (old or broken)
|
|
169
|
+
stalePatterns.push(`bash "${oldShScript}"`, `/bin/bash "${oldShScript}"`);
|
|
170
|
+
}
|
|
171
|
+
existing = existing.filter(h => {
|
|
172
|
+
const cmds = h.hooks?.map(hh => hh.command) ?? [];
|
|
173
|
+
return !cmds.some(cmd => stalePatterns.includes(cmd));
|
|
174
|
+
});
|
|
121
175
|
const alreadyIn = existing.some(h => h.hooks?.some(hh => hh.command === stopHookCmd));
|
|
122
176
|
if (!alreadyIn) {
|
|
123
177
|
existing.push({ matcher: "", hooks: [{ type: "command", command: stopHookCmd }] });
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,MAAM;IACxB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC;IACjD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;AAEnD,SAAS,SAAS,CAAC,CAAS;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;IAAC,CAAC;IACjF,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACtB,CAAC;AAED,SAAS,SAAS,CAAC,CAAS,EAAE,IAAa;IACzC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,oDAAoD;YACpD,QAAQ,CACN,6HAA6H,EAC7H,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAC7C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CACN,iIAAiI,EACjI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED