@remit/api-openapi-types 0.0.110 → 0.0.111

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 +96 -26
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-types",
3
- "version": "0.0.110",
3
+ "version": "0.0.111",
4
4
  "type": "module",
5
5
  "main": "types.d.ts",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -253,6 +253,10 @@ current enum emitter anyway, so the wire contract uses the bare form.
253
253
  * Why a classification provider cannot run.
254
254
  */
255
255
  export type ClassificationUnrunnableReason = "NoBaseUrl" | "NoApiKey";
256
+ /**
257
+ * What a `Junk` verdict of one kind does (RFC 041). The owner picks one for `Spam` and one for `Phishing`.
258
+ */
259
+ export type SpamLabelPlacement = "MoveToSpam" | "WarnOnly";
256
260
  /**
257
261
  * Why a classification provider call gave no usable answer.
258
262
  */
@@ -265,6 +269,14 @@ current enum emitter anyway, so the wire contract uses the bare form.
265
269
  * 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.
266
270
  */
267
271
  export type MessageCategory = "uncategorized" | "personal" | "newsletter" | "marketing" | "automated" | "transactional" | "social" | "coldOutreach";
272
+ /**
273
+ * What the spam service tells Remit to do with a checked message (RFC 041).
274
+ */
275
+ export type SpamAction = "None" | "Warn" | "Junk";
276
+ /**
277
+ * What the spam service suspects a checked message of (RFC 041).
278
+ */
279
+ export type SpamKind = "Spam" | "Phishing";
268
280
  /**
269
281
  * Sort order for list operations
270
282
  */
@@ -316,14 +328,6 @@ explained to the user as a failed delete.
316
328
  * The stage 1 rule that let a message through without a spam check, when the sender decided it (RFC 041).
317
329
  */
318
330
  export type SpamSenderScreenRule = "ReportedSender" | "NeverSpam" | "Vip" | "WellKnown" | "Newsletter";
319
- /**
320
- * What the spam service tells Remit to do with a checked message (RFC 041).
321
- */
322
- export type SpamAction = "None" | "Warn" | "Junk";
323
- /**
324
- * What the spam service suspects a checked message of (RFC 041).
325
- */
326
- export type SpamKind = "Spam" | "Phishing";
327
331
  /**
328
332
  * The stable name of one check the spam service ran and found something with (RFC 041). A client holds one sentence per name.
329
333
  */
@@ -360,10 +364,6 @@ distinguishable from a network failure without parsing prose.
360
364
  * Whether the header classifier has examined a message's body (issue #331). Persistence-level state on `Message`, deliberately off the wire: no response model carries it. It exists because `category` cannot answer this question — `uncategorized` is both the value a metadata-synced row starts at and the answer the classifier gives when it has nothing to say, so a guard reading `category` alone cannot tell "never examined" from "examined and declined" and re-reads the stored body on every sync pass forever.
361
365
  */
362
366
  export type MessageClassificationState = "NotExamined" | "Examined";
363
- /**
364
- * Sender-authenticity tier for a message, resolved at body-sync from the trusted Authentication-Results header and the sender's pair-keyed standing. First match wins, in tier order: `Impersonation`, `Aligned`, `Authenticated`, `Routine`, `NotChecked`, `Caution`. `NotEvaluated` is the sentinel for a message the derivation has never run on — it is the default and what every message written before this field existed carries, and it is distinct from `NotChecked`, which is a result.
365
- */
366
- export type AuthenticityVerdict = "NotEvaluated" | "NotChecked" | "Aligned" | "Authenticated" | "Routine" | "Caution" | "Impersonation";
367
367
  /**
368
368
  * Authentication verdict for a single auth mechanism, as reported in the Authentication-Results header.
369
369
  */
@@ -439,7 +439,7 @@ distinguishable from a network failure without parsing prose.
439
439
  /**
440
440
  * 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.
441
441
  */
442
- export type AccountSettingName = "Theme" | "Density" | "DefaultComposerFormat" | "PinnedFolders" | "AccountSignaturePlainText" | "AccountSignatureHtml" | "AccountDisplayName" | "AccountMuted" | "AccountComposeLanguages" | "MailboxDisplayName" | "MailboxMuted" | "FolderRoleAppointment" | "FolderRoleAppointmentLabel" | "MailboxRole" | "DefaultInvitationSenderAccountId" | "ClassificationPresetId" | "ClassificationModel" | "ClassificationBaseUrl" | "ClassificationApiKey" | "ClassificationEnabled" | "ClassificationDailyLimit" | "ClassificationUsage";
442
+ export type AccountSettingName = "Theme" | "Density" | "DefaultComposerFormat" | "PinnedFolders" | "AccountSignaturePlainText" | "AccountSignatureHtml" | "AccountDisplayName" | "AccountMuted" | "AccountComposeLanguages" | "MailboxDisplayName" | "MailboxMuted" | "FolderRoleAppointment" | "FolderRoleAppointmentLabel" | "MailboxRole" | "DefaultInvitationSenderAccountId" | "ClassificationPresetId" | "ClassificationModel" | "ClassificationBaseUrl" | "ClassificationApiKey" | "ClassificationEnabled" | "ClassificationDailyLimit" | "ClassificationUsage" | "SpamPlacementSpam" | "SpamPlacementPhishing";
443
443
  /**
444
444
  * Lifecycle of one applied configuration import. An import is Complete the moment every folder reference in the file has been bound to a real mailbox; until then it is Pending, waiting on the IMAP discovery that will produce those mailboxes.
445
445
  */
@@ -3861,6 +3861,10 @@ field on this resource rather than one more operation.
3861
3861
  * The classification provider in effect, `Unrunnable` when one is chosen but cannot run, or `NotConfigured`.
3862
3862
  */
3863
3863
  classification: ClassificationNotConfigured | ClassificationConfigured | ClassificationUnrunnable;
3864
+ /**
3865
+ * How Remit acts on spam verdicts.
3866
+ */
3867
+ spam: SpamSettings;
3864
3868
  }
3865
3869
  /**
3866
3870
  * A classification provider the reader can pick.
@@ -3987,6 +3991,37 @@ field on this resource rather than one more operation.
3987
3991
  presetId: ClassificationPresetId;
3988
3992
  reason: ClassificationUnrunnableReason;
3989
3993
  }
3994
+ /**
3995
+ * How Remit acts on spam verdicts for the caller.
3996
+ */
3997
+ export interface SpamSettings {
3998
+ /**
3999
+ * The thresholds in effect. They come from the deployment (`SPAM_CLEAN_BELOW` and `SPAM_AT`). `Unset` when the deployment uses rspamd, which applies its own.
4000
+ */
4001
+ thresholds: SpamThresholdsUnset | SpamThresholdsSet;
4002
+ /**
4003
+ * What a `Junk` verdict of kind `Spam` does.
4004
+ */
4005
+ spamPlacement: SpamLabelPlacement;
4006
+ /**
4007
+ * What a `Junk` verdict of kind `Phishing` does.
4008
+ */
4009
+ phishingPlacement: SpamLabelPlacement;
4010
+ }
4011
+ /**
4012
+ * No thresholds are set, so every verdict's action is `None` and nothing moves.
4013
+ */
4014
+ export interface SpamThresholdsUnset {
4015
+ state: "Unset";
4016
+ }
4017
+ /**
4018
+ * The two scores that turn a spam score into an action: below `cleanBelow` nothing happens, from `spamAt` up the message goes to Junk, and between the two the owner is warned.
4019
+ */
4020
+ export interface SpamThresholdsSet {
4021
+ state: "Set";
4022
+ cleanBelow: number;
4023
+ spamAt: number;
4024
+ }
3990
4025
  /**
3991
4026
  * A change to the caller's settings. Every field is optional and absence means untouched.
3992
4027
  */
@@ -4019,6 +4054,14 @@ field on this resource rather than one more operation.
4019
4054
  * The most classification calls per mail account per UTC day. Needs a provider in effect, saved or inherited.
4020
4055
  */
4021
4056
  classificationDailyLimit?: number;
4057
+ /**
4058
+ * What a `Junk` verdict of kind `Spam` does: move the message to Junk, or warn only. Applies to mail arriving from now on.
4059
+ */
4060
+ spamPlacementSpam?: SpamLabelPlacement;
4061
+ /**
4062
+ * What a `Junk` verdict of kind `Phishing` does: move the message to Junk, or warn only. Applies to mail arriving from now on.
4063
+ */
4064
+ spamPlacementPhishing?: SpamLabelPlacement;
4022
4065
  }
4023
4066
  /**
4024
4067
  * The classification provider form as it stands, saved or not.
@@ -4100,6 +4143,14 @@ field on this resource rather than one more operation.
4100
4143
  */
4101
4144
  byLabel: ClassifierLabelCount[];
4102
4145
  corrections: ClassifierCorrections;
4146
+ /**
4147
+ * Spam verdicts of action `Warn` or `Junk` per arrival day, action and kind, in date order. A day with none is absent.
4148
+ */
4149
+ spamByDay: SpamDayCount[];
4150
+ /**
4151
+ * Checked messages per spam score band of width 0.05, lowest first. A band with none is absent. Summing the bands from a threshold up counts the messages that threshold reaches.
4152
+ */
4153
+ spamScoreBands: SpamScoreBand[];
4103
4154
  }
4104
4155
  /**
4105
4156
  * Examined messages in one category.
@@ -4128,6 +4179,28 @@ field on this resource rather than one more operation.
4128
4179
  */
4129
4180
  categoryOverridden: number;
4130
4181
  }
4182
+ /**
4183
+ * Spam verdicts on mail that arrived on one day, for one action and kind.
4184
+ */
4185
+ export interface SpamDayCount {
4186
+ /**
4187
+ * The arrival day, YYYY-MM-DD, in the zone offset of `since`.
4188
+ */
4189
+ date: string;
4190
+ /**
4191
+ * `Warn` or `Junk`: the judge's action, before the owner's per-label setting.
4192
+ */
4193
+ action: SpamAction;
4194
+ kind: SpamKind;
4195
+ count: number;
4196
+ }
4197
+ /**
4198
+ * Checked messages whose spam score falls in one band, `from` inclusive to `from + 0.05` exclusive; the last band includes 1.
4199
+ */
4200
+ export interface SpamScoreBand {
4201
+ from: number;
4202
+ count: number;
4203
+ }
4131
4204
  /**
4132
4205
  * Tasks due in the requested window, in due order. Unpaginated: the window is the bound.
4133
4206
  */
@@ -6002,10 +6075,6 @@ either way and cannot tell which it received.
6002
6075
  * Structured sender-authenticity signal derived from DKIM headers at classification time. Absent for messages classified before this field was introduced — absence means no signal.
6003
6076
  */
6004
6077
  authenticity?: MessageAuthenticity;
6005
- /**
6006
- * Sender-authenticity tier resolved at body-sync. Defaults to `NotEvaluated`, the named pending state every message written before the derivation existed carries. Top-level rather than a member of `authenticity` on purpose: that blob is absent for all unsigned mail, so a guard keyed on its absence cannot tell "never derived" from "nothing to derive" and would re-derive unsigned mail forever.
6007
- */
6008
- authenticityVerdict: AuthenticityVerdict;
6009
6078
  /**
6010
6079
  * Provider authentication-results signal parsed from Authentication-Results header. Absent for messages synced before this field was introduced.
6011
6080
  */
@@ -6193,10 +6262,6 @@ either way and cannot tell which it received.
6193
6262
  * Structured sender-authenticity signal derived from DKIM headers at classification time. Absent for messages classified before this field was introduced — absence means no signal.
6194
6263
  */
6195
6264
  authenticity?: MessageAuthenticity;
6196
- /**
6197
- * Sender-authenticity tier resolved at body-sync. Defaults to `NotEvaluated`, the named pending state every message written before the derivation existed carries. Top-level rather than a member of `authenticity` on purpose: that blob is absent for all unsigned mail, so a guard keyed on its absence cannot tell "never derived" from "nothing to derive" and would re-derive unsigned mail forever.
6198
- */
6199
- authenticityVerdict: AuthenticityVerdict;
6200
6265
  /**
6201
6266
  * Provider authentication-results signal parsed from Authentication-Results header. Absent for messages synced before this field was introduced.
6202
6267
  */
@@ -9566,7 +9631,7 @@ reader organizes the event, none otherwise.
9566
9631
  config?: AxiosRequestConfig
9567
9632
  ): OperationResponse<Paths.TestClassificationProvider.Responses.$200>;
9568
9633
  /**
9569
- * ClassificationStatsOperations_getClassificationStats - Count what the classifier decided for mail that arrived on or after `since`, and how often the reader corrected it. Refused with 400 when `since` is not an ISO 8601 date-time with zone offset.
9634
+ * ClassificationStatsOperations_getClassificationStats - Count what the classifier and the spam service decided for mail that arrived on or after `since`, and how often the reader corrected it. Refused with 400 when `since` is not an ISO 8601 date-time with zone offset.
9570
9635
  */
9571
9636
  'ClassificationStatsOperations_getClassificationStats'(
9572
9637
  parameters?: Parameters<Paths.GetClassificationStats.QueryParameters> | null,
@@ -10562,7 +10627,7 @@ reader organizes the event, none otherwise.
10562
10627
  };
10563
10628
  ['/classification-stats']: {
10564
10629
  /**
10565
- * ClassificationStatsOperations_getClassificationStats - Count what the classifier decided for mail that arrived on or after `since`, and how often the reader corrected it. Refused with 400 when `since` is not an ISO 8601 date-time with zone offset.
10630
+ * ClassificationStatsOperations_getClassificationStats - Count what the classifier and the spam service decided for mail that arrived on or after `since`, and how often the reader corrected it. Refused with 400 when `since` is not an ISO 8601 date-time with zone offset.
10566
10631
  */
10567
10632
  'get'(
10568
10633
  parameters?: Parameters<Paths.GetClassificationStats.QueryParameters> | null,
@@ -12013,6 +12078,9 @@ export type ClassificationSources = Components.Schemas.ClassificationSources;
12013
12078
  export type ClassificationUsage = Components.Schemas.ClassificationUsage;
12014
12079
  export type ClassificationCostPriced = Components.Schemas.ClassificationCostPriced;
12015
12080
  export type ClassificationUnrunnable = Components.Schemas.ClassificationUnrunnable;
12081
+ export type SpamSettings = Components.Schemas.SpamSettings;
12082
+ export type SpamThresholdsUnset = Components.Schemas.SpamThresholdsUnset;
12083
+ export type SpamThresholdsSet = Components.Schemas.SpamThresholdsSet;
12016
12084
  export type UpdateUserSettingsInput = Components.Schemas.UpdateUserSettingsInput;
12017
12085
  export type ClassificationTestInput = Components.Schemas.ClassificationTestInput;
12018
12086
  export type ClassificationTestPassed = Components.Schemas.ClassificationTestPassed;
@@ -12021,6 +12089,8 @@ export type ClassifierStats = Components.Schemas.ClassifierStats;
12021
12089
  export type ClassifierCategoryCount = Components.Schemas.ClassifierCategoryCount;
12022
12090
  export type ClassifierLabelCount = Components.Schemas.ClassifierLabelCount;
12023
12091
  export type ClassifierCorrections = Components.Schemas.ClassifierCorrections;
12092
+ export type SpamDayCount = Components.Schemas.SpamDayCount;
12093
+ export type SpamScoreBand = Components.Schemas.SpamScoreBand;
12024
12094
  export type CalendarTaskListResponse = Components.Schemas.CalendarTaskListResponse;
12025
12095
  export type CalendarTask = Components.Schemas.CalendarTask;
12026
12096
  export type CalendarTaskResponse = Components.Schemas.CalendarTaskResponse;
@@ -12207,9 +12277,12 @@ export type ClassificationPresetGroup = Components.Schemas.ClassificationPresetG
12207
12277
  export type ClassificationAdapterShape = Components.Schemas.ClassificationAdapterShape;
12208
12278
  export type ClassificationValueSource = Components.Schemas.ClassificationValueSource;
12209
12279
  export type ClassificationUnrunnableReason = Components.Schemas.ClassificationUnrunnableReason;
12280
+ export type SpamLabelPlacement = Components.Schemas.SpamLabelPlacement;
12210
12281
  export type ClassificationFailureKind = Components.Schemas.ClassificationFailureKind;
12211
12282
  export type ClassificationField = Components.Schemas.ClassificationField;
12212
12283
  export type MessageCategory = Components.Schemas.MessageCategory;
12284
+ export type SpamAction = Components.Schemas.SpamAction;
12285
+ export type SpamKind = Components.Schemas.SpamKind;
12213
12286
  export type SortOrder = Components.Schemas.SortOrder;
12214
12287
  export type StarColor = Components.Schemas.StarColor;
12215
12288
  export type SenderTrust = Components.Schemas.SenderTrust;
@@ -12220,8 +12293,6 @@ export type MessageMutation = Components.Schemas.MessageMutation;
12220
12293
  export type PlacementAction = Components.Schemas.PlacementAction;
12221
12294
  export type PlacementConfidence = Components.Schemas.PlacementConfidence;
12222
12295
  export type SpamSenderScreenRule = Components.Schemas.SpamSenderScreenRule;
12223
- export type SpamAction = Components.Schemas.SpamAction;
12224
- export type SpamKind = Components.Schemas.SpamKind;
12225
12296
  export type SpamReasonName = Components.Schemas.SpamReasonName;
12226
12297
  export type SpamModelOutcome = Components.Schemas.SpamModelOutcome;
12227
12298
  export type SpamFailureKind = Components.Schemas.SpamFailureKind;
@@ -12229,7 +12300,6 @@ export type OutboxAttachmentState = Components.Schemas.OutboxAttachmentState;
12229
12300
  export type OutboxAttachmentRejectionReason = Components.Schemas.OutboxAttachmentRejectionReason;
12230
12301
  export type AddressFlagKey = Components.Schemas.AddressFlagKey;
12231
12302
  export type MessageClassificationState = Components.Schemas.MessageClassificationState;
12232
- export type AuthenticityVerdict = Components.Schemas.AuthenticityVerdict;
12233
12303
  export type AuthResultVerdict = Components.Schemas.AuthResultVerdict;
12234
12304
  export type AddressRole = Components.Schemas.AddressRole;
12235
12305
  export type MediaType = Components.Schemas.MediaType;