package agent import runtimeevents "github.com/sipeed/picoclaw/pkg/events" // AgentLoopOption configures an AgentLoop at construction time. type AgentLoopOption func(*AgentLoop) // WithRuntimeEvents injects the runtime event bus used for new observation APIs. // // The injected bus is treated as externally owned and will not be closed by // AgentLoop.Close. Passing nil leaves the default owned runtime bus enabled. func WithRuntimeEvents(bus runtimeevents.Bus) AgentLoopOption { return func(al *AgentLoop) { if bus == nil { return } al.runtimeEvents = bus al.ownsRuntimeEvents = false } }