feat: split MiniMax into 5h and Weekly quota bars
Build and Push Docker Image / build-and-push (push) Canceled after 0s
Build and Push Docker Image / build-and-push (push) Canceled after 0s
This commit is contained in:
1 parent
44e88f7793
commit
a84e62b2e0
6 files changed
+69
-51
No files matched your search
Vendored
+1
-1
@@ -2,6 +2,6 @@ import { QuotaEntry } from './db';
|
||||
export declare function updateAntigravityQuota(data: any): void;
|
||||
export declare function fetchAntigravityQuota(): QuotaEntry[];
|
||||
export declare function fetchPoeQuota(): Promise<QuotaEntry>;
|
||||
export declare function fetchMinimaxQuota(): Promise<QuotaEntry>;
|
||||
export declare function fetchMinimaxQuota(): Promise<QuotaEntry[]>;
|
||||
export declare function fetchAllQuotas(): Promise<QuotaEntry[]>;
|
||||
//# sourceMappingURL=providers.d.ts.map
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/services/providers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAWlC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,QAoC/C;AAED,wBAAgB,qBAAqB,IAAI,UAAU,EAAE,CAEpD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CA6BzD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC,CA6B7D;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAM5D"}
|
||||
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/services/providers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAWlC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,QAoC/C;AAED,wBAAgB,qBAAqB,IAAI,UAAU,EAAE,CAEpD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CA6BzD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAsC/D;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAM5D"}
|
||||
Vendored
+24
-14
@@ -93,27 +93,37 @@ async function fetchMinimaxQuota() {
|
||||
const remains = res.data.model_remains?.find((r) => r.model_name === 'general');
|
||||
const intervalUsed = remains ? (100 - remains.current_interval_remaining_percent) : 0;
|
||||
const weeklyUsed = remains ? (100 - remains.current_weekly_remaining_percent) : 0;
|
||||
// Use the highest percentage for the progress bar logic
|
||||
const percentage = Math.max(intervalUsed, weeklyUsed);
|
||||
const used = percentage;
|
||||
const total = 100;
|
||||
const meta = {
|
||||
intervalUsed,
|
||||
weeklyUsed,
|
||||
intervalReset: remains ? remains.end_time : null,
|
||||
weeklyReset: remains ? remains.weekly_end_time : null
|
||||
};
|
||||
return { provider: 'MiniMax', used, total, percentage, meta };
|
||||
const intervalReset = remains ? remains.end_time : null;
|
||||
const weeklyReset = remains ? remains.weekly_end_time : null;
|
||||
return [
|
||||
{
|
||||
provider: 'MiniMax (5h)',
|
||||
used: intervalUsed,
|
||||
total: 100,
|
||||
percentage: intervalUsed,
|
||||
meta: { reset: intervalReset }
|
||||
},
|
||||
{
|
||||
provider: 'MiniMax (Weekly)',
|
||||
used: weeklyUsed,
|
||||
total: 100,
|
||||
percentage: weeklyUsed,
|
||||
meta: { reset: weeklyReset }
|
||||
}
|
||||
];
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Error fetching MiniMax quota:', error.message);
|
||||
return { provider: 'MiniMax', used: 0, total: 100, percentage: 0 };
|
||||
return [
|
||||
{ provider: 'MiniMax (5h)', used: 0, total: 100, percentage: 0 },
|
||||
{ provider: 'MiniMax (Weekly)', used: 0, total: 100, percentage: 0 }
|
||||
];
|
||||
}
|
||||
}
|
||||
async function fetchAllQuotas() {
|
||||
const agQuotas = fetchAntigravityQuota();
|
||||
const poeQuota = await fetchPoeQuota();
|
||||
const minimaxQuota = await fetchMinimaxQuota();
|
||||
return [...agQuotas, poeQuota, minimaxQuota];
|
||||
const minimaxQuotas = await fetchMinimaxQuota();
|
||||
return [...agQuotas, poeQuota, ...minimaxQuotas];
|
||||
}
|
||||
//# sourceMappingURL=providers.js.map
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/services/providers.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/services/providers.ts"],"names":[],"mappings":"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"}
|
||||
+17
-18
@@ -31,7 +31,8 @@ async function fetchQuotas() {
|
||||
{ provider: 'AG Claude (5h)', used: 0, total: 100, percentage: 0, meta: { resetStr: 'in 03:00' } },
|
||||
{ provider: 'AG Claude (Weekly)', used: 0, total: 100, percentage: 0, meta: { resetStr: 'in 03:00' } },
|
||||
{ provider: 'POE', used: 33750, total: 75000, percentage: 45 },
|
||||
{ provider: 'MiniMax', used: 60, total: 100, percentage: 60 }
|
||||
{ provider: 'MiniMax (5h)', used: 60, total: 100, percentage: 60, meta: { reset: 1729000000 } },
|
||||
{ provider: 'MiniMax (Weekly)', used: 40, total: 100, percentage: 40, meta: { reset: 1729500000 } }
|
||||
];
|
||||
|
||||
activeQuotas.forEach(quota => {
|
||||
@@ -76,33 +77,31 @@ function updateRow(providerId, quota) {
|
||||
}
|
||||
|
||||
// Detail text
|
||||
if (quota.provider.toLowerCase() === 'minimax' && quota.meta) {
|
||||
const { intervalUsed, weeklyUsed, intervalReset, weeklyReset } = quota.meta;
|
||||
if (quota.provider.startsWith('MiniMax') && quota.meta) {
|
||||
statusText.innerText = `${Math.round(quota.used)}% / 100%`;
|
||||
const detailsId = `details-${quota.provider.toLowerCase().replace(/[^a-z0-9]/g, '-')}`;
|
||||
const detailsEl = document.getElementById(detailsId);
|
||||
|
||||
const detailsEl = document.getElementById(`details-minimax`);
|
||||
if (detailsEl) {
|
||||
const parseDate = (val) => {
|
||||
if (!val) return '--';
|
||||
// If it's a number and less than 10 billion, it's likely seconds, multiply by 1000
|
||||
const ts = (typeof val === 'number' && val < 9999999999) ? val * 1000 : val;
|
||||
return new Date(ts).toLocaleString();
|
||||
};
|
||||
|
||||
const reset5hStr = parseDate(intervalReset);
|
||||
const resetWeeklyStr = parseDate(weeklyReset);
|
||||
const resetStr = parseDate(quota.meta.reset);
|
||||
|
||||
detailsEl.innerHTML = `
|
||||
<div><span>5h Limit:</span> <strong style="color: ${intervalUsed > 80 ? 'var(--danger)' : '#fff'}">${intervalUsed}% verbraucht</strong></div>
|
||||
<div><span>Weekly Limit:</span> <strong style="color: ${weeklyUsed > 80 ? 'var(--danger)' : '#fff'}">${weeklyUsed}% verbraucht</strong></div>
|
||||
<div><span>5h Reset in:</span> <strong id="minimax-countdown" style="color: var(--success)">--:--:--</strong></div>
|
||||
<div style="font-size: 0.9em; color: var(--text-muted); width: 100%; text-align: right; margin-top: 4px;">
|
||||
Weekly Reset: ${resetWeeklyStr}
|
||||
</div>
|
||||
`;
|
||||
|
||||
const targetTs = (typeof intervalReset === 'number' && intervalReset < 9999999999) ? intervalReset * 1000 : intervalReset;
|
||||
if (targetTs) startMinimaxCountdown(targetTs);
|
||||
if (quota.provider.includes('5h')) {
|
||||
detailsEl.innerHTML = `
|
||||
<div><span>Reset in:</span> <strong id="minimax-countdown" style="color: var(--success)">--:--:--</strong></div>
|
||||
`;
|
||||
const targetTs = (typeof quota.meta.reset === 'number' && quota.meta.reset < 9999999999) ? quota.meta.reset * 1000 : quota.meta.reset;
|
||||
if (targetTs) startMinimaxCountdown(targetTs);
|
||||
} else {
|
||||
detailsEl.innerHTML = `
|
||||
<div><span>Reset:</span> <strong style="color: var(--success)">${resetStr}</strong></div>
|
||||
`;
|
||||
}
|
||||
}
|
||||
} else if (quota.provider.startsWith('AG ') && quota.meta) {
|
||||
statusText.innerText = `${Math.round(quota.used)}% / 100%`;
|
||||
|
||||
+25
-16
@@ -84,7 +84,7 @@ export async function fetchPoeQuota(): Promise<QuotaEntry> {
|
||||
}
|
||||
}
|
||||
|
||||
export async function fetchMinimaxQuota(): Promise<QuotaEntry> {
|
||||
export async function fetchMinimaxQuota(): Promise<QuotaEntry[]> {
|
||||
try {
|
||||
const res = await axios.get('https://api.minimax.io/v1/api/openplatform/coding_plan/remains', {
|
||||
headers: {
|
||||
@@ -96,29 +96,38 @@ export async function fetchMinimaxQuota(): Promise<QuotaEntry> {
|
||||
const intervalUsed = remains ? (100 - remains.current_interval_remaining_percent) : 0;
|
||||
const weeklyUsed = remains ? (100 - remains.current_weekly_remaining_percent) : 0;
|
||||
|
||||
// Use the highest percentage for the progress bar logic
|
||||
const percentage = Math.max(intervalUsed, weeklyUsed);
|
||||
const used = percentage;
|
||||
const total = 100;
|
||||
|
||||
const meta = {
|
||||
intervalUsed,
|
||||
weeklyUsed,
|
||||
intervalReset: remains ? remains.end_time : null,
|
||||
weeklyReset: remains ? remains.weekly_end_time : null
|
||||
};
|
||||
const intervalReset = remains ? remains.end_time : null;
|
||||
const weeklyReset = remains ? remains.weekly_end_time : null;
|
||||
|
||||
return { provider: 'MiniMax', used, total, percentage, meta };
|
||||
return [
|
||||
{
|
||||
provider: 'MiniMax (5h)',
|
||||
used: intervalUsed,
|
||||
total: 100,
|
||||
percentage: intervalUsed,
|
||||
meta: { reset: intervalReset }
|
||||
},
|
||||
{
|
||||
provider: 'MiniMax (Weekly)',
|
||||
used: weeklyUsed,
|
||||
total: 100,
|
||||
percentage: weeklyUsed,
|
||||
meta: { reset: weeklyReset }
|
||||
}
|
||||
];
|
||||
} catch (error: any) {
|
||||
console.error('Error fetching MiniMax quota:', error.message);
|
||||
return { provider: 'MiniMax', used: 0, total: 100, percentage: 0 };
|
||||
return [
|
||||
{ provider: 'MiniMax (5h)', used: 0, total: 100, percentage: 0 },
|
||||
{ provider: 'MiniMax (Weekly)', used: 0, total: 100, percentage: 0 }
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
export async function fetchAllQuotas(): Promise<QuotaEntry[]> {
|
||||
const agQuotas = fetchAntigravityQuota();
|
||||
const poeQuota = await fetchPoeQuota();
|
||||
const minimaxQuota = await fetchMinimaxQuota();
|
||||
const minimaxQuotas = await fetchMinimaxQuota();
|
||||
|
||||
return [...agQuotas, poeQuota, minimaxQuota];
|
||||
return [...agQuotas, poeQuota, ...minimaxQuotas];
|
||||
}
|
||||
Reference in new issue
Block a user