@fluxmail/core 0.8.1 → 0.10.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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +4 -2
- package/dist/provider.d.ts.map +1 -1
- package/dist/reply.d.ts +1 -1
- package/dist/reply.d.ts.map +1 -1
- package/dist/reply.js +7 -5
- package/dist/reply.js.map +1 -1
- package/dist/searchContext.d.ts +17 -0
- package/dist/searchContext.d.ts.map +1 -0
- package/dist/searchContext.js +117 -0
- package/dist/searchContext.js.map +1 -0
- package/dist/types.d.ts +30 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AttachmentMeta, Capabilities, DraftInput, EmailQuery, Folder, Label, Message,
|
|
1
|
+
import type { AttachmentMeta, Capabilities, DraftInput, EmailQuery, Folder, Label, Message, MessageSearchPage, ModifyAction, PageOpts, SendResult, SendAsIdentity, Thread } from './types.js';
|
|
2
2
|
export interface GetMessageOpts {
|
|
3
3
|
/** Include selected RFC 5322 headers (Message-ID, References, ...). */
|
|
4
4
|
includeHeaders?: boolean;
|
|
@@ -16,8 +16,10 @@ export interface EmailProvider {
|
|
|
16
16
|
readonly capabilities: Capabilities;
|
|
17
17
|
/** Cheap connectivity + auth check. Throws EmailError('auth_expired') on bad credentials. */
|
|
18
18
|
testConnection(): Promise<void>;
|
|
19
|
+
/** Discover provider-managed sender identities. Optional for custom providers. */
|
|
20
|
+
listSendAs?(): Promise<SendAsIdentity[]>;
|
|
19
21
|
/** Metadata-level listing (no bodies). */
|
|
20
|
-
listMessages(q: EmailQuery, page?: PageOpts): Promise<
|
|
22
|
+
listMessages(q: EmailQuery, page?: PageOpts): Promise<MessageSearchPage>;
|
|
21
23
|
/** Full message including body and attachment metadata. */
|
|
22
24
|
getMessage(id: string, opts?: GetMessageOpts): Promise<Message>;
|
|
23
25
|
getThread(threadId: string): Promise<Thread>;
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,MAAM,EACN,KAAK,EACL,OAAO,EACP,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,MAAM,EACN,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,cAAc,EACd,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAEpC,6FAA6F;IAC7F,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,kFAAkF;IAClF,UAAU,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEzC,0CAA0C;IAC1C,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzE,2DAA2D;IAC3D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,kEAAkE;IAClE,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAE/B,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEnE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD"}
|
package/dist/reply.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface ReplyRecipients {
|
|
|
8
8
|
* reply targets Reply-To (falling back to From); reply-all additionally includes the
|
|
9
9
|
* original To/Cc, minus the replying account's own address.
|
|
10
10
|
*/
|
|
11
|
-
export declare function computeReplyRecipients(original: Message,
|
|
11
|
+
export declare function computeReplyRecipients(original: Message, ownAddresses: string | string[], replyAll: boolean): ReplyRecipients;
|
|
12
12
|
/** "Re: subject" without stacking prefixes. */
|
|
13
13
|
export declare function replySubject(subject: string): string;
|
|
14
14
|
/** "Fwd: subject" without stacking prefixes. */
|
package/dist/reply.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply.d.ts","sourceRoot":"","sources":["../src/reply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,YAAY,EAAE,CAAC;IACnB,EAAE,EAAE,YAAY,EAAE,CAAC;CACpB;AAeD;;;;GAIG;AACH,wBAAgB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"reply.d.ts","sourceRoot":"","sources":["../src/reply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,YAAY,EAAE,CAAC;IACnB,EAAE,EAAE,YAAY,EAAE,CAAC;CACpB;AAeD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,QAAQ,EAAE,OAAO,GAChB,eAAe,CAejB;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAErD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,GAAG,MAAM,CAE3E"}
|
package/dist/reply.js
CHANGED
|
@@ -16,16 +16,18 @@ function dedupe(addrs) {
|
|
|
16
16
|
* reply targets Reply-To (falling back to From); reply-all additionally includes the
|
|
17
17
|
* original To/Cc, minus the replying account's own address.
|
|
18
18
|
*/
|
|
19
|
-
export function computeReplyRecipients(original,
|
|
20
|
-
const
|
|
19
|
+
export function computeReplyRecipients(original, ownAddresses, replyAll) {
|
|
20
|
+
const owned = (Array.isArray(ownAddresses) ? ownAddresses : [ownAddresses]).map((email) => ({ email }));
|
|
21
|
+
const self = owned[0];
|
|
22
|
+
const isOwned = (address) => owned.some((candidate) => sameAddress(address, candidate));
|
|
21
23
|
const replyTarget = original.replyTo?.length ? original.replyTo : original.from ? [original.from] : [];
|
|
22
24
|
if (!replyAll) {
|
|
23
|
-
const to = dedupe(replyTarget).filter((a) => !
|
|
25
|
+
const to = dedupe(replyTarget).filter((a) => !isOwned(a));
|
|
24
26
|
// Replying to yourself (e.g. a note in Sent): fall back to the original To.
|
|
25
27
|
return { to: to.length ? to : dedupe(original.to), cc: [] };
|
|
26
28
|
}
|
|
27
|
-
const to = dedupe([...replyTarget, ...original.to]).filter((a) => !
|
|
28
|
-
const cc = dedupe(original.cc ?? []).filter((a) => !
|
|
29
|
+
const to = dedupe([...replyTarget, ...original.to]).filter((a) => !isOwned(a));
|
|
30
|
+
const cc = dedupe(original.cc ?? []).filter((a) => !isOwned(a) && !to.some((b) => sameAddress(a, b)));
|
|
29
31
|
return { to: to.length ? to : [self], cc };
|
|
30
32
|
}
|
|
31
33
|
/** "Re: subject" without stacking prefixes. */
|
package/dist/reply.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply.js","sourceRoot":"","sources":["../src/reply.ts"],"names":[],"mappings":"AAOA,SAAS,WAAW,CAAC,CAAe,EAAE,CAAe;IACnD,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,MAAM,CAAC,KAAqB;IACnC,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,SAAS;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,
|
|
1
|
+
{"version":3,"file":"reply.js","sourceRoot":"","sources":["../src/reply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Message } from './types.js';
|
|
2
|
+
export declare const SEARCH_CONTEXT_INPUT_LIMIT: number;
|
|
3
|
+
export declare const SEARCH_CONTEXT_OUTPUT_LIMIT = 300;
|
|
4
|
+
export interface BoundedBodyText {
|
|
5
|
+
text: string;
|
|
6
|
+
complete: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function htmlToReadableText(value: string): string;
|
|
9
|
+
/** Limit decoded content by UTF-8 bytes without splitting a Unicode code point. */
|
|
10
|
+
export declare function boundBodyText(value: string, limit?: number): BoundedBodyText;
|
|
11
|
+
export declare function extractSearchContext(body: {
|
|
12
|
+
text?: string;
|
|
13
|
+
html?: string;
|
|
14
|
+
}, queryText: string, options?: {
|
|
15
|
+
complete?: boolean;
|
|
16
|
+
}): NonNullable<Message['searchContext']>;
|
|
17
|
+
//# sourceMappingURL=searchContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchContext.d.ts","sourceRoot":"","sources":["../src/searchContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,0BAA0B,QAAa,CAAC;AACrD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AASD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAexD;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAA6B,GAAG,eAAe,CAWhG;AAuDD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACtC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CA2BvC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
export const SEARCH_CONTEXT_INPUT_LIMIT = 256 * 1024;
|
|
2
|
+
export const SEARCH_CONTEXT_OUTPUT_LIMIT = 300;
|
|
3
|
+
const BLOCK_END = /<\/(?:address|article|aside|blockquote|div|footer|h[1-6]|header|li|main|nav|ol|p|pre|section|table|tr|ul)>/gi;
|
|
4
|
+
function decodeCodePoint(value, fallback) {
|
|
5
|
+
return Number.isInteger(value) && value >= 0 && value <= 0x10ffff ? String.fromCodePoint(value) : fallback;
|
|
6
|
+
}
|
|
7
|
+
export function htmlToReadableText(value) {
|
|
8
|
+
return value
|
|
9
|
+
.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, ' ')
|
|
10
|
+
.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, ' ')
|
|
11
|
+
.replace(/<br\s*\/?\s*>/gi, '\n')
|
|
12
|
+
.replace(BLOCK_END, '\n')
|
|
13
|
+
.replace(/<[^>]+>/g, ' ')
|
|
14
|
+
.replace(/ | /gi, ' ')
|
|
15
|
+
.replace(/&/gi, '&')
|
|
16
|
+
.replace(/</gi, '<')
|
|
17
|
+
.replace(/>/gi, '>')
|
|
18
|
+
.replace(/"|"/gi, '"')
|
|
19
|
+
.replace(/'|'/gi, "'")
|
|
20
|
+
.replace(/&#(\d+);/g, (match, value) => decodeCodePoint(Number(value), match))
|
|
21
|
+
.replace(/&#x([\da-f]+);/gi, (match, value) => decodeCodePoint(Number.parseInt(value, 16), match));
|
|
22
|
+
}
|
|
23
|
+
/** Limit decoded content by UTF-8 bytes without splitting a Unicode code point. */
|
|
24
|
+
export function boundBodyText(value, limit = SEARCH_CONTEXT_INPUT_LIMIT) {
|
|
25
|
+
if (Buffer.byteLength(value) <= limit)
|
|
26
|
+
return { text: value, complete: true };
|
|
27
|
+
let size = 0;
|
|
28
|
+
let text = '';
|
|
29
|
+
for (const character of value) {
|
|
30
|
+
const bytes = Buffer.byteLength(character);
|
|
31
|
+
if (size + bytes > limit)
|
|
32
|
+
break;
|
|
33
|
+
text += character;
|
|
34
|
+
size += bytes;
|
|
35
|
+
}
|
|
36
|
+
return { text, complete: false };
|
|
37
|
+
}
|
|
38
|
+
function readableLines(value) {
|
|
39
|
+
return value
|
|
40
|
+
.replace(/\r\n?/g, '\n')
|
|
41
|
+
.split('\n')
|
|
42
|
+
.map((line) => line.replace(/[\t\f\v ]+/gu, ' ').trim())
|
|
43
|
+
.filter(Boolean);
|
|
44
|
+
}
|
|
45
|
+
function cropLine(line, matchIndex, matchLength) {
|
|
46
|
+
const characters = [...line];
|
|
47
|
+
if (characters.length <= SEARCH_CONTEXT_OUTPUT_LIMIT)
|
|
48
|
+
return line;
|
|
49
|
+
const matchStart = Array.from(line.slice(0, matchIndex)).length;
|
|
50
|
+
const matchedCharacters = Array.from(line.slice(matchIndex, matchIndex + matchLength)).length;
|
|
51
|
+
const prefixMarker = matchStart > 0 ? 1 : 0;
|
|
52
|
+
const suffixMarker = matchStart + matchedCharacters < characters.length ? 1 : 0;
|
|
53
|
+
const available = SEARCH_CONTEXT_OUTPUT_LIMIT - prefixMarker - suffixMarker;
|
|
54
|
+
let start = Math.max(0, matchStart - Math.floor((available - matchedCharacters) / 2));
|
|
55
|
+
let end = Math.min(characters.length, start + available);
|
|
56
|
+
start = Math.max(0, end - available);
|
|
57
|
+
if (start > 0) {
|
|
58
|
+
const nextSpace = characters.slice(start, matchStart).findIndex((character) => /\s/u.test(character));
|
|
59
|
+
if (nextSpace >= 0)
|
|
60
|
+
start += nextSpace + 1;
|
|
61
|
+
}
|
|
62
|
+
if (end < characters.length) {
|
|
63
|
+
for (let index = end - 1; index >= matchStart + matchedCharacters; index -= 1) {
|
|
64
|
+
if (/\s/u.test(characters[index])) {
|
|
65
|
+
end = index;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const prefix = start > 0 ? '…' : '';
|
|
71
|
+
const suffix = end < characters.length ? '…' : '';
|
|
72
|
+
return `${prefix}${characters.slice(start, end).join('').trim()}${suffix}`;
|
|
73
|
+
}
|
|
74
|
+
function findMatch(line, queryText) {
|
|
75
|
+
const foldedLine = line.toLowerCase();
|
|
76
|
+
const phrase = queryText.trim().replace(/\s+/gu, ' ');
|
|
77
|
+
const phraseIndex = foldedLine.indexOf(phrase.toLowerCase());
|
|
78
|
+
if (phraseIndex >= 0)
|
|
79
|
+
return { index: phraseIndex, length: phrase.length };
|
|
80
|
+
let earliest;
|
|
81
|
+
for (const term of phrase.split(/\s+/u).filter(Boolean)) {
|
|
82
|
+
const index = foldedLine.indexOf(term.toLowerCase());
|
|
83
|
+
if (index >= 0 && (!earliest || index < earliest.index))
|
|
84
|
+
earliest = { index, length: term.length };
|
|
85
|
+
}
|
|
86
|
+
return earliest;
|
|
87
|
+
}
|
|
88
|
+
export function extractSearchContext(body, queryText, options = {}) {
|
|
89
|
+
const raw = body.text !== undefined ? body.text : body.html;
|
|
90
|
+
if (raw === undefined)
|
|
91
|
+
return { status: 'unavailable' };
|
|
92
|
+
const bounded = boundBodyText(raw);
|
|
93
|
+
const selected = body.text !== undefined ? bounded.text : htmlToReadableText(bounded.text);
|
|
94
|
+
const complete = (options.complete ?? true) && bounded.complete;
|
|
95
|
+
let best;
|
|
96
|
+
let fallback;
|
|
97
|
+
const phrase = queryText.trim().replace(/\s+/gu, ' ');
|
|
98
|
+
let position = 0;
|
|
99
|
+
for (const line of readableLines(selected)) {
|
|
100
|
+
const foldedLine = line.toLowerCase();
|
|
101
|
+
const phraseIndex = foldedLine.indexOf(phrase.toLowerCase());
|
|
102
|
+
if (phraseIndex >= 0) {
|
|
103
|
+
best = { line, index: phraseIndex, length: phrase.length };
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
const termMatch = findMatch(line, phrase);
|
|
107
|
+
if (termMatch && (!fallback || position + termMatch.index < fallback.position)) {
|
|
108
|
+
fallback = { line, ...termMatch, position: position + termMatch.index };
|
|
109
|
+
}
|
|
110
|
+
position += line.length + 1;
|
|
111
|
+
}
|
|
112
|
+
const match = best ?? fallback;
|
|
113
|
+
if (match)
|
|
114
|
+
return { status: 'matched', excerpt: cropLine(match.line, match.index, match.length) };
|
|
115
|
+
return { status: complete ? 'no_literal_match' : 'scan_limit' };
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=searchContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchContext.js","sourceRoot":"","sources":["../src/searchContext.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export interface Capabilities {
|
|
|
22
22
|
search: SearchCapabilities;
|
|
23
23
|
/** Whether list results include snippets without fetching bodies. */
|
|
24
24
|
snippets: boolean;
|
|
25
|
+
/** Whether list and search results can include match-centered body excerpts. */
|
|
26
|
+
searchContext?: boolean;
|
|
25
27
|
}
|
|
26
28
|
export interface Account {
|
|
27
29
|
id: string;
|
|
@@ -41,6 +43,13 @@ export interface EmailAddress {
|
|
|
41
43
|
name?: string;
|
|
42
44
|
email: string;
|
|
43
45
|
}
|
|
46
|
+
export interface SendAsIdentity {
|
|
47
|
+
email: string;
|
|
48
|
+
name?: string;
|
|
49
|
+
replyTo?: string;
|
|
50
|
+
isPrimary: boolean;
|
|
51
|
+
source: 'provider' | 'configured';
|
|
52
|
+
}
|
|
44
53
|
export type FolderRole = 'inbox' | 'sent' | 'drafts' | 'trash' | 'spam' | 'archive' | 'starred' | 'all';
|
|
45
54
|
export interface Folder {
|
|
46
55
|
id: string;
|
|
@@ -100,6 +109,12 @@ export interface Message {
|
|
|
100
109
|
/** ISO 8601. */
|
|
101
110
|
date: string;
|
|
102
111
|
snippet?: string;
|
|
112
|
+
searchContext?: {
|
|
113
|
+
status: 'matched';
|
|
114
|
+
excerpt: string;
|
|
115
|
+
} | {
|
|
116
|
+
status: 'no_literal_match' | 'scan_limit' | 'unavailable';
|
|
117
|
+
};
|
|
103
118
|
/** Populated on getMessage/getThread, not on list. */
|
|
104
119
|
body?: MessageBody;
|
|
105
120
|
/** Populated on getMessage/getThread; omitted when a list response has no MIME metadata. */
|
|
@@ -123,6 +138,8 @@ export interface AttachmentInput {
|
|
|
123
138
|
disposition?: 'inline' | 'attachment';
|
|
124
139
|
}
|
|
125
140
|
export interface DraftInput {
|
|
141
|
+
/** Sender address. The service validates it against the account's known identities. */
|
|
142
|
+
from?: string;
|
|
126
143
|
/** Optional when derived from a reply (replyToMessageId). */
|
|
127
144
|
to?: EmailAddress[];
|
|
128
145
|
cc?: EmailAddress[];
|
|
@@ -174,6 +191,14 @@ export interface PortableEmailQuery extends Omit<EmailQuery, 'folder' | 'rawProv
|
|
|
174
191
|
export interface PageOpts {
|
|
175
192
|
pageSize?: number;
|
|
176
193
|
pageToken?: string;
|
|
194
|
+
/** Include or suppress message snippets. Omission preserves the provider default. */
|
|
195
|
+
includeSnippet?: boolean;
|
|
196
|
+
/** Include a match-centered body excerpt for the portable text query. */
|
|
197
|
+
includeSearchContext?: boolean;
|
|
198
|
+
/** Internal cancellation signal used to stop provider work at the request deadline. */
|
|
199
|
+
signal?: AbortSignal;
|
|
200
|
+
/** Internal soft deadline. Providers return a resumable page at the next safe boundary. */
|
|
201
|
+
softDeadlineAt?: number;
|
|
177
202
|
}
|
|
178
203
|
export type SearchDiagnosticSeverity = 'error' | 'warning';
|
|
179
204
|
export interface SearchDiagnostic {
|
|
@@ -189,7 +214,11 @@ export interface Page<T> {
|
|
|
189
214
|
nextPageToken?: string;
|
|
190
215
|
diagnostics?: SearchDiagnostic[];
|
|
191
216
|
incomplete?: true;
|
|
192
|
-
incompleteReason?: 'scan_limit' | 'provider_limit';
|
|
217
|
+
incompleteReason?: 'scan_limit' | 'provider_limit' | 'time_limit';
|
|
193
218
|
inspectedCandidates?: number;
|
|
194
219
|
}
|
|
220
|
+
export interface MessageSearchPage extends Page<Message> {
|
|
221
|
+
/** True only when the complete requested search scope has been examined. */
|
|
222
|
+
exhausted: boolean;
|
|
223
|
+
}
|
|
195
224
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEpG,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAEzE,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,GACT,MAAM,GACN,SAAS,GACT,eAAe,GACf,OAAO,GACP,QAAQ,CAAC;AAEb,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAC5D,WAAW,EAAE,IAAI,GAAG;QAClB,MAAM,EAAE,OAAO,GAAG,aAAa,CAAC;QAChC,YAAY,EAAE,kBAAkB,CAAC;QACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,8FAA8F;IAC9F,aAAa,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,kDAAkD;IAClD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|