'use client'; import { motion } from 'framer-motion'; import { Shield, Layers, Database, X, Check } from 'lucide-react'; const frictions = [ { icon: Shield, title: 'Coding Agents Need Sandboxes', problem: "You can't let AI execute arbitrary code on your production servers. Coding agents need isolated environments, but existing SDKs assume local execution.", solution: 'A server that runs inside the sandbox and exposes HTTP/SSE.', }, { icon: Layers, title: 'Every Coding Agent is Different', problem: 'Claude Code, Codex, OpenCode, Amp, and Pi each have proprietary APIs, event formats, and behaviors. Swapping coding agents means rewriting your entire integration.', solution: 'One HTTP API. Write your code once, swap coding agents with a config change.', }, { icon: Database, title: 'Sessions Are Ephemeral', problem: 'Coding agent transcripts live in the sandbox. When the process ends, you lose everything. Debugging and replay become impossible.', solution: 'Universal event schema streams to your storage. Persist to Postgres or Rivet, replay later, audit everything.', }, ]; export function PainPoints() { return (
Running coding agents remotely is hard. The Sandbox Agent SDK is a server that runs inside your sandbox. Your app connects remotely to control Claude Code, Codex, OpenCode, Amp, or Pi — streaming events, handling permissions, managing sessions.
{frictions.map((friction) => (

{friction.title}

Problem

{friction.problem}

Solution

{friction.solution}

))}
); }