@remit/api-openapi-spec 0.0.68 → 0.0.69

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/openapi.json +37 -6
  2. package/package.json +1 -1
package/openapi.json CHANGED
@@ -8187,7 +8187,7 @@
8187
8187
  },
8188
8188
  "reason": {
8189
8189
  "type": "string",
8190
- "description": "Why, when the verdict is skipped or rejected"
8190
+ "description": "Why, when the verdict is skipped or rejected; for a filter that lands switched off, what it is waiting for"
8191
8191
  }
8192
8192
  },
8193
8193
  "description": "What became of one item in the submitted document"
@@ -9129,6 +9129,17 @@
9129
9129
  ],
9130
9130
  "description": "Message attribute a FilterClause matches against — RFC 031's Tier 0 literal predicates plus the RFC 038 D2 additions (list membership and sender domain). Every member is matched vector-free at index time and in the back-apply corpus projection."
9131
9131
  },
9132
+ "RemitImap.FilterDisabledReason": {
9133
+ "type": "string",
9134
+ "enum": [
9135
+ "None",
9136
+ "UserDisabled",
9137
+ "AwaitingFolder",
9138
+ "FolderCreateFailed",
9139
+ "FolderMissing"
9140
+ ],
9141
+ "description": "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."
9142
+ },
9132
9143
  "RemitImap.FilterMatchOperator": {
9133
9144
  "type": "string",
9134
9145
  "enum": [
@@ -9145,6 +9156,7 @@
9145
9156
  "name",
9146
9157
  "scope",
9147
9158
  "state",
9159
+ "disabledReason",
9148
9160
  "hasAnchor",
9149
9161
  "ruleChangedAt",
9150
9162
  "actionChangedAt",
@@ -9200,8 +9212,17 @@
9200
9212
  "$ref": "#/components/schemas/RemitImap.FilterState"
9201
9213
  }
9202
9214
  ],
9203
- "description": "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.",
9204
- "default": "Active",
9215
+ "description": "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.",
9216
+ "default": "Active"
9217
+ },
9218
+ "disabledReason": {
9219
+ "allOf": [
9220
+ {
9221
+ "$ref": "#/components/schemas/RemitImap.FilterDisabledReason"
9222
+ }
9223
+ ],
9224
+ "description": "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.",
9225
+ "default": "None",
9205
9226
  "readOnly": true
9206
9227
  },
9207
9228
  "hasAnchor": {
@@ -9274,9 +9295,10 @@
9274
9295
  "type": "string",
9275
9296
  "enum": [
9276
9297
  "Active",
9277
- "Expired"
9298
+ "Expired",
9299
+ "Disabled"
9278
9300
  ],
9279
- "description": "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."
9301
+ "description": "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."
9280
9302
  },
9281
9303
  "RemitImap.FolderAppointment": {
9282
9304
  "type": "object",
@@ -12245,6 +12267,15 @@
12245
12267
  "type": "string",
12246
12268
  "description": "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."
12247
12269
  },
12270
+ "state": {
12271
+ "allOf": [
12272
+ {
12273
+ "$ref": "#/components/schemas/RemitImap.FilterState"
12274
+ }
12275
+ ],
12276
+ "description": "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.",
12277
+ "default": "Active"
12278
+ },
12248
12279
  "matchOperator": {
12249
12280
  "allOf": [
12250
12281
  {
@@ -12273,7 +12304,7 @@
12273
12304
  "default": "None"
12274
12305
  }
12275
12306
  },
12276
- "description": "Input for updating a filter (RFC 034, reader #266). The name, predicate,\naction, scope, and expiresAt are all updatable; `ttl` is always\nserver-derived from `scope`/`expiresAt`, never client-supplied, and\n`state`/`hasAnchor`/`ruleChangedAt`/`actionChangedAt`/`filterId` are\nserver-derived too. A patch touching the predicate, the action, `scope`, or\n`expiresAt` bumps `ruleChangedAt`; a name-only rename never does (RFC 034\nDecision 3.2, reader #266). Only a patch touching the predicate or the\naction bumps `actionChangedAt`, the narrower signal exclusive-move\nprecedence reads (reader #384) — a scope/expiresAt-only edit leaves it\nuntouched.\n\nThe semantic anchor has no field here at all — it is set once, from\n`anchorMessageId`, only on `CreateFilterInput`. Repointing an anchor would\nsilently change what a saved filter matches with nothing visible changing;\nthat deserves a new filter, so the server rejects any attempt to smuggle an\nanchor change through this body (reader #266)."
12307
+ "description": "Input for updating a filter (RFC 034, reader #266). The name, predicate,\naction, scope, and expiresAt are all updatable; `ttl` is always\nserver-derived from `scope`/`expiresAt`, never client-supplied, and\n`disabledReason`/`hasAnchor`/`ruleChangedAt`/`actionChangedAt`/`filterId` are\nserver-derived too. `state` takes `Active` or `Disabled`: the user turns a\nfilter off or back on, and turning it on clears `disabledReason`. `Expired`\nis refused; the expiry is set through `scope`/`expiresAt`. A patch touching the predicate, the action, `scope`, or\n`expiresAt` bumps `ruleChangedAt`; a name-only rename never does (RFC 034\nDecision 3.2, reader #266). Only a patch touching the predicate or the\naction bumps `actionChangedAt`, the narrower signal exclusive-move\nprecedence reads (reader #384) — a scope/expiresAt-only edit leaves it\nuntouched.\n\nThe semantic anchor has no field here at all — it is set once, from\n`anchorMessageId`, only on `CreateFilterInput`. Repointing an anchor would\nsilently change what a saved filter matches with nothing visible changing;\nthat deserves a new filter, so the server rejects any attempt to smuggle an\nanchor change through this body (reader #266)."
12277
12308
  },
12278
12309
  "RemitImap.UpdateFlagsInput": {
12279
12310
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-spec",
3
- "version": "0.0.68",
3
+ "version": "0.0.69",
4
4
  "description": "Remit API OpenAPI 3 document, generated from TypeSpec.",
5
5
  "exports": {
6
6
  ".": "./openapi.json",