diff --git a/session/agent.go b/session/agent.go index 3c49e71..8a8fa02 100644 --- a/session/agent.go +++ b/session/agent.go @@ -28,9 +28,28 @@ type Agent struct { } // Backend returns the active backend from the runtime. -func (r *Agent) Backend() backend.Backend { - if r.runtime == nil { +func (ag *Agent) Backend() backend.Backend { + if ag.runtime == nil { return nil } - return r.runtime.Backend + return ag.runtime.Backend +} + +// Name returns the agent's name. +func (ag *Agent) Name() string { return ag.agentName } + +// BackendName returns the name of the active backend. +func (ag *Agent) BackendName() string { + if ag.runtime == nil || ag.runtime.Backend == nil { + return "" + } + return ag.runtime.Backend.Name() +} + +// ModelName returns the name of the active model. +func (ag *Agent) ModelName() string { + if ag.runtime == nil || ag.runtime.Backend == nil { + return "" + } + return ag.runtime.Backend.Model() } diff --git a/session/session.go b/session/session.go index 02d53e3..ce5df95 100644 --- a/session/session.go +++ b/session/session.go @@ -703,21 +703,24 @@ func (a *Session) ReactTo(responseID, emoji string) error { } func (a *Session) AgentName() string { - v := a.r.agentName + v := a.r.Name() a.log.Debug("AgentName() = %q", v) return v } func (a *Session) BackendName() string { - v := a.r.runtime.Backend.Name() + v := a.r.BackendName() a.log.Debug("BackendName() = %q", v) return v } func (a *Session) ModelName() string { - v := a.r.runtime.Backend.Model() + v := a.r.ModelName() a.log.Debug("ModelName() = %q", v) return v } +// Agent returns the active agent. +func (a *Session) Agent() *Agent { return a.r } + func (a *Session) State() string { return a.state }