@sethdouglasford/claude-flow
Version:
Claude Code Flow - Advanced AI-powered development workflows with SPARC methodology
196 lines • 5.2 kB
JavaScript
/**
* Custom error types for Claude-Flow
*/
/**
* Base error class for all Claude-Flow errors
*/
export class ClaudeFlowError extends Error {
code;
details;
constructor(message, code, details) {
super(message);
this.code = code;
this.details = details;
this.name = "ClaudeFlowError";
Error.captureStackTrace(this, this.constructor);
}
toJSON() {
return {
name: this.name,
message: this.message,
code: this.code,
details: this.details,
stack: this.stack,
};
}
}
/**
* Terminal-related errors
*/
export class TerminalError extends ClaudeFlowError {
constructor(message, details) {
super(message, "TERMINAL_ERROR", details);
this.name = "TerminalError";
}
}
export class TerminalSpawnError extends TerminalError {
code = "TERMINAL_SPAWN_ERROR";
constructor(message, details) {
super(message, details);
}
}
export class TerminalCommandError extends TerminalError {
code = "TERMINAL_COMMAND_ERROR";
constructor(message, details) {
super(message, details);
}
}
/**
* Memory-related errors
*/
export class MemoryError extends ClaudeFlowError {
constructor(message, details) {
super(message, "MEMORY_ERROR", details);
this.name = "MemoryError";
}
}
export class MemoryBackendError extends MemoryError {
code = "MEMORY_BACKEND_ERROR";
constructor(message, details) {
super(message, details);
}
}
export class MemoryConflictError extends MemoryError {
code = "MEMORY_CONFLICT_ERROR";
constructor(message, details) {
super(message, details);
}
}
/**
* Coordination-related errors
*/
export class CoordinationError extends ClaudeFlowError {
constructor(message, details) {
super(message, "COORDINATION_ERROR", details);
this.name = "CoordinationError";
}
}
export class DeadlockError extends CoordinationError {
agents;
resources;
code = "DEADLOCK_ERROR";
constructor(message, agents, resources) {
super(message, { agents, resources });
this.agents = agents;
this.resources = resources;
}
}
export class ResourceLockError extends CoordinationError {
code = "RESOURCE_LOCK_ERROR";
constructor(message, details) {
super(message, details);
}
}
/**
* MCP-related errors
*/
export class MCPError extends ClaudeFlowError {
constructor(message, details) {
super(message, "MCP_ERROR", details);
this.name = "MCPError";
}
}
export class MCPTransportError extends MCPError {
code = "MCP_TRANSPORT_ERROR";
constructor(message, details) {
super(message, details);
}
}
export class MCPMethodNotFoundError extends MCPError {
code = "MCP_METHOD_NOT_FOUND";
constructor(method) {
super(`Method not found: ${method}`, { method });
}
}
/**
* Configuration errors
*/
export class ConfigError extends ClaudeFlowError {
constructor(message, details) {
super(message, "CONFIG_ERROR", details);
this.name = "ConfigError";
}
}
export class ValidationError extends ConfigError {
code = "VALIDATION_ERROR";
constructor(message, details) {
super(message, details);
}
}
/**
* Task-related errors
*/
export class TaskError extends ClaudeFlowError {
constructor(message, details) {
super(message, "TASK_ERROR", details);
this.name = "TaskError";
}
}
export class TaskTimeoutError extends TaskError {
code = "TASK_TIMEOUT_ERROR";
constructor(taskId, timeout) {
super(`Task ${taskId} timed out after ${timeout}ms`, { taskId, timeout });
}
}
export class TaskDependencyError extends TaskError {
code = "TASK_DEPENDENCY_ERROR";
constructor(taskId, dependencies) {
super(`Task ${taskId} has unmet dependencies`, { taskId, dependencies });
}
}
/**
* System errors
*/
export class SystemError extends ClaudeFlowError {
constructor(message, details) {
super(message, "SYSTEM_ERROR", details);
this.name = "SystemError";
}
}
export class InitializationError extends SystemError {
code = "INITIALIZATION_ERROR";
constructor(message, details) {
const componentOrMessage = typeof details === "string" ? details : message;
if (typeof details === "object" && details !== null) {
super(message, { component: componentOrMessage, ...details });
}
else {
super(message, { component: componentOrMessage });
}
}
}
export class ShutdownError extends SystemError {
code = "SHUTDOWN_ERROR";
constructor(message, details) {
super(message, details);
}
}
/**
* Error utilities
*/
export function isClaudeFlowError(error) {
return error instanceof ClaudeFlowError;
}
export function formatError(error) {
if (error instanceof Error) {
return `${error.name}: ${error.message}`;
}
return String(error);
}
export function getErrorDetails(error) {
if (isClaudeFlowError(error)) {
return error.details;
}
return undefined;
}
//# sourceMappingURL=errors.js.map