tokentracker-cli 0.5.94 → 0.5.95

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tokentracker-cli",
3
- "version": "0.5.94",
3
+ "version": "0.5.95",
4
4
  "description": "Token usage tracker for AI agent CLIs (Claude Code, Codex, Cursor, Kiro, Gemini, OpenCode, OpenClaw, Hermes, GitHub Copilot)",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
@@ -816,7 +816,7 @@ try {
816
816
  if (originalPath) {
817
817
  const original = JSON.parse(fs.readFileSync(originalPath, 'utf8'));
818
818
  const cmd = Array.isArray(original?.notify) ? original.notify : null;
819
- if (cmd && cmd.length > 0 && !isSelfNotify(cmd)) {
819
+ if (cmd && cmd.length > 0 && !isSelfNotify(cmd) && shouldChainNotify(cmd)) {
820
820
  const args = cmd.slice(1);
821
821
  if (payloadArgs.length > 0) args.push(...payloadArgs);
822
822
  spawnDetached([cmd[0], ...args]);
@@ -852,6 +852,30 @@ function isSelfNotify(cmd) {
852
852
  }
853
853
  return false;
854
854
  }
855
+
856
+ function shouldChainNotify(cmd) {
857
+ if (!Array.isArray(cmd) || cmd.length === 0) return false;
858
+ if (containsSkyComputerUseClient(cmd)) return false;
859
+ return isRunnableCommand(cmd[0]);
860
+ }
861
+
862
+ function containsSkyComputerUseClient(cmd) {
863
+ return cmd.some((part) => typeof part === 'string' && part.includes('SkyComputerUseClient'));
864
+ }
865
+
866
+ function isRunnableCommand(command) {
867
+ if (typeof command !== 'string' || command.length === 0) return false;
868
+ const explicitPath = command.startsWith('~/') || command.includes('/');
869
+ if (!explicitPath) return true;
870
+ const resolved = resolveMaybeHome(command);
871
+ if (!resolved) return false;
872
+ try {
873
+ fs.accessSync(resolved, fs.constants.X_OK);
874
+ return true;
875
+ } catch (_) {
876
+ return false;
877
+ }
878
+ }
855
879
  `;
856
880
  }
857
881
 
@@ -12,6 +12,10 @@
12
12
  "composer-1.5": { "input": 3.5, "output": 17.5, "cache_read": 0.35 },
13
13
  "composer-2": { "input": 0.5, "output": 2.5, "cache_read": 0.2 },
14
14
  "composer-2-fast": { "input": 1.5, "output": 7.5, "cache_read": 0.15 },
15
+ "MiniMax-M2.7": { "input": 0.3, "output": 1.2, "cache_read": 0.06, "cache_write": 0.375 },
16
+ "MiniMax-M2.7-highspeed":{ "input": 0.6, "output": 2.4, "cache_read": 0.06, "cache_write": 0.375 },
17
+ "deepseek-v4-flash":{ "input": 0.14, "output": 0.28, "cache_read": 0.0028, "cache_write": 0.14 },
18
+ "deepseek-v4-pro": { "input": 0.435,"output": 0.87, "cache_read": 0.003625, "cache_write": 0.435 },
15
19
  "kimi-for-coding": { "input": 0.6, "output": 2, "cache_read": 0.15 },
16
20
  "kimi-k2.5": { "input": 0.6, "output": 2, "cache_read": 0.15 },
17
21
  "kimi-k2.5-free": { "input": 0, "output": 0, "cache_read": 0 },
@@ -25,9 +29,13 @@
25
29
  "auto": "composer-1"
26
30
  },
27
31
  "fuzzy": [
28
- { "match": "kiro", "ref": "kiro-cli-agent" },
29
- { "match": "hy3", "ref": "hy3-preview-agent" },
30
- { "match": "composer", "ref": "composer-1" },
31
- { "match": "kimi", "ref": "kimi-k2.5" }
32
+ { "match": "kiro", "ref": "kiro-cli-agent" },
33
+ { "match": "hy3", "ref": "hy3-preview-agent" },
34
+ { "match": "composer", "ref": "composer-1" },
35
+ { "match": "minimax-m2.7-highspeed", "ref": "MiniMax-M2.7-highspeed" },
36
+ { "match": "minimax-m2.7", "ref": "MiniMax-M2.7" },
37
+ { "match": "deepseek-v4-flash", "ref": "deepseek-v4-flash" },
38
+ { "match": "deepseek-v4-pro", "ref": "deepseek-v4-pro" },
39
+ { "match": "kimi", "ref": "kimi-k2.5" }
32
40
  ]
33
41
  }