mix sagents.setup (Sagents v0.4.0)

Copy Markdown

Generates all infrastructure needed for conversation-centric agents.

This single command generates everything you need to get started with Sagents: database persistence, agent factory, and coordinator for managing agent lifecycles.

Examples

# Basic setup
mix sagents.setup MyApp.Conversations \
  --scope MyApp.Accounts.Scope

# With all options
mix sagents.setup MyApp.Conversations \
  --scope MyApp.Accounts.Scope \
  --owner-type user \
  --owner-field user_id \
  --factory MyApp.Agents.Factory \
  --coordinator MyApp.Agents.Coordinator \
  --pubsub MyApp.PubSub \
  --presence MyAppWeb.Presence

Generated files

  • Persistence layer: Context, schemas (Conversation, AgentState, DisplayMessage), migration
  • Factory module: Agent creation with model/middleware configuration
  • Coordinator module: Session management and agent lifecycle orchestration
  • AgentPersistence module: Behaviour implementation for agent state persistence
  • DisplayMessagePersistence module: Behaviour implementation for display message persistence

Options

  • --scope - Application scope module (required)
  • --owner-type - Owner association type (default: user)
  • --owner-field - Owner FK field (default: user_id)
  • --owner-module - Owner schema module (inferred from type)
  • --table-prefix - Table name prefix (default: sagents_)
  • --repo - Repo module (inferred from app)
  • --web - Web module namespace (inferred from app)
  • --factory - Factory module name (default: MyApp.Agents.Factory)
  • --coordinator - Coordinator module name (default: MyApp.Agents.Coordinator)
  • --pubsub - PubSub module name (default: MyApp.PubSub)
  • --presence - Presence module name (default: MyAppWeb.Presence)