import { UserPlus, Lightbulb, ShieldAlert, ShieldCheck } from "lucide-react"; import { formatCents } from "../lib/utils"; export const typeLabel: Record = { hire_agent: "Hire Agent", approve_ceo_strategy: "CEO Strategy", budget_override_required: "Budget Override", }; export const typeIcon: Record = { hire_agent: UserPlus, approve_ceo_strategy: Lightbulb, budget_override_required: ShieldAlert, }; export const defaultTypeIcon = ShieldCheck; function PayloadField({ label, value }: { label: string; value: unknown }) { if (!value) return null; return (
{label} {String(value)}
); } export function HireAgentPayload({ payload }: { payload: Record }) { return (
Name {String(payload.name ?? "โ€”")}
{!!payload.capabilities && (
Capabilities {String(payload.capabilities)}
)} {!!payload.adapterType && (
Adapter {String(payload.adapterType)}
)}
); } export function CeoStrategyPayload({ payload }: { payload: Record }) { const plan = payload.plan ?? payload.description ?? payload.strategy ?? payload.text; return (
{!!plan && (
{String(plan)}
)} {!plan && (
          {JSON.stringify(payload, null, 2)}
        
)}
); } export function BudgetOverridePayload({ payload }: { payload: Record }) { const budgetAmount = typeof payload.budgetAmount === "number" ? payload.budgetAmount : null; const observedAmount = typeof payload.observedAmount === "number" ? payload.observedAmount : null; return (
{(budgetAmount !== null || observedAmount !== null) ? (
Limit {budgetAmount !== null ? formatCents(budgetAmount) : "โ€”"} ยท Observed {observedAmount !== null ? formatCents(observedAmount) : "โ€”"}
) : null} {!!payload.guidance && (

{String(payload.guidance)}

)}
); } export function ApprovalPayloadRenderer({ type, payload }: { type: string; payload: Record }) { if (type === "hire_agent") return ; if (type === "budget_override_required") return ; return ; }