Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
New registers runner: Root plugin: connects Platform to Loop and owns process lifecycle.
Best practices:
- Platforms emit delivery SessionIDs; runner applies sessionScope and agent routing before dispatch.
- Ordering within a session is preserved at any concurrency; only cross-session turns overlap.
- A panicking or failing turn is reported on its session and never kills the process.
Types ¶
type Config ¶
type Config struct {
// ShutdownTimeoutSeconds bounds how long shutdown waits for in-flight turns
// to finish. 0 waits indefinitely.
ShutdownTimeoutSeconds int `json:"shutdownTimeoutSeconds"`
// SessionScope collapses platform delivery SessionIDs for Loop locking and
// history: "channel" (default), "thread", or "user".
SessionScope string `json:"sessionScope"`
// MaxConcurrentTurns caps how many turns run at once across distinct effective
// sessions. Defaults to 64. Ordering within one session is always preserved.
MaxConcurrentTurns int `json:"maxConcurrentTurns"`
}
type Deps ¶
type Deps struct {
Platform agentkit.Platform `json:"platform"`
Loop agentkit.Loop `json:"loop"`
SessionStore agentkit.SessionStore `json:"sessionStore,omitempty"`
Schedules []capschedule.Runtime `json:"schedules,omitempty"`
Telemetry telemetry.Exporter `json:"telemetry,omitempty"`
}
type Root ¶
type Root struct {
// contains filtered or unexported fields
}
func (*Root) Loop ¶
Loop exposes the turn scheduler so RPC/TUI integrations can steer or queue follow-ups; agentkit.Loop already carries Steer/FollowUp.
func (*Root) SessionStore ¶ added in v0.1.6
func (r *Root) SessionStore() agentkit.SessionStore
SessionStore returns the durable session backend used for routing and bindings.
Click to show internal directories.
Click to hide internal directories.