{"record":{"id":"660624780e17102e","repo":"NousResearch/hermes-agent","slug":"package-manifest-missing-from-the-extension","errorCode":null,"errorMessage":"Package manifest missing from the extension.","messagePattern":"Package manifest missing from the extension\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"apps/desktop/electron/vscode-marketplace.ts","lineNumber":280,"sourceCode":"\n  // 0 = stored, 8 = deflate. Theme files are one or the other.\n  return record.method === 0 ? data.toString('utf8') : zlib.inflateRawSync(data).toString('utf8')\n}\n\n/** Normalize a package.json theme path to its zip entry name. */\nfunction themeEntryName(themePath) {\n  const clean = String(themePath).replace(/^\\.\\//, '').replace(/^\\//, '')\n\n  return `extension/${clean}`\n}\n\n/** Extract every contributed color theme from a `.vsix` buffer. */\nfunction extractThemes(vsixBuffer) {\n  const records = readCentralDirectory(vsixBuffer)\n  const pkgRecord = records.get('extension/package.json')\n\n  if (!pkgRecord) {\n    throw new Error('Package manifest missing from the extension.')\n  }\n\n  const pkg = JSON.parse(extractEntry(vsixBuffer, pkgRecord))\n  const contributed = pkg?.contributes?.themes\n\n  if (!Array.isArray(contributed) || contributed.length === 0) {\n    return []\n  }\n\n  const themes = []\n\n  for (const entry of contributed) {\n    if (!entry?.path) {\n      continue\n    }\n\n    const record = records.get(themeEntryName(entry.path))\n","sourceCodeStart":262,"sourceCodeEnd":298,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/apps/desktop/electron/vscode-marketplace.ts#L262-L298","documentation":"Error \"Package manifest missing from the extension.\" thrown in NousResearch/hermes-agent.","triggerScenarios":"Thrown at apps/desktop/electron/vscode-marketplace.ts:280 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-download the extension; the package is incomplete.","Confirm the VSIX contains extension/package.json at its root.","Install a different version of the extension that ships a valid manifest."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c896c09c42910c584c4c7d2325b58c14713ea42c","analyzedAt":"2026-08-14T17:18:01.089Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}