@just-every/ensemble
Version:
LLM provider abstraction layer with unified streaming interface
65 lines • 2.07 kB
JavaScript
export class EnsembleError extends Error {
code;
recoverable;
details;
constructor(message, code, recoverable = false, details) {
super(message);
this.code = code;
this.recoverable = recoverable;
this.details = details;
this.name = 'EnsembleError';
}
}
export class ProviderError extends EnsembleError {
provider;
constructor(provider, message, code, recoverable = false, details) {
super(message, code, recoverable, details);
this.provider = provider;
this.name = 'ProviderError';
}
}
export class ToolExecutionError extends EnsembleError {
toolName;
constructor(toolName, message, code = 'TOOL_EXECUTION_ERROR', recoverable = true, details) {
super(message, code, recoverable, details);
this.toolName = toolName;
this.name = 'ToolExecutionError';
}
}
export class AbortError extends EnsembleError {
constructor(message = 'Operation aborted') {
super(message, 'ABORT_ERROR', false);
this.name = 'AbortError';
}
}
export class PauseAbortError extends AbortError {
constructor() {
super('Operation aborted while waiting for pause');
this.name = 'PauseAbortError';
}
}
export class QuotaExceededError extends EnsembleError {
provider;
model;
constructor(provider, model, message, details) {
super(message, 'QUOTA_EXCEEDED', false, details);
this.provider = provider;
this.model = model;
this.name = 'QuotaExceededError';
}
}
export class ModelNotFoundError extends EnsembleError {
model;
constructor(model, message) {
super(message || `Model '${model}' not found or not available`, 'MODEL_NOT_FOUND', false);
this.model = model;
this.name = 'ModelNotFoundError';
}
}
export class ConfigurationError extends EnsembleError {
constructor(message, details) {
super(message, 'CONFIGURATION_ERROR', false, details);
this.name = 'ConfigurationError';
}
}
//# sourceMappingURL=errors.js.map