@xemahq/biomes-platform-imap 0.5.0 → 0.7.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/SECURITY-BOUNDS.md +85 -0
- package/dist/THIRD-PARTY-NOTICES.txt +657 -0
- package/dist/connector-adapters/imap-client.factory.d.ts +14 -2
- package/dist/connector-adapters/imap-fetch.d.ts +95 -15
- package/dist/connector-adapters/imap-message-parts.d.ts +8 -1
- package/dist/connector-adapters/index.js +76264 -127
- package/dist/connector-adapters/mail-dial-guard.d.ts +108 -0
- package/package.json +36 -10
- package/xema-biome.json +2 -2
- package/dist/connector-adapters/imap-client.factory.d.ts.map +0 -1
- package/dist/connector-adapters/imap-client.factory.js +0 -48
- package/dist/connector-adapters/imap-client.factory.js.map +0 -1
- package/dist/connector-adapters/imap-fetch.d.ts.map +0 -1
- package/dist/connector-adapters/imap-fetch.js +0 -547
- package/dist/connector-adapters/imap-fetch.js.map +0 -1
- package/dist/connector-adapters/imap-message-parts.d.ts.map +0 -1
- package/dist/connector-adapters/imap-message-parts.js +0 -103
- package/dist/connector-adapters/imap-message-parts.js.map +0 -1
- package/dist/connector-adapters/index.d.ts.map +0 -1
- package/dist/connector-adapters/index.js.map +0 -1
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_ATTACHMENT_SIZE_LIMIT = 5 * 1024 * 1024;
|
|
2
|
-
const MIN_ATTACHMENT_SIZE_LIMIT = 1024;
|
|
3
|
-
const MAX_ATTACHMENT_SIZE_LIMIT = 16 * 1024 * 1024;
|
|
4
|
-
export function clampAttachmentSizeLimit(value) {
|
|
5
|
-
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
6
|
-
return DEFAULT_ATTACHMENT_SIZE_LIMIT;
|
|
7
|
-
}
|
|
8
|
-
return Math.max(MIN_ATTACHMENT_SIZE_LIMIT, Math.min(MAX_ATTACHMENT_SIZE_LIMIT, Math.floor(value)));
|
|
9
|
-
}
|
|
10
|
-
export function flattenAttachmentParts(node, parentId = '') {
|
|
11
|
-
const out = [];
|
|
12
|
-
const partId = node.part ?? parentId;
|
|
13
|
-
const disposition = node.disposition?.toLowerCase();
|
|
14
|
-
const filename = node.dispositionParameters?.filename ?? node.parameters?.name;
|
|
15
|
-
if (disposition === 'attachment' &&
|
|
16
|
-
filename &&
|
|
17
|
-
typeof node.size === 'number' &&
|
|
18
|
-
partId) {
|
|
19
|
-
out.push({
|
|
20
|
-
filename,
|
|
21
|
-
contentType: `${node.type ?? 'application'}/${node.subtype ?? 'octet-stream'}`,
|
|
22
|
-
size: node.size,
|
|
23
|
-
partId,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
if (Array.isArray(node.childNodes)) {
|
|
27
|
-
for (const child of node.childNodes) {
|
|
28
|
-
out.push(...flattenAttachmentParts(child, partId));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return out;
|
|
32
|
-
}
|
|
33
|
-
function splitHeadersBody(raw) {
|
|
34
|
-
const match = raw.match(/\r?\n\r?\n/);
|
|
35
|
-
if (match?.index === undefined) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
headers: raw.slice(0, match.index),
|
|
40
|
-
body: raw.slice(match.index + match[0].length),
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
export function extractBodies(raw) {
|
|
44
|
-
const out = {};
|
|
45
|
-
const boundaryMatch = raw.match(/boundary="?([^"\r\n;]+)/i);
|
|
46
|
-
if (!boundaryMatch?.[1]) {
|
|
47
|
-
const split = splitHeadersBody(raw);
|
|
48
|
-
if (split) {
|
|
49
|
-
out.text = split.body;
|
|
50
|
-
}
|
|
51
|
-
return out;
|
|
52
|
-
}
|
|
53
|
-
const boundary = boundaryMatch[1];
|
|
54
|
-
const parts = raw.split(new RegExp(`--${boundary.replace(/[/\\^$*+?.()|[\]{}]/g, '\\$&')}(?:--)?`, 'g'));
|
|
55
|
-
const filenames = [];
|
|
56
|
-
for (const part of parts) {
|
|
57
|
-
const split = splitHeadersBody(part);
|
|
58
|
-
if (!split) {
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
const { headers, body } = split;
|
|
62
|
-
const contentTypeMatch = headers.match(/content-type:\s*([^\r\n;]+)/i);
|
|
63
|
-
const contentType = contentTypeMatch?.[1]?.toLowerCase().trim();
|
|
64
|
-
const dispositionMatch = headers.match(/content-disposition:\s*([^\r\n;]+)/i);
|
|
65
|
-
const filenameMatch = headers.match(/filename="?([^"\r\n;]+)/i);
|
|
66
|
-
if (dispositionMatch?.[1]?.toLowerCase().includes('attachment') && filenameMatch?.[1]) {
|
|
67
|
-
filenames.push(filenameMatch[1]);
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
70
|
-
if (contentType === 'text/plain' && !out.text) {
|
|
71
|
-
out.text = body.trim();
|
|
72
|
-
}
|
|
73
|
-
else if (contentType === 'text/html' && !out.html) {
|
|
74
|
-
out.html = body.trim();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (filenames.length > 0) {
|
|
78
|
-
out.attachmentFilenames = filenames;
|
|
79
|
-
}
|
|
80
|
-
return out;
|
|
81
|
-
}
|
|
82
|
-
export function extractReferences(raw) {
|
|
83
|
-
const blankIdx = raw.search(/\r?\n\r?\n/);
|
|
84
|
-
const head = blankIdx >= 0 ? raw.slice(0, blankIdx) : raw;
|
|
85
|
-
const match = head.match(/^references:\s*((?:.|\r?\n[ \t])+)/im);
|
|
86
|
-
if (!match?.[1]) {
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
const refs = match[1]
|
|
90
|
-
.replace(/\r?\n[ \t]+/g, ' ')
|
|
91
|
-
.split(/\s+/)
|
|
92
|
-
.filter((r) => r.length > 0);
|
|
93
|
-
return refs.length > 0 ? refs : undefined;
|
|
94
|
-
}
|
|
95
|
-
export function parseSource(raw) {
|
|
96
|
-
const body = extractBodies(raw);
|
|
97
|
-
const references = extractReferences(raw);
|
|
98
|
-
return {
|
|
99
|
-
...body,
|
|
100
|
-
...(references ? { references } : {}),
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=imap-message-parts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imap-message-parts.js","sourceRoot":"","sources":["../../src/connector-adapters/imap-message-parts.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7D,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAMnD,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,6BAA6B,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CACb,yBAAyB,EACzB,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC;AA4DD,MAAM,UAAU,sBAAsB,CACpC,IAAkB,EAClB,QAAQ,GAAG,EAAE;IAEb,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;IAC/E,IACE,WAAW,KAAK,YAAY;QAC5B,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,MAAM,EACN,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,QAAQ;YACR,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,cAAc,EAAE;YAC9E,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAOD,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,KAAK,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KAC/C,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,GAAG,GAAqE,EAAE,CAAC;IACjF,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CACrB,IAAI,MAAM,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAChF,CAAC;IACF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAChC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC9E,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChE,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,WAAW,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,WAAW,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAOD,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;SAClB,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAGD,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connector-adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAQL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAExB,MAAM,6BAA6B,CAAC;AA2CrC,eAAO,MAAM,yBAAyB,sDAGrC,CAAC;AACF,eAAO,MAAM,gCAAgC,sDAG5C,CAAC;AACF,eAAO,MAAM,0BAA0B,sDAGtC,CAAC;AACF,eAAO,MAAM,wBAAwB,sDAGpC,CAAC;AAEF,eAAO,MAAM,eAAe,2DAAoC,CAAC;AACjE,eAAO,MAAM,oBAAoB,2DAAyC,CAAC;AAC3E,eAAO,MAAM,gBAAgB,2DAAqC,CAAC;AACnE,eAAO,MAAM,cAAc,2DAAmC,CAAC;AAiE/D,eAAO,MAAM,YAAY,EAAE,sBAazB,CAAC;AAEH,QAAA,MAAM,iBAAiB,EAAE,SAAS,sBAAsB,EAAmB,CAAC;AAC5E,eAAe,iBAAiB,CAAC;AAIjC,eAAO,MAAM,kBAAkB,EAAE,kBAWhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SAAS,mBAAmB,EAqC9D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connector-adapters/index.ts"],"names":[],"mappings":"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"}
|