SkillKit.Agent.Server (SkillKit v0.1.0)

Copy Markdown View Source

Core agent process. Drives the LLM loop and manages agent lifecycle.

Tool execution is delegated to SkillKit.Agent.ToolDispatch. The Server handles message flow, LLM streaming, conversation persistence, and subagent lifecycle via :DOWN monitoring.

The loop runs synchronously within handle_info({:mailbox_flush, ...}). Tool calls — including suspended ones — are fully resolved by ToolRunner before the Server continues the loop.

Summary

Functions

Returns a specification to start this module under a supervisor.

Types

t()

@type t() :: %SkillKit.Agent.Server{
  agent: SkillKit.Agent.t(),
  halted: boolean(),
  messages: list(),
  subagents: map()
}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(agent)