@remit/api-openapi-spec 0.0.13 → 0.0.15

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 +36 -5
  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": [
@@ -4118,11 +4118,11 @@
4118
4118
  "$ref": "#/components/schemas/RemitImap.FilterScope"
4119
4119
  }
4120
4120
  ],
4121
- "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."
4122
4122
  },
4123
4123
  "expiresAt": {
4124
4124
  "type": "string",
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."
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."
4126
4126
  },
4127
4127
  "state": {
4128
4128
  "allOf": [
@@ -4333,6 +4333,15 @@
4333
4333
  "description": "Timestamp of the last successful message sync",
4334
4334
  "readOnly": true
4335
4335
  },
4336
+ "syncStatus": {
4337
+ "allOf": [
4338
+ {
4339
+ "$ref": "#/components/schemas/RemitImap.MailboxSyncStatus"
4340
+ }
4341
+ ],
4342
+ "description": "Sync status for mailbox operations (create, rename, delete)",
4343
+ "readOnly": true
4344
+ },
4336
4345
  "specialUse": {
4337
4346
  "type": "array",
4338
4347
  "items": {
@@ -4428,6 +4437,16 @@
4428
4437
  },
4429
4438
  "description": "Per-mailbox progress entry in the sync-status response"
4430
4439
  },
4440
+ "RemitImap.MailboxSyncStatus": {
4441
+ "type": "string",
4442
+ "enum": [
4443
+ "synced",
4444
+ "pending",
4445
+ "failed",
4446
+ "deleting"
4447
+ ],
4448
+ "description": "Sync status for mailbox operations"
4449
+ },
4431
4450
  "RemitImap.MediaType": {
4432
4451
  "type": "string",
4433
4452
  "enum": [
@@ -6255,6 +6274,18 @@
6255
6274
  ],
6256
6275
  "description": "Plain-language name or editable label for this filter"
6257
6276
  },
6277
+ "scope": {
6278
+ "allOf": [
6279
+ {
6280
+ "$ref": "#/components/schemas/RemitImap.FilterScope"
6281
+ }
6282
+ ],
6283
+ "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."
6284
+ },
6285
+ "expiresAt": {
6286
+ "type": "string",
6287
+ "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."
6288
+ },
6258
6289
  "matchOperator": {
6259
6290
  "allOf": [
6260
6291
  {
@@ -6283,7 +6314,7 @@
6283
6314
  "default": "None"
6284
6315
  }
6285
6316
  },
6286
- "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)."
6317
+ "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)."
6287
6318
  },
6288
6319
  "RemitImap.UpdateFlagsInput": {
6289
6320
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-spec",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "description": "Remit API OpenAPI 3 document, generated from TypeSpec.",
5
5
  "exports": {
6
6
  ".": "./openapi.json",