{"record":{"id":"f201bee80f0618a2","repo":"NousResearch/hermes-agent","slug":"expected-a-marketplace-id-like-publisher-extensio","errorCode":null,"errorMessage":"Expected a Marketplace id like \"publisher.extension\".","messagePattern":"Expected a Marketplace id like \"publisher\\.extension\"\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"apps/desktop/electron/vscode-marketplace.ts","lineNumber":325,"sourceCode":"        contents: extractEntry(vsixBuffer, record)\n      })\n    } catch {\n      // Skip an entry we can't inflate rather than failing the whole install.\n    }\n  }\n\n  return themes\n}\n\n/**\n * Public entry: resolve, download, and extract color themes for `id`\n * (`publisher.extension`). Returns `{ extensionId, displayName, themes }`.\n */\nasync function fetchMarketplaceThemes(id) {\n  const trimmed = String(id || '').trim()\n\n  if (!ID_RE.test(trimmed)) {\n    throw new Error('Expected a Marketplace id like \"publisher.extension\".')\n  }\n\n  const { displayName, vsixUrl } = await resolveExtension(trimmed)\n  const vsix = await request(vsixUrl, { headers: { 'User-Agent': 'Hermes-Desktop' } })\n  const themes = extractThemes(vsix)\n\n  return { extensionId: trimmed, displayName, themes }\n}\n\nconst __testing = { themeEntryName, looksLikeIconTheme }\n\nexport { __testing, extractThemes, fetchMarketplaceThemes, readCentralDirectory, searchMarketplaceThemes }\n","sourceCodeStart":307,"sourceCodeEnd":338,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/apps/desktop/electron/vscode-marketplace.ts#L307-L338","documentation":"Error \"Expected a Marketplace id like \"publisher.extension\".\" thrown in NousResearch/hermes-agent.","triggerScenarios":"Thrown at apps/desktop/electron/vscode-marketplace.ts:325 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Enter the id in the form \"publisher.extension\" (e.g. ms-python.python).","Copy the id from the extension's Marketplace page rather than typing it freehand."],"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"}