Versions in this module Expand all Collapse all v0 v0.0.9 Jul 4, 2026 v0.0.8 Jun 22, 2026 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