agent

package
v0.0.0-...-820128f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package agent discovers and validates subagent definitions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Catalog

type Catalog struct {
	// contains filtered or unexported fields
}

Catalog is an immutable set of validated definitions.

func Load

func Load(cwd string) *Catalog

Load discovers project, user, and built-in definitions in precedence order.

func (*Catalog) Definitions

func (catalog *Catalog) Definitions() []Definition

Definitions returns definitions sorted by name.

func (*Catalog) Diagnostics

func (catalog *Catalog) Diagnostics() []Diagnostic

Diagnostics returns discovery diagnostics.

func (*Catalog) Get

func (catalog *Catalog) Get(name string) (Definition, bool)

Get resolves a definition by normalized name.

func (*Catalog) Len

func (catalog *Catalog) Len() int

Len returns the number of discovered definitions.

type Definition

type Definition struct {
	SourceInfo   core.SourceInfo `json:"source_info"`
	Model        ModelPolicy     `json:"model"`
	Name         string          `json:"name"`
	Description  string          `json:"description"`
	SystemPrompt string          `json:"system_prompt"`
	Permissions  PermissionMode  `json:"permissions"`
	Tools        []tool.Name     `json:"tools"`
	Limits       Limits          `json:"limits"`
}

Definition describes one invocable subagent execution profile.

type Diagnostic

type Diagnostic struct {
	Path    string `json:"path,omitempty"`
	Message string `json:"message"`
}

Diagnostic reports a skipped or shadowed agent definition.

type Limits

type Limits struct {
	Timeout time.Duration `json:"timeout,omitempty"`
}

Limits bounds one agent execution. Zero values inherit service defaults.

type ModelPolicy

type ModelPolicy struct {
	Provider string              `json:"provider,omitempty"`
	Model    string              `json:"model,omitempty"`
	Thinking model.ThinkingLevel `json:"thinking,omitempty"`
}

ModelPolicy optionally overrides the parent model selection.

type PermissionMode

type PermissionMode string

PermissionMode controls approval-required tools for background execution.

const (
	// PermissionInherit uses the parent execution's permission policy.
	PermissionInherit PermissionMode = "inherit"
	// PermissionDeny rejects approval-required tools.
	PermissionDeny PermissionMode = "deny"
	// PermissionAsk pauses for explicit approval.
	PermissionAsk PermissionMode = "ask"
	// PermissionAllow permits tools allowed by administrator policy.
	PermissionAllow PermissionMode = "allow"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL