first commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package tui
|
||||
|
||||
import (
|
||||
"github.com/smallnest/pigo/internal/agentcore"
|
||||
"github.com/smallnest/pigo/internal/plugin"
|
||||
"github.com/smallnest/pigo/internal/provider"
|
||||
"github.com/smallnest/pigo/internal/runtime"
|
||||
)
|
||||
|
||||
// Options carries the resolved run configuration into Run. It deliberately
|
||||
// mirrors repl.Options (see internal/cli/repl/interactive.go) field-for-field so
|
||||
// cmd/pigo's dispatch can map the same assembled environment to either path, and
|
||||
// so downstream nodes can port the REPL's session/live/slash/trust wiring into
|
||||
// the TUI without reshaping the entry seam. This skeleton node does not yet
|
||||
// consume most fields — they are here to lock the contract.
|
||||
type Options struct {
|
||||
Model string
|
||||
ProviderName string
|
||||
Provider provider.Provider
|
||||
BaseURL string
|
||||
APIKey string
|
||||
Protocol string
|
||||
// Version is the running build version (main.version), shown in the startup
|
||||
// banner. Empty or "dev"/"unknown" renders as-is with no update hint.
|
||||
Version string
|
||||
// ThinkingLevel is the resolved reasoning-effort level (US-023): it seeds the
|
||||
// live run config so every turn requests it, until a control command changes
|
||||
// it.
|
||||
ThinkingLevel agentcore.ThinkingLevel
|
||||
Tools []agentcore.AgentTool
|
||||
SysPrompt string
|
||||
|
||||
// ResumeID, when non-empty, resumes an existing session: its messages seed
|
||||
// the context and replayed transcript. Otherwise a fresh session is created.
|
||||
ResumeID string
|
||||
|
||||
// Approve, when true, grants the launch directory session trust before the
|
||||
// run so the first-launch trust prompt is skipped and side-effect tools run
|
||||
// without per-call confirmation (mirrors pi's --approve/-a).
|
||||
Approve bool
|
||||
// Skills is the pre-loaded skill set (loaded once by run.SetupEnv, shared with
|
||||
// prompt injection). Each is registered as a /skill-name command. Empty under
|
||||
// --no-skills, so nothing is registered.
|
||||
Skills []*runtime.Skill
|
||||
|
||||
// Plugins holds the loaded plugin manager so the TUI can deliver lifecycle
|
||||
// events to subscribed plugins (US-017, #133). It may be nil (no plugins).
|
||||
Plugins *plugin.Manager
|
||||
|
||||
// ConfigPrompts holds prompt-template paths from the config.toml `prompts`
|
||||
// array (settings tier); each is a file or dir loaded non-recursively.
|
||||
ConfigPrompts []string
|
||||
// CliPrompts holds --prompt-template paths (CLI tier, repeatable).
|
||||
CliPrompts []string
|
||||
// NoPromptTemplates disables all prompt-template discovery (global, project,
|
||||
// settings, CLI); built-in slash commands are unaffected. Independent of
|
||||
// --no-skills.
|
||||
NoPromptTemplates bool
|
||||
}
|
||||
Reference in New Issue
Block a user