@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.
@@ -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":"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"}
@@ -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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"}