@bubblelab/bubble-core 0.1.9 → 0.1.10
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/dist/bubble-bundle.d.ts +252 -1686
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +51 -19
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubble-flow/bubble-flow-class.d.ts +17 -1
- package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -1
- package/dist/bubble-flow/bubble-flow-class.js +16 -0
- package/dist/bubble-flow/bubble-flow-class.js.map +1 -1
- package/dist/bubble-flow/sample/data-analyst-flow.d.ts +1 -1
- package/dist/bubble-flow/sample/data-analyst-flow.d.ts.map +1 -1
- package/dist/bubble-flow/sample/error-ts.d.ts +1 -1
- package/dist/bubble-flow/sample/error-ts.d.ts.map +1 -1
- package/dist/bubble-flow/sample/sanitytest.d.ts +1 -1
- package/dist/bubble-flow/sample/sanitytest.d.ts.map +1 -1
- package/dist/bubble-flow/sample/simple-webhook-2.d.ts +1 -1
- package/dist/bubble-flow/sample/simple-webhook-2.d.ts.map +1 -1
- package/dist/bubble-flow/sample/simple-webhook.d.ts +1 -1
- package/dist/bubble-flow/sample/simple-webhook.d.ts.map +1 -1
- package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts +1 -1
- package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -1
- package/dist/bubble-flow/sample/slack-v0.1.d.ts +1 -1
- package/dist/bubble-flow/sample/slack-v0.1.d.ts.map +1 -1
- package/dist/bubble-flow/sample/slackagenttest.d.ts +1 -1
- package/dist/bubble-flow/sample/slackagenttest.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.d.ts +30 -30
- package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.js +3 -1
- package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +34 -34
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +42 -42
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +21 -21
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +6 -6
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +184 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js +145 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts +52 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js +29 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +338 -109
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js +16 -0
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js.map +1 -1
- package/dist/bubbles/service-bubble/apify/apify.d.ts +10 -10
- package/dist/bubbles/service-bubble/apify/index.d.ts +2 -0
- package/dist/bubbles/service-bubble/apify/index.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/apify/index.js +3 -0
- package/dist/bubbles/service-bubble/apify/index.js.map +1 -1
- package/dist/bubbles/service-bubble/apify/types.js +1 -2
- package/dist/bubbles/service-bubble/apify/types.js.map +1 -1
- package/dist/bubbles/service-bubble/gmail.d.ts +678 -184
- package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/gmail.js +435 -7
- package/dist/bubbles/service-bubble/gmail.js.map +1 -1
- package/dist/bubbles/service-bubble/google-calendar.d.ts +60 -60
- package/dist/bubbles/service-bubble/google-drive.d.ts +301 -72
- package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/google-drive.js +65 -75
- package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
- package/dist/bubbles/service-bubble/google-sheets.d.ts +76 -76
- package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
- package/dist/bubbles/service-bubble/hello-world.js +2 -2
- package/dist/bubbles/service-bubble/hello-world.js.map +1 -1
- package/dist/bubbles/service-bubble/http.d.ts +10 -10
- package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
- package/dist/bubbles/service-bubble/resend.d.ts +16 -16
- package/dist/bubbles/service-bubble/slack.d.ts +469 -469
- package/dist/bubbles/service-bubble/storage.d.ts +36 -36
- package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/storage.js +16 -5
- package/dist/bubbles/service-bubble/storage.js.map +1 -1
- package/dist/bubbles/service-bubble/x-twitter.d.ts +814 -0
- package/dist/bubbles/service-bubble/x-twitter.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/x-twitter.js +445 -0
- package/dist/bubbles/service-bubble/x-twitter.js.map +1 -0
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +10 -10
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +17 -9
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +86 -86
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +134 -134
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +69 -64
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.js +97 -22
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +6 -6
- package/dist/bubbles/tool-bubble/research-agent-tool.js +4 -4
- package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/tool-template.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +10 -10
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +12 -12
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +11 -10
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/web-search-tool.js +5 -1
- package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +394 -0
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/youtube-tool.js +352 -0
- package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -0
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +47 -36
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +91 -65
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +70 -70
- package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +66 -66
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +56 -56
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +44 -44
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +1 -1
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +32 -32
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +58 -58
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +18 -18
- package/dist/bubbles.json +69 -54
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/logging/BubbleLogger.d.ts.map +1 -1
- package/dist/logging/BubbleLogger.js +20 -13
- package/dist/logging/BubbleLogger.js.map +1 -1
- package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
- package/dist/logging/StreamingBubbleLogger.js +5 -5
- package/dist/logging/StreamingBubbleLogger.js.map +1 -1
- package/dist/test-gm.d.ts +10 -0
- package/dist/test-gm.d.ts.map +1 -0
- package/dist/test-gm.js +95 -0
- package/dist/test-gm.js.map +1 -0
- package/dist/types/base-bubble-class.d.ts +1 -1
- package/dist/types/base-bubble-class.d.ts.map +1 -1
- package/dist/types/base-bubble-class.js +29 -21
- package/dist/types/base-bubble-class.js.map +1 -1
- package/dist/types/bubble.d.ts +1 -10
- package/dist/types/bubble.d.ts.map +1 -1
- package/dist/types/bubble.js +1 -1
- package/dist/types/bubble.js.map +1 -1
- package/dist/types/service-bubble-class.d.ts +1 -1
- package/dist/types/service-bubble-class.d.ts.map +1 -1
- package/dist/types/tool-bubble-class.d.ts +1 -1
- package/dist/types/tool-bubble-class.d.ts.map +1 -1
- package/dist/types/tool-bubble-class.js +0 -2
- package/dist/types/tool-bubble-class.js.map +1 -1
- package/dist/types/workflow-bubble-class.d.ts +1 -1
- package/dist/types/workflow-bubble-class.d.ts.map +1 -1
- package/dist/utils/agent-formatter.d.ts.map +1 -1
- package/dist/utils/agent-formatter.js +2 -2
- package/dist/utils/agent-formatter.js.map +1 -1
- package/dist/utils/bubbleflow-validation.d.ts.map +1 -1
- package/dist/utils/bubbleflow-validation.js +89 -32
- package/dist/utils/bubbleflow-validation.js.map +1 -1
- package/dist/utils/error-sanitizer.d.ts +12 -0
- package/dist/utils/error-sanitizer.d.ts.map +1 -0
- package/dist/utils/error-sanitizer.js +77 -0
- package/dist/utils/error-sanitizer.js.map +1 -0
- package/package.json +4 -4
- package/dist/bubble-trigger/index.d.ts +0 -2
- package/dist/bubble-trigger/index.d.ts.map +0 -1
- package/dist/bubble-trigger/index.js +0 -2
- package/dist/bubble-trigger/index.js.map +0 -1
- package/dist/bubble-trigger/types.d.ts +0 -87
- package/dist/bubble-trigger/types.d.ts.map +0 -1
- package/dist/bubble-trigger/types.js +0 -14
- package/dist/bubble-trigger/types.js.map +0 -1
- package/dist/bubbles/service-bubble/apify/api-scraper.schema.d.ts +0 -370
- package/dist/bubbles/service-bubble/apify/api-scraper.schema.d.ts.map +0 -1
- package/dist/bubbles/service-bubble/apify/api-scraper.schema.js +0 -14
- package/dist/bubbles/service-bubble/apify/api-scraper.schema.js.map +0 -1
- package/dist/bubbles/service-bubble/apify.d.ts +0 -136
- package/dist/bubbles/service-bubble/apify.d.ts.map +0 -1
- package/dist/bubbles/service-bubble/apify.js +0 -282
- package/dist/bubbles/service-bubble/apify.js.map +0 -1
- package/dist/types/ai-models.d.ts +0 -4
- package/dist/types/ai-models.d.ts.map +0 -1
- package/dist/types/ai-models.js +0 -20
- package/dist/types/ai-models.js.map +0 -1
- package/dist/types/api-scraper.schema.d.ts +0 -453
- package/dist/types/api-scraper.schema.d.ts.map +0 -1
- package/dist/types/api-scraper.schema.js +0 -160
- package/dist/types/api-scraper.schema.js.map +0 -1
|
@@ -19,6 +19,7 @@ declare const RedditPostSchema: z.ZodObject<{
|
|
|
19
19
|
flair: z.ZodOptional<z.ZodString>;
|
|
20
20
|
}, "strip", z.ZodTypeAny, {
|
|
21
21
|
title: string;
|
|
22
|
+
subreddit: string;
|
|
22
23
|
url: string;
|
|
23
24
|
author: string;
|
|
24
25
|
score: number;
|
|
@@ -26,14 +27,14 @@ declare const RedditPostSchema: z.ZodObject<{
|
|
|
26
27
|
createdUtc: number;
|
|
27
28
|
postUrl: string;
|
|
28
29
|
selftext: string;
|
|
29
|
-
subreddit: string;
|
|
30
30
|
isSelf: boolean;
|
|
31
|
+
postHint?: string | null | undefined;
|
|
31
32
|
thumbnail?: string | undefined;
|
|
32
33
|
domain?: string | undefined;
|
|
33
|
-
postHint?: string | null | undefined;
|
|
34
34
|
flair?: string | undefined;
|
|
35
35
|
}, {
|
|
36
36
|
title: string;
|
|
37
|
+
subreddit: string;
|
|
37
38
|
url: string;
|
|
38
39
|
author: string;
|
|
39
40
|
score: number;
|
|
@@ -41,15 +42,14 @@ declare const RedditPostSchema: z.ZodObject<{
|
|
|
41
42
|
createdUtc: number;
|
|
42
43
|
postUrl: string;
|
|
43
44
|
selftext: string;
|
|
44
|
-
subreddit: string;
|
|
45
45
|
isSelf: boolean;
|
|
46
|
+
postHint?: string | null | undefined;
|
|
46
47
|
thumbnail?: string | undefined;
|
|
47
48
|
domain?: string | undefined;
|
|
48
|
-
postHint?: string | null | undefined;
|
|
49
49
|
flair?: string | undefined;
|
|
50
50
|
}>;
|
|
51
51
|
declare const RedditScrapeToolParamsSchema: z.ZodObject<{
|
|
52
|
-
subreddit: z.ZodString
|
|
52
|
+
subreddit: z.ZodPipeline<z.ZodEffects<z.ZodString, string, string>, z.ZodString>;
|
|
53
53
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
54
54
|
sort: z.ZodDefault<z.ZodEnum<["hot", "new", "top", "rising"]>>;
|
|
55
55
|
timeFilter: z.ZodOptional<z.ZodEnum<["hour", "day", "week", "month", "year", "all"]>>;
|
|
@@ -59,22 +59,22 @@ declare const RedditScrapeToolParamsSchema: z.ZodObject<{
|
|
|
59
59
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
60
60
|
}, "strip", z.ZodTypeAny, {
|
|
61
61
|
sort: "hot" | "new" | "top" | "rising";
|
|
62
|
-
limit: number;
|
|
63
62
|
subreddit: string;
|
|
63
|
+
limit: number;
|
|
64
64
|
filterToday: boolean;
|
|
65
65
|
includeStickied: boolean;
|
|
66
|
-
|
|
67
|
-
timeFilter?: "all" | "hour" | "day" | "week" | "month" | "year" | undefined;
|
|
66
|
+
timeFilter?: "hour" | "day" | "week" | "month" | "year" | "all" | undefined;
|
|
68
67
|
minScore?: number | undefined;
|
|
68
|
+
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
69
69
|
}, {
|
|
70
70
|
subreddit: string;
|
|
71
71
|
sort?: "hot" | "new" | "top" | "rising" | undefined;
|
|
72
|
-
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
73
72
|
limit?: number | undefined;
|
|
74
|
-
timeFilter?: "
|
|
73
|
+
timeFilter?: "hour" | "day" | "week" | "month" | "year" | "all" | undefined;
|
|
75
74
|
filterToday?: boolean | undefined;
|
|
76
75
|
includeStickied?: boolean | undefined;
|
|
77
76
|
minScore?: number | undefined;
|
|
77
|
+
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
78
78
|
}>;
|
|
79
79
|
declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
80
80
|
posts: z.ZodArray<z.ZodObject<{
|
|
@@ -94,6 +94,7 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
94
94
|
flair: z.ZodOptional<z.ZodString>;
|
|
95
95
|
}, "strip", z.ZodTypeAny, {
|
|
96
96
|
title: string;
|
|
97
|
+
subreddit: string;
|
|
97
98
|
url: string;
|
|
98
99
|
author: string;
|
|
99
100
|
score: number;
|
|
@@ -101,14 +102,14 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
101
102
|
createdUtc: number;
|
|
102
103
|
postUrl: string;
|
|
103
104
|
selftext: string;
|
|
104
|
-
subreddit: string;
|
|
105
105
|
isSelf: boolean;
|
|
106
|
+
postHint?: string | null | undefined;
|
|
106
107
|
thumbnail?: string | undefined;
|
|
107
108
|
domain?: string | undefined;
|
|
108
|
-
postHint?: string | null | undefined;
|
|
109
109
|
flair?: string | undefined;
|
|
110
110
|
}, {
|
|
111
111
|
title: string;
|
|
112
|
+
subreddit: string;
|
|
112
113
|
url: string;
|
|
113
114
|
author: string;
|
|
114
115
|
score: number;
|
|
@@ -116,11 +117,10 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
116
117
|
createdUtc: number;
|
|
117
118
|
postUrl: string;
|
|
118
119
|
selftext: string;
|
|
119
|
-
subreddit: string;
|
|
120
120
|
isSelf: boolean;
|
|
121
|
+
postHint?: string | null | undefined;
|
|
121
122
|
thumbnail?: string | undefined;
|
|
122
123
|
domain?: string | undefined;
|
|
123
|
-
postHint?: string | null | undefined;
|
|
124
124
|
flair?: string | undefined;
|
|
125
125
|
}>, "many">;
|
|
126
126
|
metadata: z.ZodObject<{
|
|
@@ -154,20 +154,9 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
154
154
|
success: z.ZodBoolean;
|
|
155
155
|
error: z.ZodString;
|
|
156
156
|
}, "strip", z.ZodTypeAny, {
|
|
157
|
-
error: string;
|
|
158
|
-
success: boolean;
|
|
159
|
-
metadata: {
|
|
160
|
-
sort: string;
|
|
161
|
-
subreddit: string;
|
|
162
|
-
requestedLimit: number;
|
|
163
|
-
actualCount: number;
|
|
164
|
-
filteredCount: number;
|
|
165
|
-
scrapedAt: string;
|
|
166
|
-
apiEndpoint: string;
|
|
167
|
-
timeFilter?: string | undefined;
|
|
168
|
-
};
|
|
169
157
|
posts: {
|
|
170
158
|
title: string;
|
|
159
|
+
subreddit: string;
|
|
171
160
|
url: string;
|
|
172
161
|
author: string;
|
|
173
162
|
score: number;
|
|
@@ -175,16 +164,12 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
175
164
|
createdUtc: number;
|
|
176
165
|
postUrl: string;
|
|
177
166
|
selftext: string;
|
|
178
|
-
subreddit: string;
|
|
179
167
|
isSelf: boolean;
|
|
168
|
+
postHint?: string | null | undefined;
|
|
180
169
|
thumbnail?: string | undefined;
|
|
181
170
|
domain?: string | undefined;
|
|
182
|
-
postHint?: string | null | undefined;
|
|
183
171
|
flair?: string | undefined;
|
|
184
172
|
}[];
|
|
185
|
-
}, {
|
|
186
|
-
error: string;
|
|
187
|
-
success: boolean;
|
|
188
173
|
metadata: {
|
|
189
174
|
sort: string;
|
|
190
175
|
subreddit: string;
|
|
@@ -195,8 +180,12 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
195
180
|
apiEndpoint: string;
|
|
196
181
|
timeFilter?: string | undefined;
|
|
197
182
|
};
|
|
183
|
+
success: boolean;
|
|
184
|
+
error: string;
|
|
185
|
+
}, {
|
|
198
186
|
posts: {
|
|
199
187
|
title: string;
|
|
188
|
+
subreddit: string;
|
|
200
189
|
url: string;
|
|
201
190
|
author: string;
|
|
202
191
|
score: number;
|
|
@@ -204,13 +193,24 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
204
193
|
createdUtc: number;
|
|
205
194
|
postUrl: string;
|
|
206
195
|
selftext: string;
|
|
207
|
-
subreddit: string;
|
|
208
196
|
isSelf: boolean;
|
|
197
|
+
postHint?: string | null | undefined;
|
|
209
198
|
thumbnail?: string | undefined;
|
|
210
199
|
domain?: string | undefined;
|
|
211
|
-
postHint?: string | null | undefined;
|
|
212
200
|
flair?: string | undefined;
|
|
213
201
|
}[];
|
|
202
|
+
metadata: {
|
|
203
|
+
sort: string;
|
|
204
|
+
subreddit: string;
|
|
205
|
+
requestedLimit: number;
|
|
206
|
+
actualCount: number;
|
|
207
|
+
filteredCount: number;
|
|
208
|
+
scrapedAt: string;
|
|
209
|
+
apiEndpoint: string;
|
|
210
|
+
timeFilter?: string | undefined;
|
|
211
|
+
};
|
|
212
|
+
success: boolean;
|
|
213
|
+
error: string;
|
|
214
214
|
}>;
|
|
215
215
|
type RedditScrapeToolParams = z.output<typeof RedditScrapeToolParamsSchema>;
|
|
216
216
|
type RedditScrapeToolResult = z.output<typeof RedditScrapeToolResultSchema>;
|
|
@@ -219,7 +219,7 @@ type RedditPost = z.output<typeof RedditPostSchema>;
|
|
|
219
219
|
export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams, RedditScrapeToolResult> {
|
|
220
220
|
static readonly bubbleName: BubbleName;
|
|
221
221
|
static readonly schema: z.ZodObject<{
|
|
222
|
-
subreddit: z.ZodString
|
|
222
|
+
subreddit: z.ZodPipeline<z.ZodEffects<z.ZodString, string, string>, z.ZodString>;
|
|
223
223
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
224
224
|
sort: z.ZodDefault<z.ZodEnum<["hot", "new", "top", "rising"]>>;
|
|
225
225
|
timeFilter: z.ZodOptional<z.ZodEnum<["hour", "day", "week", "month", "year", "all"]>>;
|
|
@@ -229,22 +229,22 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
229
229
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
230
230
|
}, "strip", z.ZodTypeAny, {
|
|
231
231
|
sort: "hot" | "new" | "top" | "rising";
|
|
232
|
-
limit: number;
|
|
233
232
|
subreddit: string;
|
|
233
|
+
limit: number;
|
|
234
234
|
filterToday: boolean;
|
|
235
235
|
includeStickied: boolean;
|
|
236
|
-
|
|
237
|
-
timeFilter?: "all" | "hour" | "day" | "week" | "month" | "year" | undefined;
|
|
236
|
+
timeFilter?: "hour" | "day" | "week" | "month" | "year" | "all" | undefined;
|
|
238
237
|
minScore?: number | undefined;
|
|
238
|
+
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
239
239
|
}, {
|
|
240
240
|
subreddit: string;
|
|
241
241
|
sort?: "hot" | "new" | "top" | "rising" | undefined;
|
|
242
|
-
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
243
242
|
limit?: number | undefined;
|
|
244
|
-
timeFilter?: "
|
|
243
|
+
timeFilter?: "hour" | "day" | "week" | "month" | "year" | "all" | undefined;
|
|
245
244
|
filterToday?: boolean | undefined;
|
|
246
245
|
includeStickied?: boolean | undefined;
|
|
247
246
|
minScore?: number | undefined;
|
|
247
|
+
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
248
248
|
}>;
|
|
249
249
|
static readonly resultSchema: z.ZodObject<{
|
|
250
250
|
posts: z.ZodArray<z.ZodObject<{
|
|
@@ -264,6 +264,7 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
264
264
|
flair: z.ZodOptional<z.ZodString>;
|
|
265
265
|
}, "strip", z.ZodTypeAny, {
|
|
266
266
|
title: string;
|
|
267
|
+
subreddit: string;
|
|
267
268
|
url: string;
|
|
268
269
|
author: string;
|
|
269
270
|
score: number;
|
|
@@ -271,14 +272,14 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
271
272
|
createdUtc: number;
|
|
272
273
|
postUrl: string;
|
|
273
274
|
selftext: string;
|
|
274
|
-
subreddit: string;
|
|
275
275
|
isSelf: boolean;
|
|
276
|
+
postHint?: string | null | undefined;
|
|
276
277
|
thumbnail?: string | undefined;
|
|
277
278
|
domain?: string | undefined;
|
|
278
|
-
postHint?: string | null | undefined;
|
|
279
279
|
flair?: string | undefined;
|
|
280
280
|
}, {
|
|
281
281
|
title: string;
|
|
282
|
+
subreddit: string;
|
|
282
283
|
url: string;
|
|
283
284
|
author: string;
|
|
284
285
|
score: number;
|
|
@@ -286,11 +287,10 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
286
287
|
createdUtc: number;
|
|
287
288
|
postUrl: string;
|
|
288
289
|
selftext: string;
|
|
289
|
-
subreddit: string;
|
|
290
290
|
isSelf: boolean;
|
|
291
|
+
postHint?: string | null | undefined;
|
|
291
292
|
thumbnail?: string | undefined;
|
|
292
293
|
domain?: string | undefined;
|
|
293
|
-
postHint?: string | null | undefined;
|
|
294
294
|
flair?: string | undefined;
|
|
295
295
|
}>, "many">;
|
|
296
296
|
metadata: z.ZodObject<{
|
|
@@ -324,20 +324,9 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
324
324
|
success: z.ZodBoolean;
|
|
325
325
|
error: z.ZodString;
|
|
326
326
|
}, "strip", z.ZodTypeAny, {
|
|
327
|
-
error: string;
|
|
328
|
-
success: boolean;
|
|
329
|
-
metadata: {
|
|
330
|
-
sort: string;
|
|
331
|
-
subreddit: string;
|
|
332
|
-
requestedLimit: number;
|
|
333
|
-
actualCount: number;
|
|
334
|
-
filteredCount: number;
|
|
335
|
-
scrapedAt: string;
|
|
336
|
-
apiEndpoint: string;
|
|
337
|
-
timeFilter?: string | undefined;
|
|
338
|
-
};
|
|
339
327
|
posts: {
|
|
340
328
|
title: string;
|
|
329
|
+
subreddit: string;
|
|
341
330
|
url: string;
|
|
342
331
|
author: string;
|
|
343
332
|
score: number;
|
|
@@ -345,16 +334,12 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
345
334
|
createdUtc: number;
|
|
346
335
|
postUrl: string;
|
|
347
336
|
selftext: string;
|
|
348
|
-
subreddit: string;
|
|
349
337
|
isSelf: boolean;
|
|
338
|
+
postHint?: string | null | undefined;
|
|
350
339
|
thumbnail?: string | undefined;
|
|
351
340
|
domain?: string | undefined;
|
|
352
|
-
postHint?: string | null | undefined;
|
|
353
341
|
flair?: string | undefined;
|
|
354
342
|
}[];
|
|
355
|
-
}, {
|
|
356
|
-
error: string;
|
|
357
|
-
success: boolean;
|
|
358
343
|
metadata: {
|
|
359
344
|
sort: string;
|
|
360
345
|
subreddit: string;
|
|
@@ -365,8 +350,12 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
365
350
|
apiEndpoint: string;
|
|
366
351
|
timeFilter?: string | undefined;
|
|
367
352
|
};
|
|
353
|
+
success: boolean;
|
|
354
|
+
error: string;
|
|
355
|
+
}, {
|
|
368
356
|
posts: {
|
|
369
357
|
title: string;
|
|
358
|
+
subreddit: string;
|
|
370
359
|
url: string;
|
|
371
360
|
author: string;
|
|
372
361
|
score: number;
|
|
@@ -374,24 +363,40 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
374
363
|
createdUtc: number;
|
|
375
364
|
postUrl: string;
|
|
376
365
|
selftext: string;
|
|
377
|
-
subreddit: string;
|
|
378
366
|
isSelf: boolean;
|
|
367
|
+
postHint?: string | null | undefined;
|
|
379
368
|
thumbnail?: string | undefined;
|
|
380
369
|
domain?: string | undefined;
|
|
381
|
-
postHint?: string | null | undefined;
|
|
382
370
|
flair?: string | undefined;
|
|
383
371
|
}[];
|
|
372
|
+
metadata: {
|
|
373
|
+
sort: string;
|
|
374
|
+
subreddit: string;
|
|
375
|
+
requestedLimit: number;
|
|
376
|
+
actualCount: number;
|
|
377
|
+
filteredCount: number;
|
|
378
|
+
scrapedAt: string;
|
|
379
|
+
apiEndpoint: string;
|
|
380
|
+
timeFilter?: string | undefined;
|
|
381
|
+
};
|
|
382
|
+
success: boolean;
|
|
383
|
+
error: string;
|
|
384
384
|
}>;
|
|
385
385
|
static readonly shortDescription = "Scrapes posts from any Reddit subreddit with flexible filtering and sorting options";
|
|
386
|
-
static readonly longDescription = "\n A specialized tool for scraping Reddit posts from any subreddit with comprehensive filtering and sorting capabilities.\n \n \uD83D\uDD25 Core Features:\n - Scrape posts from any public subreddit\n - Multiple sorting options (hot, new, top, rising)\n - Flexible post limits (1-
|
|
386
|
+
static readonly longDescription = "\n A specialized tool for scraping Reddit posts from any subreddit with comprehensive filtering and sorting capabilities.\n \n \uD83D\uDD25 Core Features:\n - Scrape posts from any public subreddit\n - Multiple sorting options (hot, new, top, rising)\n - Flexible post limits (1-1000 posts with pagination)\n - Time-based filtering for top posts\n - Today-only filtering option\n - Score-based filtering\n - Stickied post inclusion/exclusion\n \n \uD83D\uDCCA Post Data Extracted:\n - Title, author, and content\n - Upvote scores and comment counts\n - Creation timestamps and permalinks\n - Post types (text vs link posts)\n - External URLs and domains\n - Thumbnails and flairs\n - Comprehensive metadata\n \n \uD83C\uDFAF Use Cases:\n - Monitor specific subreddits for trends\n - Gather posts for content analysis\n - Track community engagement metrics\n - Feed Reddit data into other workflows\n - Research subreddit activity patterns\n - Content aggregation and curation\n \n \u26A1 Technical Features:\n - Uses Reddit's official JSON API\n - No authentication required for public posts\n - Respects Reddit's rate limiting\n - Handles large subreddits efficiently\n - Robust error handling and validation\n - Clean, structured data output\n \n Perfect for integration with AI agents, data analysis workflows, and content monitoring systems.\n ";
|
|
387
387
|
static readonly alias = "reddit";
|
|
388
388
|
static readonly type = "tool";
|
|
389
389
|
constructor(params?: RedditScrapeToolParamsInput, context?: BubbleContext);
|
|
390
390
|
performAction(context?: BubbleContext): Promise<RedditScrapeToolResult>;
|
|
391
391
|
/**
|
|
392
|
-
* Build the Reddit JSON API URL
|
|
392
|
+
* Build the Reddit JSON API URL with optional pagination
|
|
393
393
|
*/
|
|
394
394
|
private buildRedditApiUrl;
|
|
395
|
+
/**
|
|
396
|
+
* Fetch posts with pagination support (up to 1000 posts)
|
|
397
|
+
* Makes multiple requests if needed, using the 'after' parameter for pagination
|
|
398
|
+
*/
|
|
399
|
+
private fetchPostsWithPagination;
|
|
395
400
|
/**
|
|
396
401
|
* Get a random user agent to avoid being blocked
|
|
397
402
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reddit-scrape-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/reddit-scrape-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5E,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"reddit-scrape-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/reddit-scrape-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5E,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBpB,CAAC;AAGH,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDhC,CAAC;AAGH,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBhC,CAAC;AAGH,KAAK,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAC5E,KAAK,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAC5E,KAAK,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAChF,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpD,qBAAa,gBAAiB,SAAQ,UAAU,CAC9C,sBAAsB,EACtB,sBAAsB,CACvB;IAEC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAwB;IAC9D,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAgC;IACtD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAgC;IAC5D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,yFACwD;IACxF,MAAM,CAAC,QAAQ,CAAC,eAAe,07CAsC7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;gBAG5B,MAAM,GAAE,2BAIP,EACD,OAAO,CAAC,EAAE,aAAa;IAKnB,aAAa,CACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,sBAAsB,CAAC;IA+DlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;YACW,wBAAwB;IA6DtC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;YACW,eAAe;IAwD7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiE3B;;OAEG;IACH,OAAO,CAAC,YAAY;CA4BrB;AAGD,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -10,7 +10,9 @@ const RedditPostSchema = z.object({
|
|
|
10
10
|
numComments: z.number().describe('Number of comments on the post'),
|
|
11
11
|
createdUtc: z.number().describe('Post creation timestamp (Unix UTC)'),
|
|
12
12
|
postUrl: z.string().describe('Reddit url to the post'),
|
|
13
|
-
selftext: z
|
|
13
|
+
selftext: z
|
|
14
|
+
.string()
|
|
15
|
+
.describe("Post content text (for text posts/self posts). Empty for link posts which don't have text content."),
|
|
14
16
|
subreddit: z.string().describe('Subreddit name'),
|
|
15
17
|
postHint: z
|
|
16
18
|
.string()
|
|
@@ -29,14 +31,20 @@ const RedditScrapeToolParamsSchema = z.object({
|
|
|
29
31
|
subreddit: z
|
|
30
32
|
.string()
|
|
31
33
|
.min(1, 'Subreddit name is required')
|
|
32
|
-
.
|
|
33
|
-
|
|
34
|
+
.transform((val) => {
|
|
35
|
+
// Strip "r/" prefix if present (be tolerant of input format)
|
|
36
|
+
return val.startsWith('r/') ? val.substring(2) : val;
|
|
37
|
+
})
|
|
38
|
+
.pipe(z
|
|
39
|
+
.string()
|
|
40
|
+
.regex(/^[a-zA-Z0-9_]+$/, 'Subreddit name can only contain letters, numbers, and underscores'))
|
|
41
|
+
.describe('Name of the subreddit to scrape (with or without r/ prefix)'),
|
|
34
42
|
limit: z
|
|
35
43
|
.number()
|
|
36
44
|
.min(1, 'Limit must be at least 1')
|
|
37
|
-
.max(
|
|
38
|
-
.default(
|
|
39
|
-
.describe('Maximum number of posts to fetch (1-
|
|
45
|
+
.max(1000, 'Limit cannot exceed 1000')
|
|
46
|
+
.default(100)
|
|
47
|
+
.describe('Maximum number of posts to fetch (1-1000, default: 25)'),
|
|
40
48
|
sort: z
|
|
41
49
|
.enum(['hot', 'new', 'top', 'rising'])
|
|
42
50
|
.default('hot')
|
|
@@ -92,7 +100,7 @@ export class RedditScrapeTool extends ToolBubble {
|
|
|
92
100
|
🔥 Core Features:
|
|
93
101
|
- Scrape posts from any public subreddit
|
|
94
102
|
- Multiple sorting options (hot, new, top, rising)
|
|
95
|
-
- Flexible post limits (1-
|
|
103
|
+
- Flexible post limits (1-1000 posts with pagination)
|
|
96
104
|
- Time-based filtering for top posts
|
|
97
105
|
- Today-only filtering option
|
|
98
106
|
- Score-based filtering
|
|
@@ -140,13 +148,8 @@ export class RedditScrapeTool extends ToolBubble {
|
|
|
140
148
|
const scrapedAt = new Date().toISOString();
|
|
141
149
|
try {
|
|
142
150
|
console.log(`[RedditScrapeTool] Scraping r/${subreddit} with ${limit} ${sort} posts`);
|
|
143
|
-
//
|
|
144
|
-
const
|
|
145
|
-
console.log(`[RedditScrapeTool] API endpoint: ${apiUrl}`);
|
|
146
|
-
// Fetch data from Reddit's JSON API
|
|
147
|
-
const redditData = await this.fetchRedditData(apiUrl);
|
|
148
|
-
// Parse and process posts
|
|
149
|
-
const rawPosts = this.parseRedditResponse(redditData);
|
|
151
|
+
// Fetch posts with pagination support (up to 1000 posts)
|
|
152
|
+
const rawPosts = await this.fetchPostsWithPagination();
|
|
150
153
|
console.log(`[RedditScrapeTool] Found ${rawPosts.length} raw posts`);
|
|
151
154
|
// Apply filters
|
|
152
155
|
const filteredPosts = this.applyFilters(rawPosts);
|
|
@@ -163,7 +166,7 @@ export class RedditScrapeTool extends ToolBubble {
|
|
|
163
166
|
sort,
|
|
164
167
|
timeFilter,
|
|
165
168
|
scrapedAt,
|
|
166
|
-
apiEndpoint:
|
|
169
|
+
apiEndpoint: this.buildRedditApiUrl(),
|
|
167
170
|
},
|
|
168
171
|
success: true,
|
|
169
172
|
error: '',
|
|
@@ -182,7 +185,7 @@ export class RedditScrapeTool extends ToolBubble {
|
|
|
182
185
|
sort,
|
|
183
186
|
timeFilter,
|
|
184
187
|
scrapedAt,
|
|
185
|
-
apiEndpoint:
|
|
188
|
+
apiEndpoint: this.buildRedditApiUrl(),
|
|
186
189
|
},
|
|
187
190
|
success: false,
|
|
188
191
|
error: errorMessage,
|
|
@@ -190,17 +193,73 @@ export class RedditScrapeTool extends ToolBubble {
|
|
|
190
193
|
}
|
|
191
194
|
}
|
|
192
195
|
/**
|
|
193
|
-
* Build the Reddit JSON API URL
|
|
196
|
+
* Build the Reddit JSON API URL with optional pagination
|
|
194
197
|
*/
|
|
195
|
-
buildRedditApiUrl() {
|
|
196
|
-
const { subreddit, sort, timeFilter
|
|
197
|
-
|
|
198
|
+
buildRedditApiUrl(after) {
|
|
199
|
+
const { subreddit, sort, timeFilter } = this.params;
|
|
200
|
+
// Use max limit of 100 per request (Reddit API limit)
|
|
201
|
+
// Add raw_json=1 to get unprocessed JSON content (helps ensure full selftext)
|
|
202
|
+
let url = `https://www.reddit.com/r/${subreddit}/${sort}.json?limit=100&raw_json=1`;
|
|
198
203
|
// Add time filter for top posts
|
|
199
204
|
if (sort === 'top' && timeFilter) {
|
|
200
205
|
url += `&t=${timeFilter}`;
|
|
201
206
|
}
|
|
207
|
+
// Add pagination parameter if provided
|
|
208
|
+
if (after) {
|
|
209
|
+
url += `&after=${after}`;
|
|
210
|
+
}
|
|
202
211
|
return url;
|
|
203
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Fetch posts with pagination support (up to 1000 posts)
|
|
215
|
+
* Makes multiple requests if needed, using the 'after' parameter for pagination
|
|
216
|
+
*/
|
|
217
|
+
async fetchPostsWithPagination() {
|
|
218
|
+
const { limit } = this.params;
|
|
219
|
+
const allPosts = [];
|
|
220
|
+
let after = null;
|
|
221
|
+
const maxRequests = Math.ceil(limit / 100); // Max 100 posts per request
|
|
222
|
+
for (let requestNum = 0; requestNum < maxRequests && allPosts.length < limit; requestNum++) {
|
|
223
|
+
const apiUrl = this.buildRedditApiUrl(after || undefined);
|
|
224
|
+
if (requestNum === 0) {
|
|
225
|
+
console.log(`[RedditScrapeTool] API endpoint: ${apiUrl}`);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
console.log(`[RedditScrapeTool] Fetching page ${requestNum + 1}...`);
|
|
229
|
+
}
|
|
230
|
+
try {
|
|
231
|
+
// Fetch data from Reddit's JSON API
|
|
232
|
+
const redditData = await this.fetchRedditData(apiUrl);
|
|
233
|
+
// Parse and process posts
|
|
234
|
+
const posts = this.parseRedditResponse(redditData);
|
|
235
|
+
allPosts.push(...posts);
|
|
236
|
+
// Stop if we've collected enough posts
|
|
237
|
+
if (allPosts.length >= limit) {
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
// Get the 'after' parameter for next page
|
|
241
|
+
after = redditData?.data?.after || null;
|
|
242
|
+
// If no more posts available, break
|
|
243
|
+
if (!after || posts.length === 0) {
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
// Respect rate limits - add a small delay between requests
|
|
247
|
+
if (requestNum < maxRequests - 1 && allPosts.length < limit) {
|
|
248
|
+
await new Promise((resolve) => setTimeout(resolve, 500)); // 500ms delay
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
console.error(`[RedditScrapeTool] Error fetching page ${requestNum + 1}:`, error);
|
|
253
|
+
// If we have some posts, return what we have
|
|
254
|
+
if (allPosts.length > 0) {
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
// If this is the first request and it fails, throw the error
|
|
258
|
+
throw error;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return allPosts;
|
|
262
|
+
}
|
|
204
263
|
/**
|
|
205
264
|
* Get a random user agent to avoid being blocked
|
|
206
265
|
*/
|
|
@@ -270,6 +329,22 @@ export class RedditScrapeTool extends ToolBubble {
|
|
|
270
329
|
// Skip if not a post (could be an ad or other content)
|
|
271
330
|
if (!post || !post.title)
|
|
272
331
|
continue;
|
|
332
|
+
// Extract selftext - for text posts (is_self=true), this contains the post content
|
|
333
|
+
// For link posts (is_self=false), selftext will be empty (expected - they don't have text content)
|
|
334
|
+
// Try selftext_html as fallback if selftext is empty but post is marked as self post
|
|
335
|
+
let selftext = post.selftext || '';
|
|
336
|
+
const isSelfPost = post.is_self || false;
|
|
337
|
+
// If selftext is empty but we have selftext_html and it's a self post, try to use HTML version
|
|
338
|
+
// (though we prefer plain text, this is a fallback)
|
|
339
|
+
if (isSelfPost && !selftext && post.selftext_html) {
|
|
340
|
+
// For now, we'll use selftext_html as a fallback (could decode HTML if needed)
|
|
341
|
+
selftext = post.selftext_html;
|
|
342
|
+
console.warn(`[RedditScrapeTool] Text post "${post.title.substring(0, 50)}..." has empty selftext, using selftext_html`);
|
|
343
|
+
}
|
|
344
|
+
// Debug logging for text posts without any content (might indicate an API issue)
|
|
345
|
+
if (isSelfPost && !selftext && !post.selftext_html) {
|
|
346
|
+
console.warn(`[RedditScrapeTool] Text post "${post.title.substring(0, 50)}..." has no content (empty selftext and selftext_html)`);
|
|
347
|
+
}
|
|
273
348
|
posts.push({
|
|
274
349
|
title: post.title,
|
|
275
350
|
url: post.url || '',
|
|
@@ -280,10 +355,10 @@ export class RedditScrapeTool extends ToolBubble {
|
|
|
280
355
|
postUrl: post.permalink
|
|
281
356
|
? `https://reddit.com${post.permalink}`
|
|
282
357
|
: '',
|
|
283
|
-
selftext:
|
|
358
|
+
selftext: selftext,
|
|
284
359
|
subreddit: post.subreddit || this.params.subreddit,
|
|
285
360
|
postHint: post.post_hint || null,
|
|
286
|
-
isSelf:
|
|
361
|
+
isSelf: isSelfPost,
|
|
287
362
|
thumbnail: post.thumbnail !== 'self' && post.thumbnail !== 'default'
|
|
288
363
|
? post.thumbnail
|
|
289
364
|
: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reddit-scrape-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/reddit-scrape-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reddit-scrape-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/reddit-scrape-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAE5E,+BAA+B;AAC/B,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAClE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACtD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CACP,oGAAoG,CACrG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAChD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;IACxD,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,QAAQ,CAAC,yDAAyD,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACzD,CAAC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC;SACpC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,6DAA6D;QAC7D,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,CAAC,CAAC;SACD,IAAI,CACH,CAAC;SACE,MAAM,EAAE;SACR,KAAK,CACJ,iBAAiB,EACjB,mEAAmE,CACpE,CACJ;SACA,QAAQ,CAAC,6DAA6D,CAAC;IAE1E,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,GAAG,CAAC,IAAI,EAAE,0BAA0B,CAAC;SACrC,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,wDAAwD,CAAC;IAErE,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SACrC,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,yCAAyC,CAAC;IAEtD,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SACrD,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IAEtE,WAAW,EAAE,CAAC;SACX,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,iDAAiD,CAAC;IAE9D,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,0CAA0C,CAAC;IAEvD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IAEtD,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChD,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;CAC1D,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAE1E,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC5D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACnE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACtE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAC7D,CAAC;SACD,QAAQ,CAAC,uCAAuC,CAAC;IAEpD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAC/D,CAAC,CAAC;AAQH,MAAM,OAAO,gBAAiB,SAAQ,UAGrC;IACC,2BAA2B;IAC3B,MAAM,CAAU,UAAU,GAAe,oBAAoB,CAAC;IAC9D,MAAM,CAAU,MAAM,GAAG,4BAA4B,CAAC;IACtD,MAAM,CAAU,YAAY,GAAG,4BAA4B,CAAC;IAC5D,MAAM,CAAU,gBAAgB,GAC9B,qFAAqF,CAAC;IACxF,MAAM,CAAU,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCjC,CAAC;IACF,MAAM,CAAU,KAAK,GAAG,QAAQ,CAAC;IACjC,MAAM,CAAU,IAAI,GAAG,MAAM,CAAC;IAE9B,YACE,SAAsC;QACpC,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,KAAK;KACZ,EACD,OAAuB;QAEvB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAAuB;QAEvB,KAAK,OAAO,CAAC,CAAC,2CAA2C;QAEzD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CACT,iCAAiC,SAAS,SAAS,KAAK,IAAI,IAAI,QAAQ,CACzE,CAAC;YAEF,yDAAyD;YACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,4BAA4B,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC;YAErE,gBAAgB;YAChB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CACT,sBAAsB,aAAa,CAAC,MAAM,wBAAwB,CACnE,CAAC;YAEF,gBAAgB;YAChB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAEjD,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE;oBACR,SAAS;oBACT,cAAc,EAAE,KAAK;oBACrB,WAAW,EAAE,QAAQ,CAAC,MAAM;oBAC5B,aAAa,EAAE,aAAa,CAAC,MAAM;oBACnC,IAAI;oBACJ,UAAU;oBACV,SAAS;oBACT,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE;iBACtC;gBACD,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAE3D,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAE3D,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE;oBACR,SAAS;oBACT,cAAc,EAAE,KAAK;oBACrB,WAAW,EAAE,CAAC;oBACd,aAAa,EAAE,CAAC;oBAChB,IAAI;oBACJ,UAAU;oBACV,SAAS;oBACT,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE;iBACtC;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,KAAc;QACtC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpD,sDAAsD;QACtD,8EAA8E;QAC9E,IAAI,GAAG,GAAG,4BAA4B,SAAS,IAAI,IAAI,4BAA4B,CAAC;QAEpF,gCAAgC;QAChC,IAAI,IAAI,KAAK,KAAK,IAAI,UAAU,EAAE,CAAC;YACjC,GAAG,IAAI,MAAM,UAAU,EAAE,CAAC;QAC5B,CAAC;QAED,uCAAuC;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,IAAI,UAAU,KAAK,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,wBAAwB;QACpC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,4BAA4B;QAExE,KACE,IAAI,UAAU,GAAG,CAAC,EAClB,UAAU,GAAG,WAAW,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,EACnD,UAAU,EAAE,EACZ,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;YAE1D,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,oCAAoC,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,CAAC;gBACH,oCAAoC;gBACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAEtD,0BAA0B;gBAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBAExB,uCAAuC;gBACvC,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBAED,0CAA0C;gBAC1C,KAAK,GAAG,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;gBAExC,oCAAoC;gBACpC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM;gBACR,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,UAAU,GAAG,WAAW,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;oBAC5D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc;gBAC1E,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,0CAA0C,UAAU,GAAG,CAAC,GAAG,EAC3D,KAAK,CACN,CAAC;gBACF,6CAA6C;gBAC7C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM;gBACR,CAAC;gBACD,6DAA6D;gBAC7D,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,UAAU,GAAG;YACjB,iHAAiH;YACjH,uHAAuH;YACvH,iHAAiH;YACjH,uHAAuH;YACvH,kFAAkF;YAClF,sFAAsF;YACtF,uGAAuG;YACvG,iGAAiG;YACjG,qIAAqI;YACrI,iHAAiH;SAClH,CAAC;QAEF,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,GAAW;QACvC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAEpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CACvB,GAAG,EACH;gBACE,OAAO,EAAE;oBACP,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE;iBACxC;aACF,EACD,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,IAAI,GAAG,EAAE,CAAC;gBAEd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC5B,IAAI,IAAI,KAAK,CAAC;gBAChB,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACtB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;wBAChC,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAClC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACpB,CAAC;wBAAC,OAAO,UAAU,EAAE,CAAC;4BACpB,MAAM,CACJ,IAAI,KAAK,CACP,yCAAyC,UAAU,EAAE,CACtD,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CACJ,IAAI,KAAK,CACP,8BAA8B,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,aAAa,EAAE,CAC/E,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;YAEF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC7B,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CACJ,IAAI,KAAK,CACP,gEAAgE,CACjE,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAS;QACnC,MAAM,KAAK,GAAiB,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBAExB,uDAAuD;oBACvD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;wBAAE,SAAS;oBAEnC,mFAAmF;oBACnF,mGAAmG;oBACnG,qFAAqF;oBACrF,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;oBAEzC,+FAA+F;oBAC/F,oDAAoD;oBACpD,IAAI,UAAU,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBAClD,+EAA+E;wBAC/E,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;wBAC9B,OAAO,CAAC,IAAI,CACV,iCAAiC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,8CAA8C,CAC3G,CAAC;oBACJ,CAAC;oBAED,iFAAiF;oBACjF,IAAI,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnD,OAAO,CAAC,IAAI,CACV,iCAAiC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,wDAAwD,CACrH,CAAC;oBACJ,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;wBACnB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,WAAW;wBAClC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;wBACtB,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;wBACnC,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;wBACjC,OAAO,EAAE,IAAI,CAAC,SAAS;4BACrB,CAAC,CAAC,qBAAqB,IAAI,CAAC,SAAS,EAAE;4BACvC,CAAC,CAAC,EAAE;wBACN,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;wBAClD,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;wBAChC,MAAM,EAAE,UAAU;wBAClB,SAAS,EACP,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;4BACvD,CAAC,CAAC,IAAI,CAAC,SAAS;4BAChB,CAAC,CAAC,SAAS;wBACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;wBAChC,KAAK,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;qBACzC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAmB;QACtC,IAAI,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAE1B,6CAA6C;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACjC,+EAA+E;YAC/E,yFAAyF;YACzF,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CACzD,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;QAC5E,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GACd,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;gBACpE,IAAI,CAAC;YACP,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC"}
|