@remit/api-openapi-spec 0.0.47 → 0.0.49

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 +44 -7
  2. package/package.json +1 -1
package/openapi.json CHANGED
@@ -7687,7 +7687,8 @@
7687
7687
  "fullPath",
7688
7688
  "phase",
7689
7689
  "messagesTotal",
7690
- "messagesSynced"
7690
+ "messagesSynced",
7691
+ "highWaterMarkUid"
7691
7692
  ],
7692
7693
  "properties": {
7693
7694
  "mailboxId": {
@@ -7716,6 +7717,11 @@
7716
7717
  "format": "int32",
7717
7718
  "description": "Approximate number of messages synced. Computed as highWaterMarkUid − lastSyncUid (UID-range approximation; UIDs are sparse so this may undercount). Clamped to messagesTotal."
7718
7719
  },
7720
+ "highWaterMarkUid": {
7721
+ "type": "integer",
7722
+ "format": "int64",
7723
+ "description": "The highest UID ever seen in this mailbox. An arrival is a UID above the highest one seen; a total is not, because one message in and one out nets to zero. A mailbox that has never synced carries the sentinel 0 rather than an absent field."
7724
+ },
7719
7725
  "lastSyncedAt": {
7720
7726
  "type": "integer",
7721
7727
  "format": "int64",
@@ -7835,6 +7841,16 @@
7835
7841
  ],
7836
7842
  "description": "Header-derived message category. Set by classifyByHeaders during body-sync. Defaults to `uncategorized`, which covers both a message that has not been classified yet and one the classifier declined to categorize; `Message.classificationState` is what tells those apart."
7837
7843
  },
7844
+ "RemitImap.MessageMutation": {
7845
+ "type": "string",
7846
+ "enum": [
7847
+ "none",
7848
+ "move",
7849
+ "delete",
7850
+ "copy"
7851
+ ],
7852
+ "description": "Which mutation a message's placement gave up on. Read it only while\n`syncStatus` is `abandoned` — outside that it is `none` and says nothing,\nthe way `originalUid` says nothing once a placement has settled\n(`docs/architecture/imap-mutations.md` R3).\n\nIt exists because a hand-back erases the evidence: the give-up puts `status`\nback to `active`, and `status` was the only field naming the mutation that\nwas outstanding. Without this the client can see that something was\nabandoned and cannot see what, which is how a move that gave up came to be\nexplained to the user as a failed delete."
7853
+ },
7838
7854
  "RemitImap.MessageReferenceResponse": {
7839
7855
  "type": "object",
7840
7856
  "required": [
@@ -7900,7 +7916,8 @@
7900
7916
  "rfc822Size",
7901
7917
  "internalDate",
7902
7918
  "status",
7903
- "syncStatus"
7919
+ "syncStatus",
7920
+ "abandonedMutation"
7904
7921
  ],
7905
7922
  "properties": {
7906
7923
  "messageId": {
@@ -7962,10 +7979,20 @@
7962
7979
  "$ref": "#/components/schemas/RemitImap.MessageSyncStatus"
7963
7980
  }
7964
7981
  ],
7965
- "description": "Sync status for move/delete operations. The `synced` column default only applies to a row written without the field: the repository always supplies one, and an ordinary inbound sync writes `pending`, which nothing later promotes. So `pending` here does not mean an outstanding move or delete — `status` names that, and `failed` marks a mutation that gave up.",
7982
+ "description": "Sync status for move/delete operations, read as a pair with `status` (imap-mutations R3). The `synced` column default only applies to a row written without the field: the repository always supplies one, and an ordinary inbound sync writes `pending`, which nothing later promotes. So `pending` here does not mean an outstanding move or delete — `status` names that, `failed` marks an attempt about to be redelivered, and `abandoned` marks a mutation that gave up.",
7966
7983
  "default": "synced",
7967
7984
  "readOnly": true
7968
7985
  },
7986
+ "abandonedMutation": {
7987
+ "allOf": [
7988
+ {
7989
+ "$ref": "#/components/schemas/RemitImap.MessageMutation"
7990
+ }
7991
+ ],
7992
+ "description": "Which mutation gave up on this message. Meaningful only while `syncStatus` is `abandoned`; `none` everywhere else, so the absent state is a named value rather than a missing attribute. Written by the same transition that writes `abandoned`, because a hand-back sets `status` back to `active` and that is the field which named the mutation.",
7993
+ "default": "none",
7994
+ "readOnly": true
7995
+ },
7969
7996
  "authenticity": {
7970
7997
  "allOf": [
7971
7998
  {
@@ -8006,9 +8033,10 @@
8006
8033
  "enum": [
8007
8034
  "synced",
8008
8035
  "pending",
8009
- "failed"
8036
+ "failed",
8037
+ "abandoned"
8010
8038
  ],
8011
- "description": "Sync status for message move/delete operations"
8039
+ "description": "Sync status for message move/delete operations. Read it as a pair with\n`MessageStatus`, never alone — the six placement states and the transitions\nbetween them are `docs/architecture/imap-mutations.md` R3."
8012
8040
  },
8013
8041
  "RemitImap.MintOutboxAttachmentInput": {
8014
8042
  "type": "object",
@@ -9547,7 +9575,8 @@
9547
9575
  "senderTrust",
9548
9576
  "muted",
9549
9577
  "status",
9550
- "syncStatus"
9578
+ "syncStatus",
9579
+ "abandonedMutation"
9551
9580
  ],
9552
9581
  "properties": {
9553
9582
  "threadMessageId": {
@@ -9707,7 +9736,15 @@
9707
9736
  "$ref": "#/components/schemas/RemitImap.MessageSyncStatus"
9708
9737
  }
9709
9738
  ],
9710
- "description": "Sync status of the underlying Message, projected at read time. Read it WITH `status`, never alone: `message-move`, `message-delete` and `message-copy` all write `failed` on an ordinary transient attempt before a redelivery that usually succeeds, so `failed` by itself does not mean a mutation gave up. One pair does prove one: `active` + `failed`, written only by `abandonDelete` — a delete Remit refused to run and handed back. Nothing else here is decidable. A move that gave up leaves `moving` + `failed`, the same pair its first dropped connection leaves; a delete that exhausted its retries is repaired to `active` + `synced` and reads as settled; `flag-push` and `placement-move-push` never write either field."
9739
+ "description": "Sync status of the underlying Message, projected at read time. Read it WITH `status`, never alone (imap-mutations R3): `message-move`, `message-delete` and `message-copy` all write `failed` on an ordinary transient attempt before a redelivery that usually succeeds, so `failed` never means a mutation gave up. Give-up is `active` + `abandoned`, and that pair is decidable on its own — the row has been put back on a placement the server holds and nothing else is coming for it. A mutation that exhausted its retries and was repaired against IMAP settles to `active` + `synced` and reads as settled."
9740
+ },
9741
+ "abandonedMutation": {
9742
+ "allOf": [
9743
+ {
9744
+ "$ref": "#/components/schemas/RemitImap.MessageMutation"
9745
+ }
9746
+ ],
9747
+ "description": "Which mutation gave up on the underlying Message, projected at read time. Read it only where `syncStatus` is `abandoned`; `none` otherwise. This is what lets a surface name the operation that actually failed — before it existed, a move that handed back and a delete that was refused were the same two values on the wire, and the client called both a failed delete."
9711
9748
  },
9712
9749
  "accountId": {
9713
9750
  "allOf": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-spec",
3
- "version": "0.0.47",
3
+ "version": "0.0.49",
4
4
  "description": "Remit API OpenAPI 3 document, generated from TypeSpec.",
5
5
  "exports": {
6
6
  ".": "./openapi.json",