@bubblelab/bubble-core 0.1.8 → 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.
Files changed (224) hide show
  1. package/dist/bubble-bundle.d.ts +333 -1438
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +64 -28
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubble-flow/bubble-flow-class.d.ts +17 -1
  6. package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -1
  7. package/dist/bubble-flow/bubble-flow-class.js +16 -0
  8. package/dist/bubble-flow/bubble-flow-class.js.map +1 -1
  9. package/dist/bubble-flow/sample/data-analyst-flow.d.ts +1 -1
  10. package/dist/bubble-flow/sample/data-analyst-flow.d.ts.map +1 -1
  11. package/dist/bubble-flow/sample/error-ts.d.ts +1 -1
  12. package/dist/bubble-flow/sample/error-ts.d.ts.map +1 -1
  13. package/dist/bubble-flow/sample/sanitytest.d.ts +1 -1
  14. package/dist/bubble-flow/sample/sanitytest.d.ts.map +1 -1
  15. package/dist/bubble-flow/sample/simple-webhook-2.d.ts +1 -1
  16. package/dist/bubble-flow/sample/simple-webhook-2.d.ts.map +1 -1
  17. package/dist/bubble-flow/sample/simple-webhook.d.ts +1 -1
  18. package/dist/bubble-flow/sample/simple-webhook.d.ts.map +1 -1
  19. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts +1 -1
  20. package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -1
  21. package/dist/bubble-flow/sample/slack-v0.1.d.ts +1 -1
  22. package/dist/bubble-flow/sample/slack-v0.1.d.ts.map +1 -1
  23. package/dist/bubble-flow/sample/slackagenttest.d.ts +1 -1
  24. package/dist/bubble-flow/sample/slackagenttest.d.ts.map +1 -1
  25. package/dist/bubbles/service-bubble/ai-agent.d.ts +115 -97
  26. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  27. package/dist/bubbles/service-bubble/ai-agent.js +276 -96
  28. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  29. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +805 -0
  30. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts.map +1 -0
  31. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.js +131 -0
  32. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.js.map +1 -0
  33. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +485 -0
  34. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts.map +1 -0
  35. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.js +176 -0
  36. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.js.map +1 -0
  37. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +302 -0
  38. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts.map +1 -0
  39. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.js +138 -0
  40. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.js.map +1 -0
  41. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +642 -0
  42. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts.map +1 -0
  43. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.js +123 -0
  44. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.js.map +1 -0
  45. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +184 -0
  46. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts.map +1 -0
  47. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js +145 -0
  48. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js.map +1 -0
  49. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts +52 -0
  50. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts.map +1 -0
  51. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js +29 -0
  52. package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js.map +1 -0
  53. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +1999 -0
  54. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts.map +1 -0
  55. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js +54 -0
  56. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js.map +1 -0
  57. package/dist/bubbles/service-bubble/apify/apify.d.ts +143 -0
  58. package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -0
  59. package/dist/bubbles/service-bubble/apify/apify.js +276 -0
  60. package/dist/bubbles/service-bubble/apify/apify.js.map +1 -0
  61. package/dist/bubbles/service-bubble/apify/index.d.ts +6 -0
  62. package/dist/bubbles/service-bubble/apify/index.d.ts.map +1 -0
  63. package/dist/bubbles/service-bubble/apify/index.js +6 -0
  64. package/dist/bubbles/service-bubble/apify/index.js.map +1 -0
  65. package/dist/bubbles/service-bubble/apify/types.d.ts +7 -0
  66. package/dist/bubbles/service-bubble/apify/types.d.ts.map +1 -0
  67. package/dist/bubbles/service-bubble/apify/types.js +5 -0
  68. package/dist/bubbles/service-bubble/apify/types.js.map +1 -0
  69. package/dist/bubbles/service-bubble/gmail.d.ts +626 -132
  70. package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -1
  71. package/dist/bubbles/service-bubble/gmail.js +435 -7
  72. package/dist/bubbles/service-bubble/gmail.js.map +1 -1
  73. package/dist/bubbles/service-bubble/google-calendar.d.ts +36 -36
  74. package/dist/bubbles/service-bubble/google-drive.d.ts +233 -4
  75. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
  76. package/dist/bubbles/service-bubble/google-drive.js +65 -75
  77. package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
  78. package/dist/bubbles/service-bubble/google-sheets.d.ts +52 -52
  79. package/dist/bubbles/service-bubble/hello-world.js +2 -2
  80. package/dist/bubbles/service-bubble/hello-world.js.map +1 -1
  81. package/dist/bubbles/service-bubble/http.d.ts +6 -6
  82. package/dist/bubbles/service-bubble/postgresql.d.ts +4 -4
  83. package/dist/bubbles/service-bubble/resend.d.ts +5 -5
  84. package/dist/bubbles/service-bubble/resend.d.ts.map +1 -1
  85. package/dist/bubbles/service-bubble/resend.js +16 -5
  86. package/dist/bubbles/service-bubble/resend.js.map +1 -1
  87. package/dist/bubbles/service-bubble/slack.d.ts +18 -18
  88. package/dist/bubbles/service-bubble/storage.d.ts +4 -4
  89. package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
  90. package/dist/bubbles/service-bubble/storage.js +16 -5
  91. package/dist/bubbles/service-bubble/storage.js.map +1 -1
  92. package/dist/bubbles/service-bubble/x-twitter.d.ts +814 -0
  93. package/dist/bubbles/service-bubble/x-twitter.d.ts.map +1 -0
  94. package/dist/bubbles/service-bubble/x-twitter.js +445 -0
  95. package/dist/bubbles/service-bubble/x-twitter.js.map +1 -0
  96. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +20 -20
  97. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +16 -16
  98. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +14 -1
  99. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -1
  100. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +101 -47
  101. package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -1
  102. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +435 -0
  103. package/dist/bubbles/tool-bubble/instagram-tool.d.ts.map +1 -0
  104. package/dist/bubbles/tool-bubble/instagram-tool.js +474 -0
  105. package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -0
  106. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +2136 -0
  107. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -0
  108. package/dist/bubbles/tool-bubble/linkedin-tool.js +608 -0
  109. package/dist/bubbles/tool-bubble/linkedin-tool.js.map +1 -0
  110. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +69 -64
  111. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts.map +1 -1
  112. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js +97 -22
  113. package/dist/bubbles/tool-bubble/reddit-scrape-tool.js.map +1 -1
  114. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +6 -6
  115. package/dist/bubbles/tool-bubble/research-agent-tool.js +5 -5
  116. package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
  117. package/dist/bubbles/tool-bubble/tool-template.d.ts +8 -8
  118. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +14 -14
  119. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  120. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +28 -28
  121. package/dist/bubbles/tool-bubble/web-scrape-tool.js +1 -1
  122. package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -1
  123. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +5 -4
  124. package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -1
  125. package/dist/bubbles/tool-bubble/web-search-tool.js +6 -2
  126. package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -1
  127. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +394 -0
  128. package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -0
  129. package/dist/bubbles/tool-bubble/youtube-tool.js +352 -0
  130. package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -0
  131. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +47 -36
  132. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -1
  133. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +96 -65
  134. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -1
  135. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +38 -38
  136. package/dist/bubbles/workflow-bubble/generate-document.workflow.js +1 -1
  137. package/dist/bubbles/workflow-bubble/generate-document.workflow.js.map +1 -1
  138. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +42 -42
  139. package/dist/bubbles/workflow-bubble/parse-document.workflow.js +1 -1
  140. package/dist/bubbles/workflow-bubble/parse-document.workflow.js.map +1 -1
  141. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +22 -22
  142. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -1
  143. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js +1 -4
  144. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -1
  145. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +60 -60
  146. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts.map +1 -1
  147. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +2 -2
  148. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js.map +1 -1
  149. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +20 -20
  150. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +1 -1
  151. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -1
  152. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +66 -66
  153. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js +1 -1
  154. package/dist/bubbles/workflow-bubble/slack-formatter-agent.js.map +1 -1
  155. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +18 -18
  156. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts.map +1 -1
  157. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +1 -2
  158. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -1
  159. package/dist/bubbles.json +489 -0
  160. package/dist/index.d.ts +16 -3
  161. package/dist/index.d.ts.map +1 -1
  162. package/dist/index.js +8 -1
  163. package/dist/index.js.map +1 -1
  164. package/dist/logging/BubbleLogger.d.ts +11 -0
  165. package/dist/logging/BubbleLogger.d.ts.map +1 -1
  166. package/dist/logging/BubbleLogger.js +87 -33
  167. package/dist/logging/BubbleLogger.js.map +1 -1
  168. package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
  169. package/dist/logging/StreamingBubbleLogger.js +23 -16
  170. package/dist/logging/StreamingBubbleLogger.js.map +1 -1
  171. package/dist/test-gm.d.ts +10 -0
  172. package/dist/test-gm.d.ts.map +1 -0
  173. package/dist/test-gm.js +95 -0
  174. package/dist/test-gm.js.map +1 -0
  175. package/dist/types/available-tools.d.ts +1 -1
  176. package/dist/types/available-tools.d.ts.map +1 -1
  177. package/dist/types/available-tools.js +2 -0
  178. package/dist/types/available-tools.js.map +1 -1
  179. package/dist/types/base-bubble-class.d.ts +6 -1
  180. package/dist/types/base-bubble-class.d.ts.map +1 -1
  181. package/dist/types/base-bubble-class.js +47 -24
  182. package/dist/types/base-bubble-class.js.map +1 -1
  183. package/dist/types/bubble.d.ts +3 -13
  184. package/dist/types/bubble.d.ts.map +1 -1
  185. package/dist/types/bubble.js +1 -1
  186. package/dist/types/bubble.js.map +1 -1
  187. package/dist/types/service-bubble-class.d.ts +5 -5
  188. package/dist/types/service-bubble-class.d.ts.map +1 -1
  189. package/dist/types/service-bubble-class.js +6 -7
  190. package/dist/types/service-bubble-class.js.map +1 -1
  191. package/dist/types/tool-bubble-class.d.ts +1 -1
  192. package/dist/types/tool-bubble-class.d.ts.map +1 -1
  193. package/dist/types/tool-bubble-class.js +9 -3
  194. package/dist/types/tool-bubble-class.js.map +1 -1
  195. package/dist/types/workflow-bubble-class.d.ts +1 -1
  196. package/dist/types/workflow-bubble-class.d.ts.map +1 -1
  197. package/dist/utils/agent-formatter.d.ts +17 -0
  198. package/dist/utils/agent-formatter.d.ts.map +1 -0
  199. package/dist/utils/agent-formatter.js +139 -0
  200. package/dist/utils/agent-formatter.js.map +1 -0
  201. package/dist/utils/bubbleflow-validation.d.ts.map +1 -1
  202. package/dist/utils/bubbleflow-validation.js +89 -32
  203. package/dist/utils/bubbleflow-validation.js.map +1 -1
  204. package/dist/utils/error-sanitizer.d.ts +12 -0
  205. package/dist/utils/error-sanitizer.d.ts.map +1 -0
  206. package/dist/utils/error-sanitizer.js +77 -0
  207. package/dist/utils/error-sanitizer.js.map +1 -0
  208. package/dist/utils/json-parsing.d.ts +1 -0
  209. package/dist/utils/json-parsing.d.ts.map +1 -1
  210. package/dist/utils/json-parsing.js +205 -32
  211. package/dist/utils/json-parsing.js.map +1 -1
  212. package/package.json +6 -5
  213. package/dist/bubble-trigger/index.d.ts +0 -2
  214. package/dist/bubble-trigger/index.d.ts.map +0 -1
  215. package/dist/bubble-trigger/index.js +0 -2
  216. package/dist/bubble-trigger/index.js.map +0 -1
  217. package/dist/bubble-trigger/types.d.ts +0 -87
  218. package/dist/bubble-trigger/types.d.ts.map +0 -1
  219. package/dist/bubble-trigger/types.js +0 -14
  220. package/dist/bubble-trigger/types.js.map +0 -1
  221. package/dist/types/ai-models.d.ts +0 -4
  222. package/dist/types/ai-models.d.ts.map +0 -1
  223. package/dist/types/ai-models.js +0 -16
  224. package/dist/types/ai-models.js.map +0 -1
@@ -0,0 +1,176 @@
1
+ import { z } from 'zod';
2
+ // ============================================================================
3
+ // INSTAGRAM SCRAPER SCHEMAS
4
+ // ============================================================================
5
+ export const InstagramScraperInputSchema = z.object({
6
+ directUrls: z
7
+ .array(z.string().url())
8
+ .min(1, 'At least one Instagram URL is required')
9
+ .describe('Instagram profile URLs to scrape. Examples: ["https://www.instagram.com/username/"]'),
10
+ resultsType: z
11
+ .enum(['posts', 'details'])
12
+ .default('posts')
13
+ .describe('Type of results to fetch: "posts" for posts only, "details" for profile + posts'),
14
+ resultsLimit: z
15
+ .number()
16
+ .min(1)
17
+ .max(200)
18
+ .default(20)
19
+ .describe('Maximum number of posts to fetch per profile (1-200)'),
20
+ includeStories: z
21
+ .boolean()
22
+ .default(false)
23
+ .optional()
24
+ .describe('Whether to include Instagram stories in results'),
25
+ includeHighlights: z
26
+ .boolean()
27
+ .default(false)
28
+ .optional()
29
+ .describe('Whether to include Instagram highlights in results'),
30
+ });
31
+ export const InstagramPostSchema = z.object({
32
+ id: z.string().optional().describe('Post ID'),
33
+ type: z
34
+ .string()
35
+ .optional()
36
+ .describe('Post media type (Video, Image, Sidecar, etc)'),
37
+ shortCode: z.string().optional().describe('Instagram short code'),
38
+ caption: z.string().optional().describe('Post caption text'),
39
+ hashtags: z.array(z.string()).optional().describe('Hashtags in the post'),
40
+ mentions: z
41
+ .array(z.string())
42
+ .optional()
43
+ .describe('User mentions in the post'),
44
+ url: z.string().optional().describe('Post URL'),
45
+ commentsCount: z.number().optional().describe('Number of comments'),
46
+ dimensionsHeight: z.number().optional().describe('Media height in pixels'),
47
+ dimensionsWidth: z.number().optional().describe('Media width in pixels'),
48
+ displayUrl: z.string().optional().describe('Main display image URL'),
49
+ images: z.array(z.string()).optional().describe('Array of image URLs'),
50
+ videoUrl: z.string().optional().describe('Video URL if post is a video'),
51
+ alt: z.string().nullable().optional().describe('Alt text for the media'),
52
+ likesCount: z.number().optional().describe('Number of likes'),
53
+ videoViewCount: z.number().optional().describe('Video view count'),
54
+ timestamp: z.string().optional().describe('Post timestamp (ISO format)'),
55
+ childPosts: z
56
+ .array(z.unknown())
57
+ .optional()
58
+ .describe('Child posts for carousel'),
59
+ ownerUsername: z.string().optional().describe('Post owner username'),
60
+ ownerId: z.string().optional().describe('Post owner ID'),
61
+ productType: z
62
+ .string()
63
+ .optional()
64
+ .describe('Product type (clips, feed, igtv, etc)'),
65
+ taggedUsers: z
66
+ .array(z.object({
67
+ full_name: z.string().optional(),
68
+ id: z.string().optional(),
69
+ is_verified: z.boolean().optional(),
70
+ profile_pic_url: z.string().optional(),
71
+ username: z.string().optional(),
72
+ }))
73
+ .optional()
74
+ .describe('Tagged users in the post'),
75
+ isCommentsDisabled: z
76
+ .boolean()
77
+ .optional()
78
+ .describe('Whether comments are disabled'),
79
+ location: z
80
+ .object({
81
+ name: z.string().optional(),
82
+ id: z.string().optional(),
83
+ })
84
+ .nullable()
85
+ .optional()
86
+ .describe('Location information if available'),
87
+ });
88
+ // Single profile/item output schema (each item in the array)
89
+ export const InstagramScraperItemSchema = z.object({
90
+ // Profile identifiers
91
+ inputUrl: z.string().optional().describe('Original input URL'),
92
+ id: z.string().optional().describe('Instagram user ID'),
93
+ username: z.string().optional().describe('Instagram username'),
94
+ url: z.string().optional().describe('Profile URL'),
95
+ // Profile information
96
+ fullName: z.string().optional().describe('Full name'),
97
+ biography: z.string().optional().describe('Profile bio'),
98
+ // External links
99
+ externalUrls: z
100
+ .array(z.object({
101
+ title: z.string().optional(),
102
+ lynx_url: z.string().optional(),
103
+ url: z.string().optional(),
104
+ link_type: z.string().optional(),
105
+ }))
106
+ .optional()
107
+ .describe('Array of external URLs'),
108
+ externalUrl: z.string().optional().describe('Primary external website URL'),
109
+ externalUrlShimmed: z.string().optional().describe('Shimmed external URL'),
110
+ // Follower statistics
111
+ followersCount: z.number().optional().describe('Number of followers'),
112
+ followsCount: z.number().optional().describe('Number of following'),
113
+ postsCount: z.number().optional().describe('Total posts'),
114
+ // Account properties
115
+ hasChannel: z
116
+ .boolean()
117
+ .optional()
118
+ .describe('Whether account has IGTV channel'),
119
+ highlightReelCount: z
120
+ .number()
121
+ .optional()
122
+ .describe('Number of highlight reels'),
123
+ isBusinessAccount: z
124
+ .boolean()
125
+ .optional()
126
+ .describe('Whether this is a business account'),
127
+ joinedRecently: z
128
+ .boolean()
129
+ .optional()
130
+ .describe('Whether user joined recently'),
131
+ businessCategoryName: z
132
+ .string()
133
+ .optional()
134
+ .describe('Business category name'),
135
+ private: z.boolean().optional().describe('Whether profile is private'),
136
+ verified: z.boolean().optional().describe('Verification status'),
137
+ // Profile pictures
138
+ profilePicUrl: z.string().optional().describe('Profile picture URL'),
139
+ profilePicUrlHD: z
140
+ .string()
141
+ .optional()
142
+ .describe('High-res profile picture URL'),
143
+ // IGTV
144
+ igtvVideoCount: z.number().optional().describe('Number of IGTV videos'),
145
+ latestIgtvVideos: z
146
+ .array(z.unknown())
147
+ .optional()
148
+ .describe('Latest IGTV videos'),
149
+ // Related content
150
+ relatedProfiles: z.array(z.unknown()).optional().describe('Related profiles'),
151
+ // Posts (nested when resultsType is 'details')
152
+ latestPosts: z
153
+ .array(InstagramPostSchema)
154
+ .optional()
155
+ .describe('Latest posts from the profile'),
156
+ // Stories (when includeStories is true)
157
+ stories: z
158
+ .array(z.object({
159
+ url: z.string().optional(),
160
+ timestamp: z.string().optional(),
161
+ type: z.enum(['image', 'video']).optional(),
162
+ viewsCount: z.number().optional(),
163
+ }))
164
+ .optional()
165
+ .describe('Instagram stories'),
166
+ // Highlights (when includeHighlights is true)
167
+ highlights: z
168
+ .array(z.object({
169
+ title: z.string().optional(),
170
+ coverUrl: z.string().optional(),
171
+ itemsCount: z.number().optional(),
172
+ }))
173
+ .optional()
174
+ .describe('Instagram highlights'),
175
+ });
176
+ //# sourceMappingURL=instagram-scraper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instagram-scraper.js","sourceRoot":"","sources":["../../../../../src/bubbles/service-bubble/apify/actors/instagram-scraper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,302 @@
1
+ import { z } from 'zod';
2
+ export declare const LinkedInPostsSearchInputSchema: z.ZodObject<{
3
+ keyword: z.ZodString;
4
+ sort_type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["relevance", "date_posted"]>>>;
5
+ page_number: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
6
+ date_filter: z.ZodOptional<z.ZodDefault<z.ZodEnum<["", "past-24h", "past-week", "past-month"]>>>;
7
+ limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ keyword: string;
10
+ limit?: number | undefined;
11
+ page_number?: number | undefined;
12
+ sort_type?: "relevance" | "date_posted" | undefined;
13
+ date_filter?: "" | "past-24h" | "past-week" | "past-month" | undefined;
14
+ }, {
15
+ keyword: string;
16
+ limit?: number | undefined;
17
+ page_number?: number | undefined;
18
+ sort_type?: "relevance" | "date_posted" | undefined;
19
+ date_filter?: "" | "past-24h" | "past-week" | "past-month" | undefined;
20
+ }>;
21
+ export declare const LinkedInPostsSearchOutputSchema: z.ZodObject<{
22
+ activity_id: z.ZodOptional<z.ZodString>;
23
+ post_url: z.ZodOptional<z.ZodString>;
24
+ text: z.ZodOptional<z.ZodString>;
25
+ full_urn: z.ZodOptional<z.ZodString>;
26
+ author: z.ZodOptional<z.ZodObject<{
27
+ name: z.ZodOptional<z.ZodString>;
28
+ headline: z.ZodOptional<z.ZodString>;
29
+ profile_id: z.ZodOptional<z.ZodString>;
30
+ profile_url: z.ZodOptional<z.ZodString>;
31
+ image_url: z.ZodOptional<z.ZodString>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ name?: string | undefined;
34
+ image_url?: string | undefined;
35
+ headline?: string | undefined;
36
+ profile_url?: string | undefined;
37
+ profile_id?: string | undefined;
38
+ }, {
39
+ name?: string | undefined;
40
+ image_url?: string | undefined;
41
+ headline?: string | undefined;
42
+ profile_url?: string | undefined;
43
+ profile_id?: string | undefined;
44
+ }>>;
45
+ stats: z.ZodOptional<z.ZodObject<{
46
+ total_reactions: z.ZodOptional<z.ZodNumber>;
47
+ comments: z.ZodOptional<z.ZodNumber>;
48
+ shares: z.ZodOptional<z.ZodNumber>;
49
+ reactions: z.ZodOptional<z.ZodArray<z.ZodObject<{
50
+ type: z.ZodOptional<z.ZodString>;
51
+ count: z.ZodOptional<z.ZodNumber>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ type?: string | undefined;
54
+ count?: number | undefined;
55
+ }, {
56
+ type?: string | undefined;
57
+ count?: number | undefined;
58
+ }>, "many">>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ reactions?: {
61
+ type?: string | undefined;
62
+ count?: number | undefined;
63
+ }[] | undefined;
64
+ shares?: number | undefined;
65
+ total_reactions?: number | undefined;
66
+ comments?: number | undefined;
67
+ }, {
68
+ reactions?: {
69
+ type?: string | undefined;
70
+ count?: number | undefined;
71
+ }[] | undefined;
72
+ shares?: number | undefined;
73
+ total_reactions?: number | undefined;
74
+ comments?: number | undefined;
75
+ }>>;
76
+ posted_at: z.ZodOptional<z.ZodObject<{
77
+ display_text: z.ZodOptional<z.ZodString>;
78
+ date: z.ZodOptional<z.ZodString>;
79
+ timestamp: z.ZodOptional<z.ZodNumber>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ date?: string | undefined;
82
+ timestamp?: number | undefined;
83
+ display_text?: string | undefined;
84
+ }, {
85
+ date?: string | undefined;
86
+ timestamp?: number | undefined;
87
+ display_text?: string | undefined;
88
+ }>>;
89
+ hashtags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
90
+ content: z.ZodOptional<z.ZodObject<{
91
+ type: z.ZodOptional<z.ZodString>;
92
+ article: z.ZodOptional<z.ZodObject<{
93
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
94
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
95
+ subtitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
+ thumbnail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ title?: string | null | undefined;
99
+ url?: string | null | undefined;
100
+ subtitle?: string | null | undefined;
101
+ thumbnail?: string | null | undefined;
102
+ }, {
103
+ title?: string | null | undefined;
104
+ url?: string | null | undefined;
105
+ subtitle?: string | null | undefined;
106
+ thumbnail?: string | null | undefined;
107
+ }>>;
108
+ url: z.ZodOptional<z.ZodString>;
109
+ thumbnail_url: z.ZodOptional<z.ZodString>;
110
+ duration_ms: z.ZodOptional<z.ZodNumber>;
111
+ text: z.ZodOptional<z.ZodString>;
112
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
113
+ url: z.ZodOptional<z.ZodString>;
114
+ width: z.ZodOptional<z.ZodNumber>;
115
+ height: z.ZodOptional<z.ZodNumber>;
116
+ }, "strip", z.ZodTypeAny, {
117
+ url?: string | undefined;
118
+ width?: number | undefined;
119
+ height?: number | undefined;
120
+ }, {
121
+ url?: string | undefined;
122
+ width?: number | undefined;
123
+ height?: number | undefined;
124
+ }>, "many">>;
125
+ }, "strip", z.ZodTypeAny, {
126
+ type?: string | undefined;
127
+ url?: string | undefined;
128
+ text?: string | undefined;
129
+ images?: {
130
+ url?: string | undefined;
131
+ width?: number | undefined;
132
+ height?: number | undefined;
133
+ }[] | undefined;
134
+ article?: {
135
+ title?: string | null | undefined;
136
+ url?: string | null | undefined;
137
+ subtitle?: string | null | undefined;
138
+ thumbnail?: string | null | undefined;
139
+ } | undefined;
140
+ thumbnail_url?: string | undefined;
141
+ duration_ms?: number | undefined;
142
+ }, {
143
+ type?: string | undefined;
144
+ url?: string | undefined;
145
+ text?: string | undefined;
146
+ images?: {
147
+ url?: string | undefined;
148
+ width?: number | undefined;
149
+ height?: number | undefined;
150
+ }[] | undefined;
151
+ article?: {
152
+ title?: string | null | undefined;
153
+ url?: string | null | undefined;
154
+ subtitle?: string | null | undefined;
155
+ thumbnail?: string | null | undefined;
156
+ } | undefined;
157
+ thumbnail_url?: string | undefined;
158
+ duration_ms?: number | undefined;
159
+ }>>;
160
+ is_reshare: z.ZodOptional<z.ZodBoolean>;
161
+ metadata: z.ZodOptional<z.ZodObject<{
162
+ total_count: z.ZodOptional<z.ZodNumber>;
163
+ count: z.ZodOptional<z.ZodNumber>;
164
+ page: z.ZodOptional<z.ZodNumber>;
165
+ page_size: z.ZodOptional<z.ZodNumber>;
166
+ total_pages: z.ZodOptional<z.ZodNumber>;
167
+ has_next_page: z.ZodOptional<z.ZodBoolean>;
168
+ has_prev_page: z.ZodOptional<z.ZodBoolean>;
169
+ }, "strip", z.ZodTypeAny, {
170
+ count?: number | undefined;
171
+ total_count?: number | undefined;
172
+ page?: number | undefined;
173
+ page_size?: number | undefined;
174
+ total_pages?: number | undefined;
175
+ has_next_page?: boolean | undefined;
176
+ has_prev_page?: boolean | undefined;
177
+ }, {
178
+ count?: number | undefined;
179
+ total_count?: number | undefined;
180
+ page?: number | undefined;
181
+ page_size?: number | undefined;
182
+ total_pages?: number | undefined;
183
+ has_next_page?: boolean | undefined;
184
+ has_prev_page?: boolean | undefined;
185
+ }>>;
186
+ search_input: z.ZodOptional<z.ZodString>;
187
+ }, "strip", z.ZodTypeAny, {
188
+ stats?: {
189
+ reactions?: {
190
+ type?: string | undefined;
191
+ count?: number | undefined;
192
+ }[] | undefined;
193
+ shares?: number | undefined;
194
+ total_reactions?: number | undefined;
195
+ comments?: number | undefined;
196
+ } | undefined;
197
+ content?: {
198
+ type?: string | undefined;
199
+ url?: string | undefined;
200
+ text?: string | undefined;
201
+ images?: {
202
+ url?: string | undefined;
203
+ width?: number | undefined;
204
+ height?: number | undefined;
205
+ }[] | undefined;
206
+ article?: {
207
+ title?: string | null | undefined;
208
+ url?: string | null | undefined;
209
+ subtitle?: string | null | undefined;
210
+ thumbnail?: string | null | undefined;
211
+ } | undefined;
212
+ thumbnail_url?: string | undefined;
213
+ duration_ms?: number | undefined;
214
+ } | undefined;
215
+ text?: string | undefined;
216
+ metadata?: {
217
+ count?: number | undefined;
218
+ total_count?: number | undefined;
219
+ page?: number | undefined;
220
+ page_size?: number | undefined;
221
+ total_pages?: number | undefined;
222
+ has_next_page?: boolean | undefined;
223
+ has_prev_page?: boolean | undefined;
224
+ } | undefined;
225
+ hashtags?: string[] | undefined;
226
+ posted_at?: {
227
+ date?: string | undefined;
228
+ timestamp?: number | undefined;
229
+ display_text?: string | undefined;
230
+ } | undefined;
231
+ author?: {
232
+ name?: string | undefined;
233
+ image_url?: string | undefined;
234
+ headline?: string | undefined;
235
+ profile_url?: string | undefined;
236
+ profile_id?: string | undefined;
237
+ } | undefined;
238
+ full_urn?: string | undefined;
239
+ activity_id?: string | undefined;
240
+ post_url?: string | undefined;
241
+ is_reshare?: boolean | undefined;
242
+ search_input?: string | undefined;
243
+ }, {
244
+ stats?: {
245
+ reactions?: {
246
+ type?: string | undefined;
247
+ count?: number | undefined;
248
+ }[] | undefined;
249
+ shares?: number | undefined;
250
+ total_reactions?: number | undefined;
251
+ comments?: number | undefined;
252
+ } | undefined;
253
+ content?: {
254
+ type?: string | undefined;
255
+ url?: string | undefined;
256
+ text?: string | undefined;
257
+ images?: {
258
+ url?: string | undefined;
259
+ width?: number | undefined;
260
+ height?: number | undefined;
261
+ }[] | undefined;
262
+ article?: {
263
+ title?: string | null | undefined;
264
+ url?: string | null | undefined;
265
+ subtitle?: string | null | undefined;
266
+ thumbnail?: string | null | undefined;
267
+ } | undefined;
268
+ thumbnail_url?: string | undefined;
269
+ duration_ms?: number | undefined;
270
+ } | undefined;
271
+ text?: string | undefined;
272
+ metadata?: {
273
+ count?: number | undefined;
274
+ total_count?: number | undefined;
275
+ page?: number | undefined;
276
+ page_size?: number | undefined;
277
+ total_pages?: number | undefined;
278
+ has_next_page?: boolean | undefined;
279
+ has_prev_page?: boolean | undefined;
280
+ } | undefined;
281
+ hashtags?: string[] | undefined;
282
+ posted_at?: {
283
+ date?: string | undefined;
284
+ timestamp?: number | undefined;
285
+ display_text?: string | undefined;
286
+ } | undefined;
287
+ author?: {
288
+ name?: string | undefined;
289
+ image_url?: string | undefined;
290
+ headline?: string | undefined;
291
+ profile_url?: string | undefined;
292
+ profile_id?: string | undefined;
293
+ } | undefined;
294
+ full_urn?: string | undefined;
295
+ activity_id?: string | undefined;
296
+ post_url?: string | undefined;
297
+ is_reshare?: boolean | undefined;
298
+ search_input?: string | undefined;
299
+ }>;
300
+ export type LinkedInPostsSearchInput = z.output<typeof LinkedInPostsSearchInputSchema>;
301
+ export type LinkedInPostsSearchOutput = z.output<typeof LinkedInPostsSearchOutputSchema>;
302
+ //# sourceMappingURL=linkedin-posts-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkedin-posts-search.d.ts","sourceRoot":"","sources":["../../../../../src/bubbles/service-bubble/apify/actors/linkedin-posts-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;EAgCzC,CAAC;AAwGH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe1C,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAC7C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAC9C,OAAO,+BAA+B,CACvC,CAAC"}
@@ -0,0 +1,138 @@
1
+ import { z } from 'zod';
2
+ // ============================================================================
3
+ // LINKEDIN POSTS SEARCH SCRAPER SCHEMAS
4
+ // ============================================================================
5
+ export const LinkedInPostsSearchInputSchema = z.object({
6
+ keyword: z
7
+ .string()
8
+ .min(1, 'Search keyword is required')
9
+ .describe('Keyword or phrase to search for in LinkedIn posts'),
10
+ sort_type: z
11
+ .enum(['relevance', 'date_posted'])
12
+ .default('relevance')
13
+ .optional()
14
+ .describe('Sort results by relevance or date posted'),
15
+ page_number: z
16
+ .number()
17
+ .min(1)
18
+ .default(1)
19
+ .optional()
20
+ .describe('Page number for pagination'),
21
+ date_filter: z
22
+ .enum(['', 'past-24h', 'past-week', 'past-month'])
23
+ .default('')
24
+ .optional()
25
+ .describe('Filter posts by date range'),
26
+ limit: z
27
+ .number()
28
+ .min(1)
29
+ .max(50)
30
+ .default(50)
31
+ .optional()
32
+ .describe('Number of results per page (1-50)'),
33
+ });
34
+ // Author schema for search results
35
+ const SearchAuthorSchema = z.object({
36
+ name: z.string().optional().describe('Author name or company name'),
37
+ headline: z.string().optional().describe('Author headline or follower count'),
38
+ profile_id: z.string().optional().describe('LinkedIn profile ID'),
39
+ profile_url: z.string().optional().describe('Author profile URL'),
40
+ image_url: z.string().optional().describe('Author profile image URL'),
41
+ });
42
+ // Stats schema for search results
43
+ const SearchStatsSchema = z.object({
44
+ total_reactions: z.number().optional().describe('Total number of reactions'),
45
+ comments: z.number().optional().describe('Number of comments'),
46
+ shares: z.number().optional().describe('Number of shares'),
47
+ reactions: z
48
+ .array(z.object({
49
+ type: z
50
+ .string()
51
+ .optional()
52
+ .describe('Reaction type (LIKE, EMPATHY, etc)'),
53
+ count: z
54
+ .number()
55
+ .optional()
56
+ .describe('Number of reactions of this type'),
57
+ }))
58
+ .optional()
59
+ .describe('Breakdown of reactions by type'),
60
+ });
61
+ // Posted at schema
62
+ const SearchPostedAtSchema = z.object({
63
+ display_text: z
64
+ .string()
65
+ .optional()
66
+ .describe('Relative time display (e.g., "22m")'),
67
+ date: z.string().optional().describe('Post date (formatted string)'),
68
+ timestamp: z.number().optional().describe('Unix timestamp in milliseconds'),
69
+ });
70
+ // Article schema
71
+ const SearchArticleSchema = z.object({
72
+ url: z.string().nullable().optional().describe('Article URL'),
73
+ title: z.string().nullable().optional().describe('Article title'),
74
+ subtitle: z
75
+ .string()
76
+ .nullable()
77
+ .optional()
78
+ .describe('Article subtitle or source'),
79
+ thumbnail: z.string().nullable().optional().describe('Article thumbnail URL'),
80
+ });
81
+ // Metadata schema for pagination and search info
82
+ const SearchMetadataSchema = z.object({
83
+ total_count: z.number().optional().describe('Total number of results'),
84
+ count: z.number().optional().describe('Count in current page'),
85
+ page: z.number().optional().describe('Current page number'),
86
+ page_size: z.number().optional().describe('Page size'),
87
+ total_pages: z.number().optional().describe('Total number of pages'),
88
+ has_next_page: z
89
+ .boolean()
90
+ .optional()
91
+ .describe('Whether there is a next page'),
92
+ has_prev_page: z
93
+ .boolean()
94
+ .optional()
95
+ .describe('Whether there is a previous page'),
96
+ });
97
+ // Content schema for different post types
98
+ const SearchContentSchema = z.object({
99
+ type: z
100
+ .string()
101
+ .optional()
102
+ .describe('Content type (article, video, image, text)'),
103
+ article: SearchArticleSchema.optional().describe('Article details if content type is article'),
104
+ url: z.string().optional().describe('Media URL for video/image content'),
105
+ thumbnail_url: z
106
+ .string()
107
+ .optional()
108
+ .describe('Thumbnail URL for media content'),
109
+ duration_ms: z
110
+ .number()
111
+ .optional()
112
+ .describe('Duration in milliseconds for video content'),
113
+ text: z.string().optional().describe('Text content for text posts'),
114
+ images: z
115
+ .array(z.object({
116
+ url: z.string().optional().describe('Image URL'),
117
+ width: z.number().optional().describe('Image width'),
118
+ height: z.number().optional().describe('Image height'),
119
+ }))
120
+ .optional()
121
+ .describe('Array of image variants'),
122
+ });
123
+ // Output schema - each item is a search result post
124
+ export const LinkedInPostsSearchOutputSchema = z.object({
125
+ activity_id: z.string().optional().describe('Post activity ID'),
126
+ post_url: z.string().optional().describe('Post URL'),
127
+ text: z.string().optional().describe('Post text content'),
128
+ full_urn: z.string().optional().describe('Full post URN'),
129
+ author: SearchAuthorSchema.optional().describe('Post author information'),
130
+ stats: SearchStatsSchema.optional().describe('Post engagement statistics'),
131
+ posted_at: SearchPostedAtSchema.optional().describe('When post was created'),
132
+ hashtags: z.array(z.string()).optional().describe('Hashtags in the post'),
133
+ content: SearchContentSchema.optional().describe('Post content details'),
134
+ is_reshare: z.boolean().optional().describe('Whether this is a reshare'),
135
+ metadata: SearchMetadataSchema.optional().describe('Search pagination metadata'),
136
+ search_input: z.string().optional().describe('Original search keyword'),
137
+ });
138
+ //# sourceMappingURL=linkedin-posts-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkedin-posts-search.js","sourceRoot":"","sources":["../../../../../src/bubbles/service-bubble/apify/actors/linkedin-posts-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC;SACpC,QAAQ,CAAC,mDAAmD,CAAC;IAEhE,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SAClC,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IAEvD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,4BAA4B,CAAC;IAEzC,WAAW,EAAE,CAAC;SACX,IAAI,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;SACjD,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,EAAE;SACV,QAAQ,CAAC,4BAA4B,CAAC;IAEzC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;CACjD,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACnE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACtE,CAAC,CAAC;AAEH,kCAAkC;AAClC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC1D,SAAS,EAAE,CAAC;SACT,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oCAAoC,CAAC;QACjD,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;KAChD,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,gCAAgC,CAAC;CAC9C,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CAC5E,CAAC,CAAC;AAEH,iBAAiB;AACjB,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,4BAA4B,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CAC9E,CAAC,CAAC;AAEH,iDAAiD;AACjD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC9D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACpE,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;CAChD,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;IACzD,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC9C,4CAA4C,CAC7C;IACD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACxE,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACnE,MAAM,EAAE,CAAC;SACN,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KACvD,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,yBAAyB,CAAC;CACvC,CAAC,CAAC;AAEH,oDAAoD;AACpD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IACzD,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACzE,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC1E,SAAS,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC5E,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACzE,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACxE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACxE,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAChD,4BAA4B,CAC7B;IACD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACxE,CAAC,CAAC"}