@bubblelab/bubble-core 0.1.149 → 0.1.151

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 (115) hide show
  1. package/dist/bubble-bundle.d.ts +77 -77
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts +74 -74
  4. package/dist/bubbles/service-bubble/airtable.d.ts +76 -76
  5. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
  6. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
  7. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
  8. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
  9. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
  10. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
  11. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
  12. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
  13. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
  14. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +126 -126
  15. package/dist/bubbles/service-bubble/apify/apify.d.ts +18 -18
  16. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +2 -2
  17. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +2 -2
  18. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +38 -1
  19. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -1
  20. package/dist/bubbles/service-bubble/browserbase/browserbase.js +80 -0
  21. package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -1
  22. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +34 -1
  23. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -1
  24. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +30 -0
  25. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -1
  26. package/dist/bubbles/service-bubble/firecrawl.d.ts +334 -334
  27. package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
  28. package/dist/bubbles/service-bubble/github.d.ts +60 -60
  29. package/dist/bubbles/service-bubble/gmail.d.ts +164 -164
  30. package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
  31. package/dist/bubbles/service-bubble/google-drive.d.ts +9 -9
  32. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
  33. package/dist/bubbles/service-bubble/google-drive.js +37 -1
  34. package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
  35. package/dist/bubbles/service-bubble/http.d.ts +2 -2
  36. package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
  37. package/dist/bubbles/service-bubble/jira/jira.d.ts +30 -30
  38. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
  39. package/dist/bubbles/service-bubble/notion/notion.d.ts +164 -164
  40. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
  41. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  42. package/dist/bubbles/service-bubble/resend.d.ts +4 -4
  43. package/dist/bubbles/service-bubble/salesforce/index.d.ts +4 -0
  44. package/dist/bubbles/service-bubble/salesforce/index.d.ts.map +1 -0
  45. package/dist/bubbles/service-bubble/salesforce/index.js +4 -0
  46. package/dist/bubbles/service-bubble/salesforce/index.js.map +1 -0
  47. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts +1331 -0
  48. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts.map +1 -0
  49. package/dist/bubbles/service-bubble/salesforce/salesforce.js +618 -0
  50. package/dist/bubbles/service-bubble/salesforce/salesforce.js.map +1 -0
  51. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts +1445 -0
  52. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts.map +1 -0
  53. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js +609 -0
  54. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js.map +1 -0
  55. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts +87 -0
  56. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.d.ts.map +1 -0
  57. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js +181 -0
  58. package/dist/bubbles/service-bubble/salesforce/salesforce.utils.js.map +1 -0
  59. package/dist/bubbles/service-bubble/slack/slack.d.ts +328 -328
  60. package/dist/bubbles/service-bubble/slack/slack.utils.d.ts.map +1 -1
  61. package/dist/bubbles/service-bubble/slack/slack.utils.js +17 -2
  62. package/dist/bubbles/service-bubble/slack/slack.utils.js.map +1 -1
  63. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +24 -24
  64. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
  65. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +6 -6
  66. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
  67. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.d.ts +66 -0
  68. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.d.ts.map +1 -0
  69. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.js +484 -0
  70. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.js.map +1 -0
  71. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.d.ts +85 -0
  72. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.d.ts.map +1 -0
  73. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.js +2 -0
  74. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.js.map +1 -0
  75. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-fallback-step.d.ts +27 -0
  76. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-fallback-step.d.ts.map +1 -0
  77. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-fallback-step.js +77 -0
  78. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-fallback-step.js.map +1 -0
  79. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/index.d.ts +4 -0
  80. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/index.d.ts.map +1 -0
  81. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/index.js +3 -0
  82. package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/index.js.map +1 -0
  83. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.d.ts.map +1 -1
  84. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js +269 -167
  85. package/dist/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.js.map +1 -1
  86. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +2 -0
  87. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts.map +1 -1
  88. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js +346 -229
  89. package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js.map +1 -1
  90. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts +34 -33
  91. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.d.ts.map +1 -1
  92. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js +212 -151
  93. package/dist/bubbles/tool-bubble/browser-tools/linkedin-received-invitations/tool.js.map +1 -1
  94. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts +33 -32
  95. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.d.ts.map +1 -1
  96. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js +188 -127
  97. package/dist/bubbles/tool-bubble/browser-tools/linkedin-sent-invitations/tool.js.map +1 -1
  98. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
  99. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +20 -20
  100. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +8 -8
  101. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +380 -380
  102. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +44 -44
  103. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
  104. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  105. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  106. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
  107. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +134 -134
  108. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +8 -8
  109. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
  110. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
  111. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +8 -8
  112. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
  113. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +18 -18
  114. package/dist/bubbles.json +73 -2
  115. package/package.json +2 -2
@@ -1,72 +1,129 @@
1
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
2
+ var useValue = arguments.length > 2;
3
+ for (var i = 0; i < initializers.length; i++) {
4
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
5
+ }
6
+ return useValue ? value : void 0;
7
+ };
8
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
9
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
10
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
11
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
12
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
13
+ var _, done = false;
14
+ for (var i = decorators.length - 1; i >= 0; i--) {
15
+ var context = {};
16
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
17
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
18
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
19
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
20
+ if (kind === "accessor") {
21
+ if (result === void 0) continue;
22
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
23
+ if (_ = accept(result.get)) descriptor.get = _;
24
+ if (_ = accept(result.set)) descriptor.set = _;
25
+ if (_ = accept(result.init)) initializers.unshift(_);
26
+ }
27
+ else if (_ = accept(result)) {
28
+ if (kind === "field") initializers.unshift(_);
29
+ else descriptor[key] = _;
30
+ }
31
+ }
32
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
+ done = true;
34
+ };
1
35
  import { ToolBubble } from '../../../../types/tool-bubble-class.js';
36
+ import { AIFallbackStep } from '../_shared/ai/ai-fallback-step.js';
2
37
  import { BrowserBaseBubble, } from '../../../service-bubble/browserbase/index.js';
3
38
  import { CredentialType } from '@bubblelab/shared-schemas';
4
39
  import { parseBrowserSessionData, buildProxyConfig } from '../_shared/utils.js';
5
40
  import { LinkedInAcceptInvitationsToolParamsSchema, LinkedInAcceptInvitationsToolResultSchema, } from './schema.js';
6
- export class LinkedInAcceptInvitationsTool extends ToolBubble {
7
- static bubbleName = 'linkedin-accept-invitations-tool';
8
- static schema = LinkedInAcceptInvitationsToolParamsSchema;
9
- static resultSchema = LinkedInAcceptInvitationsToolResultSchema;
10
- static shortDescription = 'Accept top N LinkedIn connection invitations';
11
- static longDescription = 'Recordable tool that navigates to the LinkedIn invitation manager page and accepts the top N received connection invitations.';
12
- static alias = 'linkedin-accept-invitations';
13
- static type = 'tool';
14
- sessionId = null;
15
- contextId = null;
16
- cookies = null;
17
- constructor(params = { operation: 'accept_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;
41
+ let LinkedInAcceptInvitationsTool = (() => {
42
+ let _classSuper = ToolBubble;
43
+ let _instanceExtraInitializers = [];
44
+ let _stepNavigateToInvitationManager_decorators;
45
+ let _stepWaitForInvitationsPage_decorators;
46
+ let _stepAcceptTopInvitations_decorators;
47
+ return class LinkedInAcceptInvitationsTool extends _classSuper {
48
+ static {
49
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
50
+ _stepNavigateToInvitationManager_decorators = [AIFallbackStep('Navigate to invitation manager', {
51
+ taskDescription: 'Navigate to the LinkedIn invitation manager page',
52
+ })];
53
+ _stepWaitForInvitationsPage_decorators = [AIFallbackStep('Wait for invitations to load', {
54
+ taskDescription: 'Wait for the received invitations list to fully load with Accept buttons',
55
+ })];
56
+ _stepAcceptTopInvitations_decorators = [AIFallbackStep('Accept top invitations', {
57
+ taskDescription: 'Click Accept on the top N connection invitations and extract their info',
58
+ })];
59
+ __esDecorate(this, null, _stepNavigateToInvitationManager_decorators, { kind: "method", name: "stepNavigateToInvitationManager", static: false, private: false, access: { has: obj => "stepNavigateToInvitationManager" in obj, get: obj => obj.stepNavigateToInvitationManager }, metadata: _metadata }, null, _instanceExtraInitializers);
60
+ __esDecorate(this, null, _stepWaitForInvitationsPage_decorators, { kind: "method", name: "stepWaitForInvitationsPage", static: false, private: false, access: { has: obj => "stepWaitForInvitationsPage" in obj, get: obj => obj.stepWaitForInvitationsPage }, metadata: _metadata }, null, _instanceExtraInitializers);
61
+ __esDecorate(this, null, _stepAcceptTopInvitations_decorators, { kind: "method", name: "stepAcceptTopInvitations", static: false, private: false, access: { has: obj => "stepAcceptTopInvitations" in obj, get: obj => obj.stepAcceptTopInvitations }, metadata: _metadata }, null, _instanceExtraInitializers);
62
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
31
63
  }
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,
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');
64
+ static bubbleName = 'linkedin-accept-invitations-tool';
65
+ static schema = LinkedInAcceptInvitationsToolParamsSchema;
66
+ static resultSchema = LinkedInAcceptInvitationsToolResultSchema;
67
+ static shortDescription = 'Accept top N LinkedIn connection invitations';
68
+ static longDescription = 'Recordable tool that navigates to the LinkedIn invitation manager page and accepts the top N received connection invitations.';
69
+ static alias = 'linkedin-accept-invitations';
70
+ static type = 'tool';
71
+ sessionId = (__runInitializers(this, _instanceExtraInitializers), null);
72
+ contextId = null;
73
+ cookies = null;
74
+ constructor(params = { operation: 'accept_invitations' }, context) {
75
+ super(params, context);
45
76
  }
46
- this.sessionId = result.data.session_id;
47
- if (result.data.context_id)
48
- this.contextId = result.data.context_id;
49
- console.log(`[AcceptInvitations] Session started: ${this.sessionId}`);
50
- const ip = await this.detectIPAddress();
51
- if (ip)
52
- console.log(`[AcceptInvitations] Browser IP: ${ip}`);
53
- }
54
- async stepNavigateToInvitationManager() {
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 = `(() => {
77
+ chooseCredential() {
78
+ const { credentials } = this.params;
79
+ return credentials?.[CredentialType.LINKEDIN_CRED];
80
+ }
81
+ async stepStartBrowserSession() {
82
+ if (this.sessionId)
83
+ return;
84
+ const sessionData = parseBrowserSessionData(this.chooseCredential());
85
+ if (sessionData) {
86
+ this.contextId = sessionData.contextId;
87
+ this.cookies = sessionData.cookies;
88
+ }
89
+ const proxyConfig = buildProxyConfig(this.params.proxy);
90
+ const browserbase = new BrowserBaseBubble({
91
+ operation: 'start_session',
92
+ context_id: this.contextId || undefined,
93
+ cookies: this.cookies || undefined,
94
+ credentials: this.params.credentials,
95
+ stealth: { solveCaptchas: true },
96
+ timeout_seconds: 1200,
97
+ ...proxyConfig,
98
+ }, this.context, 'startsession');
99
+ const result = await browserbase.action();
100
+ if (!result.data.success || !result.data.session_id) {
101
+ throw new Error(result.data.error || 'Failed to start browser session');
102
+ }
103
+ this.sessionId = result.data.session_id;
104
+ if (result.data.context_id)
105
+ this.contextId = result.data.context_id;
106
+ console.log(`[AcceptInvitations] Session started: ${this.sessionId}`);
107
+ const ip = await this.detectIPAddress();
108
+ if (ip)
109
+ console.log(`[AcceptInvitations] Browser IP: ${ip}`);
110
+ }
111
+ async stepNavigateToInvitationManager() {
112
+ if (!this.sessionId)
113
+ throw new Error('No active session');
114
+ const browserbase = new BrowserBaseBubble({
115
+ operation: 'navigate',
116
+ session_id: this.sessionId,
117
+ url: 'https://www.linkedin.com/mynetwork/invitation-manager/',
118
+ wait_until: 'domcontentloaded',
119
+ timeout: 30000,
120
+ }, this.context, 'navigate');
121
+ const result = await browserbase.action();
122
+ if (!result.data.success)
123
+ throw new Error(result.data.error || 'Navigation failed');
124
+ }
125
+ async stepWaitForInvitationsPage() {
126
+ const checkScript = `(() => {
70
127
  const buttons = document.querySelectorAll('button');
71
128
  let hasAcceptButton = false;
72
129
  for (const btn of buttons) {
@@ -78,22 +135,25 @@ export class LinkedInAcceptInvitationsTool extends ToolBubble {
78
135
  const peopleLabel = document.body.innerText.match(/People\\s*\\(\\d+\\)/i);
79
136
  return hasAcceptButton || !!peopleLabel;
80
137
  })()`;
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));
138
+ for (let attempt = 1; attempt <= 15; attempt++) {
139
+ const found = await this.evaluate(checkScript);
140
+ if (found)
141
+ return true;
142
+ await new Promise((r) => setTimeout(r, 1000));
143
+ }
144
+ return false;
86
145
  }
87
- return false;
88
- }
89
- async stepAcceptTopInvitations() {
90
- const count = this.params.count ?? 5;
91
- const accepted = [];
92
- let skipped = 0;
93
- const TEMP_ID = '__bubblelab_accept_target__';
94
- for (let i = 0; i < count; i++) {
95
- // Step 1: Find first visible Accept button, extract card info, tag it with a temp ID
96
- const extractResult = (await this.evaluate(`
146
+ async stepAcceptTopInvitations() {
147
+ const count = this.params.count ?? 5;
148
+ const accepted = [];
149
+ let skipped = 0;
150
+ let availableCount = 0;
151
+ const TEMP_ID = '__bubblelab_accept_target__';
152
+ const MAX_CLICK_RETRIES = 2;
153
+ const POST_ACCEPT_SETTLE_MS = 1500;
154
+ for (let i = 0; i < count; i++) {
155
+ // Step 1: Find first visible Accept button, extract card info, tag it with a temp ID
156
+ const extractResult = (await this.evaluate(`
97
157
  (() => {
98
158
  // Clean up any previous temp ID
99
159
  const prev = document.getElementById('${TEMP_ID}');
@@ -200,70 +260,101 @@ export class LinkedInAcceptInvitationsTool extends ToolBubble {
200
260
  };
201
261
  })()
202
262
  `));
203
- if (extractResult.done) {
204
- console.log(`[AcceptInvitations] No more invitations to accept after ${accepted.length}`);
205
- break;
206
- }
207
- const prevButtonCount = extractResult.buttonCount;
208
- // Step 2: Click the tagged button using BrowserBase (Puppeteer trusted click)
209
- if (!this.sessionId)
210
- throw new Error('No active session');
211
- const clickBubble = new BrowserBaseBubble({
212
- operation: 'click',
213
- session_id: this.sessionId,
214
- selector: `#${TEMP_ID}`,
215
- wait_for_navigation: false,
216
- timeout: 5000,
217
- }, this.context, 'clickaccept');
218
- const clickResult = await clickBubble.action();
219
- if (!clickResult.data.success) {
220
- console.log(`[AcceptInvitations] Click failed for invitation ${i + 1}, skipping`);
221
- skipped++;
222
- await new Promise((r) => setTimeout(r, 1000));
223
- continue;
224
- }
225
- if (extractResult.info) {
226
- accepted.push(extractResult.info);
227
- console.log(`[AcceptInvitations] Accepted ${i + 1}/${count}: ${extractResult.info.name}`);
228
- }
229
- // Step 3: Wait for DOM to update — poll until Accept button count decreases
230
- const MAX_WAIT_POLLS = 15;
231
- for (let poll = 0; poll < MAX_WAIT_POLLS; poll++) {
232
- await new Promise((r) => setTimeout(r, 500));
233
- const currentCount = (await this.evaluate(`
263
+ if (extractResult.done) {
264
+ console.log(`[AcceptInvitations] No more invitations to accept after ${accepted.length}`);
265
+ break;
266
+ }
267
+ // Track available invitations on first iteration
268
+ if (i === 0)
269
+ availableCount = extractResult.buttonCount;
270
+ const prevButtonCount = extractResult.buttonCount;
271
+ // Step 2: Click the tagged button with retries (re-tag on failure)
272
+ if (!this.sessionId)
273
+ throw new Error('No active session');
274
+ let clickSucceeded = false;
275
+ for (let retry = 0; retry <= MAX_CLICK_RETRIES; retry++) {
276
+ // On retry, wait for DOM to settle then re-tag the button
277
+ if (retry > 0) {
278
+ console.log(`[AcceptInvitations] Retrying click for invitation ${i + 1} (attempt ${retry + 1})`);
279
+ await new Promise((r) => setTimeout(r, 1500));
280
+ await this.evaluate(`
281
+ (() => {
282
+ const prev = document.getElementById('${TEMP_ID}');
283
+ if (prev) prev.removeAttribute('id');
284
+ const btns = Array.from(document.querySelectorAll('button')).filter(btn => {
285
+ const text = (btn.innerText || btn.textContent || '').trim().toLowerCase();
286
+ return text === 'accept' && btn.offsetParent !== null && !btn.disabled;
287
+ });
288
+ if (btns.length === 0) return false;
289
+ btns[0].id = '${TEMP_ID}';
290
+ btns[0].scrollIntoView({ block: 'center', behavior: 'instant' });
291
+ return true;
292
+ })()
293
+ `);
294
+ }
295
+ const clickBubble = new BrowserBaseBubble({
296
+ operation: 'click',
297
+ session_id: this.sessionId,
298
+ selector: `#${TEMP_ID}`,
299
+ wait_for_navigation: false,
300
+ timeout: 5000,
301
+ }, this.context, 'clickaccept');
302
+ const clickResult = await clickBubble.action();
303
+ if (clickResult.data.success) {
304
+ clickSucceeded = true;
305
+ break;
306
+ }
307
+ }
308
+ if (!clickSucceeded) {
309
+ console.log(`[AcceptInvitations] Click failed for invitation ${i + 1} after ${MAX_CLICK_RETRIES + 1} attempts, skipping`);
310
+ skipped++;
311
+ await new Promise((r) => setTimeout(r, 1000));
312
+ continue;
313
+ }
314
+ if (extractResult.info) {
315
+ accepted.push(extractResult.info);
316
+ console.log(`[AcceptInvitations] Accepted ${i + 1}/${count}: ${extractResult.info.name}`);
317
+ }
318
+ // Step 3: Wait for DOM to update — poll until Accept button count decreases
319
+ const MAX_WAIT_POLLS = 15;
320
+ for (let poll = 0; poll < MAX_WAIT_POLLS; poll++) {
321
+ await new Promise((r) => setTimeout(r, 500));
322
+ const currentCount = (await this.evaluate(`
234
323
  Array.from(document.querySelectorAll('button')).filter(btn => {
235
324
  const text = (btn.innerText || btn.textContent || '').trim().toLowerCase();
236
325
  return text === 'accept' && btn.offsetParent !== null && !btn.disabled;
237
326
  }).length
238
327
  `));
239
- if (currentCount < prevButtonCount)
240
- break;
328
+ if (currentCount < prevButtonCount)
329
+ break;
330
+ }
331
+ // Extra settle time for LinkedIn UI animations before next iteration
332
+ await new Promise((r) => setTimeout(r, POST_ACCEPT_SETTLE_MS));
241
333
  }
334
+ return { accepted, skipped, availableCount };
242
335
  }
243
- return { accepted, skipped };
244
- }
245
- async stepEndBrowserSession() {
246
- if (!this.sessionId)
247
- return;
248
- const browserbase = new BrowserBaseBubble({ operation: 'end_session', session_id: this.sessionId }, this.context, 'endsession');
249
- await browserbase.action();
250
- console.log(`[AcceptInvitations] Session ended: ${this.sessionId}`);
251
- this.sessionId = null;
252
- }
253
- async evaluate(script) {
254
- if (!this.sessionId)
255
- throw new Error('No active session');
256
- const browserbase = new BrowserBaseBubble({ operation: 'evaluate', session_id: this.sessionId, script }, this.context, 'evaluate');
257
- const result = await browserbase.action();
258
- if (!result.data.success)
259
- throw new Error(result.data.error || 'Evaluation failed');
260
- return result.data.result;
261
- }
262
- async detectIPAddress() {
263
- if (!this.sessionId)
264
- return null;
265
- try {
266
- return (await this.evaluate(`
336
+ async stepEndBrowserSession() {
337
+ if (!this.sessionId)
338
+ return;
339
+ const browserbase = new BrowserBaseBubble({ operation: 'end_session', session_id: this.sessionId }, this.context, 'endsession');
340
+ await browserbase.action();
341
+ console.log(`[AcceptInvitations] Session ended: ${this.sessionId}`);
342
+ this.sessionId = null;
343
+ }
344
+ async evaluate(script) {
345
+ if (!this.sessionId)
346
+ throw new Error('No active session');
347
+ const browserbase = new BrowserBaseBubble({ operation: 'evaluate', session_id: this.sessionId, script }, this.context, 'evaluate');
348
+ const result = await browserbase.action();
349
+ if (!result.data.success)
350
+ throw new Error(result.data.error || 'Evaluation failed');
351
+ return result.data.result;
352
+ }
353
+ async detectIPAddress() {
354
+ if (!this.sessionId)
355
+ return null;
356
+ try {
357
+ return (await this.evaluate(`
267
358
  (async () => {
268
359
  try {
269
360
  const r = await fetch('https://api.ipify.org?format=json');
@@ -272,39 +363,50 @@ export class LinkedInAcceptInvitationsTool extends ToolBubble {
272
363
  } catch { return null; }
273
364
  })()
274
365
  `));
366
+ }
367
+ catch {
368
+ return null;
369
+ }
275
370
  }
276
- catch {
277
- return null;
278
- }
279
- }
280
- async performAction() {
281
- try {
282
- await this.stepStartBrowserSession();
283
- await this.stepNavigateToInvitationManager();
284
- const pageReady = await this.stepWaitForInvitationsPage();
285
- if (!pageReady)
286
- console.log('[AcceptInvitations] Page slow to load, continuing');
287
- const { accepted, skipped } = await this.stepAcceptTopInvitations();
288
- return {
289
- operation: 'accept_invitations',
290
- success: true,
291
- accepted,
292
- accepted_count: accepted.length,
293
- skipped_count: skipped,
294
- message: `Accepted ${accepted.length} invitation(s)${skipped > 0 ? `, skipped ${skipped}` : ''}`,
295
- error: '',
296
- };
297
- }
298
- catch (error) {
299
- return {
300
- operation: 'accept_invitations',
301
- success: false,
302
- error: error instanceof Error ? error.message : 'Unknown error',
303
- };
304
- }
305
- finally {
306
- await this.stepEndBrowserSession();
371
+ async performAction() {
372
+ try {
373
+ await this.stepStartBrowserSession();
374
+ await this.stepNavigateToInvitationManager();
375
+ const pageReady = await this.stepWaitForInvitationsPage();
376
+ if (!pageReady)
377
+ console.log('[AcceptInvitations] Page slow to load, continuing');
378
+ const { accepted, skipped, availableCount } = await this.stepAcceptTopInvitations();
379
+ const count = this.params.count ?? 5;
380
+ // Success if we accepted all requested, OR if fewer were available than requested
381
+ const allAvailableAccepted = availableCount < count
382
+ ? accepted.length >= availableCount
383
+ : accepted.length >= count;
384
+ return {
385
+ operation: 'accept_invitations',
386
+ success: allAvailableAccepted,
387
+ accepted,
388
+ accepted_count: accepted.length,
389
+ skipped_count: skipped,
390
+ message: allAvailableAccepted
391
+ ? `Accepted ${accepted.length} invitation(s)${availableCount < count ? ` (only ${availableCount} available)` : ''}`
392
+ : `Accepted ${accepted.length}/${count} invitation(s), ${skipped} failed`,
393
+ error: allAvailableAccepted
394
+ ? ''
395
+ : `Failed to accept ${skipped} invitation(s)`,
396
+ };
397
+ }
398
+ catch (error) {
399
+ return {
400
+ operation: 'accept_invitations',
401
+ success: false,
402
+ error: error instanceof Error ? error.message : 'Unknown error',
403
+ };
404
+ }
405
+ finally {
406
+ await this.stepEndBrowserSession();
407
+ }
307
408
  }
308
- }
309
- }
409
+ };
410
+ })();
411
+ export { LinkedInAcceptInvitationsTool };
310
412
  //# sourceMappingURL=tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-accept-invitations/tool.ts"],"names":[],"mappings":"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"}
@@ -148,6 +148,8 @@ export declare class LinkedInConnectionTool<T extends LinkedInConnectionToolPara
148
148
  static readonly longDescription = "\n Recordable LinkedIn Connection Tool for automating connection requests.\n Records each step with screenshots and timing information for debugging.\n ";
149
149
  static readonly alias = "linkedin-recordable";
150
150
  static readonly type = "tool";
151
+ /** JS helper to query elements across main document, iframes, and shadow DOM */
152
+ private static readonly CROSS_DOM_QUERY;
151
153
  private sessionId;
152
154
  private contextId;
153
155
  private cookies;
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAGL,KAAK,iCAAiC,EACtC,KAAK,4BAA4B,EAElC,MAAM,aAAa,CAAC;AAErB;;;;;;GAMG;AACH,qBAAa,sBAAsB,CACjC,CAAC,SACC,iCAAiC,GAAG,iCAAiC,CACvE,SAAQ,UAAU,CAAC,CAAC,EAAE,4BAA4B,CAAC;IACnD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAG,0BAA0B,CAAU;IACjE,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAsC;IAC5D,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAsC;IAClE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,wDACuB;IACvD,MAAM,CAAC,QAAQ,CAAC,eAAe,qKAG7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,yBAAyB;IAC9C,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAE9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAA4B;gBAGzC,MAAM,GAAE,CAA0D,EAClE,OAAO,CAAC,EAAE,aAAa;IAKzB,+EAA+E;IAC/E,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAUhD,OAAO,CAAC,uBAAuB;YAMjB,uBAAuB;YAwCvB,qBAAqB;YAqBrB,sBAAsB;YAwBtB,sBAAsB;YA8BtB,gBAAgB;YAkEhB,gBAAgB;YAoBhB,WAAW;YA8BX,eAAe;YAsCf,qBAAqB;YAiBrB,QAAQ;YAoBR,eAAe;IAoBvB,aAAa,IAAI,OAAO,CAAC,4BAA4B,CAAC;CAwC7D"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../../../src/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAIL,KAAK,iCAAiC,EACtC,KAAK,4BAA4B,EAElC,MAAM,aAAa,CAAC;AAErB;;;;;;GAMG;AACH,qBAAa,sBAAsB,CACjC,CAAC,SACC,iCAAiC,GAAG,iCAAiC,CACvE,SAAQ,UAAU,CAAC,CAAC,EAAE,4BAA4B,CAAC;IACnD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAG,0BAA0B,CAAU;IACjE,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAsC;IAC5D,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAsC;IAClE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,wDACuB;IACvD,MAAM,CAAC,QAAQ,CAAC,eAAe,qKAG7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,yBAAyB;IAC9C,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAE9B,gFAAgF;IAChF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAgBrC;IAEF,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAA4B;gBAGzC,MAAM,GAAE,CAA0D,EAClE,OAAO,CAAC,EAAE,aAAa;IAKzB,+EAA+E;IAC/E,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAUhD,OAAO,CAAC,uBAAuB;YAMjB,uBAAuB;YA4CvB,qBAAqB;YAyBrB,sBAAsB;YA6BtB,sBAAsB;YAkCtB,gBAAgB;YAgFhB,gBAAgB;YAyBhB,WAAW;YAwCX,eAAe;YAwCf,qBAAqB;YAiBrB,QAAQ;YAoBR,eAAe;IAoBvB,aAAa,IAAI,OAAO,CAAC,4BAA4B,CAAC;CAwC7D"}