release v1.0.49

This commit is contained in:
musistudio
2025-09-09 22:43:01 +08:00
parent 7964fff175
commit f7adb7b28e
3 changed files with 16 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@musistudio/claude-code-router", "name": "@musistudio/claude-code-router",
"version": "1.0.48", "version": "1.0.49",
"description": "Use Claude Code without an Anthropics account and route it to another LLM provider", "description": "Use Claude Code without an Anthropics account and route it to another LLM provider",
"bin": { "bin": {
"ccr": "./dist/cli.js" "ccr": "./dist/cli.js"

View File

@@ -358,12 +358,16 @@ async function run(options: RunOptions = {}) {
return done(null, originalStream) return done(null, originalStream)
} }
sessionUsageCache.put(req.sessionId, payload.usage); sessionUsageCache.put(req.sessionId, payload.usage);
} if (typeof payload ==='object') {
if (typeof payload ==='object') { if (payload.error) {
if (payload.error) { return done(payload.error, null)
return done(payload.error, null) } else {
return done(payload, null)
}
} }
return done(payload) }
if (typeof payload ==='object' && payload.error) {
return done(payload.error, null)
} }
done(null, payload) done(null, payload)
}); });

View File

@@ -5,6 +5,7 @@ import {
} from "@anthropic-ai/sdk/resources/messages"; } from "@anthropic-ai/sdk/resources/messages";
import { get_encoding } from "tiktoken"; import { get_encoding } from "tiktoken";
import { sessionUsageCache, Usage } from "./cache"; import { sessionUsageCache, Usage } from "./cache";
import { readFile } from 'fs/promises'
const enc = get_encoding("cl100k_base"); const enc = get_encoding("cl100k_base");
@@ -147,6 +148,11 @@ export const router = async (req: any, _res: any, context: any) => {
} }
const lastMessageUsage = sessionUsageCache.get(req.sessionId); const lastMessageUsage = sessionUsageCache.get(req.sessionId);
const { messages, system = [], tools }: MessageCreateParamsBase = req.body; const { messages, system = [], tools }: MessageCreateParamsBase = req.body;
if (config.REWRITE_SYSTEM_PROMPT && system.length > 1 && system[1]?.text?.includes('<env>')) {
const prompt = await readFile(config.REWRITE_SYSTEM_PROMPT, 'utf-8');
system[1].text = `${prompt}<env>${system[1].text.split('<env>').pop()}`
}
try { try {
const tokenCount = calculateTokenCount( const tokenCount = calculateTokenCount(
messages as MessageParam[], messages as MessageParam[],