{"record":{"id":"beddebb2b13d8595","repo":"NousResearch/hermes-agent","slug":"could-not-export-slug","errorCode":null,"errorMessage":"Could not export ${slug}","messagePattern":"Could not export (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"apps/desktop/src/store/pet-gallery.ts","lineNumber":433,"sourceCode":"          setPetInfo({ ...$petInfo.get(), scale: result.scale })\n        }\n      })\n      .catch(() => {\n        // Cosmetic — the pet already resized; persistence self-heals next write.\n      })\n  }, 200)\n}\n\n/** Export a pet as a `.zip` (pet.json + spritesheet) and save it via the browser. */\nexport async function exportPet(request: GatewayRequest, slug: string, fallback: string): Promise<boolean> {\n  $petBusy.set(slug)\n  $petGalleryError.set(null)\n\n  try {\n    const res = await petRpc<{ ok: boolean; filename: string; zipBase64: string }>(request, 'pet.export', { slug })\n\n    if (!res?.ok || !res.zipBase64) {\n      throw new Error(fallback)\n    }\n\n    const bytes = Uint8Array.from(atob(res.zipBase64), c => c.charCodeAt(0))\n    const url = URL.createObjectURL(new Blob([bytes], { type: 'application/zip' }))\n    const anchor = document.createElement('a')\n    anchor.href = url\n    anchor.download = res.filename || `${slug}.zip`\n    anchor.click()\n    URL.revokeObjectURL(url)\n\n    return true\n  } catch (e) {\n    $petGalleryError.set(e instanceof Error ? e.message : fallback)\n\n    return false\n  } finally {\n    $petBusy.set(null)\n  }","sourceCodeStart":415,"sourceCodeEnd":451,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/apps/desktop/src/store/pet-gallery.ts#L415-L451","documentation":"Error \"Could not export ${slug}\" thrown in NousResearch/hermes-agent.","triggerScenarios":"Thrown at apps/desktop/src/store/pet-gallery.ts:433 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the destination path is writable and retry the export.","Verify the pet slug still exists in the gallery.","Free disk space or pick a different export location."],"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"}