@skillful-ai/piece-x 0.0.2 → 0.0.4

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-x",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
Binary file
@@ -34,6 +34,7 @@ exports.twitterAuth = pieces_framework_1.PieceAuth.OAuth2({
34
34
  return { valid: false, error: 'Authentication failed. Check app settings/scopes.' };
35
35
  }
36
36
  }),
37
- pkce: true
37
+ pkce: true,
38
+ pkceMethod: 'S256'
38
39
  });
39
40
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/x/src/lib/common/auth.ts"],"names":[],"mappings":";;;;AAAA,qEAA2G;AAC3G,iDAAuD;AACvD,mDAA4C;AAG5C,MAAM,mBAAmB,GAAG;;;CAG3B,CAAC;AAEW,QAAA,WAAW,GAAG,4BAAS,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,mBAAmB;IAChC,SAAS,EAAE,wBAAe,CAAC,kBAAkB;IAC7C,mBAAmB,EAAE,4CAAyB,CAAC,MAAM;IACrD,OAAO,EAAE,kCAAkC;IAC3C,QAAQ,EAAE,kCAAkC;IAC5C,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACL,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,gBAAgB,EAAE,4BAA4B;QAC9C,aAAa,EAAK,6BAA6B;KAChD;IACD,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,IAA2B,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,2BAAU,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB;YAClE,MAAM,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;QACtF,CAAC;IACH,CAAC,CAAA;IACD,IAAI,EAAE,IAAI;CACX,CAAC,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/x/src/lib/common/auth.ts"],"names":[],"mappings":";;;;AAAA,qEAA2G;AAC3G,iDAAuD;AACvD,mDAA4C;AAG5C,MAAM,mBAAmB,GAAG;;;CAG3B,CAAC;AAEW,QAAA,WAAW,GAAG,4BAAS,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,mBAAmB;IAChC,SAAS,EAAE,wBAAe,CAAC,kBAAkB;IAC7C,mBAAmB,EAAE,4CAAyB,CAAC,MAAM;IACrD,OAAO,EAAE,kCAAkC;IAC3C,QAAQ,EAAE,kCAAkC;IAC5C,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACL,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,gBAAgB,EAAE,4BAA4B;QAC9C,aAAa,EAAK,6BAA6B;KAChD;IACD,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,IAA2B,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,2BAAU,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB;YAClE,MAAM,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;QACtF,CAAC;IACH,CAAC,CAAA;IACD,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,MAAM;CACnB,CAAC,CAAC"}
@@ -2,10 +2,13 @@ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
2
  export declare const newMentionTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
3
3
  handle: import("@activepieces/pieces-framework").ShortTextProperty<false>;
4
4
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
5
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
5
6
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
6
7
  handle: import("@activepieces/pieces-framework").ShortTextProperty<false>;
7
8
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
9
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
10
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
9
11
  handle: import("@activepieces/pieces-framework").ShortTextProperty<false>;
10
12
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
13
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
11
14
  }>;
@@ -2,28 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.newMentionTrigger = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ // src/lib/triggers/new-mention.ts
5
6
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
7
  const auth_1 = require("../auth");
8
8
  const __1 = require("..");
9
- const items = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, }) {
10
- var _b, _c;
11
- const client = (0, __1.twitterClient)(auth);
12
- const me = yield client.v2.me();
13
- const targetId = propsValue.handle
14
- ? (yield client.v2.userByUsername(String(propsValue.handle).replace(/^@/, ''))).data.id
15
- : me.data.id;
16
- const res = yield client.v2.userMentionTimeline(targetId, {
17
- max_results: (0, __1.clamp)((_b = propsValue.maxResults) !== null && _b !== void 0 ? _b : 20, 10, 100),
18
- 'tweet.fields': ['id', 'text', 'created_at', 'author_id', 'conversation_id'],
19
- });
20
- const data = (_c = res.data.data) !== null && _c !== void 0 ? _c : [];
21
- return data.map((d) => ({
22
- id: d.id,
23
- data: Object.assign(Object.assign({}, d), { [pieces_framework_1.DEDUPE_KEY_PROPERTY]: d.id }),
24
- }));
25
- });
26
- const polling = { strategy: pieces_common_1.DedupeStrategy.LAST_ITEM, items };
9
+ const storeKey = (targetId) => `x:last_mention_id:${targetId}`;
10
+ const maxId = (a, b) => {
11
+ if (!a)
12
+ return b;
13
+ if (!b)
14
+ return a;
15
+ return BigInt(a) >= BigInt(b) ? a : b;
16
+ };
27
17
  exports.newMentionTrigger = (0, pieces_framework_1.createTrigger)({
28
18
  auth: auth_1.twitterAuth,
29
19
  name: 'twitter-new-mention',
@@ -32,27 +22,98 @@ exports.newMentionTrigger = (0, pieces_framework_1.createTrigger)({
32
22
  type: pieces_framework_1.TriggerStrategy.POLLING,
33
23
  props: {
34
24
  handle: pieces_framework_1.Property.ShortText({ displayName: 'Handle (optional)', required: false }),
35
- maxResults: pieces_framework_1.Property.Number({ displayName: 'Max per poll', defaultValue: 20, required: false }),
25
+ maxResults: pieces_framework_1.Property.Number({ displayName: 'Max per poll', defaultValue: 50, required: false }),
26
+ seedOnEnable: pieces_framework_1.Property.Checkbox({
27
+ displayName: 'Seed checkpoint on enable',
28
+ description: 'If ON, start from the latest mention (avoids historical backlog).',
29
+ defaultValue: true,
30
+ required: false,
31
+ }),
32
+ },
33
+ sampleData: {
34
+ id: '1234567890123456789',
35
+ text: 'Hey @yourhandle',
36
+ author_id: '1111',
37
+ conversation_id: '1234567890123456789',
38
+ created_at: '2025-09-03T22:19:40.000Z',
36
39
  },
37
- sampleData: {},
38
40
  onEnable(ctx) {
39
41
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
- yield pieces_common_1.pollingHelper.onEnable(polling, ctx);
42
+ var _a, _b, _c;
43
+ if (!ctx.propsValue.seedOnEnable)
44
+ return;
45
+ const client = (0, __1.twitterClient)(ctx.auth);
46
+ const me = yield client.v2.me();
47
+ const targetId = ctx.propsValue.handle
48
+ ? (yield client.v2.userByUsername(String(ctx.propsValue.handle).replace(/^@/, ''))).data.id
49
+ : me.data.id;
50
+ const res = yield client.v2.userMentionTimeline(targetId, {
51
+ max_results: 5,
52
+ 'tweet.fields': ['id'],
53
+ });
54
+ const latest = (_c = (_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.id;
55
+ if (latest)
56
+ yield ctx.store.put(storeKey(targetId), latest);
41
57
  });
42
58
  },
43
59
  onDisable(ctx) {
44
60
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
45
- yield pieces_common_1.pollingHelper.onDisable(polling, ctx);
61
+ const client = (0, __1.twitterClient)(ctx.auth);
62
+ const me = yield client.v2.me();
63
+ const targetId = ctx.propsValue.handle
64
+ ? (yield client.v2.userByUsername(String(ctx.propsValue.handle).replace(/^@/, ''))).data.id
65
+ : me.data.id;
66
+ // delete if available; overwrite otherwise
67
+ if (typeof ctx.store.delete === 'function') {
68
+ yield ctx.store.delete(storeKey(targetId));
69
+ }
70
+ else {
71
+ yield ctx.store.put(storeKey(targetId), undefined);
72
+ }
46
73
  });
47
74
  },
75
+ // Just return a couple of latest mentions for Test; don’t touch checkpoint
48
76
  test(ctx) {
49
77
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
50
- return yield pieces_common_1.pollingHelper.test(polling, ctx);
78
+ var _a, _b, _c;
79
+ const client = (0, __1.twitterClient)(ctx.auth);
80
+ const me = yield client.v2.me();
81
+ const targetId = ctx.propsValue.handle
82
+ ? (yield client.v2.userByUsername(String(ctx.propsValue.handle).replace(/^@/, ''))).data.id
83
+ : me.data.id;
84
+ const res = yield client.v2.userMentionTimeline(targetId, {
85
+ max_results: (0, __1.clamp)((_a = ctx.propsValue.maxResults) !== null && _a !== void 0 ? _a : 10, 10, 100),
86
+ 'tweet.fields': ['id', 'text', 'created_at', 'author_id', 'conversation_id'],
87
+ });
88
+ const data = (_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : [];
89
+ return data.slice(0, 2).map(d => ({ id: d.id, data: d }));
51
90
  });
52
91
  },
53
92
  run(ctx) {
54
93
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
55
- return yield pieces_common_1.pollingHelper.poll(polling, ctx);
94
+ var _a, _b, _c;
95
+ const client = (0, __1.twitterClient)(ctx.auth);
96
+ const me = yield client.v2.me();
97
+ const targetId = ctx.propsValue.handle
98
+ ? (yield client.v2.userByUsername(String(ctx.propsValue.handle).replace(/^@/, ''))).data.id
99
+ : me.data.id;
100
+ const key = storeKey(targetId);
101
+ const sinceIdRaw = yield ctx.store.get(key);
102
+ const since_id = sinceIdRaw !== null && sinceIdRaw !== void 0 ? sinceIdRaw : undefined;
103
+ const res = yield client.v2.userMentionTimeline(targetId, Object.assign(Object.assign({ max_results: (0, __1.clamp)((_a = ctx.propsValue.maxResults) !== null && _a !== void 0 ? _a : 50, 10, 100) }, (since_id ? { since_id } : {})), { 'tweet.fields': ['id', 'text', 'created_at', 'author_id', 'conversation_id'] }));
104
+ const mentions = (_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : [];
105
+ if (!mentions.length)
106
+ return [];
107
+ // Track newest ID and emit everything as-is
108
+ let newest = since_id;
109
+ const out = mentions.map((m) => {
110
+ newest = maxId(newest, m.id);
111
+ return { id: m.id, data: Object.assign(Object.assign({}, m), { [pieces_framework_1.DEDUPE_KEY_PROPERTY]: m.id }) };
112
+ });
113
+ // Move the checkpoint forward even if nothing is emitted for some reason
114
+ if (newest)
115
+ yield ctx.store.put(key, newest);
116
+ return out;
56
117
  });
57
118
  },
58
119
  });
@@ -1 +1 @@
1
- {"version":3,"file":"new-mention.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/triggers/new-mention.ts"],"names":[],"mappings":";;;;AAAA,qEAM0C;AACxC,+DAA4E;AAC5E,kCAAsC;AACtC,0BAA0C;AAE1C,MAAM,KAAK,GAAG,KAMX,EAAE,oDANgB,EACnB,IAAI,EACJ,UAAU,GAIX;;IACC,MAAM,MAAM,GAAG,IAAA,iBAAa,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM;QAChC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QACvF,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAEf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE;QACxD,WAAW,EAAE,IAAA,SAAK,EAAC,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;QACxD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,CAAC;KAC7E,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC3B,EAAE,EAAE,CAAC,CAAC,EAAY;QAClB,IAAI,kCAAO,CAAC,KAAE,CAAC,sCAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAE;KAC5C,CAAC,CAAC,CAAC;AACN,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,8BAAc,CAAC,SAAkB,EAAE,KAAK,EAAE,CAAC;AAE1D,QAAA,iBAAiB,GAAG,IAAA,gCAAa,EAAC;IAC7C,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,4DAA4D;IACzE,IAAI,EAAE,kCAAe,CAAC,OAAO;IAC7B,KAAK,EAAE;QACL,MAAM,EAAE,2BAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjF,UAAU,EAAE,2BAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KAChG;IACD,UAAU,EAAE,EAAE;IACR,QAAQ,CAAC,GAAG;;YAChB,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAU,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,SAAS,CAAC,GAAG;;YACjB,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE,GAAU,CAAC,CAAC;QACrD,CAAC;KAAA;IACK,IAAI,CAAC,GAAG;;YACZ,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAc,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;KAAA;IACK,GAAG,CAAC,GAAG;;YACX,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAc,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"new-mention.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/triggers/new-mention.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,15 @@ export declare const newPostsFromMeTrigger: import("@activepieces/pieces-framewo
3
3
  includeRetweets: import("@activepieces/pieces-framework").CheckboxProperty<false>;
4
4
  includeReplies: import("@activepieces/pieces-framework").CheckboxProperty<false>;
5
5
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
6
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
6
7
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
7
8
  includeRetweets: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
9
  includeReplies: import("@activepieces/pieces-framework").CheckboxProperty<false>;
9
10
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
11
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
10
12
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
11
13
  includeRetweets: import("@activepieces/pieces-framework").CheckboxProperty<false>;
12
14
  includeReplies: import("@activepieces/pieces-framework").CheckboxProperty<false>;
13
15
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
16
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
14
17
  }>;
@@ -2,33 +2,24 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.newPostsFromMeTrigger = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ // src/lib/triggers/new-posts-from-me.ts
5
6
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
7
  const auth_1 = require("../auth");
8
8
  const __1 = require("..");
9
- const items = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, }) {
10
- var _b, _c;
11
- const client = (0, __1.twitterClient)(auth);
12
- const me = yield client.v2.me();
13
- // ✅ narrow type to match TwitterApi TypeOrArrayOf<'retweets' | 'replies'>
14
- const excludeArr = [];
15
- if (!propsValue.includeRetweets)
16
- excludeArr.push('retweets');
17
- if (!propsValue.includeReplies)
18
- excludeArr.push('replies');
19
- const excludeParam = excludeArr.length === 0 ? undefined : excludeArr.length === 1 ? excludeArr[0] : excludeArr;
20
- const res = yield client.v2.userTimeline(me.data.id, {
21
- max_results: (0, __1.clamp)((_b = propsValue.maxResults) !== null && _b !== void 0 ? _b : 20, 10, 100),
22
- exclude: excludeParam,
23
- 'tweet.fields': ['id', 'text', 'created_at', 'referenced_tweets'],
24
- });
25
- const data = (_c = res.data.data) !== null && _c !== void 0 ? _c : [];
26
- return data.map((d) => ({
27
- id: d.id,
28
- data: Object.assign(Object.assign({}, d), { [pieces_framework_1.DEDUPE_KEY_PROPERTY]: d.id }),
29
- }));
9
+ const storeKey = (userId, includeRT, includeRep) => `x:last_my_tweet_id:${userId}:rt=${includeRT ? '1' : '0'}:repl=${includeRep ? '1' : '0'}`;
10
+ const clearStoreKey = (store, key) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
11
+ if (typeof store.delete === 'function')
12
+ yield store.delete(key);
13
+ else
14
+ yield store.put(key, undefined);
30
15
  });
31
- const polling = { strategy: pieces_common_1.DedupeStrategy.LAST_ITEM, items };
16
+ const maxId = (a, b) => {
17
+ if (!a)
18
+ return b;
19
+ if (!b)
20
+ return a;
21
+ return BigInt(a) >= BigInt(b) ? a : b;
22
+ };
32
23
  exports.newPostsFromMeTrigger = (0, pieces_framework_1.createTrigger)({
33
24
  auth: auth_1.twitterAuth,
34
25
  name: 'twitter-new-posts-from-me',
@@ -38,27 +29,98 @@ exports.newPostsFromMeTrigger = (0, pieces_framework_1.createTrigger)({
38
29
  props: {
39
30
  includeRetweets: pieces_framework_1.Property.Checkbox({ displayName: 'Include Retweets', defaultValue: false, required: false }),
40
31
  includeReplies: pieces_framework_1.Property.Checkbox({ displayName: 'Include Replies', defaultValue: false, required: false }),
41
- maxResults: pieces_framework_1.Property.Number({ displayName: 'Max per poll', defaultValue: 20, required: false }),
32
+ maxResults: pieces_framework_1.Property.Number({ displayName: 'Max per poll', defaultValue: 50, required: false }),
33
+ seedOnEnable: pieces_framework_1.Property.Checkbox({
34
+ displayName: 'Seed checkpoint on enable',
35
+ description: 'If ON, start from the latest post (no backlog).',
36
+ defaultValue: true,
37
+ required: false,
38
+ }),
39
+ },
40
+ sampleData: {
41
+ id: '1234567890123456789',
42
+ text: 'Hello world',
43
+ created_at: '2025-09-03T22:19:40.000Z',
44
+ referenced_tweets: [],
42
45
  },
43
- sampleData: {},
44
46
  onEnable(ctx) {
45
47
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
- yield pieces_common_1.pollingHelper.onEnable(polling, ctx);
48
+ var _a, _b, _c;
49
+ if (!ctx.propsValue.seedOnEnable)
50
+ return;
51
+ const client = (0, __1.twitterClient)(ctx.auth);
52
+ const me = yield client.v2.me();
53
+ const excludeArr = [];
54
+ if (!ctx.propsValue.includeRetweets)
55
+ excludeArr.push('retweets');
56
+ if (!ctx.propsValue.includeReplies)
57
+ excludeArr.push('replies');
58
+ const excludeParam = excludeArr.length === 0 ? undefined : excludeArr.length === 1 ? excludeArr[0] : excludeArr;
59
+ const res = yield client.v2.userTimeline(me.data.id, {
60
+ max_results: 5,
61
+ exclude: excludeParam,
62
+ 'tweet.fields': ['id'],
63
+ });
64
+ const latest = (_c = (_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.id;
65
+ if (latest) {
66
+ yield ctx.store.put(storeKey(me.data.id, !!ctx.propsValue.includeRetweets, !!ctx.propsValue.includeReplies), latest);
67
+ }
47
68
  });
48
69
  },
49
70
  onDisable(ctx) {
50
71
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
- yield pieces_common_1.pollingHelper.onDisable(polling, ctx);
72
+ const client = (0, __1.twitterClient)(ctx.auth);
73
+ const me = yield client.v2.me();
74
+ yield clearStoreKey(ctx.store, storeKey(me.data.id, !!ctx.propsValue.includeRetweets, !!ctx.propsValue.includeReplies));
52
75
  });
53
76
  },
77
+ // Test: show a couple of recent posts, don’t touch checkpoint.
54
78
  test(ctx) {
55
79
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
- return yield pieces_common_1.pollingHelper.test(polling, ctx);
80
+ var _a, _b, _c;
81
+ const client = (0, __1.twitterClient)(ctx.auth);
82
+ const me = yield client.v2.me();
83
+ const excludeArr = [];
84
+ if (!ctx.propsValue.includeRetweets)
85
+ excludeArr.push('retweets');
86
+ if (!ctx.propsValue.includeReplies)
87
+ excludeArr.push('replies');
88
+ const excludeParam = excludeArr.length === 0 ? undefined : excludeArr.length === 1 ? excludeArr[0] : excludeArr;
89
+ const res = yield client.v2.userTimeline(me.data.id, {
90
+ max_results: (0, __1.clamp)((_a = ctx.propsValue.maxResults) !== null && _a !== void 0 ? _a : 10, 10, 100),
91
+ exclude: excludeParam,
92
+ 'tweet.fields': ['id', 'text', 'created_at', 'referenced_tweets'],
93
+ });
94
+ const data = (_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : [];
95
+ return data.slice(0, 2).map((d) => ({ id: d.id, data: d }));
57
96
  });
58
97
  },
59
98
  run(ctx) {
60
99
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
- return yield pieces_common_1.pollingHelper.poll(polling, ctx);
100
+ var _a, _b, _c;
101
+ const client = (0, __1.twitterClient)(ctx.auth);
102
+ const me = yield client.v2.me();
103
+ const excludeArr = [];
104
+ if (!ctx.propsValue.includeRetweets)
105
+ excludeArr.push('retweets');
106
+ if (!ctx.propsValue.includeReplies)
107
+ excludeArr.push('replies');
108
+ const excludeParam = excludeArr.length === 0 ? undefined : excludeArr.length === 1 ? excludeArr[0] : excludeArr;
109
+ const key = storeKey(me.data.id, !!ctx.propsValue.includeRetweets, !!ctx.propsValue.includeReplies);
110
+ const sinceIdRaw = yield ctx.store.get(key);
111
+ const since_id = sinceIdRaw !== null && sinceIdRaw !== void 0 ? sinceIdRaw : undefined;
112
+ const res = yield client.v2.userTimeline(me.data.id, Object.assign(Object.assign({ max_results: (0, __1.clamp)((_a = ctx.propsValue.maxResults) !== null && _a !== void 0 ? _a : 50, 10, 100) }, (since_id ? { since_id } : {})), { exclude: excludeParam, 'tweet.fields': ['id', 'text', 'created_at', 'referenced_tweets'] }));
113
+ const tweets = (_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : [];
114
+ if (!tweets.length)
115
+ return [];
116
+ let newest = since_id;
117
+ const out = tweets.map((t) => {
118
+ newest = maxId(newest, t.id);
119
+ return { id: t.id, data: Object.assign(Object.assign({}, t), { [pieces_framework_1.DEDUPE_KEY_PROPERTY]: t.id }) };
120
+ });
121
+ if (newest)
122
+ yield ctx.store.put(key, newest);
123
+ return out;
62
124
  });
63
125
  },
64
126
  });
@@ -1 +1 @@
1
- {"version":3,"file":"new-posts-from-me.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/triggers/new-posts-from-me.ts"],"names":[],"mappings":";;;;AAAA,qEAM0C;AACxC,+DAA4E;AAC5E,kCAAsC;AACtC,0BAA0C;AAE1C,MAAM,KAAK,GAAG,KAMX,EAAE,oDANgB,EACnB,IAAI,EACJ,UAAU,GAIX;;IACC,MAAM,MAAM,GAAG,IAAA,iBAAa,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAEhC,0EAA0E;IAC1E,MAAM,UAAU,GAAkC,EAAE,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,eAAe;QAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,CAAC,cAAc;QAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,YAAY,GAChB,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAE7F,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;QACnD,WAAW,EAAE,IAAA,SAAK,EAAC,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;QACxD,OAAO,EAAE,YAAY;QACrB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,CAAC;KAClE,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC3B,EAAE,EAAE,CAAC,CAAC,EAAY;QAClB,IAAI,kCAAO,CAAC,KAAE,CAAC,sCAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAE;KAC5C,CAAC,CAAC,CAAC;AACN,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,8BAAc,CAAC,SAAkB,EAAE,KAAK,EAAE,CAAC;AAE1D,QAAA,qBAAqB,GAAG,IAAA,gCAAa,EAAC;IACjD,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,kCAAe,CAAC,OAAO;IAC7B,KAAK,EAAE;QACL,eAAe,EAAE,2BAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC7G,cAAc,EAAE,2BAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC3G,UAAU,EAAE,2BAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KAChG;IACD,UAAU,EAAE,EAAE;IACR,QAAQ,CAAC,GAAG;;YAChB,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAU,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,SAAS,CAAC,GAAG;;YACjB,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE,GAAU,CAAC,CAAC;QACrD,CAAC;KAAA;IACK,IAAI,CAAC,GAAG;;YACZ,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAc,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;KAAA;IACK,GAAG,CAAC,GAAG;;YACX,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAc,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"new-posts-from-me.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/triggers/new-posts-from-me.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,13 @@ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
2
  export declare const newSearchMatchTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
3
3
  query: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
4
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
5
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
5
6
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
6
7
  query: import("@activepieces/pieces-framework").ShortTextProperty<true>;
7
8
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
9
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
10
  }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
9
11
  query: import("@activepieces/pieces-framework").ShortTextProperty<true>;
10
12
  maxResults: import("@activepieces/pieces-framework").NumberProperty<false>;
13
+ seedOnEnable: import("@activepieces/pieces-framework").CheckboxProperty<false>;
11
14
  }>;
@@ -2,24 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.newSearchMatchTrigger = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ // src/lib/triggers/new-search-match.ts
5
6
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
7
  const auth_1 = require("../auth");
8
8
  const __1 = require("..");
9
- const items = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, }) {
10
- var _b, _c;
11
- const client = (0, __1.twitterClient)(auth);
12
- const res = yield client.v2.search(propsValue.query, {
13
- max_results: (0, __1.clamp)((_b = propsValue.maxResults) !== null && _b !== void 0 ? _b : 20, 10, 100),
14
- 'tweet.fields': ['id', 'text', 'created_at'],
15
- });
16
- const data = (_c = res.data.data) !== null && _c !== void 0 ? _c : [];
17
- return data.map((d) => ({
18
- id: d.id,
19
- data: Object.assign(Object.assign({}, d), { [pieces_framework_1.DEDUPE_KEY_PROPERTY]: d.id }),
20
- }));
9
+ const crypto_1 = tslib_1.__importDefault(require("crypto"));
10
+ const queryKey = (q) => `x:last_search_id:${crypto_1.default.createHash('sha1').update(q).digest('hex')}`;
11
+ const clearStoreKey = (store, key) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
+ if (typeof store.delete === 'function')
13
+ yield store.delete(key);
14
+ else
15
+ yield store.put(key, undefined);
21
16
  });
22
- const polling = { strategy: pieces_common_1.DedupeStrategy.LAST_ITEM, items };
17
+ const maxId = (a, b) => {
18
+ if (!a)
19
+ return b;
20
+ if (!b)
21
+ return a;
22
+ return BigInt(a) >= BigInt(b) ? a : b;
23
+ };
23
24
  exports.newSearchMatchTrigger = (0, pieces_framework_1.createTrigger)({
24
25
  auth: auth_1.twitterAuth,
25
26
  name: 'twitter-new-search-match',
@@ -28,27 +29,71 @@ exports.newSearchMatchTrigger = (0, pieces_framework_1.createTrigger)({
28
29
  type: pieces_framework_1.TriggerStrategy.POLLING,
29
30
  props: {
30
31
  query: pieces_framework_1.Property.ShortText({ displayName: 'Query', required: true }),
31
- maxResults: pieces_framework_1.Property.Number({ displayName: 'Max per poll', defaultValue: 20, required: false }),
32
+ maxResults: pieces_framework_1.Property.Number({ displayName: 'Max per poll', defaultValue: 50, required: false }),
33
+ seedOnEnable: pieces_framework_1.Property.Checkbox({
34
+ displayName: 'Seed checkpoint on enable',
35
+ description: 'If ON, start from the latest match (no backlog).',
36
+ defaultValue: true,
37
+ required: false,
38
+ }),
39
+ },
40
+ sampleData: {
41
+ id: '1234567890123456789',
42
+ text: 'Example match',
43
+ created_at: '2025-09-03T22:19:40.000Z',
32
44
  },
33
- sampleData: {},
34
45
  onEnable(ctx) {
35
46
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
- yield pieces_common_1.pollingHelper.onEnable(polling, ctx);
47
+ var _a, _b, _c;
48
+ if (!ctx.propsValue.seedOnEnable)
49
+ return;
50
+ const client = (0, __1.twitterClient)(ctx.auth);
51
+ const res = yield client.v2.search(ctx.propsValue.query, {
52
+ max_results: 5,
53
+ 'tweet.fields': ['id'],
54
+ });
55
+ const latest = (_c = (_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.id;
56
+ if (latest)
57
+ yield ctx.store.put(queryKey(ctx.propsValue.query), latest);
37
58
  });
38
59
  },
39
60
  onDisable(ctx) {
40
61
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
41
- yield pieces_common_1.pollingHelper.onDisable(polling, ctx);
62
+ yield clearStoreKey(ctx.store, queryKey(ctx.propsValue.query));
42
63
  });
43
64
  },
65
+ // Test: show a couple of recent matches, don’t touch checkpoint
44
66
  test(ctx) {
45
67
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
- return yield pieces_common_1.pollingHelper.test(polling, ctx);
68
+ var _a, _b, _c;
69
+ const client = (0, __1.twitterClient)(ctx.auth);
70
+ const res = yield client.v2.search(ctx.propsValue.query, {
71
+ max_results: (0, __1.clamp)((_a = ctx.propsValue.maxResults) !== null && _a !== void 0 ? _a : 10, 10, 100),
72
+ 'tweet.fields': ['id', 'text', 'created_at'],
73
+ });
74
+ const data = (_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : [];
75
+ return data.slice(0, 2).map((d) => ({ id: d.id, data: d }));
47
76
  });
48
77
  },
49
78
  run(ctx) {
50
79
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
- return yield pieces_common_1.pollingHelper.poll(polling, ctx);
80
+ var _a, _b, _c;
81
+ const client = (0, __1.twitterClient)(ctx.auth);
82
+ const key = queryKey(ctx.propsValue.query);
83
+ const sinceIdRaw = yield ctx.store.get(key);
84
+ const since_id = sinceIdRaw !== null && sinceIdRaw !== void 0 ? sinceIdRaw : undefined;
85
+ const res = yield client.v2.search(ctx.propsValue.query, Object.assign(Object.assign({ max_results: (0, __1.clamp)((_a = ctx.propsValue.maxResults) !== null && _a !== void 0 ? _a : 50, 10, 100) }, (since_id ? { since_id } : {})), { 'tweet.fields': ['id', 'text', 'created_at'] }));
86
+ const hits = (_c = (_b = res.data) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : [];
87
+ if (!hits.length)
88
+ return [];
89
+ let newest = since_id;
90
+ const out = hits.map((t) => {
91
+ newest = maxId(newest, t.id);
92
+ return { id: t.id, data: Object.assign(Object.assign({}, t), { [pieces_framework_1.DEDUPE_KEY_PROPERTY]: t.id }) };
93
+ });
94
+ if (newest)
95
+ yield ctx.store.put(key, newest);
96
+ return out;
52
97
  });
53
98
  },
54
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"new-search-match.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/triggers/new-search-match.ts"],"names":[],"mappings":";;;;AAAA,qEAM0C;AACxC,+DAA4E;AAC5E,kCAAsC;AACtC,0BAA0C;AAE1C,MAAM,KAAK,GAAG,KAMX,EAAE,oDANgB,EACnB,IAAI,EACJ,UAAU,GAIX;;IACC,MAAM,MAAM,GAAG,IAAA,iBAAa,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE;QACnD,WAAW,EAAE,IAAA,SAAK,EAAC,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;QACxD,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC3B,EAAE,EAAE,CAAC,CAAC,EAAY;QAClB,IAAI,kCAAO,CAAC,KAAE,CAAC,sCAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAE;KAC5C,CAAC,CAAC,CAAC;AACN,CAAC,CAAA,CAAC;AAEF,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,8BAAc,CAAC,SAAkB,EAAE,KAAK,EAAE,CAAC;AAE1D,QAAA,qBAAqB,GAAG,IAAA,gCAAa,EAAC;IACjD,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,+CAA+C;IAC5D,IAAI,EAAE,kCAAe,CAAC,OAAO;IAC7B,KAAK,EAAE;QACL,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnE,UAAU,EAAE,2BAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KAChG;IACD,UAAU,EAAE,EAAE;IACR,QAAQ,CAAC,GAAG;;YAChB,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAU,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,SAAS,CAAC,GAAG;;YACjB,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE,GAAU,CAAC,CAAC;QACrD,CAAC;KAAA;IACK,IAAI,CAAC,GAAG;;YACZ,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAc,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;KAAA;IACK,GAAG,CAAC,GAAG;;YACX,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAc,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"new-search-match.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/triggers/new-search-match.ts"],"names":[],"mappings":"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"}
Binary file