better-email-mcp 0.2.0 → 0.4.0
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/README.md +28 -13
- package/dist/backends/jmap-contacts.d.ts +20 -0
- package/dist/backends/jmap-contacts.d.ts.map +1 -0
- package/dist/backends/jmap-contacts.js +322 -0
- package/dist/backends/jmap-contacts.js.map +1 -0
- package/dist/backends/jmap.d.ts +6 -0
- package/dist/backends/jmap.d.ts.map +1 -1
- package/dist/backends/jmap.js +6 -0
- package/dist/backends/jmap.js.map +1 -1
- package/dist/caldav/backend.d.ts +10 -2
- package/dist/caldav/backend.d.ts.map +1 -1
- package/dist/caldav/backend.js +204 -0
- package/dist/caldav/backend.js.map +1 -1
- package/dist/caldav/parser.d.ts +50 -3
- package/dist/caldav/parser.d.ts.map +1 -1
- package/dist/caldav/parser.js +184 -3
- package/dist/caldav/parser.js.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/tasks.d.ts +4 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +210 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/types.d.ts +55 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/webdav/client.d.ts +1 -0
- package/dist/webdav/client.d.ts.map +1 -1
- package/dist/webdav/client.js +7 -1
- package/dist/webdav/client.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# better-email-mcp
|
|
2
2
|
|
|
3
|
-
An MCP server that gives LLM tools access to your email, calendar, and contacts — built to be the one you actually want to use.
|
|
3
|
+
An MCP server that gives LLM tools access to your email, calendar, tasks, and contacts — built to be the one you actually want to use.
|
|
4
4
|
|
|
5
5
|
## Why "better"?
|
|
6
6
|
|
|
7
7
|
- **Virtually zero dependencies.** The only runtime dependency is the MCP SDK itself. IMAP, SMTP, CalDAV, and CardDAV clients are implemented from scratch using Node built-ins — no third-party libraries in your supply chain.
|
|
8
|
-
- **Works with any provider.** Supports IMAP/SMTP (Gmail, Outlook, self-hosted, etc.), Fastmail JMAP, and any CalDAV/CardDAV server (Fastmail, iCloud, Nextcloud, Radicale, etc.).
|
|
8
|
+
- **Works with any provider.** Supports IMAP/SMTP (Gmail, Outlook, self-hosted, etc.), Fastmail JMAP (email + contacts), and any CalDAV/CardDAV server (Fastmail, iCloud, Nextcloud, Radicale, etc.) for calendars, tasks, and contacts.
|
|
9
9
|
- **You control what the LLM can do.** Disable any tool with a single environment variable — enforce read-only access, hide search, or strip it down to just what you need. Less tool clutter means better LLM performance.
|
|
10
10
|
- **Token-efficient.** List and search responses return only essential fields by default. Pass `verbose: true` for full details when needed.
|
|
11
11
|
|
|
@@ -81,7 +81,7 @@ If `SMTP_HOST` is not set, the IMAP backend is read-only and the `send_message`
|
|
|
81
81
|
|
|
82
82
|
### CalDAV (calendar)
|
|
83
83
|
|
|
84
|
-
Calendar tools activate when `CALDAV_URL` is set. Works alongside any email backend.
|
|
84
|
+
Calendar and task tools activate when `CALDAV_URL` is set. Works alongside any email backend. Tasks use CalDAV VTODO — supported by Fastmail, iCloud, Nextcloud, Radicale, and most CalDAV servers.
|
|
85
85
|
|
|
86
86
|
| Variable | Required | Description |
|
|
87
87
|
|----------|----------|-------------|
|
|
@@ -90,9 +90,11 @@ Calendar tools activate when `CALDAV_URL` is set. Works alongside any email back
|
|
|
90
90
|
| `CALDAV_PASSWORD` | Yes | HTTP Basic auth password |
|
|
91
91
|
| `CALDAV_DEFAULT_CALENDAR` | No | Default calendar name — when set, tools scope to this calendar automatically |
|
|
92
92
|
|
|
93
|
-
###
|
|
93
|
+
### Contacts
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
When using the JMAP backend, contact tools activate automatically via JMAP Contacts (RFC 9610) — no extra configuration needed. To use CardDAV instead (or with the IMAP backend), set `CARDDAV_URL`:
|
|
96
|
+
|
|
97
|
+
#### CardDAV (optional override)
|
|
96
98
|
|
|
97
99
|
| Variable | Required | Description |
|
|
98
100
|
|----------|----------|-------------|
|
|
@@ -113,7 +115,7 @@ This is useful for enforcing read-only access or reducing context for the LLM. W
|
|
|
113
115
|
|
|
114
116
|
## Usage with MCP clients
|
|
115
117
|
|
|
116
|
-
### JMAP (Fastmail)
|
|
118
|
+
### JMAP (Fastmail) — email + contacts
|
|
117
119
|
|
|
118
120
|
```json
|
|
119
121
|
{
|
|
@@ -130,6 +132,8 @@ This is useful for enforcing read-only access or reducing context for the LLM. W
|
|
|
130
132
|
}
|
|
131
133
|
```
|
|
132
134
|
|
|
135
|
+
Contact tools are included automatically via JMAP — no CardDAV setup needed.
|
|
136
|
+
|
|
133
137
|
### IMAP
|
|
134
138
|
|
|
135
139
|
```json
|
|
@@ -152,7 +156,7 @@ This is useful for enforcing read-only access or reducing context for the LLM. W
|
|
|
152
156
|
}
|
|
153
157
|
```
|
|
154
158
|
|
|
155
|
-
### JMAP + CalDAV
|
|
159
|
+
### JMAP + CalDAV (Fastmail, all features)
|
|
156
160
|
|
|
157
161
|
```json
|
|
158
162
|
{
|
|
@@ -163,18 +167,17 @@ This is useful for enforcing read-only access or reducing context for the LLM. W
|
|
|
163
167
|
"env": {
|
|
164
168
|
"EMAIL_BACKEND": "jmap",
|
|
165
169
|
"JMAP_TOKEN": "your-fastmail-api-token",
|
|
166
|
-
"CALDAV_URL": "https://caldav.fastmail.com/
|
|
170
|
+
"CALDAV_URL": "https://caldav.fastmail.com/",
|
|
167
171
|
"CALDAV_USERNAME": "you@fastmail.com",
|
|
168
|
-
"CALDAV_PASSWORD": "your-app-password"
|
|
169
|
-
"CARDDAV_URL": "https://carddav.fastmail.com/dav/addressbooks",
|
|
170
|
-
"CARDDAV_USERNAME": "you@fastmail.com",
|
|
171
|
-
"CARDDAV_PASSWORD": "your-app-password"
|
|
172
|
+
"CALDAV_PASSWORD": "your-app-password"
|
|
172
173
|
}
|
|
173
174
|
}
|
|
174
175
|
}
|
|
175
176
|
}
|
|
176
177
|
```
|
|
177
178
|
|
|
179
|
+
Email and contacts use JMAP (automatic), calendar uses CalDAV. To use CardDAV for contacts instead, set `CARDDAV_URL` (this overrides JMAP contacts).
|
|
180
|
+
|
|
178
181
|
## Tools
|
|
179
182
|
|
|
180
183
|
### Email
|
|
@@ -196,6 +199,17 @@ This is useful for enforcing read-only access or reducing context for the LLM. W
|
|
|
196
199
|
| `get_event` | Get a single event by href, including full details |
|
|
197
200
|
| `search_events` | Search events by text query (matches title, description, location) |
|
|
198
201
|
|
|
202
|
+
### Tasks (CalDAV VTODO)
|
|
203
|
+
|
|
204
|
+
| Tool | Description |
|
|
205
|
+
|------|-------------|
|
|
206
|
+
| `list_tasks` | List tasks with optional calendar, status filter, and limit |
|
|
207
|
+
| `get_task` | Get a single task by href, including full details |
|
|
208
|
+
| `search_tasks` | Search tasks by text query (matches title, description, categories) |
|
|
209
|
+
| `create_task` | Create a new task with title, due date, priority, categories |
|
|
210
|
+
| `update_task` | Update an existing task's fields |
|
|
211
|
+
| `complete_task` | Mark a task as completed |
|
|
212
|
+
|
|
199
213
|
### Contacts (CardDAV)
|
|
200
214
|
|
|
201
215
|
| Tool | Description |
|
|
@@ -207,7 +221,7 @@ This is useful for enforcing read-only access or reducing context for the LLM. W
|
|
|
207
221
|
|
|
208
222
|
## Token efficiency
|
|
209
223
|
|
|
210
|
-
All tool responses use compact JSON (no pretty-printing). List and search tools (`list_messages`, `search_messages`, `list_events`, `search_events`, `list_contacts`, `search_contacts`) return a lean field set by default — just enough to identify and triage each item. Pass `verbose: true` to get the full response with all fields.
|
|
224
|
+
All tool responses use compact JSON (no pretty-printing). List and search tools (`list_messages`, `search_messages`, `list_events`, `search_events`, `list_tasks`, `search_tasks`, `list_contacts`, `search_contacts`) return a lean field set by default — just enough to identify and triage each item. Pass `verbose: true` to get the full response with all fields.
|
|
211
225
|
|
|
212
226
|
**Default fields by tool type:**
|
|
213
227
|
|
|
@@ -215,6 +229,7 @@ All tool responses use compact JSON (no pretty-printing). List and search tools
|
|
|
215
229
|
|-----------|---------------|--------------------------------|
|
|
216
230
|
| Email list/search | `id`, `from`, `subject`, `date`, `snippet` | `to`, `cc`, `isRead`, `folder` |
|
|
217
231
|
| Calendar list/search | `id`, `href`, `title`, `start`, `end`, `location`, `allDay` | `description`, `organizer`, `attendees`, `status`, `recurrence`, `calendar` |
|
|
232
|
+
| Task list/search | `id`, `href`, `title`, `status`, `due`, `priority` | `description`, `categories`, `start`, `completed`, `percentComplete`, `recurrence`, `calendar` |
|
|
218
233
|
| Contact list/search | `id`, `href`, `name`, `emails`, `phones` | `organization`, `title`, `address`, `notes`, `addressBook` |
|
|
219
234
|
|
|
220
235
|
The `folder`, `calendar`, and `addressBook` fields are automatically included in lean responses when no filter is applied (listing across all), and omitted when filtering by a specific one (since it's redundant).
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ContactsBackend, AddressBookInfo, Contact, ListContactsOptions, SearchContactsOptions } from "../types.js";
|
|
2
|
+
import { JmapBackend } from "./jmap.js";
|
|
3
|
+
export declare class JmapContactsBackend implements ContactsBackend {
|
|
4
|
+
private jmapBackend;
|
|
5
|
+
private token;
|
|
6
|
+
private session;
|
|
7
|
+
private addressBooks;
|
|
8
|
+
private addressBookIdToName;
|
|
9
|
+
constructor(jmapBackend: JmapBackend, token: string);
|
|
10
|
+
connect(): Promise<void>;
|
|
11
|
+
listAddressBooks(): Promise<AddressBookInfo[]>;
|
|
12
|
+
listContacts(options?: ListContactsOptions): Promise<Contact[]>;
|
|
13
|
+
getContact(href: string): Promise<Contact | null>;
|
|
14
|
+
searchContacts(options: SearchContactsOptions): Promise<Contact[]>;
|
|
15
|
+
private mapContactCard;
|
|
16
|
+
private findAddressBookId;
|
|
17
|
+
private jmapRequest;
|
|
18
|
+
private findResponse;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=jmap-contacts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jmap-contacts.d.ts","sourceRoot":"","sources":["../../src/backends/jmap-contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,OAAO,EACP,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAA0B,MAAM,WAAW,CAAC;AAuBhE,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,mBAAmB,CAA6B;gBAE5C,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;IAK7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCxB,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI9C,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyC/D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAoBjD,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA0CxE,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,iBAAiB;YAOX,WAAW;IAgCzB,OAAO,CAAC,YAAY;CAQrB"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JmapContactsBackend = void 0;
|
|
4
|
+
const jmap_js_1 = require("./jmap.js");
|
|
5
|
+
const USING = [
|
|
6
|
+
"urn:ietf:params:jmap:core",
|
|
7
|
+
"urn:ietf:params:jmap:contacts",
|
|
8
|
+
];
|
|
9
|
+
const CONTACT_LIST_PROPERTIES = [
|
|
10
|
+
"id",
|
|
11
|
+
"name",
|
|
12
|
+
"emails",
|
|
13
|
+
"phones",
|
|
14
|
+
"organizations",
|
|
15
|
+
"titles",
|
|
16
|
+
"addressBookIds",
|
|
17
|
+
];
|
|
18
|
+
const CONTACT_FULL_PROPERTIES = [
|
|
19
|
+
...CONTACT_LIST_PROPERTIES,
|
|
20
|
+
"addresses",
|
|
21
|
+
"notes",
|
|
22
|
+
];
|
|
23
|
+
class JmapContactsBackend {
|
|
24
|
+
jmapBackend;
|
|
25
|
+
token;
|
|
26
|
+
session;
|
|
27
|
+
addressBooks = [];
|
|
28
|
+
addressBookIdToName = new Map();
|
|
29
|
+
constructor(jmapBackend, token) {
|
|
30
|
+
this.jmapBackend = jmapBackend;
|
|
31
|
+
this.token = token;
|
|
32
|
+
}
|
|
33
|
+
async connect() {
|
|
34
|
+
const session = this.jmapBackend.getSession();
|
|
35
|
+
if (!session) {
|
|
36
|
+
throw new Error("JMAP email backend must be connected before JMAP contacts");
|
|
37
|
+
}
|
|
38
|
+
this.session = session;
|
|
39
|
+
// Fetch address books
|
|
40
|
+
const responses = await this.jmapRequest([
|
|
41
|
+
[
|
|
42
|
+
"AddressBook/get",
|
|
43
|
+
{
|
|
44
|
+
accountId: this.session.accountId,
|
|
45
|
+
properties: ["id", "name", "description", "isDefault"],
|
|
46
|
+
},
|
|
47
|
+
"0",
|
|
48
|
+
],
|
|
49
|
+
]);
|
|
50
|
+
const abResponse = this.findResponse(responses, "AddressBook/get");
|
|
51
|
+
this.addressBooks = [];
|
|
52
|
+
this.addressBookIdToName.clear();
|
|
53
|
+
for (const raw of abResponse.list) {
|
|
54
|
+
const info = {
|
|
55
|
+
href: raw.id,
|
|
56
|
+
name: raw.name ?? raw.id,
|
|
57
|
+
};
|
|
58
|
+
if (raw.description)
|
|
59
|
+
info.description = raw.description;
|
|
60
|
+
this.addressBooks.push(info);
|
|
61
|
+
this.addressBookIdToName.set(raw.id, info.name);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async listAddressBooks() {
|
|
65
|
+
return this.addressBooks;
|
|
66
|
+
}
|
|
67
|
+
async listContacts(options) {
|
|
68
|
+
const limit = options?.limit ?? 50;
|
|
69
|
+
const filter = {};
|
|
70
|
+
if (options?.addressBook) {
|
|
71
|
+
const bookId = this.findAddressBookId(options.addressBook);
|
|
72
|
+
if (bookId) {
|
|
73
|
+
filter.inAddressBook = bookId;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const responses = await this.jmapRequest([
|
|
77
|
+
[
|
|
78
|
+
"ContactCard/query",
|
|
79
|
+
{
|
|
80
|
+
accountId: this.session.accountId,
|
|
81
|
+
filter,
|
|
82
|
+
sort: [{ property: "name/full", isAscending: true }],
|
|
83
|
+
limit,
|
|
84
|
+
},
|
|
85
|
+
"0",
|
|
86
|
+
],
|
|
87
|
+
[
|
|
88
|
+
"ContactCard/get",
|
|
89
|
+
{
|
|
90
|
+
accountId: this.session.accountId,
|
|
91
|
+
"#ids": {
|
|
92
|
+
name: "ContactCard/query",
|
|
93
|
+
path: "/ids",
|
|
94
|
+
resultOf: "0",
|
|
95
|
+
},
|
|
96
|
+
properties: CONTACT_LIST_PROPERTIES,
|
|
97
|
+
},
|
|
98
|
+
"1",
|
|
99
|
+
],
|
|
100
|
+
]);
|
|
101
|
+
const getResponse = this.findResponse(responses, "ContactCard/get");
|
|
102
|
+
return getResponse.list.map((raw) => this.mapContactCard(raw, false));
|
|
103
|
+
}
|
|
104
|
+
async getContact(href) {
|
|
105
|
+
const responses = await this.jmapRequest([
|
|
106
|
+
[
|
|
107
|
+
"ContactCard/get",
|
|
108
|
+
{
|
|
109
|
+
accountId: this.session.accountId,
|
|
110
|
+
ids: [href],
|
|
111
|
+
properties: CONTACT_FULL_PROPERTIES,
|
|
112
|
+
},
|
|
113
|
+
"0",
|
|
114
|
+
],
|
|
115
|
+
]);
|
|
116
|
+
const getResponse = this.findResponse(responses, "ContactCard/get");
|
|
117
|
+
if (getResponse.notFound?.includes(href))
|
|
118
|
+
return null;
|
|
119
|
+
if (getResponse.list.length === 0)
|
|
120
|
+
return null;
|
|
121
|
+
return this.mapContactCard(getResponse.list[0], true);
|
|
122
|
+
}
|
|
123
|
+
async searchContacts(options) {
|
|
124
|
+
const limit = options.limit ?? 50;
|
|
125
|
+
const filter = { name: options.query };
|
|
126
|
+
if (options.addressBook) {
|
|
127
|
+
const bookId = this.findAddressBookId(options.addressBook);
|
|
128
|
+
if (bookId) {
|
|
129
|
+
filter.inAddressBook = bookId;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const responses = await this.jmapRequest([
|
|
133
|
+
[
|
|
134
|
+
"ContactCard/query",
|
|
135
|
+
{
|
|
136
|
+
accountId: this.session.accountId,
|
|
137
|
+
filter,
|
|
138
|
+
limit,
|
|
139
|
+
},
|
|
140
|
+
"0",
|
|
141
|
+
],
|
|
142
|
+
[
|
|
143
|
+
"ContactCard/get",
|
|
144
|
+
{
|
|
145
|
+
accountId: this.session.accountId,
|
|
146
|
+
"#ids": {
|
|
147
|
+
name: "ContactCard/query",
|
|
148
|
+
path: "/ids",
|
|
149
|
+
resultOf: "0",
|
|
150
|
+
},
|
|
151
|
+
properties: CONTACT_LIST_PROPERTIES,
|
|
152
|
+
},
|
|
153
|
+
"1",
|
|
154
|
+
],
|
|
155
|
+
]);
|
|
156
|
+
const getResponse = this.findResponse(responses, "ContactCard/get");
|
|
157
|
+
return getResponse.list.map((raw) => this.mapContactCard(raw, false));
|
|
158
|
+
}
|
|
159
|
+
// --- Private helpers ---
|
|
160
|
+
mapContactCard(raw, full) {
|
|
161
|
+
const addressBookId = Object.keys(raw.addressBookIds ?? {})[0];
|
|
162
|
+
const addressBook = addressBookId
|
|
163
|
+
? this.addressBookIdToName.get(addressBookId) ?? addressBookId
|
|
164
|
+
: "";
|
|
165
|
+
const contact = {
|
|
166
|
+
id: raw.id,
|
|
167
|
+
href: raw.id,
|
|
168
|
+
addressBook,
|
|
169
|
+
name: extractName(raw.name),
|
|
170
|
+
};
|
|
171
|
+
const emails = extractMapValues(raw.emails, "address");
|
|
172
|
+
if (emails.length > 0)
|
|
173
|
+
contact.emails = emails;
|
|
174
|
+
const phones = extractMapValues(raw.phones, "phone");
|
|
175
|
+
if (phones.length > 0)
|
|
176
|
+
contact.phones = phones;
|
|
177
|
+
const org = extractFirstOrganization(raw.organizations);
|
|
178
|
+
if (org)
|
|
179
|
+
contact.organization = org;
|
|
180
|
+
const title = extractFirstTitle(raw.titles);
|
|
181
|
+
if (title)
|
|
182
|
+
contact.title = title;
|
|
183
|
+
if (full) {
|
|
184
|
+
const address = extractFirstAddress(raw.addresses);
|
|
185
|
+
if (address)
|
|
186
|
+
contact.address = address;
|
|
187
|
+
const notes = extractNotes(raw.notes);
|
|
188
|
+
if (notes)
|
|
189
|
+
contact.notes = notes;
|
|
190
|
+
}
|
|
191
|
+
return contact;
|
|
192
|
+
}
|
|
193
|
+
findAddressBookId(name) {
|
|
194
|
+
for (const [id, bookName] of this.addressBookIdToName) {
|
|
195
|
+
if (bookName === name)
|
|
196
|
+
return id;
|
|
197
|
+
}
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
async jmapRequest(methodCalls) {
|
|
201
|
+
const res = await fetch(this.session.apiUrl, {
|
|
202
|
+
method: "POST",
|
|
203
|
+
headers: {
|
|
204
|
+
"Content-Type": "application/json",
|
|
205
|
+
Authorization: `Bearer ${this.token}`,
|
|
206
|
+
},
|
|
207
|
+
body: JSON.stringify({
|
|
208
|
+
using: USING,
|
|
209
|
+
methodCalls,
|
|
210
|
+
}),
|
|
211
|
+
});
|
|
212
|
+
if (!res.ok) {
|
|
213
|
+
throw new Error(`JMAP request failed: ${res.status} ${res.statusText}`);
|
|
214
|
+
}
|
|
215
|
+
const data = await res.json();
|
|
216
|
+
const methodResponses = data.methodResponses;
|
|
217
|
+
for (const response of methodResponses) {
|
|
218
|
+
if (response[0] === "error") {
|
|
219
|
+
throw new jmap_js_1.JmapError(response[1].type ?? "unknown", response[1].description ?? "Unknown JMAP error");
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return methodResponses;
|
|
223
|
+
}
|
|
224
|
+
findResponse(responses, methodName) {
|
|
225
|
+
for (const response of responses) {
|
|
226
|
+
if (response[0] === methodName) {
|
|
227
|
+
return response[1];
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
throw new Error(`Expected ${methodName} response not found`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
exports.JmapContactsBackend = JmapContactsBackend;
|
|
234
|
+
// --- JSContact mapping helpers ---
|
|
235
|
+
/**
|
|
236
|
+
* Extract display name from a JSContact Name object.
|
|
237
|
+
* Prefers `full`, falls back to assembling from components.
|
|
238
|
+
*/
|
|
239
|
+
function extractName(name) {
|
|
240
|
+
if (!name)
|
|
241
|
+
return "";
|
|
242
|
+
if (name.full)
|
|
243
|
+
return name.full;
|
|
244
|
+
// Assemble from components
|
|
245
|
+
if (name.components && Array.isArray(name.components)) {
|
|
246
|
+
const parts = name.components
|
|
247
|
+
.sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0))
|
|
248
|
+
.map((c) => c.value)
|
|
249
|
+
.filter(Boolean);
|
|
250
|
+
return parts.join(" ");
|
|
251
|
+
}
|
|
252
|
+
return "";
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Extract values from a JSContact Id-keyed map (e.g., emails, phones).
|
|
256
|
+
* Each entry has a property like "address" for emails or "phone" for phones.
|
|
257
|
+
*/
|
|
258
|
+
function extractMapValues(map, valueKey) {
|
|
259
|
+
if (!map || typeof map !== "object")
|
|
260
|
+
return [];
|
|
261
|
+
return Object.values(map)
|
|
262
|
+
.map((entry) => entry[valueKey])
|
|
263
|
+
.filter(Boolean);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Extract the first organization name from JSContact organizations map.
|
|
267
|
+
*/
|
|
268
|
+
function extractFirstOrganization(orgs) {
|
|
269
|
+
if (!orgs || typeof orgs !== "object")
|
|
270
|
+
return undefined;
|
|
271
|
+
const first = Object.values(orgs)[0];
|
|
272
|
+
return first?.name || undefined;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Extract the first title from JSContact titles map.
|
|
276
|
+
*/
|
|
277
|
+
function extractFirstTitle(titles) {
|
|
278
|
+
if (!titles || typeof titles !== "object")
|
|
279
|
+
return undefined;
|
|
280
|
+
const first = Object.values(titles)[0];
|
|
281
|
+
return first?.name || undefined;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Format the first address from JSContact addresses map.
|
|
285
|
+
*/
|
|
286
|
+
function extractFirstAddress(addresses) {
|
|
287
|
+
if (!addresses || typeof addresses !== "object")
|
|
288
|
+
return undefined;
|
|
289
|
+
const first = Object.values(addresses)[0];
|
|
290
|
+
if (!first)
|
|
291
|
+
return undefined;
|
|
292
|
+
// JSContact addresses have components or full
|
|
293
|
+
if (first.full)
|
|
294
|
+
return first.full;
|
|
295
|
+
if (first.components && Array.isArray(first.components)) {
|
|
296
|
+
const parts = first.components
|
|
297
|
+
.map((c) => c.value)
|
|
298
|
+
.filter(Boolean);
|
|
299
|
+
return parts.join(", ");
|
|
300
|
+
}
|
|
301
|
+
// Fallback: assemble from legacy-style fields
|
|
302
|
+
const parts = [
|
|
303
|
+
first.street,
|
|
304
|
+
first.locality,
|
|
305
|
+
first.region,
|
|
306
|
+
first.postcode,
|
|
307
|
+
first.country,
|
|
308
|
+
].filter(Boolean);
|
|
309
|
+
return parts.length > 0 ? parts.join(", ") : undefined;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Extract notes text from JSContact notes map.
|
|
313
|
+
*/
|
|
314
|
+
function extractNotes(notes) {
|
|
315
|
+
if (!notes || typeof notes !== "object")
|
|
316
|
+
return undefined;
|
|
317
|
+
const parts = Object.values(notes)
|
|
318
|
+
.map((entry) => entry.note)
|
|
319
|
+
.filter(Boolean);
|
|
320
|
+
return parts.length > 0 ? parts.join("\n") : undefined;
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=jmap-contacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jmap-contacts.js","sourceRoot":"","sources":["../../src/backends/jmap-contacts.ts"],"names":[],"mappings":";;;AAOA,uCAAgE;AAEhE,MAAM,KAAK,GAAG;IACZ,2BAA2B;IAC3B,+BAA+B;CAChC,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,gBAAgB;CACjB,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,GAAG,uBAAuB;IAC1B,WAAW;IACX,OAAO;CACR,CAAC;AAEF,MAAa,mBAAmB;IACtB,WAAW,CAAc;IACzB,KAAK,CAAS;IACd,OAAO,CAAe;IACtB,YAAY,GAAsB,EAAE,CAAC;IACrC,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExD,YAAY,WAAwB,EAAE,KAAa;QACjD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,sBAAsB;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,iBAAiB;gBACjB;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC;iBACvD;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAEjC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAAoB;gBAC5B,IAAI,EAAE,GAAG,CAAC,EAAE;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;aACzB,CAAC;YACF,IAAI,GAAG,CAAC,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA6B;QAC9C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QAEnC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;YAChC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,mBAAmB;gBACnB;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,MAAM;oBACN,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;oBACpD,KAAK;iBACN;gBACD,GAAG;aACJ;YACD;gBACE,iBAAiB;gBACjB;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,MAAM,EAAE;wBACN,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,GAAG;qBACd;oBACD,UAAU,EAAE,uBAAuB;iBACpC;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACpE,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,iBAAiB;gBACjB;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,GAAG,EAAE,CAAC,IAAI,CAAC;oBACX,UAAU,EAAE,uBAAuB;iBACpC;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACpE,IAAI,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/C,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAElC,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;YAChC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,mBAAmB;gBACnB;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,MAAM;oBACN,KAAK;iBACN;gBACD,GAAG;aACJ;YACD;gBACE,iBAAiB;gBACjB;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,MAAM,EAAE;wBACN,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,GAAG;qBACd;oBACD,UAAU,EAAE,uBAAuB;iBACpC;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACpE,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,0BAA0B;IAElB,cAAc,CAAC,GAAQ,EAAE,IAAa;QAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,aAAa;YAC/B,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,aAAa;YAC9D,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,EAAE;YACZ,WAAW;YACX,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;SAC5B,CAAC;QAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAE/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAE/C,MAAM,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,GAAG;YAAE,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC;QAEpC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAEjC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAEvC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACnC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtD,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,WAAoB;QAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;aACtC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,KAAK;gBACZ,WAAW;aACZ,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAY,IAAI,CAAC,eAAe,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,mBAAS,CACjB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,EAC7B,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,oBAAoB,CAChD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,YAAY,CAAC,SAAkB,EAAE,UAAkB;QACzD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC/B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,qBAAqB,CAAC,CAAC;IAC/D,CAAC;CACF;AA5OD,kDA4OC;AAED,oCAAoC;AAEpC;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAS;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAEhC,2BAA2B;IAC3B,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU;aAC1B,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;aACjE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACxB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAAQ,EAAE,QAAgB;IAClD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;SACtB,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACpC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,IAAS;IACzC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAQ,CAAC;IAC5C,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAW;IACpC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC;IAC9C,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,SAAc;IACzC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAQ,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,8CAA8C;IAC9C,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAElC,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU;aAC3B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACxB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,8CAA8C;IAC9C,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,OAAO;KACd,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAU;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/B,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC/B,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC"}
|
package/dist/backends/jmap.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ export interface JmapConfig {
|
|
|
3
3
|
token: string;
|
|
4
4
|
sessionUrl?: string;
|
|
5
5
|
}
|
|
6
|
+
export interface JmapSession {
|
|
7
|
+
apiUrl: string;
|
|
8
|
+
accountId: string;
|
|
9
|
+
}
|
|
6
10
|
export declare class JmapError extends Error {
|
|
7
11
|
readonly type: string;
|
|
8
12
|
readonly description: string;
|
|
@@ -15,6 +19,8 @@ export declare class JmapBackend implements EmailBackend {
|
|
|
15
19
|
private mailboxCache;
|
|
16
20
|
private mailboxNameToId;
|
|
17
21
|
constructor(config: JmapConfig);
|
|
22
|
+
getSession(): JmapSession | null;
|
|
23
|
+
getToken(): string;
|
|
18
24
|
connect(): Promise<void>;
|
|
19
25
|
disconnect(): Promise<void>;
|
|
20
26
|
listFolders(): Promise<string[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jmap.d.ts","sourceRoot":"","sources":["../../src/backends/jmap.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"jmap.d.ts","sourceRoot":"","sources":["../../src/backends/jmap.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAeD,qBAAa,SAAU,SAAQ,KAAK;aAEhB,IAAI,EAAE,MAAM;aACZ,WAAW,EAAE,MAAM;gBADnB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM;CAKtC;AA2BD,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,eAAe,CAA6B;gBAExC,MAAM,EAAE,UAAU;IAI9B,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC,QAAQ,IAAI,MAAM;IAIZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhC,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA4CpE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAuCpD,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA0C/D,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAoFvE,OAAO,CAAC,eAAe;YAOT,WAAW;IAmCzB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,YAAY;CAwBrB"}
|
package/dist/backends/jmap.js
CHANGED
|
@@ -45,6 +45,12 @@ class JmapBackend {
|
|
|
45
45
|
constructor(config) {
|
|
46
46
|
this.config = config;
|
|
47
47
|
}
|
|
48
|
+
getSession() {
|
|
49
|
+
return this.session;
|
|
50
|
+
}
|
|
51
|
+
getToken() {
|
|
52
|
+
return this.config.token;
|
|
53
|
+
}
|
|
48
54
|
async connect() {
|
|
49
55
|
// 1. Discover session
|
|
50
56
|
const sessionUrl = this.config.sessionUrl ?? DEFAULT_SESSION_URL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jmap.js","sourceRoot":"","sources":["../../src/backends/jmap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jmap.js","sourceRoot":"","sources":["../../src/backends/jmap.ts"],"names":[],"mappings":";;;AA+BA,MAAa,SAAU,SAAQ,KAAK;IAEhB;IACA;IAFlB,YACkB,IAAY,EACZ,WAAmB;QAEnC,KAAK,CAAC,eAAe,IAAI,MAAM,WAAW,EAAE,CAAC,CAAC;QAH9B,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAQ;QAGnC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AARD,8BAQC;AAED,MAAM,mBAAmB,GAAG,2CAA2C,CAAC;AACxE,MAAM,KAAK,GAAG;IACZ,2BAA2B;IAC3B,2BAA2B;IAC3B,iCAAiC;CAClC,CAAC;AACF,MAAM,eAAe,GAAG;IACtB,IAAI;IACJ,SAAS;IACT,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,YAAY;IACZ,SAAS;IACT,UAAU;IACV,YAAY;IACZ,eAAe;CAChB,CAAC;AACF,MAAM,eAAe,GAAG;IACtB,GAAG,eAAe;IAClB,UAAU;IACV,UAAU;IACV,YAAY;CACb,CAAC;AAEF,MAAa,WAAW;IACd,MAAM,CAAa;IACnB,OAAO,GAAuB,IAAI,CAAC;IACnC,QAAQ,GAAwB,IAAI,CAAC;IACrC,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,YAAY;IACtD,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,YAAY;IAEjE,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,sBAAsB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,mBAAmB,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;YACzC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;SAC1D,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,kCAAkC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,UAAU,EAAE,CAC/E,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG;YACb,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,SAAS,EACP,WAAW,CAAC,eAAe,CAAC,2BAA2B,CAAC;SAC3D,CAAC;QAEF,iDAAiD;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,aAAa;gBACb;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;oBACjC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;iBAC/C;gBACD,GAAG;aACJ;YACD;gBACE,cAAc;gBACd;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;iBAClC;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,SAAS,GAAkB,eAAe,CAAC,IAAI,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;QACrD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,mBAAmB;QACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC;QACzC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG;gBACd,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC1B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA6B;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,aAAa;gBACb;oBACE,SAAS,EAAE,IAAI,CAAC,OAAQ,CAAC,SAAS;oBAClC,MAAM;oBACN,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;oBACtD,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;oBAC9B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC3B,eAAe,EAAE,IAAI;iBACtB;gBACD,GAAG;aACJ;YACD;gBACE,WAAW;gBACX;oBACE,SAAS,EAAE,IAAI,CAAC,OAAQ,CAAC,SAAS;oBAClC,MAAM,EAAE;wBACN,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,GAAG;qBACd;oBACD,UAAU,EAAE,eAAe;iBAC5B;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAChE,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,WAAW;gBACX;oBACE,SAAS,EAAE,IAAI,CAAC,OAAQ,CAAC,SAAS;oBAClC,GAAG,EAAE,CAAC,EAAE,CAAC;oBACT,UAAU,EAAE,eAAe;oBAC3B,kBAAkB,EAAE,IAAI;iBACzB;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEvC,oCAAoC;QACpC,MAAM,SAAS,GAAU,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,SAAS;aACvB,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;aAC9D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC1B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAsB;QACzC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,aAAa;gBACb;oBACE,SAAS,EAAE,IAAI,CAAC,OAAQ,CAAC,SAAS;oBAClC,MAAM;oBACN,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;oBACtD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;iBAC3B;gBACD,GAAG;aACJ;YACD;gBACE,WAAW;gBACX;oBACE,SAAS,EAAE,IAAI,CAAC,OAAQ,CAAC,SAAS;oBAClC,MAAM,EAAE;wBACN,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,GAAG;qBACd;oBACD,UAAU,EAAE,eAAe;iBAC5B;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAChE,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,sBAAsB;QACtB,IAAI,QAA4B,CAAC;QACjC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACpC,QAAQ,GAAG,EAAE,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,WAAW,GAA4B;YAC3C,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE;YAChC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM;gBACpB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;gBACrB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;gBAClD,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YACtD,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE;gBACrC,GAAG,CAAC,OAAO,CAAC,QAAQ;oBAClB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE;oBAC3C,CAAC,CAAC,EAAE,CAAC;aACR;YACD,GAAG,CAAC,OAAO,CAAC,QAAQ;gBAClB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SAC3B,CAAC;QACF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,WAAW,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC;gBACE,WAAW;gBACX;oBACE,SAAS,EAAE,IAAI,CAAC,OAAQ,CAAC,SAAS;oBAClC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;iBAC/B;gBACD,GAAG;aACJ;YACD;gBACE,qBAAqB;gBACrB;oBACE,SAAS,EAAE,IAAI,CAAC,OAAQ,CAAC,SAAS;oBAClC,MAAM,EAAE;wBACN,UAAU,EAAE;4BACV,OAAO,EAAE,QAAQ;4BACjB,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;yBAC7B;qBACF;iBACF;gBACD,GAAG;aACJ;SACF,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC;YAC/C,MAAM,IAAI,SAAS,CACjB,GAAG,EAAE,IAAI,IAAI,SAAS,EACtB,GAAG,EAAE,WAAW,IAAI,wBAAwB,CAC7C,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,0BAA0B;IAElB,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,WAAoB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACtC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;aAC7C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,KAAK;gBACZ,WAAW;aACZ,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAY,IAAI,CAAC,eAAe,CAAC;QAEtD,gCAAgC;QAChC,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,SAAS,CACjB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,EAC7B,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,oBAAoB,CAChD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,YAAY,CAAC,SAAkB,EAAE,UAAkB;QACzD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC/B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,qBAAqB,CAAC,CAAC;IAC/D,CAAC;IAEO,gBAAgB,CACtB,OAAoB,EACpB,aAAuC;QAEvC,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAO,GAAG,OAAO,CAAC;QACtB,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM;gBAAE,MAAM;YACnB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEO,YAAY,CAAC,GAAQ;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,SAAS;YACtB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS;YAC/C,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,OAAO,GAAiB;YAC5B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE;YACvD,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3C,IAAI,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;YAC1B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;YAC1B,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI;YACpC,MAAM;SACP,CAAC;QAEF,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAzYD,kCAyYC"}
|
package/dist/caldav/backend.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { CalendarBackend, CalendarInfo, CalendarEvent, ListEventsOptions, SearchEventsOptions } from "../types.js";
|
|
1
|
+
import { CalendarBackend, CalendarInfo, CalendarEvent, ListEventsOptions, SearchEventsOptions, TaskBackend, TaskInfo, ListTasksOptions, SearchTasksOptions, CreateTaskOptions, UpdateTaskOptions } from "../types.js";
|
|
2
2
|
export interface CalDavConfig {
|
|
3
3
|
url: string;
|
|
4
4
|
username: string;
|
|
5
5
|
password: string;
|
|
6
6
|
}
|
|
7
|
-
export declare class CalDavBackend implements CalendarBackend {
|
|
7
|
+
export declare class CalDavBackend implements CalendarBackend, TaskBackend {
|
|
8
8
|
private client;
|
|
9
9
|
private config;
|
|
10
10
|
private calendars;
|
|
@@ -14,6 +14,14 @@ export declare class CalDavBackend implements CalendarBackend {
|
|
|
14
14
|
listEvents(options?: ListEventsOptions): Promise<CalendarEvent[]>;
|
|
15
15
|
getEvent(href: string): Promise<CalendarEvent | null>;
|
|
16
16
|
searchEvents(options: SearchEventsOptions): Promise<CalendarEvent[]>;
|
|
17
|
+
listTasks(options?: ListTasksOptions): Promise<TaskInfo[]>;
|
|
18
|
+
getTask(href: string): Promise<TaskInfo | null>;
|
|
19
|
+
searchTasks(options: SearchTasksOptions): Promise<TaskInfo[]>;
|
|
20
|
+
createTask(options: CreateTaskOptions): Promise<TaskInfo>;
|
|
21
|
+
updateTask(options: UpdateTaskOptions): Promise<TaskInfo>;
|
|
22
|
+
completeTask(href: string): Promise<TaskInfo>;
|
|
23
|
+
private mapTask;
|
|
24
|
+
private getTaskCalendars;
|
|
17
25
|
private mapEvent;
|
|
18
26
|
private inferCalendarName;
|
|
19
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/caldav/backend.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/caldav/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAMrB,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqDD,qBAAa,aAAc,YAAW,eAAe,EAAE,WAAW;IAChE,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAsB;gBAE3B,MAAM,EAAE,YAAY;IAS1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6FxB,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAIxC,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA8BjE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAerD,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA0BpE,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAsC1D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAe/C,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAqB7D,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyCzD,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkCzD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkCnD,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,iBAAiB;CAQ1B"}
|