@remit/api-openapi-types 0.0.70 → 0.0.72

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 +91 -16
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-types",
3
- "version": "0.0.70",
3
+ "version": "0.0.72",
4
4
  "type": "module",
5
5
  "main": "types.d.ts",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -122,9 +122,13 @@ current enum emitter anyway, so the wire contract uses the bare form.
122
122
  */
123
123
  export type FilterScope = "Standing" | "Temporary";
124
124
  /**
125
- * Cache of whether a Filter is still active to evaluate, backing the byAccountAndState index (RFC 034 Decision 1.2). Not the source of truth for expiry — Filter.expiresAt is, compared directly at every evaluation. Starts Active; lazily patched to Expired the first time something reads a Temporary filter past its expiresAt. No Disabled value: this RFC has no flow that pauses a filter without deleting it.
125
+ * Whether a Filter runs, backing the byAccountAndState index (RFC 034 Decision 1.2). Active and Disabled are written; Expired is a lazily-patched cache of Filter.expiresAt, which stays the source of truth for expiry. A Disabled filter records why in Filter.disabledReason.
126
126
  */
127
- export type FilterState = "Active" | "Expired";
127
+ export type FilterState = "Active" | "Expired" | "Disabled";
128
+ /**
129
+ * Why a Filter is Disabled. `None` while the filter is not Disabled; every other value names the one thing that has to change before it can run again.
130
+ */
131
+ export type FilterDisabledReason = "None" | "UserDisabled" | "AwaitingFolder" | "FolderCreateFailed" | "FolderMissing";
128
132
  /**
129
133
  * How a Filter's literalClauses combine (RFC 031 "literal predicates, AND/OR"). Ignored when literalClauses is empty.
130
134
  */
@@ -150,9 +154,9 @@ current enum emitter anyway, so the wire contract uses the bare form.
150
154
  */
151
155
  export type CalendarComponentSet = "VeventOnly";
152
156
  /**
153
- * Where a calendar collection came from. `Default` is the one provisioned per account config on first use and is never deleted; `UserCreated` is one a person made; `MailDerived` is one populated from mail rather than by a person.
157
+ * Where a calendar collection came from. `Default` is the one provisioned per account config on first use and is never deleted; `UserCreated` is one a person made; `MailDerived` is one populated from mail rather than by a person; `Subscribed` is filled from a read-only iCalendar URL and refuses every write except its own refresh.
154
158
  */
155
- export type CalendarSource = "Default" | "UserCreated" | "MailDerived";
159
+ export type CalendarSource = "Default" | "UserCreated" | "MailDerived" | "Subscribed";
156
160
  /**
157
161
  * Projection of a VEVENT's STATUS property (RFC 5545 3.8.1.11). A VEVENT with no STATUS projects as `Confirmed`, which is the value RFC 5545 gives an event whose status is unstated.
158
162
  */
@@ -1639,7 +1643,7 @@ finds it.
1639
1643
  */
1640
1644
  verdict: string;
1641
1645
  /**
1642
- * Why, when the verdict is skipped or rejected
1646
+ * Why, when the verdict is skipped or rejected; for a filter that lands switched off, what it is waiting for
1643
1647
  */
1644
1648
  reason?: string;
1645
1649
  }
@@ -2031,9 +2035,13 @@ data through `byAccountAndState`.
2031
2035
  */
2032
2036
  ttl?: number;
2033
2037
  /**
2034
- * Cache of whether this filter is still active, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active; lazily patched to Expired the first time something reads a Temporary filter past its expiresAt — whichever of index-time evaluation, retroactive replay, or a settings-page list touches it next. Never the correctness source; expiresAt is.
2038
+ * Whether this filter runs, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active. The user sets Active or Disabled on update; the system sets Disabled when the filter cannot work as designed, and records why in disabledReason. Expired is lazily patched the first time something reads a Temporary filter past its expiresAt, which stays the correctness source for expiry.
2035
2039
  */
2036
2040
  state: FilterState;
2041
+ /**
2042
+ * Why this filter is Disabled; `None` whenever state is not Disabled. Written together with state, never on its own: turning a filter on clears it.
2043
+ */
2044
+ disabledReason: FilterDisabledReason;
2037
2045
  /**
2038
2046
  * Whether a sibling FilterAnchor row exists for this filter (RFC 034 Decision 2.3). Lets the index-time worker skip the FilterAnchor `get` entirely for purely-literal filters instead of probing for a row that may not exist.
2039
2047
  */
@@ -2103,9 +2111,13 @@ data through `byAccountAndState`.
2103
2111
  */
2104
2112
  expiresAt?: string;
2105
2113
  /**
2106
- * Cache of whether this filter is still active, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active; lazily patched to Expired the first time something reads a Temporary filter past its expiresAt — whichever of index-time evaluation, retroactive replay, or a settings-page list touches it next. Never the correctness source; expiresAt is.
2114
+ * Whether this filter runs, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active. The user sets Active or Disabled on update; the system sets Disabled when the filter cannot work as designed, and records why in disabledReason. Expired is lazily patched the first time something reads a Temporary filter past its expiresAt, which stays the correctness source for expiry.
2107
2115
  */
2108
2116
  state: FilterState;
2117
+ /**
2118
+ * Why this filter is Disabled; `None` whenever state is not Disabled. Written together with state, never on its own: turning a filter on clears it.
2119
+ */
2120
+ disabledReason: FilterDisabledReason;
2109
2121
  /**
2110
2122
  * Whether a sibling FilterAnchor row exists for this filter (RFC 034 Decision 2.3). Lets the index-time worker skip the FilterAnchor `get` entirely for purely-literal filters instead of probing for a row that may not exist.
2111
2123
  */
@@ -2185,8 +2197,10 @@ sets `hasAnchor`. Absent for a purely-literal filter.
2185
2197
  * Input for updating a filter (RFC 034, reader #266). The name, predicate,
2186
2198
  action, scope, and expiresAt are all updatable; `ttl` is always
2187
2199
  server-derived from `scope`/`expiresAt`, never client-supplied, and
2188
- `state`/`hasAnchor`/`ruleChangedAt`/`actionChangedAt`/`filterId` are
2189
- server-derived too. A patch touching the predicate, the action, `scope`, or
2200
+ `disabledReason`/`hasAnchor`/`ruleChangedAt`/`actionChangedAt`/`filterId` are
2201
+ server-derived too. `state` takes `Active` or `Disabled`: the user turns a
2202
+ filter off or back on, and turning it on clears `disabledReason`. `Expired`
2203
+ is refused; the expiry is set through `scope`/`expiresAt`. A patch touching the predicate, the action, `scope`, or
2190
2204
  `expiresAt` bumps `ruleChangedAt`; a name-only rename never does (RFC 034
2191
2205
  Decision 3.2, reader #266). Only a patch touching the predicate or the
2192
2206
  action bumps `actionChangedAt`, the narrower signal exclusive-move
@@ -2212,6 +2226,10 @@ anchor change through this body (reader #266).
2212
2226
  * 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.
2213
2227
  */
2214
2228
  expiresAt?: string;
2229
+ /**
2230
+ * Whether this filter runs, backing byAccountAndState (RFC 034 Decision 1.2). Starts Active. The user sets Active or Disabled on update; the system sets Disabled when the filter cannot work as designed, and records why in disabledReason. Expired is lazily patched the first time something reads a Temporary filter past its expiresAt, which stays the correctness source for expiry.
2231
+ */
2232
+ state: FilterState;
2215
2233
  /**
2216
2234
  * How literalClauses combine. Meaningless when literalClauses is empty.
2217
2235
  */
@@ -2583,6 +2601,26 @@ and what `CalendarObject.bySyncSequence` pages by.
2583
2601
  * Monotonic change counter for this collection. Bumped by every write to one of its objects; the value stamped on `CalendarObject.syncSequence` is the value this counter held after that write.
2584
2602
  */
2585
2603
  syncSequence: number;
2604
+ /**
2605
+ * The read-only iCalendar URL a `Subscribed` collection is filled from, such as a Google Calendar secret address. For some providers the URL is the whole credential, so it never reaches a log line. `""` for every other source.
2606
+ */
2607
+ subscriptionUrl: String2048;
2608
+ /**
2609
+ * Whether the scheduled refresh re-reads `subscriptionUrl`. Turning it off stops the refresh and keeps every stored event. Always `false` on a collection that is not `Subscribed`.
2610
+ */
2611
+ subscriptionEnabled: boolean;
2612
+ /**
2613
+ * When the subscription was last fetched, whatever the outcome. `0` when it never was.
2614
+ */
2615
+ subscriptionCheckedAt: number;
2616
+ /**
2617
+ * When the subscription was last fetched and written. `0` when it never was.
2618
+ */
2619
+ subscriptionFetchedAt: number;
2620
+ /**
2621
+ * Why the last fetch failed, or which events in it could not be stored. `""` when the last fetch landed whole.
2622
+ */
2623
+ subscriptionError: String512;
2586
2624
  createdAt: number;
2587
2625
  updatedAt: number;
2588
2626
  }
@@ -2626,6 +2664,26 @@ and what `CalendarObject.bySyncSequence` pages by.
2626
2664
  * Monotonic change counter for this collection. Bumped by every write to one of its objects; the value stamped on `CalendarObject.syncSequence` is the value this counter held after that write.
2627
2665
  */
2628
2666
  syncSequence: number;
2667
+ /**
2668
+ * The read-only iCalendar URL a `Subscribed` collection is filled from, such as a Google Calendar secret address. For some providers the URL is the whole credential, so it never reaches a log line. `""` for every other source.
2669
+ */
2670
+ subscriptionUrl: String2048;
2671
+ /**
2672
+ * Whether the scheduled refresh re-reads `subscriptionUrl`. Turning it off stops the refresh and keeps every stored event. Always `false` on a collection that is not `Subscribed`.
2673
+ */
2674
+ subscriptionEnabled: boolean;
2675
+ /**
2676
+ * When the subscription was last fetched, whatever the outcome. `0` when it never was.
2677
+ */
2678
+ subscriptionCheckedAt: number;
2679
+ /**
2680
+ * When the subscription was last fetched and written. `0` when it never was.
2681
+ */
2682
+ subscriptionFetchedAt: number;
2683
+ /**
2684
+ * Why the last fetch failed, or which events in it could not be stored. `""` when the last fetch landed whole.
2685
+ */
2686
+ subscriptionError: String512;
2629
2687
  createdAt: number;
2630
2688
  updatedAt: number;
2631
2689
  }
@@ -2656,9 +2714,13 @@ mutable overlay; this is the address.
2656
2714
  * IANA time zone this collection's floating times are read in. Absent reads them as UTC.
2657
2715
  */
2658
2716
  timezone?: String64;
2717
+ /**
2718
+ * A read-only iCalendar URL to subscribe the collection to. `http`, `https` and `webcal` are accepted. The server fetches it once before creating anything and refuses with 400 when the fetch fails, so a mistyped address leaves no empty calendar behind. The collection is then `Subscribed`: it refuses event writes, and the scheduled refresh keeps it in step with the feed.
2719
+ */
2720
+ subscriptionUrl?: String2048;
2659
2721
  }
2660
2722
  /**
2661
- * Input for updating a calendar collection. The name, colour and timezone are the mutable overlay; `urlSegment` is not among them, because it is the collection's identity and the path a client has bookmarked.
2723
+ * Input for updating a calendar collection. The name, colour and timezone are the mutable overlay, and `subscriptionEnabled` turns a subscribed collection's refresh off and on. `urlSegment` is not among them, because it is the collection's identity and the path a client has bookmarked.
2662
2724
  */
2663
2725
  export interface UpdateCalendarInput {
2664
2726
  /**
@@ -2673,6 +2735,10 @@ mutable overlay; this is the address.
2673
2735
  * IANA time zone this collection's floating times are read in, e.g. "Europe/Amsterdam". `""` when none is set, which reads as UTC.
2674
2736
  */
2675
2737
  timezone: String64;
2738
+ /**
2739
+ * Whether the scheduled refresh re-reads `subscriptionUrl`. Turning it off stops the refresh and keeps every stored event. Always `false` on a collection that is not `Subscribed`.
2740
+ */
2741
+ subscriptionEnabled: boolean;
2676
2742
  }
2677
2743
  /**
2678
2744
  * Nothing to return. The resource, or the occurrence, is gone.
@@ -5565,6 +5631,10 @@ the binder writes the row it belongs to once the path resolves.
5565
5631
  * The role for a folder role, the folder path for a mailbox override, the filter id for a filter's move action
5566
5632
  */
5567
5633
  target: String256;
5634
+ /**
5635
+ * The folder the binder asked the mail server to create for this path, once discovery showed the account lacks it. The binder waits for that row to settle and binds to it by id, because the server may store the folder under a normalized path. `None` until a create is issued.
5636
+ */
5637
+ mailboxId: string;
5568
5638
  }
5569
5639
  /**
5570
5640
  * One applied configuration import (#1021). It exists because a file's folder
@@ -7522,7 +7592,7 @@ export interface OperationMethods {
7522
7592
  config?: AxiosRequestConfig
7523
7593
  ): OperationResponse<Paths.ListCalendars.Responses.$200>;
7524
7594
  /**
7525
- * createCalendar - Create a calendar collection. Refused with 400 when `urlSegment` is empty or already taken in this account config — the segment is the collection's identity, so a second create under the same one would otherwise silently return the collection that already exists.
7595
+ * createCalendar - Create a calendar collection. Refused with 400 when `urlSegment` is empty or already taken in this account config — the segment is the collection's identity, so a second create under the same one would otherwise silently return the collection that already exists. With `subscriptionUrl` the feed is fetched first and a fetch that fails is refused with 400 `subscription_unreachable`, naming why and never the URL.
7526
7596
  */
7527
7597
  'createCalendar'(
7528
7598
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -7538,7 +7608,7 @@ export interface OperationMethods {
7538
7608
  config?: AxiosRequestConfig
7539
7609
  ): OperationResponse<Paths.GetCalendar.Responses.$200>;
7540
7610
  /**
7541
- * updateCalendar
7611
+ * updateCalendar - Update a calendar collection. `subscriptionEnabled` is refused with 400 `not_subscribed` on a collection that is not `Subscribed`. Turning it off stops the refresh and removes nothing.
7542
7612
  */
7543
7613
  'updateCalendar'(
7544
7614
  parameters?: Parameters<Paths.UpdateCalendar.PathParameters> | null,
@@ -7622,7 +7692,7 @@ Refused with 400 when `from` and `to` are not ISO 8601 date-times, when
7622
7692
  config?: AxiosRequestConfig
7623
7693
  ): OperationResponse<Paths.ListCalendarEvents.Responses.$200>;
7624
7694
  /**
7625
- * createCalendarEvent - Create an event. The server builds the VEVENT and writes it through the single calendar write path — the same one an accepted invitation and a later CalDAV PUT go through — so the object, its expanded occurrences and the collection's sync sequence land together or not at all.
7695
+ * createCalendarEvent - Create an event. The server builds the VEVENT and writes it through the single calendar write path — the same one an accepted invitation and a later CalDAV PUT go through — so the object, its expanded occurrences and the collection's sync sequence land together or not at all. Refused with 400 `read_only_calendar` for a `Subscribed` collection, whose events belong to the feed.
7626
7696
  */
7627
7697
  'createCalendarEvent'(
7628
7698
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -7664,6 +7734,8 @@ rest of the series; `Following` truncates the series to end just before
7664
7734
  it.
7665
7735
 
7666
7736
  Same refusals and the same `If-Match` precondition as the update.
7737
+ An event in a `Subscribed` collection is refused with 400
7738
+ `read_only_calendar`, here and on the update.
7667
7739
  */
7668
7740
  'deleteCalendarEvent'(
7669
7741
  parameters?: Parameters<Paths.DeleteCalendarEvent.PathParameters & Paths.DeleteCalendarEvent.QueryParameters & Paths.DeleteCalendarEvent.HeaderParameters> | null,
@@ -8326,7 +8398,7 @@ export interface PathsDictionary {
8326
8398
  config?: AxiosRequestConfig
8327
8399
  ): OperationResponse<Paths.ListCalendars.Responses.$200>;
8328
8400
  /**
8329
- * createCalendar - Create a calendar collection. Refused with 400 when `urlSegment` is empty or already taken in this account config — the segment is the collection's identity, so a second create under the same one would otherwise silently return the collection that already exists.
8401
+ * createCalendar - Create a calendar collection. Refused with 400 when `urlSegment` is empty or already taken in this account config — the segment is the collection's identity, so a second create under the same one would otherwise silently return the collection that already exists. With `subscriptionUrl` the feed is fetched first and a fetch that fails is refused with 400 `subscription_unreachable`, naming why and never the URL.
8330
8402
  */
8331
8403
  'post'(
8332
8404
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -8344,7 +8416,7 @@ export interface PathsDictionary {
8344
8416
  config?: AxiosRequestConfig
8345
8417
  ): OperationResponse<Paths.GetCalendar.Responses.$200>;
8346
8418
  /**
8347
- * updateCalendar
8419
+ * updateCalendar - Update a calendar collection. `subscriptionEnabled` is refused with 400 `not_subscribed` on a collection that is not `Subscribed`. Turning it off stops the refresh and removes nothing.
8348
8420
  */
8349
8421
  'patch'(
8350
8422
  parameters?: Parameters<Paths.UpdateCalendar.PathParameters> | null,
@@ -8434,7 +8506,7 @@ Refused with 400 when `from` and `to` are not ISO 8601 date-times, when
8434
8506
  config?: AxiosRequestConfig
8435
8507
  ): OperationResponse<Paths.ListCalendarEvents.Responses.$200>;
8436
8508
  /**
8437
- * createCalendarEvent - Create an event. The server builds the VEVENT and writes it through the single calendar write path — the same one an accepted invitation and a later CalDAV PUT go through — so the object, its expanded occurrences and the collection's sync sequence land together or not at all.
8509
+ * createCalendarEvent - Create an event. The server builds the VEVENT and writes it through the single calendar write path — the same one an accepted invitation and a later CalDAV PUT go through — so the object, its expanded occurrences and the collection's sync sequence land together or not at all. Refused with 400 `read_only_calendar` for a `Subscribed` collection, whose events belong to the feed.
8438
8510
  */
8439
8511
  'post'(
8440
8512
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -8478,6 +8550,8 @@ rest of the series; `Following` truncates the series to end just before
8478
8550
  it.
8479
8551
 
8480
8552
  Same refusals and the same `If-Match` precondition as the update.
8553
+ An event in a `Subscribed` collection is refused with 400
8554
+ `read_only_calendar`, here and on the update.
8481
8555
  */
8482
8556
  'delete'(
8483
8557
  parameters?: Parameters<Paths.DeleteCalendarEvent.PathParameters & Paths.DeleteCalendarEvent.QueryParameters> | null,
@@ -9142,6 +9216,7 @@ export type MailboxCursorState = Components.Schemas.MailboxCursorState;
9142
9216
  export type MailboxSpecialUse = Components.Schemas.MailboxSpecialUse;
9143
9217
  export type FilterScope = Components.Schemas.FilterScope;
9144
9218
  export type FilterState = Components.Schemas.FilterState;
9219
+ export type FilterDisabledReason = Components.Schemas.FilterDisabledReason;
9145
9220
  export type FilterMatchOperator = Components.Schemas.FilterMatchOperator;
9146
9221
  export type FilterClauseField = Components.Schemas.FilterClauseField;
9147
9222
  export type LabelColor = Components.Schemas.LabelColor;