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 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"`
}
Click to show internal directories.
Click to hide internal directories.