Nous.Teams.Supervisor (nous v0.15.5)

View Source

Per-team Supervisor that manages team infrastructure processes.

Started dynamically under Nous.AgentDynamicSupervisor for each team. Supervises the Coordinator, SharedState, optional RateLimiter, and the team's agent DynamicSupervisor.

Architecture

Nous.AgentDynamicSupervisor (existing)
 Nous.Teams.Supervisor (one per team)
     Nous.Teams.Coordinator
     Nous.Teams.SharedState
     Nous.Teams.RateLimiter (optional)
     DynamicSupervisor (team's agent processes)

Quick Start

{:ok, pid} = Nous.Teams.Supervisor.start_link(
  team_id: "team_1",
  team_name: "Research Team",
  pubsub: MyApp.PubSub
)

Summary

Functions

Returns a specification to start this module under a supervisor.

Start the team supervisor.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(opts)

@spec start_link(keyword()) :: Supervisor.on_start()

Start the team supervisor.

Options

  • :team_id (required) — unique identifier for the team
  • :team_name — human-readable team name (default: team_id)
  • :pubsub — PubSub module for messaging
  • :budget — team budget in USD (enables RateLimiter)
  • :per_agent_budget — per-agent budget in USD
  • :rpm — requests per minute limit
  • :tpm — tokens per minute limit
  • :name — optional Supervisor name