@mastra/core
Version:
1 lines • 7.75 kB
Source Map (JSON)
{"version":3,"file":"errors-Bfv4VhVf.cjs","names":[],"sources":["../src/workspace/errors.ts"],"sourcesContent":["/**\n * Workspace Errors\n *\n * Error classes for workspace operations.\n */\n\nimport type { WorkspaceStatus } from './types';\n\n// =============================================================================\n// Base Error\n// =============================================================================\n\nexport class WorkspaceError extends Error {\n constructor(\n message: string,\n public readonly code: string,\n public readonly workspaceId?: string,\n ) {\n super(message);\n this.name = 'WorkspaceError';\n }\n}\n\n// =============================================================================\n// Availability Errors\n// =============================================================================\n\nexport class WorkspaceNotAvailableError extends WorkspaceError {\n constructor() {\n super('Workspace not available. Ensure the agent has a workspace configured.', 'NO_WORKSPACE');\n this.name = 'WorkspaceNotAvailableError';\n }\n}\n\nexport class FilesystemNotAvailableError extends WorkspaceError {\n constructor() {\n super('Workspace does not have a filesystem configured', 'NO_FILESYSTEM');\n this.name = 'FilesystemNotAvailableError';\n }\n}\n\nexport class SandboxNotAvailableError extends WorkspaceError {\n constructor(message?: string) {\n super(message ?? 'Workspace does not have a sandbox configured', 'NO_SANDBOX');\n this.name = 'SandboxNotAvailableError';\n }\n}\n\nexport class SandboxFeatureNotSupportedError extends WorkspaceError {\n constructor(feature: 'executeCommand' | 'installPackage' | 'processes') {\n super(`Sandbox does not support ${feature}`, 'FEATURE_NOT_SUPPORTED');\n this.name = 'SandboxFeatureNotSupportedError';\n }\n}\n\nexport class SearchNotAvailableError extends WorkspaceError {\n constructor() {\n super('Workspace does not have search configured (enable bm25 or provide vectorStore + embedder)', 'NO_SEARCH');\n this.name = 'SearchNotAvailableError';\n }\n}\n\n// =============================================================================\n// State Errors\n// =============================================================================\n\nexport class WorkspaceNotReadyError extends WorkspaceError {\n constructor(workspaceId: string, status: WorkspaceStatus) {\n super(`Workspace is not ready (status: ${status})`, 'NOT_READY', workspaceId);\n this.name = 'WorkspaceNotReadyError';\n }\n}\n\nexport class WorkspaceReadOnlyError extends WorkspaceError {\n constructor(operation: string) {\n super(`Workspace is in read-only mode. Cannot perform: ${operation}`, 'READ_ONLY');\n this.name = 'WorkspaceReadOnlyError';\n }\n}\n\n// =============================================================================\n// Filesystem Errors\n// =============================================================================\n\nexport class FilesystemError extends Error {\n constructor(\n message: string,\n public readonly code: string,\n public readonly path: string,\n ) {\n super(message);\n this.name = 'FilesystemError';\n }\n}\n\nexport class FileNotFoundError extends FilesystemError {\n constructor(path: string) {\n super(`File not found: ${path}`, 'ENOENT', path);\n this.name = 'FileNotFoundError';\n }\n}\n\nexport class DirectoryNotFoundError extends FilesystemError {\n constructor(path: string) {\n super(`Directory not found: ${path}`, 'ENOENT', path);\n this.name = 'DirectoryNotFoundError';\n }\n}\n\nexport class FileExistsError extends FilesystemError {\n constructor(path: string) {\n super(`File already exists: ${path}`, 'EEXIST', path);\n this.name = 'FileExistsError';\n }\n}\n\nexport class IsDirectoryError extends FilesystemError {\n constructor(path: string) {\n super(`Path is a directory: ${path}`, 'EISDIR', path);\n this.name = 'IsDirectoryError';\n }\n}\n\nexport class NotDirectoryError extends FilesystemError {\n constructor(path: string) {\n super(`Path is not a directory: ${path}`, 'ENOTDIR', path);\n this.name = 'NotDirectoryError';\n }\n}\n\nexport class DirectoryNotEmptyError extends FilesystemError {\n constructor(path: string) {\n super(`Directory not empty: ${path}`, 'ENOTEMPTY', path);\n this.name = 'DirectoryNotEmptyError';\n }\n}\n\nexport class PermissionError extends FilesystemError {\n constructor(\n path: string,\n public readonly operation: string,\n ) {\n super(`Permission denied: ${operation} on ${path}`, 'EACCES', path);\n this.name = 'PermissionError';\n }\n}\n\nexport class FileReadRequiredError extends FilesystemError {\n constructor(path: string, reason: string) {\n super(reason, 'EREAD_REQUIRED', path);\n this.name = 'FileReadRequiredError';\n }\n}\n\nexport class StaleFileError extends FilesystemError {\n constructor(\n path: string,\n public readonly expectedMtime: Date,\n public readonly actualMtime: Date,\n ) {\n super(\n `File was modified externally: ${path} (expected mtime ${expectedMtime.toISOString()}, actual ${actualMtime.toISOString()})`,\n 'ESTALE',\n path,\n );\n this.name = 'StaleFileError';\n }\n}\n\n/**\n * Error thrown when a filesystem operation is attempted before initialization.\n */\nexport class FilesystemNotReadyError extends FilesystemError {\n constructor(id: string) {\n super(`Filesystem \"${id}\" is not ready. Call init() first or use ensureReady().`, 'ENOTREADY', id);\n this.name = 'FilesystemNotReadyError';\n }\n}\n"],"mappings":"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"}