/**
 * @claude-teams/agent-graph
 *
 * Force-directed graph visualization for agent teams.
 * Isolated package — depends only on React (peer) and d3-force.
 * Uses Port/Adapter pattern: host project provides data through port interfaces.
 */

// ─── Components ──────────────────────────────────────────────────────────────
export { GraphView } from './ui/GraphView';
export type { GraphViewProps } from './ui/GraphView';
export { ACTIVITY_ANCHOR_LAYOUT, ACTIVITY_LANE } from './layout/activityLane';
export { getTransientHandoffCardAlpha } from './ui/transientHandoffs';
export type { TransientHandoffCard } from './ui/transientHandoffs';

// ─── Port Interfaces (for adapters in host project) ─────────────────────────
export type { GraphDataPort } from './ports/GraphDataPort';
export type { GraphEventPort } from './ports/GraphEventPort';
export type { GraphConfigPort } from './ports/GraphConfigPort';

// ─── Port Types ──────────────────────────────────────────────────────────────
export type {
  GraphNode,
  GraphEdge,
  GraphParticle,
  GraphActivityItem,
  GraphOwnerSlotAssignment,
  GraphLayoutPort,
  GraphLayoutMode,
  GraphLayoutVersion,
  GraphNodeKind,
  GraphNodeState,
  GraphLaunchVisualState,
  GraphEdgeType,
  GraphParticleKind,
  GraphDomainRef,
} from './ports/types';
