ListSessions returns metadata about all sessions known to the server. Returns a list of SessionMetadata for all available sessions, including their IDs, timestamps, optional summaries, and context information. An optional filter can be provided to filter sessions by working directory, git root, re
(ctx context.Context, filter *SessionListFilter)
| 1241 | // |
| 1242 | // sessions, err := client.ListSessions(context.Background(), &SessionListFilter{Repository: "owner/repo"}) |
| 1243 | func (c *Client) ListSessions(ctx context.Context, filter *SessionListFilter) ([]SessionMetadata, error) { |
| 1244 | if err := c.ensureConnected(ctx); err != nil { |
| 1245 | return nil, err |
| 1246 | } |
| 1247 | |
| 1248 | params := listSessionsRequest{} |
| 1249 | if filter != nil { |
| 1250 | params.Filter = filter |
| 1251 | } |
| 1252 | result, err := c.client.Request(ctx, "session.list", params) |
| 1253 | if err != nil { |
| 1254 | return nil, err |
| 1255 | } |
| 1256 | |
| 1257 | var response listSessionsResponse |
| 1258 | if err := json.Unmarshal(result, &response); err != nil { |
| 1259 | return nil, fmt.Errorf("failed to unmarshal sessions response: %w", err) |
| 1260 | } |
| 1261 | |
| 1262 | return response.Sessions, nil |
| 1263 | } |
| 1264 | |
| 1265 | // GetSessionMetadata returns metadata for a specific session by ID. |
| 1266 | // |