Interface AgencySeatSpec

One seat of a team a GMI launched on the full runtime (launch_agency): what GMIManager.createAgencySeat builds. The launch passes the views the seat runs through, so the manager imports nothing of the launch.

interface AgencySeatSpec {
    seatSessionId: string;
    userId: string;
    persona: {
        personaId: string;
    } | {
        definition: IPersonaDefinition;
    };
    toolView: ((base) => IToolOrchestrator);
    providerManager?: ((base) => AIModelProviderManager);
    maxToolLoopIterations?: number;
}

Properties

seatSessionId: string

seat:<agencyId>:<role>; refused when a GMI already serves it. Until the seat is released no request acquires a GMI in it and no feedback reaches its GMI.

userId: string

The parent turn's user: the seat's tools and the tier check see it.

persona: {
    personaId: string;
} | {
    definition: IPersonaDefinition;
}

A registered persona, by id (a persistent member), or the definition a launch made for a temporary seat.

Type declaration

  • personaId: string

Type declaration

toolView: ((base) => IToolOrchestrator)

The seat's tool orchestrator: a view the launch makes over the shared one.

Type declaration

    • (base): IToolOrchestrator
    • Parameters

      • base: IToolOrchestrator

      Returns IToolOrchestrator

providerManager?: ((base) => AIModelProviderManager)

The seat's provider manager: a view the launch makes over the runtime's; the runtime's own when absent.

Type declaration

maxToolLoopIterations?: number

The seat's step limit; the GMI's default when absent.