first commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
// This file makes replDeps satisfy cli.Host: the accessor and mutator methods
|
||||
// let the /goal, /btw, /status and REPL logic reach the session's collaborators
|
||||
// and mutable state through the cli.Host contract rather than the concrete
|
||||
// aggregate. The compile-time assertion below fails the build if replDeps drifts
|
||||
// out of conformance.
|
||||
package repl
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"sync"
|
||||
|
||||
"github.com/smallnest/pigo/internal/agentcore"
|
||||
"github.com/smallnest/pigo/internal/agenttool"
|
||||
"github.com/smallnest/pigo/internal/cli"
|
||||
"github.com/smallnest/pigo/internal/cli/run"
|
||||
"github.com/smallnest/pigo/internal/hooks"
|
||||
"github.com/smallnest/pigo/internal/plugin"
|
||||
"github.com/smallnest/pigo/internal/provider"
|
||||
"github.com/smallnest/pigo/internal/runtime"
|
||||
"github.com/smallnest/pigo/internal/session"
|
||||
"github.com/smallnest/pigo/internal/trust"
|
||||
)
|
||||
|
||||
var _ cli.Host = (*replDeps)(nil)
|
||||
|
||||
func (d *replDeps) Store() *session.Store { return d.store }
|
||||
func (d *replDeps) Header() session.SessionHeader { return d.header }
|
||||
func (d *replDeps) AgentCtx() *agentcore.AgentContext { return d.agentCtx }
|
||||
func (d *replDeps) Live() *cli.LiveConfig { return d.live }
|
||||
func (d *replDeps) Registry() *agenttool.ToolRegistry { return d.reg }
|
||||
func (d *replDeps) Reminders() *runtime.ReminderRegistry { return d.reminders }
|
||||
func (d *replDeps) Slash() *runtime.SlashRegistry { return d.slash }
|
||||
func (d *replDeps) Creds() *provider.CredentialStore { return d.creds }
|
||||
func (d *replDeps) Notifier() *plugin.EventNotifier { return d.notifier }
|
||||
func (d *replDeps) NotifierHandle() func(agentcore.AgentEvent) { return d.notifierHandle() }
|
||||
func (d *replDeps) Trust() *trust.Manager { return d.trust }
|
||||
func (d *replDeps) Goal() *agenttool.GoalState { return d.goal }
|
||||
func (d *replDeps) Telemetry() *cli.TelemetryHolder { return d.telemetry }
|
||||
func (d *replDeps) Dispatcher() *hooks.Dispatcher { return d.dispatcher }
|
||||
func (d *replDeps) HookDeps() run.HookDeps { return d.hookDeps }
|
||||
func (d *replDeps) Cwd() string { return d.cwd }
|
||||
func (d *replDeps) Input() *bufio.Reader { return d.in }
|
||||
func (d *replDeps) ConfirmMu() *sync.Mutex { return d.confirmMu }
|
||||
|
||||
func (d *replDeps) CurLeaf() string { return d.curLeaf }
|
||||
func (d *replDeps) SetCurLeaf(id string) { d.curLeaf = id }
|
||||
func (d *replDeps) Persisted() int { return d.persisted }
|
||||
func (d *replDeps) SetPersisted(n int) { d.persisted = n }
|
||||
|
||||
func (d *replDeps) LastBtw() *agentcore.AgentContext { return d.lastBtw }
|
||||
func (d *replDeps) SetLastBtw(ctx *agentcore.AgentContext) { d.lastBtw = ctx }
|
||||
func (d *replDeps) LastBtwBase() int { return d.lastBtwBase }
|
||||
func (d *replDeps) SetLastBtwBase(n int) { d.lastBtwBase = n }
|
||||
Reference in New Issue
Block a user