34 lines
722 B
TypeScript
34 lines
722 B
TypeScript
|
export interface LLMConfig {
|
||
|
provider: 'openai' | 'openrouter' | 'ollama';
|
||
|
apiKey?: string;
|
||
|
model?: string;
|
||
|
baseUrl?: string;
|
||
|
temperature?: number;
|
||
|
}
|
||
|
|
||
|
export interface DocumentMetadata {
|
||
|
path: string;
|
||
|
type: string;
|
||
|
lastModified: number;
|
||
|
size: number;
|
||
|
hasEmbeddings?: boolean;
|
||
|
hasOcr?: boolean;
|
||
|
}
|
||
|
|
||
|
export class ServiceError extends Error {
|
||
|
constructor(message: string) {
|
||
|
super(message);
|
||
|
this.name = 'ServiceError';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// For CommonJS compatibility
|
||
|
if (typeof module !== 'undefined' && module.exports) {
|
||
|
module.exports = {
|
||
|
ServiceError,
|
||
|
// Export interface types for TypeScript
|
||
|
LLMConfig: Symbol.for('LLMConfig'),
|
||
|
DocumentMetadata: Symbol.for('DocumentMetadata')
|
||
|
};
|
||
|
}
|