{"record":{"id":"ad030b6676f2519a","repo":"exo-explore/exo","slug":"image-not-found-or-expired","errorCode":null,"errorMessage":"Image not found or expired","messagePattern":"Image not found or expired","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"src/exo/api/main.py","lineNumber":1032,"sourceCode":"        def _generate_json_array(events: Iterable[Event]) -> Iterable[str]:\n            yield \"[\"\n            first = True\n            for event in events:\n                if not first:\n                    yield \",\"\n                first = False\n                yield event.model_dump_json()\n            yield \"]\"\n\n        return StreamingResponse(\n            _generate_json_array(self._event_log.read_all()),\n            media_type=\"application/json\",\n        )\n\n    async def get_image(self, image_id: str) -> FileResponse:\n        stored = self._image_store.get(Id(image_id))\n        if stored is None:\n            raise HTTPException(status_code=404, detail=\"Image not found or expired\")\n        return FileResponse(path=stored.file_path, media_type=stored.content_type)\n\n    async def list_images(self, request: Request) -> ImageListResponse:\n        \"\"\"List all stored images.\"\"\"\n        stored_images = self._image_store.list_images()\n        return ImageListResponse(\n            data=[\n                ImageListItem(\n                    image_id=img.image_id,\n                    url=self._build_image_url(request, img.image_id),\n                    content_type=img.content_type,\n                    expires_at=img.expires_at,\n                )\n                for img in stored_images\n            ]\n        )\n\n    def _build_image_url(self, request: Request, image_id: Id) -> str:","sourceCodeStart":1014,"sourceCodeEnd":1050,"githubUrl":"https://github.com/exo-explore/exo/blob/21a54c5ea0230a3bec1e1a786d200126c7e34ec6/src/exo/api/main.py#L1014-L1050","documentation":"Error \"Image not found or expired\" thrown in exo-explore/exo.","triggerScenarios":"Thrown at src/exo/api/main.py:1032 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":"21a54c5ea0230a3bec1e1a786d200126c7e34ec6","analyzedAt":"2026-08-26T00:02:16.033Z","schemaVersion":2},"datasetVersion":"2026-08-26T04:18:47.238Z"}