Function sessionSeat

  • Seats a persistent gmi() agent in an agency as itself: its own persona, cognition profile, tools and learning config, through a session of its own handle. The session opens on the seat's first call and runs every call of the run, so a manager that delegates twice to the seat finds the first exchange. The session's memory is scoped to the seat session and it has no learner: a team turn's input is a manager's or a sibling's text. Each call of the session is checked against, and charged to, the member's own budget beside the budget the agency's call carries, and a refusal by the member's own runs the carried budget's onLimitReached function, as a refusal by that budget's parent does. agency().close() closes the seat's session and leaves the member serving its own users.

    Parameters

    • member: Agent

      A gmi() handle (gmi() or agent({ runtime: 'gmi' })).

    • options: SessionSeatOptions = {}

      The seat's session id, description, dependencies, tool names and brief.

    Returns SeatHandle

    A roster member for agency({ agents }).

    Throws

    For a member that is not a gmi() handle, a brief that is not text or is over 1,000 characters, a dependsOn that is not a list of seat names (null is unset), or a tools entry the member does not have, that never runs in a seat (a self-modification or memory tool), that is launch_agency (only a launch gives a seat that tool), or that is a composed tool whose steps are not all among tools. Only these five options are read: an options object's other keys change nothing.