@inkbox/sdk 0.2.10 → 0.2.12
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 +4 -4
- package/dist/_http.d.ts +24 -2
- package/dist/_http.d.ts.map +1 -1
- package/dist/_http.js +76 -15
- package/dist/_http.js.map +1 -1
- package/dist/agent_identity.d.ts +38 -1
- package/dist/agent_identity.d.ts.map +1 -1
- package/dist/agent_identity.js +28 -0
- package/dist/agent_identity.js.map +1 -1
- package/dist/contacts/index.d.ts +3 -0
- package/dist/contacts/index.d.ts.map +1 -0
- package/dist/contacts/index.js +2 -0
- package/dist/contacts/index.js.map +1 -0
- package/dist/contacts/resources/contactAccess.d.ts +21 -0
- package/dist/contacts/resources/contactAccess.d.ts.map +1 -0
- package/dist/contacts/resources/contactAccess.js +32 -0
- package/dist/contacts/resources/contactAccess.js.map +1 -0
- package/dist/contacts/resources/contacts.d.ts +82 -0
- package/dist/contacts/resources/contacts.d.ts.map +1 -0
- package/dist/contacts/resources/contacts.js +143 -0
- package/dist/contacts/resources/contacts.js.map +1 -0
- package/dist/contacts/resources/vcards.d.ts +23 -0
- package/dist/contacts/resources/vcards.d.ts.map +1 -0
- package/dist/contacts/resources/vcards.js +31 -0
- package/dist/contacts/resources/vcards.js.map +1 -0
- package/dist/contacts/types.d.ts +177 -0
- package/dist/contacts/types.d.ts.map +1 -0
- package/dist/contacts/types.js +144 -0
- package/dist/contacts/types.js.map +1 -0
- package/dist/identities/types.d.ts +21 -0
- package/dist/identities/types.d.ts.map +1 -1
- package/dist/identities/types.js +11 -0
- package/dist/identities/types.js.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/inkbox.d.ts +16 -0
- package/dist/inkbox.d.ts.map +1 -1
- package/dist/inkbox.js +20 -0
- package/dist/inkbox.js.map +1 -1
- package/dist/mail/resources/contactRules.d.ts +40 -0
- package/dist/mail/resources/contactRules.d.ts.map +1 -0
- package/dist/mail/resources/contactRules.js +74 -0
- package/dist/mail/resources/contactRules.js.map +1 -0
- package/dist/mail/resources/mailboxes.d.ts +2 -1
- package/dist/mail/resources/mailboxes.d.ts.map +1 -1
- package/dist/mail/resources/mailboxes.js +3 -0
- package/dist/mail/resources/mailboxes.js.map +1 -1
- package/dist/mail/resources/messages.d.ts +46 -2
- package/dist/mail/resources/messages.d.ts.map +1 -1
- package/dist/mail/resources/messages.js +61 -2
- package/dist/mail/resources/messages.js.map +1 -1
- package/dist/mail/resources/threads.d.ts +32 -5
- package/dist/mail/resources/threads.d.ts.map +1 -1
- package/dist/mail/resources/threads.js +51 -6
- package/dist/mail/resources/threads.js.map +1 -1
- package/dist/mail/types.d.ts +105 -0
- package/dist/mail/types.d.ts.map +1 -1
- package/dist/mail/types.js +81 -0
- package/dist/mail/types.js.map +1 -1
- package/dist/notes/resources/noteAccess.d.ts +15 -0
- package/dist/notes/resources/noteAccess.d.ts.map +1 -0
- package/dist/notes/resources/noteAccess.js +26 -0
- package/dist/notes/resources/noteAccess.js.map +1 -0
- package/dist/notes/resources/notes.d.ts +40 -0
- package/dist/notes/resources/notes.d.ts.map +1 -0
- package/dist/notes/resources/notes.js +62 -0
- package/dist/notes/resources/notes.js.map +1 -0
- package/dist/notes/types.d.ts +40 -0
- package/dist/notes/types.d.ts.map +1 -0
- package/dist/notes/types.js +26 -0
- package/dist/notes/types.js.map +1 -0
- package/dist/phone/resources/contactRules.d.ts +41 -0
- package/dist/phone/resources/contactRules.d.ts.map +1 -0
- package/dist/phone/resources/contactRules.js +74 -0
- package/dist/phone/resources/contactRules.js.map +1 -0
- package/dist/phone/resources/numbers.d.ts +2 -0
- package/dist/phone/resources/numbers.d.ts.map +1 -1
- package/dist/phone/resources/numbers.js +3 -0
- package/dist/phone/resources/numbers.js.map +1 -1
- package/dist/phone/types.d.ts +42 -0
- package/dist/phone/types.d.ts.map +1 -1
- package/dist/phone/types.js +29 -0
- package/dist/phone/types.js.map +1 -1
- package/dist/whoami/types.d.ts +9 -0
- package/dist/whoami/types.d.ts.map +1 -1
- package/dist/whoami/types.js +9 -0
- package/dist/whoami/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Message operations: list (auto-paginated), get, send, flag updates, delete.
|
|
5
5
|
*/
|
|
6
|
-
import { parseMessage, parseMessageDetail, } from "../types.js";
|
|
6
|
+
import { ForwardMode, parseMessage, parseMessageDetail, } from "../types.js";
|
|
7
7
|
const DEFAULT_PAGE_SIZE = 50;
|
|
8
8
|
export class MessagesResource {
|
|
9
9
|
http;
|
|
@@ -91,6 +91,65 @@ export class MessagesResource {
|
|
|
91
91
|
const data = await this.http.post(`/mailboxes/${emailAddress}/messages`, body);
|
|
92
92
|
return parseMessage(data);
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Forward a stored message out from this mailbox.
|
|
96
|
+
*
|
|
97
|
+
* Two modes are available — see {@link ForwardMode}. Forwards start a
|
|
98
|
+
* brand-new thread.
|
|
99
|
+
*
|
|
100
|
+
* @param emailAddress - Full email address of the forwarding mailbox.
|
|
101
|
+
* @param messageId - UUID of the message being forwarded.
|
|
102
|
+
* @param options.to - Primary recipient addresses.
|
|
103
|
+
* @param options.cc - Carbon-copy recipients.
|
|
104
|
+
* @param options.bcc - Blind carbon-copy recipients. At least one address
|
|
105
|
+
* is required across `to`, `cc`, and `bcc`.
|
|
106
|
+
* @param options.mode - `"inline"` (default) or `"wrapped"`.
|
|
107
|
+
* @param options.subject - Optional override; defaults to
|
|
108
|
+
* `"Fwd: " + original.subject` (idempotent).
|
|
109
|
+
* @param options.bodyText - Optional caller note prepended above the
|
|
110
|
+
* original body (inline) or as a top-level note (wrapped).
|
|
111
|
+
* @param options.bodyHtml - Optional HTML caller note.
|
|
112
|
+
* @param options.additionalAttachments - Optional caller-authored
|
|
113
|
+
* attachments alongside the forwarded content. Same shape as
|
|
114
|
+
* `send({ attachments })`. Subject to the same blocked-extension and
|
|
115
|
+
* 25 MB limits.
|
|
116
|
+
* @param options.includeOriginalAttachments - `inline` mode only. When
|
|
117
|
+
* `true` (default), original attachments are re-attached as direct
|
|
118
|
+
* outbound parts. Ignored in `wrapped` mode.
|
|
119
|
+
* @param options.replyTo - Optional Reply-To address for the forward's
|
|
120
|
+
* outer envelope.
|
|
121
|
+
*/
|
|
122
|
+
async forward(emailAddress, messageId, options) {
|
|
123
|
+
const recipients = {};
|
|
124
|
+
if (options.to)
|
|
125
|
+
recipients["to"] = options.to;
|
|
126
|
+
if (options.cc)
|
|
127
|
+
recipients["cc"] = options.cc;
|
|
128
|
+
if (options.bcc)
|
|
129
|
+
recipients["bcc"] = options.bcc;
|
|
130
|
+
const body = {
|
|
131
|
+
recipients,
|
|
132
|
+
mode: options.mode ?? ForwardMode.INLINE,
|
|
133
|
+
include_original_attachments: options.includeOriginalAttachments ?? true,
|
|
134
|
+
};
|
|
135
|
+
if (options.subject !== undefined)
|
|
136
|
+
body["subject"] = options.subject;
|
|
137
|
+
if (options.bodyText !== undefined)
|
|
138
|
+
body["body_text"] = options.bodyText;
|
|
139
|
+
if (options.bodyHtml !== undefined)
|
|
140
|
+
body["body_html"] = options.bodyHtml;
|
|
141
|
+
if (options.additionalAttachments !== undefined) {
|
|
142
|
+
body["additional_attachments"] = options.additionalAttachments.map((a) => ({
|
|
143
|
+
filename: a.filename,
|
|
144
|
+
content_type: a.contentType,
|
|
145
|
+
content_base64: a.contentBase64,
|
|
146
|
+
}));
|
|
147
|
+
}
|
|
148
|
+
if (options.replyTo !== undefined)
|
|
149
|
+
body["reply_to"] = options.replyTo;
|
|
150
|
+
const data = await this.http.post(`/mailboxes/${emailAddress}/messages/${messageId}/forward`, body);
|
|
151
|
+
return parseMessage(data);
|
|
152
|
+
}
|
|
94
153
|
/**
|
|
95
154
|
* Update read/starred flags on a message.
|
|
96
155
|
*
|
|
@@ -126,7 +185,7 @@ export class MessagesResource {
|
|
|
126
185
|
await this.http.delete(`/mailboxes/${emailAddress}/messages/${messageId}`);
|
|
127
186
|
}
|
|
128
187
|
/**
|
|
129
|
-
* Get a
|
|
188
|
+
* Get a temporary signed URL for a message attachment.
|
|
130
189
|
*
|
|
131
190
|
* @param emailAddress - Full email address of the owning mailbox.
|
|
132
191
|
* @param messageId - UUID of the message.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/mail/resources/messages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/mail/resources/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* inkbox-mail/resources/threads.ts
|
|
3
3
|
*
|
|
4
|
-
* Thread operations: list (auto-paginated), get with messages,
|
|
4
|
+
* Thread operations: list (auto-paginated), get with messages, folder
|
|
5
|
+
* listing, per-thread update, and delete.
|
|
5
6
|
*/
|
|
6
7
|
import { HttpTransport } from "../../_http.js";
|
|
7
|
-
import { Thread, ThreadDetail } from "../types.js";
|
|
8
|
+
import { Thread, ThreadDetail, ThreadFolder } from "../types.js";
|
|
8
9
|
export declare class ThreadsResource {
|
|
9
10
|
private readonly http;
|
|
10
11
|
constructor(http: HttpTransport);
|
|
11
12
|
/**
|
|
12
|
-
* Async iterator over
|
|
13
|
+
* Async iterator over threads in a mailbox, most recent activity first.
|
|
13
14
|
*
|
|
14
15
|
* Pagination is handled automatically — just iterate.
|
|
15
16
|
*
|
|
17
|
+
* @param options.folder - Optional folder filter. When omitted, the server
|
|
18
|
+
* returns all visible folders for the caller.
|
|
19
|
+
* @param options.pageSize - Number of threads fetched per API call (1–100).
|
|
20
|
+
*
|
|
16
21
|
* @example
|
|
17
22
|
* ```ts
|
|
18
|
-
* for await (const thread of client.threads.list(emailAddress)) {
|
|
19
|
-
* console.log(thread.subject, thread.
|
|
23
|
+
* for await (const thread of client.threads.list(emailAddress, { folder: ThreadFolder.BLOCKED })) {
|
|
24
|
+
* console.log(thread.subject, thread.folder);
|
|
20
25
|
* }
|
|
21
26
|
* ```
|
|
22
27
|
*/
|
|
23
28
|
list(emailAddress: string, options?: {
|
|
29
|
+
folder?: ThreadFolder;
|
|
24
30
|
pageSize?: number;
|
|
25
31
|
}): AsyncGenerator<Thread>;
|
|
32
|
+
/**
|
|
33
|
+
* Return the distinct folders that have at least one thread in this
|
|
34
|
+
* mailbox.
|
|
35
|
+
*
|
|
36
|
+
* @returns Sorted list of {@link ThreadFolder} values that currently hold
|
|
37
|
+
* at least one non-deleted thread.
|
|
38
|
+
*/
|
|
39
|
+
listFolders(emailAddress: string): Promise<ThreadFolder[]>;
|
|
26
40
|
/**
|
|
27
41
|
* Get a thread with all its messages inlined.
|
|
28
42
|
*
|
|
@@ -30,6 +44,19 @@ export declare class ThreadsResource {
|
|
|
30
44
|
* @param threadId - UUID of the thread.
|
|
31
45
|
*/
|
|
32
46
|
get(emailAddress: string, threadId: string): Promise<ThreadDetail>;
|
|
47
|
+
/**
|
|
48
|
+
* Update mutable thread fields.
|
|
49
|
+
*
|
|
50
|
+
* Returns a bare {@link Thread} (no inlined messages). Use {@link get} to
|
|
51
|
+
* refetch the thread with messages attached.
|
|
52
|
+
*
|
|
53
|
+
* @param options.folder - New folder. `ThreadFolder.BLOCKED` is
|
|
54
|
+
* server-assigned and cannot be set by clients; passing it throws
|
|
55
|
+
* synchronously without making an HTTP call.
|
|
56
|
+
*/
|
|
57
|
+
update(emailAddress: string, threadId: string, options?: {
|
|
58
|
+
folder?: ThreadFolder;
|
|
59
|
+
}): Promise<Thread>;
|
|
33
60
|
/** Delete a thread. */
|
|
34
61
|
delete(emailAddress: string, threadId: string): Promise<void>;
|
|
35
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/mail/resources/threads.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/mail/resources/threads.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAGL,MAAM,EACN,YAAY,EACZ,YAAY,EAGb,MAAM,aAAa,CAAC;AAIrB,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;;;;;;;;;;;;;;;OAeG;IACI,IAAI,CACT,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACrD,cAAc,CAAC,MAAM,CAAC;IAwBzB;;;;;;OAMG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAOhE;;;;;OAKG;IACG,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAOxE;;;;;;;;;OASG;IACG,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,YAAY,CAAA;KAAO,GACtC,OAAO,CAAC,MAAM,CAAC;IAkBlB,uBAAuB;IACjB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpE"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* inkbox-mail/resources/threads.ts
|
|
3
3
|
*
|
|
4
|
-
* Thread operations: list (auto-paginated), get with messages,
|
|
4
|
+
* Thread operations: list (auto-paginated), get with messages, folder
|
|
5
|
+
* listing, per-thread update, and delete.
|
|
5
6
|
*/
|
|
6
|
-
import { parseThread, parseThreadDetail, } from "../types.js";
|
|
7
|
+
import { ThreadFolder, parseThread, parseThreadDetail, } from "../types.js";
|
|
7
8
|
const DEFAULT_PAGE_SIZE = 50;
|
|
8
9
|
export class ThreadsResource {
|
|
9
10
|
http;
|
|
@@ -11,14 +12,18 @@ export class ThreadsResource {
|
|
|
11
12
|
this.http = http;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
|
-
* Async iterator over
|
|
15
|
+
* Async iterator over threads in a mailbox, most recent activity first.
|
|
15
16
|
*
|
|
16
17
|
* Pagination is handled automatically — just iterate.
|
|
17
18
|
*
|
|
19
|
+
* @param options.folder - Optional folder filter. When omitted, the server
|
|
20
|
+
* returns all visible folders for the caller.
|
|
21
|
+
* @param options.pageSize - Number of threads fetched per API call (1–100).
|
|
22
|
+
*
|
|
18
23
|
* @example
|
|
19
24
|
* ```ts
|
|
20
|
-
* for await (const thread of client.threads.list(emailAddress)) {
|
|
21
|
-
* console.log(thread.subject, thread.
|
|
25
|
+
* for await (const thread of client.threads.list(emailAddress, { folder: ThreadFolder.BLOCKED })) {
|
|
26
|
+
* console.log(thread.subject, thread.folder);
|
|
22
27
|
* }
|
|
23
28
|
* ```
|
|
24
29
|
*/
|
|
@@ -26,7 +31,14 @@ export class ThreadsResource {
|
|
|
26
31
|
const limit = options?.pageSize ?? DEFAULT_PAGE_SIZE;
|
|
27
32
|
let cursor;
|
|
28
33
|
while (true) {
|
|
29
|
-
const
|
|
34
|
+
const params = {
|
|
35
|
+
limit,
|
|
36
|
+
cursor,
|
|
37
|
+
};
|
|
38
|
+
if (options?.folder !== undefined) {
|
|
39
|
+
params.folder = options.folder;
|
|
40
|
+
}
|
|
41
|
+
const page = await this.http.get(`/mailboxes/${emailAddress}/threads`, params);
|
|
30
42
|
for (const item of page.items) {
|
|
31
43
|
yield parseThread(item);
|
|
32
44
|
}
|
|
@@ -35,6 +47,17 @@ export class ThreadsResource {
|
|
|
35
47
|
cursor = page.next_cursor ?? undefined;
|
|
36
48
|
}
|
|
37
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Return the distinct folders that have at least one thread in this
|
|
52
|
+
* mailbox.
|
|
53
|
+
*
|
|
54
|
+
* @returns Sorted list of {@link ThreadFolder} values that currently hold
|
|
55
|
+
* at least one non-deleted thread.
|
|
56
|
+
*/
|
|
57
|
+
async listFolders(emailAddress) {
|
|
58
|
+
const data = await this.http.get(`/mailboxes/${emailAddress}/threads/folders`);
|
|
59
|
+
return data.map((f) => f);
|
|
60
|
+
}
|
|
38
61
|
/**
|
|
39
62
|
* Get a thread with all its messages inlined.
|
|
40
63
|
*
|
|
@@ -45,6 +68,28 @@ export class ThreadsResource {
|
|
|
45
68
|
const data = await this.http.get(`/mailboxes/${emailAddress}/threads/${threadId}`);
|
|
46
69
|
return parseThreadDetail(data);
|
|
47
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Update mutable thread fields.
|
|
73
|
+
*
|
|
74
|
+
* Returns a bare {@link Thread} (no inlined messages). Use {@link get} to
|
|
75
|
+
* refetch the thread with messages attached.
|
|
76
|
+
*
|
|
77
|
+
* @param options.folder - New folder. `ThreadFolder.BLOCKED` is
|
|
78
|
+
* server-assigned and cannot be set by clients; passing it throws
|
|
79
|
+
* synchronously without making an HTTP call.
|
|
80
|
+
*/
|
|
81
|
+
async update(emailAddress, threadId, options = {}) {
|
|
82
|
+
const body = {};
|
|
83
|
+
if (options.folder !== undefined) {
|
|
84
|
+
if (options.folder === ThreadFolder.BLOCKED) {
|
|
85
|
+
throw new Error("folder='blocked' is server-assigned and cannot be set by clients " +
|
|
86
|
+
"— the server will reject this PATCH.");
|
|
87
|
+
}
|
|
88
|
+
body["folder"] = options.folder;
|
|
89
|
+
}
|
|
90
|
+
const data = await this.http.patch(`/mailboxes/${emailAddress}/threads/${threadId}`, body);
|
|
91
|
+
return parseThread(data);
|
|
92
|
+
}
|
|
48
93
|
/** Delete a thread. */
|
|
49
94
|
async delete(emailAddress, threadId) {
|
|
50
95
|
await this.http.delete(`/mailboxes/${emailAddress}/threads/${threadId}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/mail/resources/threads.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/mail/resources/threads.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAKL,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,CAAC,IAAI,CACT,YAAoB,EACpB,OAAsD;QAEtD,MAAM,KAAK,GAAG,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC;QACrD,IAAI,MAA0B,CAAC;QAE/B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAgD;gBAC1D,KAAK;gBACL,MAAM;aACP,CAAC;YACF,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,cAAc,YAAY,UAAU,EACpC,MAAM,CACP,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,MAAM;YAC1B,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,cAAc,YAAY,kBAAkB,CAC7C,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAiB,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,YAAoB,EAAE,QAAgB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,cAAc,YAAY,YAAY,QAAQ,EAAE,CACjD,CAAC;QACF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CACV,YAAoB,EACpB,QAAgB,EAChB,UAAqC,EAAE;QAEvC,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACb,mEAAmE;oBACjE,sCAAsC,CACzC,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAChC,cAAc,YAAY,YAAY,QAAQ,EAAE,EAChD,IAAI,CACL,CAAC;QACF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,MAAM,CAAC,YAAoB,EAAE,QAAgB;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF"}
|
package/dist/mail/types.d.ts
CHANGED
|
@@ -8,13 +8,86 @@ export declare enum MessageDirection {
|
|
|
8
8
|
/** Email sent by the mailbox. */
|
|
9
9
|
OUTBOUND = "outbound"
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Strategy for embedding the original message in a forward.
|
|
13
|
+
*
|
|
14
|
+
* `INLINE` — render the original body inline below a Gmail-style preamble.
|
|
15
|
+
* May not perfectly preserve inline images or complex layouts.
|
|
16
|
+
* `WRAPPED` — attach the original raw MIME as a single `message/rfc822`
|
|
17
|
+
* part — semantically preserved.
|
|
18
|
+
*/
|
|
19
|
+
export declare enum ForwardMode {
|
|
20
|
+
INLINE = "inline",
|
|
21
|
+
WRAPPED = "wrapped"
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Contact-rule filter mode on a mailbox or phone number.
|
|
25
|
+
*
|
|
26
|
+
* `WHITELIST` — only addresses that match an `allow` rule are delivered.
|
|
27
|
+
* `BLACKLIST` — everything is delivered except matches against a
|
|
28
|
+
* `block` rule. This is the default.
|
|
29
|
+
*/
|
|
30
|
+
export declare enum FilterMode {
|
|
31
|
+
WHITELIST = "whitelist",
|
|
32
|
+
BLACKLIST = "blacklist"
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Logical folder a thread lives in.
|
|
36
|
+
*
|
|
37
|
+
* `BLOCKED` is server-assigned and is not client-settable — PATCH will
|
|
38
|
+
* reject it.
|
|
39
|
+
*/
|
|
40
|
+
export declare enum ThreadFolder {
|
|
41
|
+
INBOX = "inbox",
|
|
42
|
+
SPAM = "spam",
|
|
43
|
+
BLOCKED = "blocked",
|
|
44
|
+
ARCHIVE = "archive"
|
|
45
|
+
}
|
|
46
|
+
/** Whether a matching address is allowed through or blocked. */
|
|
47
|
+
export declare enum MailRuleAction {
|
|
48
|
+
ALLOW = "allow",
|
|
49
|
+
BLOCK = "block"
|
|
50
|
+
}
|
|
51
|
+
/** What a mail contact rule matches on. */
|
|
52
|
+
export declare enum MailRuleMatchType {
|
|
53
|
+
EXACT_EMAIL = "exact_email",
|
|
54
|
+
DOMAIN = "domain"
|
|
55
|
+
}
|
|
56
|
+
/** Whether a contact rule is currently enforced. */
|
|
57
|
+
export declare enum ContactRuleStatus {
|
|
58
|
+
ACTIVE = "active",
|
|
59
|
+
PAUSED = "paused"
|
|
60
|
+
}
|
|
61
|
+
export interface FilterModeChangeNotice {
|
|
62
|
+
/** The mode the resource was just flipped to. */
|
|
63
|
+
newFilterMode: FilterMode;
|
|
64
|
+
/**
|
|
65
|
+
* Action whose rules are now redundant under `newFilterMode` —
|
|
66
|
+
* `"block"` under whitelist, `"allow"` under blacklist. Typed as a
|
|
67
|
+
* free-form string to tolerate new server values.
|
|
68
|
+
*/
|
|
69
|
+
redundantRuleAction: string;
|
|
70
|
+
/**
|
|
71
|
+
* Count of active rules whose `action` equals `redundantRuleAction`.
|
|
72
|
+
* `0` is a clean flip. Paused / deleted rules are not counted.
|
|
73
|
+
*/
|
|
74
|
+
redundantRuleCount: number;
|
|
75
|
+
}
|
|
11
76
|
export interface Mailbox {
|
|
12
77
|
id: string;
|
|
13
78
|
emailAddress: string;
|
|
14
79
|
displayName: string | null;
|
|
15
80
|
webhookUrl: string | null;
|
|
81
|
+
filterMode: FilterMode;
|
|
82
|
+
/**
|
|
83
|
+
* UUID of the owning agent identity, or `null` if the mailbox is
|
|
84
|
+
* standalone (not tied to any agent). Always present on every mailbox
|
|
85
|
+
* response shape.
|
|
86
|
+
*/
|
|
87
|
+
agentIdentityId: string | null;
|
|
16
88
|
createdAt: Date;
|
|
17
89
|
updatedAt: Date;
|
|
90
|
+
filterModeChangeNotice: FilterModeChangeNotice | null;
|
|
18
91
|
}
|
|
19
92
|
export interface Message {
|
|
20
93
|
id: string;
|
|
@@ -51,6 +124,7 @@ export interface Thread {
|
|
|
51
124
|
id: string;
|
|
52
125
|
mailboxId: string;
|
|
53
126
|
subject: string | null;
|
|
127
|
+
folder: ThreadFolder;
|
|
54
128
|
messageCount: number;
|
|
55
129
|
lastMessageAt: Date;
|
|
56
130
|
createdAt: Date;
|
|
@@ -59,11 +133,29 @@ export interface ThreadDetail extends Thread {
|
|
|
59
133
|
/** All messages in the thread, oldest-first */
|
|
60
134
|
messages: Message[];
|
|
61
135
|
}
|
|
136
|
+
export interface MailContactRule {
|
|
137
|
+
id: string;
|
|
138
|
+
mailboxId: string;
|
|
139
|
+
action: MailRuleAction;
|
|
140
|
+
matchType: MailRuleMatchType;
|
|
141
|
+
matchTarget: string;
|
|
142
|
+
status: ContactRuleStatus;
|
|
143
|
+
createdAt: Date;
|
|
144
|
+
updatedAt: Date;
|
|
145
|
+
}
|
|
146
|
+
export interface RawFilterModeChangeNotice {
|
|
147
|
+
new_filter_mode: string;
|
|
148
|
+
redundant_rule_action: string;
|
|
149
|
+
redundant_rule_count: number;
|
|
150
|
+
}
|
|
62
151
|
export interface RawMailbox {
|
|
63
152
|
id: string;
|
|
64
153
|
email_address: string;
|
|
65
154
|
display_name: string | null;
|
|
66
155
|
webhook_url: string | null;
|
|
156
|
+
filter_mode?: string;
|
|
157
|
+
agent_identity_id?: string | null;
|
|
158
|
+
filter_mode_change_notice?: RawFilterModeChangeNotice | null;
|
|
67
159
|
created_at: string;
|
|
68
160
|
updated_at: string;
|
|
69
161
|
}
|
|
@@ -96,19 +188,32 @@ export interface RawThread {
|
|
|
96
188
|
id: string;
|
|
97
189
|
mailbox_id: string;
|
|
98
190
|
subject: string | null;
|
|
191
|
+
folder?: string;
|
|
99
192
|
message_count: number;
|
|
100
193
|
last_message_at: string;
|
|
101
194
|
created_at: string;
|
|
102
195
|
messages?: RawMessage[];
|
|
103
196
|
}
|
|
197
|
+
export interface RawMailContactRule {
|
|
198
|
+
id: string;
|
|
199
|
+
mailbox_id: string;
|
|
200
|
+
action: string;
|
|
201
|
+
match_type: string;
|
|
202
|
+
match_target: string;
|
|
203
|
+
status?: string;
|
|
204
|
+
created_at: string;
|
|
205
|
+
updated_at: string;
|
|
206
|
+
}
|
|
104
207
|
export interface RawCursorPage<T> {
|
|
105
208
|
items: T[];
|
|
106
209
|
next_cursor: string | null;
|
|
107
210
|
has_more: boolean;
|
|
108
211
|
}
|
|
212
|
+
export declare function parseFilterModeChangeNotice(r: RawFilterModeChangeNotice): FilterModeChangeNotice;
|
|
109
213
|
export declare function parseMailbox(r: RawMailbox): Mailbox;
|
|
110
214
|
export declare function parseMessage(r: RawMessage): Message;
|
|
111
215
|
export declare function parseMessageDetail(r: RawMessage): MessageDetail;
|
|
112
216
|
export declare function parseThread(r: RawThread): Thread;
|
|
113
217
|
export declare function parseThreadDetail(r: RawThread): ThreadDetail;
|
|
218
|
+
export declare function parseMailContactRule(r: RawMailContactRule): MailContactRule;
|
|
114
219
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/mail/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gEAAgE;AAChE,oBAAY,gBAAgB;IAC1B,8CAA8C;IAC9C,OAAO,YAAY;IACnB,iCAAiC;IACjC,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gEAAgE;AAChE,oBAAY,gBAAgB;IAC1B,8CAA8C;IAC9C,OAAO,YAAY;IACnB,iCAAiC;IACjC,QAAQ,aAAa;CACtB;AAED;;;;;;;GAOG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED;;;;;;GAMG;AACH,oBAAY,UAAU;IACpB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,gEAAgE;AAChE,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,2CAA2C;AAC3C,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,MAAM,WAAW;CAClB;AAED,oDAAoD;AACpD,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,aAAa,EAAE,UAAU,CAAC;IAC1B;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,wCAAwC;IACxC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wCAAwC;IACxC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IACrD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC1C,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAID,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yBAAyB,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,yBAAyB,GAC3B,sBAAsB,CAMxB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAcnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAkBnD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,aAAa,CAY/D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAUhD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAK5D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,kBAAkB,GAAG,eAAe,CAW3E"}
|
package/dist/mail/types.js
CHANGED
|
@@ -9,15 +9,83 @@ export var MessageDirection;
|
|
|
9
9
|
/** Email sent by the mailbox. */
|
|
10
10
|
MessageDirection["OUTBOUND"] = "outbound";
|
|
11
11
|
})(MessageDirection || (MessageDirection = {}));
|
|
12
|
+
/**
|
|
13
|
+
* Strategy for embedding the original message in a forward.
|
|
14
|
+
*
|
|
15
|
+
* `INLINE` — render the original body inline below a Gmail-style preamble.
|
|
16
|
+
* May not perfectly preserve inline images or complex layouts.
|
|
17
|
+
* `WRAPPED` — attach the original raw MIME as a single `message/rfc822`
|
|
18
|
+
* part — semantically preserved.
|
|
19
|
+
*/
|
|
20
|
+
export var ForwardMode;
|
|
21
|
+
(function (ForwardMode) {
|
|
22
|
+
ForwardMode["INLINE"] = "inline";
|
|
23
|
+
ForwardMode["WRAPPED"] = "wrapped";
|
|
24
|
+
})(ForwardMode || (ForwardMode = {}));
|
|
25
|
+
/**
|
|
26
|
+
* Contact-rule filter mode on a mailbox or phone number.
|
|
27
|
+
*
|
|
28
|
+
* `WHITELIST` — only addresses that match an `allow` rule are delivered.
|
|
29
|
+
* `BLACKLIST` — everything is delivered except matches against a
|
|
30
|
+
* `block` rule. This is the default.
|
|
31
|
+
*/
|
|
32
|
+
export var FilterMode;
|
|
33
|
+
(function (FilterMode) {
|
|
34
|
+
FilterMode["WHITELIST"] = "whitelist";
|
|
35
|
+
FilterMode["BLACKLIST"] = "blacklist";
|
|
36
|
+
})(FilterMode || (FilterMode = {}));
|
|
37
|
+
/**
|
|
38
|
+
* Logical folder a thread lives in.
|
|
39
|
+
*
|
|
40
|
+
* `BLOCKED` is server-assigned and is not client-settable — PATCH will
|
|
41
|
+
* reject it.
|
|
42
|
+
*/
|
|
43
|
+
export var ThreadFolder;
|
|
44
|
+
(function (ThreadFolder) {
|
|
45
|
+
ThreadFolder["INBOX"] = "inbox";
|
|
46
|
+
ThreadFolder["SPAM"] = "spam";
|
|
47
|
+
ThreadFolder["BLOCKED"] = "blocked";
|
|
48
|
+
ThreadFolder["ARCHIVE"] = "archive";
|
|
49
|
+
})(ThreadFolder || (ThreadFolder = {}));
|
|
50
|
+
/** Whether a matching address is allowed through or blocked. */
|
|
51
|
+
export var MailRuleAction;
|
|
52
|
+
(function (MailRuleAction) {
|
|
53
|
+
MailRuleAction["ALLOW"] = "allow";
|
|
54
|
+
MailRuleAction["BLOCK"] = "block";
|
|
55
|
+
})(MailRuleAction || (MailRuleAction = {}));
|
|
56
|
+
/** What a mail contact rule matches on. */
|
|
57
|
+
export var MailRuleMatchType;
|
|
58
|
+
(function (MailRuleMatchType) {
|
|
59
|
+
MailRuleMatchType["EXACT_EMAIL"] = "exact_email";
|
|
60
|
+
MailRuleMatchType["DOMAIN"] = "domain";
|
|
61
|
+
})(MailRuleMatchType || (MailRuleMatchType = {}));
|
|
62
|
+
/** Whether a contact rule is currently enforced. */
|
|
63
|
+
export var ContactRuleStatus;
|
|
64
|
+
(function (ContactRuleStatus) {
|
|
65
|
+
ContactRuleStatus["ACTIVE"] = "active";
|
|
66
|
+
ContactRuleStatus["PAUSED"] = "paused";
|
|
67
|
+
})(ContactRuleStatus || (ContactRuleStatus = {}));
|
|
12
68
|
// ---- parsers ----
|
|
69
|
+
export function parseFilterModeChangeNotice(r) {
|
|
70
|
+
return {
|
|
71
|
+
newFilterMode: r.new_filter_mode,
|
|
72
|
+
redundantRuleAction: r.redundant_rule_action,
|
|
73
|
+
redundantRuleCount: r.redundant_rule_count,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
13
76
|
export function parseMailbox(r) {
|
|
14
77
|
return {
|
|
15
78
|
id: r.id,
|
|
16
79
|
emailAddress: r.email_address,
|
|
17
80
|
displayName: r.display_name,
|
|
18
81
|
webhookUrl: r.webhook_url,
|
|
82
|
+
filterMode: r.filter_mode ?? FilterMode.BLACKLIST,
|
|
83
|
+
agentIdentityId: r.agent_identity_id ?? null,
|
|
19
84
|
createdAt: new Date(r.created_at),
|
|
20
85
|
updatedAt: new Date(r.updated_at),
|
|
86
|
+
filterModeChangeNotice: r.filter_mode_change_notice
|
|
87
|
+
? parseFilterModeChangeNotice(r.filter_mode_change_notice)
|
|
88
|
+
: null,
|
|
21
89
|
};
|
|
22
90
|
}
|
|
23
91
|
export function parseMessage(r) {
|
|
@@ -57,6 +125,7 @@ export function parseThread(r) {
|
|
|
57
125
|
id: r.id,
|
|
58
126
|
mailboxId: r.mailbox_id,
|
|
59
127
|
subject: r.subject,
|
|
128
|
+
folder: r.folder ?? ThreadFolder.INBOX,
|
|
60
129
|
messageCount: r.message_count,
|
|
61
130
|
lastMessageAt: new Date(r.last_message_at),
|
|
62
131
|
createdAt: new Date(r.created_at),
|
|
@@ -68,4 +137,16 @@ export function parseThreadDetail(r) {
|
|
|
68
137
|
messages: (r.messages ?? []).map(parseMessage),
|
|
69
138
|
};
|
|
70
139
|
}
|
|
140
|
+
export function parseMailContactRule(r) {
|
|
141
|
+
return {
|
|
142
|
+
id: r.id,
|
|
143
|
+
mailboxId: r.mailbox_id,
|
|
144
|
+
action: r.action,
|
|
145
|
+
matchType: r.match_type,
|
|
146
|
+
matchTarget: r.match_target,
|
|
147
|
+
status: r.status ?? ContactRuleStatus.ACTIVE,
|
|
148
|
+
createdAt: new Date(r.created_at),
|
|
149
|
+
updatedAt: new Date(r.updated_at),
|
|
150
|
+
};
|
|
151
|
+
}
|
|
71
152
|
//# sourceMappingURL=types.js.map
|
package/dist/mail/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gEAAgE;AAChE,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,8CAA8C;IAC9C,uCAAmB,CAAA;IACnB,iCAAiC;IACjC,yCAAqB,CAAA;AACvB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* inkbox-notes/resources/noteAccess.ts
|
|
3
|
+
*
|
|
4
|
+
* Per-note access grant management. No wildcards.
|
|
5
|
+
*/
|
|
6
|
+
import { HttpTransport } from "../../_http.js";
|
|
7
|
+
import { NoteAccess } from "../types.js";
|
|
8
|
+
export declare class NoteAccessResource {
|
|
9
|
+
private readonly http;
|
|
10
|
+
constructor(http: HttpTransport);
|
|
11
|
+
list(noteId: string): Promise<NoteAccess[]>;
|
|
12
|
+
grant(noteId: string, identityId: string): Promise<NoteAccess>;
|
|
13
|
+
revoke(noteId: string, identityId: string): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=noteAccess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noteAccess.d.ts","sourceRoot":"","sources":["../../../src/notes/resources/noteAccess.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAkC,MAAM,aAAa,CAAC;AAIzE,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQ3C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ9D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* inkbox-notes/resources/noteAccess.ts
|
|
3
|
+
*
|
|
4
|
+
* Per-note access grant management. No wildcards.
|
|
5
|
+
*/
|
|
6
|
+
import { parseNoteAccess } from "../types.js";
|
|
7
|
+
const BASE = "/notes";
|
|
8
|
+
export class NoteAccessResource {
|
|
9
|
+
http;
|
|
10
|
+
constructor(http) {
|
|
11
|
+
this.http = http;
|
|
12
|
+
}
|
|
13
|
+
async list(noteId) {
|
|
14
|
+
const data = await this.http.get(`${BASE}/${noteId}/access`);
|
|
15
|
+
const items = Array.isArray(data) ? data : data.items;
|
|
16
|
+
return items.map(parseNoteAccess);
|
|
17
|
+
}
|
|
18
|
+
async grant(noteId, identityId) {
|
|
19
|
+
const data = await this.http.post(`${BASE}/${noteId}/access`, { identity_id: identityId });
|
|
20
|
+
return parseNoteAccess(data);
|
|
21
|
+
}
|
|
22
|
+
async revoke(noteId, identityId) {
|
|
23
|
+
await this.http.delete(`${BASE}/${noteId}/access/${identityId}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=noteAccess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noteAccess.js","sourceRoot":"","sources":["../../../src/notes/resources/noteAccess.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA6B,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,IAAI,GAAG,QAAQ,CAAC;AAEtB,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAE9B,GAAG,IAAI,IAAI,MAAM,SAAS,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,UAAkB;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/B,GAAG,IAAI,IAAI,MAAM,SAAS,EAC1B,EAAE,WAAW,EAAE,UAAU,EAAE,CAC5B,CAAC;QACF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,UAAkB;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,MAAM,WAAW,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;CACF"}
|