@novu/js 3.16.0 → 3.17.0-rc.d0046861c6
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/cjs/{chunk-6I5A5OGE.js → chunk-N6G6IRD4.js} +231 -25
- package/dist/{esm/inbox-service-CEMMLHsX.d.mts → cjs/inbox-service-CGCuuYnv.d.ts} +52 -3
- package/dist/cjs/index.d.ts +16 -3
- package/dist/cjs/index.js +10 -10
- package/dist/cjs/internal/index.d.ts +1 -1
- package/dist/{esm/novu-BlonRpYH.d.mts → cjs/novu-CmNBco-0.d.ts} +10 -1
- package/dist/cjs/themes/index.d.ts +3 -3
- package/dist/{esm/types-B29Y1SQy.d.mts → cjs/types-BF6zvyj6.d.ts} +27 -6
- package/dist/cjs/ui/index.d.ts +56 -8
- package/dist/cjs/ui/index.js +959 -208
- package/dist/esm/{chunk-FBE56J52.mjs → chunk-43LJQ4VD.mjs} +231 -25
- package/dist/{cjs/inbox-service-CEMMLHsX.d.ts → esm/inbox-service-CGCuuYnv.d.mts} +52 -3
- package/dist/esm/index.d.mts +16 -3
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/index.d.mts +1 -1
- package/dist/{cjs/novu-ChPiHuXt.d.ts → esm/novu-CFYEiYN8.d.mts} +10 -1
- package/dist/esm/themes/index.d.mts +3 -3
- package/dist/{cjs/types-CPxEgcM4.d.ts → esm/types-CJKmgwu6.d.mts} +27 -6
- package/dist/esm/ui/index.d.mts +56 -8
- package/dist/esm/ui/index.mjs +952 -201
- package/dist/novu.min.js +16 -16
- package/dist/novu.min.js.gz +0 -0
- package/package.json +1 -1
|
@@ -186,6 +186,97 @@ var areDataEqual = (data1, data2) => {
|
|
|
186
186
|
var isSameFilter = (filter1, filter2) => {
|
|
187
187
|
return areDataEqual(filter1.data, filter2.data) && areTagsEqual(filter1.tags, filter2.tags) && filter1.read === filter2.read && filter1.archived === filter2.archived && filter1.snoozed === filter2.snoozed && filter1.seen === filter2.seen && areSeveritiesEqual(filter1.severity, filter2.severity) && filter1.createdGte === filter2.createdGte && filter1.createdLte === filter2.createdLte;
|
|
188
188
|
};
|
|
189
|
+
function isPlainObject(value) {
|
|
190
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
191
|
+
}
|
|
192
|
+
function isOperatorObject(value) {
|
|
193
|
+
return Object.prototype.hasOwnProperty.call(value, "or") || Object.prototype.hasOwnProperty.call(value, "and");
|
|
194
|
+
}
|
|
195
|
+
function isScalarValue(value) {
|
|
196
|
+
if (value === null) return true;
|
|
197
|
+
if (typeof value === "boolean") return true;
|
|
198
|
+
if (typeof value === "string") return true;
|
|
199
|
+
if (typeof value === "number") return Number.isFinite(value);
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
function normalizeDataFieldValue(value) {
|
|
203
|
+
if (value === void 0) {
|
|
204
|
+
return [];
|
|
205
|
+
}
|
|
206
|
+
if (Array.isArray(value)) {
|
|
207
|
+
if (value.length === 0) return [];
|
|
208
|
+
if (!value.every(isScalarValue)) return null;
|
|
209
|
+
return [value];
|
|
210
|
+
}
|
|
211
|
+
if (isPlainObject(value)) {
|
|
212
|
+
const hasOr = Object.prototype.hasOwnProperty.call(value, "or");
|
|
213
|
+
const hasAnd = Object.prototype.hasOwnProperty.call(value, "and");
|
|
214
|
+
if (hasOr && hasAnd) return null;
|
|
215
|
+
const keys = Object.keys(value);
|
|
216
|
+
if (hasOr) {
|
|
217
|
+
if (keys.length !== 1) return null;
|
|
218
|
+
const orVal = value.or;
|
|
219
|
+
if (!Array.isArray(orVal)) return null;
|
|
220
|
+
if (orVal.length === 0) return [];
|
|
221
|
+
if (!orVal.every(isScalarValue)) return null;
|
|
222
|
+
return [orVal];
|
|
223
|
+
}
|
|
224
|
+
if (hasAnd) {
|
|
225
|
+
if (keys.length !== 1) return null;
|
|
226
|
+
const andVal = value.and;
|
|
227
|
+
if (!Array.isArray(andVal)) return null;
|
|
228
|
+
const groups = [];
|
|
229
|
+
for (const item of andVal) {
|
|
230
|
+
if (!isPlainObject(item)) return null;
|
|
231
|
+
const itemKeys = Object.keys(item);
|
|
232
|
+
if (itemKeys.length !== 1 || !("or" in item)) return null;
|
|
233
|
+
const innerOr = item.or;
|
|
234
|
+
if (!Array.isArray(innerOr) || innerOr.length === 0) return null;
|
|
235
|
+
if (!innerOr.every(isScalarValue)) return null;
|
|
236
|
+
groups.push(innerOr);
|
|
237
|
+
}
|
|
238
|
+
return groups;
|
|
239
|
+
}
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
if (!isScalarValue(value)) return null;
|
|
243
|
+
return [[value]];
|
|
244
|
+
}
|
|
245
|
+
function dataValueAtPath(obj, path) {
|
|
246
|
+
let current = obj;
|
|
247
|
+
for (const segment of path) {
|
|
248
|
+
if (current === null || current === void 0) return void 0;
|
|
249
|
+
if (typeof current !== "object" || Array.isArray(current)) return void 0;
|
|
250
|
+
current = current[segment];
|
|
251
|
+
}
|
|
252
|
+
return current;
|
|
253
|
+
}
|
|
254
|
+
function orGroupMatchesNotifValue(group, notifValue) {
|
|
255
|
+
if (Array.isArray(notifValue)) {
|
|
256
|
+
return notifValue.some((v) => group.some((g) => g === v));
|
|
257
|
+
}
|
|
258
|
+
return group.some((g) => g === notifValue);
|
|
259
|
+
}
|
|
260
|
+
function checkDataEntries(notificationData, filterData, pathPrefix, depth) {
|
|
261
|
+
if (depth > 2) return false;
|
|
262
|
+
for (const [rawKey, rawValue] of Object.entries(filterData)) {
|
|
263
|
+
if (rawKey.startsWith("$") || rawKey.startsWith(".") || rawKey === "__proto__" || rawKey === "constructor" || rawKey === "prototype") {
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
const path = [...pathPrefix, rawKey];
|
|
267
|
+
if (isPlainObject(rawValue) && !isOperatorObject(rawValue)) {
|
|
268
|
+
if (!checkDataEntries(notificationData, rawValue, path, depth + 1)) return false;
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
const groups = normalizeDataFieldValue(rawValue);
|
|
272
|
+
if (groups === null) return false;
|
|
273
|
+
if (groups.length === 0) continue;
|
|
274
|
+
const notifValue = notificationData ? dataValueAtPath(notificationData, path) : void 0;
|
|
275
|
+
if (notifValue === void 0) return false;
|
|
276
|
+
if (!groups.every((g) => orGroupMatchesNotifValue(g, notifValue))) return false;
|
|
277
|
+
}
|
|
278
|
+
return true;
|
|
279
|
+
}
|
|
189
280
|
function checkNotificationDataFilter(notificationData, filterData) {
|
|
190
281
|
if (!filterData || Object.keys(filterData).length === 0) {
|
|
191
282
|
return true;
|
|
@@ -193,24 +284,7 @@ function checkNotificationDataFilter(notificationData, filterData) {
|
|
|
193
284
|
if (!notificationData) {
|
|
194
285
|
return false;
|
|
195
286
|
}
|
|
196
|
-
return
|
|
197
|
-
const notifValue = notificationData[key];
|
|
198
|
-
if (notifValue === void 0 && filterValue !== void 0) {
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
if (Array.isArray(filterValue)) {
|
|
202
|
-
if (Array.isArray(notifValue)) {
|
|
203
|
-
if (filterValue.length !== notifValue.length) return false;
|
|
204
|
-
const sortedFilterValue = [...filterValue].sort();
|
|
205
|
-
const sortedNotifValue = [...notifValue].sort();
|
|
206
|
-
return sortedFilterValue.every((val, index) => val === sortedNotifValue[index]);
|
|
207
|
-
} else {
|
|
208
|
-
return filterValue.includes(notifValue);
|
|
209
|
-
}
|
|
210
|
-
} else {
|
|
211
|
-
return notifValue === filterValue;
|
|
212
|
-
}
|
|
213
|
-
});
|
|
287
|
+
return checkDataEntries(notificationData, filterData, [], 1);
|
|
214
288
|
}
|
|
215
289
|
function checkNotificationTagFilter(notificationTags, filterTags) {
|
|
216
290
|
let groups;
|
|
@@ -1043,7 +1117,7 @@ _contextKey = new WeakMap();
|
|
|
1043
1117
|
|
|
1044
1118
|
// src/api/http-client.ts
|
|
1045
1119
|
var DEFAULT_API_VERSION = "v1";
|
|
1046
|
-
var DEFAULT_CLIENT_VERSION = `${"@novu/js"}@${"3.
|
|
1120
|
+
var DEFAULT_CLIENT_VERSION = `${"@novu/js"}@${"3.17.0-rc.d0046861c6"}`;
|
|
1047
1121
|
var HttpClient = class {
|
|
1048
1122
|
constructor(options = {}) {
|
|
1049
1123
|
// Environment variable for local development that overrides the default API endpoint without affecting the Inbox DX
|
|
@@ -1159,7 +1233,9 @@ var INBOX_ROUTE = "/inbox";
|
|
|
1159
1233
|
var INBOX_NOTIFICATIONS_ROUTE = `${INBOX_ROUTE}/notifications`;
|
|
1160
1234
|
var CHAT_OAUTH_ROUTE = `${INBOX_ROUTE}/chat/oauth`;
|
|
1161
1235
|
var CHANNEL_CONNECTIONS_ROUTE = `${INBOX_ROUTE}/channel-connections`;
|
|
1236
|
+
var CHANNEL_CONNECTIONS_OAUTH_ROUTE = `${CHANNEL_CONNECTIONS_ROUTE}/oauth`;
|
|
1162
1237
|
var CHANNEL_ENDPOINTS_ROUTE = `${INBOX_ROUTE}/channel-endpoints`;
|
|
1238
|
+
var CHANNEL_ENDPOINTS_OAUTH_ROUTE = `${CHANNEL_ENDPOINTS_ROUTE}/oauth`;
|
|
1163
1239
|
function buildChannelListSearchParams(args) {
|
|
1164
1240
|
const searchParams = new URLSearchParams();
|
|
1165
1241
|
if (args.subscriberId) searchParams.append("subscriberId", args.subscriberId);
|
|
@@ -1498,6 +1574,9 @@ var InboxService = class {
|
|
|
1498
1574
|
deleteSubscription({ topicKey, identifier }) {
|
|
1499
1575
|
return chunk7B52C2XE_js.__privateGet(this, _httpClient).delete(`${INBOX_ROUTE}/topics/${topicKey}/subscriptions/${identifier}`);
|
|
1500
1576
|
}
|
|
1577
|
+
/**
|
|
1578
|
+
* @deprecated Use generateConnectOAuthUrl() or generateLinkUserOAuthUrl() instead.
|
|
1579
|
+
*/
|
|
1501
1580
|
generateChatOAuthUrl({
|
|
1502
1581
|
integrationIdentifier,
|
|
1503
1582
|
connectionIdentifier,
|
|
@@ -1506,7 +1585,8 @@ var InboxService = class {
|
|
|
1506
1585
|
scope,
|
|
1507
1586
|
userScope,
|
|
1508
1587
|
mode,
|
|
1509
|
-
connectionMode
|
|
1588
|
+
connectionMode,
|
|
1589
|
+
autoLinkUser
|
|
1510
1590
|
}) {
|
|
1511
1591
|
return chunk7B52C2XE_js.__privateGet(this, _httpClient).post(CHAT_OAUTH_ROUTE, {
|
|
1512
1592
|
integrationIdentifier,
|
|
@@ -1516,7 +1596,42 @@ var InboxService = class {
|
|
|
1516
1596
|
scope,
|
|
1517
1597
|
userScope,
|
|
1518
1598
|
mode,
|
|
1519
|
-
connectionMode
|
|
1599
|
+
connectionMode,
|
|
1600
|
+
autoLinkUser
|
|
1601
|
+
});
|
|
1602
|
+
}
|
|
1603
|
+
generateConnectOAuthUrl({
|
|
1604
|
+
integrationIdentifier,
|
|
1605
|
+
connectionIdentifier,
|
|
1606
|
+
subscriberId,
|
|
1607
|
+
context,
|
|
1608
|
+
scope,
|
|
1609
|
+
connectionMode,
|
|
1610
|
+
autoLinkUser
|
|
1611
|
+
}) {
|
|
1612
|
+
return chunk7B52C2XE_js.__privateGet(this, _httpClient).post(CHANNEL_CONNECTIONS_OAUTH_ROUTE, {
|
|
1613
|
+
integrationIdentifier,
|
|
1614
|
+
connectionIdentifier,
|
|
1615
|
+
subscriberId,
|
|
1616
|
+
context,
|
|
1617
|
+
scope,
|
|
1618
|
+
connectionMode,
|
|
1619
|
+
autoLinkUser
|
|
1620
|
+
});
|
|
1621
|
+
}
|
|
1622
|
+
generateLinkUserOAuthUrl({
|
|
1623
|
+
integrationIdentifier,
|
|
1624
|
+
connectionIdentifier,
|
|
1625
|
+
subscriberId,
|
|
1626
|
+
context,
|
|
1627
|
+
userScope
|
|
1628
|
+
}) {
|
|
1629
|
+
return chunk7B52C2XE_js.__privateGet(this, _httpClient).post(CHANNEL_ENDPOINTS_OAUTH_ROUTE, {
|
|
1630
|
+
integrationIdentifier,
|
|
1631
|
+
connectionIdentifier,
|
|
1632
|
+
subscriberId,
|
|
1633
|
+
context,
|
|
1634
|
+
userScope
|
|
1520
1635
|
});
|
|
1521
1636
|
}
|
|
1522
1637
|
listChannelConnections(args = {}) {
|
|
@@ -1594,6 +1709,21 @@ var generateChatOAuthUrl = (_0) => chunk7B52C2XE_js.__async(null, [_0], function
|
|
|
1594
1709
|
return { error: new chunkWDGG3OER_js.NovuError("Failed to generate chat OAuth URL", error) };
|
|
1595
1710
|
}
|
|
1596
1711
|
});
|
|
1712
|
+
var generateConnectOAuthUrl = (_0) => chunk7B52C2XE_js.__async(null, [_0], function* ({
|
|
1713
|
+
emitter,
|
|
1714
|
+
apiService,
|
|
1715
|
+
args
|
|
1716
|
+
}) {
|
|
1717
|
+
try {
|
|
1718
|
+
emitter.emit("channel-connection.oauth-url.pending", { args });
|
|
1719
|
+
const data = yield apiService.generateConnectOAuthUrl(args);
|
|
1720
|
+
emitter.emit("channel-connection.oauth-url.resolved", { args, data });
|
|
1721
|
+
return { data };
|
|
1722
|
+
} catch (error) {
|
|
1723
|
+
emitter.emit("channel-connection.oauth-url.resolved", { args, error });
|
|
1724
|
+
return { error: new chunkWDGG3OER_js.NovuError("Failed to generate connect OAuth URL", error) };
|
|
1725
|
+
}
|
|
1726
|
+
});
|
|
1597
1727
|
var listChannelConnections = (_0) => chunk7B52C2XE_js.__async(null, [_0], function* ({
|
|
1598
1728
|
emitter,
|
|
1599
1729
|
apiService,
|
|
@@ -1649,6 +1779,9 @@ var ChannelConnections = class extends BaseModule {
|
|
|
1649
1779
|
}) {
|
|
1650
1780
|
super({ inboxServiceInstance, eventEmitterInstance });
|
|
1651
1781
|
}
|
|
1782
|
+
/**
|
|
1783
|
+
* @deprecated Use generateConnectOAuthUrl() instead. For user-level linking use channelEndpoints.generateLinkUserOAuthUrl().
|
|
1784
|
+
*/
|
|
1652
1785
|
generateOAuthUrl(args) {
|
|
1653
1786
|
return chunk7B52C2XE_js.__async(this, null, function* () {
|
|
1654
1787
|
return this.callWithSession(
|
|
@@ -1660,6 +1793,17 @@ var ChannelConnections = class extends BaseModule {
|
|
|
1660
1793
|
);
|
|
1661
1794
|
});
|
|
1662
1795
|
}
|
|
1796
|
+
generateConnectOAuthUrl(args) {
|
|
1797
|
+
return chunk7B52C2XE_js.__async(this, null, function* () {
|
|
1798
|
+
return this.callWithSession(
|
|
1799
|
+
() => generateConnectOAuthUrl({
|
|
1800
|
+
emitter: this._emitter,
|
|
1801
|
+
apiService: this._inboxService,
|
|
1802
|
+
args
|
|
1803
|
+
})
|
|
1804
|
+
);
|
|
1805
|
+
});
|
|
1806
|
+
}
|
|
1663
1807
|
list() {
|
|
1664
1808
|
return chunk7B52C2XE_js.__async(this, arguments, function* (args = {}) {
|
|
1665
1809
|
return this.callWithSession(
|
|
@@ -1696,6 +1840,21 @@ var ChannelConnections = class extends BaseModule {
|
|
|
1696
1840
|
};
|
|
1697
1841
|
|
|
1698
1842
|
// src/channel-endpoints/helpers.ts
|
|
1843
|
+
var generateLinkUserOAuthUrl = (_0) => chunk7B52C2XE_js.__async(null, [_0], function* ({
|
|
1844
|
+
emitter,
|
|
1845
|
+
apiService,
|
|
1846
|
+
args
|
|
1847
|
+
}) {
|
|
1848
|
+
try {
|
|
1849
|
+
emitter.emit("channel-endpoint.oauth-url.pending", { args });
|
|
1850
|
+
const data = yield apiService.generateLinkUserOAuthUrl(args);
|
|
1851
|
+
emitter.emit("channel-endpoint.oauth-url.resolved", { args, data });
|
|
1852
|
+
return { data };
|
|
1853
|
+
} catch (error) {
|
|
1854
|
+
emitter.emit("channel-endpoint.oauth-url.resolved", { args, error });
|
|
1855
|
+
return { error: new chunkWDGG3OER_js.NovuError("Failed to generate link user OAuth URL", error) };
|
|
1856
|
+
}
|
|
1857
|
+
});
|
|
1699
1858
|
var listChannelEndpoints = (_0) => chunk7B52C2XE_js.__async(null, [_0], function* ({
|
|
1700
1859
|
emitter,
|
|
1701
1860
|
apiService,
|
|
@@ -1766,6 +1925,17 @@ var ChannelEndpoints = class extends BaseModule {
|
|
|
1766
1925
|
}) {
|
|
1767
1926
|
super({ inboxServiceInstance, eventEmitterInstance });
|
|
1768
1927
|
}
|
|
1928
|
+
generateLinkUserOAuthUrl(args) {
|
|
1929
|
+
return chunk7B52C2XE_js.__async(this, null, function* () {
|
|
1930
|
+
return this.callWithSession(
|
|
1931
|
+
() => generateLinkUserOAuthUrl({
|
|
1932
|
+
emitter: this._emitter,
|
|
1933
|
+
apiService: this._inboxService,
|
|
1934
|
+
args
|
|
1935
|
+
})
|
|
1936
|
+
);
|
|
1937
|
+
});
|
|
1938
|
+
}
|
|
1769
1939
|
list() {
|
|
1770
1940
|
return chunk7B52C2XE_js.__async(this, arguments, function* (args = {}) {
|
|
1771
1941
|
return this.callWithSession(
|
|
@@ -3218,6 +3388,8 @@ _emitter9 = new WeakMap();
|
|
|
3218
3388
|
_inboxService5 = new WeakMap();
|
|
3219
3389
|
_options = new WeakMap();
|
|
3220
3390
|
var PRODUCTION_SOCKET_URL = "wss://socket.novu.co";
|
|
3391
|
+
var HIBERNATION_HEARTBEAT_MS = 25e3;
|
|
3392
|
+
var HIBERNATION_PING_PAYLOAD = "ping";
|
|
3221
3393
|
var NOTIFICATION_RECEIVED = "notifications.notification_received";
|
|
3222
3394
|
var UNSEEN_COUNT_CHANGED = "notifications.unseen_count_changed";
|
|
3223
3395
|
var UNREAD_COUNT_CHANGED = "notifications.unread_count_changed";
|
|
@@ -3308,7 +3480,7 @@ var mapToNotification = ({
|
|
|
3308
3480
|
severity
|
|
3309
3481
|
});
|
|
3310
3482
|
};
|
|
3311
|
-
var _token, _emitter10, _partySocket, _socketUrl, _socketOptions, _notificationReceived, _unseenCountChanged, _unreadCountChanged, _handleMessage, _PartySocketClient_instances, initializeSocket_fn, handleConnectSocket_fn, handleDisconnectSocket_fn;
|
|
3483
|
+
var _token, _emitter10, _partySocket, _socketUrl, _socketOptions, _hibernationHeartbeatIntervalId, _notificationReceived, _unseenCountChanged, _unreadCountChanged, _handleMessage, _PartySocketClient_instances, clearHibernationHeartbeat_fn, startHibernationHeartbeat_fn, initializeSocket_fn, handleConnectSocket_fn, handleDisconnectSocket_fn;
|
|
3312
3484
|
var PartySocketClient = class extends BaseModule {
|
|
3313
3485
|
constructor({
|
|
3314
3486
|
socketUrl,
|
|
@@ -3326,6 +3498,7 @@ var PartySocketClient = class extends BaseModule {
|
|
|
3326
3498
|
chunk7B52C2XE_js.__privateAdd(this, _partySocket);
|
|
3327
3499
|
chunk7B52C2XE_js.__privateAdd(this, _socketUrl);
|
|
3328
3500
|
chunk7B52C2XE_js.__privateAdd(this, _socketOptions);
|
|
3501
|
+
chunk7B52C2XE_js.__privateAdd(this, _hibernationHeartbeatIntervalId);
|
|
3329
3502
|
chunk7B52C2XE_js.__privateAdd(this, _notificationReceived, (event) => {
|
|
3330
3503
|
try {
|
|
3331
3504
|
const data = JSON.parse(event.data);
|
|
@@ -3361,6 +3534,9 @@ var PartySocketClient = class extends BaseModule {
|
|
|
3361
3534
|
}
|
|
3362
3535
|
});
|
|
3363
3536
|
chunk7B52C2XE_js.__privateAdd(this, _handleMessage, (event) => {
|
|
3537
|
+
if (event.data === HIBERNATION_PING_PAYLOAD || event.data === "pong") {
|
|
3538
|
+
return;
|
|
3539
|
+
}
|
|
3364
3540
|
try {
|
|
3365
3541
|
const data = JSON.parse(event.data);
|
|
3366
3542
|
switch (data.event) {
|
|
@@ -3410,11 +3586,31 @@ _emitter10 = new WeakMap();
|
|
|
3410
3586
|
_partySocket = new WeakMap();
|
|
3411
3587
|
_socketUrl = new WeakMap();
|
|
3412
3588
|
_socketOptions = new WeakMap();
|
|
3589
|
+
_hibernationHeartbeatIntervalId = new WeakMap();
|
|
3413
3590
|
_notificationReceived = new WeakMap();
|
|
3414
3591
|
_unseenCountChanged = new WeakMap();
|
|
3415
3592
|
_unreadCountChanged = new WeakMap();
|
|
3416
3593
|
_handleMessage = new WeakMap();
|
|
3417
3594
|
_PartySocketClient_instances = new WeakSet();
|
|
3595
|
+
clearHibernationHeartbeat_fn = function() {
|
|
3596
|
+
if (chunk7B52C2XE_js.__privateGet(this, _hibernationHeartbeatIntervalId) !== void 0) {
|
|
3597
|
+
clearInterval(chunk7B52C2XE_js.__privateGet(this, _hibernationHeartbeatIntervalId));
|
|
3598
|
+
chunk7B52C2XE_js.__privateSet(this, _hibernationHeartbeatIntervalId, void 0);
|
|
3599
|
+
}
|
|
3600
|
+
};
|
|
3601
|
+
startHibernationHeartbeat_fn = function() {
|
|
3602
|
+
chunk7B52C2XE_js.__privateMethod(this, _PartySocketClient_instances, clearHibernationHeartbeat_fn).call(this);
|
|
3603
|
+
chunk7B52C2XE_js.__privateSet(this, _hibernationHeartbeatIntervalId, setInterval(() => {
|
|
3604
|
+
const socket = chunk7B52C2XE_js.__privateGet(this, _partySocket);
|
|
3605
|
+
if (!socket || socket.readyState !== partysocket.WebSocket.OPEN) {
|
|
3606
|
+
return;
|
|
3607
|
+
}
|
|
3608
|
+
try {
|
|
3609
|
+
socket.send(HIBERNATION_PING_PAYLOAD);
|
|
3610
|
+
} catch (e) {
|
|
3611
|
+
}
|
|
3612
|
+
}, HIBERNATION_HEARTBEAT_MS));
|
|
3613
|
+
};
|
|
3418
3614
|
initializeSocket_fn = function() {
|
|
3419
3615
|
return chunk7B52C2XE_js.__async(this, null, function* () {
|
|
3420
3616
|
if (chunk7B52C2XE_js.__privateGet(this, _partySocket)) {
|
|
@@ -3425,13 +3621,22 @@ initializeSocket_fn = function() {
|
|
|
3425
3621
|
const url = new URL(chunk7B52C2XE_js.__privateGet(this, _socketUrl));
|
|
3426
3622
|
url.searchParams.set("token", chunk7B52C2XE_js.__privateGet(this, _token));
|
|
3427
3623
|
chunk7B52C2XE_js.__privateSet(this, _partySocket, new partysocket.WebSocket(url.toString(), void 0, chunk7B52C2XE_js.__privateGet(this, _socketOptions)));
|
|
3428
|
-
chunk7B52C2XE_js.__privateGet(this, _partySocket)
|
|
3624
|
+
const socket = chunk7B52C2XE_js.__privateGet(this, _partySocket);
|
|
3625
|
+
socket.addEventListener("open", () => {
|
|
3626
|
+
chunk7B52C2XE_js.__privateMethod(this, _PartySocketClient_instances, startHibernationHeartbeat_fn).call(this);
|
|
3429
3627
|
chunk7B52C2XE_js.__privateGet(this, _emitter10).emit("socket.connect.resolved", { args });
|
|
3430
3628
|
});
|
|
3431
|
-
|
|
3629
|
+
socket.addEventListener("error", (error) => {
|
|
3432
3630
|
chunk7B52C2XE_js.__privateGet(this, _emitter10).emit("socket.connect.resolved", { args, error });
|
|
3433
3631
|
});
|
|
3434
|
-
|
|
3632
|
+
socket.addEventListener("close", () => {
|
|
3633
|
+
if (socket !== chunk7B52C2XE_js.__privateGet(this, _partySocket)) {
|
|
3634
|
+
return;
|
|
3635
|
+
}
|
|
3636
|
+
chunk7B52C2XE_js.__privateMethod(this, _PartySocketClient_instances, clearHibernationHeartbeat_fn).call(this);
|
|
3637
|
+
chunk7B52C2XE_js.__privateSet(this, _partySocket, void 0);
|
|
3638
|
+
});
|
|
3639
|
+
socket.addEventListener("message", chunk7B52C2XE_js.__privateGet(this, _handleMessage));
|
|
3435
3640
|
});
|
|
3436
3641
|
};
|
|
3437
3642
|
handleConnectSocket_fn = function() {
|
|
@@ -3448,6 +3653,7 @@ handleDisconnectSocket_fn = function() {
|
|
|
3448
3653
|
return chunk7B52C2XE_js.__async(this, null, function* () {
|
|
3449
3654
|
var _a;
|
|
3450
3655
|
try {
|
|
3656
|
+
chunk7B52C2XE_js.__privateMethod(this, _PartySocketClient_instances, clearHibernationHeartbeat_fn).call(this);
|
|
3451
3657
|
(_a = chunk7B52C2XE_js.__privateGet(this, _partySocket)) == null ? void 0 : _a.close();
|
|
3452
3658
|
chunk7B52C2XE_js.__privateSet(this, _partySocket, void 0);
|
|
3453
3659
|
return {};
|
|
@@ -294,6 +294,9 @@ type ChannelConnectionOAuthUrlEvents = BaseEvents<'channel-connection.oauth-url'
|
|
|
294
294
|
type ChannelConnectionsFetchEvents = BaseEvents<'channel-connections.list', ListChannelConnectionsArgs, ChannelConnectionResponse[]>;
|
|
295
295
|
type ChannelConnectionGetEvents = BaseEvents<'channel-connection.get', GetChannelConnectionArgs, ChannelConnectionResponse | null>;
|
|
296
296
|
type ChannelConnectionDeleteEvents = BaseEvents<'channel-connection.delete', DeleteChannelConnectionArgs, void>;
|
|
297
|
+
type ChannelEndpointOAuthUrlEvents = BaseEvents<'channel-endpoint.oauth-url', GenerateLinkUserOAuthUrlArgs, {
|
|
298
|
+
url: string;
|
|
299
|
+
}>;
|
|
297
300
|
type ChannelEndpointsFetchEvents = BaseEvents<'channel-endpoints.list', ListChannelEndpointsArgs, ChannelEndpointResponse[]>;
|
|
298
301
|
type ChannelEndpointGetEvents = BaseEvents<'channel-endpoint.get', GetChannelEndpointArgs, ChannelEndpointResponse | null>;
|
|
299
302
|
type ChannelEndpointCreateEvents = BaseEvents<'channel-endpoint.create', CreateChannelEndpointArgs, ChannelEndpointResponse>;
|
|
@@ -351,7 +354,7 @@ type Events = SessionInitializeEvents & NotificationsFetchEvents & {
|
|
|
351
354
|
subscriptions: TopicSubscription[];
|
|
352
355
|
};
|
|
353
356
|
};
|
|
354
|
-
} & ChannelConnectionOAuthUrlEvents & ChannelConnectionsFetchEvents & ChannelConnectionGetEvents & ChannelConnectionDeleteEvents & ChannelEndpointsFetchEvents & ChannelEndpointGetEvents & ChannelEndpointCreateEvents & ChannelEndpointDeleteEvents & SocketConnectEvents & SocketEvents & NotificationReadEvents & NotificationUnreadEvents & NotificationSeenEvents & NotificationArchiveEvents & NotificationUnarchiveEvents & NotificationDeleteEvents & NotificationSnoozeEvents & NotificationUnsnoozeEvents & NotificationCompleteActionEvents & NotificationRevertActionEvents & NotificationsReadAllEvents & NotificationsSeenAllEvents & NotificationsArchivedAllEvents & NotificationsReadArchivedAllEvents & NotificationsDeletedAllEvents;
|
|
357
|
+
} & ChannelConnectionOAuthUrlEvents & ChannelConnectionsFetchEvents & ChannelConnectionGetEvents & ChannelConnectionDeleteEvents & ChannelEndpointOAuthUrlEvents & ChannelEndpointsFetchEvents & ChannelEndpointGetEvents & ChannelEndpointCreateEvents & ChannelEndpointDeleteEvents & SocketConnectEvents & SocketEvents & NotificationReadEvents & NotificationUnreadEvents & NotificationSeenEvents & NotificationArchiveEvents & NotificationUnarchiveEvents & NotificationDeleteEvents & NotificationSnoozeEvents & NotificationUnsnoozeEvents & NotificationCompleteActionEvents & NotificationRevertActionEvents & NotificationsReadAllEvents & NotificationsSeenAllEvents & NotificationsArchivedAllEvents & NotificationsReadArchivedAllEvents & NotificationsDeletedAllEvents;
|
|
355
358
|
type EventNames = keyof Events;
|
|
356
359
|
type SocketEventNames = keyof SocketEvents;
|
|
357
360
|
type EventHandler<T = unknown> = (event: T) => void;
|
|
@@ -638,6 +641,18 @@ type NotificationFilter = {
|
|
|
638
641
|
archived?: boolean;
|
|
639
642
|
snoozed?: boolean;
|
|
640
643
|
seen?: boolean;
|
|
644
|
+
/**
|
|
645
|
+
* Filter notifications by keys in their `data` object.
|
|
646
|
+
*
|
|
647
|
+
* Each top-level key value can be:
|
|
648
|
+
* - a scalar (exact equality)
|
|
649
|
+
* - `Scalar[]` (OR — match any of the listed values)
|
|
650
|
+
* - `{ or: Scalar[] }` (explicit OR)
|
|
651
|
+
* - `{ and: [{ or: Scalar[] }, ...] }` (AND of OR-groups)
|
|
652
|
+
* - a 1-level nested object whose sub-keys follow the same rules
|
|
653
|
+
*
|
|
654
|
+
* Across keys clauses are AND-ed together.
|
|
655
|
+
*/
|
|
641
656
|
data?: Record<string, unknown>;
|
|
642
657
|
severity?: SeverityLevelEnum | SeverityLevelEnum[];
|
|
643
658
|
createdGte?: number;
|
|
@@ -759,6 +774,9 @@ type ChannelEndpointResponse = {
|
|
|
759
774
|
};
|
|
760
775
|
type OAuthMode = 'connect' | 'link_user';
|
|
761
776
|
type ConnectionMode = 'subscriber' | 'shared';
|
|
777
|
+
/**
|
|
778
|
+
* @deprecated Use GenerateConnectOAuthUrlArgs or GenerateLinkUserOAuthUrlArgs instead.
|
|
779
|
+
*/
|
|
762
780
|
type GenerateChatOAuthUrlArgs = {
|
|
763
781
|
integrationIdentifier: string;
|
|
764
782
|
connectionIdentifier?: string;
|
|
@@ -768,6 +786,28 @@ type GenerateChatOAuthUrlArgs = {
|
|
|
768
786
|
userScope?: string[];
|
|
769
787
|
mode?: OAuthMode;
|
|
770
788
|
connectionMode?: ConnectionMode;
|
|
789
|
+
autoLinkUser?: boolean;
|
|
790
|
+
};
|
|
791
|
+
/** Args for creating a workspace/tenant channel connection (Slack install or MS Teams admin consent). */
|
|
792
|
+
type GenerateConnectOAuthUrlArgs = {
|
|
793
|
+
integrationIdentifier: string;
|
|
794
|
+
connectionIdentifier?: string;
|
|
795
|
+
subscriberId?: string;
|
|
796
|
+
context?: Context;
|
|
797
|
+
/** Slack only: OAuth bot scopes to request. */
|
|
798
|
+
scope?: string[];
|
|
799
|
+
connectionMode?: ConnectionMode;
|
|
800
|
+
autoLinkUser?: boolean;
|
|
801
|
+
};
|
|
802
|
+
/** Args for linking a subscriber to their personal chat identity (Slack user or MS Teams user OID). */
|
|
803
|
+
type GenerateLinkUserOAuthUrlArgs = {
|
|
804
|
+
integrationIdentifier: string;
|
|
805
|
+
connectionIdentifier?: string;
|
|
806
|
+
/** Required — this operation always binds a specific subscriber to a user identity. */
|
|
807
|
+
subscriberId: string;
|
|
808
|
+
context?: Context;
|
|
809
|
+
/** Slack only: user-level OAuth scopes (e.g. identity.basic). */
|
|
810
|
+
userScope?: string[];
|
|
771
811
|
};
|
|
772
812
|
type ListChannelConnectionsArgs = {
|
|
773
813
|
subscriberId?: string;
|
|
@@ -970,7 +1010,16 @@ declare class InboxService {
|
|
|
970
1010
|
topicKey: string;
|
|
971
1011
|
identifier: string;
|
|
972
1012
|
}): Promise<void>;
|
|
973
|
-
|
|
1013
|
+
/**
|
|
1014
|
+
* @deprecated Use generateConnectOAuthUrl() or generateLinkUserOAuthUrl() instead.
|
|
1015
|
+
*/
|
|
1016
|
+
generateChatOAuthUrl({ integrationIdentifier, connectionIdentifier, subscriberId, context, scope, userScope, mode, connectionMode, autoLinkUser, }: GenerateChatOAuthUrlArgs): Promise<{
|
|
1017
|
+
url: string;
|
|
1018
|
+
}>;
|
|
1019
|
+
generateConnectOAuthUrl({ integrationIdentifier, connectionIdentifier, subscriberId, context, scope, connectionMode, autoLinkUser, }: GenerateConnectOAuthUrlArgs): Promise<{
|
|
1020
|
+
url: string;
|
|
1021
|
+
}>;
|
|
1022
|
+
generateLinkUserOAuthUrl({ integrationIdentifier, connectionIdentifier, subscriberId, context, userScope, }: GenerateLinkUserOAuthUrlArgs): Promise<{
|
|
974
1023
|
url: string;
|
|
975
1024
|
}>;
|
|
976
1025
|
listChannelConnections(args?: ListChannelConnectionsArgs): Promise<{
|
|
@@ -991,4 +1040,4 @@ declare class InboxService {
|
|
|
991
1040
|
deleteChannelEndpoint(identifier: string): Promise<void>;
|
|
992
1041
|
}
|
|
993
1042
|
|
|
994
|
-
export { type UpdateSubscriptionPreferenceArgs as $, type PreferenceFilter as A, type BaseDeleteSubscriptionArgs as B, type ChannelConnectionResponse as C, type DaySchedule as D, type EventHandler as E, type FiltersCountResponse as F, type GenerateChatOAuthUrlArgs as G, PreferenceLevel as H, type InboxNotification as I, type PreferencesResponse as J, Schedule as K, type ListChannelConnectionsArgs as L, type SocketEventNames as M, Notification as N, type SocketTypeOption as O, Preference as P, type StandardNovuOptions as Q, type Subscriber as R, SeverityLevelEnum as S, type TagsFilter as T, SubscriptionPreference as U, type TagsFilterAndForm as V, type TagsFilterOrGroup as W, type TimeRange as X, TopicSubscription as Y, type UnreadCount as Z, type UpdateSubscriptionArgs as _, type NotificationFilter as a, WebSocketEvent as a0, type WeeklySchedule as a1, WorkflowCriticalityEnum as a2, type WorkflowFilter as a3, type WorkflowGroupFilter as a4, type WorkflowIdentifierOrId as a5, type ConnectionMode as a6, InboxService as a7, NovuEventEmitter as a8, type Session as a9, type Result as aa, ScheduleCache as ab, type UpdateScheduleArgs as ac, PreferencesCache as ad, type ListPreferencesArgs as ae, type BasePreferenceArgs as af, type InstancePreferenceArgs as ag, type ListNotificationsArgs as ah, type FilterCountArgs as ai, type FilterCountResponse as aj, type FiltersCountArgs as ak, type BaseArgs as al, type InstanceArgs as am, type SnoozeArgs as an,
|
|
1043
|
+
export { type UpdateSubscriptionPreferenceArgs as $, type PreferenceFilter as A, type BaseDeleteSubscriptionArgs as B, type ChannelConnectionResponse as C, type DaySchedule as D, type EventHandler as E, type FiltersCountResponse as F, type GenerateChatOAuthUrlArgs as G, PreferenceLevel as H, type InboxNotification as I, type PreferencesResponse as J, Schedule as K, type ListChannelConnectionsArgs as L, type SocketEventNames as M, Notification as N, type SocketTypeOption as O, Preference as P, type StandardNovuOptions as Q, type Subscriber as R, SeverityLevelEnum as S, type TagsFilter as T, SubscriptionPreference as U, type TagsFilterAndForm as V, type TagsFilterOrGroup as W, type TimeRange as X, TopicSubscription as Y, type UnreadCount as Z, type UpdateSubscriptionArgs as _, type NotificationFilter as a, WebSocketEvent as a0, type WeeklySchedule as a1, WorkflowCriticalityEnum as a2, type WorkflowFilter as a3, type WorkflowGroupFilter as a4, type WorkflowIdentifierOrId as a5, type ConnectionMode as a6, InboxService as a7, NovuEventEmitter as a8, type Session as a9, type Result as aa, ScheduleCache as ab, type UpdateScheduleArgs as ac, PreferencesCache as ad, type ListPreferencesArgs as ae, type BasePreferenceArgs as af, type InstancePreferenceArgs as ag, type ListNotificationsArgs as ah, type FilterCountArgs as ai, type FilterCountResponse as aj, type FiltersCountArgs as ak, type BaseArgs as al, type InstanceArgs as am, type SnoozeArgs as an, type GenerateConnectOAuthUrlArgs as ao, type GenerateLinkUserOAuthUrlArgs as ap, SubscriptionsCache as aq, type Options as ar, type EventNames as as, type ContextValue as at, type BaseUpdateSubscriptionArgs as b, type ChannelEndpointResponse as c, type ChannelPreference as d, ChannelType as e, type Context as f, type CreateChannelConnectionArgs as g, type CreateChannelEndpointArgs as h, type CreateSubscriptionArgs as i, type DefaultSchedule as j, type DeleteChannelConnectionArgs as k, type DeleteChannelEndpointArgs as l, type DeleteSubscriptionArgs as m, type Events as n, type GetChannelConnectionArgs as o, type GetChannelEndpointArgs as p, type GetSubscriptionArgs as q, type InstanceDeleteSubscriptionArgs as r, type InstanceUpdateSubscriptionArgs as s, type ListChannelEndpointsArgs as t, type ListNotificationsResponse as u, type ListSubscriptionsArgs as v, NotificationStatus as w, NovuError as x, type NovuOptions as y, type NovuSocketOptions as z };
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from 'json-logic-js';
|
|
2
|
-
import { S as SeverityLevelEnum, T as TagsFilter, N as Notification, a as NotificationFilter } from './inbox-service-
|
|
3
|
-
export { B as BaseDeleteSubscriptionArgs, b as BaseUpdateSubscriptionArgs, C as ChannelConnectionResponse, c as ChannelEndpointResponse, d as ChannelPreference, e as ChannelType, f as Context, g as CreateChannelConnectionArgs, h as CreateChannelEndpointArgs, i as CreateSubscriptionArgs, D as DaySchedule, j as DefaultSchedule, k as DeleteChannelConnectionArgs, l as DeleteChannelEndpointArgs, m as DeleteSubscriptionArgs, E as EventHandler, n as Events, F as FiltersCountResponse, G as GenerateChatOAuthUrlArgs, o as GetChannelConnectionArgs, p as GetChannelEndpointArgs, q as GetSubscriptionArgs, I as InboxNotification, r as InstanceDeleteSubscriptionArgs, s as InstanceUpdateSubscriptionArgs, L as ListChannelConnectionsArgs, t as ListChannelEndpointsArgs, u as ListNotificationsResponse, v as ListSubscriptionsArgs, w as NotificationStatus, x as NovuError, y as NovuOptions, z as NovuSocketOptions, P as Preference, A as PreferenceFilter, H as PreferenceLevel, J as PreferencesResponse, K as Schedule, M as SocketEventNames, O as SocketTypeOption, Q as StandardNovuOptions, R as Subscriber, U as SubscriptionPreference, V as TagsFilterAndForm, W as TagsFilterOrGroup, X as TimeRange, Y as TopicSubscription, Z as UnreadCount, _ as UpdateSubscriptionArgs, $ as UpdateSubscriptionPreferenceArgs, a0 as WebSocketEvent, a1 as WeeklySchedule, a2 as WorkflowCriticalityEnum, a3 as WorkflowFilter, a4 as WorkflowGroupFilter, a5 as WorkflowIdentifierOrId } from './inbox-service-
|
|
4
|
-
export { N as Novu } from './novu-
|
|
2
|
+
import { S as SeverityLevelEnum, T as TagsFilter, N as Notification, a as NotificationFilter } from './inbox-service-CGCuuYnv.js';
|
|
3
|
+
export { B as BaseDeleteSubscriptionArgs, b as BaseUpdateSubscriptionArgs, C as ChannelConnectionResponse, c as ChannelEndpointResponse, d as ChannelPreference, e as ChannelType, f as Context, g as CreateChannelConnectionArgs, h as CreateChannelEndpointArgs, i as CreateSubscriptionArgs, D as DaySchedule, j as DefaultSchedule, k as DeleteChannelConnectionArgs, l as DeleteChannelEndpointArgs, m as DeleteSubscriptionArgs, E as EventHandler, n as Events, F as FiltersCountResponse, G as GenerateChatOAuthUrlArgs, o as GetChannelConnectionArgs, p as GetChannelEndpointArgs, q as GetSubscriptionArgs, I as InboxNotification, r as InstanceDeleteSubscriptionArgs, s as InstanceUpdateSubscriptionArgs, L as ListChannelConnectionsArgs, t as ListChannelEndpointsArgs, u as ListNotificationsResponse, v as ListSubscriptionsArgs, w as NotificationStatus, x as NovuError, y as NovuOptions, z as NovuSocketOptions, P as Preference, A as PreferenceFilter, H as PreferenceLevel, J as PreferencesResponse, K as Schedule, M as SocketEventNames, O as SocketTypeOption, Q as StandardNovuOptions, R as Subscriber, U as SubscriptionPreference, V as TagsFilterAndForm, W as TagsFilterOrGroup, X as TimeRange, Y as TopicSubscription, Z as UnreadCount, _ as UpdateSubscriptionArgs, $ as UpdateSubscriptionPreferenceArgs, a0 as WebSocketEvent, a1 as WeeklySchedule, a2 as WorkflowCriticalityEnum, a3 as WorkflowFilter, a4 as WorkflowGroupFilter, a5 as WorkflowIdentifierOrId } from './inbox-service-CGCuuYnv.js';
|
|
4
|
+
export { N as Novu } from './novu-CmNBco-0.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Normalizes inbox tag filters to CNF: `string[][]` where each inner array is one OR-group.
|
|
@@ -11,6 +11,19 @@ declare function normalizeTagGroups(tags: TagsFilter | undefined): string[][];
|
|
|
11
11
|
declare const areTagsEqual: (tags1?: TagsFilter, tags2?: TagsFilter) => boolean;
|
|
12
12
|
declare const areSeveritiesEqual: (el1?: SeverityLevelEnum | SeverityLevelEnum[], el2?: SeverityLevelEnum | SeverityLevelEnum[]) => boolean;
|
|
13
13
|
declare const isSameFilter: (filter1: NotificationFilter, filter2: NotificationFilter) => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Check whether a notification's `data` matches the supplied filter shape.
|
|
16
|
+
*
|
|
17
|
+
* Supports per-key:
|
|
18
|
+
* - scalar (exact equality)
|
|
19
|
+
* - `Scalar[]` (OR — match any)
|
|
20
|
+
* - `{ or: Scalar[] }` (explicit OR)
|
|
21
|
+
* - `{ and: [{ or: Scalar[] }, ...] }` (AND of OR-groups)
|
|
22
|
+
* - 1 level of nested objects whose sub-keys follow the same rules
|
|
23
|
+
*
|
|
24
|
+
* Mirrors the server-side semantics from `@novu/shared#checkDataFilterMatches`
|
|
25
|
+
* so realtime, cache, and counts stay consistent.
|
|
26
|
+
*/
|
|
14
27
|
declare function checkNotificationDataFilter(notificationData: Notification['data'], filterData: NotificationFilter['data']): boolean;
|
|
15
28
|
/**
|
|
16
29
|
* Complete notification filter check combining all criteria.
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkN6G6IRD4_js = require('./chunk-N6G6IRD4.js');
|
|
4
4
|
var chunkWDGG3OER_js = require('./chunk-WDGG3OER.js');
|
|
5
5
|
require('./chunk-7B52C2XE.js');
|
|
6
6
|
|
|
@@ -8,39 +8,39 @@ require('./chunk-7B52C2XE.js');
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "Novu", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkN6G6IRD4_js.Novu; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "SubscriptionPreference", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkN6G6IRD4_js.SubscriptionPreference; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "TopicSubscription", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkN6G6IRD4_js.TopicSubscription; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "areSeveritiesEqual", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkN6G6IRD4_js.areSeveritiesEqual; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "areTagsEqual", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunkN6G6IRD4_js.areTagsEqual; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "checkNotificationDataFilter", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return chunkN6G6IRD4_js.checkNotificationDataFilter; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "checkNotificationMatchesFilter", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return chunkN6G6IRD4_js.checkNotificationMatchesFilter; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "isSameFilter", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return chunkN6G6IRD4_js.isSameFilter; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "normalizeTagGroups", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return chunkN6G6IRD4_js.normalizeTagGroups; }
|
|
44
44
|
});
|
|
45
45
|
Object.defineProperty(exports, "ChannelType", {
|
|
46
46
|
enumerable: true,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as Context, R as Subscriber, a8 as NovuEventEmitter, a7 as InboxService, I as InboxNotification, N as Notification } from '../inbox-service-
|
|
1
|
+
import { f as Context, R as Subscriber, a8 as NovuEventEmitter, a7 as InboxService, I as InboxNotification, N as Notification } from '../inbox-service-CGCuuYnv.js';
|
|
2
2
|
import 'json-logic-js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a7 as InboxService, a8 as NovuEventEmitter, a9 as Session, aa as Result, ab as ScheduleCache, K as Schedule, ac as UpdateScheduleArgs, ad as PreferencesCache, ae as ListPreferencesArgs, P as Preference, af as BasePreferenceArgs, ag as InstancePreferenceArgs, ah as ListNotificationsArgs, u as ListNotificationsResponse, I as InboxNotification, N as Notification, a as NotificationFilter, ai as FilterCountArgs, aj as FilterCountResponse, ak as FiltersCountArgs, F as FiltersCountResponse, al as BaseArgs, am as InstanceArgs, an as SnoozeArgs, G as GenerateChatOAuthUrlArgs, L as ListChannelConnectionsArgs, C as ChannelConnectionResponse, o as GetChannelConnectionArgs, k as DeleteChannelConnectionArgs, t as ListChannelEndpointsArgs, c as ChannelEndpointResponse, p as GetChannelEndpointArgs, h as CreateChannelEndpointArgs, l as DeleteChannelEndpointArgs,
|
|
1
|
+
import { a7 as InboxService, a8 as NovuEventEmitter, a9 as Session, aa as Result, ab as ScheduleCache, K as Schedule, ac as UpdateScheduleArgs, ad as PreferencesCache, ae as ListPreferencesArgs, P as Preference, af as BasePreferenceArgs, ag as InstancePreferenceArgs, ah as ListNotificationsArgs, u as ListNotificationsResponse, I as InboxNotification, N as Notification, a as NotificationFilter, ai as FilterCountArgs, aj as FilterCountResponse, ak as FiltersCountArgs, F as FiltersCountResponse, al as BaseArgs, am as InstanceArgs, an as SnoozeArgs, G as GenerateChatOAuthUrlArgs, ao as GenerateConnectOAuthUrlArgs, L as ListChannelConnectionsArgs, C as ChannelConnectionResponse, o as GetChannelConnectionArgs, k as DeleteChannelConnectionArgs, ap as GenerateLinkUserOAuthUrlArgs, t as ListChannelEndpointsArgs, c as ChannelEndpointResponse, p as GetChannelEndpointArgs, h as CreateChannelEndpointArgs, l as DeleteChannelEndpointArgs, aq as SubscriptionsCache, R as Subscriber, v as ListSubscriptionsArgs, ar as Options, Y as TopicSubscription, q as GetSubscriptionArgs, i as CreateSubscriptionArgs, b as BaseUpdateSubscriptionArgs, s as InstanceUpdateSubscriptionArgs, B as BaseDeleteSubscriptionArgs, r as InstanceDeleteSubscriptionArgs, M as SocketEventNames, as as EventNames, E as EventHandler, n as Events, at as ContextValue, y as NovuOptions, f as Context } from './inbox-service-CGCuuYnv.js';
|
|
2
2
|
|
|
3
3
|
declare class BaseModule {
|
|
4
4
|
#private;
|
|
@@ -135,9 +135,15 @@ declare class ChannelConnections extends BaseModule {
|
|
|
135
135
|
inboxServiceInstance: InboxService;
|
|
136
136
|
eventEmitterInstance: NovuEventEmitter;
|
|
137
137
|
});
|
|
138
|
+
/**
|
|
139
|
+
* @deprecated Use generateConnectOAuthUrl() instead. For user-level linking use channelEndpoints.generateLinkUserOAuthUrl().
|
|
140
|
+
*/
|
|
138
141
|
generateOAuthUrl(args: GenerateChatOAuthUrlArgs): Result<{
|
|
139
142
|
url: string;
|
|
140
143
|
}>;
|
|
144
|
+
generateConnectOAuthUrl(args: GenerateConnectOAuthUrlArgs): Result<{
|
|
145
|
+
url: string;
|
|
146
|
+
}>;
|
|
141
147
|
list(args?: ListChannelConnectionsArgs): Result<ChannelConnectionResponse[]>;
|
|
142
148
|
get(args: GetChannelConnectionArgs): Result<ChannelConnectionResponse | null>;
|
|
143
149
|
delete(args: DeleteChannelConnectionArgs): Result<void>;
|
|
@@ -148,6 +154,9 @@ declare class ChannelEndpoints extends BaseModule {
|
|
|
148
154
|
inboxServiceInstance: InboxService;
|
|
149
155
|
eventEmitterInstance: NovuEventEmitter;
|
|
150
156
|
});
|
|
157
|
+
generateLinkUserOAuthUrl(args: GenerateLinkUserOAuthUrlArgs): Result<{
|
|
158
|
+
url: string;
|
|
159
|
+
}>;
|
|
151
160
|
list(args?: ListChannelEndpointsArgs): Result<ChannelEndpointResponse[]>;
|
|
152
161
|
get(args: GetChannelEndpointArgs): Result<ChannelEndpointResponse | null>;
|
|
153
162
|
create(args: CreateChannelEndpointArgs): Result<ChannelEndpointResponse>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { L as InboxTheme,
|
|
2
|
-
import '../inbox-service-
|
|
1
|
+
import { L as InboxTheme, a6 as SubscriptionTheme } from '../types-BF6zvyj6.js';
|
|
2
|
+
import '../inbox-service-CGCuuYnv.js';
|
|
3
3
|
import 'json-logic-js';
|
|
4
|
-
import '../novu-
|
|
4
|
+
import '../novu-CmNBco-0.js';
|
|
5
5
|
|
|
6
6
|
declare const inboxDarkTheme: InboxTheme;
|
|
7
7
|
/**
|