UNPKG

giga-code

Version:

A personal AI CLI assistant powered by Grok for local development.

82 lines (81 loc) 2.39 kB
import type { ChatCompletionMessageParam } from 'openai/resources/chat'; export type GrokMessage = ChatCompletionMessageParam; export interface GrokTool { type: 'function'; function: { name: string; description: string; parameters: { type: 'object'; properties: Record<string, any>; required: string[]; }; }; } export interface GrokToolCall { id: string; type: 'function'; function: { name: string; arguments: string; }; } export interface GrokResponse { choices: Array<{ message: { role: string; content: string | null; tool_calls?: GrokToolCall[]; }; finish_reason: string; }>; usage?: { prompt_tokens?: number; completion_tokens?: number; total_tokens?: number; }; metrics?: { prefillTimeMs: number; decodeTimeMs: number; outputTokens: number; tokensPerSecond: number; }; } export interface ApiCallMetrics { model: string; inputTokens: number; outputTokens: number; totalTokens: number; durationMs: number; tokensPerSecond: number; } export declare class GigaClient { private xaiClient; private groqClient; private anthropicClient; private openRouterClient; private googleClient; private cerebrasClient; private openaiClient; private ollamaClient; private groqApiKey?; private anthropicApiKey?; private openRouterApiKey?; private googleApiKey?; private cerebrasApiKey?; private openaiApiKey?; private ollamaBaseUrl?; private lastStreamingMetrics?; constructor(apiKey?: string, model?: string, groqApiKey?: string, anthropicApiKey?: string, openRouterApiKey?: string, googleApiKey?: string, cerebrasApiKey?: string, openaiApiKey?: string, ollamaBaseUrl?: string); private getClientForModel; setModel(model: string): void; getCurrentModel(): string; getLastStreamingMetrics(): { prefillTimeMs: number; decodeTimeMs: number; outputTokens: number; tokensPerSecond: number; } | undefined; chat(messages: GrokMessage[], tools?: GrokTool[], model?: string): Promise<GrokResponse>; chatStream(messages: GrokMessage[], tools?: GrokTool[], model?: string): AsyncGenerator<any, void, unknown>; }