code: func (s *Session) TimeElapsed() time.Duration {
  	s.mu.Lock()
  	defer s.mu.Unlock()
  	if v, ok := s.Decoded["time_elapsed"].(string); ok {
  		if dur, err := time.ParseDuration(v + "s"); err == nil {
  			return dur
  		}
  	}
  	return time.Second * -1
  }
docs: // TimeElapsed returns approximate duration since conversation started.
  // Returns -1 seconds if time_elapsed is not found or parsing failed.