{"record":{"id":"a4e6d16d55a5cf32","repo":"diegosouzapw/OmniRoute","slug":"video-runtime-requires-a-local-path","errorCode":null,"errorMessage":"Video runtime requires a local path","messagePattern":"Video runtime requires a local path","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/lib/guardrails/videoBridgeRuntime.ts","lineNumber":148,"sourceCode":"  \"mov\",\n  \"mp4\",\n  \"ogg\",\n  \"webm\",\n]);\nconst SAFE_FORMAT_WHITELIST = [...SAFE_FORMATS].join(\",\");\nconst defaultRunner: VideoCommandRunner = async (executable, args, options) => {\n  const result = await execFileAsync(executable, [...args], {\n    encoding: \"utf8\",\n    maxBuffer: 1024 * 1024,\n    signal: options.signal,\n    timeout: options.timeoutMs,\n    windowsHide: true,\n  });\n  return { stdout: String(result.stdout), stderr: String(result.stderr) };\n};\nfunction assertLocalPath(filePath: string): void {\n  if (!isAbsolute(filePath) || filePath.includes(\"\\0\") || filePath.includes(\"://\")) {\n    throw new Error(\"Video runtime requires a local path\");\n  }\n}\n\nfunction parseVersion(output: string): string | null {\n  const version = /\\bversion\\s+([^\\s]+)/i.exec(output)?.[1];\n  return version ? version.slice(0, 80).replace(/[^A-Za-z0-9._+-]/g, \"_\") : null;\n}\n\nlet runtimeProbeCache: { expiresAt: number; value: VideoRuntimeStatus } | null = null;\n\nexport function resetVideoRuntimeProbeCacheForTests(): void {\n  runtimeProbeCache = null;\n}\n\nexport async function probeVideoRuntime(\n  options: {\n    cacheTtlMs?: number;\n    runner?: VideoCommandRunner;","sourceCodeStart":130,"sourceCodeEnd":166,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/guardrails/videoBridgeRuntime.ts#L130-L166","documentation":"Error \"Video runtime requires a local path\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/guardrails/videoBridgeRuntime.ts:148 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"}