@xemahq/biomes-platform-ms365 0.6.4 → 0.8.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/contributions/microsoft.connector-adapter.contribution.json +1 -0
- package/dist/THIRD-PARTY-NOTICES.txt +207 -0
- package/dist/connector-adapters/index.js +30023 -188
- package/dist/graph/graph-client.d.ts +3 -0
- package/dist/graph/message-fetch.d.ts +1 -1
- package/package.json +16 -8
- package/xema-biome.json +2 -2
- package/dist/connector-adapters/index.d.ts.map +0 -1
- package/dist/connector-adapters/index.js.map +0 -1
- package/dist/graph/graph-client.d.ts.map +0 -1
- package/dist/graph/graph-client.js +0 -144
- package/dist/graph/graph-client.js.map +0 -1
- package/dist/graph/graph-types.d.ts.map +0 -1
- package/dist/graph/graph-types.js +0 -7
- package/dist/graph/graph-types.js.map +0 -1
- package/dist/graph/mail-envelope.d.ts.map +0 -1
- package/dist/graph/mail-envelope.js +0 -23
- package/dist/graph/mail-envelope.js.map +0 -1
- package/dist/graph/message-fetch.d.ts.map +0 -1
- package/dist/graph/message-fetch.js +0 -161
- package/dist/graph/message-fetch.js.map +0 -1
- package/dist/graph/message-normalizer.d.ts.map +0 -1
- package/dist/graph/message-normalizer.js +0 -113
- package/dist/graph/message-normalizer.js.map +0 -1
- package/dist/graph/message-parts.d.ts.map +0 -1
- package/dist/graph/message-parts.js +0 -49
- package/dist/graph/message-parts.js.map +0 -1
- package/dist/graph/subscription-lifecycle.d.ts.map +0 -1
- package/dist/graph/subscription-lifecycle.js +0 -114
- package/dist/graph/subscription-lifecycle.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message-normalizer.js","sourceRoot":"","sources":["../../src/graph/message-normalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message-parts.d.ts","sourceRoot":"","sources":["../../src/graph/message-parts.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQ5D,eAAO,MAAM,6BAA6B,QAAkB,CAAC;AAQ7D,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ/D;AAED,eAAO,MAAM,0BAA0B,oCAAoC,CAAC;AAU5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAYD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,GACtD,mBAAmB,EAAE,CA4BvB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE3D;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC1C,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,GAAG,SAAS,GACnB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAEtC;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC/C,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,EAAE,GACT,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAExC"}
|
|
@@ -1,49 +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 const FILE_ATTACHMENT_ODATA_TYPE = '#microsoft.graph.fileAttachment';
|
|
11
|
-
export function collectAttachmentParts(attachments) {
|
|
12
|
-
if (!Array.isArray(attachments)) {
|
|
13
|
-
return [];
|
|
14
|
-
}
|
|
15
|
-
const out = [];
|
|
16
|
-
for (const raw of attachments) {
|
|
17
|
-
if (!raw || typeof raw !== 'object') {
|
|
18
|
-
continue;
|
|
19
|
-
}
|
|
20
|
-
const odataType = raw['@odata.type'];
|
|
21
|
-
if (odataType !== undefined && odataType !== FILE_ATTACHMENT_ODATA_TYPE) {
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
const attachmentId = nonEmpty(raw.id);
|
|
25
|
-
const filename = nonEmpty(raw.name);
|
|
26
|
-
const contentType = nonEmpty(raw.contentType);
|
|
27
|
-
if (!attachmentId || !filename || !contentType) {
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
out.push({
|
|
31
|
-
attachmentId,
|
|
32
|
-
filename,
|
|
33
|
-
contentType,
|
|
34
|
-
size: typeof raw.size === 'number' && raw.size >= 0 ? raw.size : 0,
|
|
35
|
-
...optional('contentId', nonEmpty(raw.contentId)),
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
return out;
|
|
39
|
-
}
|
|
40
|
-
export function nonEmpty(value) {
|
|
41
|
-
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
42
|
-
}
|
|
43
|
-
export function optional(key, value) {
|
|
44
|
-
return value === undefined ? {} : { [key]: value };
|
|
45
|
-
}
|
|
46
|
-
export function optionalArray(key, value) {
|
|
47
|
-
return value.length === 0 ? {} : { [key]: value };
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=message-parts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message-parts.js","sourceRoot":"","sources":["../../src/graph/message-parts.ts"],"names":[],"mappings":"AA0BA,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;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AA4B5E,MAAM,UAAU,sBAAsB,CACpC,WAAuD;IAEvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,0BAA0B,EAAE,CAAC;YACxE,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/C,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,YAAY;YACZ,QAAQ;YACR,WAAW;YACX,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClE,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,GAAM,EACN,KAAoB;IAEpB,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAmB,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,GAAM,EACN,KAAU;IAEV,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAqB,CAAC;AACxE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-lifecycle.d.ts","sourceRoot":"","sources":["../../src/graph/subscription-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EACL,WAAW,EAGX,KAAK,uBAAuB,EAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AA6B1B,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAClD,MAAM,GAAG,IAAI,CAGf;AASD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,uBAAuB,EACrC,mBAAmB,EAAE,MAAM,GAC1B,MAAM,CAAC,IAAI,CAAC,CASd;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAWD,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,uBAAuB,GACpC,MAAM,CAAC,qBAAqB,CAAC,CAmB/B;AAuCD,wBAAgB,YAAY,CAC1B,kBAAkB,EAAE,MAAM,EAC1B,GAAG,GAAE,MAAmB,GACvB,OAAO,CAOT;AAGD,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAmB,GAAG,MAAM,CAE/D;AAeD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAYpF;AAUD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAEpC;AAUD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,oBAAoB,CAAC,EAClE,GAAG,GAAE,MAAmB,GACvB,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAS3C;AAeD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3D,QAAQ,SAAK,GACZ,OAAO,CAAC,MAAM,CAAC;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAuB/C"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { adapterError, err, ok } from '@xemahq/biome-sdk/adapter';
|
|
2
|
-
import { MAX_SUBSCRIPTION_LIFETIME_MS, SUBSCRIPTION_RENEWAL_SKEW_MS, } from './graph-client.js';
|
|
3
|
-
export function resolveValidationHandshake(query) {
|
|
4
|
-
const token = query['validationToken'];
|
|
5
|
-
return typeof token === 'string' && token.length > 0 ? token : null;
|
|
6
|
-
}
|
|
7
|
-
export function verifyClientState(notification, expectedClientState) {
|
|
8
|
-
const provided = notification.clientState;
|
|
9
|
-
if (typeof provided !== 'string' || provided.length === 0) {
|
|
10
|
-
return err(adapterError('verification-failed', 'graph notification missing clientState'));
|
|
11
|
-
}
|
|
12
|
-
if (provided !== expectedClientState) {
|
|
13
|
-
return err(adapterError('verification-failed', 'graph notification clientState mismatch'));
|
|
14
|
-
}
|
|
15
|
-
return ok(undefined);
|
|
16
|
-
}
|
|
17
|
-
export function parseMessageResourcePath(notification) {
|
|
18
|
-
const resource = notification.resource;
|
|
19
|
-
if (typeof resource !== 'string' || resource.length === 0) {
|
|
20
|
-
return err(adapterError('malformed-payload', 'graph notification: empty resource path'));
|
|
21
|
-
}
|
|
22
|
-
const userId = extractSegment(resource, 'users');
|
|
23
|
-
if (!userId) {
|
|
24
|
-
return err(adapterError('malformed-payload', `graph notification: cannot extract userId from "${resource}"`));
|
|
25
|
-
}
|
|
26
|
-
const messageId = nonEmpty(notification.resourceData?.id) ?? extractSegment(resource, 'messages');
|
|
27
|
-
if (!messageId) {
|
|
28
|
-
return err(adapterError('malformed-payload', `graph notification: cannot extract messageId from "${resource}"`));
|
|
29
|
-
}
|
|
30
|
-
return ok({ userId, messageId });
|
|
31
|
-
}
|
|
32
|
-
function extractSegment(resource, segment) {
|
|
33
|
-
const parts = resource.split('/').filter((p) => p.length > 0);
|
|
34
|
-
for (let i = 0; i < parts.length - 1; i++) {
|
|
35
|
-
const keyMatch = /^([A-Za-z]+)(?:\('([^']*)'\))?$/.exec(parts[i] ?? '');
|
|
36
|
-
if (!keyMatch) {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
const [, key, inlineValue] = keyMatch;
|
|
40
|
-
if (key?.toLowerCase() !== segment.toLowerCase()) {
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
if (inlineValue && inlineValue.length > 0) {
|
|
44
|
-
return inlineValue;
|
|
45
|
-
}
|
|
46
|
-
const next = parts[i + 1] ?? '';
|
|
47
|
-
const nextInline = /^[A-Za-z]+\('([^']*)'\)$/.exec(next);
|
|
48
|
-
if (nextInline?.[1]) {
|
|
49
|
-
return nextInline[1];
|
|
50
|
-
}
|
|
51
|
-
return next.length > 0 ? next : undefined;
|
|
52
|
-
}
|
|
53
|
-
return undefined;
|
|
54
|
-
}
|
|
55
|
-
export function isRenewalDue(expirationDateTime, now = Date.now()) {
|
|
56
|
-
const expiresAt = Date.parse(expirationDateTime);
|
|
57
|
-
if (Number.isNaN(expiresAt)) {
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
return expiresAt - now <= SUBSCRIPTION_RENEWAL_SKEW_MS;
|
|
61
|
-
}
|
|
62
|
-
export function nextExpiration(now = Date.now()) {
|
|
63
|
-
return new Date(now + MAX_SUBSCRIPTION_LIFETIME_MS).toISOString();
|
|
64
|
-
}
|
|
65
|
-
export async function getMailboxAddress(client) {
|
|
66
|
-
const result = await client.getMe();
|
|
67
|
-
if (!result.ok) {
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
const address = nonEmpty(result.value.mail) ?? nonEmpty(result.value.userPrincipalName);
|
|
71
|
-
if (!address) {
|
|
72
|
-
return err(adapterError('malformed-payload', 'graph /me returned neither mail nor userPrincipalName'));
|
|
73
|
-
}
|
|
74
|
-
return ok(address);
|
|
75
|
-
}
|
|
76
|
-
export async function establishInboxSubscription(client, input) {
|
|
77
|
-
return client.createSubscription(input);
|
|
78
|
-
}
|
|
79
|
-
export async function renewIfDue(client, subscription, now = Date.now()) {
|
|
80
|
-
if (!isRenewalDue(subscription.expirationDateTime, now)) {
|
|
81
|
-
return ok(null);
|
|
82
|
-
}
|
|
83
|
-
const result = await client.renewSubscription(subscription.id);
|
|
84
|
-
if (!result.ok) {
|
|
85
|
-
return result;
|
|
86
|
-
}
|
|
87
|
-
return ok(result.value);
|
|
88
|
-
}
|
|
89
|
-
export async function drainMessageDelta(client, userId, startLink, onMessage, maxPages = 50) {
|
|
90
|
-
let cursor = startLink;
|
|
91
|
-
let deltaLink = null;
|
|
92
|
-
for (let page = 0; page < maxPages; page++) {
|
|
93
|
-
const result = await client.getMessageDelta(userId, cursor);
|
|
94
|
-
if (!result.ok) {
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
|
-
const pageData = result.value;
|
|
98
|
-
for (const message of pageData.value) {
|
|
99
|
-
await onMessage(message);
|
|
100
|
-
}
|
|
101
|
-
const nextLink = pageData['@odata.nextLink'];
|
|
102
|
-
if (nextLink) {
|
|
103
|
-
cursor = nextLink;
|
|
104
|
-
continue;
|
|
105
|
-
}
|
|
106
|
-
deltaLink = pageData['@odata.deltaLink'] ?? null;
|
|
107
|
-
return ok({ deltaLink });
|
|
108
|
-
}
|
|
109
|
-
return ok({ deltaLink: cursor ?? null });
|
|
110
|
-
}
|
|
111
|
-
function nonEmpty(value) {
|
|
112
|
-
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=subscription-lifecycle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-lifecycle.js","sourceRoot":"","sources":["../../src/graph/subscription-lifecycle.ts"],"names":[],"mappings":"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"}
|