@remit/api-openapi-types 0.0.42 → 0.0.43

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 +379 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-types",
3
- "version": "0.0.42",
3
+ "version": "0.0.43",
4
4
  "type": "module",
5
5
  "main": "types.d.ts",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -261,6 +261,18 @@ distinguishable from a network failure without parsing prose.
261
261
  * Manual bulk label action (issue #26) — apply or remove a label on a `just these` selection. Never sets `appliedByFilterId`: that field is reserved for filter-driven applies (RFC 034 Decision 3.3).
262
262
  */
263
263
  export type LabelAction = "Apply" | "Remove";
264
+ /**
265
+ * What has become of a suggestion. `Pending` is the only state that asks a person for anything; every other value is a decision already taken, and nothing but an explicit act moves a suggestion out of `Pending`.
266
+ */
267
+ export type CalendarSuggestionState = "Pending" | "Accepted" | "Declined" | "Tentative" | "Dismissed" | "Superseded";
268
+ /**
269
+ * The iTIP method a scheduling message carries (RFC 5546 3.2), read from the VCALENDAR's METHOD property. It says what the sender is asking for, which is not derivable from the VEVENT: a cancellation and an invitation differ by this property alone.
270
+ */
271
+ export type CalendarInviteMethod = "Request" | "Reply" | "Cancel" | "Counter" | "Publish" | "None";
272
+ /**
273
+ * Where in a message a suggestion was read from. It is what a card says to explain itself, and it is what separates a suggestion carrying real iCalendar from one inferred out of prose.
274
+ */
275
+ export type CalendarSuggestionSource = "IcalendarPart" | "IcalendarAttachment" | "TextHeuristic";
264
276
  /**
265
277
  * System message flags defined in RFC 9051 Section 2.3.2 - MUST be supported by all servers
266
278
  */
@@ -4844,6 +4856,198 @@ either way and cannot tell which it received.
4844
4856
  */
4845
4857
  reason: string;
4846
4858
  }
4859
+ /**
4860
+ * An event a message offers, waiting on a person (issue #1033).
4861
+
4862
+ A suggestion is not a calendar entry and never becomes one on its own. It is
4863
+ derived from a message, lives beside it, and belongs to no collection: it has
4864
+ no etag, no sync sequence, and a DAV client never sees one. Nothing reaches a
4865
+ calendar until someone presses the button, which is what separates this
4866
+ entity from `CalendarObject` — the two are distinct models rather than one
4867
+ model with a kind field, because everything that makes a stored resource a
4868
+ resource is exactly what a suggestion does not have.
4869
+
4870
+ `suggestionId` is derived from `(messageId, bodyPartId, icalUid)`, so a
4871
+ re-sync of the same message converges on the one row it wrote the first time
4872
+ instead of stacking a fresh card on the message every pass.
4873
+
4874
+ Revisions are a chain, not an edit. A later message carrying the same
4875
+ `icalUid` with a higher `SEQUENCE` leaves the earlier suggestion in place as
4876
+ `Superseded` and writes a new `Pending` one, so the message the older card
4877
+ came from still has its card and the user can see which revision they are
4878
+ being asked about. `METHOD:CANCEL` is a suggestion of its own for the same
4879
+ reason: withdrawing an event the user accepted is a change to their calendar,
4880
+ and no message may make that change without them.
4881
+ */
4882
+ export interface CalendarSuggestion {
4883
+ /**
4884
+ * Primary identifier, derived from messageId + bodyPartId + icalUid
4885
+ */
4886
+ suggestionId: UUID;
4887
+ /**
4888
+ * Owning account configuration
4889
+ */
4890
+ accountConfigId: UUID;
4891
+ /**
4892
+ * Message this suggestion was read out of. The card is offered beside this message and nowhere else.
4893
+ */
4894
+ messageId: UUID;
4895
+ /**
4896
+ * MIME part the iCalendar bytes came from. Part of the identity, so two invitations in one message stay two suggestions rather than overwriting each other.
4897
+ */
4898
+ bodyPartId: UUID;
4899
+ /**
4900
+ * The VEVENT's UID property (RFC 5545 3.8.4.7). What ties a revision, a cancellation and the original invitation together across three separate messages.
4901
+ */
4902
+ icalUid: String512;
4903
+ /**
4904
+ * The VEVENT's SEQUENCE property (RFC 5545 3.8.7.4) — the organizer's revision counter. A later message carrying the same `icalUid` with a higher value supersedes this one. `0` when the event declares none, which is the RFC default.
4905
+ */
4906
+ sequence: number;
4907
+ /**
4908
+ * The iTIP method the VCALENDAR declared. `None` when it declared no METHOD.
4909
+ */
4910
+ method: CalendarInviteMethod;
4911
+ /**
4912
+ * Where in the message this was read from
4913
+ */
4914
+ source: CalendarSuggestionSource;
4915
+ /**
4916
+ * What has become of this suggestion. Only `Pending` asks the user for anything.
4917
+ */
4918
+ state: CalendarSuggestionState;
4919
+ /**
4920
+ * Projection of the VEVENT's SUMMARY. `""` when the event carries none.
4921
+ */
4922
+ summary: String512;
4923
+ /**
4924
+ * Projection of the VEVENT's DTSTART as an ISO 8601 date-time with zone offset — a business date, not an epoch instant. An all-day event carries midnight in the event's own zone.
4925
+ */
4926
+ dtStart: String64;
4927
+ /**
4928
+ * Projection of the VEVENT's effective end as an ISO 8601 date-time with zone offset, resolved from DTEND or from DTSTART + DURATION. An event with neither ends when it starts (RFC 5545 3.6.1).
4929
+ */
4930
+ dtEnd: String64;
4931
+ /**
4932
+ * Whether DTSTART is a DATE rather than a DATE-TIME (RFC 5545 3.3.4) — an all-day or multi-day event, whose end is exclusive.
4933
+ */
4934
+ allDay: boolean;
4935
+ /**
4936
+ * Projection of the VEVENT's LOCATION. `""` when the event carries none.
4937
+ */
4938
+ location: String512;
4939
+ /**
4940
+ * Mail address of the VEVENT's ORGANIZER, without the `mailto:` scheme. `""` when the event names none — which is what a `PUBLISH` typically looks like, and why dismissing with `muteSender` mutes the message's sender rather than this field.
4941
+ */
4942
+ organizer: String256;
4943
+ /**
4944
+ * How the DTSTART above was placed on the clock. `Ambiguous` means the invitation named a zone nothing could resolve, so the time shown may be hours out — a card says so rather than presenting a guess as a fact.
4945
+ */
4946
+ zoneCertainty: ZoneCertainty;
4947
+ /**
4948
+ * The VCALENDAR text as it arrived in the message, byte for byte — CANONICAL when present. Accepting builds the stored resource out of these bytes, so an X- property nobody modelled survives into the calendar. `""` for a `TextHeuristic` suggestion, which was read out of prose and has no iCalendar behind it.
4949
+ */
4950
+ icalData: string;
4951
+ /**
4952
+ * The `CalendarObject` that accepting this suggestion wrote. `""` until it is accepted — the named absent state, never a missing attribute — and the resource's id afterwards, so the card can link to the event it produced.
4953
+ */
4954
+ acceptedCalendarObjectId: string;
4955
+ createdAt: number;
4956
+ updatedAt: number;
4957
+ }
4958
+ /**
4959
+ * A suggestion as the API returns it. The raw `icalData` is not surfaced: a client renders the projected fields, and the bytes exist so that accepting can write them into a calendar unchanged.
4960
+ */
4961
+ export interface CalendarSuggestionResponse {
4962
+ /**
4963
+ * Primary identifier, derived from messageId + bodyPartId + icalUid
4964
+ */
4965
+ suggestionId: UUID;
4966
+ /**
4967
+ * Owning account configuration
4968
+ */
4969
+ accountConfigId: UUID;
4970
+ /**
4971
+ * Message this suggestion was read out of. The card is offered beside this message and nowhere else.
4972
+ */
4973
+ messageId: UUID;
4974
+ /**
4975
+ * MIME part the iCalendar bytes came from. Part of the identity, so two invitations in one message stay two suggestions rather than overwriting each other.
4976
+ */
4977
+ bodyPartId: UUID;
4978
+ /**
4979
+ * The VEVENT's UID property (RFC 5545 3.8.4.7). What ties a revision, a cancellation and the original invitation together across three separate messages.
4980
+ */
4981
+ icalUid: String512;
4982
+ /**
4983
+ * The VEVENT's SEQUENCE property (RFC 5545 3.8.7.4) — the organizer's revision counter. A later message carrying the same `icalUid` with a higher value supersedes this one. `0` when the event declares none, which is the RFC default.
4984
+ */
4985
+ sequence: number;
4986
+ /**
4987
+ * The iTIP method the VCALENDAR declared. `None` when it declared no METHOD.
4988
+ */
4989
+ method: CalendarInviteMethod;
4990
+ /**
4991
+ * Where in the message this was read from
4992
+ */
4993
+ source: CalendarSuggestionSource;
4994
+ /**
4995
+ * What has become of this suggestion. Only `Pending` asks the user for anything.
4996
+ */
4997
+ state: CalendarSuggestionState;
4998
+ /**
4999
+ * Projection of the VEVENT's SUMMARY. `""` when the event carries none.
5000
+ */
5001
+ summary: String512;
5002
+ /**
5003
+ * Projection of the VEVENT's DTSTART as an ISO 8601 date-time with zone offset — a business date, not an epoch instant. An all-day event carries midnight in the event's own zone.
5004
+ */
5005
+ dtStart: String64;
5006
+ /**
5007
+ * Projection of the VEVENT's effective end as an ISO 8601 date-time with zone offset, resolved from DTEND or from DTSTART + DURATION. An event with neither ends when it starts (RFC 5545 3.6.1).
5008
+ */
5009
+ dtEnd: String64;
5010
+ /**
5011
+ * Whether DTSTART is a DATE rather than a DATE-TIME (RFC 5545 3.3.4) — an all-day or multi-day event, whose end is exclusive.
5012
+ */
5013
+ allDay: boolean;
5014
+ /**
5015
+ * Projection of the VEVENT's LOCATION. `""` when the event carries none.
5016
+ */
5017
+ location: String512;
5018
+ /**
5019
+ * Mail address of the VEVENT's ORGANIZER, without the `mailto:` scheme. `""` when the event names none — which is what a `PUBLISH` typically looks like, and why dismissing with `muteSender` mutes the message's sender rather than this field.
5020
+ */
5021
+ organizer: String256;
5022
+ /**
5023
+ * How the DTSTART above was placed on the clock. `Ambiguous` means the invitation named a zone nothing could resolve, so the time shown may be hours out — a card says so rather than presenting a guess as a fact.
5024
+ */
5025
+ zoneCertainty: ZoneCertainty;
5026
+ /**
5027
+ * The `CalendarObject` that accepting this suggestion wrote. `""` until it is accepted — the named absent state, never a missing attribute — and the resource's id afterwards, so the card can link to the event it produced.
5028
+ */
5029
+ acceptedCalendarObjectId: string;
5030
+ createdAt: number;
5031
+ updatedAt: number;
5032
+ }
5033
+ /**
5034
+ * Body of `POST /calendar-suggestions/{suggestionId}/accept`. Names the collection the event is written into; there is no default, because filing someone else's invitation into a calendar the user did not pick is a decision the server does not get to make.
5035
+ */
5036
+ export interface AcceptCalendarSuggestionInput {
5037
+ /**
5038
+ * Collection the accepted event is written into.
5039
+ */
5040
+ calendarId: UUID;
5041
+ }
5042
+ /**
5043
+ * Body of `POST /calendar-suggestions/{suggestionId}/dismiss`.
5044
+ */
5045
+ export interface DismissCalendarSuggestionInput {
5046
+ /**
5047
+ * Also stop offering invitations from this message's sender, by writing a standing `Filter` rule. `false` dismisses this one card and nothing else.
5048
+ */
5049
+ muteSender: boolean;
5050
+ }
4847
5051
  /**
4848
5052
  * Junction table linking envelope addresses to normalized addresses. Stores per-message display name since it may vary.
4849
5053
  */
@@ -6279,6 +6483,54 @@ declare namespace Paths {
6279
6483
  export type $200 = void;
6280
6484
  }
6281
6485
  }
6486
+ namespace ListCalendarSuggestions {
6487
+ export interface QueryParameters {
6488
+ state: Components.Schemas.CalendarSuggestionState;
6489
+ continuationToken?: string;
6490
+ }
6491
+ namespace Responses {
6492
+ export type $200 = void;
6493
+ export type $400 = void;
6494
+ }
6495
+ }
6496
+ namespace ListMessageCalendarSuggestions {
6497
+ export interface PathParameters {
6498
+ messageId: Components.Schemas.UUID;
6499
+ }
6500
+ namespace Responses {
6501
+ export type $200 = void;
6502
+ export type $400 = void;
6503
+ }
6504
+ }
6505
+ namespace AcceptCalendarSuggestion {
6506
+ export interface PathParameters {
6507
+ suggestionId: Components.Schemas.UUID;
6508
+ }
6509
+ export type RequestBody = Components.Schemas.AcceptCalendarSuggestionInput;
6510
+ namespace Responses {
6511
+ export type $200 = void;
6512
+ export type $400 = void;
6513
+ }
6514
+ }
6515
+ namespace DeclineCalendarSuggestion {
6516
+ export interface PathParameters {
6517
+ suggestionId: Components.Schemas.UUID;
6518
+ }
6519
+ namespace Responses {
6520
+ export type $200 = void;
6521
+ export type $400 = void;
6522
+ }
6523
+ }
6524
+ namespace DismissCalendarSuggestion {
6525
+ export interface PathParameters {
6526
+ suggestionId: Components.Schemas.UUID;
6527
+ }
6528
+ export type RequestBody = Components.Schemas.DismissCalendarSuggestionInput;
6529
+ namespace Responses {
6530
+ export type $200 = void;
6531
+ export type $400 = void;
6532
+ }
6533
+ }
6282
6534
  }
6283
6535
 
6284
6536
  export interface OperationMethods {
@@ -6926,6 +7178,61 @@ Callers that omit `query` are unaffected: the INBOX (and starred) listings behav
6926
7178
  data?: Paths.NotSpam.RequestBody,
6927
7179
  config?: AxiosRequestConfig
6928
7180
  ): OperationResponse<Paths.NotSpam.Responses.$200>;
7181
+ /**
7182
+ * listCalendarSuggestions - List the caller's suggestions in one state, newest first. `Pending` is the set that is waiting on a person and the one a client normally asks for.
7183
+ */
7184
+ 'listCalendarSuggestions'(
7185
+ parameters?: Parameters<Paths.ListCalendarSuggestions.QueryParameters> | null,
7186
+ data?: any,
7187
+ config?: AxiosRequestConfig
7188
+ ): OperationResponse<Paths.ListCalendarSuggestions.Responses.$200>;
7189
+ /**
7190
+ * listMessageCalendarSuggestions - Every suggestion read out of one message, in whatever state each has reached — a superseded revision included, so the card can say which revision replaced it.
7191
+ */
7192
+ 'listMessageCalendarSuggestions'(
7193
+ parameters?: Parameters<Paths.ListMessageCalendarSuggestions.PathParameters> | null,
7194
+ data?: any,
7195
+ config?: AxiosRequestConfig
7196
+ ): OperationResponse<Paths.ListMessageCalendarSuggestions.Responses.$200>;
7197
+ /**
7198
+ * acceptCalendarSuggestion - Add the suggested event to a calendar. One transaction: a VCALENDAR is
7199
+ built from the invitation's own bytes, keeping its UID and SEQUENCE and
7200
+ marking the user `ATTENDEE;PARTSTAT=ACCEPTED`, and written through the
7201
+ same service function every other calendar write goes through — so a web
7202
+ edit and a native edit of that event cannot diverge. Accepting a `Cancel`
7203
+ suggestion writes `STATUS:CANCELLED` on the resource the same way.
7204
+
7205
+ No reply is sent to the organizer. This endpoint sends no mail at all,
7206
+ and the card says so.
7207
+
7208
+ Idempotent: accepting an already-accepted suggestion rewrites the same
7209
+ resource and returns the same suggestion, because both the resource id
7210
+ and the suggestion id are derived rather than minted.
7211
+
7212
+ 400 when the suggestion is not one that can be accepted — already
7213
+ declined, dismissed or superseded — or when its iCalendar will not parse.
7214
+ */
7215
+ 'acceptCalendarSuggestion'(
7216
+ parameters?: Parameters<Paths.AcceptCalendarSuggestion.PathParameters> | null,
7217
+ data?: Paths.AcceptCalendarSuggestion.RequestBody,
7218
+ config?: AxiosRequestConfig
7219
+ ): OperationResponse<Paths.AcceptCalendarSuggestion.Responses.$200>;
7220
+ /**
7221
+ * declineCalendarSuggestion - Say no. Writes no calendar object and sends no reply to the organizer. Idempotent; 400 when the suggestion was already accepted, since a resource exists and declining would not remove it.
7222
+ */
7223
+ 'declineCalendarSuggestion'(
7224
+ parameters?: Parameters<Paths.DeclineCalendarSuggestion.PathParameters> | null,
7225
+ data?: any,
7226
+ config?: AxiosRequestConfig
7227
+ ): OperationResponse<Paths.DeclineCalendarSuggestion.Responses.$200>;
7228
+ /**
7229
+ * dismissCalendarSuggestion - Wave the card away. Writes no calendar object. With `muteSender`, also writes a standing `Filter` rule on the message's sender so their invitations stop being offered. Idempotent; 400 when the suggestion was already accepted.
7230
+ */
7231
+ 'dismissCalendarSuggestion'(
7232
+ parameters?: Parameters<Paths.DismissCalendarSuggestion.PathParameters> | null,
7233
+ data?: Paths.DismissCalendarSuggestion.RequestBody,
7234
+ config?: AxiosRequestConfig
7235
+ ): OperationResponse<Paths.DismissCalendarSuggestion.Responses.$200>;
6929
7236
  }
6930
7237
 
6931
7238
  export interface PathsDictionary {
@@ -7681,6 +7988,71 @@ Callers that omit `query` are unaffected: the INBOX (and starred) listings behav
7681
7988
  config?: AxiosRequestConfig
7682
7989
  ): OperationResponse<Paths.NotSpam.Responses.$200>;
7683
7990
  };
7991
+ ['/calendar-suggestions']: {
7992
+ /**
7993
+ * listCalendarSuggestions - List the caller's suggestions in one state, newest first. `Pending` is the set that is waiting on a person and the one a client normally asks for.
7994
+ */
7995
+ 'get'(
7996
+ parameters?: Parameters<Paths.ListCalendarSuggestions.QueryParameters> | null,
7997
+ data?: any,
7998
+ config?: AxiosRequestConfig
7999
+ ): OperationResponse<Paths.ListCalendarSuggestions.Responses.$200>;
8000
+ };
8001
+ ['/messages/{messageId}/calendar-suggestions']: {
8002
+ /**
8003
+ * listMessageCalendarSuggestions - Every suggestion read out of one message, in whatever state each has reached — a superseded revision included, so the card can say which revision replaced it.
8004
+ */
8005
+ 'get'(
8006
+ parameters?: Parameters<Paths.ListMessageCalendarSuggestions.PathParameters> | null,
8007
+ data?: any,
8008
+ config?: AxiosRequestConfig
8009
+ ): OperationResponse<Paths.ListMessageCalendarSuggestions.Responses.$200>;
8010
+ };
8011
+ ['/calendar-suggestions/{suggestionId}/accept']: {
8012
+ /**
8013
+ * acceptCalendarSuggestion - Add the suggested event to a calendar. One transaction: a VCALENDAR is
8014
+ built from the invitation's own bytes, keeping its UID and SEQUENCE and
8015
+ marking the user `ATTENDEE;PARTSTAT=ACCEPTED`, and written through the
8016
+ same service function every other calendar write goes through — so a web
8017
+ edit and a native edit of that event cannot diverge. Accepting a `Cancel`
8018
+ suggestion writes `STATUS:CANCELLED` on the resource the same way.
8019
+
8020
+ No reply is sent to the organizer. This endpoint sends no mail at all,
8021
+ and the card says so.
8022
+
8023
+ Idempotent: accepting an already-accepted suggestion rewrites the same
8024
+ resource and returns the same suggestion, because both the resource id
8025
+ and the suggestion id are derived rather than minted.
8026
+
8027
+ 400 when the suggestion is not one that can be accepted — already
8028
+ declined, dismissed or superseded — or when its iCalendar will not parse.
8029
+ */
8030
+ 'post'(
8031
+ parameters?: Parameters<Paths.AcceptCalendarSuggestion.PathParameters> | null,
8032
+ data?: Paths.AcceptCalendarSuggestion.RequestBody,
8033
+ config?: AxiosRequestConfig
8034
+ ): OperationResponse<Paths.AcceptCalendarSuggestion.Responses.$200>;
8035
+ };
8036
+ ['/calendar-suggestions/{suggestionId}/decline']: {
8037
+ /**
8038
+ * declineCalendarSuggestion - Say no. Writes no calendar object and sends no reply to the organizer. Idempotent; 400 when the suggestion was already accepted, since a resource exists and declining would not remove it.
8039
+ */
8040
+ 'post'(
8041
+ parameters?: Parameters<Paths.DeclineCalendarSuggestion.PathParameters> | null,
8042
+ data?: any,
8043
+ config?: AxiosRequestConfig
8044
+ ): OperationResponse<Paths.DeclineCalendarSuggestion.Responses.$200>;
8045
+ };
8046
+ ['/calendar-suggestions/{suggestionId}/dismiss']: {
8047
+ /**
8048
+ * dismissCalendarSuggestion - Wave the card away. Writes no calendar object. With `muteSender`, also writes a standing `Filter` rule on the message's sender so their invitations stop being offered. Idempotent; 400 when the suggestion was already accepted.
8049
+ */
8050
+ 'post'(
8051
+ parameters?: Parameters<Paths.DismissCalendarSuggestion.PathParameters> | null,
8052
+ data?: Paths.DismissCalendarSuggestion.RequestBody,
8053
+ config?: AxiosRequestConfig
8054
+ ): OperationResponse<Paths.DismissCalendarSuggestion.Responses.$200>;
8055
+ };
7684
8056
  }
7685
8057
 
7686
8058
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>;
@@ -7826,6 +8198,10 @@ export type CopyMessagesInput = Components.Schemas.CopyMessagesInput;
7826
8198
  export type UpdateMessageLabelsInput = Components.Schemas.UpdateMessageLabelsInput;
7827
8199
  export type SpamReportBulkResult = Components.Schemas.SpamReportBulkResult;
7828
8200
  export type SpamReportFailure = Components.Schemas.SpamReportFailure;
8201
+ export type CalendarSuggestion = Components.Schemas.CalendarSuggestion;
8202
+ export type CalendarSuggestionResponse = Components.Schemas.CalendarSuggestionResponse;
8203
+ export type AcceptCalendarSuggestionInput = Components.Schemas.AcceptCalendarSuggestionInput;
8204
+ export type DismissCalendarSuggestionInput = Components.Schemas.DismissCalendarSuggestionInput;
7829
8205
  export type EnvelopeAddress = Components.Schemas.EnvelopeAddress;
7830
8206
  export type ConfigImportUnresolvedRef = Components.Schemas.ConfigImportUnresolvedRef;
7831
8207
  export type ConfigImport = Components.Schemas.ConfigImport;
@@ -7909,6 +8285,9 @@ export type ContentDisposition = Components.Schemas.ContentDisposition;
7909
8285
  export type MultipartSubtype = Components.Schemas.MultipartSubtype;
7910
8286
  export type ReferenceType = Components.Schemas.ReferenceType;
7911
8287
  export type LabelAction = Components.Schemas.LabelAction;
8288
+ export type CalendarSuggestionState = Components.Schemas.CalendarSuggestionState;
8289
+ export type CalendarInviteMethod = Components.Schemas.CalendarInviteMethod;
8290
+ export type CalendarSuggestionSource = Components.Schemas.CalendarSuggestionSource;
7912
8291
  export type MessageSystemFlag = Components.Schemas.MessageSystemFlag;
7913
8292
  export type MessageKeywordFlag = Components.Schemas.MessageKeywordFlag;
7914
8293
  export type MailboxAttribute = Components.Schemas.MailboxAttribute;