{"record":{"id":"fe404d64878c17b2","repo":"Significant-Gravitas/AutoGPT","slug":"no-renderable-component-found-export-a-default-co","errorCode":null,"errorMessage":"No renderable component found. Export a default component, export App, or export a named component.","messagePattern":"No renderable component found\\. Export a default component, export App, or export a named component\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactPanel/components/reactArtifactPreview.ts","lineNumber":157,"sourceCode":"          }\n\n          const namedCandidate = Object.entries(moduleExports).find(\n            ([name, value]) =>\n              name !== \"default\" &&\n              !name.endsWith(\"Provider\") &&\n              /^[A-Z]/.test(name) &&\n              typeof value === \"function\",\n          );\n\n          if (namedCandidate) {\n            return namedCandidate[1];\n          }\n\n          if (typeof App !== \"undefined\" && typeof App === \"function\") {\n            return App;\n          }\n\n          throw new Error(\n            \"No renderable component found. Export a default component, export App, or export a named component.\",\n          );\n        }\n\n        function wrapWithProviders(Component, moduleExports) {\n          const providers = Object.entries(moduleExports)\n            .filter(\n              ([name, value]) =>\n                name !== \"default\" &&\n                name.endsWith(\"Provider\") &&\n                typeof value === \"function\",\n            )\n            .map(([, value]) => value);\n\n          if (providers.length === 0) {\n            return Component;\n          }\n","sourceCodeStart":139,"sourceCodeEnd":175,"githubUrl":"https://github.com/Significant-Gravitas/AutoGPT/blob/9c8bb5550f446ba5d3046b78896578742495b3cf/autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactPanel/components/reactArtifactPreview.ts#L139-L175","documentation":"NotFoundError raised inside _validate_resource_ownership when creating a transfer: no AgentGraph row with the given resource_id and isActive=True exists. The lookup requires the active version; a soft-deleted or version-superseded graph is treated as not found.","triggerScenarios":"Creating a transfer request with resourceType='AgentGraph' and a resource_id that is deleted, has isActive=False (older version rows), or doesn't exist. Note only the active version matches — passing a historical version id also fails.","commonSituations":"Graph was deleted between listing and transfer creation; passing a version-specific graph id instead of the top-level id; environment/database mismatch.","solutions":["Verify the graph id resolves to an active graph (GET the agent graph) before creating the transfer.","Use the canonical graph id from the current graph listing, not a version row id.","Handle 404 by refreshing the graph list and re-selecting."],"exampleFix":"# before\nawait create_transfer(\"AgentGraph\", graph_id, ...)\n\n# after\ngraph = await get_graph(graph_id)  # 404s if not active\nawait create_transfer(\"AgentGraph\", graph.id, ...)","handlingStrategy":"validation","validationCode":"graph = await get_graph(resource_id)  # only the active version resolves\nawait create_transfer(\"AgentGraph\", graph.id, ...)","typeGuard":null,"tryCatchPattern":"try:\n    await create_transfer(\"AgentGraph\", gid, ...)\nexcept NotFoundError as e:\n    if \"AgentGraph\" in str(e):\n        refresh_graph_list()","preventionTips":["Use the canonical graph id from a fresh listing, never a version row id","Handle deleted-graph 404s by refreshing the picker"],"tags":["transfers","agent-graph","not-found"],"backgroundTag":null,"analyzedSha":"9c8bb5550f446ba5d3046b78896578742495b3cf","analyzedAt":"2026-08-14T17:17:21.957Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}