@bubblelab/bubble-core 0.1.142 → 0.1.145

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 (172) hide show
  1. package/dist/bubble-bundle.d.ts +189 -126
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +9 -1
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/agi-inc.d.ts +128 -128
  6. package/dist/bubbles/service-bubble/ai-agent.d.ts +82 -82
  7. package/dist/bubbles/service-bubble/airtable.d.ts +194 -194
  8. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
  9. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
  10. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
  11. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
  12. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
  13. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
  14. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
  15. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
  16. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
  17. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +126 -126
  18. package/dist/bubbles/service-bubble/apify/apify.d.ts +28 -28
  19. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +74 -74
  20. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +2 -2
  21. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +97 -90
  22. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -1
  23. package/dist/bubbles/service-bubble/browserbase/browserbase.js +66 -3
  24. package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -1
  25. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +44 -1
  26. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -1
  27. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +19 -0
  28. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -1
  29. package/dist/bubbles/service-bubble/confluence/confluence.d.ts +43 -43
  30. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +96 -96
  31. package/dist/bubbles/service-bubble/eleven-labs.d.ts +48 -48
  32. package/dist/bubbles/service-bubble/firecrawl.d.ts +542 -542
  33. package/dist/bubbles/service-bubble/followupboss.d.ts +308 -308
  34. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +88 -88
  35. package/dist/bubbles/service-bubble/github.d.ts +136 -136
  36. package/dist/bubbles/service-bubble/gmail.d.ts +344 -344
  37. package/dist/bubbles/service-bubble/google-calendar.d.ts +152 -152
  38. package/dist/bubbles/service-bubble/google-drive.d.ts +136 -136
  39. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +44 -44
  40. package/dist/bubbles/service-bubble/hello-world.d.ts +6 -6
  41. package/dist/bubbles/service-bubble/http.d.ts +10 -10
  42. package/dist/bubbles/service-bubble/insforge-db.d.ts +12 -12
  43. package/dist/bubbles/service-bubble/jira/jira.d.ts +86 -86
  44. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
  45. package/dist/bubbles/service-bubble/notion/notion.d.ts +1438 -1438
  46. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
  47. package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
  48. package/dist/bubbles/service-bubble/resend.d.ts +28 -28
  49. package/dist/bubbles/service-bubble/salesforce/index.d.ts +4 -0
  50. package/dist/bubbles/service-bubble/salesforce/index.d.ts.map +1 -0
  51. package/dist/bubbles/service-bubble/salesforce/index.js +4 -0
  52. package/dist/bubbles/service-bubble/salesforce/index.js.map +1 -0
  53. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts +1331 -0
  54. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts.map +1 -0
  55. package/dist/bubbles/service-bubble/salesforce/salesforce.js +618 -0
  56. package/dist/bubbles/service-bubble/salesforce/salesforce.js.map +1 -0
  57. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts +1445 -0
  58. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts.map +1 -0
  59. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js +609 -0
  60. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js.map +1 -0
  61. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts +87 -0
  62. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts.map +1 -0
  63. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js +181 -0
  64. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js.map +1 -0
  65. package/dist/bubbles/service-bubble/slack/slack.d.ts +444 -444
  66. package/dist/bubbles/service-bubble/storage.d.ts +40 -40
  67. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +111 -111
  68. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
  69. package/dist/bubbles/service-bubble/telegram.d.ts +116 -116
  70. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +32 -32
  71. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
  72. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.d.ts +126 -0
  73. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.d.ts.map +1 -0
  74. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.js +34 -0
  75. package/dist/bubbles/tool-bubble/browser-tools/_shared/schema.js.map +1 -0
  76. package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.d.ts +22 -0
  77. package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.d.ts.map +1 -0
  78. package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.js +57 -0
  79. package/dist/bubbles/tool-bubble/browser-tools/_shared/utils.js.map +1 -0
  80. package/dist/bubbles/tool-bubble/browser-tools/index.d.ts +5 -0
  81. package/dist/bubbles/tool-bubble/browser-tools/index.d.ts.map +1 -0
  82. package/dist/bubbles/tool-bubble/browser-tools/index.js +5 -0
  83. package/dist/bubbles/tool-bubble/browser-tools/index.js.map +1 -0
  84. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.d.ts +3 -0
  85. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.d.ts.map +1 -0
  86. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.js +3 -0
  87. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/index.js.map +1 -0
  88. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.d.ts +158 -0
  89. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.d.ts.map +1 -0
  90. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.js +31 -0
  91. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/schema.js.map +1 -0
  92. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts +161 -0
  93. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts.map +1 -0
  94. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js +310 -0
  95. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js.map +1 -0
  96. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.d.ts +3 -0
  97. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.d.ts.map +1 -0
  98. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.js +3 -0
  99. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/index.js.map +1 -0
  100. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.d.ts +165 -0
  101. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.d.ts.map +1 -0
  102. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.js +45 -0
  103. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/schema.js.map +1 -0
  104. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +171 -0
  105. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts.map +1 -0
  106. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js +364 -0
  107. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js.map +1 -0
  108. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.d.ts +3 -0
  109. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.d.ts.map +1 -0
  110. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.js +3 -0
  111. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/index.js.map +1 -0
  112. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.d.ts +160 -0
  113. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.d.ts.map +1 -0
  114. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.js +24 -0
  115. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/schema.js.map +1 -0
  116. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts +160 -0
  117. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts.map +1 -0
  118. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js +334 -0
  119. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js.map +1 -0
  120. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.d.ts +3 -0
  121. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.d.ts.map +1 -0
  122. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.js +3 -0
  123. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.js.map +1 -0
  124. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.d.ts +152 -0
  125. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.d.ts.map +1 -0
  126. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.js +23 -0
  127. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/schema.js.map +1 -0
  128. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts +155 -0
  129. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts.map +1 -0
  130. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js +233 -0
  131. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js.map +1 -0
  132. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +12 -12
  133. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
  134. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +4 -4
  135. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +52 -52
  136. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
  137. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
  138. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +20 -20
  139. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +8 -8
  140. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +8 -8
  141. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +470 -470
  142. package/dist/bubbles/tool-bubble/list-airtable-bases-tool.d.ts +4 -4
  143. package/dist/bubbles/tool-bubble/list-airtable-tables-tool.d.ts +16 -16
  144. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +12 -12
  145. package/dist/bubbles/tool-bubble/list-capabilities-tool.d.ts +44 -44
  146. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +56 -56
  147. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +14 -14
  148. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  149. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  150. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +68 -68
  151. package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
  152. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +132 -132
  153. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +8 -8
  154. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +8 -8
  155. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
  156. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +6 -6
  157. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +40 -40
  158. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +18 -18
  159. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  160. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +24 -24
  161. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +4 -4
  162. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +76 -76
  163. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +24 -24
  164. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +4 -4
  165. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +36 -36
  166. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +4 -4
  167. package/dist/bubbles.json +668 -70
  168. package/dist/index.d.ts +4 -1
  169. package/dist/index.d.ts.map +1 -1
  170. package/dist/index.js +4 -1
  171. package/dist/index.js.map +1 -1
  172. package/package.json +2 -2
@@ -0,0 +1,160 @@
1
+ import { ToolBubble } from '../../../../types/tool-bubble-class.js';
2
+ import type { BubbleContext } from '../../../../types/bubble.js';
3
+ import { CredentialType } from '@bubblelab/shared-schemas';
4
+ import { type LinkedInReceivedInvitationsToolParamsInput, type LinkedInReceivedInvitationsToolResult } from './schema.js';
5
+ export declare class LinkedInReceivedInvitationsTool<T extends LinkedInReceivedInvitationsToolParamsInput = LinkedInReceivedInvitationsToolParamsInput> extends ToolBubble<T, LinkedInReceivedInvitationsToolResult> {
6
+ static readonly bubbleName: "linkedin-received-invitations-tool";
7
+ static readonly schema: import("zod").ZodObject<{
8
+ operation: import("zod").ZodLiteral<"get_received_invitations">;
9
+ credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
10
+ proxy: import("zod").ZodOptional<import("zod").ZodDiscriminatedUnion<"type", [import("zod").ZodObject<{
11
+ type: import("zod").ZodLiteral<"none">;
12
+ }, "strip", import("zod").ZodTypeAny, {
13
+ type: "none";
14
+ }, {
15
+ type: "none";
16
+ }>, import("zod").ZodObject<{
17
+ type: import("zod").ZodLiteral<"browserbase">;
18
+ }, "strip", import("zod").ZodTypeAny, {
19
+ type: "browserbase";
20
+ }, {
21
+ type: "browserbase";
22
+ }>, import("zod").ZodObject<{
23
+ type: import("zod").ZodLiteral<"custom">;
24
+ proxy: import("zod").ZodObject<{
25
+ id: import("zod").ZodString;
26
+ server: import("zod").ZodString;
27
+ username: import("zod").ZodOptional<import("zod").ZodString>;
28
+ password: import("zod").ZodOptional<import("zod").ZodString>;
29
+ }, "strip", import("zod").ZodTypeAny, {
30
+ id: string;
31
+ server: string;
32
+ password?: string | undefined;
33
+ username?: string | undefined;
34
+ }, {
35
+ id: string;
36
+ server: string;
37
+ password?: string | undefined;
38
+ username?: string | undefined;
39
+ }>;
40
+ }, "strip", import("zod").ZodTypeAny, {
41
+ type: "custom";
42
+ proxy: {
43
+ id: string;
44
+ server: string;
45
+ password?: string | undefined;
46
+ username?: string | undefined;
47
+ };
48
+ }, {
49
+ type: "custom";
50
+ proxy: {
51
+ id: string;
52
+ server: string;
53
+ password?: string | undefined;
54
+ username?: string | undefined;
55
+ };
56
+ }>]>>;
57
+ }, "strip", import("zod").ZodTypeAny, {
58
+ operation: "get_received_invitations";
59
+ proxy?: {
60
+ type: "none";
61
+ } | {
62
+ type: "browserbase";
63
+ } | {
64
+ type: "custom";
65
+ proxy: {
66
+ id: string;
67
+ server: string;
68
+ password?: string | undefined;
69
+ username?: string | undefined;
70
+ };
71
+ } | undefined;
72
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
73
+ }, {
74
+ operation: "get_received_invitations";
75
+ proxy?: {
76
+ type: "none";
77
+ } | {
78
+ type: "browserbase";
79
+ } | {
80
+ type: "custom";
81
+ proxy: {
82
+ id: string;
83
+ server: string;
84
+ password?: string | undefined;
85
+ username?: string | undefined;
86
+ };
87
+ } | undefined;
88
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
89
+ }>;
90
+ static readonly resultSchema: import("zod").ZodObject<{
91
+ operation: import("zod").ZodLiteral<"get_received_invitations">;
92
+ success: import("zod").ZodBoolean;
93
+ invitations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
94
+ name: import("zod").ZodString;
95
+ headline: import("zod").ZodOptional<import("zod").ZodString>;
96
+ mutual_connections: import("zod").ZodOptional<import("zod").ZodString>;
97
+ received_date: import("zod").ZodString;
98
+ profile_url: import("zod").ZodOptional<import("zod").ZodString>;
99
+ }, "strip", import("zod").ZodTypeAny, {
100
+ name: string;
101
+ received_date: string;
102
+ profile_url?: string | undefined;
103
+ headline?: string | undefined;
104
+ mutual_connections?: string | undefined;
105
+ }, {
106
+ name: string;
107
+ received_date: string;
108
+ profile_url?: string | undefined;
109
+ headline?: string | undefined;
110
+ mutual_connections?: string | undefined;
111
+ }>, "many">>;
112
+ total_count: import("zod").ZodOptional<import("zod").ZodNumber>;
113
+ message: import("zod").ZodOptional<import("zod").ZodString>;
114
+ error: import("zod").ZodString;
115
+ }, "strip", import("zod").ZodTypeAny, {
116
+ operation: "get_received_invitations";
117
+ success: boolean;
118
+ error: string;
119
+ message?: string | undefined;
120
+ invitations?: {
121
+ name: string;
122
+ received_date: string;
123
+ profile_url?: string | undefined;
124
+ headline?: string | undefined;
125
+ mutual_connections?: string | undefined;
126
+ }[] | undefined;
127
+ total_count?: number | undefined;
128
+ }, {
129
+ operation: "get_received_invitations";
130
+ success: boolean;
131
+ error: string;
132
+ message?: string | undefined;
133
+ invitations?: {
134
+ name: string;
135
+ received_date: string;
136
+ profile_url?: string | undefined;
137
+ headline?: string | undefined;
138
+ mutual_connections?: string | undefined;
139
+ }[] | undefined;
140
+ total_count?: number | undefined;
141
+ }>;
142
+ static readonly shortDescription = "Extract received LinkedIn connection invitations";
143
+ static readonly longDescription = "Recordable LinkedIn Received Invitations Tool. Supports pagination via scrolling and \"View more\" / \"Load more\" button clicks.";
144
+ static readonly alias = "linkedin-received-invitations";
145
+ static readonly type = "tool";
146
+ private sessionId;
147
+ private contextId;
148
+ private cookies;
149
+ constructor(params?: T, context?: BubbleContext);
150
+ protected chooseCredential(): string | undefined;
151
+ private stepStartBrowserSession;
152
+ private stepNavigateToReceivedInvitations;
153
+ private stepWaitForInvitationsPage;
154
+ private stepExtractAllInvitations;
155
+ private stepEndBrowserSession;
156
+ private evaluate;
157
+ private detectIPAddress;
158
+ performAction(): Promise<LinkedInReceivedInvitationsToolResult>;
159
+ }
160
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAGL,KAAK,0CAA0C,EAC/C,KAAK,qCAAqC,EAE3C,MAAM,aAAa,CAAC;AAErB,qBAAa,+BAA+B,CAC1C,CAAC,SAAS,0CAA0C,GAAG,0CAA0C,CACjG,SAAQ,UAAU,CAAC,CAAC,EAAE,qCAAqC,CAAC;IAC5D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAG,oCAAoC,CAAU;IAC3E,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA+C;IACrE,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA+C;IAC3E,MAAM,CAAC,QAAQ,CAAC,gBAAgB,sDAAsD;IACtF,MAAM,CAAC,QAAQ,CAAC,eAAe,uIACmG;IAClI,MAAM,CAAC,QAAQ,CAAC,KAAK,mCAAmC;IACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAE9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAA4B;gBAGzC,MAAM,GAAE,CAAkD,EAC1D,OAAO,CAAC,EAAE,aAAa;IAKvB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;YAKpC,uBAAuB;YAgCvB,iCAAiC;YAiBjC,0BAA0B;YAqB1B,yBAAyB;YA4LzB,qBAAqB;YAYrB,QAAQ;YAYR,eAAe;IAiBvB,aAAa,IAAI,OAAO,CAAC,qCAAqC,CAAC;CAyBtE"}
@@ -0,0 +1,334 @@
1
+ import { ToolBubble } from '../../../../types/tool-bubble-class.js';
2
+ import { BrowserBaseBubble } from '../../../service-bubble/browserbase/index.js';
3
+ import { CredentialType } from '@bubblelab/shared-schemas';
4
+ import { parseBrowserSessionData, buildProxyConfig } from '../_shared/utils.js';
5
+ import { LinkedInReceivedInvitationsToolParamsSchema, LinkedInReceivedInvitationsToolResultSchema, } from './schema.js';
6
+ export class LinkedInReceivedInvitationsTool extends ToolBubble {
7
+ static bubbleName = 'linkedin-received-invitations-tool';
8
+ static schema = LinkedInReceivedInvitationsToolParamsSchema;
9
+ static resultSchema = LinkedInReceivedInvitationsToolResultSchema;
10
+ static shortDescription = 'Extract received LinkedIn connection invitations';
11
+ static longDescription = 'Recordable LinkedIn Received Invitations Tool. Supports pagination via scrolling and "View more" / "Load more" button clicks.';
12
+ static alias = 'linkedin-received-invitations';
13
+ static type = 'tool';
14
+ sessionId = null;
15
+ contextId = null;
16
+ cookies = null;
17
+ constructor(params = { operation: 'get_received_invitations' }, context) {
18
+ super(params, context);
19
+ }
20
+ chooseCredential() {
21
+ const { credentials } = this.params;
22
+ return credentials?.[CredentialType.LINKEDIN_CRED];
23
+ }
24
+ async stepStartBrowserSession() {
25
+ if (this.sessionId)
26
+ return;
27
+ const sessionData = parseBrowserSessionData(this.chooseCredential());
28
+ if (sessionData) {
29
+ this.contextId = sessionData.contextId;
30
+ this.cookies = sessionData.cookies;
31
+ }
32
+ const proxyConfig = buildProxyConfig(this.params.proxy);
33
+ const browserbase = new BrowserBaseBubble({
34
+ operation: 'start_session',
35
+ context_id: this.contextId || undefined,
36
+ cookies: this.cookies || undefined,
37
+ credentials: this.params.credentials,
38
+ stealth: { solveCaptchas: true },
39
+ timeout_seconds: 1200, // 10 minutes for full session (navigate + scroll + extract)
40
+ ...proxyConfig,
41
+ }, this.context, 'startsession');
42
+ const result = await browserbase.action();
43
+ if (!result.data.success || !result.data.session_id) {
44
+ throw new Error(result.data.error || 'Failed to start browser session');
45
+ }
46
+ this.sessionId = result.data.session_id;
47
+ if (result.data.context_id)
48
+ this.contextId = result.data.context_id;
49
+ console.log(`[RecordableReceivedInvitations] Session started: ${this.sessionId}`);
50
+ const ip = await this.detectIPAddress();
51
+ if (ip)
52
+ console.log(`[RecordableReceivedInvitations] Browser IP: ${ip}`);
53
+ }
54
+ async stepNavigateToReceivedInvitations() {
55
+ if (!this.sessionId)
56
+ throw new Error('No active session');
57
+ const browserbase = new BrowserBaseBubble({
58
+ operation: 'navigate',
59
+ session_id: this.sessionId,
60
+ url: 'https://www.linkedin.com/mynetwork/invitation-manager/',
61
+ wait_until: 'domcontentloaded',
62
+ timeout: 30000,
63
+ }, this.context, 'navigate');
64
+ const result = await browserbase.action();
65
+ if (!result.data.success)
66
+ throw new Error(result.data.error || 'Navigation failed');
67
+ }
68
+ async stepWaitForInvitationsPage() {
69
+ const checkScript = `(() => {
70
+ const buttons = document.querySelectorAll('button');
71
+ let hasAcceptButton = false;
72
+ for (const btn of buttons) {
73
+ if ((btn.innerText || btn.textContent || '').trim().toLowerCase() === 'accept') {
74
+ hasAcceptButton = true;
75
+ break;
76
+ }
77
+ }
78
+ const peopleLabel = document.body.innerText.match(/People\\s*\\(\\d+\\)/i);
79
+ return hasAcceptButton || !!peopleLabel;
80
+ })()`;
81
+ for (let attempt = 1; attempt <= 15; attempt++) {
82
+ const found = await this.evaluate(checkScript);
83
+ if (found)
84
+ return true;
85
+ await new Promise((r) => setTimeout(r, 1000));
86
+ }
87
+ return false;
88
+ }
89
+ async stepExtractAllInvitations() {
90
+ const MAX_SCROLL_ITERATIONS = 500;
91
+ const MAX_STALE_ROUNDS = 10;
92
+ const SCROLL_STEP = 1200;
93
+ const SCROLL_WAIT_MS = 2200;
94
+ let prevAcceptCount = 0;
95
+ let staleRounds = 0;
96
+ for (let iteration = 0; iteration < MAX_SCROLL_ITERATIONS; iteration++) {
97
+ const scrollResult = (await this.evaluate(`
98
+ (() => {
99
+ const acceptCount = Array.from(document.querySelectorAll('button')).filter(btn =>
100
+ (btn.innerText || btn.textContent || '').trim().toLowerCase() === 'accept'
101
+ ).length;
102
+ const scrollStep = ${SCROLL_STEP};
103
+ const viewMoreLabels = ['view more', 'load more', 'see more', 'show more'];
104
+ let viewMoreClicked = false;
105
+ for (const el of document.querySelectorAll('button, span, div[role="button"], a')) {
106
+ const text = (el.innerText || el.textContent || '').trim().toLowerCase();
107
+ const ariaLabel = (el.getAttribute('aria-label') || '').trim().toLowerCase();
108
+ const isViewMore = viewMoreLabels.some(l => text === l || ariaLabel === l);
109
+ if (isViewMore && el.offsetParent !== null && !el.disabled) {
110
+ el.click();
111
+ viewMoreClicked = true;
112
+ break;
113
+ }
114
+ }
115
+ window.scrollBy(0, scrollStep);
116
+ if (window.scrollY + window.innerHeight >= document.body.scrollHeight - 100) {
117
+ window.scrollTo(0, document.body.scrollHeight);
118
+ }
119
+ const scrollableSet = new Set();
120
+ document.querySelectorAll('button').forEach(btn => {
121
+ if ((btn.innerText || btn.textContent || '').trim().toLowerCase() !== 'accept') return;
122
+ let parent = btn.parentElement;
123
+ for (let i = 0; i < 20 && parent; i++) {
124
+ if (parent instanceof HTMLElement && parent.scrollHeight > parent.clientHeight + 100) {
125
+ const s = window.getComputedStyle(parent);
126
+ const oy = s.overflowY, o = s.overflow;
127
+ if (oy === 'auto' || oy === 'scroll' || o === 'auto' || o === 'scroll') {
128
+ scrollableSet.add(parent);
129
+ break;
130
+ }
131
+ }
132
+ parent = parent.parentElement;
133
+ }
134
+ });
135
+ document.querySelectorAll('main, [role="main"]').forEach(el => scrollableSet.add(el));
136
+ for (const el of scrollableSet) {
137
+ if (el instanceof HTMLElement && el.scrollHeight > el.clientHeight && el.scrollHeight > 500) {
138
+ const maxScroll = el.scrollHeight - el.clientHeight;
139
+ el.scrollTop = Math.min(el.scrollTop + scrollStep, maxScroll);
140
+ if (el.scrollTop + el.clientHeight >= el.scrollHeight - 100) {
141
+ el.scrollTop = maxScroll;
142
+ }
143
+ }
144
+ }
145
+ return { acceptCount, viewMoreClicked };
146
+ })()
147
+ `));
148
+ const currentCount = scrollResult.acceptCount;
149
+ if (scrollResult.viewMoreClicked) {
150
+ console.log(`[RecordableReceivedInvitations] Clicked "View more" at scroll ${iteration + 1}`);
151
+ }
152
+ if (currentCount > prevAcceptCount) {
153
+ staleRounds = 0;
154
+ }
155
+ else {
156
+ staleRounds++;
157
+ if (staleRounds >= MAX_STALE_ROUNDS)
158
+ break;
159
+ }
160
+ prevAcceptCount = currentCount;
161
+ const waitMs = scrollResult.viewMoreClicked ? 3200 : SCROLL_WAIT_MS;
162
+ await new Promise((r) => setTimeout(r, waitMs));
163
+ }
164
+ const result = (await this.evaluate(`
165
+ (() => {
166
+ const invitations = [];
167
+ const acceptButtons = Array.from(document.querySelectorAll('button')).filter(btn =>
168
+ (btn.innerText || btn.textContent || '').trim().toLowerCase() === 'accept'
169
+ );
170
+ for (const acceptBtn of acceptButtons) {
171
+ let container = acceptBtn.parentElement;
172
+ for (let i = 0; i < 10 && container; i++) {
173
+ const text = container.innerText || '';
174
+ const hasProfileLink = !!container.querySelector('a[href*="/in/"]');
175
+ const hasTimeText = !!(text.match(/\\d+\\s+(hour|day|week|month|minute|second)s?\\s+ago/i) || text.match(/Yesterday/i));
176
+ if (hasProfileLink && hasTimeText) break;
177
+ container = container.parentElement;
178
+ }
179
+ if (!container) continue;
180
+ let profile_url = '';
181
+ const links = container.querySelectorAll('a[href*="/in/"]');
182
+ for (const link of links) {
183
+ const href = link.getAttribute('href') || '';
184
+ if (href.includes('/in/')) {
185
+ profile_url = href.startsWith('http') ? href : 'https://www.linkedin.com' + href;
186
+ break;
187
+ }
188
+ }
189
+ let name = '';
190
+ for (const link of links) {
191
+ const linkText = (link.innerText || link.textContent || '').trim();
192
+ if (linkText && linkText.length > 1 && linkText.length < 100) {
193
+ name = linkText;
194
+ break;
195
+ }
196
+ }
197
+ if (!name) {
198
+ const spans = container.querySelectorAll('span');
199
+ for (const span of spans) {
200
+ const spanText = (span.innerText || span.textContent || '').trim();
201
+ if (spanText && spanText.length > 2 && spanText.length < 50 &&
202
+ !spanText.includes('Accept') && !spanText.includes('Ignore') &&
203
+ !spanText.includes('mutual') && !spanText.includes('ago') &&
204
+ !spanText.includes('Yesterday')) {
205
+ name = spanText;
206
+ break;
207
+ }
208
+ }
209
+ }
210
+ const containerText = container.innerText || '';
211
+ let received_date = '';
212
+ const timeMatch = containerText.match(/(\\d+\\s+(hour|day|week|month|minute|second)s?\\s+ago|Yesterday)/i);
213
+ if (timeMatch) received_date = timeMatch[0];
214
+ let mutual_connections = '';
215
+ const mutualMatch = containerText.match(/(.+?(?:mutual connection|mutual connections))/i);
216
+ if (mutualMatch) mutual_connections = mutualMatch[0].trim();
217
+ const lines = containerText.split('\\n').map(l => l.trim()).filter(l => l);
218
+ let headline = '';
219
+ let nameLineIdx = -1, endLineIdx = -1;
220
+ for (let i = 0; i < lines.length; i++) {
221
+ if (lines[i] === name) nameLineIdx = i;
222
+ if (endLineIdx === -1 && (
223
+ lines[i].match(/\\d+\\s+(hour|day|week|month|minute|second)s?\\s+ago/i) ||
224
+ lines[i].match(/Yesterday/i) ||
225
+ lines[i].match(/mutual connection/i)
226
+ )) endLineIdx = i;
227
+ }
228
+ if (nameLineIdx >= 0 && endLineIdx > nameLineIdx + 1) {
229
+ headline = lines.slice(nameLineIdx + 1, endLineIdx)
230
+ .filter(l => l.toLowerCase() !== 'accept' && l.toLowerCase() !== 'ignore' && l.length > 3)
231
+ .join(' ').trim();
232
+ }
233
+ if (!headline) {
234
+ for (const line of lines) {
235
+ if (line === name || line.toLowerCase() === 'accept' || line.toLowerCase() === 'ignore' ||
236
+ line.match(/\\d+\\s+(hour|day|week|month|minute|second)s?\\s+ago/i) ||
237
+ line.match(/Yesterday/i) || line.match(/mutual connection/i) ||
238
+ line.match(/^People\\s*\\(/i)) continue;
239
+ if (line.length > 10 && line.length < 300) { headline = line; break; }
240
+ }
241
+ }
242
+ if (name) {
243
+ invitations.push({
244
+ name,
245
+ headline: headline || undefined,
246
+ mutual_connections: mutual_connections || undefined,
247
+ received_date: received_date || 'Unknown',
248
+ profile_url: profile_url || undefined,
249
+ });
250
+ }
251
+ }
252
+ let total = invitations.length;
253
+ const allMatch = document.body.innerText.match(/All\\s*\\((\\d+)\\)/i);
254
+ if (allMatch) total = parseInt(allMatch[1], 10);
255
+ else {
256
+ const peopleMatch = document.body.innerText.match(/People\\s*\\((\\d+)\\)/i);
257
+ if (peopleMatch) total = parseInt(peopleMatch[1], 10);
258
+ }
259
+ const seen = new Set();
260
+ const unique = [];
261
+ for (const inv of invitations) {
262
+ const key = inv.profile_url || inv.name;
263
+ if (!seen.has(key)) { seen.add(key); unique.push(inv); }
264
+ }
265
+ return { invitations: unique, total };
266
+ })()
267
+ `));
268
+ return result;
269
+ }
270
+ async stepEndBrowserSession() {
271
+ if (!this.sessionId)
272
+ return;
273
+ const browserbase = new BrowserBaseBubble({ operation: 'end_session', session_id: this.sessionId }, this.context, 'endsession');
274
+ await browserbase.action();
275
+ console.log(`[RecordableReceivedInvitations] Session ended: ${this.sessionId}`);
276
+ this.sessionId = null;
277
+ }
278
+ async evaluate(script) {
279
+ if (!this.sessionId)
280
+ throw new Error('No active session');
281
+ const browserbase = new BrowserBaseBubble({ operation: 'evaluate', session_id: this.sessionId, script }, this.context, 'evaluate');
282
+ const result = await browserbase.action();
283
+ if (!result.data.success)
284
+ throw new Error(result.data.error || 'Evaluation failed');
285
+ return result.data.result;
286
+ }
287
+ async detectIPAddress() {
288
+ if (!this.sessionId)
289
+ return null;
290
+ try {
291
+ return (await this.evaluate(`
292
+ (async () => {
293
+ try {
294
+ const r = await fetch('https://api.ipify.org?format=json');
295
+ const d = await r.json();
296
+ return d.ip;
297
+ } catch { return null; }
298
+ })()
299
+ `));
300
+ }
301
+ catch {
302
+ return null;
303
+ }
304
+ }
305
+ async performAction() {
306
+ try {
307
+ await this.stepStartBrowserSession();
308
+ await this.stepNavigateToReceivedInvitations();
309
+ const pageReady = await this.stepWaitForInvitationsPage();
310
+ if (!pageReady)
311
+ console.log('[RecordableReceivedInvitations] Page slow to load, continuing');
312
+ const { invitations, total } = await this.stepExtractAllInvitations();
313
+ return {
314
+ operation: 'get_received_invitations',
315
+ success: true,
316
+ invitations,
317
+ total_count: total,
318
+ message: `Found ${invitations.length} received invitations`,
319
+ error: '',
320
+ };
321
+ }
322
+ catch (error) {
323
+ return {
324
+ operation: 'get_received_invitations',
325
+ success: false,
326
+ error: error instanceof Error ? error.message : 'Unknown error',
327
+ };
328
+ }
329
+ finally {
330
+ await this.stepEndBrowserSession();
331
+ }
332
+ }
333
+ }
334
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { LinkedInSentInvitationsTool } from './tool.js';
2
+ export { LinkedInSentInvitationsToolParamsSchema, LinkedInSentInvitationsToolResultSchema, SentInvitationInfoSchema, type LinkedInSentInvitationsToolParamsInput, type LinkedInSentInvitationsToolResult, type SentInvitationInfo, } from './schema.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EACL,uCAAuC,EACvC,uCAAuC,EACvC,wBAAwB,EACxB,KAAK,sCAAsC,EAC3C,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { LinkedInSentInvitationsTool } from './tool.js';
2
+ export { LinkedInSentInvitationsToolParamsSchema, LinkedInSentInvitationsToolResultSchema, SentInvitationInfoSchema, } from './schema.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EACL,uCAAuC,EACvC,uCAAuC,EACvC,wBAAwB,GAIzB,MAAM,aAAa,CAAC"}