@auxee/piece-google-chat-custom 0.0.1

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 (43) hide show
  1. package/package.json +31 -0
  2. package/src/index.d.ts +1 -0
  3. package/src/index.js +47 -0
  4. package/src/index.js.map +1 -0
  5. package/src/lib/actions/add-a-space-member.d.ts +4 -0
  6. package/src/lib/actions/add-a-space-member.js +33 -0
  7. package/src/lib/actions/add-a-space-member.js.map +1 -0
  8. package/src/lib/actions/find-member.d.ts +4 -0
  9. package/src/lib/actions/find-member.js +52 -0
  10. package/src/lib/actions/find-member.js.map +1 -0
  11. package/src/lib/actions/get-direct-message-details.d.ts +3 -0
  12. package/src/lib/actions/get-direct-message-details.js +30 -0
  13. package/src/lib/actions/get-direct-message-details.js.map +1 -0
  14. package/src/lib/actions/get-message.d.ts +3 -0
  15. package/src/lib/actions/get-message.js +30 -0
  16. package/src/lib/actions/get-message.js.map +1 -0
  17. package/src/lib/actions/search-messages.d.ts +5 -0
  18. package/src/lib/actions/search-messages.js +40 -0
  19. package/src/lib/actions/search-messages.js.map +1 -0
  20. package/src/lib/actions/send-a-message.d.ts +8 -0
  21. package/src/lib/actions/send-a-message.js +103 -0
  22. package/src/lib/actions/send-a-message.js.map +1 -0
  23. package/src/lib/common/constants.d.ts +16 -0
  24. package/src/lib/common/constants.js +35 -0
  25. package/src/lib/common/constants.js.map +1 -0
  26. package/src/lib/common/index.d.ts +42 -0
  27. package/src/lib/common/index.js +20 -0
  28. package/src/lib/common/index.js.map +1 -0
  29. package/src/lib/common/props.d.ts +19 -0
  30. package/src/lib/common/props.js +278 -0
  31. package/src/lib/common/props.js.map +1 -0
  32. package/src/lib/common/requests.d.ts +98 -0
  33. package/src/lib/common/requests.js +358 -0
  34. package/src/lib/common/requests.js.map +1 -0
  35. package/src/lib/common/schemas.d.ts +54 -0
  36. package/src/lib/common/schemas.js +91 -0
  37. package/src/lib/common/schemas.js.map +1 -0
  38. package/src/lib/triggers/new-mention.d.ts +14 -0
  39. package/src/lib/triggers/new-mention.js +96 -0
  40. package/src/lib/triggers/new-mention.js.map +1 -0
  41. package/src/lib/triggers/new-message.d.ts +11 -0
  42. package/src/lib/triggers/new-message.js +80 -0
  43. package/src/lib/triggers/new-message.js.map +1 -0
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.googleChatAPIService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const constants_1 = require("./constants");
7
+ function fireHttpRequest(_a) {
8
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ method, path, entity, body, accessToken, }) {
9
+ const BASE_URL = `https://${constants_1.GOOGLE_SERVICE_ENTITIES[entity]}.googleapis.com`;
10
+ return yield pieces_common_1.httpClient
11
+ .sendRequest({
12
+ method,
13
+ url: `${BASE_URL}${path}`,
14
+ headers: {
15
+ Accept: 'application/json',
16
+ 'Content-Type': 'application/json',
17
+ Authorization: `Bearer ${accessToken}`,
18
+ },
19
+ body,
20
+ })
21
+ .then((res) => res.body)
22
+ .catch((err) => {
23
+ throw new Error(err);
24
+ });
25
+ });
26
+ }
27
+ exports.googleChatAPIService = {
28
+ fetchProjects(accessToken) {
29
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
+ const response = yield fireHttpRequest({
31
+ method: pieces_common_1.HttpMethod.GET,
32
+ path: '/v1/projects',
33
+ entity: 'cloudresourcemanager',
34
+ accessToken,
35
+ });
36
+ return response.projects;
37
+ });
38
+ },
39
+ sendMessage(_a) {
40
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, spaceId, text, thread, messageReplyOption, customMessageId, isPrivate, privateMessageViewer, }) {
41
+ const body = { text };
42
+ if (thread) {
43
+ body.thread = { name: thread };
44
+ }
45
+ if (messageReplyOption) {
46
+ body.messageReplyOption = messageReplyOption;
47
+ }
48
+ if (customMessageId) {
49
+ const cleanId = customMessageId.toLowerCase().replace(/[^a-z0-9-]/g, '');
50
+ body.messageId = `client-${cleanId}`;
51
+ }
52
+ if (isPrivate && privateMessageViewer) {
53
+ body.privateMessageViewer = { name: privateMessageViewer };
54
+ }
55
+ return yield fireHttpRequest({
56
+ method: pieces_common_1.HttpMethod.POST,
57
+ entity: 'chat',
58
+ accessToken,
59
+ path: `/v1/${spaceId}/messages`,
60
+ body,
61
+ });
62
+ });
63
+ },
64
+ AddASpaceMember(_a) {
65
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, spaceId, userId, }) {
66
+ return yield fireHttpRequest({
67
+ method: pieces_common_1.HttpMethod.POST,
68
+ accessToken: accessToken,
69
+ entity: 'chat',
70
+ path: `/v1/${spaceId}/members`,
71
+ body: {
72
+ member: {
73
+ name: userId,
74
+ type: 'HUMAN',
75
+ },
76
+ },
77
+ });
78
+ });
79
+ },
80
+ getMessage(accessToken, messageName) {
81
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
82
+ return yield fireHttpRequest({
83
+ method: pieces_common_1.HttpMethod.GET,
84
+ entity: 'chat',
85
+ accessToken,
86
+ path: `/v1/${messageName}`,
87
+ });
88
+ });
89
+ },
90
+ getSpace(_a) {
91
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, spaceId, }) {
92
+ return yield fireHttpRequest({
93
+ method: pieces_common_1.HttpMethod.GET,
94
+ entity: 'chat',
95
+ path: `/v1/${spaceId}`,
96
+ accessToken,
97
+ });
98
+ });
99
+ },
100
+ listMessages(accessToken_1, spaceId_1) {
101
+ return tslib_1.__awaiter(this, arguments, void 0, function* (accessToken, spaceId, pageSize = 50) {
102
+ return yield fireHttpRequest({
103
+ method: pieces_common_1.HttpMethod.GET,
104
+ entity: 'chat',
105
+ accessToken,
106
+ path: `/v1/${spaceId}/messages?pageSize=${pageSize}`,
107
+ });
108
+ });
109
+ },
110
+ fetchAllSpaces(accessToken) {
111
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
112
+ const response = yield fireHttpRequest({
113
+ method: pieces_common_1.HttpMethod.GET,
114
+ path: `/v1/spaces`,
115
+ entity: 'chat',
116
+ accessToken,
117
+ });
118
+ return response.spaces;
119
+ });
120
+ },
121
+ fetchSpaces(accessToken) {
122
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
123
+ const filter = encodeURIComponent('spaceType = "SPACE"');
124
+ const response = yield fireHttpRequest({
125
+ method: pieces_common_1.HttpMethod.GET,
126
+ path: `/v1/spaces?filter=${filter}`,
127
+ entity: 'chat',
128
+ accessToken,
129
+ });
130
+ return response.spaces;
131
+ });
132
+ },
133
+ fetchDirectMessages(accessToken) {
134
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
135
+ const filter = encodeURIComponent('spaceType = "DIRECT_MESSAGE"');
136
+ const response = yield fireHttpRequest({
137
+ method: pieces_common_1.HttpMethod.GET,
138
+ path: `/v1/spaces?filter=${filter}`,
139
+ entity: 'chat',
140
+ accessToken,
141
+ });
142
+ return response.spaces;
143
+ });
144
+ },
145
+ fetchThreads(accessToken, spaceId) {
146
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
147
+ var _a;
148
+ const response = yield fireHttpRequest({
149
+ method: pieces_common_1.HttpMethod.GET,
150
+ path: `/v1/${spaceId}/messages?pageSize=50`,
151
+ entity: 'chat',
152
+ accessToken,
153
+ });
154
+ const threads = new Map();
155
+ (_a = response.messages) === null || _a === void 0 ? void 0 : _a.forEach((message) => {
156
+ var _a, _b;
157
+ if (message.thread && message.thread.name && !message.threadReply) {
158
+ threads.set(message.thread.name, {
159
+ name: message.thread.name,
160
+ displayName: ((_a = message.text) === null || _a === void 0 ? void 0 : _a.substring(0, 50)) + (((_b = message.text) === null || _b === void 0 ? void 0 : _b.length) > 50 ? '...' : ''),
161
+ lastActivity: message.createTime,
162
+ });
163
+ }
164
+ });
165
+ return Array.from(threads.values());
166
+ });
167
+ },
168
+ fetchSpaceMembers(accessToken, spaceId) {
169
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
170
+ const response = yield fireHttpRequest({
171
+ method: pieces_common_1.HttpMethod.GET,
172
+ path: `/v1/${spaceId}/members`,
173
+ entity: 'chat',
174
+ accessToken,
175
+ });
176
+ return response.memberships;
177
+ });
178
+ },
179
+ fetchPeople(accessToken) {
180
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
181
+ const response = yield fireHttpRequest({
182
+ method: pieces_common_1.HttpMethod.GET,
183
+ path: `/v1/people:listDirectoryPeople?sources=DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE&sources=DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT&readMask=names,emailAddresses`,
184
+ entity: 'people',
185
+ accessToken,
186
+ });
187
+ return response.people;
188
+ });
189
+ },
190
+ deleteWorkspaceEventsSubscription(_a) {
191
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, subscriptionName, }) {
192
+ return yield fireHttpRequest({
193
+ method: pieces_common_1.HttpMethod.DELETE,
194
+ entity: 'workspaceevents',
195
+ accessToken,
196
+ path: `/v1/${subscriptionName}`,
197
+ });
198
+ });
199
+ },
200
+ grantTopicPermissions(_a) {
201
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, topicName, }) {
202
+ const policy = {
203
+ bindings: [
204
+ {
205
+ role: 'roles/pubsub.publisher',
206
+ members: [`serviceAccount:chat-api-push@system.gserviceaccount.com`],
207
+ },
208
+ ],
209
+ };
210
+ return yield fireHttpRequest({
211
+ method: pieces_common_1.HttpMethod.POST,
212
+ entity: 'pubsub',
213
+ accessToken,
214
+ path: `/v1/projects/${projectId}/topics/${topicName}:setIamPolicy`,
215
+ body: { policy },
216
+ });
217
+ });
218
+ },
219
+ createPubSubTopic(_a) {
220
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, topicName, }) {
221
+ return yield fireHttpRequest({
222
+ method: pieces_common_1.HttpMethod.PUT,
223
+ entity: 'pubsub',
224
+ accessToken,
225
+ path: `/v1/projects/${projectId}/topics/${topicName}`,
226
+ });
227
+ });
228
+ },
229
+ deletePubSubTopic(_a) {
230
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, topicName, }) {
231
+ return yield fireHttpRequest({
232
+ method: pieces_common_1.HttpMethod.DELETE,
233
+ entity: 'pubsub',
234
+ accessToken,
235
+ path: `/v1/projects/${projectId}/topics/${topicName}`,
236
+ });
237
+ });
238
+ },
239
+ createWorkspaceEventsSubscription(_a) {
240
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, subscriptionName, targetResource, eventTypes, topicName, includeResource = false, }) {
241
+ const subscription = {
242
+ targetResource,
243
+ eventTypes,
244
+ notificationEndpoint: {
245
+ pubsubTopic: `projects/${projectId}/topics/${topicName}`,
246
+ },
247
+ payloadOptions: {
248
+ includeResource,
249
+ },
250
+ };
251
+ return yield fireHttpRequest({
252
+ method: pieces_common_1.HttpMethod.POST,
253
+ entity: 'workspaceevents',
254
+ accessToken,
255
+ path: `/v1/subscriptions`,
256
+ body: subscription,
257
+ });
258
+ });
259
+ },
260
+ createPubSubSubscription(_a) {
261
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, subscriptionName, topicName, pushEndpoint, }) {
262
+ const subscription = {
263
+ topic: `projects/${projectId}/topics/${topicName}`,
264
+ pushConfig: {
265
+ pushEndpoint,
266
+ },
267
+ ackDeadlineSeconds: 600,
268
+ };
269
+ return yield fireHttpRequest({
270
+ method: pieces_common_1.HttpMethod.PUT,
271
+ entity: 'pubsub',
272
+ accessToken,
273
+ path: `/v1/projects/${projectId}/subscriptions/${subscriptionName}`,
274
+ body: subscription,
275
+ });
276
+ });
277
+ },
278
+ createWebhookSubscription(_a) {
279
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, topic, subscriptionName, webhookUrl, eventTypes, targetResource, }) {
280
+ const workspaceSubscription = yield this.createWorkspaceEventsSubscription({
281
+ accessToken,
282
+ projectId,
283
+ subscriptionName,
284
+ targetResource,
285
+ eventTypes,
286
+ topicName: topic,
287
+ includeResource: true,
288
+ });
289
+ const pubsubSubscription = yield this.createPubSubSubscription({
290
+ accessToken,
291
+ projectId,
292
+ subscriptionName,
293
+ topicName: topic,
294
+ pushEndpoint: webhookUrl,
295
+ });
296
+ return {
297
+ workspaceSubscription,
298
+ pubsubSubscription,
299
+ };
300
+ });
301
+ },
302
+ deletePubSubSubscription(_a) {
303
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, subscriptionName, }) {
304
+ return yield fireHttpRequest({
305
+ method: pieces_common_1.HttpMethod.DELETE,
306
+ entity: 'pubsub',
307
+ accessToken,
308
+ path: `/v1/projects/${projectId}/subscriptions/${subscriptionName}`,
309
+ });
310
+ });
311
+ },
312
+ deleteWebhookSubscription(_a) {
313
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, subscriptionName, topicName, event_type, }) {
314
+ return yield this.cleanupWebhookResources({
315
+ accessToken,
316
+ projectId,
317
+ event_type,
318
+ });
319
+ });
320
+ },
321
+ fetchWorkSpaceSubscriptions(_a) {
322
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, event_type, }) {
323
+ const response = yield fireHttpRequest({
324
+ method: pieces_common_1.HttpMethod.GET,
325
+ entity: 'workspaceevents',
326
+ accessToken,
327
+ path: `/v1/subscriptions?filter=event_types:"${event_type}"`,
328
+ });
329
+ return response.subscriptions;
330
+ });
331
+ },
332
+ cleanupWebhookResources(_a) {
333
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ accessToken, projectId, event_type, }) {
334
+ try {
335
+ const workspaceSubscriptions = yield this.fetchWorkSpaceSubscriptions({
336
+ accessToken,
337
+ event_type,
338
+ });
339
+ for (const sub of workspaceSubscriptions || []) {
340
+ try {
341
+ yield this.deleteWorkspaceEventsSubscription({
342
+ accessToken,
343
+ subscriptionName: sub.name,
344
+ });
345
+ }
346
+ catch (err) {
347
+ console.log(err);
348
+ }
349
+ }
350
+ }
351
+ catch (err) {
352
+ console.error('Error cleaning up workspace subscriptions:', err);
353
+ throw err;
354
+ }
355
+ });
356
+ },
357
+ };
358
+ //# sourceMappingURL=requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/google-chat-custom/src/lib/common/requests.ts"],"names":[],"mappings":";;;;AAAA,+DAAqE;AACrE,2CAAsD;AAEtD,SAAe,eAAe;iEAAC,EAC7B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,WAAW,GAOZ;QACC,MAAM,QAAQ,GAAG,WAAW,mCAAuB,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAE7E,OAAO,MAAM,0BAAU;aACpB,WAAW,CAAC;YACX,MAAM;YACN,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,EAAE;YACzB,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;YACD,IAAI;SACL,CAAC;aACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;aACvB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAEY,QAAA,oBAAoB,GAAG;IAC5B,aAAa,CAAC,WAAmB;;YACrC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,sBAAsB;gBAC9B,WAAW;aACZ,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;KAAA;IACK,WAAW;qEAAC,EAChB,WAAW,EACX,OAAO,EACP,IAAI,EACJ,MAAM,EACN,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,oBAAoB,GAUrB;YACC,MAAM,IAAI,GAAQ,EAAE,IAAI,EAAE,CAAC;YAE3B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACjC,CAAC;YAED,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAC/C,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,SAAS,GAAG,UAAU,OAAO,EAAE,CAAC;YACvC,CAAC;YAED,IAAI,SAAS,IAAI,oBAAoB,EAAE,CAAC;gBACtC,IAAI,CAAC,oBAAoB,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;YAC7D,CAAC;YAED,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,MAAM,EAAE,MAAM;gBACd,WAAW;gBACX,IAAI,EAAE,OAAO,OAAO,WAAW;gBAC/B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;KAAA;IACK,eAAe;qEAAC,EACpB,WAAW,EACX,OAAO,EACP,MAAM,GAKP;YACC,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO,OAAO,UAAU;gBAC9B,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;qBACd;iBACF;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IACK,UAAU,CAAC,WAAmB,EAAE,WAAmB;;YACvD,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,MAAM,EAAE,MAAM;gBACd,WAAW;gBACX,IAAI,EAAE,OAAO,WAAW,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC;KAAA;IACK,QAAQ;qEAAC,EACb,WAAW,EACX,OAAO,GAIR;YACC,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO,OAAO,EAAE;gBACtB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;KAAA;IACK,YAAY;qEAChB,WAAmB,EACnB,OAAe,EACf,QAAQ,GAAG,EAAE;YAEb,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,MAAM,EAAE,MAAM;gBACd,WAAW;gBACX,IAAI,EAAE,OAAO,OAAO,sBAAsB,QAAQ,EAAE;aACrD,CAAC,CAAC;QACL,CAAC;KAAA;IACK,cAAc,CAAC,WAAmB;;YACtC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,MAAM;gBACd,WAAW;aACZ,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;KAAA;IACK,WAAW,CAAC,WAAmB;;YACnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,qBAAqB,MAAM,EAAE;gBACnC,MAAM,EAAE,MAAM;gBACd,WAAW;aACZ,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;KAAA;IACK,mBAAmB,CAAC,WAAmB;;YAC3C,MAAM,MAAM,GAAG,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,qBAAqB,MAAM,EAAE;gBACnC,MAAM,EAAE,MAAM;gBACd,WAAW;aACZ,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;KAAA;IACK,YAAY,CAAC,WAAmB,EAAE,OAAe;;;YACrD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,OAAO,OAAO,uBAAuB;gBAC3C,MAAM,EAAE,MAAM;gBACd,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YAC1B,MAAA,QAAQ,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;;gBAC1C,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;wBAC/B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;wBACzB,WAAW,EAAE,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAG,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,MAAM,IAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtF,YAAY,EAAE,OAAO,CAAC,UAAU;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC;KAAA;IACK,iBAAiB,CAAC,WAAmB,EAAE,OAAe;;YAC1D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,OAAO,OAAO,UAAU;gBAC9B,MAAM,EAAE,MAAM;gBACd,WAAW;aACZ,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;KAAA;IACK,WAAW,CAAC,WAAmB;;YACnC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,wJAAwJ;gBAC9J,MAAM,EAAE,QAAQ;gBAChB,WAAW;aACZ,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;KAAA;IACK,iCAAiC;qEAAC,EACtC,WAAW,EACX,gBAAgB,GAIjB;YACC,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,MAAM;gBACzB,MAAM,EAAE,iBAAiB;gBACzB,WAAW;gBACX,IAAI,EAAE,OAAO,gBAAgB,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;KAAA;IACK,qBAAqB;qEAAC,EAC1B,WAAW,EACX,SAAS,EACT,SAAS,GAKV;YACC,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,CAAC,yDAAyD,CAAC;qBACrE;iBACF;aACF,CAAC;YAEF,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,MAAM,EAAE,QAAQ;gBAChB,WAAW;gBACX,IAAI,EAAE,gBAAgB,SAAS,WAAW,SAAS,eAAe;gBAClE,IAAI,EAAE,EAAE,MAAM,EAAE;aACjB,CAAC,CAAC;QACL,CAAC;KAAA;IACK,iBAAiB;qEAAC,EACtB,WAAW,EACX,SAAS,EACT,SAAS,GAKV;YACC,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,MAAM,EAAE,QAAQ;gBAChB,WAAW;gBACX,IAAI,EAAE,gBAAgB,SAAS,WAAW,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;KAAA;IACK,iBAAiB;qEAAC,EACtB,WAAW,EACX,SAAS,EACT,SAAS,GAKV;YACC,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,MAAM;gBACzB,MAAM,EAAE,QAAQ;gBAChB,WAAW;gBACX,IAAI,EAAE,gBAAgB,SAAS,WAAW,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;KAAA;IACK,iCAAiC;qEAAC,EACtC,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,GAAG,KAAK,GASxB;YACC,MAAM,YAAY,GAAG;gBACnB,cAAc;gBACd,UAAU;gBACV,oBAAoB,EAAE;oBACpB,WAAW,EAAE,YAAY,SAAS,WAAW,SAAS,EAAE;iBACzD;gBACD,cAAc,EAAE;oBACd,eAAe;iBAChB;aACF,CAAC;YAEF,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,MAAM,EAAE,iBAAiB;gBACzB,WAAW;gBACX,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC;QACL,CAAC;KAAA;IACK,wBAAwB;qEAAC,EAC7B,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,YAAY,GAOb;YACC,MAAM,YAAY,GAAG;gBACnB,KAAK,EAAE,YAAY,SAAS,WAAW,SAAS,EAAE;gBAClD,UAAU,EAAE;oBACV,YAAY;iBACb;gBACD,kBAAkB,EAAE,GAAG;aACxB,CAAC;YAEF,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,MAAM,EAAE,QAAQ;gBAChB,WAAW;gBACX,IAAI,EAAE,gBAAgB,SAAS,kBAAkB,gBAAgB,EAAE;gBACnE,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC;QACL,CAAC;KAAA;IACK,yBAAyB;qEAAC,EAC9B,WAAW,EACX,SAAS,EACT,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,cAAc,GASf;YACC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC;gBACzE,WAAW;gBACX,SAAS;gBACT,gBAAgB;gBAChB,cAAc;gBACd,UAAU;gBACV,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC;gBAC7D,WAAW;gBACX,SAAS;gBACT,gBAAgB;gBAChB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,UAAU;aACzB,CAAC,CAAC;YAEH,OAAO;gBACL,qBAAqB;gBACrB,kBAAkB;aACnB,CAAC;QACJ,CAAC;KAAA;IACK,wBAAwB;qEAAC,EAC7B,WAAW,EACX,SAAS,EACT,gBAAgB,GAKjB;YACC,OAAO,MAAM,eAAe,CAAC;gBAC3B,MAAM,EAAE,0BAAU,CAAC,MAAM;gBACzB,MAAM,EAAE,QAAQ;gBAChB,WAAW;gBACX,IAAI,EAAE,gBAAgB,SAAS,kBAAkB,gBAAgB,EAAE;aACpE,CAAC,CAAC;QACL,CAAC;KAAA;IACK,yBAAyB;qEAAC,EAC9B,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,UAAU,GAOX;YACC,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC;gBACxC,WAAW;gBACX,SAAS;gBACT,UAAU;aACX,CAAC,CAAC;QACL,CAAC;KAAA;IACK,2BAA2B;qEAAC,EAChC,WAAW,EACX,UAAU,GAIX;YACC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,MAAM,EAAE,iBAAiB;gBACzB,WAAW;gBACX,IAAI,EAAE,yCAAyC,UAAU,GAAG;aAC7D,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;KAAA;IACK,uBAAuB;qEAAC,EAC5B,WAAW,EACX,SAAS,EACT,UAAU,GAKX;YACC,IAAI,CAAC;gBACH,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC;oBACpE,WAAW;oBACX,UAAU;iBACX,CAAC,CAAC;gBAEH,KAAK,MAAM,GAAG,IAAI,sBAAsB,IAAI,EAAE,EAAE,CAAC;oBAC/C,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,iCAAiC,CAAC;4BAC3C,WAAW;4BACX,gBAAgB,EAAE,GAAG,CAAC,IAAI;yBAC3B,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;gBACjE,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KAAA;CACF,CAAC"}
@@ -0,0 +1,54 @@
1
+ import z from 'zod';
2
+ export declare const sendMessageSchema: {
3
+ spaceId: z.ZodString;
4
+ text: z.ZodString;
5
+ thread: z.ZodOptional<z.ZodString>;
6
+ customMessageId: z.ZodOptional<z.ZodString>;
7
+ isPrivate: z.ZodOptional<z.ZodBoolean>;
8
+ privateMessageViewer: z.ZodPipe<z.ZodNullable<z.ZodOptional<z.ZodString>>, z.ZodTransform<string, string>>;
9
+ };
10
+ export declare const spaceIdSchema: z.ZodString;
11
+ export declare const threadIdSchema: z.ZodString;
12
+ export declare const userResourceNameSchema: z.ZodString;
13
+ export declare const customMessageIdSchema: z.ZodString;
14
+ export declare const messageTextSchema: z.ZodString;
15
+ export declare const validateSpaceFromDropdown: z.ZodObject<{
16
+ value: z.ZodString;
17
+ label: z.ZodString;
18
+ }, z.core.$strip>;
19
+ export declare const validateThreadFromDropdown: z.ZodObject<{
20
+ value: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
21
+ label: z.ZodString;
22
+ }, z.core.$strip>;
23
+ export declare const validateUserFromDropdown: z.ZodObject<{
24
+ value: z.ZodString;
25
+ label: z.ZodString;
26
+ }, z.core.$strip>;
27
+ export declare const getMessageSchema: {
28
+ name: z.ZodString;
29
+ };
30
+ export declare const addSpaceMemberSchema: {
31
+ spaceId: z.ZodString;
32
+ personId: z.ZodString;
33
+ };
34
+ export declare const findMemberSchema: {
35
+ spaceId: z.ZodString;
36
+ email: z.ZodString;
37
+ };
38
+ export declare const searchMessagesSchema: {
39
+ spaceId: z.ZodString;
40
+ keyword: z.ZodString;
41
+ limit: z.ZodOptional<z.ZodNumber>;
42
+ };
43
+ export declare const getDirectMessageDetailsSchema: {
44
+ directMessageId: z.ZodString;
45
+ };
46
+ export declare const newMessageTriggerSchema: {
47
+ projectId: z.ZodString;
48
+ spaceId: z.ZodOptional<z.ZodString>;
49
+ };
50
+ export declare const newMentionTriggerSchema: {
51
+ projectId: z.ZodString;
52
+ spaceId: z.ZodOptional<z.ZodString>;
53
+ spaceMemberId: z.ZodOptional<z.ZodString>;
54
+ };
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newMentionTriggerSchema = exports.newMessageTriggerSchema = exports.getDirectMessageDetailsSchema = exports.searchMessagesSchema = exports.findMemberSchema = exports.addSpaceMemberSchema = exports.getMessageSchema = exports.validateUserFromDropdown = exports.validateThreadFromDropdown = exports.validateSpaceFromDropdown = exports.messageTextSchema = exports.customMessageIdSchema = exports.userResourceNameSchema = exports.threadIdSchema = exports.spaceIdSchema = exports.sendMessageSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const zod_1 = tslib_1.__importDefault(require("zod"));
6
+ exports.sendMessageSchema = {
7
+ spaceId: zod_1.default.string().min(1, 'Space ID is required'),
8
+ text: zod_1.default.string().min(1, 'Message text is required'),
9
+ thread: zod_1.default.string().optional(),
10
+ // messageReplyOption removed from custom piece
11
+ customMessageId: zod_1.default.string().regex(/^[a-z0-9-]+$/, 'Custom message ID must contain only lowercase letters, numbers, and hyphens').max(63, 'Custom message ID must be 63 characters or less').optional(),
12
+ isPrivate: zod_1.default.boolean().optional(),
13
+ privateMessageViewer: zod_1.default.string().optional().nullable().transform(val => val || undefined),
14
+ };
15
+ exports.spaceIdSchema = zod_1.default.string().regex(/^spaces\/[a-zA-Z0-9_-]+$/, 'Space ID must be in format: spaces/{space}');
16
+ exports.threadIdSchema = zod_1.default.string().regex(/^spaces\/[a-zA-Z0-9_-]+\/threads\/[a-zA-Z0-9_-]+$/, 'Thread ID must be in format: spaces/{space}/threads/{thread}');
17
+ exports.userResourceNameSchema = zod_1.default.string().regex(/^people\/[a-zA-Z0-9_-]+$/, 'User resource name must be in format: people/{person}');
18
+ exports.customMessageIdSchema = zod_1.default.string()
19
+ .regex(/^client-[a-z0-9-]+$/, 'Custom message ID must start with "client-" and contain only lowercase letters, numbers, and hyphens')
20
+ .max(63, 'Custom message ID must be 63 characters or less');
21
+ exports.messageTextSchema = zod_1.default.string()
22
+ .min(1, 'Message text cannot be empty')
23
+ .max(32000, 'Message text cannot exceed 32,000 characters');
24
+ exports.validateSpaceFromDropdown = zod_1.default.object({
25
+ value: exports.spaceIdSchema,
26
+ label: zod_1.default.string(),
27
+ });
28
+ exports.validateThreadFromDropdown = zod_1.default.object({
29
+ value: zod_1.default.union([zod_1.default.literal(''), exports.threadIdSchema]),
30
+ label: zod_1.default.string(),
31
+ });
32
+ exports.validateUserFromDropdown = zod_1.default.object({
33
+ value: exports.userResourceNameSchema,
34
+ label: zod_1.default.string(),
35
+ });
36
+ exports.getMessageSchema = {
37
+ name: zod_1.default.string()
38
+ .min(1, 'Message resource name is required')
39
+ .regex(/^spaces\/[a-zA-Z0-9_-]+\/messages\/[a-zA-Z0-9_-]+$/, 'Message resource name must be in format: spaces/{space}/messages/{message}'),
40
+ };
41
+ exports.addSpaceMemberSchema = {
42
+ spaceId: zod_1.default.string()
43
+ .min(1, 'Space ID is required')
44
+ .regex(/^spaces\/[a-zA-Z0-9_-]+$/, 'Space ID must be in format: spaces/{space}'),
45
+ personId: zod_1.default.string()
46
+ .min(1, 'Person ID is required')
47
+ .regex(/^people\/[a-zA-Z0-9_-]+$/, 'Person ID must be in format: people/{person}'),
48
+ };
49
+ exports.findMemberSchema = {
50
+ spaceId: zod_1.default.string()
51
+ .min(1, 'Space ID is required')
52
+ .regex(/^spaces\/[a-zA-Z0-9_-]+$/, 'Space ID must be in format: spaces/{space}'),
53
+ email: zod_1.default.string()
54
+ .min(1, 'Email is required')
55
+ .email('Please enter a valid email address'),
56
+ };
57
+ exports.searchMessagesSchema = {
58
+ spaceId: zod_1.default.string()
59
+ .min(1, 'Space ID is required')
60
+ .regex(/^spaces\/[a-zA-Z0-9_-]+$/, 'Space ID must be in format: spaces/{space}'),
61
+ keyword: zod_1.default.string()
62
+ .min(1, 'Search keyword is required')
63
+ .min(2, 'Search keyword must be at least 2 characters long'),
64
+ limit: zod_1.default.number()
65
+ .min(1, 'Limit must be at least 1')
66
+ .max(1000, 'Limit cannot exceed 1000')
67
+ .optional(),
68
+ };
69
+ exports.getDirectMessageDetailsSchema = {
70
+ directMessageId: zod_1.default.string()
71
+ .min(1, 'Direct message ID is required')
72
+ .regex(/^spaces\/[a-zA-Z0-9_-]+$/, 'Direct message ID must be in format: spaces/{space}'),
73
+ };
74
+ exports.newMessageTriggerSchema = {
75
+ projectId: zod_1.default.string()
76
+ .min(1, 'Project ID is required'),
77
+ spaceId: zod_1.default.string()
78
+ .regex(/^spaces\/[a-zA-Z0-9_-]+$/, 'Space ID must be in format: spaces/{space}')
79
+ .optional(),
80
+ };
81
+ exports.newMentionTriggerSchema = {
82
+ projectId: zod_1.default.string()
83
+ .min(1, 'Project ID is required'),
84
+ spaceId: zod_1.default.string()
85
+ .regex(/^spaces\/[a-zA-Z0-9_-]+$/, 'Space ID must be in format: spaces/{space}')
86
+ .optional(),
87
+ spaceMemberId: zod_1.default.string()
88
+ .regex(/^users\/[a-zA-Z0-9_-]+$/, 'Space member ID must be in format: users/{user}')
89
+ .optional(),
90
+ };
91
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/google-chat-custom/src/lib/common/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const newMention: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
3
+ projectId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
4
+ spaceId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true> | import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
5
+ spaceMemberId: import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
6
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
7
+ projectId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
8
+ spaceId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true> | import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
9
+ spaceMemberId: import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
10
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
11
+ projectId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
12
+ spaceId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true> | import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
13
+ spaceMemberId: import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
14
+ }>;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newMention = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const common_1 = require("../common");
8
+ const props_1 = require("../common/props");
9
+ const requests_1 = require("../common/requests");
10
+ exports.newMention = (0, pieces_framework_1.createTrigger)({
11
+ auth: common_1.googleChatApiAuth,
12
+ name: 'newMention',
13
+ displayName: 'New Mention',
14
+ description: 'Triggers when a new mention is received in Google Chat.',
15
+ props: {
16
+ projectId: (0, props_1.projectsDropdown)(['auth']),
17
+ spaceId: (0, props_1.spacesDropdown)({ refreshers: ['auth'] }),
18
+ spaceMemberId: (0, props_1.spacesMembersDropdown)(['auth', 'spaceId']),
19
+ },
20
+ sampleData: {},
21
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
22
+ onEnable(_a) {
23
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue, webhookUrl, store }) {
24
+ yield pieces_common_1.propsValidation.validateZod(propsValue, common_1.googleChatCommon.newMentionTriggerSchema);
25
+ const { projectId, spaceId } = propsValue;
26
+ const accessToken = auth.access_token;
27
+ const topicName = `acp-topic-${Date.now()}`;
28
+ const subscriptionName = `acp-sub-${Date.now()}`;
29
+ yield requests_1.googleChatAPIService
30
+ .cleanupWebhookResources({
31
+ accessToken,
32
+ event_type: 'google.workspace.chat.message.v1.created',
33
+ projectId: projectId,
34
+ })
35
+ .catch((err) => {
36
+ console.log('Error cleaning up webhook resources', err);
37
+ });
38
+ yield requests_1.googleChatAPIService.createPubSubTopic({
39
+ accessToken,
40
+ projectId: projectId,
41
+ topicName,
42
+ });
43
+ yield requests_1.googleChatAPIService.grantTopicPermissions({
44
+ accessToken,
45
+ projectId: projectId,
46
+ topicName,
47
+ });
48
+ const targetResource = `//chat.googleapis.com/${spaceId ? spaceId : 'spaces/-'}`;
49
+ yield requests_1.googleChatAPIService.createWebhookSubscription({
50
+ accessToken,
51
+ projectId: projectId,
52
+ topic: topicName,
53
+ subscriptionName,
54
+ webhookUrl,
55
+ eventTypes: ['google.workspace.chat.message.v1.created'],
56
+ targetResource,
57
+ });
58
+ });
59
+ },
60
+ onDisable(_a) {
61
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue: { projectId }, store }) {
62
+ const accessToken = auth.access_token;
63
+ yield requests_1.googleChatAPIService
64
+ .cleanupWebhookResources({
65
+ accessToken,
66
+ event_type: 'google.workspace.chat.message.v1.created',
67
+ projectId: projectId,
68
+ })
69
+ .catch((err) => {
70
+ console.log('Error cleaning up webhook resources during disable', err);
71
+ });
72
+ });
73
+ },
74
+ run(context) {
75
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
76
+ var _a;
77
+ const messageData = JSON.parse(Buffer.from(context.payload.body.message.data, 'base64').toString('utf-8'));
78
+ const { spaceMemberId } = context.propsValue;
79
+ if (!((_a = messageData.message) === null || _a === void 0 ? void 0 : _a.annotations)) {
80
+ return [];
81
+ }
82
+ const mentions = messageData.message.annotations.filter((a) => a.type === 'USER_MENTION');
83
+ if (mentions.length === 0) {
84
+ return [];
85
+ }
86
+ if (spaceMemberId) {
87
+ const isMatch = mentions.some((m) => { var _a, _b; return ((_b = (_a = m.userMention) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.name) === spaceMemberId; });
88
+ if (!isMatch) {
89
+ return [];
90
+ }
91
+ }
92
+ return [messageData];
93
+ });
94
+ },
95
+ });
96
+ //# sourceMappingURL=new-mention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-mention.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/google-chat-custom/src/lib/triggers/new-mention.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const newMessage: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
3
+ projectId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
4
+ spaceId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true> | import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
5
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
6
+ projectId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
7
+ spaceId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true> | import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
8
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
9
+ projectId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true>;
10
+ spaceId: import("@activepieces/pieces-framework").DropdownProperty<unknown, true> | import("@activepieces/pieces-framework").DropdownProperty<unknown, false>;
11
+ }>;