Make heartbeat config callbacks internal to AgentLoop
This commit is contained in:
parent
69dda3540c
commit
93a1551d2b
1 changed files with 8 additions and 8 deletions
|
|
@ -102,8 +102,8 @@ type AgentLoop struct {
|
||||||
promptDirty atomic.Bool // true = rebuild needed on next GetSystemPrompt read
|
promptDirty atomic.Bool // true = rebuild needed on next GetSystemPrompt read
|
||||||
OnStateChange func() // called on plan/session/skills mutations
|
OnStateChange func() // called on plan/session/skills mutations
|
||||||
OnUserMessage func() // called when a real user message is processed
|
OnUserMessage func() // called when a real user message is processed
|
||||||
SaveConfig func(*config.Config) error
|
saveConfig func(*config.Config) error
|
||||||
OnHeartbeatThreadUpdate func(int)
|
onHeartbeatThreadUpdate func(int)
|
||||||
orchBroadcaster *orch.Broadcaster // nil when --orchestration not set
|
orchBroadcaster *orch.Broadcaster // nil when --orchestration not set
|
||||||
orchReporter orch.AgentReporter // always non-nil (Noop when disabled)
|
orchReporter orch.AgentReporter // always non-nil (Noop when disabled)
|
||||||
}
|
}
|
||||||
|
|
@ -217,12 +217,12 @@ func (al *AgentLoop) notifyStateChange() {
|
||||||
|
|
||||||
// SetConfigSaver registers a callback used by slash commands that persist runtime config changes.
|
// SetConfigSaver registers a callback used by slash commands that persist runtime config changes.
|
||||||
func (al *AgentLoop) SetConfigSaver(fn func(*config.Config) error) {
|
func (al *AgentLoop) SetConfigSaver(fn func(*config.Config) error) {
|
||||||
al.SaveConfig = fn
|
al.saveConfig = fn
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetHeartbeatThreadUpdater registers a callback to apply runtime heartbeat thread updates.
|
// SetHeartbeatThreadUpdater registers a callback to apply runtime heartbeat thread updates.
|
||||||
func (al *AgentLoop) SetHeartbeatThreadUpdater(fn func(int)) {
|
func (al *AgentLoop) SetHeartbeatThreadUpdater(fn func(int)) {
|
||||||
al.OnHeartbeatThreadUpdate = fn
|
al.onHeartbeatThreadUpdate = fn
|
||||||
}
|
}
|
||||||
|
|
||||||
// registerSharedTools registers tools that are shared across all agents (web, message, spawn).
|
// registerSharedTools registers tools that are shared across all agents (web, message, spawn).
|
||||||
|
|
@ -3625,12 +3625,12 @@ func (al *AgentLoop) handleHeartbeatCommand(args []string, msg bus.InboundMessag
|
||||||
if al.state != nil {
|
if al.state != nil {
|
||||||
_ = al.state.SetHeartbeatTarget(fmt.Sprintf("telegram:%s", baseChatID))
|
_ = al.state.SetHeartbeatTarget(fmt.Sprintf("telegram:%s", baseChatID))
|
||||||
}
|
}
|
||||||
if al.OnHeartbeatThreadUpdate != nil {
|
if al.onHeartbeatThreadUpdate != nil {
|
||||||
al.OnHeartbeatThreadUpdate(threadID)
|
al.onHeartbeatThreadUpdate(threadID)
|
||||||
}
|
}
|
||||||
|
|
||||||
if al.SaveConfig != nil {
|
if al.saveConfig != nil {
|
||||||
if err := al.SaveConfig(al.cfg); err != nil {
|
if err := al.saveConfig(al.cfg); err != nil {
|
||||||
return fmt.Sprintf("Failed to persist config.json: %v", err), true
|
return fmt.Sprintf("Failed to persist config.json: %v", err), true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue