GetEvents retrieves all events from this session's history. This returns the complete conversation history including user messages, assistant responses, tool executions, and other session events in chronological order. Returns an error if the session has been disconnected or the connection fails.
(ctx context.Context)
| 1618 | // } |
| 1619 | // } |
| 1620 | func (s *Session) GetEvents(ctx context.Context) ([]SessionEvent, error) { |
| 1621 | |
| 1622 | result, err := s.client.Request(ctx, "session.getMessages", sessionGetMessagesRequest{SessionID: s.SessionID}) |
| 1623 | if err != nil { |
| 1624 | return nil, fmt.Errorf("failed to get events: %w", err) |
| 1625 | } |
| 1626 | |
| 1627 | var response sessionGetMessagesResponse |
| 1628 | if err := json.Unmarshal(result, &response); err != nil { |
| 1629 | return nil, fmt.Errorf("failed to unmarshal get events response: %w", err) |
| 1630 | } |
| 1631 | return response.Events, nil |
| 1632 | } |
| 1633 | |
| 1634 | // Disconnect closes this session and releases all in-memory resources (event |
| 1635 | // handlers, tool handlers, permission handlers). |