Public declaration syntax from forge-go/collab/session.go Original source SHA-256: 0313c519ff0c59211d3d766856f091c136a3ab58a7cc150bb482cd1f8373348a Function bodies and constant values are omitted. This is not the complete implementation. Source line 43 type SessionTransition struct Source line 63 type SessionManager struct Source line 75 func NewSessionManager(sessionID string, timeoutSeconds int64) *SessionManager Source line 89 func (sm *SessionManager) Session() CollaborationSession Source line 100 func (sm *SessionManager) State() SessionState Source line 112 func (sm *SessionManager) Transition(target SessionState, reason string) error Source line 136 func (sm *SessionManager) CanTransitionTo(target SessionState) bool Source line 143 func (sm *SessionManager) AddParticipant(agentDID string, role CollaborationRole) Source line 154 func (sm *SessionManager) History() []SessionTransition Source line 166 type SessionContract interface