@remit/api-openapi-types 0.0.43 → 0.0.45
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.
- package/package.json +1 -1
- package/types.d.ts +286 -0
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -931,6 +931,10 @@ never from a raw content-type line — parameters carry `name=` and
|
|
|
931
931
|
* Absent unless a configuration import is still waiting on folders IMAP has not produced yet (#1021). Nothing polls a separate route for it.
|
|
932
932
|
*/
|
|
933
933
|
pendingImport?: PendingConfigImport;
|
|
934
|
+
/**
|
|
935
|
+
* Whether this instance stores a vector for every message — SEARCH_EMBEDDING_PROVIDER is anything but `off`. False is a setting an operator turns on (`remit semantic on`), not a failure: the Organize semantic widen and semantic (anchor) filters read stored vectors and have none, so they render an off state rather than an empty result. It rides the config read because it is a property of the deployment, not of a query (#1068).
|
|
936
|
+
*/
|
|
937
|
+
semanticSearchEnabled: boolean;
|
|
934
938
|
}
|
|
935
939
|
/**
|
|
936
940
|
* Configuration container for user accounts. Groups multiple IMAP accounts under a single user.
|
|
@@ -2430,6 +2434,93 @@ mutable overlay; this is the address.
|
|
|
2430
2434
|
export interface CalendarNoContent {
|
|
2431
2435
|
statusCode: 204;
|
|
2432
2436
|
}
|
|
2437
|
+
/**
|
|
2438
|
+
* Whether a calendar has a feed address, and how old it is. The token is deliberately absent — it exists in the clear once, in the answer to the write that minted it.
|
|
2439
|
+
*/
|
|
2440
|
+
export interface CalendarFeedStateResponse {
|
|
2441
|
+
/**
|
|
2442
|
+
* Collection this address serves
|
|
2443
|
+
*/
|
|
2444
|
+
calendarId: UUID;
|
|
2445
|
+
/**
|
|
2446
|
+
* When this calendar first got a feed address
|
|
2447
|
+
*/
|
|
2448
|
+
createdAt: number;
|
|
2449
|
+
/**
|
|
2450
|
+
* When the token was last replaced. `0` means it is still the first one.
|
|
2451
|
+
*/
|
|
2452
|
+
rotatedAt: number;
|
|
2453
|
+
}
|
|
2454
|
+
/**
|
|
2455
|
+
* A calendar's secret subscription address, with the token in the clear.
|
|
2456
|
+
|
|
2457
|
+
Returned by the write that mints it and nowhere else. Only the hash is
|
|
2458
|
+
stored, so a client that loses this value rotates the feed rather than
|
|
2459
|
+
reading it back — which is also what makes the read side safe to leave
|
|
2460
|
+
tokenless.
|
|
2461
|
+
*/
|
|
2462
|
+
export interface CalendarFeedResponse {
|
|
2463
|
+
/**
|
|
2464
|
+
* Collection this address serves
|
|
2465
|
+
*/
|
|
2466
|
+
calendarId: UUID;
|
|
2467
|
+
/**
|
|
2468
|
+
* The token itself, base64url over 32 random bytes. It is the whole credential: the path `/feeds/calendar/{feedToken}.ics` needs nothing else, which is what lets a client that cannot sign in subscribe.
|
|
2469
|
+
*/
|
|
2470
|
+
feedToken: String512;
|
|
2471
|
+
/**
|
|
2472
|
+
* When this calendar first got a feed address
|
|
2473
|
+
*/
|
|
2474
|
+
createdAt: number;
|
|
2475
|
+
/**
|
|
2476
|
+
* When the token was last replaced. `0` means it is still the first one.
|
|
2477
|
+
*/
|
|
2478
|
+
rotatedAt: number;
|
|
2479
|
+
}
|
|
2480
|
+
/**
|
|
2481
|
+
* A whole calendar as iCalendar text, for a client that subscribed to the
|
|
2482
|
+
secret address.
|
|
2483
|
+
|
|
2484
|
+
Recurring events are the stored masters with their RRULE, not an expansion:
|
|
2485
|
+
a subscriber renders its own occurrences and expects to keep doing so
|
|
2486
|
+
indefinitely, and an expansion would silently end at whatever horizon this
|
|
2487
|
+
server chose.
|
|
2488
|
+
|
|
2489
|
+
The calendar's name travels as the `X-WR-CALNAME` property inside the
|
|
2490
|
+
VCALENDAR, which is where Apple Calendar, Google Calendar and Thunderbird
|
|
2491
|
+
read it from.
|
|
2492
|
+
*/
|
|
2493
|
+
export interface CalendarFeedIcalResponse {
|
|
2494
|
+
contentType: "text/calendar; charset=utf-8";
|
|
2495
|
+
/**
|
|
2496
|
+
* Strong entity tag over the bytes being served. A subscriber polls often and sends it back as `If-None-Match`.
|
|
2497
|
+
*/
|
|
2498
|
+
etag: string;
|
|
2499
|
+
/**
|
|
2500
|
+
* HTTP-date the collection was last written, which is stamped by every event write and every event delete. The collection's own timestamp rather than its newest event: deleting the newest event leaves every survivor older than the change, and a validator that moved backwards would tell a subscriber its stale copy is current.
|
|
2501
|
+
*/
|
|
2502
|
+
lastModified: string;
|
|
2503
|
+
icalData: string;
|
|
2504
|
+
}
|
|
2505
|
+
/**
|
|
2506
|
+
* The subscriber already holds these bytes. Answered when `If-None-Match` carries the tag the feed would serve, or when `If-Modified-Since` is not older than the calendar's last change.
|
|
2507
|
+
*/
|
|
2508
|
+
export interface CalendarFeedNotModified {
|
|
2509
|
+
statusCode: 304;
|
|
2510
|
+
etag: string;
|
|
2511
|
+
/**
|
|
2512
|
+
* The same validator a 200 would have carried, so a subscriber that polls by date can keep doing so
|
|
2513
|
+
*/
|
|
2514
|
+
lastModified: string;
|
|
2515
|
+
}
|
|
2516
|
+
/**
|
|
2517
|
+
* No feed answers to this address. Unknown, revoked and malformed tokens are one answer with one body, so a caller learns nothing about which of the three it sent.
|
|
2518
|
+
*/
|
|
2519
|
+
export interface CalendarFeedNotFound {
|
|
2520
|
+
statusCode: 404;
|
|
2521
|
+
contentType: "text/plain; charset=utf-8";
|
|
2522
|
+
message: string;
|
|
2523
|
+
}
|
|
2433
2524
|
/**
|
|
2434
2525
|
* Expanded occurrences in the requested window, in start order.
|
|
2435
2526
|
|
|
@@ -5728,6 +5819,52 @@ occurrences from every zone but its own.
|
|
|
5728
5819
|
createdAt: number;
|
|
5729
5820
|
updatedAt: number;
|
|
5730
5821
|
}
|
|
5822
|
+
/**
|
|
5823
|
+
* The secret address a calendar is subscribed to from outside (issue #1067).
|
|
5824
|
+
|
|
5825
|
+
A subscriber never signs in: Apple Calendar, Google Calendar and Thunderbird
|
|
5826
|
+
poll a URL and send no credential, so the URL is the credential. Only the
|
|
5827
|
+
SHA-256 hash of the token is stored — the plaintext is handed out once, at the
|
|
5828
|
+
write that mints it, and a caller that loses it rotates rather than reads it
|
|
5829
|
+
back.
|
|
5830
|
+
|
|
5831
|
+
`feedTokenId` is derived from `calendarId`, so one calendar holds one active
|
|
5832
|
+
token by construction: rotating rewrites the row it already has, and the
|
|
5833
|
+
previous address stops resolving the moment the new hash lands. A second
|
|
5834
|
+
active address per calendar would be a credential nobody could see to revoke.
|
|
5835
|
+
|
|
5836
|
+
The hash is a plain digest and deliberately not a slow one. The token carries
|
|
5837
|
+
32 random bytes, so there is nothing to brute-force and no password-equivalent
|
|
5838
|
+
to stretch; a KDF here would only make every poll from every subscribed client
|
|
5839
|
+
expensive.
|
|
5840
|
+
*/
|
|
5841
|
+
export interface CalendarFeedToken {
|
|
5842
|
+
/**
|
|
5843
|
+
* Primary identifier, derived from calendarId
|
|
5844
|
+
*/
|
|
5845
|
+
feedTokenId: UUID;
|
|
5846
|
+
/**
|
|
5847
|
+
* Owning account configuration
|
|
5848
|
+
*/
|
|
5849
|
+
accountConfigId: UUID;
|
|
5850
|
+
/**
|
|
5851
|
+
* Collection this address serves
|
|
5852
|
+
*/
|
|
5853
|
+
calendarId: UUID;
|
|
5854
|
+
/**
|
|
5855
|
+
* SHA-256 of the token, lower-case hex. The plaintext is never stored: a leaked database gives a reader no working subscription URL.
|
|
5856
|
+
*/
|
|
5857
|
+
tokenHash: String64;
|
|
5858
|
+
/**
|
|
5859
|
+
* When this calendar first got a feed address. Survives a rotation — the feed is the same feed, under a new secret.
|
|
5860
|
+
*/
|
|
5861
|
+
createdAt: number;
|
|
5862
|
+
/**
|
|
5863
|
+
* When the token was last replaced. `0` means it is still the one this calendar started with.
|
|
5864
|
+
*/
|
|
5865
|
+
rotatedAt: number;
|
|
5866
|
+
updatedAt: number;
|
|
5867
|
+
}
|
|
5731
5868
|
/**
|
|
5732
5869
|
* Junction whose existence *is* a label assignment (RFC 030). Holds only ids
|
|
5733
5870
|
and is hydrated with `batchGet`. Keyed by a deterministic UUID v5 derived
|
|
@@ -6103,6 +6240,47 @@ declare namespace Paths {
|
|
|
6103
6240
|
export type $404 = void;
|
|
6104
6241
|
}
|
|
6105
6242
|
}
|
|
6243
|
+
namespace GetCalendarFeed {
|
|
6244
|
+
export interface PathParameters {
|
|
6245
|
+
calendarId: Components.Schemas.UUID;
|
|
6246
|
+
}
|
|
6247
|
+
namespace Responses {
|
|
6248
|
+
export type $200 = void;
|
|
6249
|
+
export type $404 = void;
|
|
6250
|
+
}
|
|
6251
|
+
}
|
|
6252
|
+
namespace PutCalendarFeed {
|
|
6253
|
+
export interface PathParameters {
|
|
6254
|
+
calendarId: Components.Schemas.UUID;
|
|
6255
|
+
}
|
|
6256
|
+
namespace Responses {
|
|
6257
|
+
export type $200 = void;
|
|
6258
|
+
export type $404 = void;
|
|
6259
|
+
}
|
|
6260
|
+
}
|
|
6261
|
+
namespace RevokeCalendarFeed {
|
|
6262
|
+
export interface PathParameters {
|
|
6263
|
+
calendarId: Components.Schemas.UUID;
|
|
6264
|
+
}
|
|
6265
|
+
namespace Responses {
|
|
6266
|
+
export type $204 = void;
|
|
6267
|
+
export type $404 = void;
|
|
6268
|
+
}
|
|
6269
|
+
}
|
|
6270
|
+
namespace GetCalendarFeedIcal {
|
|
6271
|
+
export interface PathParameters {
|
|
6272
|
+
feedToken: string;
|
|
6273
|
+
}
|
|
6274
|
+
export interface HeaderParameters {
|
|
6275
|
+
ifNoneMatch?: string;
|
|
6276
|
+
ifModifiedSince?: string;
|
|
6277
|
+
}
|
|
6278
|
+
namespace Responses {
|
|
6279
|
+
export type $200 = void;
|
|
6280
|
+
export type $304 = void;
|
|
6281
|
+
export type $404 = void;
|
|
6282
|
+
}
|
|
6283
|
+
}
|
|
6106
6284
|
namespace ListCalendarEvents {
|
|
6107
6285
|
export interface QueryParameters {
|
|
6108
6286
|
from: string;
|
|
@@ -6806,6 +6984,55 @@ export interface OperationMethods {
|
|
|
6806
6984
|
data?: any,
|
|
6807
6985
|
config?: AxiosRequestConfig
|
|
6808
6986
|
): OperationResponse<Paths.DeleteCalendar.Responses.$204>;
|
|
6987
|
+
/**
|
|
6988
|
+
* getCalendarFeed - Read whether this calendar has a feed address. Absent (404) until one is
|
|
6989
|
+
minted. The token is not here: it is stored as a hash, so the only
|
|
6990
|
+
moment it exists in the clear is the answer to the write below.
|
|
6991
|
+
*/
|
|
6992
|
+
'getCalendarFeed'(
|
|
6993
|
+
parameters?: Parameters<Paths.GetCalendarFeed.PathParameters> | null,
|
|
6994
|
+
data?: any,
|
|
6995
|
+
config?: AxiosRequestConfig
|
|
6996
|
+
): OperationResponse<Paths.GetCalendarFeed.Responses.$200>;
|
|
6997
|
+
/**
|
|
6998
|
+
* putCalendarFeed - Mint the calendar's feed address, or replace the one it has, and answer
|
|
6999
|
+
with the token in the clear. Idempotent in address rather than in value:
|
|
7000
|
+
one calendar holds one token, so a second call rotates — the previous
|
|
7001
|
+
URL stops resolving, which is how a subscription handed to the wrong
|
|
7002
|
+
person is taken back.
|
|
7003
|
+
|
|
7004
|
+
This is the only response that ever carries the plaintext. A client that
|
|
7005
|
+
does not keep it rotates again.
|
|
7006
|
+
*/
|
|
7007
|
+
'putCalendarFeed'(
|
|
7008
|
+
parameters?: Parameters<Paths.PutCalendarFeed.PathParameters> | null,
|
|
7009
|
+
data?: any,
|
|
7010
|
+
config?: AxiosRequestConfig
|
|
7011
|
+
): OperationResponse<Paths.PutCalendarFeed.Responses.$200>;
|
|
7012
|
+
/**
|
|
7013
|
+
* revokeCalendarFeed - Revoke the calendar's feed address. Every subscribed client starts getting 404 on its next poll. Answered 404 when the calendar has no feed, so a revoke is never reported as having taken something away that was not there.
|
|
7014
|
+
*/
|
|
7015
|
+
'revokeCalendarFeed'(
|
|
7016
|
+
parameters?: Parameters<Paths.RevokeCalendarFeed.PathParameters> | null,
|
|
7017
|
+
data?: any,
|
|
7018
|
+
config?: AxiosRequestConfig
|
|
7019
|
+
): OperationResponse<Paths.RevokeCalendarFeed.Responses.$204>;
|
|
7020
|
+
/**
|
|
7021
|
+
* getCalendarFeedIcal - Serve a calendar as iCalendar text to whoever holds its secret address
|
|
7022
|
+
(issue #1067).
|
|
7023
|
+
|
|
7024
|
+
Outside the session-auth surface on purpose: Apple Calendar, Google
|
|
7025
|
+
Calendar, Outlook and Thunderbird subscribe to a URL and never sign in,
|
|
7026
|
+
so the token in the path is the credential and the only one. It is
|
|
7027
|
+
compared against the stored hash rather than looked up in the clear, and
|
|
7028
|
+
an unknown, revoked or malformed token is the same 404 with the same body
|
|
7029
|
+
— a subscriber learns whether it still has access, and nothing else.
|
|
7030
|
+
*/
|
|
7031
|
+
'getCalendarFeedIcal'(
|
|
7032
|
+
parameters?: Parameters<Paths.GetCalendarFeedIcal.PathParameters & Paths.GetCalendarFeedIcal.HeaderParameters> | null,
|
|
7033
|
+
data?: any,
|
|
7034
|
+
config?: AxiosRequestConfig
|
|
7035
|
+
): OperationResponse<Paths.GetCalendarFeedIcal.Responses.$200>;
|
|
6809
7036
|
/**
|
|
6810
7037
|
* listCalendarEvents - Expanded event occurrences in a window. The server does the recurrence
|
|
6811
7038
|
expansion and the client renders instances — no RRULE is ever evaluated
|
|
@@ -7550,6 +7777,59 @@ export interface PathsDictionary {
|
|
|
7550
7777
|
config?: AxiosRequestConfig
|
|
7551
7778
|
): OperationResponse<Paths.DeleteCalendar.Responses.$204>;
|
|
7552
7779
|
};
|
|
7780
|
+
['/calendars/{calendarId}/feed']: {
|
|
7781
|
+
/**
|
|
7782
|
+
* getCalendarFeed - Read whether this calendar has a feed address. Absent (404) until one is
|
|
7783
|
+
minted. The token is not here: it is stored as a hash, so the only
|
|
7784
|
+
moment it exists in the clear is the answer to the write below.
|
|
7785
|
+
*/
|
|
7786
|
+
'get'(
|
|
7787
|
+
parameters?: Parameters<Paths.GetCalendarFeed.PathParameters> | null,
|
|
7788
|
+
data?: any,
|
|
7789
|
+
config?: AxiosRequestConfig
|
|
7790
|
+
): OperationResponse<Paths.GetCalendarFeed.Responses.$200>;
|
|
7791
|
+
/**
|
|
7792
|
+
* putCalendarFeed - Mint the calendar's feed address, or replace the one it has, and answer
|
|
7793
|
+
with the token in the clear. Idempotent in address rather than in value:
|
|
7794
|
+
one calendar holds one token, so a second call rotates — the previous
|
|
7795
|
+
URL stops resolving, which is how a subscription handed to the wrong
|
|
7796
|
+
person is taken back.
|
|
7797
|
+
|
|
7798
|
+
This is the only response that ever carries the plaintext. A client that
|
|
7799
|
+
does not keep it rotates again.
|
|
7800
|
+
*/
|
|
7801
|
+
'put'(
|
|
7802
|
+
parameters?: Parameters<Paths.PutCalendarFeed.PathParameters> | null,
|
|
7803
|
+
data?: any,
|
|
7804
|
+
config?: AxiosRequestConfig
|
|
7805
|
+
): OperationResponse<Paths.PutCalendarFeed.Responses.$200>;
|
|
7806
|
+
/**
|
|
7807
|
+
* revokeCalendarFeed - Revoke the calendar's feed address. Every subscribed client starts getting 404 on its next poll. Answered 404 when the calendar has no feed, so a revoke is never reported as having taken something away that was not there.
|
|
7808
|
+
*/
|
|
7809
|
+
'delete'(
|
|
7810
|
+
parameters?: Parameters<Paths.RevokeCalendarFeed.PathParameters> | null,
|
|
7811
|
+
data?: any,
|
|
7812
|
+
config?: AxiosRequestConfig
|
|
7813
|
+
): OperationResponse<Paths.RevokeCalendarFeed.Responses.$204>;
|
|
7814
|
+
};
|
|
7815
|
+
['/feeds/calendar/{feedToken}.ics']: {
|
|
7816
|
+
/**
|
|
7817
|
+
* getCalendarFeedIcal - Serve a calendar as iCalendar text to whoever holds its secret address
|
|
7818
|
+
(issue #1067).
|
|
7819
|
+
|
|
7820
|
+
Outside the session-auth surface on purpose: Apple Calendar, Google
|
|
7821
|
+
Calendar, Outlook and Thunderbird subscribe to a URL and never sign in,
|
|
7822
|
+
so the token in the path is the credential and the only one. It is
|
|
7823
|
+
compared against the stored hash rather than looked up in the clear, and
|
|
7824
|
+
an unknown, revoked or malformed token is the same 404 with the same body
|
|
7825
|
+
— a subscriber learns whether it still has access, and nothing else.
|
|
7826
|
+
*/
|
|
7827
|
+
'get'(
|
|
7828
|
+
parameters?: Parameters<Paths.GetCalendarFeedIcal.PathParameters> | null,
|
|
7829
|
+
data?: any,
|
|
7830
|
+
config?: AxiosRequestConfig
|
|
7831
|
+
): OperationResponse<Paths.GetCalendarFeedIcal.Responses.$200>;
|
|
7832
|
+
};
|
|
7553
7833
|
['/calendar-events']: {
|
|
7554
7834
|
/**
|
|
7555
7835
|
* listCalendarEvents - Expanded event occurrences in a window. The server does the recurrence
|
|
@@ -8126,6 +8406,11 @@ export type CalendarResponse = Components.Schemas.CalendarResponse;
|
|
|
8126
8406
|
export type CreateCalendarInput = Components.Schemas.CreateCalendarInput;
|
|
8127
8407
|
export type UpdateCalendarInput = Components.Schemas.UpdateCalendarInput;
|
|
8128
8408
|
export type CalendarNoContent = Components.Schemas.CalendarNoContent;
|
|
8409
|
+
export type CalendarFeedStateResponse = Components.Schemas.CalendarFeedStateResponse;
|
|
8410
|
+
export type CalendarFeedResponse = Components.Schemas.CalendarFeedResponse;
|
|
8411
|
+
export type CalendarFeedIcalResponse = Components.Schemas.CalendarFeedIcalResponse;
|
|
8412
|
+
export type CalendarFeedNotModified = Components.Schemas.CalendarFeedNotModified;
|
|
8413
|
+
export type CalendarFeedNotFound = Components.Schemas.CalendarFeedNotFound;
|
|
8129
8414
|
export type CalendarEventListResponse = Components.Schemas.CalendarEventListResponse;
|
|
8130
8415
|
export type CalendarEventInstance = Components.Schemas.CalendarEventInstance;
|
|
8131
8416
|
export type CreateCalendarEventInput = Components.Schemas.CreateCalendarEventInput;
|
|
@@ -8227,6 +8512,7 @@ export type RawMessageStorage = Components.Schemas.RawMessageStorage;
|
|
|
8227
8512
|
export type BodyPartStorage = Components.Schemas.BodyPartStorage;
|
|
8228
8513
|
export type BodyPartContent = Components.Schemas.BodyPartContent;
|
|
8229
8514
|
export type CalendarEventIndex = Components.Schemas.CalendarEventIndex;
|
|
8515
|
+
export type CalendarFeedToken = Components.Schemas.CalendarFeedToken;
|
|
8230
8516
|
export type MessageLabel = Components.Schemas.MessageLabel;
|
|
8231
8517
|
export type FilterAnchor = Components.Schemas.FilterAnchor;
|
|
8232
8518
|
export type MicrosoftOAuthStartRequest = Components.Schemas.MicrosoftOAuthStartRequest;
|