@activepieces/piece-gmail 0.12.4 → 0.12.6

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 (69) hide show
  1. package/package.json +7 -21
  2. package/src/index.js +217 -71
  3. package/src/index.d.ts +0 -6
  4. package/src/index.d.ts.map +0 -1
  5. package/src/index.js.map +0 -1
  6. package/src/lib/actions/create-draft-reply-action.d.ts +0 -17
  7. package/src/lib/actions/create-draft-reply-action.d.ts.map +0 -1
  8. package/src/lib/actions/create-draft-reply-action.js +0 -260
  9. package/src/lib/actions/create-draft-reply-action.js.map +0 -1
  10. package/src/lib/actions/get-mail-action.d.ts +0 -7
  11. package/src/lib/actions/get-mail-action.d.ts.map +0 -1
  12. package/src/lib/actions/get-mail-action.js +0 -35
  13. package/src/lib/actions/get-mail-action.js.map +0 -1
  14. package/src/lib/actions/get-thread-action.d.ts +0 -9
  15. package/src/lib/actions/get-thread-action.d.ts.map +0 -1
  16. package/src/lib/actions/get-thread-action.js +0 -44
  17. package/src/lib/actions/get-thread-action.js.map +0 -1
  18. package/src/lib/actions/reply-to-email-action.d.ts +0 -16
  19. package/src/lib/actions/reply-to-email-action.d.ts.map +0 -1
  20. package/src/lib/actions/reply-to-email-action.js +0 -193
  21. package/src/lib/actions/reply-to-email-action.js.map +0 -1
  22. package/src/lib/actions/request-approval-in-email.d.ts +0 -15
  23. package/src/lib/actions/request-approval-in-email.d.ts.map +0 -1
  24. package/src/lib/actions/request-approval-in-email.js +0 -170
  25. package/src/lib/actions/request-approval-in-email.js.map +0 -1
  26. package/src/lib/actions/search-email-action.d.ts +0 -22
  27. package/src/lib/actions/search-email-action.d.ts.map +0 -1
  28. package/src/lib/actions/search-email-action.js +0 -170
  29. package/src/lib/actions/search-email-action.js.map +0 -1
  30. package/src/lib/actions/send-email-action.d.ts +0 -18
  31. package/src/lib/actions/send-email-action.d.ts.map +0 -1
  32. package/src/lib/actions/send-email-action.js +0 -187
  33. package/src/lib/actions/send-email-action.js.map +0 -1
  34. package/src/lib/auth.d.ts +0 -12
  35. package/src/lib/auth.d.ts.map +0 -1
  36. package/src/lib/auth.js +0 -106
  37. package/src/lib/auth.js.map +0 -1
  38. package/src/lib/common/data.d.ts +0 -132
  39. package/src/lib/common/data.d.ts.map +0 -1
  40. package/src/lib/common/data.js +0 -209
  41. package/src/lib/common/data.js.map +0 -1
  42. package/src/lib/common/models.d.ts +0 -86
  43. package/src/lib/common/models.d.ts.map +0 -1
  44. package/src/lib/common/models.js +0 -26
  45. package/src/lib/common/models.js.map +0 -1
  46. package/src/lib/common/props.d.ts +0 -21
  47. package/src/lib/common/props.d.ts.map +0 -1
  48. package/src/lib/common/props.js +0 -226
  49. package/src/lib/common/props.js.map +0 -1
  50. package/src/lib/triggers/new-attachment.d.ts +0 -208
  51. package/src/lib/triggers/new-attachment.d.ts.map +0 -1
  52. package/src/lib/triggers/new-attachment.js +0 -139
  53. package/src/lib/triggers/new-attachment.js.map +0 -1
  54. package/src/lib/triggers/new-conversation.d.ts +0 -59
  55. package/src/lib/triggers/new-conversation.d.ts.map +0 -1
  56. package/src/lib/triggers/new-conversation.js +0 -306
  57. package/src/lib/triggers/new-conversation.js.map +0 -1
  58. package/src/lib/triggers/new-email.d.ts +0 -52
  59. package/src/lib/triggers/new-email.d.ts.map +0 -1
  60. package/src/lib/triggers/new-email.js +0 -128
  61. package/src/lib/triggers/new-email.js.map +0 -1
  62. package/src/lib/triggers/new-label.d.ts +0 -15
  63. package/src/lib/triggers/new-label.d.ts.map +0 -1
  64. package/src/lib/triggers/new-label.js +0 -75
  65. package/src/lib/triggers/new-label.js.map +0 -1
  66. package/src/lib/triggers/new-labeled-email.d.ts +0 -99
  67. package/src/lib/triggers/new-labeled-email.d.ts.map +0 -1
  68. package/src/lib/triggers/new-labeled-email.js +0 -138
  69. package/src/lib/triggers/new-labeled-email.js.map +0 -1
@@ -1,193 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gmailReplyToEmailAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const mime_types_1 = tslib_1.__importDefault(require("mime-types"));
7
- const mail_composer_1 = tslib_1.__importDefault(require("nodemailer/lib/mail-composer"));
8
- const auth_1 = require("../auth");
9
- const googleapis_1 = require("googleapis");
10
- const props_1 = require("../common/props");
11
- exports.gmailReplyToEmailAction = (0, pieces_framework_1.createAction)({
12
- auth: auth_1.gmailAuth,
13
- name: 'reply_to_email',
14
- displayName: 'Reply to Email',
15
- description: 'Reply to an existing email.',
16
- props: {
17
- message_id: props_1.GmailProps.message,
18
- reply_type: pieces_framework_1.Property.StaticDropdown({
19
- displayName: 'Reply Type',
20
- description: 'Choose whether to reply to sender only or to all recipients',
21
- required: true,
22
- defaultValue: 'reply',
23
- options: {
24
- disabled: false,
25
- options: [
26
- {
27
- label: 'Reply (to sender only)',
28
- value: 'reply',
29
- },
30
- {
31
- label: 'Reply All (to all recipients)',
32
- value: 'reply_all',
33
- },
34
- ],
35
- },
36
- }),
37
- body_type: pieces_framework_1.Property.StaticDropdown({
38
- displayName: 'Body Type',
39
- required: true,
40
- defaultValue: 'plain_text',
41
- options: {
42
- disabled: false,
43
- options: [
44
- {
45
- label: 'Plain text',
46
- value: 'plain_text',
47
- },
48
- {
49
- label: 'HTML',
50
- value: 'html',
51
- },
52
- ],
53
- },
54
- }),
55
- body: pieces_framework_1.Property.LongText({
56
- displayName: 'Reply Body',
57
- description: 'Your reply message content',
58
- required: true,
59
- }),
60
- sender_name: pieces_framework_1.Property.ShortText({
61
- displayName: 'Sender Name',
62
- description: 'Optional sender name to display',
63
- required: false,
64
- }),
65
- attachment: pieces_framework_1.Property.File({
66
- displayName: 'Attachment',
67
- description: 'Optional file to attach to your reply',
68
- required: false,
69
- }),
70
- attachment_name: pieces_framework_1.Property.ShortText({
71
- displayName: 'Attachment Name',
72
- description: 'Custom name for the attachment',
73
- required: false,
74
- }),
75
- },
76
- run(context) {
77
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
78
- var _a;
79
- const authClient = yield (0, auth_1.createGoogleClient)(context.auth);
80
- const gmail = googleapis_1.google.gmail({ version: 'v1', auth: authClient });
81
- const originalMessage = yield gmail.users.messages.get({
82
- userId: 'me',
83
- id: context.propsValue.message_id,
84
- format: 'full',
85
- });
86
- if (!originalMessage.data || !originalMessage.data.payload) {
87
- throw new Error('Could not fetch original message details');
88
- }
89
- const headers = originalMessage.data.payload.headers || [];
90
- const headerMap = headers.reduce((acc, header) => {
91
- if (header.name && header.value) {
92
- acc[header.name.toLowerCase()] = header.value;
93
- }
94
- return acc;
95
- }, {});
96
- const originalSubject = headerMap['subject'] || '';
97
- const originalFrom = headerMap['from'] || '';
98
- const originalTo = headerMap['to'] || '';
99
- const originalCc = headerMap['cc'] || '';
100
- const originalReplyTo = headerMap['reply-to'] || '';
101
- const originalMessageId = headerMap['message-id'] || '';
102
- const originalReferences = headerMap['references'] || '';
103
- const toRecipients = [];
104
- const ccRecipients = [];
105
- if (context.propsValue.reply_type === 'reply_all') {
106
- const senderEmail = originalReplyTo || originalFrom;
107
- if (senderEmail) {
108
- toRecipients.push(senderEmail);
109
- }
110
- const currentUserEmail = yield (0, auth_1.getUserEmail)(context.auth, authClient);
111
- if (originalTo) {
112
- const toEmails = originalTo.split(',').map((email) => email.trim());
113
- toRecipients.push(...toEmails.filter((email) => !email.includes(currentUserEmail || '')));
114
- }
115
- if (originalCc) {
116
- const ccEmails = originalCc.split(',').map((email) => email.trim());
117
- ccRecipients.push(...ccEmails.filter((email) => !email.includes(currentUserEmail || '')));
118
- }
119
- }
120
- else {
121
- const senderEmail = originalReplyTo || originalFrom;
122
- if (senderEmail) {
123
- toRecipients.push(senderEmail);
124
- }
125
- }
126
- let replySubject = originalSubject;
127
- if (!replySubject.toLowerCase().startsWith('re:')) {
128
- replySubject = `Re: ${replySubject}`;
129
- }
130
- let referencesHeader = originalMessageId;
131
- if (originalReferences) {
132
- referencesHeader = `${originalReferences} ${originalMessageId}`;
133
- }
134
- const senderEmail = yield (0, auth_1.getUserEmail)(context.auth, authClient);
135
- const subjectBase64 = Buffer.from(replySubject).toString('base64');
136
- const mailOptions = {
137
- to: toRecipients.join(', '),
138
- cc: ccRecipients.length > 0 ? ccRecipients.join(', ') : undefined,
139
- subject: `=?UTF-8?B?${subjectBase64}?=`,
140
- text: context.propsValue.body_type === 'plain_text'
141
- ? context.propsValue.body
142
- : undefined,
143
- html: context.propsValue.body_type === 'html'
144
- ? context.propsValue.body
145
- : undefined,
146
- attachments: [],
147
- headers: [
148
- {
149
- key: 'In-Reply-To',
150
- value: originalMessageId,
151
- },
152
- {
153
- key: 'References',
154
- value: referencesHeader,
155
- },
156
- ],
157
- };
158
- if (senderEmail) {
159
- mailOptions.from = context.propsValue.sender_name
160
- ? `${context.propsValue.sender_name} <${senderEmail}>`
161
- : senderEmail;
162
- }
163
- if (context.propsValue.attachment) {
164
- const lookupResult = mime_types_1.default.lookup(context.propsValue.attachment.extension || '');
165
- const attachmentOption = [
166
- {
167
- filename: (_a = context.propsValue.attachment_name) !== null && _a !== void 0 ? _a : context.propsValue.attachment.filename,
168
- content: context.propsValue.attachment.base64,
169
- contentType: lookupResult || undefined,
170
- encoding: 'base64',
171
- },
172
- ];
173
- mailOptions.attachments = attachmentOption;
174
- }
175
- const mail = new mail_composer_1.default(mailOptions).compile();
176
- mail.keepBcc = true;
177
- const mailBody = yield mail.build();
178
- const encodedPayload = Buffer.from(mailBody)
179
- .toString('base64')
180
- .replace(/\+/g, '-')
181
- .replace(/\//g, '_');
182
- const response = yield gmail.users.messages.send({
183
- userId: 'me',
184
- requestBody: {
185
- threadId: originalMessage.data.threadId || undefined,
186
- raw: encodedPayload,
187
- },
188
- });
189
- return response.data;
190
- });
191
- },
192
- });
193
- //# sourceMappingURL=reply-to-email-action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reply-to-email-action.js","sourceRoot":"","sources":["../../../../src/lib/actions/reply-to-email-action.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- export declare const requestApprovalInEmail: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
- serviceAccount: import("@activepieces/pieces-framework").LongTextProperty<true>;
3
- userEmail: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
- }>)[], {
5
- receiver: import("@activepieces/pieces-framework").ShortTextProperty<true>;
6
- cc: import("@activepieces/pieces-framework").ArrayProperty<false>;
7
- bcc: import("@activepieces/pieces-framework").ArrayProperty<false>;
8
- subject: import("@activepieces/pieces-framework").ShortTextProperty<true>;
9
- body: import("@activepieces/pieces-framework").ShortTextProperty<true>;
10
- reply_to: import("@activepieces/pieces-framework").ArrayProperty<false>;
11
- sender_name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
12
- from: import("@activepieces/pieces-framework").ShortTextProperty<false>;
13
- in_reply_to: import("@activepieces/pieces-framework").ShortTextProperty<false>;
14
- }>;
15
- //# sourceMappingURL=request-approval-in-email.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-approval-in-email.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/request-approval-in-email.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;EAqLjC,CAAC"}
@@ -1,170 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requestApprovalInEmail = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const auth_1 = require("../auth");
7
- const googleapis_1 = require("googleapis");
8
- const mail_composer_1 = tslib_1.__importDefault(require("nodemailer/lib/mail-composer"));
9
- const shared_1 = require("@activepieces/shared");
10
- exports.requestApprovalInEmail = (0, pieces_framework_1.createAction)({
11
- auth: auth_1.gmailAuth,
12
- name: 'request_approval_in_mail',
13
- displayName: 'Request Approval in Email',
14
- description: 'Send approval request email and then wait until the email is approved or disapproved',
15
- props: {
16
- receiver: pieces_framework_1.Property.ShortText({
17
- displayName: 'Receiver Email (To)',
18
- description: 'The email address of the recipient who will receive the approval request.',
19
- required: true,
20
- }),
21
- cc: pieces_framework_1.Property.Array({
22
- displayName: 'CC Email',
23
- description: 'The email addresses of the recipients who will receive a carbon copy of the approval request.',
24
- required: false,
25
- }),
26
- bcc: pieces_framework_1.Property.Array({
27
- displayName: 'BCC Email',
28
- description: 'The email addresses of the recipients who will receive a blind carbon copy of the approval request.',
29
- required: false,
30
- }),
31
- subject: pieces_framework_1.Property.ShortText({
32
- displayName: 'Subject',
33
- description: 'The subject of the approval request email.',
34
- required: true,
35
- }),
36
- body: pieces_framework_1.Property.ShortText({
37
- displayName: 'Body',
38
- description: 'Body for the email you want to send',
39
- required: true,
40
- }),
41
- reply_to: pieces_framework_1.Property.Array({
42
- displayName: 'Reply-To Email',
43
- description: 'Email address to set as the "Reply-To" header',
44
- required: false,
45
- }),
46
- sender_name: pieces_framework_1.Property.ShortText({
47
- displayName: 'Sender Name',
48
- required: false,
49
- }),
50
- from: pieces_framework_1.Property.ShortText({
51
- displayName: 'Sender Email',
52
- description: "The address must be listed in your GMail account's settings",
53
- required: false,
54
- }),
55
- in_reply_to: pieces_framework_1.Property.ShortText({
56
- displayName: 'In reply to',
57
- description: 'Reply to this Message-ID',
58
- required: false,
59
- }),
60
- },
61
- run(context) {
62
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
- var _a, _b, _c, _d;
64
- if (context.executionType === shared_1.ExecutionType.BEGIN) {
65
- try {
66
- const token = yield (0, auth_1.getAccessToken)(context.auth);
67
- const { subject, body } = context.propsValue;
68
- (0, shared_1.assertNotNullOrUndefined)(token, 'token');
69
- (0, shared_1.assertNotNullOrUndefined)(context.propsValue.receiver, 'receiver');
70
- (0, shared_1.assertNotNullOrUndefined)(subject, 'subject');
71
- (0, shared_1.assertNotNullOrUndefined)(body, 'body');
72
- const waitpoint = yield context.run.createWaitpoint({
73
- type: 'WEBHOOK',
74
- });
75
- const approvalLink = waitpoint.buildResumeUrl({
76
- queryParams: { action: 'approve' },
77
- });
78
- const disapprovalLink = waitpoint.buildResumeUrl({
79
- queryParams: { action: 'disapprove' },
80
- });
81
- const htmlBody = `
82
- <div>
83
- <p>${body}</p>
84
- <br />
85
- <p>
86
- <a href="${approvalLink}" style="display: inline-block; padding: 10px 20px; margin-right: 10px; background-color: #2acc50; color: white; text-decoration: none; border-radius: 4px;">Approve</a>
87
- <a href="${disapprovalLink}" style="display: inline-block; padding: 10px 20px; background-color: #e4172b; color: white; text-decoration: none; border-radius: 4px;">Disapprove</a>
88
- </p>
89
- </div>
90
- `;
91
- const authClient = yield (0, auth_1.createGoogleClient)(context.auth);
92
- const gmail = googleapis_1.google.gmail({ version: 'v1', auth: authClient });
93
- const subjectBase64 = Buffer.from(context.propsValue['subject']).toString('base64');
94
- const replyTo = (_a = context.propsValue['reply_to']) === null || _a === void 0 ? void 0 : _a.filter((email) => email !== '');
95
- const receiverEmail = context.propsValue.receiver;
96
- const cc = (_b = context.propsValue['cc']) === null || _b === void 0 ? void 0 : _b.filter((email) => email !== '');
97
- const bcc = (_c = context.propsValue['bcc']) === null || _c === void 0 ? void 0 : _c.filter((email) => email !== '');
98
- const mailOptions = {
99
- to: receiverEmail,
100
- cc: cc ? cc.join(', ') : undefined,
101
- bcc: bcc ? bcc.join(', ') : undefined,
102
- subject: `=?UTF-8?B?${subjectBase64}?=`,
103
- replyTo: replyTo ? replyTo.join(', ') : '',
104
- // text:
105
- // context.propsValue.body_type === 'plain_text'
106
- // ? context.propsValue['body']
107
- // : undefined,
108
- html: htmlBody,
109
- attachments: [],
110
- };
111
- const senderEmail = context.propsValue.from ||
112
- (yield (0, auth_1.getUserEmail)(context.auth, authClient));
113
- if (senderEmail) {
114
- mailOptions.from = context.propsValue.sender_name
115
- ? `${context.propsValue['sender_name']} <${senderEmail}>`
116
- : senderEmail;
117
- }
118
- let threadId = undefined;
119
- if (context.propsValue.in_reply_to) {
120
- mailOptions.headers = [
121
- {
122
- key: 'References',
123
- value: context.propsValue.in_reply_to,
124
- },
125
- {
126
- key: 'In-Reply-To',
127
- value: context.propsValue.in_reply_to,
128
- },
129
- ];
130
- const messages = yield gmail.users.messages.list({
131
- userId: 'me',
132
- q: `Rfc822msgid:${context.propsValue.in_reply_to}`,
133
- });
134
- threadId = (_d = messages.data.messages) === null || _d === void 0 ? void 0 : _d[0].threadId;
135
- }
136
- const mail = new mail_composer_1.default(mailOptions).compile();
137
- mail.keepBcc = true;
138
- const mailBody = yield mail.build();
139
- const encodedPayload = Buffer.from(mailBody)
140
- .toString('base64')
141
- .replace(/\+/g, '-')
142
- .replace(/\//g, '_');
143
- yield gmail.users.messages.send({
144
- userId: 'me',
145
- requestBody: {
146
- threadId,
147
- raw: encodedPayload,
148
- },
149
- });
150
- context.run.waitForWaitpoint(waitpoint.id);
151
- return {
152
- approved: false, // default approval is false
153
- };
154
- }
155
- catch (error) {
156
- console.error('[RequestApprovalEmail] Error during BEGIN execution:', error);
157
- throw error;
158
- }
159
- }
160
- else {
161
- const action = context.resumePayload.queryParams['action'];
162
- const approved = action === 'approve';
163
- return {
164
- approved,
165
- };
166
- }
167
- });
168
- },
169
- });
170
- //# sourceMappingURL=request-approval-in-email.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-approval-in-email.js","sourceRoot":"","sources":["../../../../src/lib/actions/request-approval-in-email.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { GmailLabel } from '../common/models';
2
- export declare const gmailSearchMailAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
3
- serviceAccount: import("@activepieces/pieces-framework").LongTextProperty<true>;
4
- userEmail: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
- }>)[], {
6
- from: import("@activepieces/pieces-framework").ShortTextProperty<false>;
7
- to: import("@activepieces/pieces-framework").ShortTextProperty<false>;
8
- subject: import("@activepieces/pieces-framework").ShortTextProperty<false>;
9
- content: import("@activepieces/pieces-framework").ShortTextProperty<false>;
10
- has_attachment: import("@activepieces/pieces-framework").CheckboxProperty<false>;
11
- attachment_name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
12
- label: import("@activepieces/pieces-framework").DropdownProperty<GmailLabel, false, (import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
13
- serviceAccount: import("@activepieces/pieces-framework").LongTextProperty<true>;
14
- userEmail: import("@activepieces/pieces-framework").ShortTextProperty<true>;
15
- }>)[]>;
16
- category: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
17
- after_date: import("@activepieces/pieces-framework").DateTimeProperty<false>;
18
- before_date: import("@activepieces/pieces-framework").DateTimeProperty<false>;
19
- include_spam_trash: import("@activepieces/pieces-framework").CheckboxProperty<false>;
20
- max_results: import("@activepieces/pieces-framework").NumberProperty<false>;
21
- }>;
22
- //# sourceMappingURL=search-email-action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-email-action.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/search-email-action.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;EA2MhC,CAAC"}
@@ -1,170 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gmailSearchMailAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const auth_1 = require("../auth");
7
- const googleapis_1 = require("googleapis");
8
- const data_1 = require("../common/data");
9
- const props_1 = require("../common/props");
10
- exports.gmailSearchMailAction = (0, pieces_framework_1.createAction)({
11
- auth: auth_1.gmailAuth,
12
- name: 'gmail_search_mail',
13
- displayName: 'Find Email',
14
- description: 'Find emails using advanced search criteria. If no filters are provided, the latest emails are returned.',
15
- props: {
16
- from: props_1.GmailProps.from,
17
- to: props_1.GmailProps.to,
18
- subject: props_1.GmailProps.subject,
19
- content: pieces_framework_1.Property.ShortText({
20
- displayName: 'Email Content',
21
- description: 'Search for specific text within email body',
22
- required: false,
23
- }),
24
- has_attachment: pieces_framework_1.Property.Checkbox({
25
- displayName: 'Has Attachment',
26
- description: 'Only find emails with attachments',
27
- required: false,
28
- defaultValue: false,
29
- }),
30
- attachment_name: pieces_framework_1.Property.ShortText({
31
- displayName: 'Attachment Name',
32
- description: 'Search for emails with specific attachment filename',
33
- required: false,
34
- }),
35
- label: props_1.GmailProps.label,
36
- category: props_1.GmailProps.category,
37
- after_date: pieces_framework_1.Property.DateTime({
38
- displayName: 'After Date',
39
- description: 'Find emails sent after this date',
40
- required: false,
41
- }),
42
- before_date: pieces_framework_1.Property.DateTime({
43
- displayName: 'Before Date',
44
- description: 'Find emails sent before this date',
45
- required: false,
46
- }),
47
- include_spam_trash: pieces_framework_1.Property.Checkbox({
48
- displayName: 'Include Spam & Trash',
49
- description: 'Include emails from Spam and Trash folders in search results',
50
- required: false,
51
- defaultValue: false,
52
- }),
53
- max_results: pieces_framework_1.Property.Number({
54
- displayName: 'Max Results',
55
- description: 'Maximum number of emails to return (1-500)',
56
- required: false,
57
- defaultValue: 10,
58
- }),
59
- },
60
- run(context) {
61
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
62
- var _a, _b, _c, _d, _e, _f, _g;
63
- const authClient = yield (0, auth_1.createGoogleClient)(context.auth);
64
- const gmail = googleapis_1.google.gmail({ version: 'v1', auth: authClient });
65
- const queryParts = [];
66
- if ((_a = context.propsValue.from) === null || _a === void 0 ? void 0 : _a.trim()) {
67
- queryParts.push(`from:(${context.propsValue.from.trim()})`);
68
- }
69
- if ((_b = context.propsValue.to) === null || _b === void 0 ? void 0 : _b.trim()) {
70
- queryParts.push(`to:(${context.propsValue.to.trim()})`);
71
- }
72
- if ((_c = context.propsValue.subject) === null || _c === void 0 ? void 0 : _c.trim()) {
73
- queryParts.push(`subject:(${context.propsValue.subject.trim()})`);
74
- }
75
- if ((_d = context.propsValue.content) === null || _d === void 0 ? void 0 : _d.trim()) {
76
- queryParts.push(`"${context.propsValue.content.trim()}"`);
77
- }
78
- if (context.propsValue.has_attachment) {
79
- queryParts.push('has:attachment');
80
- }
81
- if ((_e = context.propsValue.attachment_name) === null || _e === void 0 ? void 0 : _e.trim()) {
82
- queryParts.push(`filename:(${context.propsValue.attachment_name.trim()})`);
83
- }
84
- if (context.propsValue.label) {
85
- const label = context.propsValue.label;
86
- queryParts.push(`label:${label.name}`);
87
- }
88
- if ((_f = context.propsValue.category) === null || _f === void 0 ? void 0 : _f.trim()) {
89
- queryParts.push(`category:${context.propsValue.category.trim()}`);
90
- }
91
- if (context.propsValue.after_date) {
92
- const afterDate = new Date(context.propsValue.after_date);
93
- const afterDateStr = afterDate
94
- .toISOString()
95
- .split('T')[0]
96
- .replace(/-/g, '/');
97
- queryParts.push(`after:${afterDateStr}`);
98
- }
99
- if (context.propsValue.before_date) {
100
- const beforeDate = new Date(context.propsValue.before_date);
101
- const beforeDateStr = beforeDate
102
- .toISOString()
103
- .split('T')[0]
104
- .replace(/-/g, '/');
105
- queryParts.push(`before:${beforeDateStr}`);
106
- }
107
- const searchQuery = queryParts.join(' ');
108
- const maxResults = Math.min(Math.max(context.propsValue.max_results || 10, 1), 500);
109
- try {
110
- const searchResponse = yield gmail.users.messages.list(Object.assign(Object.assign({ userId: 'me' }, (searchQuery.trim() ? { q: searchQuery } : {})), { maxResults: maxResults, includeSpamTrash: context.propsValue.include_spam_trash }));
111
- const messages = searchResponse.data.messages || [];
112
- if (messages.length === 0) {
113
- return {
114
- found: false,
115
- results: {
116
- messages: [],
117
- count: 0,
118
- },
119
- };
120
- }
121
- const detailedMessages = yield Promise.all(messages.map((message) => tslib_1.__awaiter(this, void 0, void 0, function* () {
122
- try {
123
- const rawMailResponse = yield gmail.users.messages.get({
124
- userId: 'me',
125
- id: message.id,
126
- format: 'raw',
127
- });
128
- const parsedMailResponse = yield (0, data_1.parseStream)(Buffer.from(rawMailResponse.data.raw, 'base64').toString('utf-8'));
129
- return Object.assign(Object.assign({ id: message.id }, parsedMailResponse), { attachments: yield (0, data_1.convertAttachment)(parsedMailResponse.attachments, context.files) });
130
- }
131
- catch (error) {
132
- console.error(`Failed to get details for message ${message.id}:`, error);
133
- return {
134
- id: message.id,
135
- threadId: message.threadId,
136
- error: 'Failed to retrieve message details',
137
- };
138
- }
139
- })));
140
- return {
141
- found: true,
142
- results: {
143
- messages: detailedMessages,
144
- count: detailedMessages.length,
145
- },
146
- };
147
- }
148
- catch (error) {
149
- // Enhanced error handling
150
- if (error.code === 400) {
151
- if ((_g = error.message) === null || _g === void 0 ? void 0 : _g.includes('Invalid query')) {
152
- throw new Error(`Invalid search query: "${searchQuery}". Please check your search syntax.`);
153
- }
154
- throw new Error(`Invalid search request: ${error.message}`);
155
- }
156
- else if (error.code === 403) {
157
- throw new Error('Insufficient permissions to search emails. Ensure the gmail.readonly scope is granted.');
158
- }
159
- else if (error.code === 429) {
160
- throw new Error('Gmail API rate limit exceeded. Please try again later.');
161
- }
162
- else if (error.code === 500) {
163
- throw new Error('Gmail API server error. Please try again later.');
164
- }
165
- throw new Error(`Failed to search emails: ${error.message}`);
166
- }
167
- });
168
- },
169
- });
170
- //# sourceMappingURL=search-email-action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-email-action.js","sourceRoot":"","sources":["../../../../src/lib/actions/search-email-action.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- export declare const gmailSendEmailAction: import("@activepieces/pieces-framework").IAction<(import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props> | import("@activepieces/pieces-framework").CustomAuthProperty<{
2
- serviceAccount: import("@activepieces/pieces-framework").LongTextProperty<true>;
3
- userEmail: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
- }>)[], {
5
- receiver: import("@activepieces/pieces-framework").ArrayProperty<true>;
6
- cc: import("@activepieces/pieces-framework").ArrayProperty<false>;
7
- bcc: import("@activepieces/pieces-framework").ArrayProperty<false>;
8
- subject: import("@activepieces/pieces-framework").ShortTextProperty<true>;
9
- body_type: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
10
- body: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
- reply_to: import("@activepieces/pieces-framework").ArrayProperty<false>;
12
- sender_name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
13
- from: import("@activepieces/pieces-framework").ShortTextProperty<false>;
14
- attachments: import("@activepieces/pieces-framework").ArrayProperty<true> | import("@activepieces/pieces-framework").ArrayProperty<false>;
15
- in_reply_to: import("@activepieces/pieces-framework").ShortTextProperty<false>;
16
- draft: import("@activepieces/pieces-framework").CheckboxProperty<true>;
17
- }>;
18
- //# sourceMappingURL=send-email-action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-email-action.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/send-email-action.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;EAqM/B,CAAC"}