Fix MITM on window

This commit is contained in:
decolua
2026-02-28 10:04:57 +07:00
parent 49a56612bf
commit 833069caac
22 changed files with 650 additions and 199 deletions
+17 -6
View File
@@ -436,7 +436,7 @@ export async function getUsageStats() {
const history = db.data.history || [];
// Import localDb to get provider connection names and API keys
const { getProviderConnections, getApiKeys } = await import("@/lib/localDb.js");
const { getProviderConnections, getApiKeys, getProviderNodes } = await import("@/lib/localDb.js");
// Fetch all provider connections to get account names
let allConnections = [];
@@ -453,6 +453,15 @@ export async function getUsageStats() {
connectionMap[conn.id] = conn.name || conn.email || conn.id;
}
// Build map from compatible provider ID → friendly name (from providerNodes)
const providerNodeNameMap = {};
try {
const nodes = await getProviderNodes();
for (const node of nodes) {
if (node.id && node.name) providerNodeNameMap[node.id] = node.name;
}
} catch {}
// Fetch all API keys to get key names
let allApiKeys = [];
try {
@@ -596,6 +605,8 @@ export async function getUsageStats() {
// By Model
// Format: "modelName (provider)" if provider is known
const modelKey = entry.provider ? `${entry.model} (${entry.provider})` : entry.model;
// Resolve friendly name for compatible providers
const providerDisplayName = providerNodeNameMap[entry.provider] || entry.provider;
if (!stats.byModel[modelKey]) {
stats.byModel[modelKey] = {
@@ -604,7 +615,7 @@ export async function getUsageStats() {
completionTokens: 0,
cost: 0,
rawModel: entry.model,
provider: entry.provider,
provider: providerDisplayName,
lastUsed: entry.timestamp
};
}
@@ -629,7 +640,7 @@ export async function getUsageStats() {
completionTokens: 0,
cost: 0,
rawModel: entry.model,
provider: entry.provider,
provider: providerDisplayName,
connectionId: entry.connectionId,
accountName: accountName,
lastUsed: entry.timestamp
@@ -660,7 +671,7 @@ export async function getUsageStats() {
completionTokens: 0,
cost: 0,
rawModel: entry.model,
provider: entry.provider,
provider: providerDisplayName,
apiKey: entry.apiKey,
keyName: keyName,
apiKeyKey: apiKeyKey,
@@ -686,7 +697,7 @@ export async function getUsageStats() {
completionTokens: 0,
cost: 0,
rawModel: entry.model,
provider: entry.provider,
provider: providerDisplayName,
apiKey: null,
keyName: keyName,
apiKeyKey: apiKeyKey,
@@ -715,7 +726,7 @@ export async function getUsageStats() {
cost: 0,
endpoint: endpoint,
rawModel: entry.model,
provider: entry.provider,
provider: providerDisplayName,
lastUsed: entry.timestamp
};
}