@scopieflows/app-microsoft-teams 0.3.3

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.
Files changed (75) hide show
  1. package/README.md +7 -0
  2. package/package.json +31 -0
  3. package/src/i18n/ca.json +35 -0
  4. package/src/i18n/de.json +84 -0
  5. package/src/i18n/es.json +84 -0
  6. package/src/i18n/fr.json +84 -0
  7. package/src/i18n/hi.json +35 -0
  8. package/src/i18n/id.json +35 -0
  9. package/src/i18n/ja.json +84 -0
  10. package/src/i18n/nl.json +84 -0
  11. package/src/i18n/pt.json +84 -0
  12. package/src/i18n/ru.json +35 -0
  13. package/src/i18n/translation.json +84 -0
  14. package/src/i18n/vi.json +35 -0
  15. package/src/i18n/zh.json +84 -0
  16. package/src/index.d.ts +2 -0
  17. package/src/index.js +130 -0
  18. package/src/index.js.map +1 -0
  19. package/src/lib/actions/create-channel.d.ts +5 -0
  20. package/src/lib/actions/create-channel.js +41 -0
  21. package/src/lib/actions/create-channel.js.map +1 -0
  22. package/src/lib/actions/create-chat-and-send-message.d.ts +6 -0
  23. package/src/lib/actions/create-chat-and-send-message.js +84 -0
  24. package/src/lib/actions/create-chat-and-send-message.js.map +1 -0
  25. package/src/lib/actions/create-private-channel.d.ts +5 -0
  26. package/src/lib/actions/create-private-channel.js +39 -0
  27. package/src/lib/actions/create-private-channel.js.map +1 -0
  28. package/src/lib/actions/delete-chat-message.d.ts +4 -0
  29. package/src/lib/actions/delete-chat-message.js +36 -0
  30. package/src/lib/actions/delete-chat-message.js.map +1 -0
  31. package/src/lib/actions/find-channel.d.ts +4 -0
  32. package/src/lib/actions/find-channel.js +40 -0
  33. package/src/lib/actions/find-channel.js.map +1 -0
  34. package/src/lib/actions/find-team-member.d.ts +5 -0
  35. package/src/lib/actions/find-team-member.js +54 -0
  36. package/src/lib/actions/find-team-member.js.map +1 -0
  37. package/src/lib/actions/get-channel-message.d.ts +6 -0
  38. package/src/lib/actions/get-channel-message.js +39 -0
  39. package/src/lib/actions/get-channel-message.js.map +1 -0
  40. package/src/lib/actions/get-chat-message.d.ts +4 -0
  41. package/src/lib/actions/get-chat-message.js +31 -0
  42. package/src/lib/actions/get-chat-message.js.map +1 -0
  43. package/src/lib/actions/reply-to-channel-message.d.ts +7 -0
  44. package/src/lib/actions/reply-to-channel-message.js +56 -0
  45. package/src/lib/actions/reply-to-channel-message.js.map +1 -0
  46. package/src/lib/actions/request-approval-channel-message.d.ts +5 -0
  47. package/src/lib/actions/request-approval-channel-message.js +104 -0
  48. package/src/lib/actions/request-approval-channel-message.js.map +1 -0
  49. package/src/lib/actions/request-approval-direct-message.d.ts +4 -0
  50. package/src/lib/actions/request-approval-direct-message.js +102 -0
  51. package/src/lib/actions/request-approval-direct-message.js.map +1 -0
  52. package/src/lib/actions/send-channel-message.d.ts +6 -0
  53. package/src/lib/actions/send-channel-message.js +59 -0
  54. package/src/lib/actions/send-channel-message.js.map +1 -0
  55. package/src/lib/actions/send-chat-message.d.ts +5 -0
  56. package/src/lib/actions/send-chat-message.js +57 -0
  57. package/src/lib/actions/send-chat-message.js.map +1 -0
  58. package/src/lib/common/graph.d.ts +10 -0
  59. package/src/lib/common/graph.js +90 -0
  60. package/src/lib/common/graph.js.map +1 -0
  61. package/src/lib/common/index.d.ts +7 -0
  62. package/src/lib/common/index.js +217 -0
  63. package/src/lib/common/index.js.map +1 -0
  64. package/src/lib/triggers/new-channel-message.d.ts +14 -0
  65. package/src/lib/triggers/new-channel-message.js +137 -0
  66. package/src/lib/triggers/new-channel-message.js.map +1 -0
  67. package/src/lib/triggers/new-channel.d.ts +10 -0
  68. package/src/lib/triggers/new-channel.js +95 -0
  69. package/src/lib/triggers/new-channel.js.map +1 -0
  70. package/src/lib/triggers/new-chat-message.d.ts +10 -0
  71. package/src/lib/triggers/new-chat-message.js +132 -0
  72. package/src/lib/triggers/new-chat-message.js.map +1 -0
  73. package/src/lib/triggers/new-chat.d.ts +2 -0
  74. package/src/lib/triggers/new-chat.js +95 -0
  75. package/src/lib/triggers/new-chat.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-channel-message.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-teams/src/lib/triggers/new-channel-message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { TriggerStrategy } from '@scopieflows/pieces-framework';
2
+ export declare const newChannelTrigger: import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
3
+ teamId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
4
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
5
+ teamId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
6
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
7
+ teamId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
8
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
9
+ teamId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
10
+ }>;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newChannelTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const index_1 = require("../../index");
6
+ const pieces_common_1 = require("@scopieflows/pieces-common");
7
+ const pieces_framework_1 = require("@scopieflows/pieces-framework");
8
+ const common_1 = require("../common");
9
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
10
+ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
11
+ const shared_1 = require("@scopieflows/shared");
12
+ exports.newChannelTrigger = (0, pieces_framework_1.createTrigger)({
13
+ auth: index_1.microsoftTeamsAuth,
14
+ name: 'new-channel',
15
+ displayName: 'New Channel',
16
+ description: 'Triggers when a new channel is created in a team.',
17
+ props: {
18
+ teamId: common_1.microsoftTeamsCommon.teamId,
19
+ },
20
+ type: pieces_framework_1.TriggerStrategy.POLLING,
21
+ onEnable(context) {
22
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
24
+ auth: context.auth,
25
+ store: context.store,
26
+ propsValue: context.propsValue,
27
+ });
28
+ });
29
+ },
30
+ onDisable(context) {
31
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
32
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
33
+ auth: context.auth,
34
+ store: context.store,
35
+ propsValue: context.propsValue,
36
+ });
37
+ });
38
+ },
39
+ test(context) {
40
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
41
+ return yield pieces_common_1.pollingHelper.test(polling, context);
42
+ });
43
+ },
44
+ run(context) {
45
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
47
+ });
48
+ },
49
+ sampleData: {
50
+ id: '19:561fbdbbfca848a484f0a6f00ce9dbbd@thread.tacv2',
51
+ createdDateTime: '2025-05-21T12:40:13.175Z',
52
+ displayName: 'General',
53
+ description: 'Auto-generated channel',
54
+ membershipType: 'standard',
55
+ isArchived: false,
56
+ },
57
+ });
58
+ const polling = {
59
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
60
+ items(_a) {
61
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
62
+ const { teamId } = propsValue;
63
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
64
+ authProvider: {
65
+ getAccessToken: () => Promise.resolve(auth.access_token),
66
+ },
67
+ });
68
+ const lastFetchDate = (0, dayjs_1.default)(lastFetchEpochMS).toISOString();
69
+ const channels = [];
70
+ const filter = lastFetchEpochMS === 0 ? '' : `?$filter=createdDateTime gt ${lastFetchDate}`;
71
+ let response = yield client.api(`/teams/${teamId}/channels${filter}`).get();
72
+ while (response.value && response.value.length > 0) {
73
+ for (const channel of response.value) {
74
+ if ((0, shared_1.isNil)(channel.createdDateTime)) {
75
+ continue;
76
+ }
77
+ channels.push(channel);
78
+ }
79
+ if (lastFetchEpochMS !== 0 && response['@odata.nextLink']) {
80
+ response = yield client.api(response['@odata.nextLink']).get();
81
+ }
82
+ else {
83
+ break;
84
+ }
85
+ }
86
+ return channels.map((channel) => {
87
+ return {
88
+ epochMilliSeconds: (0, dayjs_1.default)(channel.createdDateTime).valueOf(),
89
+ data: channel,
90
+ };
91
+ });
92
+ });
93
+ },
94
+ };
95
+ //# sourceMappingURL=new-channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-channel.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-teams/src/lib/triggers/new-channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { TriggerStrategy } from '@scopieflows/pieces-framework';
2
+ export declare const newChatMessageTrigger: import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
3
+ chatId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
4
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
5
+ chatId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
6
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
7
+ chatId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
8
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
9
+ chatId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
10
+ }>;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newChatMessageTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const index_1 = require("../../index");
6
+ const pieces_common_1 = require("@scopieflows/pieces-common");
7
+ const pieces_framework_1 = require("@scopieflows/pieces-framework");
8
+ const common_1 = require("../common");
9
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
10
+ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
11
+ const shared_1 = require("@scopieflows/shared");
12
+ exports.newChatMessageTrigger = (0, pieces_framework_1.createTrigger)({
13
+ auth: index_1.microsoftTeamsAuth,
14
+ name: 'new-chat-message',
15
+ displayName: 'New Chat Message',
16
+ description: 'Triggers when a new message is received in a chat.',
17
+ props: {
18
+ chatId: common_1.microsoftTeamsCommon.chatId,
19
+ },
20
+ type: pieces_framework_1.TriggerStrategy.POLLING,
21
+ onEnable(context) {
22
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
24
+ auth: context.auth,
25
+ store: context.store,
26
+ propsValue: context.propsValue,
27
+ });
28
+ });
29
+ },
30
+ onDisable(context) {
31
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
32
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
33
+ auth: context.auth,
34
+ store: context.store,
35
+ propsValue: context.propsValue,
36
+ });
37
+ });
38
+ },
39
+ test(context) {
40
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
41
+ return yield pieces_common_1.pollingHelper.test(polling, context);
42
+ });
43
+ },
44
+ run(context) {
45
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
47
+ });
48
+ },
49
+ sampleData: {
50
+ replyToId: null,
51
+ etag: '1747831213175',
52
+ messageType: 'message',
53
+ createdDateTime: '2025-05-21T12:40:13.175Z',
54
+ lastModifiedDateTime: '2025-05-21T12:40:13.175Z',
55
+ lastEditedDateTime: null,
56
+ deletedDateTime: null,
57
+ subject: null,
58
+ summary: null,
59
+ chatId: '19:example_chat_id@unq.gbl.spaces',
60
+ importance: 'normal',
61
+ locale: 'en-us',
62
+ webUrl: '',
63
+ policyViolation: null,
64
+ eventDetail: null,
65
+ id: '1747831213175',
66
+ from: {
67
+ application: null,
68
+ device: null,
69
+ user: {
70
+ '@odata.type': '#microsoft.graph.teamworkUserIdentity',
71
+ id: '90b3720d-f459-42c1-a02e-a1ecb068',
72
+ displayName: 'ScopieFlows',
73
+ userIdentityType: 'aadUser',
74
+ tenantId: '9b37335a-d996-4a8d-9ae4-a3a04c94',
75
+ },
76
+ },
77
+ body: {
78
+ contentType: 'html',
79
+ content: '<p>Test Message</p>',
80
+ },
81
+ attachments: [],
82
+ mentions: [],
83
+ reactions: [],
84
+ },
85
+ });
86
+ const polling = {
87
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
88
+ items(_a) {
89
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue, lastFetchEpochMS, store }) {
90
+ var _b, _c;
91
+ const { chatId } = propsValue;
92
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
93
+ authProvider: {
94
+ getAccessToken: () => Promise.resolve(auth.access_token),
95
+ },
96
+ });
97
+ const messages = [];
98
+ if (lastFetchEpochMS === 0) {
99
+ const response = yield client
100
+ .api(`/chats/${chatId}/messages`)
101
+ .top(5)
102
+ .get();
103
+ if (!(0, shared_1.isNil)(response.value)) {
104
+ messages.push(...response.value);
105
+ }
106
+ }
107
+ else {
108
+ const requestUrl = (_b = (yield store.get('deltalink'))) !== null && _b !== void 0 ? _b : `/chats/${chatId}/messages/delta`;
109
+ let nextLink = requestUrl;
110
+ // https://learn.microsoft.com/graph/api/chatmessage-delta?view=graph-rest-1.0&tabs=http
111
+ while (nextLink) {
112
+ const response = yield client.api(nextLink).get();
113
+ const chatMessages = response.value;
114
+ if (Array.isArray(chatMessages)) {
115
+ messages.push(...chatMessages);
116
+ }
117
+ nextLink = (_c = response['@odata.nextLink']) !== null && _c !== void 0 ? _c : null;
118
+ if (response['@odata.deltaLink']) {
119
+ yield store.put('deltalink', response['@odata.deltaLink']);
120
+ }
121
+ }
122
+ }
123
+ return messages.map((message) => {
124
+ return {
125
+ epochMilliSeconds: (0, dayjs_1.default)(message.createdDateTime).valueOf(),
126
+ data: message,
127
+ };
128
+ });
129
+ });
130
+ },
131
+ };
132
+ //# sourceMappingURL=new-chat-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-chat-message.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-teams/src/lib/triggers/new-chat-message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TriggerStrategy } from '@scopieflows/pieces-framework';
2
+ export declare const newChatTrigger: import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {}>;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newChatTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const index_1 = require("../../index");
6
+ const pieces_common_1 = require("@scopieflows/pieces-common");
7
+ const pieces_framework_1 = require("@scopieflows/pieces-framework");
8
+ const shared_1 = require("@scopieflows/shared");
9
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
10
+ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
11
+ exports.newChatTrigger = (0, pieces_framework_1.createTrigger)({
12
+ auth: index_1.microsoftTeamsAuth,
13
+ name: 'new-chat',
14
+ displayName: 'New Chat',
15
+ description: 'Triggers when a new chat is created.',
16
+ props: {},
17
+ type: pieces_framework_1.TriggerStrategy.POLLING,
18
+ onEnable(context) {
19
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
20
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
21
+ auth: context.auth,
22
+ store: context.store,
23
+ propsValue: context.propsValue,
24
+ });
25
+ });
26
+ },
27
+ onDisable(context) {
28
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
29
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
30
+ auth: context.auth,
31
+ store: context.store,
32
+ propsValue: context.propsValue,
33
+ });
34
+ });
35
+ },
36
+ test(context) {
37
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
+ return yield pieces_common_1.pollingHelper.test(polling, context);
39
+ });
40
+ },
41
+ run(context) {
42
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
43
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
44
+ });
45
+ },
46
+ sampleData: {
47
+ id: '19:example_chat_id@unq.gbl.spaces',
48
+ createdDateTime: '2025-05-21T12:40:13.175Z',
49
+ lastUpdatedDateTime: '2025-05-21T12:40:13.175Z',
50
+ chatType: 'oneOnOne',
51
+ webUrl: '',
52
+ isHiddenForAllMembers: false,
53
+ },
54
+ });
55
+ const polling = {
56
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
57
+ items(_a) {
58
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, lastFetchEpochMS }) {
59
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
60
+ authProvider: {
61
+ getAccessToken: () => Promise.resolve(auth.access_token),
62
+ },
63
+ });
64
+ const lastFetchDate = (0, dayjs_1.default)(lastFetchEpochMS).toISOString();
65
+ const chats = [];
66
+ const filter = lastFetchEpochMS === 0
67
+ ? '$top=10'
68
+ : `$filter=createdDateTime gt ${lastFetchDate}`;
69
+ let response = yield client.api(`/chats?${filter}`).get();
70
+ console.log('RESPONE');
71
+ console.log(JSON.stringify(response));
72
+ while (response.value && response.value.length > 0) {
73
+ for (const channel of response.value) {
74
+ if ((0, shared_1.isNil)(channel.createdDateTime)) {
75
+ continue;
76
+ }
77
+ chats.push(channel);
78
+ }
79
+ if (lastFetchEpochMS !== 0 && response['@odata.nextLink']) {
80
+ response = yield client.api(response['@odata.nextLink']).get();
81
+ }
82
+ else {
83
+ break;
84
+ }
85
+ }
86
+ return chats.map((chat) => {
87
+ return {
88
+ epochMilliSeconds: (0, dayjs_1.default)(chat.createdDateTime).valueOf(),
89
+ data: chat,
90
+ };
91
+ });
92
+ });
93
+ },
94
+ };
95
+ //# sourceMappingURL=new-chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-chat.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-teams/src/lib/triggers/new-chat.ts"],"names":[],"mappings":"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"}