@tokscale/cli 2.1.2 → 3.0.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.
- package/dist/index.js +20 -14
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { spawnSync, execSync } from "node:child_process";
|
|
3
|
-
import { existsSync } from "node:fs";
|
|
3
|
+
import { existsSync, realpathSync } from "node:fs";
|
|
4
4
|
import { resolve, join, basename } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
const binaryName = process.platform === "win32" ? "tokscale.exe" : "tokscale";
|
|
@@ -117,22 +117,28 @@ if (rustTargetTriple) {
|
|
|
117
117
|
searchPaths.push(join(workspaceRoot, "target", rustTargetTriple, "release", binaryName));
|
|
118
118
|
}
|
|
119
119
|
searchPaths.push(join(workspaceRoot, "target", "release", binaryName), join(cliDir, "bin", binaryName));
|
|
120
|
-
|
|
121
|
-
if (!binary) {
|
|
120
|
+
function tryRealpath(p) {
|
|
122
121
|
try {
|
|
123
|
-
|
|
124
|
-
const found = execSync(`${whichCmd} ${binaryName}`, {
|
|
125
|
-
encoding: "utf-8",
|
|
126
|
-
stdio: ["pipe", "pipe", "pipe"],
|
|
127
|
-
})
|
|
128
|
-
.trim()
|
|
129
|
-
.split("\n")[0];
|
|
130
|
-
if (found && existsSync(found)) {
|
|
131
|
-
binary = found;
|
|
132
|
-
}
|
|
122
|
+
return realpathSync(p);
|
|
133
123
|
}
|
|
134
|
-
catch {
|
|
124
|
+
catch {
|
|
125
|
+
return p;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Paths that would re-enter this wrapper if executed - using any of these as
|
|
129
|
+
// the "real" binary causes infinite recursion (a fork bomb). We compare by
|
|
130
|
+
// realpath so symlinks (e.g. npm/bun bin shims) are dereferenced.
|
|
131
|
+
const selfPaths = new Set([
|
|
132
|
+
tryRealpath(fileURLToPath(import.meta.url)),
|
|
133
|
+
tryRealpath(join(cliDir, "bin.js")),
|
|
134
|
+
]);
|
|
135
|
+
if (process.argv[1]) {
|
|
136
|
+
selfPaths.add(tryRealpath(process.argv[1]));
|
|
137
|
+
}
|
|
138
|
+
function isSelfReference(p) {
|
|
139
|
+
return selfPaths.has(tryRealpath(p));
|
|
135
140
|
}
|
|
141
|
+
let binary = searchPaths.find((p) => existsSync(p) && !isSelfReference(p));
|
|
136
142
|
if (!binary) {
|
|
137
143
|
console.error("Error: tokscale binary not found");
|
|
138
144
|
console.error("Build from source: cargo build --release -p tokscale-cli");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;AAE9E,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AACrC,oEAAoE;AACpE,6CAA6C;AAC7C,2CAA2C;AAC3C,8DAA8D;AAC9D,+BAA+B;AAC/B,6BAA6B;AAC7B,4DAA4D;AAC5D,+BAA+B;AAC/B,6BAA6B;AAC7B,MAAM,QAAQ,GAAG,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,CAAC;AACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAI9C,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAK7B,CAAC;IAEd,IAAI,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EACtE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,EAAE;YACvC,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,kBAAkB,CAAC;QAChD,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,gBAAgB,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC1E,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,sBAAsB,CAAC;QACpD,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,oBAAoB,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,sBAAsB,CAAC;QACpD,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,qBAAqB,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,KAAK,MAAM;gBACpB,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,2BAA2B,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,KAAK,MAAM;gBACpB,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,0BAA0B,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,yBAAyB,CAAC;QACvD,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,wBAAwB,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;AACjD,MAAM,WAAW,GAAa,EAAE,CAAC;AAEjC,IAAI,aAAa,EAAE,CAAC;IAClB,WAAW,CAAC,IAAI;IACd,0FAA0F;IAC1F,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC;IAChD,qHAAqH;IACrH,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC;IAC3E,2FAA2F;IAC3F,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,EAC7E,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC;IAClF,uBAAuB;IACvB,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;AACnD,IAAI,gBAAgB,EAAE,CAAC;IACrB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,WAAW,CAAC,IAAI,CACd,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EACpD,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAChC,CAAC;AAEF,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,kEAAkE;AAClE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS;IAChC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACpC,CAAC,CAAC;AACH,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACpB,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3E,IAAI,CAAC,MAAM,EAAE,CAAC;IACZ,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC1E,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,wCAAwC,aAAa,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC9E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tokscale/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "A high-performance CLI tool and visualization dashboard for tracking AI coding assistant token usage and costs across multiple platforms.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {},
|
|
31
31
|
"optionalDependencies": {
|
|
32
|
-
"@tokscale/cli-darwin-arm64": "
|
|
33
|
-
"@tokscale/cli-darwin-x64": "
|
|
34
|
-
"@tokscale/cli-linux-x64-gnu": "
|
|
35
|
-
"@tokscale/cli-linux-x64-musl": "
|
|
36
|
-
"@tokscale/cli-linux-arm64-gnu": "
|
|
37
|
-
"@tokscale/cli-linux-arm64-musl": "
|
|
38
|
-
"@tokscale/cli-win32-x64-msvc": "
|
|
39
|
-
"@tokscale/cli-win32-arm64-msvc": "
|
|
32
|
+
"@tokscale/cli-darwin-arm64": "3.0.0",
|
|
33
|
+
"@tokscale/cli-darwin-x64": "3.0.0",
|
|
34
|
+
"@tokscale/cli-linux-x64-gnu": "3.0.0",
|
|
35
|
+
"@tokscale/cli-linux-x64-musl": "3.0.0",
|
|
36
|
+
"@tokscale/cli-linux-arm64-gnu": "3.0.0",
|
|
37
|
+
"@tokscale/cli-linux-arm64-musl": "3.0.0",
|
|
38
|
+
"@tokscale/cli-win32-x64-msvc": "3.0.0",
|
|
39
|
+
"@tokscale/cli-win32-arm64-msvc": "3.0.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "^20.0.0",
|