{"record":{"id":"3b0c666d5164dca5","repo":"diegosouzapw/OmniRoute","slug":"invalid-video-transcript-duration","errorCode":null,"errorMessage":"Invalid video transcript duration","messagePattern":"Invalid video transcript duration","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/lib/guardrails/videoBridgeHelpers.ts","lineNumber":123,"sourceCode":"  \"audio-bridge\",\n  \"client\",\n  \"embedded\",\n]);\n\n/** Validate optional transcript metadata without ever invoking a transcription provider. */\nexport function normalizeVideoTranscript(\n  value: unknown,\n  durationSeconds: number\n): VideoTranscriptCue[] {\n  if (value === undefined || value === null) return [];\n  const rawCues = Array.isArray(value)\n    ? value\n    : value && typeof value === \"object\" && Array.isArray((value as Record<string, unknown>).cues)\n      ? (value as Record<string, unknown>).cues\n      : null;\n  if (!rawCues) throw new Error(\"Invalid video transcript: expected a cues array\");\n  if (!Number.isFinite(durationSeconds) || durationSeconds <= 0) {\n    throw new Error(\"Invalid video transcript duration\");\n  }\n  const seen = new Set<string>();\n  const normalized: VideoTranscriptCue[] = [];\n  for (const cue of rawCues) {\n    if (!cue || typeof cue !== \"object\") throw new Error(\"Invalid video transcript cue\");\n    const record = cue as Record<string, unknown>;\n    const text = typeof record.text === \"string\" ? record.text.trim() : \"\";\n    const source = record.source;\n    const startSeconds =\n      typeof record.startSeconds === \"number\"\n        ? record.startSeconds\n        : typeof record.start === \"number\"\n          ? record.start\n          : Number.NaN;\n    const endSeconds =\n      typeof record.endSeconds === \"number\"\n        ? record.endSeconds\n        : typeof record.end === \"number\"","sourceCodeStart":105,"sourceCodeEnd":141,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/guardrails/videoBridgeHelpers.ts#L105-L141","documentation":"Error \"Invalid video transcript duration\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/guardrails/videoBridgeHelpers.ts:123 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"}