Documentation
¶
Index ¶
- type Agent
- type AgentConfig
- type Claude
- func (c *Claude) Binary() string
- func (c *Claude) BinaryEnvVar() string
- func (c *Claude) BuildCmd(opts CmdOpts) string
- func (c *Claude) Description() string
- func (c *Claude) DisplayName() string
- func (c *Claude) EnvVar() string
- func (c *Claude) FallbackPath() string
- func (c *Claude) FilterPaneLines(raw string, max int) []string
- func (c *Claude) MasterPrompt() string
- func (c *Claude) Name() string
- func (c *Claude) PreLaunchSetup(ctx context.Context, client TmuxClient, session string) error
- func (c *Claude) ResumeFileName() string
- func (c *Claude) ResumeKey() string
- func (c *Claude) StandalonePrompt() string
- func (c *Claude) WorkerPrompt() string
- type CmdOpts
- type Codex
- func (c *Codex) Binary() string
- func (c *Codex) BinaryEnvVar() string
- func (c *Codex) BuildCmd(opts CmdOpts) string
- func (c *Codex) Description() string
- func (c *Codex) DisplayName() string
- func (c *Codex) EnvVar() string
- func (c *Codex) FallbackPath() string
- func (c *Codex) FilterPaneLines(raw string, max int) []string
- func (c *Codex) MasterPrompt() string
- func (c *Codex) Name() string
- func (c *Codex) PreLaunchSetup(_ context.Context, _ TmuxClient, _ string) error
- func (c *Codex) ResumeFileName() string
- func (c *Codex) ResumeKey() string
- func (c *Codex) StandalonePrompt() string
- func (c *Codex) WorkerPrompt() string
- type Config
- type ConfigOverrides
- type Omp
- func (o *Omp) Binary() string
- func (o *Omp) BinaryEnvVar() string
- func (o *Omp) BuildCmd(opts CmdOpts) string
- func (o *Omp) Description() string
- func (o *Omp) DisplayName() string
- func (o *Omp) EnvVar() string
- func (o *Omp) FallbackPath() string
- func (o *Omp) FilterPaneLines(raw string, max int) []string
- func (o *Omp) MasterPrompt() string
- func (o *Omp) Name() string
- func (o *Omp) PreLaunchSetup(_ context.Context, _ TmuxClient, _ string) error
- func (o *Omp) ResumeFileName() string
- func (o *Omp) ResumeKey() string
- func (o *Omp) StandalonePrompt() string
- func (o *Omp) WorkerPrompt() string
- type Pi
- func (p *Pi) Binary() string
- func (p *Pi) BinaryEnvVar() string
- func (p *Pi) BuildCmd(opts CmdOpts) string
- func (p *Pi) Description() string
- func (p *Pi) DisplayName() string
- func (p *Pi) EnvVar() string
- func (p *Pi) FallbackPath() string
- func (p *Pi) FilterPaneLines(raw string, max int) []string
- func (p *Pi) MasterPrompt() string
- func (p *Pi) Name() string
- func (p *Pi) PreLaunchSetup(_ context.Context, _ TmuxClient, _ string) error
- func (p *Pi) ResumeFileName() string
- func (p *Pi) ResumeKey() string
- func (p *Pi) StandalonePrompt() string
- func (p *Pi) WorkerPrompt() string
- type Registry
- type Role
- type RoleBinding
- type RoleConfig
- type RolesConfig
- type SessionRole
- type Stub
- func (s *Stub) Binary() string
- func (s *Stub) BinaryEnvVar() string
- func (s *Stub) BuildCmd(CmdOpts) string
- func (s *Stub) Description() string
- func (s *Stub) DisplayName() string
- func (s *Stub) EnvVar() string
- func (s *Stub) FallbackPath() string
- func (s *Stub) FilterPaneLines(raw string, max int) []string
- func (s *Stub) MasterPrompt() string
- func (s *Stub) Name() string
- func (s *Stub) PreLaunchSetup(context.Context, TmuxClient, string) error
- func (s *Stub) ResumeFileName() string
- func (s *Stub) ResumeKey() string
- func (s *Stub) StandalonePrompt() string
- func (s *Stub) WorkerPrompt() string
- type TmuxClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent interface {
Name() string
DisplayName() string
// Description is a one-line blurb of what the harness is good for, used to
// assemble the master prompt's harness guide. Each agent owns its own copy
// in its provider source file; return "" to omit it from the guide.
Description() string
Binary() string
BuildCmd(opts CmdOpts) string
ResumeKey() string
ResumeFileName() string
EnvVar() string
MasterPrompt() string
StandalonePrompt() string
WorkerPrompt() string
FilterPaneLines(raw string, max int) []string
PreLaunchSetup(ctx context.Context, client TmuxClient, session string) error
BinaryEnvVar() string
FallbackPath() string
}
Agent represents any CLI coding agent that can run in a tmux pane.
type AgentConfig ¶
type AgentConfig struct {
CLI string `toml:"cli"`
}
AgentConfig describes one configured agent provider.
type Claude ¶
type Claude struct {
// contains filtered or unexported fields
}
Claude implements the built-in Claude provider.
func NewClaude ¶
func NewClaude(cfg AgentConfig) *Claude
NewClaude constructs a Claude provider from config.
func (*Claude) BinaryEnvVar ¶
func (*Claude) Description ¶ added in v0.3.12
func (*Claude) DisplayName ¶
func (*Claude) FallbackPath ¶
func (*Claude) MasterPrompt ¶
func (*Claude) PreLaunchSetup ¶
func (*Claude) ResumeFileName ¶
func (*Claude) StandalonePrompt ¶
func (*Claude) WorkerPrompt ¶
type CmdOpts ¶
type CmdOpts struct {
Binary string
AgentPath string
ResumeID string
Prompt string
SystemBrief string
Title string
Role SessionRole
}
CmdOpts controls agent launch command construction.
Prompt is an initial user-turn message injected after launch (what the user would type first). SystemBrief is appended after the standalone or worker system prompt so rare session-specific overrides still load as persistent identity rather than conversational input.
type Codex ¶
type Codex struct {
// contains filtered or unexported fields
}
Codex implements the built-in Codex provider.
func NewCodex ¶
func NewCodex(cfg AgentConfig) *Codex
NewCodex constructs a Codex provider from config.
func (*Codex) BinaryEnvVar ¶
func (*Codex) Description ¶ added in v0.3.12
func (*Codex) DisplayName ¶
func (*Codex) FallbackPath ¶
func (*Codex) MasterPrompt ¶
func (*Codex) PreLaunchSetup ¶
func (*Codex) ResumeFileName ¶
func (*Codex) StandalonePrompt ¶
func (*Codex) WorkerPrompt ¶
type Config ¶
type Config struct {
Agents map[string]AgentConfig `toml:"agents"`
Roles RolesConfig `toml:"roles"`
}
Config is the resolved questmaster agent configuration.
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig returns the built-in Claude primary layout.
func LoadConfig ¶
func LoadConfig(overrides *ConfigOverrides) (*Config, error)
LoadConfig returns the built-in config with optional per-session role overrides applied.
type ConfigOverrides ¶
type ConfigOverrides struct {
Primary string
}
ConfigOverrides are per-session role overrides.
type Omp ¶ added in v0.3.12
type Omp struct {
// contains filtered or unexported fields
}
Omp implements the built-in oh-my-pi provider.
oh-my-pi (binary `omp`) is a fork of Pi with the same launch-flag surface, so the command construction mirrors the Pi provider. Two deliberate differences: (1) omp's --append-system-prompt is a last-wins scalar rather than a repeatable flag, so the role prompt and per-session brief are merged into a single value; (2) master sessions request `--thinking xhigh`, which omp supports (Pi tops out at the level questmaster passes it).
Structured omp read output is handled by internal/message via hook state emitted by the activity sidecar (internal/hooks/assets/omp-activity-sidecar.ts); FilterPaneLines remains the generic fallback for other callers.
func NewOmp ¶ added in v0.3.12
func NewOmp(cfg AgentConfig) *Omp
NewOmp constructs an oh-my-pi provider from config.
func (*Omp) BinaryEnvVar ¶ added in v0.3.12
func (*Omp) Description ¶ added in v0.3.12
func (*Omp) DisplayName ¶ added in v0.3.12
func (*Omp) FallbackPath ¶ added in v0.3.12
func (*Omp) FilterPaneLines ¶ added in v0.3.12
func (*Omp) MasterPrompt ¶ added in v0.3.12
func (*Omp) PreLaunchSetup ¶ added in v0.3.12
func (*Omp) ResumeFileName ¶ added in v0.3.12
func (*Omp) StandalonePrompt ¶ added in v0.3.12
func (*Omp) WorkerPrompt ¶ added in v0.3.12
type Pi ¶
type Pi struct {
// contains filtered or unexported fields
}
Pi implements the built-in Pi provider.
Structured Pi read output is handled by internal/message via hook state; FilterPaneLines remains the generic fallback for other callers.
func (*Pi) BinaryEnvVar ¶
func (*Pi) Description ¶ added in v0.3.12
func (*Pi) DisplayName ¶
func (*Pi) FallbackPath ¶
func (*Pi) MasterPrompt ¶
func (*Pi) PreLaunchSetup ¶
func (*Pi) ResumeFileName ¶
func (*Pi) StandalonePrompt ¶
func (*Pi) WorkerPrompt ¶
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry resolves configured role bindings to built-in agent providers.
func NewRegistry ¶
NewRegistry builds a registry from a loaded config.
func (*Registry) Bindings ¶
func (r *Registry) Bindings() []*RoleBinding
Bindings returns configured role bindings in primary-first order.
func (*Registry) ForRole ¶
func (r *Registry) ForRole(role Role) (*RoleBinding, error)
ForRole returns the binding for a configured role.
type Role ¶
type Role string
Role identifies a logical agent slot in a session.
const (
RolePrimary Role = "primary"
)
type RoleBinding ¶
RoleBinding maps a role to an agent and tmux layout position.
type RoleConfig ¶
RoleConfig configures a single role binding.
type RolesConfig ¶
type RolesConfig struct {
Primary *RoleConfig `toml:"primary"`
}
RolesConfig maps abstract roles to concrete agents.
type SessionRole ¶
type SessionRole int
SessionRole identifies the session type that determines the system prompt.
const ( RoleStandalone SessionRole = iota RoleMaster RoleWorker )
type Stub ¶
type Stub struct {
// contains filtered or unexported fields
}
Stub is a minimal reference provider for future agent adapters.