@remit/api-openapi-types 0.0.46 → 0.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/types.d.ts +42 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-types",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "type": "module",
5
5
  "main": "types.d.ts",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -3463,11 +3463,18 @@ asking "is this slot free" never has to do the merging itself.
3463
3463
  reportedAt: number;
3464
3464
  }
3465
3465
  /**
3466
- * Aggregate response for `searchThreads`. Carries the matching rows (`items`), a
3467
- pagination `continuationToken`, and an optional `count` of every message the
3468
- query matches. `items` is omitted when `results=false` (count-only); `count` is
3469
- present only when `count=true`. Thread-specific so the shared `ResultList<T>`
3470
- (7 endpoints) stays untouched.
3466
+ * Aggregate response for the filterable thread listings — `searchThreads` and
3467
+ `listAllThreads`. Carries the matching rows (`items`), a pagination
3468
+ `continuationToken`, and an optional `count` of what the query matches.
3469
+ `items` is omitted when `results=false` (count-only); `count` is present only
3470
+ when `count=true`. Thread-specific so the shared `ResultList<T>` (7 endpoints)
3471
+ stays untouched.
3472
+
3473
+ `listAllThreads` answers with this model rather than `ResultList<T>` for that
3474
+ same reason: it needs the count field and the shared model cannot carry one.
3475
+ One model over both operations rather than a second of the same shape, so a
3476
+ client reading a filtered thread listing reads one response type whether the
3477
+ listing is scoped to a mailbox or spans every account.
3471
3478
  */
3472
3479
  export interface ThreadSearchResponse {
3473
3480
  /**
@@ -3479,7 +3486,23 @@ present only when `count=true`. Thread-specific so the shared `ResultList<T>`
3479
3486
  */
3480
3487
  continuationToken?: String800;
3481
3488
  /**
3482
- * How many messages the query matches, over the whole mailbox and independent of `limit`. Present only when `count=true`. With `senderTrust` or `dkimMismatch` in the query the count is over the enriched window instead, since those are resolved off the row.
3489
+ * How much the query matches, over the whole scope. Exact: no page size bounds
3490
+ it, no cursor narrows it, so it is the same number on the first page and the
3491
+ last. Present only when `count=true`.
3492
+
3493
+ Each operation counts what it lists. `searchThreads` lists messages of one
3494
+ mailbox and counts messages. `listAllThreads` counts CONVERSATIONS across
3495
+ every non-muted mailbox of every account — a thread holding two matching
3496
+ messages counts once, and so does one message reachable through a real
3497
+ folder and a virtual copy of it — because that is what the cross-account
3498
+ listing renders after collapsing by `threadId`. A count that disagreed with
3499
+ the rows beneath it would be a third number for the same set.
3500
+
3501
+ Absent when the query carries `senderTrust` or `dkimMismatch`, even with
3502
+ `count=true`. Those are resolved by enriching rows rather than by a
3503
+ predicate, so no exact count exists short of enriching the whole mailbox.
3504
+ Absence says so; a page's post-filter length labelled `count` would be a
3505
+ page length presented as a total. A client with no number renders none.
3483
3506
  */
3484
3507
  count?: number;
3485
3508
  }
@@ -6451,6 +6474,11 @@ declare namespace Paths {
6451
6474
  limit?: number;
6452
6475
  starred?: boolean;
6453
6476
  query?: string;
6477
+ category?: Components.Schemas.MessageCategory[];
6478
+ unread?: boolean;
6479
+ attachments?: boolean;
6480
+ count?: boolean;
6481
+ results?: boolean;
6454
6482
  }
6455
6483
  namespace Responses {
6456
6484
  export type $200 = void;
@@ -7215,6 +7243,10 @@ Search mode and pagination: `limit` is a page size over MATCHES, capped server-s
7215
7243
  What a row is in search mode: one per message, not one per mailbox. This differs from the starred mode above, where the same mail filed in two folders is two rows sharing a `threadId`. Collapsing by `threadId` is still a client's job if it renders one row per CONVERSATION, since distinct messages in one thread remain distinct rows here.
7216
7244
 
7217
7245
  Callers that omit `query` are unaffected: the INBOX (and starred) listings behave exactly as before.
7246
+
7247
+ Row filters: `category`, `unread` and `attachments` are columns on the ThreadMessage row, so each is a predicate inside the query rather than a pass over what a page returned. They compose with every mode above — INBOX, starred and search alike — and a page therefore comes back full of matches however rare the criterion is. This is what the cross-account collections need: filtering the pages a client happens to have loaded shows an empty list whenever the matching mail sits below the newest page (#308).
7248
+
7249
+ Counting: `count=true` answers how many CONVERSATIONS match, over the whole scope and independent of `limit`. `results=false` omits the rows, which is how a header total is read without also paying for a page of mail. Conversations rather than rows because that is what this listing renders: a row is per mailbox, so the same mail filed in two folders is two rows sharing a `threadId`, and clients collapse by it. Counting rows would put a third number beside a list that shows a second one.
7218
7250
  */
7219
7251
  'listAllThreads'(
7220
7252
  parameters?: Parameters<Paths.ListAllThreads.QueryParameters> | null,
@@ -8037,6 +8069,10 @@ Search mode and pagination: `limit` is a page size over MATCHES, capped server-s
8037
8069
  What a row is in search mode: one per message, not one per mailbox. This differs from the starred mode above, where the same mail filed in two folders is two rows sharing a `threadId`. Collapsing by `threadId` is still a client's job if it renders one row per CONVERSATION, since distinct messages in one thread remain distinct rows here.
8038
8070
 
8039
8071
  Callers that omit `query` are unaffected: the INBOX (and starred) listings behave exactly as before.
8072
+
8073
+ Row filters: `category`, `unread` and `attachments` are columns on the ThreadMessage row, so each is a predicate inside the query rather than a pass over what a page returned. They compose with every mode above — INBOX, starred and search alike — and a page therefore comes back full of matches however rare the criterion is. This is what the cross-account collections need: filtering the pages a client happens to have loaded shows an empty list whenever the matching mail sits below the newest page (#308).
8074
+
8075
+ Counting: `count=true` answers how many CONVERSATIONS match, over the whole scope and independent of `limit`. `results=false` omits the rows, which is how a header total is read without also paying for a page of mail. Conversations rather than rows because that is what this listing renders: a row is per mailbox, so the same mail filed in two folders is two rows sharing a `threadId`, and clients collapse by it. Counting rows would put a third number beside a list that shows a second one.
8040
8076
  */
8041
8077
  'get'(
8042
8078
  parameters?: Parameters<Paths.ListAllThreads.QueryParameters> | null,