@tokscale/cli 1.4.2 → 2.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.
Files changed (188) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +128 -0
  4. package/dist/index.js.map +1 -0
  5. package/package.json +19 -26
  6. package/dist/auth.d.ts +0 -17
  7. package/dist/auth.d.ts.map +0 -1
  8. package/dist/auth.js +0 -162
  9. package/dist/auth.js.map +0 -1
  10. package/dist/cli.d.ts +0 -9
  11. package/dist/cli.d.ts.map +0 -1
  12. package/dist/cli.js +0 -1523
  13. package/dist/cli.js.map +0 -1
  14. package/dist/credentials.d.ts +0 -50
  15. package/dist/credentials.d.ts.map +0 -1
  16. package/dist/credentials.js +0 -151
  17. package/dist/credentials.js.map +0 -1
  18. package/dist/cursor.d.ts +0 -167
  19. package/dist/cursor.d.ts.map +0 -1
  20. package/dist/cursor.js +0 -906
  21. package/dist/cursor.js.map +0 -1
  22. package/dist/date-utils.d.ts +0 -10
  23. package/dist/date-utils.d.ts.map +0 -1
  24. package/dist/date-utils.js +0 -47
  25. package/dist/date-utils.js.map +0 -1
  26. package/dist/graph-types.d.ts +0 -142
  27. package/dist/graph-types.d.ts.map +0 -1
  28. package/dist/graph-types.js +0 -6
  29. package/dist/graph-types.js.map +0 -1
  30. package/dist/native-runner.d.ts +0 -11
  31. package/dist/native-runner.d.ts.map +0 -1
  32. package/dist/native-runner.js +0 -77
  33. package/dist/native-runner.js.map +0 -1
  34. package/dist/native.d.ts +0 -105
  35. package/dist/native.d.ts.map +0 -1
  36. package/dist/native.js +0 -302
  37. package/dist/native.js.map +0 -1
  38. package/dist/sessions/types.d.ts +0 -28
  39. package/dist/sessions/types.d.ts.map +0 -1
  40. package/dist/sessions/types.js +0 -27
  41. package/dist/sessions/types.js.map +0 -1
  42. package/dist/spinner.d.ts +0 -75
  43. package/dist/spinner.d.ts.map +0 -1
  44. package/dist/spinner.js +0 -203
  45. package/dist/spinner.js.map +0 -1
  46. package/dist/submit.d.ts +0 -22
  47. package/dist/submit.d.ts.map +0 -1
  48. package/dist/submit.js +0 -292
  49. package/dist/submit.js.map +0 -1
  50. package/dist/table.d.ts +0 -42
  51. package/dist/table.d.ts.map +0 -1
  52. package/dist/table.js +0 -181
  53. package/dist/table.js.map +0 -1
  54. package/dist/tui/App.d.ts +0 -4
  55. package/dist/tui/App.d.ts.map +0 -1
  56. package/dist/tui/App.js +0 -350
  57. package/dist/tui/App.js.map +0 -1
  58. package/dist/tui/components/BarChart.d.ts +0 -17
  59. package/dist/tui/components/BarChart.d.ts.map +0 -1
  60. package/dist/tui/components/BarChart.js +0 -146
  61. package/dist/tui/components/BarChart.js.map +0 -1
  62. package/dist/tui/components/DailyView.d.ts +0 -13
  63. package/dist/tui/components/DailyView.d.ts.map +0 -1
  64. package/dist/tui/components/DailyView.js +0 -86
  65. package/dist/tui/components/DailyView.js.map +0 -1
  66. package/dist/tui/components/DateBreakdownPanel.d.ts +0 -7
  67. package/dist/tui/components/DateBreakdownPanel.d.ts.map +0 -1
  68. package/dist/tui/components/DateBreakdownPanel.js +0 -36
  69. package/dist/tui/components/DateBreakdownPanel.js.map +0 -1
  70. package/dist/tui/components/Footer.d.ts +0 -28
  71. package/dist/tui/components/Footer.d.ts.map +0 -1
  72. package/dist/tui/components/Footer.js +0 -130
  73. package/dist/tui/components/Footer.js.map +0 -1
  74. package/dist/tui/components/Header.d.ts +0 -9
  75. package/dist/tui/components/Header.d.ts.map +0 -1
  76. package/dist/tui/components/Header.js +0 -20
  77. package/dist/tui/components/Header.js.map +0 -1
  78. package/dist/tui/components/Legend.d.ts +0 -7
  79. package/dist/tui/components/Legend.d.ts.map +0 -1
  80. package/dist/tui/components/Legend.js +0 -16
  81. package/dist/tui/components/Legend.js.map +0 -1
  82. package/dist/tui/components/LoadingSpinner.d.ts +0 -8
  83. package/dist/tui/components/LoadingSpinner.d.ts.map +0 -1
  84. package/dist/tui/components/LoadingSpinner.js +0 -55
  85. package/dist/tui/components/LoadingSpinner.js.map +0 -1
  86. package/dist/tui/components/ModelRow.d.ts +0 -13
  87. package/dist/tui/components/ModelRow.d.ts.map +0 -1
  88. package/dist/tui/components/ModelRow.js +0 -15
  89. package/dist/tui/components/ModelRow.js.map +0 -1
  90. package/dist/tui/components/ModelView.d.ts +0 -13
  91. package/dist/tui/components/ModelView.d.ts.map +0 -1
  92. package/dist/tui/components/ModelView.js +0 -96
  93. package/dist/tui/components/ModelView.js.map +0 -1
  94. package/dist/tui/components/OverviewView.d.ts +0 -14
  95. package/dist/tui/components/OverviewView.d.ts.map +0 -1
  96. package/dist/tui/components/OverviewView.js +0 -65
  97. package/dist/tui/components/OverviewView.js.map +0 -1
  98. package/dist/tui/components/StatsView.d.ts +0 -14
  99. package/dist/tui/components/StatsView.d.ts.map +0 -1
  100. package/dist/tui/components/StatsView.js +0 -102
  101. package/dist/tui/components/StatsView.js.map +0 -1
  102. package/dist/tui/components/TokenBreakdown.d.ts +0 -14
  103. package/dist/tui/components/TokenBreakdown.d.ts.map +0 -1
  104. package/dist/tui/components/TokenBreakdown.js +0 -10
  105. package/dist/tui/components/TokenBreakdown.js.map +0 -1
  106. package/dist/tui/components/index.d.ts +0 -16
  107. package/dist/tui/components/index.d.ts.map +0 -1
  108. package/dist/tui/components/index.js +0 -13
  109. package/dist/tui/components/index.js.map +0 -1
  110. package/dist/tui/config/settings.d.ts +0 -15
  111. package/dist/tui/config/settings.d.ts.map +0 -1
  112. package/dist/tui/config/settings.js +0 -147
  113. package/dist/tui/config/settings.js.map +0 -1
  114. package/dist/tui/config/themes.d.ts +0 -15
  115. package/dist/tui/config/themes.d.ts.map +0 -1
  116. package/dist/tui/config/themes.js +0 -82
  117. package/dist/tui/config/themes.js.map +0 -1
  118. package/dist/tui/hooks/useData.d.ts +0 -19
  119. package/dist/tui/hooks/useData.d.ts.map +0 -1
  120. package/dist/tui/hooks/useData.js +0 -467
  121. package/dist/tui/hooks/useData.js.map +0 -1
  122. package/dist/tui/index.d.ts +0 -4
  123. package/dist/tui/index.d.ts.map +0 -1
  124. package/dist/tui/index.js +0 -36
  125. package/dist/tui/index.js.map +0 -1
  126. package/dist/tui/types/index.d.ts +0 -137
  127. package/dist/tui/types/index.d.ts.map +0 -1
  128. package/dist/tui/types/index.js +0 -25
  129. package/dist/tui/types/index.js.map +0 -1
  130. package/dist/tui/utils/cleanup.d.ts +0 -22
  131. package/dist/tui/utils/cleanup.d.ts.map +0 -1
  132. package/dist/tui/utils/cleanup.js +0 -59
  133. package/dist/tui/utils/cleanup.js.map +0 -1
  134. package/dist/tui/utils/colors.d.ts +0 -19
  135. package/dist/tui/utils/colors.d.ts.map +0 -1
  136. package/dist/tui/utils/colors.js +0 -68
  137. package/dist/tui/utils/colors.js.map +0 -1
  138. package/dist/tui/utils/format.d.ts +0 -7
  139. package/dist/tui/utils/format.d.ts.map +0 -1
  140. package/dist/tui/utils/format.js +0 -45
  141. package/dist/tui/utils/format.js.map +0 -1
  142. package/dist/tui/utils/responsive.d.ts +0 -5
  143. package/dist/tui/utils/responsive.d.ts.map +0 -1
  144. package/dist/tui/utils/responsive.js +0 -5
  145. package/dist/tui/utils/responsive.js.map +0 -1
  146. package/dist/wrapped.d.ts +0 -43
  147. package/dist/wrapped.d.ts.map +0 -1
  148. package/dist/wrapped.js +0 -716
  149. package/dist/wrapped.js.map +0 -1
  150. package/src/auth.ts +0 -211
  151. package/src/cli.ts +0 -1865
  152. package/src/credentials.ts +0 -176
  153. package/src/cursor.ts +0 -1044
  154. package/src/date-utils.ts +0 -51
  155. package/src/graph-types.ts +0 -175
  156. package/src/native-runner.js +0 -4
  157. package/src/native-runner.ts +0 -91
  158. package/src/native.ts +0 -631
  159. package/src/sessions/types.ts +0 -59
  160. package/src/spinner.ts +0 -283
  161. package/src/submit.ts +0 -358
  162. package/src/table.ts +0 -233
  163. package/src/tui/App.tsx +0 -443
  164. package/src/tui/components/BarChart.tsx +0 -205
  165. package/src/tui/components/DailyView.tsx +0 -132
  166. package/src/tui/components/DateBreakdownPanel.tsx +0 -79
  167. package/src/tui/components/Footer.tsx +0 -368
  168. package/src/tui/components/Header.tsx +0 -68
  169. package/src/tui/components/Legend.tsx +0 -39
  170. package/src/tui/components/LoadingSpinner.tsx +0 -81
  171. package/src/tui/components/ModelRow.tsx +0 -47
  172. package/src/tui/components/ModelView.tsx +0 -147
  173. package/src/tui/components/OverviewView.tsx +0 -121
  174. package/src/tui/components/StatsView.tsx +0 -249
  175. package/src/tui/components/TokenBreakdown.tsx +0 -46
  176. package/src/tui/components/index.ts +0 -15
  177. package/src/tui/config/settings.ts +0 -183
  178. package/src/tui/config/themes.ts +0 -115
  179. package/src/tui/hooks/useData.ts +0 -557
  180. package/src/tui/index.tsx +0 -44
  181. package/src/tui/opentui.d.ts +0 -166
  182. package/src/tui/types/index.ts +0 -172
  183. package/src/tui/utils/cleanup.ts +0 -65
  184. package/src/tui/utils/colors.ts +0 -76
  185. package/src/tui/utils/format.ts +0 -36
  186. package/src/tui/utils/responsive.ts +0 -8
  187. package/src/types.d.ts +0 -28
  188. package/src/wrapped.ts +0 -845
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,128 @@
1
+ #!/usr/bin/env node
2
+ import { spawnSync, execSync } from "node:child_process";
3
+ import { existsSync } from "node:fs";
4
+ import { resolve, join } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ const binaryName = process.platform === "win32" ? "tokscale.exe" : "tokscale";
7
+ const currentDir = fileURLToPath(new URL(".", import.meta.url));
8
+ const cliPackageRoot = currentDir.includes("/dist/")
9
+ ? resolve(currentDir, "../..")
10
+ : resolve(currentDir, "..");
11
+ const monorepoRoot = resolve(cliPackageRoot, "..");
12
+ function detectLibcKind() {
13
+ const report = process.report?.getReport?.();
14
+ if (report?.header?.glibcVersionRuntime) {
15
+ return "gnu";
16
+ }
17
+ if (Array.isArray(report?.sharedObjects) &&
18
+ report.sharedObjects.some((obj) => obj.toLowerCase().includes("musl"))) {
19
+ return "musl";
20
+ }
21
+ try {
22
+ const output = execSync("ldd --version", {
23
+ encoding: "utf-8",
24
+ stdio: ["ignore", "pipe", "pipe"],
25
+ }).toLowerCase();
26
+ return output.includes("musl") ? "musl" : "gnu";
27
+ }
28
+ catch {
29
+ return "gnu";
30
+ }
31
+ }
32
+ function resolveTargetPackageName() {
33
+ const arch = process.arch;
34
+ if (process.platform === "darwin") {
35
+ if (arch === "arm64")
36
+ return "cli-darwin-arm64";
37
+ if (arch === "x64")
38
+ return "cli-darwin-x64";
39
+ return null;
40
+ }
41
+ if (process.platform === "linux") {
42
+ const libc = detectLibcKind();
43
+ if (arch === "arm64") {
44
+ return libc === "musl" ? "cli-linux-arm64-musl" : "cli-linux-arm64-gnu";
45
+ }
46
+ if (arch === "x64") {
47
+ return libc === "musl" ? "cli-linux-x64-musl" : "cli-linux-x64-gnu";
48
+ }
49
+ return null;
50
+ }
51
+ if (process.platform === "win32") {
52
+ if (arch === "arm64")
53
+ return "cli-win32-arm64-msvc";
54
+ if (arch === "x64")
55
+ return "cli-win32-x64-msvc";
56
+ return null;
57
+ }
58
+ return null;
59
+ }
60
+ function resolveRustTargetTriple() {
61
+ const arch = process.arch;
62
+ if (process.platform === "darwin") {
63
+ if (arch === "arm64")
64
+ return "aarch64-apple-darwin";
65
+ if (arch === "x64")
66
+ return "x86_64-apple-darwin";
67
+ return null;
68
+ }
69
+ if (process.platform === "linux") {
70
+ const libc = detectLibcKind();
71
+ if (arch === "arm64") {
72
+ return libc === "musl"
73
+ ? "aarch64-unknown-linux-musl"
74
+ : "aarch64-unknown-linux-gnu";
75
+ }
76
+ if (arch === "x64") {
77
+ return libc === "musl"
78
+ ? "x86_64-unknown-linux-musl"
79
+ : "x86_64-unknown-linux-gnu";
80
+ }
81
+ return null;
82
+ }
83
+ if (process.platform === "win32") {
84
+ if (arch === "arm64")
85
+ return "aarch64-pc-windows-msvc";
86
+ if (arch === "x64")
87
+ return "x86_64-pc-windows-msvc";
88
+ return null;
89
+ }
90
+ return null;
91
+ }
92
+ const targetPackage = resolveTargetPackageName();
93
+ const searchPaths = [];
94
+ if (targetPackage) {
95
+ searchPaths.push(join(cliPackageRoot, "node_modules", "@tokscale", targetPackage, "bin", binaryName), join(monorepoRoot, "node_modules", "@tokscale", targetPackage, "bin", binaryName), join(monorepoRoot, "packages", targetPackage, "bin", binaryName));
96
+ }
97
+ const rustTargetTriple = resolveRustTargetTriple();
98
+ if (rustTargetTriple) {
99
+ searchPaths.push(join(monorepoRoot, "target", rustTargetTriple, "release", binaryName));
100
+ }
101
+ searchPaths.push(join(monorepoRoot, "target", "release", binaryName), join(cliPackageRoot, "bin", binaryName));
102
+ let binary = searchPaths.find((p) => existsSync(p));
103
+ if (!binary) {
104
+ try {
105
+ const whichCmd = process.platform === "win32" ? "where" : "which";
106
+ const found = execSync(`${whichCmd} ${binaryName}`, {
107
+ encoding: "utf-8",
108
+ stdio: ["pipe", "pipe", "pipe"],
109
+ })
110
+ .trim()
111
+ .split("\n")[0];
112
+ if (found && existsSync(found)) {
113
+ binary = found;
114
+ }
115
+ }
116
+ catch { }
117
+ }
118
+ if (!binary) {
119
+ console.error("Error: tokscale binary not found");
120
+ console.error("Build from source: cargo build --release -p tokscale-cli");
121
+ if (targetPackage) {
122
+ console.error(`Expected optional package: @tokscale/${targetPackage}`);
123
+ }
124
+ process.exit(1);
125
+ }
126
+ const result = spawnSync(binary, process.argv.slice(2), { stdio: "inherit" });
127
+ process.exit(result.status ?? 1);
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@tokscale/cli",
3
- "version": "1.4.2",
3
+ "version": "2.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",
7
- "main": "./dist/cli.js",
7
+ "main": "./dist/index.js",
8
+ "bin": {
9
+ "tokscale": "./dist/index.js"
10
+ },
8
11
  "files": [
9
- "dist/**/*",
10
- "src/**/*"
12
+ "dist/**/*"
11
13
  ],
12
14
  "publishConfig": {
13
15
  "registry": "https://registry.npmjs.org/",
@@ -19,35 +21,26 @@
19
21
  "directory": "packages/cli"
20
22
  },
21
23
  "scripts": {
22
- "build": "tsc && bun run build:tui",
23
- "build:tui": "echo 'TUI bundling skipped - OpenTUI requires Bun runtime'",
24
- "dev": "bun run --conditions=browser src/cli.ts",
25
- "tui": "bun run --conditions=browser src/cli.ts tui",
26
- "start": "bun run --conditions=browser dist/cli.js",
24
+ "build": "tsc",
25
+ "dev": "bun run src/index.ts",
26
+ "start": "node dist/index.js",
27
27
  "prepublishOnly": "bun run build"
28
28
  },
29
- "dependencies": {
30
- "@napi-rs/canvas": "^0.1.68",
31
- "@opentui/core": "0.1.60",
32
- "@opentui/solid": "^0.1.60",
33
- "@resvg/resvg-js": "^2.6.2",
34
- "@tokscale/core": "1.4.2",
35
- "cli-table3": "^0.6.5",
36
- "clipboardy": "^5.0.2",
37
- "commander": "^14.0.2",
38
- "csv-parse": "^5.6.0",
39
- "date-fns": "^4.1.0",
40
- "picocolors": "^1.1.1",
41
- "solid-js": "1.9.9",
42
- "string-width": "^8.1.0"
29
+ "dependencies": {},
30
+ "optionalDependencies": {
31
+ "@tokscale/cli-darwin-arm64": "2.0.0",
32
+ "@tokscale/cli-darwin-x64": "2.0.0",
33
+ "@tokscale/cli-linux-x64-gnu": "2.0.0",
34
+ "@tokscale/cli-linux-x64-musl": "2.0.0",
35
+ "@tokscale/cli-linux-arm64-gnu": "2.0.0",
36
+ "@tokscale/cli-linux-arm64-musl": "2.0.0",
37
+ "@tokscale/cli-win32-x64-msvc": "2.0.0",
38
+ "@tokscale/cli-win32-arm64-msvc": "2.0.0"
43
39
  },
44
40
  "devDependencies": {
45
41
  "@types/node": "^20.0.0",
46
42
  "typescript": "^5.0.0"
47
43
  },
48
- "engines": {
49
- "bun": ">= 1.0"
50
- },
51
44
  "keywords": [
52
45
  "tokscale",
53
46
  "opencode",
package/dist/auth.d.ts DELETED
@@ -1,17 +0,0 @@
1
- /**
2
- * Tokscale CLI Authentication Commands
3
- * Handles login, logout, and whoami commands
4
- */
5
- /**
6
- * Login command - initiates device flow authentication
7
- */
8
- export declare function login(): Promise<void>;
9
- /**
10
- * Logout command - clears stored credentials
11
- */
12
- export declare function logout(): Promise<void>;
13
- /**
14
- * Whoami command - displays current user info
15
- */
16
- export declare function whoami(): Promise<void>;
17
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+BH;;GAEG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA4F3C;AAED;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAiB5C;AAED;;GAEG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAa5C"}
package/dist/auth.js DELETED
@@ -1,162 +0,0 @@
1
- /**
2
- * Tokscale CLI Authentication Commands
3
- * Handles login, logout, and whoami commands
4
- */
5
- import pc from "picocolors";
6
- import * as os from "node:os";
7
- import { saveCredentials, loadCredentials, clearCredentials, getApiBaseUrl, } from "./credentials.js";
8
- const MAX_POLL_ATTEMPTS = 180; // 15 minutes max
9
- /**
10
- * Login command - initiates device flow authentication
11
- */
12
- export async function login() {
13
- const credentials = loadCredentials();
14
- if (credentials) {
15
- console.log(pc.yellow(`\n Already logged in as ${pc.bold(credentials.username)}`));
16
- console.log(pc.gray(" Run 'tokscale logout' to sign out first.\n"));
17
- return;
18
- }
19
- const baseUrl = getApiBaseUrl();
20
- console.log(pc.cyan("\n Tokscale - Login\n"));
21
- // Step 1: Request device code
22
- console.log(pc.gray(" Requesting authorization code..."));
23
- let deviceCodeData;
24
- try {
25
- const response = await fetch(`${baseUrl}/api/auth/device`, {
26
- method: "POST",
27
- headers: { "Content-Type": "application/json" },
28
- body: JSON.stringify({ deviceName: getDeviceName() }),
29
- });
30
- if (!response.ok) {
31
- throw new Error(`Server returned ${response.status}`);
32
- }
33
- deviceCodeData = await response.json();
34
- }
35
- catch (error) {
36
- console.error(pc.red(`\n Error: Failed to connect to server.`));
37
- console.error(pc.gray(` ${error.message}\n`));
38
- process.exit(1);
39
- }
40
- // Step 2: Display instructions
41
- console.log();
42
- console.log(pc.white(" Open this URL in your browser:"));
43
- console.log(pc.cyan(` ${deviceCodeData.verificationUrl}\n`));
44
- console.log(pc.white(" Enter this code:"));
45
- console.log(pc.bold(pc.green(` ${deviceCodeData.userCode}\n`)));
46
- // Try to open browser automatically
47
- await openBrowser(deviceCodeData.verificationUrl);
48
- console.log(pc.gray(" Waiting for authorization..."));
49
- // Step 3: Poll for completion
50
- let attempts = 0;
51
- const pollInterval = (deviceCodeData.interval || 5) * 1000;
52
- while (attempts < MAX_POLL_ATTEMPTS) {
53
- await sleep(pollInterval);
54
- attempts++;
55
- try {
56
- const response = await fetch(`${baseUrl}/api/auth/device/poll`, {
57
- method: "POST",
58
- headers: { "Content-Type": "application/json" },
59
- body: JSON.stringify({ deviceCode: deviceCodeData.deviceCode }),
60
- });
61
- const data = await response.json();
62
- if (data.status === "complete" && data.token && data.user) {
63
- // Success!
64
- saveCredentials({
65
- token: data.token,
66
- username: data.user.username,
67
- avatarUrl: data.user.avatarUrl,
68
- createdAt: new Date().toISOString(),
69
- });
70
- console.log(pc.green(`\n Success! Logged in as ${pc.bold(data.user.username)}`));
71
- console.log(pc.gray(" You can now use 'tokscale submit' to share your usage.\n"));
72
- return;
73
- }
74
- if (data.status === "expired") {
75
- console.error(pc.red("\n Authorization code expired. Please try again.\n"));
76
- process.exit(1);
77
- }
78
- // Still pending - show a dot to indicate progress
79
- process.stdout.write(pc.gray("."));
80
- }
81
- catch (error) {
82
- // Network error - continue polling
83
- process.stdout.write(pc.red("!"));
84
- }
85
- }
86
- console.error(pc.red("\n\n Timeout: Authorization took too long. Please try again.\n"));
87
- process.exit(1);
88
- }
89
- /**
90
- * Logout command - clears stored credentials
91
- */
92
- export async function logout() {
93
- const credentials = loadCredentials();
94
- if (!credentials) {
95
- console.log(pc.yellow("\n Not logged in.\n"));
96
- return;
97
- }
98
- const username = credentials.username;
99
- const cleared = clearCredentials();
100
- if (cleared) {
101
- console.log(pc.green(`\n Logged out from ${pc.bold(username)}\n`));
102
- }
103
- else {
104
- console.error(pc.red("\n Failed to clear credentials.\n"));
105
- process.exit(1);
106
- }
107
- }
108
- /**
109
- * Whoami command - displays current user info
110
- */
111
- export async function whoami() {
112
- const credentials = loadCredentials();
113
- if (!credentials) {
114
- console.log(pc.yellow("\n Not logged in."));
115
- console.log(pc.gray(" Run 'tokscale login' to authenticate.\n"));
116
- return;
117
- }
118
- console.log(pc.cyan("\n Tokscale - Account Info\n"));
119
- console.log(pc.white(` Username: ${pc.bold(credentials.username)}`));
120
- console.log(pc.gray(` Logged in: ${new Date(credentials.createdAt).toLocaleDateString()}`));
121
- console.log();
122
- }
123
- /**
124
- * Get a device name for the token
125
- */
126
- function getDeviceName() {
127
- return `CLI on ${os.hostname()}`;
128
- }
129
- /**
130
- * Sleep helper
131
- */
132
- function sleep(ms) {
133
- return new Promise((resolve) => setTimeout(resolve, ms));
134
- }
135
- /**
136
- * Try to open browser automatically
137
- */
138
- async function openBrowser(url) {
139
- try {
140
- const { exec } = await import("node:child_process");
141
- const platform = process.platform;
142
- let command;
143
- if (platform === "darwin") {
144
- command = `open "${url}"`;
145
- }
146
- else if (platform === "win32") {
147
- command = `start "" "${url}"`;
148
- }
149
- else {
150
- command = `xdg-open "${url}"`;
151
- }
152
- exec(command, (error) => {
153
- if (error) {
154
- // Silent fail - user can still open manually
155
- }
156
- });
157
- }
158
- catch {
159
- // Silent fail
160
- }
161
- }
162
- //# sourceMappingURL=auth.js.map
package/dist/auth.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env bun
2
- /**
3
- * Tokscale CLI
4
- * Display OpenCode, Claude Code, Codex, Gemini, and Cursor usage with dynamic width tables
5
- *
6
- * All heavy computation is done in the native Rust module.
7
- */
8
- export {};
9
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}