first commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
// This file defines LiveConfig, the mutable run configuration a control command
|
||||
// may change mid-session. It was moved verbatim from cmd/pigo (the former
|
||||
// liveRunConfig) and exported so the run, repl, btw, status and goal
|
||||
// subpackages can read and mutate it through the Host contract. The run closure
|
||||
// reads it on every prompt, so a /model switch takes effect on the next turn.
|
||||
// It carries no lock: it is read and written only on the REPL's single main
|
||||
// goroutine (slash actions and the run are both invoked synchronously from the
|
||||
// REPL loop, never concurrently).
|
||||
package cli
|
||||
|
||||
import (
|
||||
"github.com/smallnest/pigo/internal/agentcore"
|
||||
"github.com/smallnest/pigo/internal/provider"
|
||||
)
|
||||
|
||||
// LiveConfig is the mutable run configuration a control command may change
|
||||
// mid-session.
|
||||
type LiveConfig struct {
|
||||
Model string
|
||||
ProviderName string
|
||||
Provider provider.Provider
|
||||
BaseURL string
|
||||
Protocol string
|
||||
// ThinkingLevel is the reasoning-effort level applied to each turn. It is
|
||||
// seeded from the resolved config chain and read on every prompt.
|
||||
ThinkingLevel agentcore.ThinkingLevel
|
||||
// ContextWindow is the model's total context-token budget, used to gate
|
||||
// automatic compaction. When 0 the window is unknown and auto-compaction is
|
||||
// disabled; the REPL seeds it with a conservative default so long sessions
|
||||
// still compact rather than overflow.
|
||||
ContextWindow int
|
||||
}
|
||||
|
||||
// DefaultContextWindow is the fallback context-token budget used when a model's
|
||||
// true window is unknown. It is deliberately large so auto-compaction only fires
|
||||
// on genuinely long sessions (threshold = window - ReserveTokens), never on
|
||||
// ordinary short exchanges.
|
||||
const DefaultContextWindow = 128000
|
||||
Reference in New Issue
Block a user