54 lines
2.9 KiB
Go
54 lines
2.9 KiB
Go
// 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 }
|