@remit/api-openapi-types 0.0.71 → 0.0.72

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 +30 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-types",
3
- "version": "0.0.71",
3
+ "version": "0.0.72",
4
4
  "type": "module",
5
5
  "main": "types.d.ts",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -122,9 +122,13 @@ current enum emitter anyway, so the wire contract uses the bare form.
122
122
  */
123
123
  export type FilterScope = "Standing" | "Temporary";
124
124
  /**
125
- * Cache of whether a Filter is still active to evaluate, backing the byAccountAndState index (RFC 034 Decision 1.2). Not the source of truth for expiry — Filter.expiresAt is, compared directly at every evaluation. Starts Active; lazily patched to Expired the first time something reads a Temporary filter past its expiresAt. No Disabled value: this RFC has no flow that pauses a filter without deleting it.
125
+ * Whether a Filter runs, backing the byAccountAndState index (RFC 034 Decision 1.2). Active and Disabled are written; Expired is a lazily-patched cache of Filter.expiresAt, which stays the source of truth for expiry. A Disabled filter records why in Filter.disabledReason.
126
126
  */
127
- export type FilterState = "Active" | "Expired";
127
+ export type FilterState = "Active" | "Expired" | "Disabled";
128
+ /**
129
+ * Why a Filter is Disabled. `None` while the filter is not Disabled; every other value names the one thing that has to change before it can run again.
130
+ */
131
+ export type FilterDisabledReason = "None" | "UserDisabled" | "AwaitingFolder" | "FolderCreateFailed" | "FolderMissing";
128
132
  /**
129
133
  * How a Filter's literalClauses combine (RFC 031 "literal predicates, AND/OR"). Ignored when literalClauses is empty.
130
134
  */
@@ -1639,7 +1643,7 @@ finds it.
1639
1643
  */
1640
1644
  verdict: string;
1641
1645
  /**
1642
- * Why, when the verdict is skipped or rejected
1646
+ * Why, when the verdict is skipped or rejected; for a filter that lands switched off, what it is waiting for
1643
1647
  */
1644
1648
  reason?: string;
1645
1649
  }
@@ -2031,9 +2035,13 @@ data through `byAccountAndState`.
2031
2035
  */
2032
2036
  ttl?: number;
2033
2037
  /**
2034
- * Cache of whether this filter is still active, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active; lazily patched to Expired the first time something reads a Temporary filter past its expiresAt — whichever of index-time evaluation, retroactive replay, or a settings-page list touches it next. Never the correctness source; expiresAt is.
2038
+ * Whether this filter runs, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active. The user sets Active or Disabled on update; the system sets Disabled when the filter cannot work as designed, and records why in disabledReason. Expired is lazily patched the first time something reads a Temporary filter past its expiresAt, which stays the correctness source for expiry.
2035
2039
  */
2036
2040
  state: FilterState;
2041
+ /**
2042
+ * Why this filter is Disabled; `None` whenever state is not Disabled. Written together with state, never on its own: turning a filter on clears it.
2043
+ */
2044
+ disabledReason: FilterDisabledReason;
2037
2045
  /**
2038
2046
  * Whether a sibling FilterAnchor row exists for this filter (RFC 034 Decision 2.3). Lets the index-time worker skip the FilterAnchor `get` entirely for purely-literal filters instead of probing for a row that may not exist.
2039
2047
  */
@@ -2103,9 +2111,13 @@ data through `byAccountAndState`.
2103
2111
  */
2104
2112
  expiresAt?: string;
2105
2113
  /**
2106
- * Cache of whether this filter is still active, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active; lazily patched to Expired the first time something reads a Temporary filter past its expiresAt — whichever of index-time evaluation, retroactive replay, or a settings-page list touches it next. Never the correctness source; expiresAt is.
2114
+ * Whether this filter runs, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active. The user sets Active or Disabled on update; the system sets Disabled when the filter cannot work as designed, and records why in disabledReason. Expired is lazily patched the first time something reads a Temporary filter past its expiresAt, which stays the correctness source for expiry.
2107
2115
  */
2108
2116
  state: FilterState;
2117
+ /**
2118
+ * Why this filter is Disabled; `None` whenever state is not Disabled. Written together with state, never on its own: turning a filter on clears it.
2119
+ */
2120
+ disabledReason: FilterDisabledReason;
2109
2121
  /**
2110
2122
  * Whether a sibling FilterAnchor row exists for this filter (RFC 034 Decision 2.3). Lets the index-time worker skip the FilterAnchor `get` entirely for purely-literal filters instead of probing for a row that may not exist.
2111
2123
  */
@@ -2185,8 +2197,10 @@ sets `hasAnchor`. Absent for a purely-literal filter.
2185
2197
  * Input for updating a filter (RFC 034, reader #266). The name, predicate,
2186
2198
  action, scope, and expiresAt are all updatable; `ttl` is always
2187
2199
  server-derived from `scope`/`expiresAt`, never client-supplied, and
2188
- `state`/`hasAnchor`/`ruleChangedAt`/`actionChangedAt`/`filterId` are
2189
- server-derived too. A patch touching the predicate, the action, `scope`, or
2200
+ `disabledReason`/`hasAnchor`/`ruleChangedAt`/`actionChangedAt`/`filterId` are
2201
+ server-derived too. `state` takes `Active` or `Disabled`: the user turns a
2202
+ filter off or back on, and turning it on clears `disabledReason`. `Expired`
2203
+ is refused; the expiry is set through `scope`/`expiresAt`. A patch touching the predicate, the action, `scope`, or
2190
2204
  `expiresAt` bumps `ruleChangedAt`; a name-only rename never does (RFC 034
2191
2205
  Decision 3.2, reader #266). Only a patch touching the predicate or the
2192
2206
  action bumps `actionChangedAt`, the narrower signal exclusive-move
@@ -2212,6 +2226,10 @@ anchor change through this body (reader #266).
2212
2226
  * ISO 8601 date-time with zone offset, present only when scope is Temporary (RFC 034 Decision 1.1) — a business date, not an epoch instant. Every evaluation compares `now` against this value directly; it is the source of truth for whether a Temporary filter is still active, independent of `state` or row existence. Mutable on update (reader #266), alongside scope — moving the date bumps ruleChangedAt the same way a scope change does.
2213
2227
  */
2214
2228
  expiresAt?: string;
2229
+ /**
2230
+ * Whether this filter runs, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active. The user sets Active or Disabled on update; the system sets Disabled when the filter cannot work as designed, and records why in disabledReason. Expired is lazily patched the first time something reads a Temporary filter past its expiresAt, which stays the correctness source for expiry.
2231
+ */
2232
+ state: FilterState;
2215
2233
  /**
2216
2234
  * How literalClauses combine. Meaningless when literalClauses is empty.
2217
2235
  */
@@ -5613,6 +5631,10 @@ the binder writes the row it belongs to once the path resolves.
5613
5631
  * The role for a folder role, the folder path for a mailbox override, the filter id for a filter's move action
5614
5632
  */
5615
5633
  target: String256;
5634
+ /**
5635
+ * The folder the binder asked the mail server to create for this path, once discovery showed the account lacks it. The binder waits for that row to settle and binds to it by id, because the server may store the folder under a normalized path. `None` until a create is issued.
5636
+ */
5637
+ mailboxId: string;
5616
5638
  }
5617
5639
  /**
5618
5640
  * One applied configuration import (#1021). It exists because a file's folder
@@ -9194,6 +9216,7 @@ export type MailboxCursorState = Components.Schemas.MailboxCursorState;
9194
9216
  export type MailboxSpecialUse = Components.Schemas.MailboxSpecialUse;
9195
9217
  export type FilterScope = Components.Schemas.FilterScope;
9196
9218
  export type FilterState = Components.Schemas.FilterState;
9219
+ export type FilterDisabledReason = Components.Schemas.FilterDisabledReason;
9197
9220
  export type FilterMatchOperator = Components.Schemas.FilterMatchOperator;
9198
9221
  export type FilterClauseField = Components.Schemas.FilterClauseField;
9199
9222
  export type LabelColor = Components.Schemas.LabelColor;