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) 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) 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 Pi
- func (p *Pi) Binary() string
- func (p *Pi) BinaryEnvVar() string
- func (p *Pi) BuildCmd(opts CmdOpts) 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) 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
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) 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) 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 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) 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.