mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-03-18 22:33:08 +00:00
Feat: Show Gemini Usage in usage dropdown and mobile sidebar
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
// Type definitions for Electron IPC API
|
||||
import type { SessionListItem, Message } from '@/types/electron';
|
||||
import type { ClaudeUsageResponse, CodexUsageResponse, ZaiUsageResponse } from '@/store/app-store';
|
||||
import type {
|
||||
ClaudeUsageResponse,
|
||||
CodexUsageResponse,
|
||||
ZaiUsageResponse,
|
||||
GeminiUsageResponse,
|
||||
} from '@/store/app-store';
|
||||
import type {
|
||||
IssueValidationVerdict,
|
||||
IssueValidationConfidence,
|
||||
@@ -874,6 +879,9 @@ export interface ElectronAPI {
|
||||
error?: string;
|
||||
}>;
|
||||
};
|
||||
gemini?: {
|
||||
getUsage: () => Promise<GeminiUsageResponse>;
|
||||
};
|
||||
settings?: {
|
||||
getStatus: () => Promise<{
|
||||
success: boolean;
|
||||
@@ -1418,6 +1426,20 @@ const _getMockElectronAPI = (): ElectronAPI => {
|
||||
};
|
||||
},
|
||||
},
|
||||
|
||||
// Mock Gemini API
|
||||
gemini: {
|
||||
getUsage: async () => {
|
||||
console.log('[Mock] Getting Gemini usage');
|
||||
return {
|
||||
authenticated: true,
|
||||
authMethod: 'cli_login',
|
||||
usedPercent: 0,
|
||||
remainingPercent: 100,
|
||||
lastUpdated: new Date().toISOString(),
|
||||
};
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -41,7 +41,11 @@ import type {
|
||||
Notification,
|
||||
} from '@automaker/types';
|
||||
import type { Message, SessionListItem } from '@/types/electron';
|
||||
import type { ClaudeUsageResponse, CodexUsageResponse } from '@/store/app-store';
|
||||
import type {
|
||||
ClaudeUsageResponse,
|
||||
CodexUsageResponse,
|
||||
GeminiUsage,
|
||||
} from '@/store/app-store';
|
||||
import type { WorktreeAPI, GitAPI, ModelDefinition, ProviderStatus } from '@/types/electron';
|
||||
import type { ModelId, ThinkingLevel, ReasoningEffort, Feature } from '@automaker/types';
|
||||
import { getGlobalFileBrowser } from '@/contexts/file-browser-context';
|
||||
@@ -2688,6 +2692,11 @@ export class HttpApiClient implements ElectronAPI {
|
||||
},
|
||||
};
|
||||
|
||||
// Gemini API
|
||||
gemini = {
|
||||
getUsage: (): Promise<GeminiUsage> => this.get('/api/gemini/usage'),
|
||||
};
|
||||
|
||||
// Context API
|
||||
context = {
|
||||
describeImage: (
|
||||
|
||||
@@ -101,6 +101,8 @@ export const queryKeys = {
|
||||
codex: () => ['usage', 'codex'] as const,
|
||||
/** z.ai API usage */
|
||||
zai: () => ['usage', 'zai'] as const,
|
||||
/** Gemini API usage */
|
||||
gemini: () => ['usage', 'gemini'] as const,
|
||||
},
|
||||
|
||||
// ============================================
|
||||
|
||||
Reference in New Issue
Block a user