@suluk/cockpit - v0.2.0
    Preparing search index...

    Interface AgentNodeView

    interface AgentNodeView {
        name: string;
        description: string;
        kind: "orchestrator" | "leaf";
        maxDepth?: number;
        effectiveScope: Scope;
        skills: AgentSkillView[];
        routes: AgentRouteView[];
        subAgents: string[];
        reachable: { tools: string[]; agents: string[] };
        projection: {
            pluginFiles: string[];
            openRouterTools: string[];
            residentTools: string[];
            discoverableTools: string[];
        };
        governed?: AgentGovernedView;
        context: AgentContextLoad;
        modelSelection?: {
            skill: string;
            from?: "declared"
            | "selected";
            ids?: string[];
            resolve?: "pinned" | "router" | "latest";
            pickPinned?: boolean;
            decidingPreference?: string;
            coverageGaps?: string[];
            error?: string;
        }[];
    }
    Index

    Properties

    name: string
    description: string
    kind: "orchestrator" | "leaf"

    an orchestrator has sub-agents; a leaf does not (the recursion base case).

    maxDepth?: number
    effectiveScope: Scope

    scope after INTERSECTION along the reaching path (null = unconstrained).

    skills: AgentSkillView[]
    routes: AgentRouteView[]
    subAgents: string[]
    reachable: { tools: string[]; agents: string[] }

    worst-case statically-enumerable reach (tools + transitively-reachable sub-agents).

    projection: {
        pluginFiles: string[];
        openRouterTools: string[];
        residentTools: string[];
        discoverableTools: string[];
    }

    OBSERVE-only preview of what projection WOULD emit — names, never executed, never credentialed.

    operator governance diff (C028) — present only when an x-suluk-policy governs this agent.

    context: AgentContextLoad

    estimated default context load (resident instructions+tools+overhead) vs budget/window — the unflatten check (C027).

    modelSelection?: {
        skill: string;
        from?: "declared" | "selected";
        ids?: string[];
        resolve?: "pinned" | "router" | "latest";
        pickPinned?: boolean;
        decidingPreference?: string;
        coverageGaps?: string[];
        error?: string;
    }[]

    per-skill model pick (C027 × @suluk/models) — present only when agentsView is given a catalog. OBSERVE-only: "why this model" (declared vs selected, top ids, deciding preference, UNKNOWN-coverage gaps). Never executes.