@remit/api-openapi-spec 0.0.12 → 0.0.14

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 +21 -7
  2. package/package.json +1 -1
package/openapi.json CHANGED
@@ -3585,11 +3585,11 @@
3585
3585
  "$ref": "#/components/schemas/RemitImap.FilterScope"
3586
3586
  }
3587
3587
  ],
3588
- "description": "Standing (permanent) or Temporary (expires). Governs whether expiresAt/ttl are present (RFC 034 Decision 1)."
3588
+ "description": "Standing (permanent) or Temporary (expires). Governs whether expiresAt/ttl are present (RFC 034 Decision 1). Mutable on update (reader #266): switching scope re-derives ttl and re-evaluates state from expiresAt, and bumps ruleChangedAt so a lapsed filter's back-application can be offered again. The semantic anchor stays immutable regardless — repointing it would silently change what a saved filter matches with nothing visible changing, which deserves a new filter instead."
3589
3589
  },
3590
3590
  "expiresAt": {
3591
3591
  "type": "string",
3592
- "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."
3592
+ "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."
3593
3593
  },
3594
3594
  "matchOperator": {
3595
3595
  "allOf": [
@@ -4054,9 +4054,11 @@
4054
4054
  "enum": [
4055
4055
  "From",
4056
4056
  "Subject",
4057
- "HasWords"
4057
+ "HasWords",
4058
+ "ListId",
4059
+ "FromDomain"
4058
4060
  ],
4059
- "description": "Message attribute a FilterClause matches against — RFC 031's Tier 0 literal predicates (from / subject / has-words)."
4061
+ "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."
4060
4062
  },
4061
4063
  "RemitImap.FilterMatchOperator": {
4062
4064
  "type": "string",
@@ -4116,11 +4118,11 @@
4116
4118
  "$ref": "#/components/schemas/RemitImap.FilterScope"
4117
4119
  }
4118
4120
  ],
4119
- "description": "Standing (permanent) or Temporary (expires). Governs whether expiresAt/ttl are present (RFC 034 Decision 1)."
4121
+ "description": "Standing (permanent) or Temporary (expires). Governs whether expiresAt/ttl are present (RFC 034 Decision 1). Mutable on update (reader #266): switching scope re-derives ttl and re-evaluates state from expiresAt, and bumps ruleChangedAt so a lapsed filter's back-application can be offered again. The semantic anchor stays immutable regardless — repointing it would silently change what a saved filter matches with nothing visible changing, which deserves a new filter instead."
4120
4122
  },
4121
4123
  "expiresAt": {
4122
4124
  "type": "string",
4123
- "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."
4125
+ "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."
4124
4126
  },
4125
4127
  "state": {
4126
4128
  "allOf": [
@@ -6253,6 +6255,18 @@
6253
6255
  ],
6254
6256
  "description": "Plain-language name or editable label for this filter"
6255
6257
  },
6258
+ "scope": {
6259
+ "allOf": [
6260
+ {
6261
+ "$ref": "#/components/schemas/RemitImap.FilterScope"
6262
+ }
6263
+ ],
6264
+ "description": "Standing (permanent) or Temporary (expires). Governs whether expiresAt/ttl are present (RFC 034 Decision 1). Mutable on update (reader #266): switching scope re-derives ttl and re-evaluates state from expiresAt, and bumps ruleChangedAt so a lapsed filter's back-application can be offered again. The semantic anchor stays immutable regardless — repointing it would silently change what a saved filter matches with nothing visible changing, which deserves a new filter instead."
6265
+ },
6266
+ "expiresAt": {
6267
+ "type": "string",
6268
+ "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."
6269
+ },
6256
6270
  "matchOperator": {
6257
6271
  "allOf": [
6258
6272
  {
@@ -6281,7 +6295,7 @@
6281
6295
  "default": "None"
6282
6296
  }
6283
6297
  },
6284
- "description": "Input for updating a filter (RFC 034). Only the mutable name/predicate/action fields are updatable `scope`, `expiresAt`, and `ttl` are fixed at creation, and `state`/`hasAnchor`/`ruleChangedAt`/`filterId` are server-derived. A patch touching a predicate or action field bumps `ruleChangedAt`; a name-only rename never does (RFC 034 Decision 3.2)."
6298
+ "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`/`filterId` are server-derived too. A\npatch touching the predicate, the action, `scope`, or `expiresAt` bumps\n`ruleChangedAt`; a name-only rename never does (RFC 034 Decision 3.2, reader\n#266).\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)."
6285
6299
  },
6286
6300
  "RemitImap.UpdateFlagsInput": {
6287
6301
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-spec",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "description": "Remit API OpenAPI 3 document, generated from TypeSpec.",
5
5
  "exports": {
6
6
  ".": "./openapi.json",