ccclub 0.2.6 → 0.2.8
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 +10 -26
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -30,11 +30,17 @@ var DEFAULT_API_URL = "https://ccclub.dev";
|
|
|
30
30
|
var CLAUDE_PROJECTS_DIR = ".claude/projects";
|
|
31
31
|
var CCCLUB_CONFIG_DIR = ".ccclub";
|
|
32
32
|
var MODEL_PRICING = {
|
|
33
|
-
|
|
33
|
+
// Opus 4.5+ (reduced pricing)
|
|
34
|
+
"claude-opus-4-6": { input: 5, output: 25, cacheCreation: 6.25, cacheRead: 0.5 },
|
|
35
|
+
"claude-opus-4-5-20251101": { input: 5, output: 25, cacheCreation: 6.25, cacheRead: 0.5 },
|
|
36
|
+
// Opus 4.1 (original pricing)
|
|
37
|
+
"claude-opus-4-1-20250805": { input: 15, output: 75, cacheCreation: 18.75, cacheRead: 1.5 },
|
|
38
|
+
// Sonnet
|
|
34
39
|
"claude-sonnet-4-5-20250929": { input: 3, output: 15, cacheCreation: 3.75, cacheRead: 0.3 },
|
|
35
|
-
"claude-haiku-4-5-20251001": { input: 0.8, output: 4, cacheCreation: 1, cacheRead: 0.08 },
|
|
36
40
|
"claude-sonnet-4-20250514": { input: 3, output: 15, cacheCreation: 3.75, cacheRead: 0.3 },
|
|
37
41
|
"claude-3-5-sonnet-20241022": { input: 3, output: 15, cacheCreation: 3.75, cacheRead: 0.3 },
|
|
42
|
+
// Haiku
|
|
43
|
+
"claude-haiku-4-5-20251001": { input: 1, output: 5, cacheCreation: 1.25, cacheRead: 0.1 },
|
|
38
44
|
"claude-3-5-haiku-20241022": { input: 0.8, output: 4, cacheCreation: 1, cacheRead: 0.08 }
|
|
39
45
|
};
|
|
40
46
|
function calculateCost(model, inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens) {
|
|
@@ -320,7 +326,7 @@ function aggregateToBlocks(entries, humanTurns = []) {
|
|
|
320
326
|
}
|
|
321
327
|
|
|
322
328
|
// src/commands/sync.ts
|
|
323
|
-
var SYNC_FORMAT_VERSION = "
|
|
329
|
+
var SYNC_FORMAT_VERSION = "4";
|
|
324
330
|
function getSyncVersionPath() {
|
|
325
331
|
return join4(homedir4(), CCCLUB_CONFIG_DIR, "sync-version");
|
|
326
332
|
}
|
|
@@ -783,31 +789,9 @@ async function hookCommand() {
|
|
|
783
789
|
}
|
|
784
790
|
}
|
|
785
791
|
|
|
786
|
-
// src/global-install.ts
|
|
787
|
-
import { exec } from "child_process";
|
|
788
|
-
import chalk9 from "chalk";
|
|
789
|
-
function run(cmd) {
|
|
790
|
-
return new Promise((resolve) => {
|
|
791
|
-
exec(cmd, (err, stdout4) => resolve(err ? "" : stdout4.trim()));
|
|
792
|
-
});
|
|
793
|
-
}
|
|
794
|
-
async function ensureGlobalInstall() {
|
|
795
|
-
const globalList = await run("npm list -g ccclub --depth=0");
|
|
796
|
-
if (globalList.includes("ccclub@")) return;
|
|
797
|
-
console.log(chalk9.dim("\n Installing ccclub globally so you can run it directly..."));
|
|
798
|
-
const result = await run("npm install -g ccclub");
|
|
799
|
-
if (result) {
|
|
800
|
-
console.log(chalk9.green(" Done!") + chalk9.dim(" You can now use ") + chalk9.white("ccclub") + chalk9.dim(" directly."));
|
|
801
|
-
} else {
|
|
802
|
-
console.log(chalk9.dim(" Could not auto-install. Run manually:"));
|
|
803
|
-
console.log(chalk9.white(" npm install -g ccclub"));
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
|
|
807
792
|
// src/index.ts
|
|
808
793
|
var program = new Command();
|
|
809
|
-
program.name("ccclub").description("CCClub - Compare Claude Code usage with friends").version("0.2.
|
|
810
|
-
program.hook("postAction", () => ensureGlobalInstall());
|
|
794
|
+
program.name("ccclub").description("CCClub - Compare Claude Code usage with friends").version("0.2.8");
|
|
811
795
|
program.command("init").description("Initialize CCClub (one-time setup)").action(initCommand);
|
|
812
796
|
program.command("join").description("Join a friend's group").argument("<invite-code>", "6-character invite code").action(joinCommand);
|
|
813
797
|
program.command("sync").description("Sync local usage data to server").option("-s, --silent", "No output (used by auto-sync hook)").option("-f, --full", "Force full re-sync of all data").action(syncCommand);
|