Versions in this module Expand all Collapse all v0 v0.0.7 Jun 4, 2026 v0.0.6 Jun 3, 2026 Changes in this version type CreateOpts + Permissions aghconfig.PermissionMode type Session + EffectivePermissions string type SyntheticPromptOpts + InterruptIfAgentWaiting bool v0.0.5 May 29, 2026 v0.0.4 May 27, 2026 v0.0.3 May 27, 2026 Changes in this version type SpawnOpts + Model string v0.0.2 May 27, 2026 v0.0.1 May 26, 2026retracted Changes in this version + const DefaultLivenessStallAfter + const DefaultSpawnMaxChildren + const DefaultSpawnMaxDepth + const DefaultSpawnRole + const EventTypeSessionStopped + const RepairActionAppendInterruptedToolResult + const RepairActionAppendTerminalError + const RepairIssueDanglingToolCallMissingID + const RepairIssueEventTypeMismatch + const RepairIssueInvalidEventJSON + const RepairIssueNoRepairableTurn + const RepairIssueSequenceDuplicate + const RepairIssueSequenceGap + const RepairIssueSequenceRegression + const RepairIssueSessionNotStopped + const RepairIssueStopReasonRequiresForce + const RepairIssueTerminalEventAlreadyExists + const RepairSeverityError + const RepairSeverityInfo + const RepairSeverityWarning + const SpawnRoleMemoryExtractor + var ErrInvalidPermissionDecision = errors.New("session: invalid permission decision") + var ErrInvalidRuntimeOverride = errors.New("session: invalid runtime override") + var ErrInvalidStateTransition = errors.New("session: invalid state transition") + var ErrPendingPermissionConflict = errors.New("session: pending permission lookup is ambiguous") + var ErrPendingPermissionNotFound = errors.New("session: pending permission not found") + var ErrPromptInProgress = errors.New("session: prompt already in progress") + var ErrPromptNotInProgress = errors.New("session: prompt is not in progress") + var ErrScopedInterruptNotFound = toolruntime.ErrProcessNotFound + var ErrSessionNotActive = errors.New("session: session is not active") + var ErrSessionNotFound = errors.New("session: session not found") + var ErrSoulRefreshConflict = errors.New("session: soul refresh conflict") + var ErrSoulRefreshDigestConflict = errors.New("session: soul refresh expected digest conflict") + var ErrSpawnLimitExceeded = errors.New("session: spawn limit exceeded") + var ErrSpawnPermissionDenied = errors.New("session: spawn permission denied") + var ErrSpawnValidation = errors.New("session: spawn validation failed") + var SupportedReasoningEfforts = []string + func AnnotateUnpersistedRecovery(meta store.SessionMeta, err error) store.SessionMeta + func AttachableForInfo(info *Info, now time.Time) bool + func ClassifyInactiveMetaForRecovery(now time.Time, meta store.SessionMeta) (store.SessionMeta, bool) + func IsSupportedReasoningEffort(value string) bool + func RepairLegacyProvider(ctx context.Context, metaPath string, meta store.SessionMeta, ...) (store.SessionMeta, error) + func ValidatePermissionSubset(parent store.SessionPermissionPolicy, child store.SessionPermissionPolicy) error + func ValidateReasoningEffort(value string) error + type ACPDriverAdapter struct + func NewACPDriverAdapter(driver *acp.Driver) *ACPDriverAdapter + func (a *ACPDriverAdapter) Cancel(ctx context.Context, proc *AgentProcess) error + func (a *ACPDriverAdapter) Interrupt(ctx context.Context, sessionID string, turnID string) (toolruntime.InterruptReport, error) + func (a *ACPDriverAdapter) Prompt(ctx context.Context, proc *AgentProcess, req acp.PromptRequest) (<-chan acp.AgentEvent, error) + func (a *ACPDriverAdapter) Start(ctx context.Context, opts acp.StartOpts) (*AgentProcess, error) + func (a *ACPDriverAdapter) Stop(ctx context.Context, proc *AgentProcess) error + type AgentArtifactResolver interface + ResolveAgentArtifacts func(name string, resolved *workspacepkg.ResolvedWorkspace) (AgentArtifacts, error) + type AgentArtifacts struct + Agent aghconfig.AgentDef + HeartbeatBody string + HeartbeatSourcePath string + OwnerID string + OwnerKind string + PackageOwned bool + ResourceID string + Scope resources.ResourceScope + SoulBody string + SoulSourcePath string + type AgentDriver interface + Cancel func(ctx context.Context, proc *AgentProcess) error + Prompt func(ctx context.Context, proc *AgentProcess, req acp.PromptRequest) (<-chan acp.AgentEvent, error) + Start func(ctx context.Context, opts acp.StartOpts) (*AgentProcess, error) + Stop func(ctx context.Context, proc *AgentProcess) error + type AgentEventNotifier interface + OnAgentEventForSession func(ctx context.Context, session *Session, event any) + type AgentHooks interface + DispatchAgentCrashed func(context.Context, hookspkg.AgentCrashedPayload) (hookspkg.AgentCrashedPayload, error) + DispatchAgentPreStart func(context.Context, hookspkg.AgentPreStartPayload) (hookspkg.AgentPreStartPayload, error) + DispatchAgentSpawned func(context.Context, hookspkg.AgentSpawnedPayload) (hookspkg.AgentSpawnedPayload, error) + DispatchAgentStopped func(context.Context, hookspkg.AgentStoppedPayload) (hookspkg.AgentStoppedPayload, error) + type AgentProcess struct + AgentName string + Args []string + Caps acp.Caps + Command string + Cwd string + PID int + SessionID string + StartedAt time.Time + func NewAgentProcess(opts AgentProcessOptions) *AgentProcess + func (p *AgentProcess) ApprovePermission(ctx context.Context, req acp.ApproveRequest) error + func (p *AgentProcess) CapsSnapshot() acp.Caps + func (p *AgentProcess) Done() <-chan struct{} + func (p *AgentProcess) HealthState() (subprocess.HealthState, bool) + func (p *AgentProcess) RequestPermission(ctx context.Context, req acp.RequestPermissionRequest) (acp.RequestPermissionResponse, error) + func (p *AgentProcess) Stderr() string + func (p *AgentProcess) ToolHost() sandbox.ToolHost + func (p *AgentProcess) Wait() error + type AgentProcessOptions struct + AgentName string + ApprovePermission func(context.Context, acp.ApproveRequest) error + Args []string + Caps acp.Caps + CapsSnapshot func() acp.Caps + Command string + ConfigureRuntime func(func() TurnSource) + Cwd string + Done <-chan struct{} + HealthState func() subprocess.HealthState + PID int + RequestPermission func(context.Context, acp.RequestPermissionRequest) (acp.RequestPermissionResponse, error) + SessionID string + StartedAt time.Time + Stderr func() string + ToolHost sandbox.ToolHost + Wait func() error + type AgentResolver interface + ResolveAgent func(name string, resolved *workspacepkg.ResolvedWorkspace) (aghconfig.AgentDef, error) + type AuthoredContextHooks interface + DispatchSessionHealthUpdateAfter func(context.Context, hookspkg.SessionHealthUpdateAfterPayload) (hookspkg.SessionHealthUpdateAfterPayload, error) + type Badge string + const BadgeFailed + const BadgeHung + const BadgeIdle + const BadgeRunning + const BadgeStopped + const BadgeUnhealthy + const BadgeUnknown + const BadgeWaitingForAuth + func BadgeForHealth(info *Info, health heartbeat.SessionHealth) Badge + func BadgeForInfo(info *Info) Badge + func CanonicalBadge(input BadgeInputs) Badge + type BadgeInputs struct + ActivePrompt bool + Failure *store.SessionFailure + Health heartbeat.SessionHealthStatus + HealthState heartbeat.SessionHealthState + IneligibilityReason string + PendingAuth bool + Stalled bool + State State + type BusyInputMode string + const BusyInputModeInterrupt + const BusyInputModeQueue + const BusyInputModeSteer + type CompactionHooks interface + DispatchContextPostCompact func(context.Context, hookspkg.ContextPostCompactPayload) (hookspkg.ContextPostCompactPayload, error) + DispatchContextPreCompact func(context.Context, hookspkg.ContextPreCompactPayload) (hookspkg.ContextPreCompactPayload, error) + type ConversationHooks interface + DispatchMessageDelta func(context.Context, hookspkg.MessageDeltaPayload) (hookspkg.MessageDeltaPayload, error) + DispatchMessageEnd func(context.Context, hookspkg.MessageEndPayload) (hookspkg.MessageEndPayload, error) + DispatchMessageStart func(context.Context, hookspkg.MessageStartPayload) (hookspkg.MessageStartPayload, error) + DispatchSessionMessagePersisted func(context.Context, hookspkg.SessionMessagePersistedPayload) (hookspkg.SessionMessagePersistedPayload, error) + DispatchTurnEnd func(context.Context, hookspkg.TurnEndPayload) (hookspkg.TurnEndPayload, error) + DispatchTurnStart func(context.Context, hookspkg.TurnStartPayload) (hookspkg.TurnStartPayload, error) + type CreateOpts struct + AgentName string + Channel string + DisableSandbox bool + Lineage *store.SessionLineage + Model string + Name string + ParentSoulDigest string + PromptOverlay string + Provider string + ReasoningEffort string + SandboxRef string + Type Type + Workspace string + WorkspacePath string + type EventHooks interface + DispatchEventPostRecord func(context.Context, hookspkg.EventPostRecordPayload) (hookspkg.EventPostRecordPayload, error) + DispatchEventPreRecord func(context.Context, hookspkg.EventPreRecordPayload) (hookspkg.EventPreRecordPayload, error) + type EventRecorder = store.EventRecorder + type HealthRecoveryResult struct + MarkedStale int64 + Recomputed int + RefreshedActive int + type HealthStore interface + GetSessionHealth func(ctx context.Context, sessionID string) (heartbeat.SessionHealth, error) + ListSessionHealth func(ctx context.Context, query heartbeat.SessionHealthListQuery) ([]heartbeat.SessionHealth, error) + ListSessionHealthRecoveryInputs func(ctx context.Context, limit int) ([]heartbeat.SessionHealth, error) + MarkSessionHealthStale func(ctx context.Context, cutoff time.Time, updatedAt time.Time) (int64, error) + UpsertSessionHealth func(ctx context.Context, health heartbeat.SessionHealth) (heartbeat.SessionHealth, error) + type HookSet struct + Agent AgentHooks + AuthoredContext AuthoredContextHooks + Compaction CompactionHooks + Conversation ConversationHooks + Events EventHooks + Prompt PromptHooks + Sandbox SandboxHooks + Session LifecycleHooks + Spawn SpawnHooks + Tools ToolHooks + type HostedMCPLaunchRequest struct + AgentName string + SessionID string + WorkspaceID string + type HostedMCPLauncher interface + CancelLaunch func(sessionID string) + Launch func(ctx context.Context, req HostedMCPLaunchRequest) (aghconfig.MCPServer, error) + ReleaseSession func(sessionID string) + type IDGenerator func() string + type Info struct + ACPCaps acp.Caps + ACPSessionID string + AgentName string + AttachExpiresAt *time.Time + AttachedTo string + Channel string + CreatedAt time.Time + Failure *store.SessionFailure + ID string + Lineage *store.SessionLineage + Liveness *store.SessionLivenessMeta + Model string + Name string + ParentSoulDigest string + Provider string + ReasoningEffort string + Sandbox *store.SessionSandboxMeta + SoulDigest string + SoulSnapshotID string + State State + StopDetail string + StopReason store.StopReason + Type Type + UpdatedAt time.Time + Workspace string + WorkspaceID string + type InputQueueSummary struct + PendingInputs int + QueueGeneration int64 + type LedgerMaterializer interface + DiscardSessionLedger func(ctx context.Context, record store.SessionLedgerRecord) error + MaterializeSessionLedger func(ctx context.Context, record store.SessionLedgerRecord) error + type LegacyProviderRepairOptions struct + AgentResolver AgentResolver + Logger *slog.Logger + Now func() time.Time + WorkspaceResolver workspacepkg.RuntimeResolver + type LifecycleHooks interface + DispatchSessionPostCreate func(context.Context, hookspkg.SessionPostCreatePayload) (hookspkg.SessionPostCreatePayload, error) + DispatchSessionPostResume func(context.Context, hookspkg.SessionPostResumePayload) (hookspkg.SessionPostResumePayload, error) + DispatchSessionPostStop func(context.Context, hookspkg.SessionPostStopPayload) (hookspkg.SessionPostStopPayload, error) + DispatchSessionPreCreate func(context.Context, hookspkg.SessionPreCreatePayload) (hookspkg.SessionPreCreatePayload, error) + DispatchSessionPreResume func(context.Context, hookspkg.SessionPreResumePayload) (hookspkg.SessionPreResumePayload, error) + DispatchSessionPreStop func(context.Context, hookspkg.SessionPreStopPayload) (hookspkg.SessionPreStopPayload, error) + type MCPResolver interface + Resolve func(skills []*skillspkg.Skill) []aghconfig.MCPServer + type Manager struct + func NewManager(opts ...Option) (*Manager, error) + func (m *Manager) ApprovePermission(ctx context.Context, id string, req acp.ApproveRequest) error + func (m *Manager) CancelPrompt(ctx context.Context, id string) error + func (m *Manager) CancelQueuedPrompt(ctx context.Context, id string, queueEntryID string) (SendPromptResult, error) + func (m *Manager) ClearConversation(ctx context.Context, id string) (_ *Session, err error) + func (m *Manager) Create(ctx context.Context, opts CreateOpts) (_ *Session, err error) + func (m *Manager) Delete(ctx context.Context, id string) error + func (m *Manager) Events(ctx context.Context, id string, query store.EventQuery) (events []store.SessionEvent, err error) + func (m *Manager) ExecSandbox(ctx context.Context, req SandboxExecRequest) (SandboxExecResult, error) + func (m *Manager) Get(id string) (*Session, bool) + func (m *Manager) GetSessionHealth(ctx context.Context, id string) (heartbeat.SessionHealth, error) + func (m *Manager) History(ctx context.Context, id string, query store.EventQuery) (history []store.TurnHistory, err error) + func (m *Manager) InputQueueSummary(ctx context.Context, id string) (InputQueueSummary, error) + func (m *Manager) InterruptPrompt(ctx context.Context, id string) (SendPromptResult, error) + func (m *Manager) IsPrompting(id string) bool + func (m *Manager) List() []*Info + func (m *Manager) ListAll(ctx context.Context) ([]*Info, error) + func (m *Manager) ListSessionHealth(ctx context.Context, query heartbeat.SessionHealthListQuery) ([]heartbeat.SessionHealth, error) + func (m *Manager) Prompt(ctx context.Context, id string, msg string) (<-chan acp.AgentEvent, error) + func (m *Manager) PromptNetwork(ctx context.Context, id string, msg string, meta ...acp.PromptNetworkMeta) (<-chan acp.AgentEvent, error) + func (m *Manager) PromptSynthetic(ctx context.Context, id string, opts SyntheticPromptOpts) (<-chan acp.AgentEvent, error) + func (m *Manager) PromptWithOpts(ctx context.Context, id string, opts PromptOpts) (<-chan acp.AgentEvent, error) + func (m *Manager) RecoverSessionHealth(ctx context.Context) (HealthRecoveryResult, error) + func (m *Manager) RefreshSoul(ctx context.Context, id string) (SoulRefreshResult, error) + func (m *Manager) RefreshSoulWithExpectedDigest(ctx context.Context, id string, expectedDigest string) (SoulRefreshResult, error) + func (m *Manager) RepairSession(ctx context.Context, opts RepairOpts) (result *RepairResult, err error) + func (m *Manager) RequestPermission(ctx context.Context, id string, req acp.RequestPermissionRequest) (acp.RequestPermissionResponse, error) + func (m *Manager) RequestStopWithCause(ctx context.Context, id string, cause StopCause, detail string) error + func (m *Manager) Resume(ctx context.Context, id string) (_ *Session, err error) + func (m *Manager) SendPrompt(ctx context.Context, id string, opts SendPromptOpts) (SendPromptResult, error) + func (m *Manager) SetNetworkPeerLifecycle(lifecycle NetworkPeerLifecycle) + func (m *Manager) SetTurnEndNotifier(fn TurnEndNotifier) + func (m *Manager) Spawn(ctx context.Context, opts SpawnOpts) (*Session, error) + func (m *Manager) Status(ctx context.Context, id string) (*Info, error) + func (m *Manager) SteerPrompt(ctx context.Context, id string, msg string) (SendPromptResult, error) + func (m *Manager) Stop(ctx context.Context, id string) error + func (m *Manager) StopWithCause(ctx context.Context, id string, cause StopCause, detail string) error + func (m *Manager) TouchSessionPresence(ctx context.Context, id string) (heartbeat.SessionHealth, error) + func (m *Manager) Transcript(ctx context.Context, id string) ([]transcript.UIMessage, error) + func (m *Manager) WaitForFinalizations(ctx context.Context) error + func (m *Manager) WaitForPromptDrains(ctx context.Context) error + func (m *Manager) WithSoulClaimLock(ctx context.Context, sessionID string, fn func() error) error + type NetworkPeerCapability struct + ArtifactsExpected []string + Constraints []string + ContextNeeded []string + Digest string + Examples []string + ExecutionOutline []string + ID string + Outcome string + Requirements []string + Summary string + Version string + type NetworkPeerJoin struct + Capabilities []NetworkPeerCapability + Channel string + DisplayName string + PeerID string + SessionID string + WorkspaceID string + type NetworkPeerLifecycle interface + JoinChannel func(ctx context.Context, join NetworkPeerJoin) error + LeaveChannel func(ctx context.Context, sessionID string) error + type Notifier interface + OnAgentEvent func(ctx context.Context, sessionID string, event any) + OnSessionCreated func(ctx context.Context, session *Session) + OnSessionStopped func(ctx context.Context, session *Session) + type Option func(*Manager) + func WithAgentResolver(resolver AgentResolver) Option + func WithDriver(driver AgentDriver) Option + func WithHomePaths(homePaths aghconfig.HomePaths) Option + func WithHookSet(hooks HookSet) Option + func WithHostedMCPLauncher(launcher HostedMCPLauncher) Option + func WithLedgerMaterializer(materializer LedgerMaterializer) Option + func WithLifecycleContext(ctx context.Context) Option + func WithLogger(logger *slog.Logger) Option + func WithMCPResolver(resolver MCPResolver) Option + func WithNotifier(notifier Notifier) Option + func WithNow(now func() time.Time) Option + func WithPromptAssembler(assembler PromptAssembler) Option + func WithPromptBufferSize(size int) Option + func WithPromptInputAugmenter(augmenter PromptInputAugmenter) Option + func WithProviderSecretResolver(resolver ProviderSecretResolver) Option + func WithQueryStore(opener StoreOpener) Option + func WithSandboxIDGenerator(generator IDGenerator) Option + func WithSandboxRegistry(registry *sandbox.Registry) Option + func WithSessionBusyInputConfig(config aghconfig.SessionBusyInputConfig) Option + func WithSessionHealthConfig(config aghconfig.HeartbeatConfig) Option + func WithSessionHealthStore(store HealthStore) Option + func WithSessionIDGenerator(generator IDGenerator) Option + func WithSessionInputQueueStore(queueStore store.SessionInputQueueStore) Option + func WithSessionSupervision(config aghconfig.SessionSupervisionConfig) Option + func WithSkillRegistry(registry SkillRegistry) Option + func WithSoulRunActivityChecker(checker SoulRunActivityChecker) Option + func WithSoulSnapshotStore(store SoulSnapshotStore) Option + func WithStartupPromptOverlay(overlay StartupPromptOverlay) Option + func WithStore(opener StoreOpener) Option + func WithTurnIDGenerator(generator IDGenerator) Option + func WithWorkspaceResolver(resolver workspacepkg.RuntimeResolver) Option + type PromptAssembler interface + Assemble func(ctx context.Context, agent aghconfig.AgentDef, ...) (string, error) + type PromptHooks interface + DispatchInputPreSubmit func(context.Context, hookspkg.InputPreSubmitPayload) (hookspkg.InputPreSubmitPayload, error) + DispatchPromptPostAssemble func(context.Context, hookspkg.PromptPayload) (hookspkg.PromptPayload, error) + type PromptInputAugmenter func(ctx context.Context, session *Session, message string) (string, error) + type PromptOpts struct + DeliveryContext context.Context + Message string + PromptMeta acp.PromptMeta + TurnSource TurnSource + type PromptProvider interface + PromptSection func(ctx context.Context, workspace *workspacepkg.ResolvedWorkspace) (string, error) + type ProviderSecretResolver interface + ResolveRef func(ctx context.Context, ref string) (string, error) + type RepairAction struct + Code string + EventID string + Persisted bool + ToolCallID string + ToolName string + TurnID string + type RepairIssue struct + Code string + Detail string + EventID string + Severity string + TurnID string + type RepairOpts struct + DryRun bool + Force bool + SessionID string + type RepairResult struct + Actions []RepairAction + Issues []RepairIssue + Persisted bool + SessionID string + type SandboxExecRequest struct + Command string + SessionID string + Timeout time.Duration + type SandboxExecResult struct + ExitCode int + Stderr string + Stdout string + type SandboxHooks interface + DispatchSandboxPrepare func(context.Context, hookspkg.SandboxPreparePayload) (hookspkg.SandboxPreparePayload, error) + DispatchSandboxReady func(context.Context, hookspkg.SandboxReadyPayload) (hookspkg.SandboxReadyPayload, error) + DispatchSandboxStop func(context.Context, hookspkg.SandboxStopPayload) (hookspkg.SandboxStopPayload, error) + DispatchSandboxSyncAfter func(context.Context, hookspkg.SandboxSyncAfterPayload) (hookspkg.SandboxSyncAfterPayload, error) + DispatchSandboxSyncBefore func(context.Context, hookspkg.SandboxSyncBeforePayload) (hookspkg.SandboxSyncBeforePayload, error) + type SandboxLifecycleEvent struct + Backend string + Duration time.Duration + Error string + ErrorKind string + InstanceID string + Name string + Profile string + Reason string + SandboxID string + SessionID string + Span string + Timestamp time.Time + WorkspaceID string + type SandboxLifecycleNotifier interface + OnSandboxLifecycleEvent func(context.Context, SandboxLifecycleEvent) + type ScopedInterrupter interface + Interrupt func(ctx context.Context, sessionID string, turnID string) (toolruntime.InterruptReport, error) + type SendPromptOpts struct + DeliveryContext context.Context + Message string + Mode BusyInputMode + type SendPromptResult struct + CanceledQueuedEntries int + EstimatedSendAt *time.Time + Events <-chan acp.AgentEvent + FallbackModeIfNoToolResult string + Interrupted bool + Mode BusyInputMode + NewTurnID string + PreviousTurnID string + QueueEntryID string + QueueGeneration int64 + QueuePosition int + Queued bool + Staged bool + Status string + type Session struct + ACPCaps acp.Caps + ACPSessionID string + AgentName string + AttachExpiresAt *time.Time + AttachedTo string + Channel string + CreatedAt time.Time + ID string + Lineage *store.SessionLineage + Liveness *store.SessionLivenessMeta + Model string + Name string + ParentSoulDigest string + Provider string + ReasoningEffort string + Sandbox *store.SessionSandboxMeta + SoulDigest string + SoulSnapshotID string + State State + Type Type + UpdatedAt time.Time + Workspace string + WorkspaceID string + func (s *Session) ApprovePermission(ctx context.Context, req acp.ApproveRequest) error + func (s *Session) CurrentPromptMeta() acp.PromptMeta + func (s *Session) CurrentTurnID() string + func (s *Session) CurrentTurnSource() TurnSource + func (s *Session) DBPath() string + func (s *Session) Info() *Info + func (s *Session) IsPrompting() bool + func (s *Session) Meta() store.SessionMeta + func (s *Session) MetaPath() string + func (s *Session) RequestPermission(ctx context.Context, req acp.RequestPermissionRequest) (acp.RequestPermissionResponse, error) + func (s *Session) SessionDir() string + type SkillRegistry interface + ForAgent func(ctx context.Context, resolved *workspacepkg.ResolvedWorkspace, ...) ([]*skillspkg.Skill, error) + ForWorkspace func(ctx context.Context, resolved *workspacepkg.ResolvedWorkspace) ([]*skillspkg.Skill, error) + type SoulRefreshResult struct + AgentName string + ConfigProvenance soul.ConfigProvenance + ParentSoulDigest string + RefreshedAt time.Time + SessionID string + Snapshot *soul.Snapshot + Soul *soul.ResolvedSoul + SoulDigest string + SoulSnapshotID string + type SoulRunActivityChecker interface + HasActiveRunForSession func(ctx context.Context, sessionID string, now time.Time) (bool, error) + type SoulSnapshotStore interface + GetSoulSnapshot func(ctx context.Context, id string) (soul.Snapshot, error) + UpdateSessionSoulSnapshot func(ctx context.Context, update store.SessionSoulSnapshotUpdate) error + UpsertSoulSnapshot func(ctx context.Context, snapshot soul.Snapshot) (soul.Snapshot, error) + type SpawnHooks interface + DispatchSpawnCreated func(context.Context, hookspkg.SpawnCreatedPayload) (hookspkg.SpawnCreatedPayload, error) + DispatchSpawnParentStopped func(context.Context, hookspkg.SpawnParentStoppedPayload) (hookspkg.SpawnParentStoppedPayload, error) + DispatchSpawnPreCreate func(context.Context, hookspkg.SpawnPreCreatePayload) (hookspkg.SpawnPreCreatePayload, error) + DispatchSpawnReaped func(context.Context, hookspkg.SpawnReapedPayload) (hookspkg.SpawnReapedPayload, error) + DispatchSpawnTTLExpired func(context.Context, hookspkg.SpawnTTLExpiredPayload) (hookspkg.SpawnTTLExpiredPayload, error) + type SpawnOpts struct + AgentName string + AllowStoppedParent bool + AutoStopOnParent bool + Channel string + IdempotencyKey string + Name string + ParentSessionID string + PermissionPolicy store.SessionPermissionPolicy + PromptOverlay string + Provider string + SpawnRole string + TTL time.Duration + Workspace string + WorkspacePath string + type StartupPromptAssembler interface + AssembleStartup func(ctx context.Context, startup StartupPromptContext, agent aghconfig.AgentDef, ...) (string, error) + type StartupPromptContext struct + AgentName string + Channel string + CreatedAt time.Time + Provider string + SessionID string + SessionName string + SessionType Type + SoulSnapshot *soul.Snapshot + UpdatedAt time.Time + Workspace string + WorkspaceID string + type StartupPromptOverlay interface + Apply func(ctx context.Context, startup StartupPromptContext, prompt string) (string, error) + type State string + const StateActive + const StateStarting + const StateStopped + const StateStopping + type StopCause int + const CauseClearConversation + const CauseCompleted + const CauseFailed + const CauseHookDenied + const CauseNone + const CauseProcessExited + const CauseShutdown + const CauseTimeout + const CauseUserRequested + type StoreOpener func(ctx context.Context, sessionID string, path string) (EventRecorder, error) + type SyntheticPromptOpts struct + Message string + Metadata acp.PromptSyntheticMeta + SkipIfBusy bool + TurnID string + type ToolHooks interface + DispatchToolPostCall func(context.Context, hookspkg.ToolPostCallPayload) (hookspkg.ToolPostCallPayload, error) + DispatchToolPostError func(context.Context, hookspkg.ToolPostErrorPayload) (hookspkg.ToolPostErrorPayload, error) + DispatchToolPreCall func(context.Context, hookspkg.ToolPreCallPayload) (hookspkg.ToolPreCallPayload, error) + type TurnEndNotifier func(sessionID string) + type TurnSource string + const TurnSourceNetwork + const TurnSourceSynthetic + const TurnSourceUser + type Type string + const SessionTypeCoordinator + const SessionTypeDream + const SessionTypeSpawned + const SessionTypeSystem + const SessionTypeUser