{"record":{"id":"04c81885fbbc6d18","repo":"diegosouzapw/OmniRoute","slug":"failed-to-download-plugin-name-response-st","errorCode":null,"errorMessage":"Failed to download plugin '${name}': ${response.status}","messagePattern":"Failed to download plugin '(.+?)': (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/lib/plugins/marketplace.ts","lineNumber":229,"sourceCode":" * Install a plugin from the marketplace by name.\n * Downloads the plugin archive, verifies checksum if present, and installs via PluginManager.\n */\nexport async function installMarketplacePlugin(name: string): Promise<{ name: string; version: string }> {\n  const plugins = await listMarketplacePlugins();\n  const entry = plugins.find((p) => p.name === name);\n  if (!entry) {\n    throw new Error(`Plugin '${name}' not found in marketplace`);\n  }\n\n  // Create temp dir for download\n  const tmpDir = await mkdtemp(join(tmpdir(), \"plugin-mp-\"));\n  const tmpFile = join(tmpDir, \"plugin.tar.gz\");\n\n  try {\n    // Download the plugin archive\n    const response = await safeOutboundFetch(entry.downloadUrl, { guard: \"public-only\" });\n    if (!response.ok) {\n      throw new Error(`Failed to download plugin '${name}': ${response.status}`);\n    }\n    const buffer = Buffer.from(await response.arrayBuffer());\n\n    // Verify SHA-256 checksum if provided\n    if (entry.checksum) {\n      const actual = createHash(\"sha256\").update(buffer).digest(\"hex\");\n      if (actual !== entry.checksum) {\n        throw new Error(\n          `Checksum mismatch for plugin '${name}': expected ${entry.checksum}, got ${actual}`\n        );\n      }\n    }\n\n    // Write to temp file\n    await writeFile(tmpFile, buffer);\n\n    // Delegate to pluginManager.install\n    const result = await pluginManager.install(tmpDir);","sourceCodeStart":211,"sourceCodeEnd":247,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/plugins/marketplace.ts#L211-L247","documentation":"Error \"Failed to download plugin '${name}': ${response.status}\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/plugins/marketplace.ts:229 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"}