import type { JSONSchema } from "./refs"; import type { SerializedSuspendInfo } from "./machine"; import type { StandardNodeConfig } from "../executor/types"; export interface DisplayCommand { name: string; description: string; inputSchema: Record; } export interface DisplayPack { name: string; description: string; instructions?: string; instructionsDynamic?: boolean; state: unknown; validator: Record; commands: Record; } export interface DisplayNode { name: string; instructions: string; validator: JSONSchema; tools: string[]; transitions: Record; commands: Record; initialState?: unknown; packNames?: string[]; packs?: DisplayPack[]; worker?: boolean; executorConfig?: StandardNodeConfig; } export interface DisplayInstance { id: string; node: DisplayNode; state: unknown; children?: DisplayInstance[]; packs?: DisplayPack[]; packStates?: Record; suspended?: SerializedSuspendInfo; }