{"record":{"id":"c5a3b7749f8ba16d","repo":"diegosouzapw/OmniRoute","slug":"preview-failed","errorCode":null,"errorMessage":"Preview failed","messagePattern":"Preview failed","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/hooks/usePreviewCompression.ts","lineNumber":11,"sourceCode":"\"use client\";\nimport { useCallback, useState } from \"react\";\nimport { previewToRunModel, type CompressionRunModel, type PreviewResponse } from \"@/app/(dashboard)/dashboard/compression/studio/compressionFlowModel\";\nexport interface PreviewMessage { role: string; content: unknown; }\nexport interface Lane { engine: string; run: CompressionRunModel | null; error: string | null; }\nexport interface PreviewBatch { lanes: Lane[]; combined: CompressionRunModel | null; diff: PreviewResponse[\"diff\"] | null; riskGate: PreviewResponse[\"riskGate\"] | null; heatmap: PreviewResponse[\"heatmap\"] | null; }\nexport interface RunPreviewArgs { messages: PreviewMessage[]; laneEngines: string[]; activeEngines: string[]; language?: string; fidelityGate?: boolean; fuzzyDedup?: boolean; riskGate?: boolean; quantumLock?: boolean; heatmap?: \"ultra\" | \"universal\"; }\nasync function postPreview(payload: Record<string, unknown>): Promise<PreviewResponse> {\n  const res = await fetch(\"/api/compression/preview\", { method: \"POST\", headers: { \"Content-Type\": \"application/json\" }, body: JSON.stringify(payload) });\n  const data = await res.json();\n  if (!res.ok) throw new Error(data.error ?? \"Preview failed\");\n  return data as PreviewResponse;\n}\nexport async function runPreviewBatch(args: RunPreviewArgs): Promise<PreviewBatch> {\n  const { messages, laneEngines, activeEngines, fidelityGate, fuzzyDedup, riskGate, quantumLock, heatmap } = args;\n  const extra = {\n    ...(fidelityGate ? { fidelityGate: { enabled: true } } : {}),\n    ...(fuzzyDedup ? { fuzzyDedup: { enabled: true } } : {}),\n    ...(riskGate ? { riskGate: { enabled: true } } : {}),\n    ...(quantumLock ? { quantumLock: { enabled: true } } : {}),\n    ...(heatmap ? { heatmap } : {}),\n  };\n  const lanes: Lane[] = await Promise.all(\n    laneEngines.map(async (engine): Promise<Lane> => {\n      try { const res = await postPreview({ messages, engineId: engine, ...extra }); return { engine, run: previewToRunModel(res, engine), error: null }; }\n      catch (e) { return { engine, run: null, error: e instanceof Error ? e.message : \"error\" }; }\n    })\n  );\n  let combined: CompressionRunModel | null = null;","sourceCodeStart":1,"sourceCodeEnd":29,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/hooks/usePreviewCompression.ts#L1-L29","documentation":"Error \"Preview failed\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/hooks/usePreviewCompression.ts:11 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}