@callmedayz/ai-prompt-toolkit
Version:
Professional AI prompt engineering toolkit with advanced template features, real-time dashboards, conditional logic, template inheritance, live monitoring, OpenRouter integration, and 310+ model support
96 lines • 2.89 kB
TypeScript
import { OpenRouterClient } from './openrouter-client';
import { SupportedModel, OpenRouterMessage } from './types';
/**
* Configuration for completion requests
*/
export interface CompletionConfig {
model?: SupportedModel;
maxTokens?: number;
temperature?: number;
topP?: number;
stop?: string[];
stream?: boolean;
}
/**
* Result of a completion request
*/
export interface CompletionResult {
text: string;
model: string;
usage: {
promptTokens: number;
completionTokens: number;
totalTokens: number;
};
finishReason: string;
}
/**
* Streaming completion chunk
*/
export interface StreamingChunk {
content: string;
isComplete: boolean;
model?: string;
}
/**
* Callback for streaming responses
*/
export type StreamingCallback = (chunk: StreamingChunk) => void;
/**
* OpenRouter completion service for generating text responses
*/
export declare class OpenRouterCompletion {
private client;
constructor(client: OpenRouterClient);
/**
* Generate a completion for a single prompt
*/
complete(prompt: string, config?: CompletionConfig): Promise<CompletionResult>;
/**
* Generate a streaming completion for a single prompt
*/
completeStream(prompt: string, callback: StreamingCallback, config?: CompletionConfig): Promise<void>;
/**
* Generate a completion for a chat conversation
*/
chat(messages: OpenRouterMessage[], config?: CompletionConfig): Promise<CompletionResult>;
/**
* Generate a streaming completion for a chat conversation
*/
chatStream(messages: OpenRouterMessage[], callback: StreamingCallback, config?: CompletionConfig): Promise<void>;
/**
* Generate a completion with system message
*/
completeWithSystem(systemMessage: string, userPrompt: string, config?: CompletionConfig): Promise<CompletionResult>;
/**
* Collect streaming response into a complete result
*/
completeStreamCollected(prompt: string, config?: CompletionConfig): Promise<{
text: string;
chunks: string[];
}>;
/**
* Test a prompt against a model and return the response
*/
testPrompt(prompt: string, model: SupportedModel, options?: {
maxTokens?: number;
temperature?: number;
}): Promise<CompletionResult>;
/**
* Validate that a prompt works with a specific model
*/
validatePrompt(prompt: string, model: SupportedModel): Promise<{
isValid: boolean;
error?: string;
result?: CompletionResult;
}>;
/**
* Create a completion service from API key
*/
static fromApiKey(apiKey: string): OpenRouterCompletion;
/**
* Create a completion service from environment variables
*/
static fromEnv(): OpenRouterCompletion;
}
//# sourceMappingURL=openrouter-completion.d.ts.map