MCPcopy Create free account
hub / github.com/github/copilot-sdk / ListSessions

Method ListSessions

go/client.go:1243–1263  ·  view source on GitHub ↗

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)

Source from the content-addressed store, hash-verified

1241//
1242// sessions, err := client.ListSessions(context.Background(), &SessionListFilter{Repository: "owner/repo"})
1243func (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//

Callers 1

TestSessionE2EFunction · 0.95

Calls 2

ensureConnectedMethod · 0.95
RequestMethod · 0.45

Tested by 1

TestSessionE2EFunction · 0.76