UNPKG

openai-agents

Version:

A TypeScript library extending the OpenAI Node.js SDK for building highly customizable agents and simplifying 'function calling'. Easily create and manage tools to extend LLM capabilities.

107 lines (106 loc) 2.99 kB
// Base Error export class BaseError extends Error { cause; constructor(message, cause) { super(message); this.cause = cause; this.name = this.constructor.name; Error.captureStackTrace(this, this.constructor); } } // Validation Errors export class ValidationError extends BaseError { constructor(message, cause) { super(message, cause); } } export class MessageValidationError extends ValidationError { constructor(message, cause) { super(message, cause); } } // File System Errors export class FileSystemError extends BaseError { path; constructor(message, path, cause) { super(`${message}: ${path}`, cause); this.path = path; } } export class DirectoryAccessError extends FileSystemError { constructor(dirPath, cause) { super('Unable to access directory', dirPath, cause); } } export class FileReadError extends FileSystemError { constructor(filePath, cause) { super('Error reading file', filePath, cause); } } export class FileImportError extends FileSystemError { constructor(filePath, cause) { super('Error importing file', filePath, cause); } } // Tool Errors export class ToolError extends BaseError { toolName; constructor(message, toolName, cause) { super(`${message}: ${toolName}`, cause); this.toolName = toolName; } } export class InvalidToolError extends ToolError { constructor(toolName, details, cause) { super(`Invalid tool found: ${details}`, toolName, cause); } } export class ToolNotFoundError extends ToolError { constructor(toolName, cause) { super('Tool not found', toolName, cause); } } export class FunctionCallError extends ToolError { constructor(functionName, details, cause) { super(`Error calling function: ${details}`, functionName, cause); } } // API Errors export class APIError extends BaseError { payload; constructor(message, payload, cause) { super(`${message}. Payload: ${JSON.stringify(payload)}`, cause); this.payload = payload; } } export class ToolCompletionError extends APIError { constructor(payload, cause) { super('Tool completion failed', payload, cause); } } export class ChatCompletionError extends APIError { constructor(payload, cause) { super('Chat completion failed', payload, cause); } } // Storage Errors export class StorageError extends BaseError { constructor(message, cause) { super(message, cause); } } export class RedisError extends StorageError { constructor(message, cause) { super(`Redis error: ${message}`, cause); } } export class RedisConnectionError extends RedisError { constructor(message, cause) { super(message, cause); } } export class RedisKeyValidationError extends RedisError { constructor(message, cause) { super(`Key validation failed: ${message}`, cause); } }