@skillful-ai/piece-x 0.0.9 → 0.0.11
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/README.md +7 -0
- package/package.json +1 -1
- package/src/lib/common/actions/get-latest-mentions.js +4 -4
- package/src/lib/common/actions/get-latest-mentions.js.map +1 -1
- package/src/lib/common/actions/get-own-posts.js +3 -3
- package/src/lib/common/actions/get-own-posts.js.map +1 -1
- package/src/lib/common/actions/get-replies.js +3 -3
- package/src/lib/common/actions/get-replies.js.map +1 -1
- package/src/lib/common/index.d.ts +1 -0
- package/src/lib/common/index.js +29 -0
- package/src/lib/common/index.js.map +1 -1
package/README.md
ADDED
package/package.json
CHANGED
|
@@ -46,19 +46,19 @@ exports.getLatestMentionsAction = (0, pieces_framework_1.createAction)({
|
|
|
46
46
|
var _a, _b, _c, _d;
|
|
47
47
|
const client = (0, __1.twitterClient)(ctx.auth);
|
|
48
48
|
const { handle, maxResults, useMemory } = ctx.propsValue;
|
|
49
|
-
const me = yield client.v2.me();
|
|
49
|
+
const me = yield (0, __1.withRateLimitRetry)(() => client.v2.me());
|
|
50
50
|
const targetId = handle
|
|
51
|
-
? (yield client.v2.userByUsername(handle.replace(/^@/, ''))).data.id
|
|
51
|
+
? (yield (0, __1.withRateLimitRetry)(() => client.v2.userByUsername(handle.replace(/^@/, '')))).data.id
|
|
52
52
|
: me.data.id;
|
|
53
53
|
const memKey = (0, __1.storeKey)(['mentions:last_id', targetId]);
|
|
54
54
|
const sinceId = useMemory ? yield ctx.store.get(memKey) : undefined;
|
|
55
|
-
const res = yield client.v2.userMentionTimeline(targetId, {
|
|
55
|
+
const res = yield (0, __1.withRateLimitRetry)(() => client.v2.userMentionTimeline(targetId, {
|
|
56
56
|
max_results: (0, __1.clamp)(maxResults !== null && maxResults !== void 0 ? maxResults : 20, 10, 100),
|
|
57
57
|
since_id: sinceId || undefined,
|
|
58
58
|
'tweet.fields': ['id', 'text', 'created_at', 'author_id', 'conversation_id', 'in_reply_to_user_id'],
|
|
59
59
|
expansions: ['author_id'],
|
|
60
60
|
'user.fields': ['username', 'name', 'profile_image_url', 'verified', 'verified_type'],
|
|
61
|
-
});
|
|
61
|
+
}));
|
|
62
62
|
const tweets = (_a = res.data.data) !== null && _a !== void 0 ? _a : [];
|
|
63
63
|
const users = (_c = (_b = res.data.includes) === null || _b === void 0 ? void 0 : _b.users) !== null && _c !== void 0 ? _c : [];
|
|
64
64
|
const newest = (_d = res.data.meta) === null || _d === void 0 ? void 0 : _d.newest_id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-latest-mentions.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/actions/get-latest-mentions.ts"],"names":[],"mappings":";;;;AAAA,qEAA6F;AAC7F,kCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"get-latest-mentions.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/actions/get-latest-mentions.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ exports.getOwnLatestPostsAction = (0, pieces_framework_1.createAction)({
|
|
|
51
51
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
52
52
|
var _a, _b, _c;
|
|
53
53
|
const client = (0, __1.twitterClient)(ctx.auth);
|
|
54
|
-
const me = yield client.v2.me();
|
|
54
|
+
const me = yield (0, __1.withRateLimitRetry)(() => client.v2.me());
|
|
55
55
|
const { count, includeRetweets, includeReplies, useMemory } = ctx.propsValue;
|
|
56
56
|
const memKey = (0, __1.storeKey)(['own:last_id', me.data.id]);
|
|
57
57
|
const sinceId = useMemory ? yield ctx.store.get(memKey) : undefined;
|
|
@@ -63,14 +63,14 @@ exports.getOwnLatestPostsAction = (0, pieces_framework_1.createAction)({
|
|
|
63
63
|
excludeArr.push('replies');
|
|
64
64
|
// TypeOrArrayOf<'retweets' | 'replies'> | undefined
|
|
65
65
|
const excludeParam = excludeArr.length === 0 ? undefined : (excludeArr.length === 1 ? excludeArr[0] : excludeArr);
|
|
66
|
-
const res = yield client.v2.userTimeline(me.data.id, {
|
|
66
|
+
const res = yield (0, __1.withRateLimitRetry)(() => client.v2.userTimeline(me.data.id, {
|
|
67
67
|
max_results: (0, __1.clamp)(count !== null && count !== void 0 ? count : 20, 10, 100),
|
|
68
68
|
since_id: sinceId || undefined,
|
|
69
69
|
exclude: excludeParam, // 👈 now correctly typed
|
|
70
70
|
'tweet.fields': ['id', 'text', 'created_at', 'conversation_id', 'referenced_tweets', 'attachments'],
|
|
71
71
|
'expansions': ['attachments.media_keys'],
|
|
72
72
|
'media.fields': ['url', 'preview_image_url', 'type', 'width', 'height'],
|
|
73
|
-
});
|
|
73
|
+
}));
|
|
74
74
|
const tweets = (_a = res.data.data) !== null && _a !== void 0 ? _a : [];
|
|
75
75
|
const mediaMap = new Map();
|
|
76
76
|
// Build a map of media_key -> media object from includes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-own-posts.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/actions/get-own-posts.ts"],"names":[],"mappings":";;;;AAAA,qEAA6F;AAC7F,kCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"get-own-posts.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/actions/get-own-posts.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,15 +45,15 @@ exports.getRepliesAction = (0, pieces_framework_1.createAction)({
|
|
|
45
45
|
var _a, _b;
|
|
46
46
|
const client = (0, __1.twitterClient)(ctx.auth);
|
|
47
47
|
const { postId, maxResults, useMemory } = ctx.propsValue;
|
|
48
|
-
const t = yield client.v2.singleTweet(postId, { 'tweet.fields': ['conversation_id'] });
|
|
48
|
+
const t = yield (0, __1.withRateLimitRetry)(() => client.v2.singleTweet(postId, { 'tweet.fields': ['conversation_id'] }));
|
|
49
49
|
const convId = t.data.conversation_id;
|
|
50
50
|
const memKey = (0, __1.storeKey)(['replies:last_id', postId]);
|
|
51
51
|
const sinceId = useMemory ? yield ctx.store.get(memKey) : undefined;
|
|
52
|
-
const res = yield client.v2.search(`conversation_id:${convId}`, {
|
|
52
|
+
const res = yield (0, __1.withRateLimitRetry)(() => client.v2.search(`conversation_id:${convId}`, {
|
|
53
53
|
max_results: (0, __1.clamp)(maxResults !== null && maxResults !== void 0 ? maxResults : 20, 10, 100),
|
|
54
54
|
since_id: sinceId || undefined,
|
|
55
55
|
'tweet.fields': ['id', 'text', 'created_at', 'author_id', 'in_reply_to_user_id'],
|
|
56
|
-
});
|
|
56
|
+
}));
|
|
57
57
|
const tweets = ((_a = res.data.data) !== null && _a !== void 0 ? _a : []).filter((x) => x.id !== postId);
|
|
58
58
|
const newest = (_b = res.data.meta) === null || _b === void 0 ? void 0 : _b.newest_id;
|
|
59
59
|
if (useMemory && newest)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-replies.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/actions/get-replies.ts"],"names":[],"mappings":";;;;AAAA,qEAA6F;AAC7F,kCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"get-replies.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/custom/x/src/lib/common/actions/get-replies.ts"],"names":[],"mappings":";;;;AAAA,qEAA6F;AAC7F,kCAAsC;AACtC,0BAAwE;AAE3D,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,kBAAW;IACjB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE;;;;;;;;;;;8QAW+P;IAC5Q,KAAK,EAAE;QACL,MAAM,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACzB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,uIAAuI;SACrJ,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,aAAa;YAC1B,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,0HAA0H;SACxI,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC3B,WAAW,EAAE,yBAAyB;YACtC,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,+IAA+I;SAC7J,CAAC;KACH;IACK,GAAG,CAAC,GAAG;;;YACX,MAAM,MAAM,GAAG,IAAA,iBAAa,EAAC,GAAG,CAAC,IAA2B,CAAC,CAAC;YAC9D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,UAA0E,CAAC;YAEzH,MAAM,CAAC,GAAG,MAAM,IAAA,sBAAkB,EAAC,GAAG,EAAE,CACtC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CACvE,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YAEtC,MAAM,MAAM,GAAG,IAAA,YAAQ,EAAC,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAS,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE5E,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAkB,EAAC,GAAG,EAAE,CACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,MAAM,EAAE,EAAE;gBAC5C,WAAW,EAAE,IAAA,SAAK,EAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;gBAC7C,QAAQ,EAAE,OAAO,IAAI,SAAS;gBAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,CAAC;aACjF,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,MAAA,GAAG,CAAC,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAA,GAAG,CAAC,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAC;YACxC,IAAI,SAAS,IAAI,MAAM;gBAAE,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE7D,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -12,6 +12,7 @@ export declare function uploadMediaV2(auth: OAuth2PropertyValue, file: {
|
|
|
12
12
|
mimeType?: string;
|
|
13
13
|
fileName?: string;
|
|
14
14
|
}): Promise<string>;
|
|
15
|
+
export declare function withRateLimitRetry<T>(fn: () => Promise<T>, maxRetries?: number): Promise<T>;
|
|
15
16
|
export declare function toBig(v?: string): bigint | undefined;
|
|
16
17
|
export declare function newestIdBig(items: Array<{
|
|
17
18
|
id: string;
|
package/src/lib/common/index.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.twitterClient = twitterClient;
|
|
|
4
4
|
exports.clamp = clamp;
|
|
5
5
|
exports.storeKey = storeKey;
|
|
6
6
|
exports.uploadMediaV2 = uploadMediaV2;
|
|
7
|
+
exports.withRateLimitRetry = withRateLimitRetry;
|
|
7
8
|
exports.toBig = toBig;
|
|
8
9
|
exports.newestIdBig = newestIdBig;
|
|
9
10
|
const tslib_1 = require("tslib");
|
|
@@ -114,6 +115,34 @@ function uploadMediaV2(auth, file) {
|
|
|
114
115
|
return mediaId; // use in create tweet body
|
|
115
116
|
});
|
|
116
117
|
}
|
|
118
|
+
// --- Rate limit retry helper ---
|
|
119
|
+
function withRateLimitRetry(fn_1) {
|
|
120
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* (fn, maxRetries = 2) {
|
|
121
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
122
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
123
|
+
try {
|
|
124
|
+
return yield fn();
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
const status = (_d = (_c = (_b = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : err === null || err === void 0 ? void 0 : err.code) !== null && _c !== void 0 ? _c : err === null || err === void 0 ? void 0 : err.status) !== null && _d !== void 0 ? _d : err === null || err === void 0 ? void 0 : err.statusCode;
|
|
128
|
+
if (status === 429 && attempt < maxRetries) {
|
|
129
|
+
// Try to read reset time from rate limit headers
|
|
130
|
+
const resetEpoch = (_f = (_e = err === null || err === void 0 ? void 0 : err.rateLimit) === null || _e === void 0 ? void 0 : _e.reset) !== null && _f !== void 0 ? _f : (_h = (_g = err === null || err === void 0 ? void 0 : err.response) === null || _g === void 0 ? void 0 : _g.headers) === null || _h === void 0 ? void 0 : _h['x-rate-limit-reset'];
|
|
131
|
+
let waitMs = 15000; // default 15s
|
|
132
|
+
if (resetEpoch) {
|
|
133
|
+
waitMs = Math.max(1000, Number(resetEpoch) * 1000 - Date.now());
|
|
134
|
+
}
|
|
135
|
+
// Cap wait at 60s to avoid hanging
|
|
136
|
+
waitMs = Math.min(waitMs, 60000);
|
|
137
|
+
yield new Promise((r) => setTimeout(r, waitMs));
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
throw err;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
throw new Error('Rate limit retries exhausted');
|
|
144
|
+
});
|
|
145
|
+
}
|
|
117
146
|
// --- Snowflake helpers ---
|
|
118
147
|
function toBig(v) {
|
|
119
148
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/x/src/lib/common/index.ts"],"names":[],"mappings":";;AAGA,sCAGC;AAED,sBAEC;AAED,4BAEC;AAmDD,sCA2EG;AAGH,sBAEG;AAED,kCAQC;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/custom/x/src/lib/common/index.ts"],"names":[],"mappings":"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"}
|