@skillful-ai/piece-skai-adapters 0.1.16 → 0.1.18

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillful-ai/piece-skai-adapters",
3
- "version": "0.1.16",
3
+ "version": "0.1.18",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -1,5 +1,6 @@
1
1
  export declare const gmailToSkai: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
2
2
  gmailMessage: import("@activepieces/pieces-framework").JsonProperty<true>;
3
+ connectedEmail: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
4
  agent: import("@activepieces/pieces-framework").DropdownProperty<string, false, undefined>;
4
5
  webhookUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
6
  chatBufferWindowSeconds: import("@activepieces/pieces-framework").NumberProperty<false>;
@@ -16,6 +16,11 @@ exports.gmailToSkai = (0, pieces_framework_1.createAction)({
16
16
  description: 'Output from Gmail New Email trigger',
17
17
  required: true,
18
18
  }),
19
+ connectedEmail: pieces_framework_1.Property.ShortText({
20
+ displayName: 'Connected Inbox Email',
21
+ description: 'Email address of the connected Gmail inbox (used to suppress echo from SKAI\'s own sent replies)',
22
+ required: true,
23
+ }),
19
24
  agent: dropdowns_1.agentDropdown,
20
25
  webhookUrl: pieces_framework_1.Property.ShortText({
21
26
  displayName: 'Webhook Callback URL',
@@ -31,7 +36,8 @@ exports.gmailToSkai = (0, pieces_framework_1.createAction)({
31
36
  },
32
37
  run(context) {
33
38
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
- const { gmailMessage, agent, webhookUrl, chatBufferWindowSeconds } = context.propsValue;
39
+ var _a;
40
+ const { gmailMessage, connectedEmail, agent, webhookUrl, chatBufferWindowSeconds } = context.propsValue;
35
41
  try {
36
42
  // Validate chat buffer window seconds
37
43
  const bufferSeconds = chatBufferWindowSeconds !== null && chatBufferWindowSeconds !== void 0 ? chatBufferWindowSeconds : 0;
@@ -41,6 +47,17 @@ exports.gmailToSkai = (0, pieces_framework_1.createAction)({
41
47
  // Transform Gmail message to GenericMessage format
42
48
  const transformer = new gmail_transformer_1.GmailTransformer();
43
49
  const genericMessage = transformer.transform(gmailMessage);
50
+ // Echo suppression: skip messages sent FROM the connected inbox
51
+ const fromAddress = (((_a = genericMessage.metadata) === null || _a === void 0 ? void 0 : _a.from_address) || '').toLowerCase();
52
+ const inboxAddress = (connectedEmail || '').toLowerCase().trim();
53
+ if (fromAddress && inboxAddress && fromAddress === inboxAddress) {
54
+ return {
55
+ success: true,
56
+ skipped: true,
57
+ reason: 'outbound_echo',
58
+ originalPlatform: 'gmail',
59
+ };
60
+ }
44
61
  // Prepare request body
45
62
  const requestBody = {
46
63
  external_id: genericMessage.external_id,
@@ -1 +1 @@
1
- {"version":3,"file":"gmail-to-skai.js","sourceRoot":"","sources":["../../../../src/lib/actions/gmail-to-skai.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,yEAAqE;AACrE,uDAAmD;AACnD,mDAAoD;AAEvC,QAAA,WAAW,GAAG,IAAA,+BAAY,EAAC;IACvC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,uEAAuE;IAEpF,KAAK,EAAE;QACN,YAAY,EAAE,2BAAQ,CAAC,IAAI,CAAC;YAC3B,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,KAAK,EAAE,yBAAa;QACpB,UAAU,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,sBAAsB;YACnC,WAAW,EACV,8EAA8E;YAC/E,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,uBAAuB,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACxC,WAAW,EAAE,8BAA8B;YAC3C,WAAW,EAAE,+DAA+D;YAC5E,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,CAAC;SACf,CAAC;KACF;IAEK,GAAG,CAAC,OAAO;;YAChB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAExF,IAAI,CAAC;gBACJ,sCAAsC;gBACtC,MAAM,aAAa,GAAG,uBAAuB,aAAvB,uBAAuB,cAAvB,uBAAuB,GAAI,CAAC,CAAC;gBACnD,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;oBAC7C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACnF,CAAC;gBAED,mDAAmD;gBACnD,MAAM,WAAW,GAAG,IAAI,oCAAgB,EAAE,CAAC;gBAC3C,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,YAAmB,CAAC,CAAC;gBAElE,uBAAuB;gBACvB,MAAM,WAAW,GAAQ;oBACxB,WAAW,EAAE,cAAc,CAAC,WAAW;oBACvC,YAAY,EAAE,cAAc,CAAC,YAAY;oBACzC,QAAQ,EAAE,cAAc,CAAC,QAAQ;oBACjC,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,WAAW,EAAE,cAAc,CAAC,WAAW;oBACvC,aAAa,EAAE,cAAc,CAAC,aAAa;oBAC3C,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,EAAE;oBAC3C,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,EAAE;oBAC7C,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,EAAE;oBACvC,WAAW,EAAE,UAAU;oBACvB,0BAA0B,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;iBACrD,CAAC;gBAEF,4CAA4C;gBAC5C,MAAM,YAAY,GAAG,MAAM,wBAAU,CAAC,cAAc,CAAC;oBACpD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;oBACnC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;oBAC3B,OAAO,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBACjD,OAAO,EAAE,WAAW;iBACpB,CAAC,CAAC;gBAEH,iBAAiB;gBACjB,MAAM,QAAQ,GAAQ;oBACrB,OAAO,EAAE,IAAI;oBACb,YAAY;oBACZ,cAAc;oBACd,gBAAgB,EAAE,OAAO;oBACzB,eAAe,EAAE,YAAY;iBAC7B,CAAC;gBAEF,OAAO,QAAQ,CAAC;YACjB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;gBAE/C,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,2CAA2C;oBACnE,gBAAgB,EAAE,OAAO;iBACzB,CAAC;YACH,CAAC;QACF,CAAC;KAAA;CACD,CAAC,CAAC"}
1
+ {"version":3,"file":"gmail-to-skai.js","sourceRoot":"","sources":["../../../../src/lib/actions/gmail-to-skai.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ exports.skaiToGmail = (0, pieces_framework_1.createAction)({
21
21
  },
22
22
  run(context) {
23
23
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
- var _a;
24
+ var _a, _b, _c;
25
25
  const { webhookPayload, threadData } = context.propsValue;
26
26
  try {
27
27
  // Parse webhook payload
@@ -37,28 +37,26 @@ exports.skaiToGmail = (0, pieces_framework_1.createAction)({
37
37
  if (!payload.external_id || (!hasMessages && !hasMedia)) {
38
38
  throw new Error('Missing required fields: external_id and (messages or media_urls)');
39
39
  }
40
- // Extract sender and subject from thread data (last message in thread = most recent inbound)
40
+ // Extract sender and subject from thread data
41
41
  const thread = threadData;
42
42
  const threadMessages = (thread === null || thread === void 0 ? void 0 : thread.messages) || [];
43
- // Find the last message that was NOT sent by us (the inbound message to reply to)
44
- // Fall back to the last message in the thread
45
- const lastMessage = threadMessages.length > 0
46
- ? threadMessages[threadMessages.length - 1]
47
- : null;
43
+ // Find the last INBOUND message (no SENT label) that's the customer's message we're replying to.
44
+ // Messages with labelIds containing 'SENT' are outbound (sent by the inbox owner).
45
+ const lastInboundMessage = (_b = (_a = [...threadMessages]
46
+ .reverse()
47
+ .find((msg) => !Array.isArray(msg.labelIds) || !msg.labelIds.includes('SENT'))) !== null && _a !== void 0 ? _a : threadMessages[0]) !== null && _b !== void 0 ? _b : null;
48
48
  let fromAddress = '';
49
49
  let subject = '';
50
50
  let messageIdHeader = '';
51
- if ((_a = lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.payload) === null || _a === void 0 ? void 0 : _a.headers) {
52
- const headers = lastMessage.payload.headers;
53
- const fromHeader = headers.find((h) => h.name.toLowerCase() === 'from');
54
- const subjectHeader = headers.find((h) => h.name.toLowerCase() === 'subject');
55
- const messageIdH = headers.find((h) => h.name.toLowerCase() === 'message-id');
56
- fromAddress = (fromHeader === null || fromHeader === void 0 ? void 0 : fromHeader.value) || '';
57
- subject = (subjectHeader === null || subjectHeader === void 0 ? void 0 : subjectHeader.value) || '';
58
- messageIdHeader = (messageIdH === null || messageIdH === void 0 ? void 0 : messageIdH.value) || '';
51
+ if ((_c = lastInboundMessage === null || lastInboundMessage === void 0 ? void 0 : lastInboundMessage.payload) === null || _c === void 0 ? void 0 : _c.headers) {
52
+ const headers = lastInboundMessage.payload.headers;
53
+ const getHeader = (name) => { var _a; return ((_a = headers.find((h) => h.name.toLowerCase() === name.toLowerCase())) === null || _a === void 0 ? void 0 : _a.value) || ''; };
54
+ fromAddress = getHeader('from');
55
+ subject = getHeader('subject');
56
+ messageIdHeader = getHeader('message-id');
59
57
  }
60
58
  if (!fromAddress) {
61
- throw new Error('Could not resolve reply-to address from thread data');
59
+ throw new Error('Could not resolve reply-to address from thread data: no inbound message found');
62
60
  }
63
61
  const chatMessageIds = payload.chat_message_ids || [];
64
62
  // Combine all messages into a single email body
@@ -1 +1 @@
1
- {"version":3,"file":"skai-to-gmail.js","sourceRoot":"","sources":["../../../../src/lib/actions/skai-to-gmail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skai-to-gmail.js","sourceRoot":"","sources":["../../../../src/lib/actions/skai-to-gmail.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@ import { GenericMessage } from '../common/types/generic-message';
2
2
  /**
3
3
  * Gmail trigger output format (from google-mail piece new_email trigger)
4
4
  * The trigger returns { message: ParsedMail, thread: ThreadResponse }
5
+ *
6
+ * After convertAttachment() in the trigger, attachments have:
7
+ * { fileName, mimeType, size, data: ApFile }
8
+ * where data is an ActivePieces file reference (served as a URL between steps)
5
9
  */
6
10
  export interface GmailTriggerOutput {
7
11
  message: {
@@ -39,10 +43,10 @@ export interface GmailTriggerOutput {
39
43
  html?: string | false;
40
44
  date?: string;
41
45
  attachments?: Array<{
42
- filename?: string;
43
- contentType?: string;
46
+ fileName?: string;
47
+ mimeType?: string;
44
48
  size?: number;
45
- url?: string;
49
+ data?: any;
46
50
  }>;
47
51
  headers?: Map<string, string> | Record<string, string>;
48
52
  };
@@ -64,5 +68,5 @@ export interface GmailTriggerOutput {
64
68
  export declare class GmailTransformer {
65
69
  transform(gmailOutput: GmailTriggerOutput): GenericMessage;
66
70
  private _stripHtml;
67
- private _mapContentType;
71
+ private _mapMimeType;
68
72
  }
@@ -42,14 +42,22 @@ class GmailTransformer {
42
42
  },
43
43
  },
44
44
  };
45
- // Process attachments
45
+ // Process attachments — AP file references from convertAttachment()
46
46
  if (message.attachments && message.attachments.length > 0) {
47
47
  const mediaUrls = [];
48
48
  const mediaTypes = [];
49
49
  for (const attachment of message.attachments) {
50
- if (attachment.url) {
51
- mediaUrls.push(attachment.url);
52
- mediaTypes.push(this._mapContentType(attachment.contentType));
50
+ // The data field is an ApFile reference (serialized as URL string between steps)
51
+ // Also check for url field as fallback
52
+ const fileRef = attachment.data || attachment.url;
53
+ if (fileRef) {
54
+ // If it's an ApFile object, extract the URL; if it's already a string, use directly
55
+ const url = typeof fileRef === 'string' ? fileRef
56
+ : (fileRef.url || fileRef.base64 ? `data:${attachment.mimeType || 'application/octet-stream'};base64,${fileRef.base64}` : null);
57
+ if (url) {
58
+ mediaUrls.push(url);
59
+ mediaTypes.push(this._mapMimeType(attachment.mimeType));
60
+ }
53
61
  }
54
62
  }
55
63
  if (mediaUrls.length > 0) {
@@ -77,10 +85,10 @@ class GmailTransformer {
77
85
  .replace(/\n{3,}/g, '\n\n')
78
86
  .trim();
79
87
  }
80
- _mapContentType(contentType) {
81
- if (!contentType)
88
+ _mapMimeType(mimeType) {
89
+ if (!mimeType)
82
90
  return generic_message_1.MediaType.DOCUMENT;
83
- const lower = contentType.toLowerCase();
91
+ const lower = mimeType.toLowerCase();
84
92
  if (lower.startsWith('image/'))
85
93
  return generic_message_1.MediaType.IMAGE;
86
94
  if (lower.startsWith('video/'))
@@ -1 +1 @@
1
- {"version":3,"file":"gmail.transformer.js","sourceRoot":"","sources":["../../../../src/lib/transformers/gmail.transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmail.transformer.js","sourceRoot":"","sources":["../../../../src/lib/transformers/gmail.transformer.ts"],"names":[],"mappings":"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"}