millionsend 0.7.0 → 0.9.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/CHANGELOG.md +29 -0
- package/README.md +257 -14
- package/dist/error.d.ts +6 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +3 -2
- package/dist/error.js.map +1 -1
- package/dist/http.d.ts +10 -3
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +59 -7
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/query.d.ts +4 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +8 -0
- package/dist/query.js.map +1 -1
- package/dist/resources/api-keys.d.ts +1 -0
- package/dist/resources/api-keys.d.ts.map +1 -1
- package/dist/resources/api-keys.js +2 -0
- package/dist/resources/api-keys.js.map +1 -1
- package/dist/resources/broadcasts.d.ts +4 -1
- package/dist/resources/broadcasts.d.ts.map +1 -1
- package/dist/resources/broadcasts.js +4 -1
- package/dist/resources/broadcasts.js.map +1 -1
- package/dist/resources/contacts.d.ts +7 -3
- package/dist/resources/contacts.d.ts.map +1 -1
- package/dist/resources/contacts.js +17 -5
- package/dist/resources/contacts.js.map +1 -1
- package/dist/resources/domains.d.ts +9 -2
- package/dist/resources/domains.d.ts.map +1 -1
- package/dist/resources/domains.js +10 -2
- package/dist/resources/domains.js.map +1 -1
- package/dist/resources/emails.d.ts +12 -2
- package/dist/resources/emails.d.ts.map +1 -1
- package/dist/resources/emails.js +13 -2
- package/dist/resources/emails.js.map +1 -1
- package/dist/resources/inboxes.d.ts +115 -0
- package/dist/resources/inboxes.d.ts.map +1 -0
- package/dist/resources/inboxes.js +349 -0
- package/dist/resources/inboxes.js.map +1 -0
- package/dist/resources/receiving.d.ts +57 -0
- package/dist/resources/receiving.d.ts.map +1 -0
- package/dist/resources/receiving.js +115 -0
- package/dist/resources/receiving.js.map +1 -0
- package/dist/resources/templates.d.ts.map +1 -1
- package/dist/resources/templates.js +4 -1
- package/dist/resources/templates.js.map +1 -1
- package/dist/resources/topics.d.ts.map +1 -1
- package/dist/resources/topics.js +5 -1
- package/dist/resources/topics.js.map +1 -1
- package/dist/resources/webhooks.d.ts.map +1 -1
- package/dist/resources/webhooks.js +7 -1
- package/dist/resources/webhooks.js.map +1 -1
- package/dist/types.d.ts +645 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +19 -3
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { Result } from "../error.js";
|
|
2
|
+
import type { HttpClient, RequestOptions } from "../http.js";
|
|
3
|
+
import type { CreateDraftOptions, CreateInboxOptions, CreateLabelOptions, Draft, DraftListItem, ForwardThreadEmailOptions, GetThreadEmailOptions, Inbox, InboxListItem, InboxSafetyOptions, InboxSafetyResponse, InboxSendOutcome, LabelAck, LabelList, LatestCodeOptions, List, ListInboxesOptions, ListOptions, ListThreadEmailsOptions, ListThreadsOptions, QuarantinedEmail, QuarantineRelease, ReleaseQuarantinedOptions, RemoveDraftResponse, RemoveInboxResponse, RemoveLabelResponse, RemoveThreadResponse, ReplyThreadEmailOptions, SearchThreadsOptions, SentDraft, SentEmail, ThreadEmail, ThreadListItem, ThreadSearchResult, ThreadSummary, UpdateDraftOptions, UpdateInboxOptions, UpdateLabelOptions, UpdateThreadOptions, VerificationCode } from "../types.js";
|
|
4
|
+
/** Who may write in, what the inbox may send, and what happens before an agent reads (MillionSend extension). */
|
|
5
|
+
export declare class InboxSafetySettings {
|
|
6
|
+
private readonly http;
|
|
7
|
+
constructor(http: HttpClient);
|
|
8
|
+
/** GET /inboxes/:id/safety */
|
|
9
|
+
get(inboxId: string): Promise<Result<InboxSafetyResponse>>;
|
|
10
|
+
/** PATCH /inboxes/:id/safety — omitted fields keep their value; inbox-scoped keys get a 403. */
|
|
11
|
+
update(inboxId: string, patch: InboxSafetyOptions): Promise<Result<InboxSafetyResponse>>;
|
|
12
|
+
}
|
|
13
|
+
/** Verification codes and sign-in links pulled from received mail (MillionSend extension). */
|
|
14
|
+
export declare class InboxCodes {
|
|
15
|
+
private readonly http;
|
|
16
|
+
constructor(http: HttpClient);
|
|
17
|
+
/** GET /inboxes/:id/codes/latest — the newest delivered code or link; `wait` long-polls for one. */
|
|
18
|
+
latest(inboxId: string, options?: LatestCodeOptions): Promise<Result<VerificationCode>>;
|
|
19
|
+
}
|
|
20
|
+
/** Mail held by the inbox's rules, kept until a person releases it (MillionSend extension). */
|
|
21
|
+
export declare class InboxQuarantine {
|
|
22
|
+
private readonly http;
|
|
23
|
+
constructor(http: HttpClient);
|
|
24
|
+
/** GET /inboxes/:id/quarantine — newest first; full-access team keys only. */
|
|
25
|
+
list(inboxId: string, options?: ListOptions): Promise<Result<List<QuarantinedEmail>>>;
|
|
26
|
+
/** POST /inboxes/:id/quarantine/:emailId/release — delivers it; `trustSender` allowlists the sender. */
|
|
27
|
+
release(inboxId: string, emailId: string, options?: ReleaseQuarantinedOptions): Promise<Result<QuarantineRelease>>;
|
|
28
|
+
}
|
|
29
|
+
/** Per-inbox labels, up to 100. */
|
|
30
|
+
export declare class InboxLabels {
|
|
31
|
+
private readonly http;
|
|
32
|
+
constructor(http: HttpClient);
|
|
33
|
+
/** GET /inboxes/:id/labels — unpaginated, oldest first. */
|
|
34
|
+
list(inboxId: string): Promise<Result<LabelList>>;
|
|
35
|
+
create(inboxId: string, payload: CreateLabelOptions): Promise<Result<LabelAck>>;
|
|
36
|
+
update(inboxId: string, labelId: string, payload: UpdateLabelOptions): Promise<Result<LabelAck>>;
|
|
37
|
+
/** DELETE /inboxes/:id/labels/:labelId — also removes it from every thread. */
|
|
38
|
+
remove(inboxId: string, labelId: string): Promise<Result<RemoveLabelResponse>>;
|
|
39
|
+
}
|
|
40
|
+
/** The messages of a thread, both directions. */
|
|
41
|
+
export declare class InboxThreadEmails {
|
|
42
|
+
private readonly http;
|
|
43
|
+
constructor(http: HttpClient);
|
|
44
|
+
/** GET /inboxes/:id/threads/:threadId/emails — oldest first; `after` pages toward newer. */
|
|
45
|
+
list(inboxId: string, threadId: string, options?: ListThreadEmailsOptions): Promise<Result<List<ThreadEmail>>>;
|
|
46
|
+
get(inboxId: string, threadId: string, emailId: string, options?: GetThreadEmailOptions): Promise<Result<ThreadEmail>>;
|
|
47
|
+
/** POST …/emails/:emailId/reply — sent, or held as a draft when the inbox's rules ask for approval. */
|
|
48
|
+
reply(inboxId: string, threadId: string, emailId: string, payload: ReplyThreadEmailOptions, options?: RequestOptions): Promise<Result<InboxSendOutcome<SentEmail>>>;
|
|
49
|
+
/** POST …/emails/:emailId/forward — the original quoted below an optional note, with its attachments. */
|
|
50
|
+
forward(inboxId: string, threadId: string, emailId: string, payload: ForwardThreadEmailOptions, options?: RequestOptions): Promise<Result<InboxSendOutcome<SentEmail>>>;
|
|
51
|
+
}
|
|
52
|
+
/** Conversations in an inbox, each in one folder. */
|
|
53
|
+
export declare class InboxThreads {
|
|
54
|
+
private readonly http;
|
|
55
|
+
readonly emails: InboxThreadEmails;
|
|
56
|
+
constructor(http: HttpClient);
|
|
57
|
+
/** GET /inboxes/:id/threads — most recently active first. */
|
|
58
|
+
list(inboxId: string, options?: ListThreadsOptions): Promise<Result<List<ThreadListItem>>>;
|
|
59
|
+
/** GET /inboxes/:id/threads/search — subject, sender and recipients (bodies are sealed at rest). */
|
|
60
|
+
search(inboxId: string, options?: SearchThreadsOptions): Promise<Result<List<ThreadSearchResult>>>;
|
|
61
|
+
get(inboxId: string, threadId: string): Promise<Result<ThreadSummary>>;
|
|
62
|
+
/** PATCH /inboxes/:id/threads/:threadId — read state, folder, or one more label. */
|
|
63
|
+
update(inboxId: string, threadId: string, payload: UpdateThreadOptions): Promise<Result<ThreadSummary>>;
|
|
64
|
+
/** DELETE /inboxes/:id/threads/:threadId — moves it to trash, purged after 30 days. */
|
|
65
|
+
remove(inboxId: string, threadId: string): Promise<Result<RemoveThreadResponse>>;
|
|
66
|
+
}
|
|
67
|
+
/** Drafts, standalone or replies; some wait for a person to approve them. */
|
|
68
|
+
export declare class InboxDrafts {
|
|
69
|
+
private readonly http;
|
|
70
|
+
constructor(http: HttpClient);
|
|
71
|
+
/** GET /inboxes/:id/drafts — unsent drafts, most recently updated first. */
|
|
72
|
+
list(inboxId: string, options?: ListOptions): Promise<Result<List<DraftListItem>>>;
|
|
73
|
+
/** POST /inboxes/:id/drafts — a second reply draft for the same email returns the existing one. */
|
|
74
|
+
create(inboxId: string, payload: CreateDraftOptions): Promise<Result<Draft>>;
|
|
75
|
+
get(inboxId: string, draftId: string): Promise<Result<Draft>>;
|
|
76
|
+
/** PATCH /inboxes/:id/drafts/:draftId — `null` clears a field. */
|
|
77
|
+
update(inboxId: string, draftId: string, payload: UpdateDraftOptions): Promise<Result<Draft>>;
|
|
78
|
+
remove(inboxId: string, draftId: string): Promise<Result<RemoveDraftResponse>>;
|
|
79
|
+
/**
|
|
80
|
+
* POST /inboxes/:id/drafts/:draftId/send — held again as a draft when the
|
|
81
|
+
* rules ask for approval. An agent's key cannot send a draft that waits for
|
|
82
|
+
* approval (403 approval_required); a person or a team key approves it.
|
|
83
|
+
*/
|
|
84
|
+
send(inboxId: string, draftId: string, options?: RequestOptions): Promise<Result<InboxSendOutcome<SentDraft>>>;
|
|
85
|
+
/** POST /inboxes/:id/drafts/:draftId/reject — approvers only (MillionSend extension). */
|
|
86
|
+
reject(inboxId: string, draftId: string): Promise<Result<Draft>>;
|
|
87
|
+
}
|
|
88
|
+
/** Inboxes: an address that receives mail, read by an agent or by people. */
|
|
89
|
+
export declare class Inboxes {
|
|
90
|
+
private readonly http;
|
|
91
|
+
readonly safety: InboxSafetySettings;
|
|
92
|
+
readonly codes: InboxCodes;
|
|
93
|
+
readonly quarantine: InboxQuarantine;
|
|
94
|
+
readonly labels: InboxLabels;
|
|
95
|
+
readonly threads: InboxThreads;
|
|
96
|
+
readonly drafts: InboxDrafts;
|
|
97
|
+
constructor(http: HttpClient);
|
|
98
|
+
/**
|
|
99
|
+
* POST /inboxes — without `emailAddress` or `domainId`, an address on the
|
|
100
|
+
* instance's shared domain: `username`, or random. Shared and forwarding
|
|
101
|
+
* creates answer 503 `name_review_unavailable` (see `retryAfter`) while the
|
|
102
|
+
* team's subdomain awaits its name review, and so does a chosen `username` or
|
|
103
|
+
* `fromName` there while the review is down; a spent review budget answers 429.
|
|
104
|
+
*/
|
|
105
|
+
create(payload?: CreateInboxOptions): Promise<Result<Inbox>>;
|
|
106
|
+
/** GET /inboxes — newest first. */
|
|
107
|
+
list(options?: ListInboxesOptions): Promise<Result<List<InboxListItem>>>;
|
|
108
|
+
/** GET /inboxes/:idOrEmail — by id or by address. */
|
|
109
|
+
get(idOrEmail: string): Promise<Result<Inbox>>;
|
|
110
|
+
/** PATCH /inboxes/:id — a new `fromName` on the shared domain is reviewed like on `create` (503, 429). */
|
|
111
|
+
update(id: string, payload: UpdateInboxOptions): Promise<Result<Inbox>>;
|
|
112
|
+
/** DELETE /inboxes/:id — removes its threads, drafts and labels, and revokes its keys. */
|
|
113
|
+
remove(id: string): Promise<Result<RemoveInboxResponse>>;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=inboxes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inboxes.d.ts","sourceRoot":"","sources":["../../src/resources/inboxes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
import { bool, csv, listQuery } from "../query.js";
|
|
2
|
+
import { forwardToWire, replyToWire } from "./receiving.js";
|
|
3
|
+
/** `/inboxes/<segments…>`, each segment percent-encoded (the literal ones are plain words). */
|
|
4
|
+
function inboxPath(...segments) {
|
|
5
|
+
return `/inboxes/${segments.map(encodeURIComponent).join("/")}`;
|
|
6
|
+
}
|
|
7
|
+
function safetyToWire(s) {
|
|
8
|
+
return {
|
|
9
|
+
accept_from: s.acceptFrom,
|
|
10
|
+
allowlist: s.allowlist,
|
|
11
|
+
owner_addresses: s.ownerAddresses,
|
|
12
|
+
screening: s.screening,
|
|
13
|
+
extract_codes: s.extractCodes,
|
|
14
|
+
send_policy: s.sendPolicy,
|
|
15
|
+
require_approval: s.requireApproval,
|
|
16
|
+
private_codes: s.privateCodes,
|
|
17
|
+
send_cap: s.sendCap,
|
|
18
|
+
forward_to: s.forwardTo,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function threadsQuery(o) {
|
|
22
|
+
if (!o)
|
|
23
|
+
return undefined;
|
|
24
|
+
return {
|
|
25
|
+
...listQuery(o),
|
|
26
|
+
folders: csv(o.folders),
|
|
27
|
+
labels: csv(o.labels),
|
|
28
|
+
read: bool(o.read),
|
|
29
|
+
include_quarantined: o.includeQuarantined ? "true" : undefined,
|
|
30
|
+
query: o.query,
|
|
31
|
+
from: csv(o.from),
|
|
32
|
+
to: csv(o.to),
|
|
33
|
+
cc: csv(o.cc),
|
|
34
|
+
bcc: csv(o.bcc),
|
|
35
|
+
has_attachment: bool(o.hasAttachment),
|
|
36
|
+
start_date: o.startDate,
|
|
37
|
+
end_date: o.endDate,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function draftToWire(o) {
|
|
41
|
+
return {
|
|
42
|
+
to: o.to,
|
|
43
|
+
cc: o.cc,
|
|
44
|
+
bcc: o.bcc,
|
|
45
|
+
subject: o.subject,
|
|
46
|
+
html: o.html,
|
|
47
|
+
text: o.text,
|
|
48
|
+
thread_id: o.threadId,
|
|
49
|
+
reply_to_email_id: o.replyToEmailId,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Who may write in, what the inbox may send, and what happens before an agent reads (MillionSend extension). */
|
|
53
|
+
export class InboxSafetySettings {
|
|
54
|
+
http;
|
|
55
|
+
constructor(http) {
|
|
56
|
+
this.http = http;
|
|
57
|
+
}
|
|
58
|
+
/** GET /inboxes/:id/safety */
|
|
59
|
+
get(inboxId) {
|
|
60
|
+
return this.http.request({ method: "GET", path: inboxPath(inboxId, "safety") });
|
|
61
|
+
}
|
|
62
|
+
/** PATCH /inboxes/:id/safety — omitted fields keep their value; inbox-scoped keys get a 403. */
|
|
63
|
+
update(inboxId, patch) {
|
|
64
|
+
return this.http.request({
|
|
65
|
+
method: "PATCH",
|
|
66
|
+
path: inboxPath(inboxId, "safety"),
|
|
67
|
+
body: safetyToWire(patch),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Verification codes and sign-in links pulled from received mail (MillionSend extension). */
|
|
72
|
+
export class InboxCodes {
|
|
73
|
+
http;
|
|
74
|
+
constructor(http) {
|
|
75
|
+
this.http = http;
|
|
76
|
+
}
|
|
77
|
+
/** GET /inboxes/:id/codes/latest — the newest delivered code or link; `wait` long-polls for one. */
|
|
78
|
+
latest(inboxId, options = {}) {
|
|
79
|
+
return this.http.request({
|
|
80
|
+
method: "GET",
|
|
81
|
+
path: inboxPath(inboxId, "codes", "latest"),
|
|
82
|
+
query: {
|
|
83
|
+
from: options.from,
|
|
84
|
+
wait: options.wait,
|
|
85
|
+
max_age: options.maxAge,
|
|
86
|
+
since: options.since,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/** Mail held by the inbox's rules, kept until a person releases it (MillionSend extension). */
|
|
92
|
+
export class InboxQuarantine {
|
|
93
|
+
http;
|
|
94
|
+
constructor(http) {
|
|
95
|
+
this.http = http;
|
|
96
|
+
}
|
|
97
|
+
/** GET /inboxes/:id/quarantine — newest first; full-access team keys only. */
|
|
98
|
+
list(inboxId, options) {
|
|
99
|
+
return this.http.request({
|
|
100
|
+
method: "GET",
|
|
101
|
+
path: inboxPath(inboxId, "quarantine"),
|
|
102
|
+
query: listQuery(options),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/** POST /inboxes/:id/quarantine/:emailId/release — delivers it; `trustSender` allowlists the sender. */
|
|
106
|
+
release(inboxId, emailId, options = {}) {
|
|
107
|
+
return this.http.request({
|
|
108
|
+
method: "POST",
|
|
109
|
+
path: inboxPath(inboxId, "quarantine", emailId, "release"),
|
|
110
|
+
body: { trust_sender: options.trustSender },
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/** Per-inbox labels, up to 100. */
|
|
115
|
+
export class InboxLabels {
|
|
116
|
+
http;
|
|
117
|
+
constructor(http) {
|
|
118
|
+
this.http = http;
|
|
119
|
+
}
|
|
120
|
+
/** GET /inboxes/:id/labels — unpaginated, oldest first. */
|
|
121
|
+
list(inboxId) {
|
|
122
|
+
return this.http.request({ method: "GET", path: inboxPath(inboxId, "labels") });
|
|
123
|
+
}
|
|
124
|
+
create(inboxId, payload) {
|
|
125
|
+
return this.http.request({
|
|
126
|
+
method: "POST",
|
|
127
|
+
path: inboxPath(inboxId, "labels"),
|
|
128
|
+
body: { name: payload.name, color: payload.color },
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
update(inboxId, labelId, payload) {
|
|
132
|
+
return this.http.request({
|
|
133
|
+
method: "PATCH",
|
|
134
|
+
path: inboxPath(inboxId, "labels", labelId),
|
|
135
|
+
body: { name: payload.name, color: payload.color },
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/** DELETE /inboxes/:id/labels/:labelId — also removes it from every thread. */
|
|
139
|
+
remove(inboxId, labelId) {
|
|
140
|
+
return this.http.request({ method: "DELETE", path: inboxPath(inboxId, "labels", labelId) });
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** The messages of a thread, both directions. */
|
|
144
|
+
export class InboxThreadEmails {
|
|
145
|
+
http;
|
|
146
|
+
constructor(http) {
|
|
147
|
+
this.http = http;
|
|
148
|
+
}
|
|
149
|
+
/** GET /inboxes/:id/threads/:threadId/emails — oldest first; `after` pages toward newer. */
|
|
150
|
+
list(inboxId, threadId, options) {
|
|
151
|
+
return this.http.request({
|
|
152
|
+
method: "GET",
|
|
153
|
+
path: inboxPath(inboxId, "threads", threadId, "emails"),
|
|
154
|
+
query: {
|
|
155
|
+
...listQuery(options),
|
|
156
|
+
include_quarantined: options?.includeQuarantined ? "true" : undefined,
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
get(inboxId, threadId, emailId, options = {}) {
|
|
161
|
+
return this.http.request({
|
|
162
|
+
method: "GET",
|
|
163
|
+
path: inboxPath(inboxId, "threads", threadId, "emails", emailId),
|
|
164
|
+
query: { include_quarantined: options.includeQuarantined ? "true" : undefined },
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
/** POST …/emails/:emailId/reply — sent, or held as a draft when the inbox's rules ask for approval. */
|
|
168
|
+
reply(inboxId, threadId, emailId, payload, options = {}) {
|
|
169
|
+
return this.http.requestOutcome({
|
|
170
|
+
method: "POST",
|
|
171
|
+
path: inboxPath(inboxId, "threads", threadId, "emails", emailId, "reply"),
|
|
172
|
+
body: replyToWire(payload),
|
|
173
|
+
idempotencyKey: options.idempotencyKey,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/** POST …/emails/:emailId/forward — the original quoted below an optional note, with its attachments. */
|
|
177
|
+
forward(inboxId, threadId, emailId, payload, options = {}) {
|
|
178
|
+
return this.http.requestOutcome({
|
|
179
|
+
method: "POST",
|
|
180
|
+
path: inboxPath(inboxId, "threads", threadId, "emails", emailId, "forward"),
|
|
181
|
+
body: forwardToWire(payload),
|
|
182
|
+
idempotencyKey: options.idempotencyKey,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/** Conversations in an inbox, each in one folder. */
|
|
187
|
+
export class InboxThreads {
|
|
188
|
+
http;
|
|
189
|
+
emails;
|
|
190
|
+
constructor(http) {
|
|
191
|
+
this.http = http;
|
|
192
|
+
this.emails = new InboxThreadEmails(http);
|
|
193
|
+
}
|
|
194
|
+
/** GET /inboxes/:id/threads — most recently active first. */
|
|
195
|
+
list(inboxId, options) {
|
|
196
|
+
return this.http.request({
|
|
197
|
+
method: "GET",
|
|
198
|
+
path: inboxPath(inboxId, "threads"),
|
|
199
|
+
query: threadsQuery(options),
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
/** GET /inboxes/:id/threads/search — subject, sender and recipients (bodies are sealed at rest). */
|
|
203
|
+
search(inboxId, options) {
|
|
204
|
+
return this.http.request({
|
|
205
|
+
method: "GET",
|
|
206
|
+
path: inboxPath(inboxId, "threads", "search"),
|
|
207
|
+
query: threadsQuery(options),
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
get(inboxId, threadId) {
|
|
211
|
+
return this.http.request({ method: "GET", path: inboxPath(inboxId, "threads", threadId) });
|
|
212
|
+
}
|
|
213
|
+
/** PATCH /inboxes/:id/threads/:threadId — read state, folder, or one more label. */
|
|
214
|
+
update(inboxId, threadId, payload) {
|
|
215
|
+
return this.http.request({
|
|
216
|
+
method: "PATCH",
|
|
217
|
+
path: inboxPath(inboxId, "threads", threadId),
|
|
218
|
+
body: { read: payload.read, folder: payload.folder, label_id: payload.labelId },
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
/** DELETE /inboxes/:id/threads/:threadId — moves it to trash, purged after 30 days. */
|
|
222
|
+
remove(inboxId, threadId) {
|
|
223
|
+
return this.http.request({ method: "DELETE", path: inboxPath(inboxId, "threads", threadId) });
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/** Drafts, standalone or replies; some wait for a person to approve them. */
|
|
227
|
+
export class InboxDrafts {
|
|
228
|
+
http;
|
|
229
|
+
constructor(http) {
|
|
230
|
+
this.http = http;
|
|
231
|
+
}
|
|
232
|
+
/** GET /inboxes/:id/drafts — unsent drafts, most recently updated first. */
|
|
233
|
+
list(inboxId, options) {
|
|
234
|
+
return this.http.request({
|
|
235
|
+
method: "GET",
|
|
236
|
+
path: inboxPath(inboxId, "drafts"),
|
|
237
|
+
query: listQuery(options),
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
/** POST /inboxes/:id/drafts — a second reply draft for the same email returns the existing one. */
|
|
241
|
+
create(inboxId, payload) {
|
|
242
|
+
return this.http.request({
|
|
243
|
+
method: "POST",
|
|
244
|
+
path: inboxPath(inboxId, "drafts"),
|
|
245
|
+
body: draftToWire(payload),
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
get(inboxId, draftId) {
|
|
249
|
+
return this.http.request({ method: "GET", path: inboxPath(inboxId, "drafts", draftId) });
|
|
250
|
+
}
|
|
251
|
+
/** PATCH /inboxes/:id/drafts/:draftId — `null` clears a field. */
|
|
252
|
+
update(inboxId, draftId, payload) {
|
|
253
|
+
return this.http.request({
|
|
254
|
+
method: "PATCH",
|
|
255
|
+
path: inboxPath(inboxId, "drafts", draftId),
|
|
256
|
+
body: draftToWire(payload),
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
remove(inboxId, draftId) {
|
|
260
|
+
return this.http.request({ method: "DELETE", path: inboxPath(inboxId, "drafts", draftId) });
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* POST /inboxes/:id/drafts/:draftId/send — held again as a draft when the
|
|
264
|
+
* rules ask for approval. An agent's key cannot send a draft that waits for
|
|
265
|
+
* approval (403 approval_required); a person or a team key approves it.
|
|
266
|
+
*/
|
|
267
|
+
send(inboxId, draftId, options = {}) {
|
|
268
|
+
return this.http.requestOutcome({
|
|
269
|
+
method: "POST",
|
|
270
|
+
path: inboxPath(inboxId, "drafts", draftId, "send"),
|
|
271
|
+
idempotencyKey: options.idempotencyKey,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
/** POST /inboxes/:id/drafts/:draftId/reject — approvers only (MillionSend extension). */
|
|
275
|
+
reject(inboxId, draftId) {
|
|
276
|
+
return this.http.request({
|
|
277
|
+
method: "POST",
|
|
278
|
+
path: inboxPath(inboxId, "drafts", draftId, "reject"),
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/** Inboxes: an address that receives mail, read by an agent or by people. */
|
|
283
|
+
export class Inboxes {
|
|
284
|
+
http;
|
|
285
|
+
safety;
|
|
286
|
+
codes;
|
|
287
|
+
quarantine;
|
|
288
|
+
labels;
|
|
289
|
+
threads;
|
|
290
|
+
drafts;
|
|
291
|
+
constructor(http) {
|
|
292
|
+
this.http = http;
|
|
293
|
+
this.safety = new InboxSafetySettings(http);
|
|
294
|
+
this.codes = new InboxCodes(http);
|
|
295
|
+
this.quarantine = new InboxQuarantine(http);
|
|
296
|
+
this.labels = new InboxLabels(http);
|
|
297
|
+
this.threads = new InboxThreads(http);
|
|
298
|
+
this.drafts = new InboxDrafts(http);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* POST /inboxes — without `emailAddress` or `domainId`, an address on the
|
|
302
|
+
* instance's shared domain: `username`, or random. Shared and forwarding
|
|
303
|
+
* creates answer 503 `name_review_unavailable` (see `retryAfter`) while the
|
|
304
|
+
* team's subdomain awaits its name review, and so does a chosen `username` or
|
|
305
|
+
* `fromName` there while the review is down; a spent review budget answers 429.
|
|
306
|
+
*/
|
|
307
|
+
create(payload = {}) {
|
|
308
|
+
return this.http.request({
|
|
309
|
+
method: "POST",
|
|
310
|
+
path: "/inboxes",
|
|
311
|
+
body: {
|
|
312
|
+
email_address: payload.emailAddress,
|
|
313
|
+
domain_id: payload.domainId,
|
|
314
|
+
username: payload.username,
|
|
315
|
+
name: payload.name,
|
|
316
|
+
from_name: payload.fromName,
|
|
317
|
+
forwarding: payload.forwarding,
|
|
318
|
+
kind: payload.kind,
|
|
319
|
+
expires_in: payload.expiresIn,
|
|
320
|
+
safety: payload.safety && safetyToWire(payload.safety),
|
|
321
|
+
},
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
/** GET /inboxes — newest first. */
|
|
325
|
+
list(options) {
|
|
326
|
+
return this.http.request({
|
|
327
|
+
method: "GET",
|
|
328
|
+
path: "/inboxes",
|
|
329
|
+
query: { ...listQuery(options), kind: options?.kind },
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
/** GET /inboxes/:idOrEmail — by id or by address. */
|
|
333
|
+
get(idOrEmail) {
|
|
334
|
+
return this.http.request({ method: "GET", path: inboxPath(idOrEmail) });
|
|
335
|
+
}
|
|
336
|
+
/** PATCH /inboxes/:id — a new `fromName` on the shared domain is reviewed like on `create` (503, 429). */
|
|
337
|
+
update(id, payload) {
|
|
338
|
+
return this.http.request({
|
|
339
|
+
method: "PATCH",
|
|
340
|
+
path: inboxPath(id),
|
|
341
|
+
body: { name: payload.name, from_name: payload.fromName, expires_in: payload.expiresIn },
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
/** DELETE /inboxes/:id — removes its threads, drafts and labels, and revokes its keys. */
|
|
345
|
+
remove(id) {
|
|
346
|
+
return this.http.request({ method: "DELETE", path: inboxPath(id) });
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
//# sourceMappingURL=inboxes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inboxes.js","sourceRoot":"","sources":["../../src/resources/inboxes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { Result } from "../error.js";
|
|
2
|
+
import type { HttpClient, RequestOptions } from "../http.js";
|
|
3
|
+
import type { ForwardReceivedEmailOptions, GetReceivedEmailOptions, InboxSendOutcome, List, ListOptions, ListReceivedEmailsOptions, ReceivedAttachment, ReceivedAttachmentDetail, ReceivedEmail, ReceivedEmailList, ReceivedEmailSent, RemoveEmailResponse, ReplyReceivedEmailOptions } from "../types.js";
|
|
4
|
+
/** Reply body on the wire; the inbox thread reply sends the same keys minus `from`/`inbox_id`. */
|
|
5
|
+
export declare function replyToWire(o: ReplyReceivedEmailOptions): {
|
|
6
|
+
html: string | undefined;
|
|
7
|
+
text: string | undefined;
|
|
8
|
+
cc: import("../types.js").Recipients | undefined;
|
|
9
|
+
bcc: import("../types.js").Recipients | undefined;
|
|
10
|
+
subject: string | undefined;
|
|
11
|
+
reply_all: boolean | undefined;
|
|
12
|
+
requires_approval: boolean | undefined;
|
|
13
|
+
from: string | undefined;
|
|
14
|
+
inbox_id: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
/** Forward body on the wire; the inbox thread forward sends the same keys minus `from`/`inbox_id`/`mode`. */
|
|
17
|
+
export declare function forwardToWire(o: ForwardReceivedEmailOptions): {
|
|
18
|
+
to: import("../types.js").Recipients;
|
|
19
|
+
cc: import("../types.js").Recipients | undefined;
|
|
20
|
+
bcc: import("../types.js").Recipients | undefined;
|
|
21
|
+
html: string | undefined;
|
|
22
|
+
text: string | undefined;
|
|
23
|
+
subject: string | undefined;
|
|
24
|
+
requires_approval: boolean | undefined;
|
|
25
|
+
from: string | undefined;
|
|
26
|
+
inbox_id: string | undefined;
|
|
27
|
+
mode: "inline" | "attachment" | undefined;
|
|
28
|
+
};
|
|
29
|
+
/** A received email's attachments, each with a signed download link valid for one hour. */
|
|
30
|
+
export declare class ReceivingAttachments {
|
|
31
|
+
private readonly http;
|
|
32
|
+
constructor(http: HttpClient);
|
|
33
|
+
/** GET /emails/receiving/:emailId/attachments — every attachment unless `limit` is given. */
|
|
34
|
+
list(emailId: string, options?: ListOptions): Promise<Result<List<ReceivedAttachment>>>;
|
|
35
|
+
/** GET /emails/receiving/:emailId/attachments/:id */
|
|
36
|
+
get(emailId: string, id: string): Promise<Result<ReceivedAttachmentDetail>>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Mail received at the team's domains and inboxes. Everything in it was
|
|
40
|
+
* written by the sender, so treat its content as untrusted.
|
|
41
|
+
*/
|
|
42
|
+
export declare class Receiving {
|
|
43
|
+
private readonly http;
|
|
44
|
+
readonly attachments: ReceivingAttachments;
|
|
45
|
+
constructor(http: HttpClient);
|
|
46
|
+
/** GET /emails/receiving — newest first; `wait` long-polls up to 50 s for a match. */
|
|
47
|
+
list(options?: ListReceivedEmailsOptions): Promise<Result<ReceivedEmailList>>;
|
|
48
|
+
/** GET /emails/receiving/:id — html, text, headers, verdicts and a signed link to the raw message. */
|
|
49
|
+
get(id: string, options?: GetReceivedEmailOptions): Promise<Result<ReceivedEmail>>;
|
|
50
|
+
/** POST /emails/receiving/:id/reply — sent, or held as a draft when the inbox's rules ask for approval. */
|
|
51
|
+
reply(id: string, payload: ReplyReceivedEmailOptions, options?: RequestOptions): Promise<Result<InboxSendOutcome<ReceivedEmailSent>>>;
|
|
52
|
+
/** POST /emails/receiving/:id/forward — inline, or as an attached .eml (`mode: "attachment"`). */
|
|
53
|
+
forward(id: string, payload: ForwardReceivedEmailOptions, options?: RequestOptions): Promise<Result<InboxSendOutcome<ReceivedEmailSent>>>;
|
|
54
|
+
/** DELETE /emails/receiving/:id — erases the message now instead of at the end of retention. */
|
|
55
|
+
remove(id: string): Promise<Result<RemoveEmailResponse>>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=receiving.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiving.d.ts","sourceRoot":"","sources":["../../src/resources/receiving.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,gBAAgB,EAChB,IAAI,EACJ,WAAW,EACX,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAErB,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,CAAC,EAAE,yBAAyB;;;;;;;;;;EAYvD;AAED,6GAA6G;AAC7G,wBAAgB,aAAa,CAAC,CAAC,EAAE,2BAA2B;;;;;;;;;;;EAa3D;AAID,2FAA2F;AAC3F,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,6FAA6F;IAC7F,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAQvF,qDAAqD;IACrD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;CAM5E;AAED;;;GAGG;AACH,qBAAa,SAAS;IAGR,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;gBAEd,IAAI,EAAE,UAAU;IAI7C,sFAAsF;IACtF,IAAI,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAmBjF,sGAAsG;IACtG,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAQtF,2GAA2G;IAC3G,KAAK,CACH,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,yBAAyB,EAClC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IASvD,kGAAkG;IAClG,OAAO,CACL,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,2BAA2B,EACpC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IASvD,gGAAgG;IAChG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;CAGzD"}
|