import { Link } from "react-router-dom"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, TableCaption, } from "@/components/ui/table"; import { Button } from "@/components/ui/button"; import { Puzzle, Server, Brush, Shield, RefreshCw, ArrowRight, Link as LinkIcon, Palette, AlertTriangle, FileText, } from "lucide-react"; const embedSettings = [ { name: "buttonSize", description: "Controls the floating launcher dimensions in pixels.", defaultValue: "60", }, { name: "buttonPosition", description: "Places the launcher in one of four corners (e.g. bottom-right).", defaultValue: "bottom-right", }, { name: "buttonOffset", description: "Fine-tunes horizontal/vertical offsets from the viewport edge.", defaultValue: "{ x: 32, y: 32 }", }, { name: "iframeWidth", description: "Maximum width of the opened assistant panel.", defaultValue: "448", }, { name: "iframeHeight", description: "Viewport height percentage for the assistant panel.", defaultValue: "85vh", }, { name: "tooltipText", description: "Copy shown when hovering the launcher button.", defaultValue: "Need a hand?\\nAeThex Copilot is live.", }, ]; const troubleshooting = [ { title: "Failed to fetch status", detail: "If the HelloSkip API cannot be reached, the embed skips initialization. Verify outbound network access or retry when the environment regains connectivity.", }, { title: "Agent inactive", detail: "Status responses containing `active: false` mean the agent is disabled. Update the agent inside HelloSkip or switch the data-agent-id.", }, { title: "Styling conflicts", detail: "AeThex injects a dedicated theme stylesheet. Ensure no additional overrides remove the `.skip-agent-*` classes or the gradient tokens defined in `global.css`.", }, ]; export default function DocsIntegrations() { return (
AeThex supports secure, theme-aware embeds for third-party agents and tools. This guide covers the HelloSkip support assistant that ships with the platform and outlines patterns you can reuse for future integrations.
The HelloSkip agent is lazily loaded at runtime from main.tsx using a
guarded fetch. Before executing the external runtime, AeThex performs a status preflight against
/api/agent/status. If the agent is unavailable, initialization is skipped to
prevent console noise.
On success, the script injects HelloSkip's global object and immediately calls
window.SkipAgent.embed with AeThex-specific sizing, copy, and z-index values.
A companion stylesheet applies the gradient, border, and focus treatments to match the site aesthetic.
AeThex provides a handcrafted theme in SKIP_AGENT_THEME. It uses the gradient
palette defined in global.css to restyle the floating launcher, tooltip, and
assistant container.
Add additional overrides by extending the same template literal and keeping selectors scoped to
.skip-agent-*. The embed only injects the style block once via the
createSkipAgentTheme helper.
To switch agents, update SKIP_AGENT_ID. If the HelloSkip host changes,
adjust SKIP_AGENT_SRC—the origin is derived automatically for status checks.
For full replacements, swap the fetch target to your new integration and continue calling the same
embedSkipAgent helper to retain theme and lifecycle management.
Manage integration documentation centrally in Builder CMS or export static knowledge base pages. Use the same theming primitives to embed other providers consistently across the platform.