cortexweaver
Version:
CortexWeaver is a command-line interface (CLI) tool that orchestrates a swarm of specialized AI agents, powered by Claude Code and Gemini CLI, to assist in software development. It transforms a high-level project plan (plan.md) into a series of coordinate
74 lines • 2.31 kB
TypeScript
export declare enum ClaudeModel {
OPUS = "claude-3-opus-20240229",
SONNET = "claude-3-sonnet-20240229",
HAIKU = "claude-3-haiku-20240307"
}
export interface TokenUsage {
inputTokens: number;
outputTokens: number;
totalTokens: number;
}
export interface ClaudeResponse {
content: string;
tokenUsage: TokenUsage;
model: string;
}
export interface Message {
role: 'user' | 'assistant';
content: string;
}
export interface SendMessageOptions {
systemPrompt?: string;
conversationHistory?: Message[];
model?: ClaudeModel;
maxTokens?: number;
temperature?: number;
maxRetries?: number;
retryDelay?: number;
}
export interface ClaudeClientConfig {
apiKey?: string;
sessionToken?: string;
defaultModel?: ClaudeModel;
maxTokens?: number;
temperature?: number;
budgetLimit?: number;
budgetWarningThreshold?: number;
}
export interface TokenUsageStats {
totalInputTokens: number;
totalOutputTokens: number;
totalTokens: number;
requestCount: number;
estimatedCost: number;
}
export interface StreamingResponse {
[Symbol.asyncIterator](): AsyncIterator<string>;
}
export declare class ClaudeClient {
private anthropic;
private config;
private tokenUsage;
constructor(config: ClaudeClientConfig);
getConfiguration(): Required<Omit<ClaudeClientConfig, 'apiKey' | 'sessionToken'>> & Pick<ClaudeClientConfig, 'apiKey' | 'sessionToken'>;
updateConfiguration(updates: Partial<ClaudeClientConfig>): void;
sendMessage(message: string, options?: SendMessageOptions): Promise<ClaudeResponse>;
sendMessageStream(message: string, options?: SendMessageOptions): Promise<StreamingResponse>;
getTokenUsage(): TokenUsageStats;
resetTokenUsage(): void;
setDefaultModel(model: ClaudeModel): void;
getAvailableModels(): ClaudeModel[];
private updateTokenUsage;
private checkBudgetLimit;
private isRetryableError;
private delay;
/**
* Create an Anthropic client that inherits Claude Code's authentication
*/
private createClaudeCodeInheritedClient;
/**
* Create a session-aware Anthropic client that uses Claude Code session tokens
*/
private createSessionAwareAnthropicClient;
}
//# sourceMappingURL=claude-client.d.ts.map