@remit/api-openapi-types 0.0.32 → 0.0.34

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 +66 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-types",
3
- "version": "0.0.32",
3
+ "version": "0.0.34",
4
4
  "type": "module",
5
5
  "main": "types.d.ts",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -69,6 +69,10 @@ writer can reach is a vocabulary that lies about what the field means.
69
69
  * Phase of the initial account sync lifecycle
70
70
  */
71
71
  export type SyncPhase = "idle" | "discovering_mailboxes" | "syncing_inbox" | "syncing_others" | "complete" | "error";
72
+ /**
73
+ * Where a resolved FolderAppointment came from. Total and required: every role carries one, so a surface can tell a folder somebody chose from a folder reader guessed without inferring it from which fields happen to be present.
74
+ */
75
+ export type FolderAppointmentSource = "Appointed" | "Flagged" | "Reserved" | "Proposed" | "Stale" | "None";
72
76
  /**
73
77
  * Outcome of the most recent manifest check. `ok` when a manifest was fetched and validated, `failed` when it could not be, `disabled` when no manifest URL is configured or no check has ever run (RFC 037 D8).
74
78
  */
@@ -244,7 +248,7 @@ distinguishable from a network failure without parsing prose.
244
248
  /**
245
249
  * Known user-setting keys. Each maps, in the registry, to a required value kind and a zod schema. New keys are added deliberately by extending this enum and the registry — never as an ad-hoc column.
246
250
  */
247
- export type AccountSettingName = "Theme" | "Density" | "DefaultComposerFormat" | "PinnedFolders" | "AccountSignaturePlainText" | "AccountSignatureHtml" | "AccountDisplayName" | "AccountMuted" | "AccountComposeLanguages" | "MailboxDisplayName" | "MailboxMuted" | "FolderRoleAppointment" | "MailboxRole";
251
+ export type AccountSettingName = "Theme" | "Density" | "DefaultComposerFormat" | "PinnedFolders" | "AccountSignaturePlainText" | "AccountSignatureHtml" | "AccountDisplayName" | "AccountMuted" | "AccountComposeLanguages" | "MailboxDisplayName" | "MailboxMuted" | "FolderRoleAppointment" | "FolderRoleAppointmentLabel" | "MailboxRole";
248
252
  /**
249
253
  * Explicit state engine for a pending placement-move marker (issue #1271, epic #1281). Recovery keys off this field, not control-flow inference: a redelivered/retried call drives a marker forward from whichever state it is actually in, rather than re-deriving intent by comparing the message's current location.
250
254
  */
@@ -329,6 +333,48 @@ a compile-time error rather than a value that silently sorts incorrectly.
329
333
  continuationToken?: String800;
330
334
  items: any[];
331
335
  }
336
+ /**
337
+ * An action was refused because the folder role it needs is not settled. The body is flat: `code`, `message` and `details` sit at the top level, which is what the API emits. Clients branch on `code` and word their prompt from `details`, never from `message`.
338
+
339
+ `code: "folder_role_unresolved"` — no folder holds the role this action needs. `details` carries `role`, `accountId`, and `reason`, one of: `none` (the account has no candidate folder), `stale` (the folder the user appointed is gone from the mail server), `unconfirmed` (a folder matches by name, but neither the user nor the server's own flag ever said it holds the role).
340
+ */
341
+ export interface FolderRoleConflict {
342
+ statusCode: 409;
343
+ /**
344
+ * Error code
345
+ */
346
+ code: string;
347
+ /**
348
+ * Human-readable error message
349
+ */
350
+ message: string;
351
+ /**
352
+ * Additional error details
353
+ */
354
+ details?: Record;
355
+ }
356
+ /**
357
+ * The same flat 409 body as `FolderRoleConflict`, with one code only this endpoint can answer with.
358
+
359
+ `code: "folder_role_unresolved"` — as everywhere else, with `details` carrying `role`, `accountId` and `reason`.
360
+
361
+ `code: "mailbox_not_settled"` — the mailbox being appointed is still being created or deleted on the mail server, so it cannot yet hold a role. `details` carries `mailboxId` and `syncStatus`. Clearing a role is never refused this way.
362
+ */
363
+ export interface AppointFolderRoleConflict {
364
+ statusCode: 409;
365
+ /**
366
+ * Error code
367
+ */
368
+ code: string;
369
+ /**
370
+ * Human-readable error message
371
+ */
372
+ message: string;
373
+ /**
374
+ * Additional error details
375
+ */
376
+ details?: Record;
377
+ }
332
378
  export interface AmazonApiGatewayIntegration {
333
379
  type: "aws_proxy";
334
380
  httpMethod: "POST";
@@ -1129,9 +1175,21 @@ never from a raw content-type line — parameters carry `name=` and
1129
1175
  */
1130
1176
  role: CanonicalMailboxRole;
1131
1177
  /**
1132
- * The mailbox appointed to the role. Absent when the role is unfilled either nothing was detected yet, or the account genuinely has no such folder. When absent on a GET, this is a server-proposed best guess (SPECIAL-USE flag, then the reserved INBOX name, then a weak name hint) rather than a user's persisted choice; it becomes persisted only once the user calls appointFolderRole.
1178
+ * Where `mailboxId` came from. Read this rather than inferring provenance from the shape of the entry: only `Appointed` means a person decided, and only `Appointed` and `Flagged` are evidence strong enough to destroy mail with.
1179
+ */
1180
+ source: FolderAppointmentSource;
1181
+ /**
1182
+ * The mailbox this role resolves to. Absent when resolution names none — `source: None`, or a `Stale` appointment with nothing to fall back to.
1133
1183
  */
1134
1184
  mailboxId?: UUID;
1185
+ /**
1186
+ * The mailbox the user appointed, when the account no longer holds it. Present exactly when `source` is `Stale`; the appointment is kept rather than collected, so the user can repair it instead of silently losing the choice.
1187
+ */
1188
+ staleAppointmentMailboxId?: UUID;
1189
+ /**
1190
+ * The path that stale mailbox last had, recorded beside the appointment when it was made. Display only — resolution never reads it — and present only alongside `staleAppointmentMailboxId`, and only for an appointment made after the path was first recorded.
1191
+ */
1192
+ staleAppointmentPath?: String512;
1135
1193
  }
1136
1194
  /**
1137
1195
  * The self-update resource: the running version, the outcome of the most recent manifest check, and the state of the current or last run. One read serves every interface state. The check block and the run block are independent by construction (RFC 037 D7).
@@ -4793,6 +4851,7 @@ declare namespace Paths {
4793
4851
  export type RequestBody = Components.Schemas.AppointFolderRoleInput;
4794
4852
  namespace Responses {
4795
4853
  export type $200 = void;
4854
+ export type $409 = void;
4796
4855
  }
4797
4856
  }
4798
4857
  namespace ListFilters {
@@ -4922,6 +4981,7 @@ declare namespace Paths {
4922
4981
  }
4923
4982
  namespace Responses {
4924
4983
  export type $200 = void;
4984
+ export type $409 = void;
4925
4985
  }
4926
4986
  }
4927
4987
  namespace TriggerSync {
@@ -5179,6 +5239,7 @@ declare namespace Paths {
5179
5239
  export type RequestBody = Components.Schemas.DeleteMessagesInput;
5180
5240
  namespace Responses {
5181
5241
  export type $200 = void;
5242
+ export type $409 = void;
5182
5243
  }
5183
5244
  }
5184
5245
  namespace MoveMessages {
@@ -6344,6 +6405,8 @@ export type ValidationError = Components.Schemas.ValidationError;
6344
6405
  export type ApiError = Components.Schemas.ApiError;
6345
6406
  export type AccessPattern = Components.Schemas.AccessPattern;
6346
6407
  export type ResultList = Components.Schemas.ResultList;
6408
+ export type FolderRoleConflict = Components.Schemas.FolderRoleConflict;
6409
+ export type AppointFolderRoleConflict = Components.Schemas.AppointFolderRoleConflict;
6347
6410
  export type AmazonApiGatewayIntegration = Components.Schemas.AmazonApiGatewayIntegration;
6348
6411
  export type NotFoundError = Components.Schemas.NotFoundError;
6349
6412
  export type InternalServerError = Components.Schemas.InternalServerError;
@@ -6490,6 +6553,7 @@ export type AccountConfigState = Components.Schemas.AccountConfigState;
6490
6553
  export type AccountAuthType = Components.Schemas.AccountAuthType;
6491
6554
  export type ConnectionState = Components.Schemas.ConnectionState;
6492
6555
  export type SyncPhase = Components.Schemas.SyncPhase;
6556
+ export type FolderAppointmentSource = Components.Schemas.FolderAppointmentSource;
6493
6557
  export type SystemUpdateCheckStatus = Components.Schemas.SystemUpdateCheckStatus;
6494
6558
  export type SystemUpdatePhase = Components.Schemas.SystemUpdatePhase;
6495
6559
  export type SystemUpdateOutcome = Components.Schemas.SystemUpdateOutcome;