Member Junction
    Preparing search index...

    Snapshot of the user's current application context. Injected into agent system prompts via the {{ appContext }} template variable.

    Designed to be lean — gives the LLM enough to act intelligently without bloating the prompt. Full details are available via client tools if needed.

    interface AppContextSnapshot {
        ActiveNavItem: NavItemSummary & { ResourceType?: string };
        AdditionalContext?: Record<string, unknown>;
        App: { Description: string; Name: string };
        Capabilities?: {
            Agents?: AppContextAgentRef[];
            Tools?: ClientToolMetadata[];
        };
        NavigableApps?: NavItemSummary[];
        OtherNavItems: NavItemSummary[];
        User: { Name: string; Roles: string[] };
        View?: {
            FreeText?: string;
            Selection?: { EntityName?: string; RecordIDs?: string[] };
            VisibleEntities?: string[];
        };
    }
    Index

    Properties

    ActiveNavItem: NavItemSummary & { ResourceType?: string }

    The nav item / tab the user is currently on

    Type Declaration

    • OptionalResourceType?: string

      Resource type (e.g., "Custom", "Dashboards", "Records")

    AdditionalContext?: Record<string, unknown>

    Additional context reported by the active view/component. Contains whatever state the current view wants the agent to know about — active tab, filter state, pipeline status, selected items, etc. Updated dynamically as the user interacts with the view.

    App: { Description: string; Name: string }

    The application the user is currently viewing

    Type Declaration

    • Description: string

      Application description

    • Name: string

      Application name (e.g., "Data Explorer", "Chat")

    Capabilities?: { Agents?: AppContextAgentRef[]; Tools?: ClientToolMetadata[] }

    The live capability manifest — names + descriptions only (the catalog, not handlers). Tells the co-agent which client tools and delegation targets are valid right now on this surface, without re-declaring provider tool schemas mid-session.

    Type Declaration

    • OptionalAgents?: AppContextAgentRef[]

      Currently-valid invoke_agent delegation targets.

    • OptionalTools?: ClientToolMetadata[]

      Currently-valid client tools (resolved by the unified client-tool resolver).

    NavigableApps?: NavItemSummary[]

    The OTHER applications the user can open from here (name + description). Distinct from OtherNavItems (which are sections WITHIN the current app). This is the list of valid AppName values for a NavigateToApp call — without it the co-agent can't know what to navigate to and ends up passing an undefined/guessed app name.

    OtherNavItems: NavItemSummary[]

    Other nav items available in the current app (name + description only)

    User: { Name: string; Roles: string[] }

    Basic user context

    Type Declaration

    • Name: string

      User display name

    • Roles: string[]

      User's assigned roles

    View?: {
        FreeText?: string;
        Selection?: { EntityName?: string; RecordIDs?: string[] };
        VisibleEntities?: string[];
    }

    What the user currently sees / has selected on the active surface. Additive (async consumers ignore it); populated by surfaces that opt in and streamed to the realtime co-agent over the ClientContextChannel.

    Type Declaration

    • OptionalFreeText?: string

      Free-text the surface wants the agent to know ("editing form X, field Y").

    • OptionalSelection?: { EntityName?: string; RecordIDs?: string[] }

      The user's current selection, if any.

    • OptionalVisibleEntities?: string[]

      Entity names currently visible on screen.