@agnocon/piece-bluesky 0.1.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.
- package/LICENSE.MIT-AP +24 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/actions/create-post.d.ts +21 -0
- package/dist/lib/actions/create-post.d.ts.map +1 -0
- package/dist/lib/actions/create-post.js +379 -0
- package/dist/lib/actions/create-post.js.map +1 -0
- package/dist/lib/actions/find-post.d.ts +8 -0
- package/dist/lib/actions/find-post.d.ts.map +1 -0
- package/dist/lib/actions/find-post.js +77 -0
- package/dist/lib/actions/find-post.js.map +1 -0
- package/dist/lib/actions/find-thread.d.ts +10 -0
- package/dist/lib/actions/find-thread.d.ts.map +1 -0
- package/dist/lib/actions/find-thread.js +117 -0
- package/dist/lib/actions/find-thread.js.map +1 -0
- package/dist/lib/actions/like-post.d.ts +14 -0
- package/dist/lib/actions/like-post.d.ts.map +1 -0
- package/dist/lib/actions/like-post.js +129 -0
- package/dist/lib/actions/like-post.js.map +1 -0
- package/dist/lib/actions/repost.d.ts +14 -0
- package/dist/lib/actions/repost.d.ts.map +1 -0
- package/dist/lib/actions/repost.js +132 -0
- package/dist/lib/actions/repost.js.map +1 -0
- package/dist/lib/common/auth.d.ts +11 -0
- package/dist/lib/common/auth.d.ts.map +1 -0
- package/dist/lib/common/auth.js +75 -0
- package/dist/lib/common/auth.js.map +1 -0
- package/dist/lib/common/client.d.ts +8 -0
- package/dist/lib/common/client.d.ts.map +1 -0
- package/dist/lib/common/client.js +47 -0
- package/dist/lib/common/client.js.map +1 -0
- package/dist/lib/common/props.d.ts +45 -0
- package/dist/lib/common/props.d.ts.map +1 -0
- package/dist/lib/common/props.js +360 -0
- package/dist/lib/common/props.js.map +1 -0
- package/dist/lib/triggers/new-follower-on-account.d.ts +19 -0
- package/dist/lib/triggers/new-follower-on-account.d.ts.map +1 -0
- package/dist/lib/triggers/new-follower-on-account.js +116 -0
- package/dist/lib/triggers/new-follower-on-account.js.map +1 -0
- package/dist/lib/triggers/new-post.d.ts +75 -0
- package/dist/lib/triggers/new-post.d.ts.map +1 -0
- package/dist/lib/triggers/new-post.js +214 -0
- package/dist/lib/triggers/new-post.js.map +1 -0
- package/dist/lib/triggers/new-posts-by-author.d.ts +59 -0
- package/dist/lib/triggers/new-posts-by-author.d.ts.map +1 -0
- package/dist/lib/triggers/new-posts-by-author.js +243 -0
- package/dist/lib/triggers/new-posts-by-author.js.map +1 -0
- package/dist/lib/triggers/new-timeline-posts.d.ts +19 -0
- package/dist/lib/triggers/new-timeline-posts.d.ts.map +1 -0
- package/dist/lib/triggers/new-timeline-posts.js +143 -0
- package/dist/lib/triggers/new-timeline-posts.js.map +1 -0
- package/package.json +48 -0
- package/src/index.ts +25 -0
- package/src/lib/actions/create-post.ts +444 -0
- package/src/lib/actions/find-post.ts +76 -0
- package/src/lib/actions/find-thread.ts +121 -0
- package/src/lib/actions/like-post.ts +128 -0
- package/src/lib/actions/repost.ts +132 -0
- package/src/lib/common/auth.ts +74 -0
- package/src/lib/common/client.ts +42 -0
- package/src/lib/common/props.ts +392 -0
- package/src/lib/triggers/new-follower-on-account.ts +112 -0
- package/src/lib/triggers/new-post.ts +225 -0
- package/src/lib/triggers/new-posts-by-author.ts +252 -0
- package/src/lib/triggers/new-timeline-posts.ts +141 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const languageOptions: {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
}[];
|
|
5
|
+
export declare const languageDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
6
|
+
export declare const multiLanguageDropdown: import("@agnocon/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
|
|
7
|
+
export declare const threadDepthDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
8
|
+
export declare const parentHeightDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
9
|
+
export declare const visibilityDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
10
|
+
export declare const moderationLabelDropdown: import("@agnocon/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
|
|
11
|
+
export declare const postUrlProperty: import("@agnocon/pieces-framework").ShortTextProperty<true>;
|
|
12
|
+
export declare const userHandleProperty: import("@agnocon/pieces-framework").ShortTextProperty<true>;
|
|
13
|
+
export declare const authorSelectionProperty: import("@agnocon/pieces-framework").DropdownProperty<any, false, import("@agnocon/pieces-framework").CustomAuthProperty<{
|
|
14
|
+
pdsHost: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
15
|
+
identifier: import("@agnocon/pieces-framework").ShortTextProperty<true>;
|
|
16
|
+
password: import("@agnocon/pieces-framework").SecretTextProperty<true>;
|
|
17
|
+
}>>;
|
|
18
|
+
export declare const postSearchProperty: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
19
|
+
export declare const postTextProperty: import("@agnocon/pieces-framework").LongTextProperty<true>;
|
|
20
|
+
export declare const imageUrlsProperty: import("@agnocon/pieces-framework").ArrayProperty<false>;
|
|
21
|
+
export declare const imageDescriptionsProperty: import("@agnocon/pieces-framework").ArrayProperty<false>;
|
|
22
|
+
export declare const linkUrlProperty: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
23
|
+
export declare const replyToPostProperty: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
24
|
+
export declare const postTypeDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
25
|
+
export declare const simpleLanguageDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
26
|
+
export declare const replyDepthDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
27
|
+
export declare const parentPostsDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
28
|
+
export declare const contentWarningDropdown: import("@agnocon/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
|
|
29
|
+
export declare const audienceDropdown: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
|
|
30
|
+
export declare function extractPostInfoFromUrl(url: string): {
|
|
31
|
+
uri?: string;
|
|
32
|
+
handle?: string;
|
|
33
|
+
postId?: string;
|
|
34
|
+
};
|
|
35
|
+
export declare function normalizeHandle(handle: string): string;
|
|
36
|
+
export declare function createSimpleExternalLink(url: string): {
|
|
37
|
+
uri: string;
|
|
38
|
+
title: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
};
|
|
41
|
+
export declare const postUriProperty: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
42
|
+
export declare const externalLinkProperty: import("@agnocon/pieces-framework").ObjectProperty<false>;
|
|
43
|
+
export declare const replyToProperty: import("@agnocon/pieces-framework").ObjectProperty<false>;
|
|
44
|
+
export declare function parseBlueskyUrl(url: string, agent: any): Promise<string>;
|
|
45
|
+
//# sourceMappingURL=props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/lib/common/props.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;GA+B3B,CAAC;AAGF,eAAO,MAAM,gBAAgB,2EAO3B,CAAC;AAEH,eAAO,MAAM,qBAAqB,sFAOhC,CAAC;AAEH,eAAO,MAAM,mBAAmB,2EAiB9B,CAAC;AAEH,eAAO,MAAM,oBAAoB,2EAiB/B,CAAC;AAEH,eAAO,MAAM,kBAAkB,2EAW7B,CAAC;AAEH,eAAO,MAAM,uBAAuB,sFAgBlC,CAAC;AAEH,eAAO,MAAM,eAAe,6DAI1B,CAAC;AAEH,eAAO,MAAM,kBAAkB,6DAI7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;GAoClC,CAAC;AAEH,eAAO,MAAM,kBAAkB,8DAI7B,CAAC;AAEH,eAAO,MAAM,gBAAgB,4DAI3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,0DAI5B,CAAC;AAEH,eAAO,MAAM,yBAAyB,0DAIpC,CAAC;AAEH,eAAO,MAAM,eAAe,8DAI1B,CAAC;AAEH,eAAO,MAAM,mBAAmB,8DAI9B,CAAC;AAEH,eAAO,MAAM,gBAAgB,2EAc3B,CAAC;AAEH,eAAO,MAAM,sBAAsB,2EAwBjC,CAAC;AAEH,eAAO,MAAM,kBAAkB,2EAa7B,CAAC;AAEH,eAAO,MAAM,mBAAmB,2EAa9B,CAAC;AAEH,eAAO,MAAM,sBAAsB,sFAajC,CAAC;AAEH,eAAO,MAAM,gBAAgB,2EAY3B,CAAC;AAEH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBtG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAM1G;AAGD,eAAO,MAAM,eAAe,8DAI1B,CAAC;AAEH,eAAO,MAAM,oBAAoB,2DAI/B,CAAC;AAEH,eAAO,MAAM,eAAe,2DAI1B,CAAC;AAIH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB9E"}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replyToProperty = exports.externalLinkProperty = exports.postUriProperty = exports.audienceDropdown = exports.contentWarningDropdown = exports.parentPostsDropdown = exports.replyDepthDropdown = exports.simpleLanguageDropdown = exports.postTypeDropdown = exports.replyToPostProperty = exports.linkUrlProperty = exports.imageDescriptionsProperty = exports.imageUrlsProperty = exports.postTextProperty = exports.postSearchProperty = exports.authorSelectionProperty = exports.userHandleProperty = exports.postUrlProperty = exports.moderationLabelDropdown = exports.visibilityDropdown = exports.parentHeightDropdown = exports.threadDepthDropdown = exports.multiLanguageDropdown = exports.languageDropdown = exports.languageOptions = void 0;
|
|
4
|
+
exports.extractPostInfoFromUrl = extractPostInfoFromUrl;
|
|
5
|
+
exports.normalizeHandle = normalizeHandle;
|
|
6
|
+
exports.createSimpleExternalLink = createSimpleExternalLink;
|
|
7
|
+
exports.parseBlueskyUrl = parseBlueskyUrl;
|
|
8
|
+
const tslib_1 = require("tslib");
|
|
9
|
+
// Vendored from Activepieces packages/pieces/community/bluesky/src/lib/common/props.ts (MIT).
|
|
10
|
+
// Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
|
|
11
|
+
const pieces_framework_1 = require("@agnocon/pieces-framework");
|
|
12
|
+
const auth_1 = require("./auth");
|
|
13
|
+
exports.languageOptions = [
|
|
14
|
+
{ label: 'English', value: 'en' },
|
|
15
|
+
{ label: 'Spanish', value: 'es' },
|
|
16
|
+
{ label: 'French', value: 'fr' },
|
|
17
|
+
{ label: 'German', value: 'de' },
|
|
18
|
+
{ label: 'Italian', value: 'it' },
|
|
19
|
+
{ label: 'Portuguese', value: 'pt' },
|
|
20
|
+
{ label: 'Russian', value: 'ru' },
|
|
21
|
+
{ label: 'Japanese', value: 'ja' },
|
|
22
|
+
{ label: 'Korean', value: 'ko' },
|
|
23
|
+
{ label: 'Chinese (Simplified)', value: 'zh' },
|
|
24
|
+
{ label: 'Chinese (Traditional)', value: 'zh-TW' },
|
|
25
|
+
{ label: 'Arabic', value: 'ar' },
|
|
26
|
+
{ label: 'Hindi', value: 'hi' },
|
|
27
|
+
{ label: 'Dutch', value: 'nl' },
|
|
28
|
+
{ label: 'Swedish', value: 'sv' },
|
|
29
|
+
{ label: 'Norwegian', value: 'no' },
|
|
30
|
+
{ label: 'Danish', value: 'da' },
|
|
31
|
+
{ label: 'Finnish', value: 'fi' },
|
|
32
|
+
{ label: 'Polish', value: 'pl' },
|
|
33
|
+
{ label: 'Czech', value: 'cs' },
|
|
34
|
+
{ label: 'Hungarian', value: 'hu' },
|
|
35
|
+
{ label: 'Romanian', value: 'ro' },
|
|
36
|
+
{ label: 'Greek', value: 'el' },
|
|
37
|
+
{ label: 'Turkish', value: 'tr' },
|
|
38
|
+
{ label: 'Hebrew', value: 'he' },
|
|
39
|
+
{ label: 'Thai', value: 'th' },
|
|
40
|
+
{ label: 'Vietnamese', value: 'vi' },
|
|
41
|
+
{ label: 'Indonesian', value: 'id' },
|
|
42
|
+
{ label: 'Malay', value: 'ms' },
|
|
43
|
+
{ label: 'Filipino', value: 'fil' },
|
|
44
|
+
];
|
|
45
|
+
exports.languageDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
46
|
+
displayName: 'Language',
|
|
47
|
+
description: 'Select the language for the post',
|
|
48
|
+
required: false,
|
|
49
|
+
options: {
|
|
50
|
+
options: exports.languageOptions,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
exports.multiLanguageDropdown = pieces_framework_1.Property.StaticMultiSelectDropdown({
|
|
54
|
+
displayName: 'Languages',
|
|
55
|
+
description: 'Select one or more languages for the post',
|
|
56
|
+
required: false,
|
|
57
|
+
options: {
|
|
58
|
+
options: exports.languageOptions,
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
exports.threadDepthDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
62
|
+
displayName: 'Thread Depth',
|
|
63
|
+
description: 'How many levels deep to retrieve replies',
|
|
64
|
+
required: false,
|
|
65
|
+
defaultValue: '10',
|
|
66
|
+
options: {
|
|
67
|
+
options: [
|
|
68
|
+
{ label: '1 level', value: '1' },
|
|
69
|
+
{ label: '2 levels', value: '2' },
|
|
70
|
+
{ label: '3 levels', value: '3' },
|
|
71
|
+
{ label: '5 levels', value: '5' },
|
|
72
|
+
{ label: '10 levels', value: '10' },
|
|
73
|
+
{ label: '20 levels', value: '20' },
|
|
74
|
+
{ label: '50 levels', value: '50' },
|
|
75
|
+
{ label: '100 levels (max)', value: '100' },
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
exports.parentHeightDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
80
|
+
displayName: 'Parent Height',
|
|
81
|
+
description: 'How many parent posts to retrieve',
|
|
82
|
+
required: false,
|
|
83
|
+
defaultValue: '3',
|
|
84
|
+
options: {
|
|
85
|
+
options: [
|
|
86
|
+
{ label: 'No parents', value: '0' },
|
|
87
|
+
{ label: '1 parent', value: '1' },
|
|
88
|
+
{ label: '2 parents', value: '2' },
|
|
89
|
+
{ label: '3 parents', value: '3' },
|
|
90
|
+
{ label: '5 parents', value: '5' },
|
|
91
|
+
{ label: '10 parents', value: '10' },
|
|
92
|
+
{ label: '20 parents', value: '20' },
|
|
93
|
+
{ label: 'All parents (80 max)', value: '80' },
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
exports.visibilityDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
98
|
+
displayName: 'Visibility',
|
|
99
|
+
description: 'Post visibility setting',
|
|
100
|
+
required: false,
|
|
101
|
+
defaultValue: 'public',
|
|
102
|
+
options: {
|
|
103
|
+
options: [
|
|
104
|
+
{ label: 'Public', value: 'public' },
|
|
105
|
+
{ label: 'Unlisted', value: 'unlisted' },
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
exports.moderationLabelDropdown = pieces_framework_1.Property.StaticMultiSelectDropdown({
|
|
110
|
+
displayName: 'Content Labels',
|
|
111
|
+
description: 'Apply content moderation labels to the post',
|
|
112
|
+
required: false,
|
|
113
|
+
options: {
|
|
114
|
+
options: [
|
|
115
|
+
{ label: 'Adult Content', value: 'adult' },
|
|
116
|
+
{ label: 'Graphic Media', value: 'graphic-media' },
|
|
117
|
+
{ label: 'Nudity', value: 'nudity' },
|
|
118
|
+
{ label: 'Sexual', value: 'sexual' },
|
|
119
|
+
{ label: 'Violence', value: 'violence' },
|
|
120
|
+
{ label: 'Self Harm', value: 'self-harm' },
|
|
121
|
+
{ label: 'Spam', value: 'spam' },
|
|
122
|
+
{ label: 'Impersonation', value: 'impersonation' },
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
exports.postUrlProperty = pieces_framework_1.Property.ShortText({
|
|
127
|
+
displayName: 'Post URL',
|
|
128
|
+
description: 'Paste the Bluesky post URL (e.g., https://bsky.app/profile/username.bsky.social/post/xxx)',
|
|
129
|
+
required: true,
|
|
130
|
+
});
|
|
131
|
+
exports.userHandleProperty = pieces_framework_1.Property.ShortText({
|
|
132
|
+
displayName: 'User Handle',
|
|
133
|
+
description: 'Bluesky username (e.g., username.bsky.social)',
|
|
134
|
+
required: true,
|
|
135
|
+
});
|
|
136
|
+
exports.authorSelectionProperty = pieces_framework_1.Property.Dropdown({
|
|
137
|
+
displayName: 'Select Author',
|
|
138
|
+
description: 'Choose from accounts you follow',
|
|
139
|
+
required: false,
|
|
140
|
+
auth: auth_1.blueskyAuth,
|
|
141
|
+
refreshers: ['auth'],
|
|
142
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
143
|
+
try {
|
|
144
|
+
const { createBlueskyAgent } = yield Promise.resolve().then(() => tslib_1.__importStar(require('./client')));
|
|
145
|
+
if (!auth)
|
|
146
|
+
return { options: [] };
|
|
147
|
+
const agent = yield createBlueskyAgent(auth.props);
|
|
148
|
+
const session = agent.session;
|
|
149
|
+
if (!(session === null || session === void 0 ? void 0 : session.did)) {
|
|
150
|
+
return { options: [{ label: 'Please authenticate first', value: '' }] };
|
|
151
|
+
}
|
|
152
|
+
const followingResponse = yield agent.getFollows({
|
|
153
|
+
actor: session.did,
|
|
154
|
+
limit: 100
|
|
155
|
+
});
|
|
156
|
+
const options = followingResponse.data.follows.map((follow) => ({
|
|
157
|
+
label: `${follow.displayName || follow.handle} (@${follow.handle})`,
|
|
158
|
+
value: follow.handle
|
|
159
|
+
}));
|
|
160
|
+
options.unshift({ label: 'Enter handle manually', value: 'manual' });
|
|
161
|
+
return { options };
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
return {
|
|
165
|
+
options: [{ label: 'Error loading following list', value: '' }]
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
});
|
|
170
|
+
exports.postSearchProperty = pieces_framework_1.Property.ShortText({
|
|
171
|
+
displayName: 'Search Posts',
|
|
172
|
+
description: 'Search for posts by keywords, hashtags, or content',
|
|
173
|
+
required: false,
|
|
174
|
+
});
|
|
175
|
+
exports.postTextProperty = pieces_framework_1.Property.LongText({
|
|
176
|
+
displayName: 'Post Text',
|
|
177
|
+
description: 'What do you want to post? (Max 300 characters)',
|
|
178
|
+
required: true,
|
|
179
|
+
});
|
|
180
|
+
exports.imageUrlsProperty = pieces_framework_1.Property.Array({
|
|
181
|
+
displayName: 'Image URLs',
|
|
182
|
+
description: 'Add up to 4 images by URL',
|
|
183
|
+
required: false,
|
|
184
|
+
});
|
|
185
|
+
exports.imageDescriptionsProperty = pieces_framework_1.Property.Array({
|
|
186
|
+
displayName: 'Image Descriptions',
|
|
187
|
+
description: 'Describe each image for accessibility',
|
|
188
|
+
required: false,
|
|
189
|
+
});
|
|
190
|
+
exports.linkUrlProperty = pieces_framework_1.Property.ShortText({
|
|
191
|
+
displayName: 'Link to Share',
|
|
192
|
+
description: 'URL to share with your post',
|
|
193
|
+
required: false,
|
|
194
|
+
});
|
|
195
|
+
exports.replyToPostProperty = pieces_framework_1.Property.ShortText({
|
|
196
|
+
displayName: 'Reply to Post',
|
|
197
|
+
description: 'URL of post to reply to',
|
|
198
|
+
required: false,
|
|
199
|
+
});
|
|
200
|
+
exports.postTypeDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
201
|
+
displayName: 'Post Type',
|
|
202
|
+
description: 'Type of content you\'re sharing',
|
|
203
|
+
required: false,
|
|
204
|
+
defaultValue: 'text',
|
|
205
|
+
options: {
|
|
206
|
+
options: [
|
|
207
|
+
{ label: 'Text Post', value: 'text' },
|
|
208
|
+
{ label: 'Photo Post', value: 'photo' },
|
|
209
|
+
{ label: 'Link Share', value: 'link' },
|
|
210
|
+
{ label: 'Reply', value: 'reply' },
|
|
211
|
+
{ label: 'Repost with Comment', value: 'quote' },
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
exports.simpleLanguageDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
216
|
+
displayName: 'Post Language',
|
|
217
|
+
description: 'Language of your post',
|
|
218
|
+
required: false,
|
|
219
|
+
defaultValue: 'en',
|
|
220
|
+
options: {
|
|
221
|
+
options: [
|
|
222
|
+
{ label: 'English', value: 'en' },
|
|
223
|
+
{ label: 'Spanish', value: 'es' },
|
|
224
|
+
{ label: 'French', value: 'fr' },
|
|
225
|
+
{ label: 'German', value: 'de' },
|
|
226
|
+
{ label: 'Italian', value: 'it' },
|
|
227
|
+
{ label: 'Portuguese', value: 'pt' },
|
|
228
|
+
{ label: 'Japanese', value: 'ja' },
|
|
229
|
+
{ label: 'Korean', value: 'ko' },
|
|
230
|
+
{ label: 'Chinese', value: 'zh' },
|
|
231
|
+
{ label: 'Russian', value: 'ru' },
|
|
232
|
+
{ label: 'Arabic', value: 'ar' },
|
|
233
|
+
{ label: 'Hindi', value: 'hi' },
|
|
234
|
+
{ label: 'Dutch', value: 'nl' },
|
|
235
|
+
{ label: 'Swedish', value: 'sv' },
|
|
236
|
+
{ label: 'Other', value: 'other' },
|
|
237
|
+
],
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
exports.replyDepthDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
241
|
+
displayName: 'How many replies to show?',
|
|
242
|
+
description: 'Choose how deep to go into the conversation',
|
|
243
|
+
required: false,
|
|
244
|
+
defaultValue: '10',
|
|
245
|
+
options: {
|
|
246
|
+
options: [
|
|
247
|
+
{ label: 'Just direct replies (1 level)', value: '1' },
|
|
248
|
+
{ label: 'Short conversation (3 levels)', value: '3' },
|
|
249
|
+
{ label: 'Full conversation (10 levels)', value: '10' },
|
|
250
|
+
{ label: 'Entire thread (50+ levels)', value: '50' },
|
|
251
|
+
],
|
|
252
|
+
},
|
|
253
|
+
});
|
|
254
|
+
exports.parentPostsDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
255
|
+
displayName: 'Show conversation context?',
|
|
256
|
+
description: 'Include previous posts in the thread for context',
|
|
257
|
+
required: false,
|
|
258
|
+
defaultValue: '3',
|
|
259
|
+
options: {
|
|
260
|
+
options: [
|
|
261
|
+
{ label: 'No context - just this post', value: '0' },
|
|
262
|
+
{ label: 'Recent context (3 previous posts)', value: '3' },
|
|
263
|
+
{ label: 'Full context (10 previous posts)', value: '10' },
|
|
264
|
+
{ label: 'Complete thread history', value: '80' },
|
|
265
|
+
],
|
|
266
|
+
},
|
|
267
|
+
});
|
|
268
|
+
exports.contentWarningDropdown = pieces_framework_1.Property.StaticMultiSelectDropdown({
|
|
269
|
+
displayName: 'Content Warnings',
|
|
270
|
+
description: 'Add warnings for sensitive content',
|
|
271
|
+
required: false,
|
|
272
|
+
options: {
|
|
273
|
+
options: [
|
|
274
|
+
{ label: 'Adult Content', value: 'adult' },
|
|
275
|
+
{ label: 'Graphic Content', value: 'graphic-media' },
|
|
276
|
+
{ label: 'Sensitive Topic', value: 'sensitive' },
|
|
277
|
+
{ label: 'Violence', value: 'violence' },
|
|
278
|
+
{ label: 'Spam/Promotional', value: 'spam' },
|
|
279
|
+
],
|
|
280
|
+
},
|
|
281
|
+
});
|
|
282
|
+
exports.audienceDropdown = pieces_framework_1.Property.StaticDropdown({
|
|
283
|
+
displayName: 'Audience',
|
|
284
|
+
description: 'Who can see this post',
|
|
285
|
+
required: false,
|
|
286
|
+
defaultValue: 'public',
|
|
287
|
+
options: {
|
|
288
|
+
options: [
|
|
289
|
+
{ label: 'Everyone (Public)', value: 'public' },
|
|
290
|
+
{ label: 'Followers only', value: 'followers' },
|
|
291
|
+
{ label: 'Private/Unlisted', value: 'unlisted' },
|
|
292
|
+
],
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
function extractPostInfoFromUrl(url) {
|
|
296
|
+
if (url.startsWith('at://')) {
|
|
297
|
+
return { uri: url };
|
|
298
|
+
}
|
|
299
|
+
const urlMatch = url.match(/https?:\/\/bsky\.app\/profile\/([^/]+)\/post\/([^/?]+)/);
|
|
300
|
+
if (urlMatch) {
|
|
301
|
+
const handle = urlMatch[1];
|
|
302
|
+
const postId = urlMatch[2];
|
|
303
|
+
return {
|
|
304
|
+
handle: handle,
|
|
305
|
+
postId: postId,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
return {};
|
|
309
|
+
}
|
|
310
|
+
function normalizeHandle(handle) {
|
|
311
|
+
let cleanHandle = handle.replace(/^@/, '');
|
|
312
|
+
if (!cleanHandle.includes('.')) {
|
|
313
|
+
cleanHandle += '.bsky.social';
|
|
314
|
+
}
|
|
315
|
+
return cleanHandle;
|
|
316
|
+
}
|
|
317
|
+
function createSimpleExternalLink(url) {
|
|
318
|
+
return {
|
|
319
|
+
uri: url,
|
|
320
|
+
title: url,
|
|
321
|
+
description: 'Shared link'
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
exports.postUriProperty = pieces_framework_1.Property.ShortText({
|
|
325
|
+
displayName: 'Post URI (Advanced)',
|
|
326
|
+
description: 'Technical AT-URI format (at://did:plc:xxx/app.bsky.feed.post/xxx) - use Post URL field instead',
|
|
327
|
+
required: false,
|
|
328
|
+
});
|
|
329
|
+
exports.externalLinkProperty = pieces_framework_1.Property.Object({
|
|
330
|
+
displayName: 'External Link (Advanced)',
|
|
331
|
+
description: 'Manual link object - use "Link to Share" field instead',
|
|
332
|
+
required: false,
|
|
333
|
+
});
|
|
334
|
+
exports.replyToProperty = pieces_framework_1.Property.Object({
|
|
335
|
+
displayName: 'Reply To (Advanced)',
|
|
336
|
+
description: 'Manual reply object - use "Reply to Post" field instead',
|
|
337
|
+
required: false,
|
|
338
|
+
});
|
|
339
|
+
function parseBlueskyUrl(url, agent) {
|
|
340
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
341
|
+
if (url.startsWith('at://')) {
|
|
342
|
+
if (!url.match(/^at:\/\/did:plc:[a-z0-9]+\/app\.bsky\.feed\.post\/[a-z0-9]+$/)) {
|
|
343
|
+
throw new Error('Invalid AT-URI format');
|
|
344
|
+
}
|
|
345
|
+
return url;
|
|
346
|
+
}
|
|
347
|
+
const urlMatch = url.match(/https?:\/\/bsky\.app\/profile\/([^/]+)\/post\/([^/?]+)/);
|
|
348
|
+
if (urlMatch) {
|
|
349
|
+
const handle = urlMatch[1];
|
|
350
|
+
const postId = urlMatch[2];
|
|
351
|
+
if (!handle.includes('.') && !handle.includes('@')) {
|
|
352
|
+
throw new Error('Invalid handle format in URL');
|
|
353
|
+
}
|
|
354
|
+
const didDoc = yield agent.resolveHandle({ handle: handle.replace('@', '') });
|
|
355
|
+
return `at://${didDoc.data.did}/app.bsky.feed.post/${postId}`;
|
|
356
|
+
}
|
|
357
|
+
throw new Error('Invalid post URL format. Please use a valid Bluesky post URL or AT-URI.');
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/lib/common/props.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@agnocon/pieces-framework';
|
|
2
|
+
export declare const newFollowerOnAccount: import("@agnocon/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@agnocon/pieces-framework").CustomAuthProperty<{
|
|
3
|
+
pdsHost: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
4
|
+
identifier: import("@agnocon/pieces-framework").ShortTextProperty<true>;
|
|
5
|
+
password: import("@agnocon/pieces-framework").SecretTextProperty<true>;
|
|
6
|
+
}>, {}> | import("@agnocon/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@agnocon/pieces-framework").CustomAuthProperty<{
|
|
7
|
+
pdsHost: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
8
|
+
identifier: import("@agnocon/pieces-framework").ShortTextProperty<true>;
|
|
9
|
+
password: import("@agnocon/pieces-framework").SecretTextProperty<true>;
|
|
10
|
+
}>, {}> | import("@agnocon/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@agnocon/pieces-framework").CustomAuthProperty<{
|
|
11
|
+
pdsHost: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
12
|
+
identifier: import("@agnocon/pieces-framework").ShortTextProperty<true>;
|
|
13
|
+
password: import("@agnocon/pieces-framework").SecretTextProperty<true>;
|
|
14
|
+
}>, {}> | import("@agnocon/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@agnocon/pieces-framework").CustomAuthProperty<{
|
|
15
|
+
pdsHost: import("@agnocon/pieces-framework").ShortTextProperty<false>;
|
|
16
|
+
identifier: import("@agnocon/pieces-framework").ShortTextProperty<true>;
|
|
17
|
+
password: import("@agnocon/pieces-framework").SecretTextProperty<true>;
|
|
18
|
+
}>, {}>;
|
|
19
|
+
//# sourceMappingURL=new-follower-on-account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-follower-on-account.d.ts","sourceRoot":"","sources":["../../../src/lib/triggers/new-follower-on-account.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,eAAe,EAA2D,MAAM,2BAA2B,CAAC;AA+DpI,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;OAgD/B,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newFollowerOnAccount = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
// Vendored from Activepieces packages/pieces/community/bluesky/src/lib/triggers/new-follower-on-account.ts (MIT).
|
|
6
|
+
// Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
|
|
7
|
+
const pieces_framework_1 = require("@agnocon/pieces-framework");
|
|
8
|
+
const pieces_common_1 = require("@agnocon/pieces-common");
|
|
9
|
+
const auth_1 = require("../common/auth");
|
|
10
|
+
const client_1 = require("../common/client");
|
|
11
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
12
|
+
const polling = {
|
|
13
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
14
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
|
|
15
|
+
var _b;
|
|
16
|
+
try {
|
|
17
|
+
const agent = yield (0, client_1.createBlueskyAgent)(auth.props);
|
|
18
|
+
const session = agent.session;
|
|
19
|
+
if (!(session === null || session === void 0 ? void 0 : session.did)) {
|
|
20
|
+
throw new Error('Could not get user DID from session');
|
|
21
|
+
}
|
|
22
|
+
const userDid = session.did;
|
|
23
|
+
const response = yield agent.getFollowers({
|
|
24
|
+
actor: userDid,
|
|
25
|
+
limit: 100
|
|
26
|
+
});
|
|
27
|
+
if (!((_b = response.data) === null || _b === void 0 ? void 0 : _b.followers) || !Array.isArray(response.data.followers)) {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
const currentTime = Date.now();
|
|
31
|
+
const cutoffTime = lastFetchEpochMS || 0;
|
|
32
|
+
return response.data.followers
|
|
33
|
+
.filter((follower) => {
|
|
34
|
+
const profileTime = follower.indexedAt ? (0, dayjs_1.default)(follower.indexedAt).valueOf() : currentTime;
|
|
35
|
+
return profileTime > cutoffTime - (24 * 60 * 60 * 1000);
|
|
36
|
+
})
|
|
37
|
+
.map((follower) => ({
|
|
38
|
+
epochMilliSeconds: follower.indexedAt ? (0, dayjs_1.default)(follower.indexedAt).valueOf() : currentTime,
|
|
39
|
+
data: {
|
|
40
|
+
did: follower.did,
|
|
41
|
+
handle: follower.handle,
|
|
42
|
+
displayName: follower.displayName || follower.handle,
|
|
43
|
+
description: follower.description || '',
|
|
44
|
+
avatar: follower.avatar || '',
|
|
45
|
+
banner: follower.banner || '',
|
|
46
|
+
followersCount: follower.followersCount || 0,
|
|
47
|
+
followsCount: follower.followsCount || 0,
|
|
48
|
+
postsCount: follower.postsCount || 0,
|
|
49
|
+
indexedAt: follower.indexedAt || new Date().toISOString(),
|
|
50
|
+
viewer: follower.viewer || {},
|
|
51
|
+
labels: follower.labels || [],
|
|
52
|
+
createdAt: follower.createdAt || null
|
|
53
|
+
}
|
|
54
|
+
}))
|
|
55
|
+
.sort((a, b) => b.epochMilliSeconds - a.epochMilliSeconds);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error('Error fetching followers:', error);
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
};
|
|
63
|
+
exports.newFollowerOnAccount = (0, pieces_framework_1.createTrigger)({
|
|
64
|
+
auth: auth_1.blueskyAuth,
|
|
65
|
+
name: 'newFollowerOnAccount',
|
|
66
|
+
displayName: 'New Follower on Account',
|
|
67
|
+
description: 'Triggers when someone new follows your Bluesky account',
|
|
68
|
+
aiMetadata: {
|
|
69
|
+
description: 'Fires when a new account follows the authenticated Bluesky account; each event represents one new follower and carries that follower\'s profile details.',
|
|
70
|
+
},
|
|
71
|
+
props: {},
|
|
72
|
+
sampleData: {
|
|
73
|
+
did: 'did:plc:example123',
|
|
74
|
+
handle: 'newfollower.bsky.social',
|
|
75
|
+
displayName: 'New Follower',
|
|
76
|
+
description: 'A new user who just followed your account',
|
|
77
|
+
avatar: 'https://cdn.bsky.app/img/avatar/plain/did:plc:example123/example@jpeg',
|
|
78
|
+
banner: 'https://cdn.bsky.app/img/banner/plain/did:plc:example123/example@jpeg',
|
|
79
|
+
followersCount: 42,
|
|
80
|
+
followsCount: 156,
|
|
81
|
+
postsCount: 78,
|
|
82
|
+
indexedAt: '2024-01-01T12:00:00.000Z',
|
|
83
|
+
viewer: {
|
|
84
|
+
muted: false,
|
|
85
|
+
blockedBy: false,
|
|
86
|
+
following: 'at://did:plc:example123/app.bsky.graph.follow/example456',
|
|
87
|
+
followedBy: 'at://did:plc:example456/app.bsky.graph.follow/example789'
|
|
88
|
+
},
|
|
89
|
+
labels: [],
|
|
90
|
+
createdAt: '2023-06-01T12:00:00.000Z'
|
|
91
|
+
},
|
|
92
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
93
|
+
test(context) {
|
|
94
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
onEnable(context) {
|
|
99
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const { store, auth, propsValue } = context;
|
|
101
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, { store, auth, propsValue });
|
|
102
|
+
});
|
|
103
|
+
},
|
|
104
|
+
onDisable(context) {
|
|
105
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
const { store, auth, propsValue } = context;
|
|
107
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, { store, auth, propsValue });
|
|
108
|
+
});
|
|
109
|
+
},
|
|
110
|
+
run(context) {
|
|
111
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=new-follower-on-account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-follower-on-account.js","sourceRoot":"","sources":["../../../src/lib/triggers/new-follower-on-account.ts"],"names":[],"mappings":"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"}
|