{"version":3,"file":"errors.mjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["import { z } from \"./zod\";\n\n/**\n * Error pattern constants for categorizing infrastructure errors\n */\nexport const ERROR_PATTERNS = {\n  CONNECTION_REFUSED: [\"ECONNREFUSED\"],\n  HOST_NOT_FOUND: [\"ENOTFOUND\", \"EHOSTUNREACH\"],\n  TIMEOUT: [\"ETIMEDOUT\", \"ESOCKETTIMEDOUT\", \"timeout\"],\n  CONNECTION_RESET: [\"ECONNRESET\", \"EPIPE\"],\n  PERMISSION: [\"EACCES\", \"EPERM\", \"permission denied\"],\n  AUTH: [\"401\", \"unauthorized\", \"authentication failed\"],\n  RATE_LIMITED: [\"429\", \"too many requests\", \"rate limit\"],\n  SERVICE_UNAVAILABLE: [\"503\", \"service unavailable\"],\n} as const;\n\n/**\n * Common error schemas for plugin contracts.\n * Import individually or use the grouped PluginErrors export.\n *\n * @example\n * ```typescript\n * import { NOT_FOUND, FORBIDDEN, UNAUTHORIZED } from \"every-plugin/errors\";\n *\n * export const contract = oc.router({\n *   getData: oc.route(...)\n *     .errors({ NOT_FOUND, FORBIDDEN, UNAUTHORIZED })\n * });\n * ```\n */\n\nexport const UNAUTHORIZED = {\n  status: 401,\n  data: z.object({\n    apiKeyProvided: z.boolean(),\n    provider: z.string().optional(),\n    authType: z.enum([\"apiKey\", \"oauth\", \"token\"]).optional(),\n  }),\n} as const;\n\nexport const RATE_LIMITED = {\n  status: 429,\n  data: z.object({\n    retryAfter: z.number().int().min(1),\n    remainingRequests: z.number().int().min(0).optional(),\n    resetTime: z.string().datetime().optional(),\n    limitType: z.enum([\"requests\", \"tokens\", \"bandwidth\"]).optional(),\n  }),\n} as const;\n\nexport const SERVICE_UNAVAILABLE = {\n  status: 503,\n  data: z.object({\n    retryAfter: z.number().int().optional(),\n    maintenanceWindow: z.boolean().default(false),\n    estimatedUptime: z.string().datetime().optional(),\n  }),\n} as const;\n\nexport const BAD_REQUEST = {\n  status: 400,\n  data: z.object({\n    invalidFields: z.array(z.string()).optional(),\n    validationErrors: z\n      .array(\n        z.object({\n          field: z.string(),\n          message: z.string(),\n          code: z.string().optional(),\n        }),\n      )\n      .optional(),\n  }),\n} as const;\n\nexport const NOT_FOUND = {\n  status: 404,\n  data: z.object({\n    resource: z.string().optional(),\n    resourceId: z.string().optional(),\n  }),\n} as const;\n\nexport const FORBIDDEN = {\n  status: 403,\n  data: z.object({\n    requiredPermissions: z.array(z.string()).optional(),\n    action: z.string().optional(),\n  }),\n} as const;\n\nexport const TIMEOUT = {\n  status: 504,\n  data: z.object({\n    timeoutMs: z.number().int().min(0).optional(),\n    operation: z.string().optional(),\n    retryable: z.boolean().default(true),\n  }),\n} as const;\n\nexport const CONNECTION_ERROR = {\n  status: 502,\n  data: z.object({\n    errorCode: z.string().optional(),\n    host: z.string().optional(),\n    port: z.number().int().optional(),\n    suggestion: z.string().optional(),\n  }),\n} as const;\n\n/**\n * Grouped export for all plugin errors.\n * Use individual imports for cleaner code.\n */\nexport const PluginErrors = {\n  UNAUTHORIZED,\n  RATE_LIMITED,\n  SERVICE_UNAVAILABLE,\n  BAD_REQUEST,\n  NOT_FOUND,\n  FORBIDDEN,\n  TIMEOUT,\n  CONNECTION_ERROR,\n} as const;\n\n/**\n * @deprecated Use individual imports or PluginErrors instead\n */\nexport const CommonPluginErrors = PluginErrors;\n\nexport {\n  extractFromFiberFailure,\n  formatORPCError,\n  isRetryableORPCCode,\n  ModuleFederationError,\n  PluginRuntimeError,\n  toPluginRuntimeError,\n  ValidationError,\n  wrapORPCError,\n} from \"./runtime/errors\";\n"],"mappings":"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"}