Documentation
¶
Overview ¶
Package agent provides the agent runtime pool and runner for processing tasks as goroutines with session lifecycle management and cost recording.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrPoolShutdown = errors.New("pool is shut down")
ErrPoolShutdown is returned when Submit is called on a shut-down pool.
Functions ¶
func BuildSystemPrompt ¶ added in v0.1.3
BuildSystemPrompt dispatches to per-agent-type prompt builders and appends file context when available. Agent types that are not AI-driven (human, orchestrator, dispatcher) return an empty string.
Types ¶
type Pool ¶
type Pool struct {
// contains filtered or unexported fields
}
Pool manages a fixed set of worker goroutines that process agent tasks.
func NewPool ¶
func NewPool(registry *provider.Registry, tracker forge.IssueTracker, st store.Store, costs *cost.Tracker, workers int) *Pool
NewPool creates a pool with the given number of worker goroutines and starts them immediately. If workers is <= 0, it defaults to 3.
func (*Pool) Done ¶
func (p *Pool) Done() <-chan struct{}
Done returns a channel that is closed after Shutdown completes.
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
Runner executes a single agent task: sends the issue to an AI provider, records cost, and posts the response as an issue comment.
func NewRunner ¶
func NewRunner(p provider.Provider, model string, tracker forge.IssueTracker, st store.Store, costs *cost.Tracker) *Runner
NewRunner creates a runner bound to a specific provider and model.
func (*Runner) Run ¶
Run processes a single task through the AI provider pipeline.
Steps:
- Update session status to "active"
- Check budget -- if exceeded, mark "failed" and return
- Build system prompt and chat request
- Call provider.Chat
- Record cost via cost tracker
- Post response as issue comment
- Mark session "completed"
On any error, the session is marked "failed" and an error comment is posted.