SessionListResult
session/list result. The default order is content
activity: lastActivityAt descending, then sessionId ascending. The
order is the session index’s key, so a row’s displayed timestamps do not
always show its position: a row the index has not yet derived keeps its
updatedAt position, a derived row with no content orders by
createdAt, and a loaded row can show newer values. Do not re-sort or
validate a page from them. updatedAfter still filters on updatedAt.
Fields and variants
Section titled “Fields and variants”appliedFilternextCursorsessions
Source
schema/msp/experimental/msp.schema.json#/types/SessionListResult
{ "description": "`session/list` result. The default order is content\nactivity: `lastActivityAt` descending, then `sessionId` ascending. The\norder is the session index's key, so a row's displayed timestamps do not\nalways show its position: a row the index has not yet derived keeps its\n`updatedAt` position, a derived row with no content orders by\n`createdAt`, and a loaded row can show newer values. Do not re-sort or\nvalidate a page from them. `updatedAfter` still filters on `updatedAt`.", "properties": { "appliedFilter": { "$ref": "#/$defs/SessionListFilter", "description": "The canonical filter the server applied, present exactly when the\nrequest carried `filter`. The probe is\nper-predicate PRESENCE (ADR 42035 D6): a client that requires\nfiltering checks that every predicate it sent comes back as a member\nhere, and treats a missing member as unsupported. Value equality is\nthe wrong test — canonicalization trims, lowercases, NFC-normalizes,\ndedupes and sorts, so the echoed values often differ from the sent\nones on a correctly filtered page." }, "nextCursor": { "description": "The next page's cursor; `null` on the last page.", "type": [ "string", "null" ] }, "sessions": { "description": "The page of stored sessions.", "items": { "$ref": "#/$defs/Session" }, "type": "array" } }, "required": [ "nextCursor", "sessions" ], "type": "object"}