import * as React from "react"; // --------------------------------------------------------------------------- // The seam between the artifact page and the MCP-Apps shell that renders it. // // The shell (`@executor-js/mcp-apps-shell`) compiles model-written JSX and runs // it inside a sandboxed iframe. It cannot be imported here: the shell already // depends on THIS package for its shadcn component barrel, and turbo rejects // the resulting package cycle outright (it errors, it does not warn). So the // dependency is inverted the way the rest of the console does it — this package // declares the contract, and the app composition roots (`apps/*`, which already // depend on both) provide the implementation at startup. // // A host that never registers a renderer still gets a working artifacts list // and a detail page that explains the artifact cannot be rendered here, rather // than a crash — the same graceful-degradation rule the shared console follows // for any host-specific capability. // // The seam carries a LOADER, not a component. The shell is browser-only by // nature: it imports `@tailwindcss/browser`, which builds a `