Files
DESKTOP-RTLN3BA\$punk 656e061f84 feat: add processing mode support for document uploads and ETL pipeline, improded error handling ux
- Introduced a `ProcessingMode` enum to differentiate between basic and premium processing modes.
- Updated `EtlRequest` to include a `processing_mode` field, defaulting to basic.
- Enhanced ETL pipeline services to utilize the selected processing mode for Azure Document Intelligence and LlamaCloud parsing.
- Modified various routes and services to handle processing mode, affecting document upload and indexing tasks.
- Improved error handling and logging to include processing mode details.
- Added tests to validate processing mode functionality and its impact on ETL operations.
2026-04-14 21:26:00 -07:00

62 lines
1.6 KiB
TypeScript

export const SURFSENSE_ISSUES_URL = "https://github.com/MODSetter/SurfSense/issues";
export class AppError extends Error {
status?: number;
statusText?: string;
code?: string;
requestId?: string;
reportUrl?: string;
constructor(
message: string,
status?: number,
statusText?: string,
code?: string,
requestId?: string,
reportUrl?: string
) {
super(message);
this.name = this.constructor.name;
this.status = status;
this.statusText = statusText;
this.code = code;
this.requestId = requestId;
this.reportUrl = reportUrl ?? SURFSENSE_ISSUES_URL;
}
}
export class NetworkError extends AppError {
constructor(message: string, status?: number, statusText?: string) {
super(message, status, statusText, "NETWORK_ERROR");
}
}
export class AbortedError extends AppError {
constructor(message = "Request was cancelled.") {
super(message, undefined, undefined, "REQUEST_ABORTED");
}
}
export class ValidationError extends AppError {
constructor(message: string, status?: number, statusText?: string) {
super(message, status, statusText, "VALIDATION_ERROR");
}
}
export class AuthenticationError extends AppError {
constructor(message: string, status?: number, statusText?: string) {
super(message, status, statusText, "UNAUTHORIZED");
}
}
export class AuthorizationError extends AppError {
constructor(message: string, status?: number, statusText?: string) {
super(message, status, statusText, "FORBIDDEN");
}
}
export class NotFoundError extends AppError {
constructor(message: string, status?: number, statusText?: string) {
super(message, status, statusText, "NOT_FOUND");
}
}