import { useEffect, useState } from 'react' import { Link } from 'react-router-dom' import { getActorWorkload } from '../../api/workspace.js' import { createActor, listActors } from '../../api/actors.js' import { useSession } from '../../context/SessionContext.jsx' import { ModeShell } from '../../components/ModeShell.jsx' import { LoadingState } from '../../components/LoadingState.jsx' import { ErrorState } from '../../components/ErrorState.jsx' import { scopedPath } from '../../utils/routes.js' const ACTOR_TYPE_LABELS = { human: 'Person', agent: 'Agent / Vibe-Coder', working_group: 'Gruppe', external_system: 'Externes System', } export function TeamPage() { const { hasCapability } = useSession() const [rows, setRows] = useState(null) const [actors, setActors] = useState([]) const [error, setError] = useState(null) const [agentName, setAgentName] = useState('') const [busy, setBusy] = useState(false) async function load() { setError(null) try { const [workload, directory] = await Promise.all([ getActorWorkload(), listActors({ include_inactive: false }), ]) setRows(workload) setActors(directory) } catch (err) { setError(err.message) } } useEffect(() => { load() }, []) async function handleCreateAgent(e) { e.preventDefault() const name = agentName.trim() if (!name) return setBusy(true) try { await createActor({ name, actor_type: 'agent' }) setAgentName('') await load() } catch (err) { setError(err.message) } finally { setBusy(false) } } const canManage = hasCapability('kairo.actor.manage') return (
Keine Actors im Tenant.
) : (Keine Zuweisungen im Portfolio.
) : (