Documentation
¶
Index ¶
- Constants
- func InteractiveInvocation(name string, unattended bool, resumeSessionID string, extra ...string) (string, []string, bool)
- func SandboxFailure(err error) error
- type Agent
- type Chunk
- type Claude
- type CmdFactory
- type Codex
- type Cursor
- type Definition
- type ErrorKind
- type Failure
- type Gemini
- type Hermes
- type Ollama
- type OpenCode
- type RunOpts
- type Stream
Constants ¶
const DefaultOllamaModel = "qwen3:4b"
DefaultOllamaModel is small enough for a developer workstation while still supporting Ollama's native structured tool-call protocol. Keep the catalog and headless adapter on the same model so PTY and prompt behavior agree.
Variables ¶
This section is empty.
Functions ¶
func InteractiveInvocation ¶ added in v0.144.0
func InteractiveInvocation(name string, unattended bool, resumeSessionID string, extra ...string) (string, []string, bool)
InteractiveInvocation builds the executable and arguments for a PTY-backed agent. Resume subcommands include the requested session ID explicitly.
extra is passed through verbatim after everything Wingthing generates, so a caller can select a model or set any other agent flag without Wingthing having to model that agent's options. Later flags win in every supported CLI, so appending is what makes the passthrough an override.
func SandboxFailure ¶ added in v0.149.0
SandboxFailure wraps a diagnostic produced by Wingthing's own policy code.
Types ¶
type Claude ¶
type Claude struct {
// contains filtered or unexported fields
}
func (*Claude) ContextWindow ¶
type CmdFactory ¶
CmdFactory creates an exec.Cmd that may run inside a sandbox. When nil, agents fall back to exec.CommandContext.
type Codex ¶
type Codex struct {
// contains filtered or unexported fields
}
func (*Codex) ContextWindow ¶
type Cursor ¶
type Cursor struct {
// contains filtered or unexported fields
}
func (*Cursor) ContextWindow ¶
type Definition ¶ added in v0.144.0
type Definition struct {
Name string
Command string
InteractiveArgs []string
UnattendedArgs []string
ResumeFlag string
ResumeSubcommand bool
ProviderSubstitution bool // accepts a non-vendor/local provider endpoint without patching the harness
ReleaseCanary bool // covered by the opt-in provider-substitution release matrix
MaxParallel int // 0 means no agent-specific limit beyond the caller's budget
}
Definition is the executable contract Wingthing uses to discover and start an interactive coding agent. Headless prompt adapters live beside this catalog, but discovery and PTY launch must share this single source of truth.
func Definitions ¶ added in v0.144.0
func Definitions() []Definition
Definitions returns an isolated copy of the supported-agent catalog.
func LookupDefinition ¶ added in v0.144.0
func LookupDefinition(name string) (Definition, bool)
LookupDefinition resolves an agent name to its executable contract.
type ErrorKind ¶ added in v0.149.0
type ErrorKind string
const ( ProviderRefused ErrorKind = "provider_refused" AuthFailed ErrorKind = "auth_failed" RateLimited ErrorKind = "rate_limited" ContextExhausted ErrorKind = "context_exhausted" SandboxDenied ErrorKind = "sandbox_denied" ProviderError ErrorKind = "provider_error" ProviderExit ErrorKind = "provider_exit" ProviderNotReady ErrorKind = "provider_not_ready" Timeout ErrorKind = "timeout" Stopped ErrorKind = "stopped" UnknownOutcome ErrorKind = "unknown_outcome" InputConflict ErrorKind = "input_conflict" )
func ClassifyProviderDiagnostic ¶ added in v0.149.0
ClassifyProviderDiagnostic is for bounded transient native error diagnostics.
func ClassifyProviderFailure ¶ added in v0.149.0
ClassifyProviderFailure consumes native failure records without retaining diagnostics.
func FailureKind ¶ added in v0.149.0
type Failure ¶ added in v0.149.0
Failure contains only Wingthing-authored diagnostics. Provider messages are classification input and must never be retained in an error or its cause.
type Gemini ¶
type Gemini struct {
// contains filtered or unexported fields
}
func (*Gemini) ContextWindow ¶
type Hermes ¶ added in v0.144.0
type Hermes struct {
// contains filtered or unexported fields
}
Hermes adapts Nous Research's pure one-shot interface. `hermes -z` is deliberately machine-facing: one prompt in, final response on stdout, no banner/spinner/session preamble.
func (*Hermes) ContextWindow ¶ added in v0.144.0
type Ollama ¶
type Ollama struct {
// contains filtered or unexported fields
}
func (*Ollama) ContextWindow ¶
type OpenCode ¶ added in v0.121.0
type OpenCode struct {
// contains filtered or unexported fields
}
func NewOpenCode ¶ added in v0.121.0
func (*OpenCode) ContextWindow ¶ added in v0.121.0
type Stream ¶
type Stream struct {
// contains filtered or unexported fields
}
func NewTestStream ¶
NewTestStream creates a Stream pre-loaded with the given text, for testing.