@bubblelab/bubble-core 0.1.174 → 0.1.176
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bubble-bundle.d.ts +105 -27
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +8 -0
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/attio/attio.d.ts +563 -0
- package/dist/bubbles/service-bubble/attio/attio.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/attio/attio.js +484 -0
- package/dist/bubbles/service-bubble/attio/attio.js.map +1 -0
- package/dist/bubbles/service-bubble/attio/attio.schema.d.ts +527 -0
- package/dist/bubbles/service-bubble/attio/attio.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/attio/attio.schema.js +386 -0
- package/dist/bubbles/service-bubble/attio/attio.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/attio/attio.utils.d.ts +1 -0
- package/dist/bubbles/service-bubble/attio/attio.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/attio/attio.utils.js +4 -0
- package/dist/bubbles/service-bubble/attio/attio.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/attio/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/attio/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/attio/index.js +3 -0
- package/dist/bubbles/service-bubble/attio/index.js.map +1 -0
- package/dist/bubbles/service-bubble/capability-pipeline.js +2 -2
- package/dist/bubbles/service-bubble/capability-pipeline.js.map +1 -1
- package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +388 -0
- package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/hubspot/hubspot.js +241 -0
- package/dist/bubbles/service-bubble/hubspot/hubspot.js.map +1 -0
- package/dist/bubbles/service-bubble/hubspot/hubspot.schema.d.ts +345 -0
- package/dist/bubbles/service-bubble/hubspot/hubspot.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/hubspot/hubspot.schema.js +180 -0
- package/dist/bubbles/service-bubble/hubspot/hubspot.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/hubspot/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/hubspot/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/hubspot/index.js +3 -0
- package/dist/bubbles/service-bubble/hubspot/index.js.map +1 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.d.ts +5 -30
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.js +70 -204
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.js.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.d.ts +4 -0
- package/dist/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts +31 -0
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js +202 -39
- package/dist/bubbles/tool-bubble/browser-tools/linkedin-connection/tool.js.map +1 -1
- package/dist/bubbles.json +1598 -2
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,106 +1,34 @@
|
|
|
1
1
|
import { AIAgentBubble } from '../../../../service-bubble/ai-agent.js';
|
|
2
2
|
import { BrowserBaseBubble } from '../../../../service-bubble/browserbase/index.js';
|
|
3
3
|
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
4
|
-
/**
|
|
5
|
-
* Script to extract interactive elements from the page.
|
|
6
|
-
* Finds buttons, links, inputs, and other interactive elements.
|
|
7
|
-
* Limited to 100 elements to avoid overwhelming the AI.
|
|
8
|
-
* Only includes elements that are truly visible (not in closed dropdowns, etc.)
|
|
9
|
-
*/
|
|
10
|
-
const EXTRACT_ELEMENTS_SCRIPT = `
|
|
11
|
-
(() => {
|
|
12
|
-
const selectors = 'button, a, input, select, textarea, [role="button"], [role="link"], [onclick]';
|
|
13
|
-
const elements = document.querySelectorAll(selectors);
|
|
14
|
-
|
|
15
|
-
// Check if element is truly visible (not just has dimensions)
|
|
16
|
-
function isElementVisible(el) {
|
|
17
|
-
const rect = el.getBoundingClientRect();
|
|
18
|
-
if (rect.width === 0 || rect.height === 0) return false;
|
|
19
|
-
|
|
20
|
-
// Check if element is within viewport
|
|
21
|
-
if (rect.bottom < 0 || rect.top > window.innerHeight) return false;
|
|
22
|
-
if (rect.right < 0 || rect.left > window.innerWidth) return false;
|
|
23
|
-
|
|
24
|
-
// Check computed styles
|
|
25
|
-
const style = window.getComputedStyle(el);
|
|
26
|
-
if (style.display === 'none' || style.visibility === 'hidden' || style.opacity === '0') return false;
|
|
27
|
-
|
|
28
|
-
// Check if any parent hides it (dropdown items in closed dropdowns)
|
|
29
|
-
let parent = el.parentElement;
|
|
30
|
-
while (parent) {
|
|
31
|
-
const parentStyle = window.getComputedStyle(parent);
|
|
32
|
-
if (parentStyle.display === 'none' || parentStyle.visibility === 'hidden') return false;
|
|
33
|
-
// Check for closed dropdown containers (common patterns)
|
|
34
|
-
if (parent.classList.contains('artdeco-dropdown__content') ||
|
|
35
|
-
parent.classList.contains('dropdown-menu')) {
|
|
36
|
-
if (!parent.classList.contains('artdeco-dropdown__content--is-open') &&
|
|
37
|
-
!parent.classList.contains('show') &&
|
|
38
|
-
!parent.classList.contains('open')) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
parent = parent.parentElement;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return [...elements].filter(isElementVisible).slice(0, 100).map(el => {
|
|
49
|
-
const rect = el.getBoundingClientRect();
|
|
50
|
-
let selector = el.tagName.toLowerCase();
|
|
51
|
-
if (el.id) {
|
|
52
|
-
selector = '#' + el.id;
|
|
53
|
-
} else if (el.className && typeof el.className === 'string') {
|
|
54
|
-
const classes = el.className.trim().split(/\\s+/).slice(0, 3).join('.');
|
|
55
|
-
if (classes) selector = el.tagName.toLowerCase() + '.' + classes;
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
tagName: el.tagName.toLowerCase(),
|
|
59
|
-
role: el.getAttribute('role') || undefined,
|
|
60
|
-
name: el.getAttribute('aria-label') || el.textContent?.trim().slice(0, 50) || undefined,
|
|
61
|
-
id: el.id || undefined,
|
|
62
|
-
selector,
|
|
63
|
-
boundingBox: {
|
|
64
|
-
x: Math.round(rect.x),
|
|
65
|
-
y: Math.round(rect.y),
|
|
66
|
-
width: Math.round(rect.width),
|
|
67
|
-
height: Math.round(rect.height)
|
|
68
|
-
},
|
|
69
|
-
isVisible: true,
|
|
70
|
-
isEnabled: !el.disabled
|
|
71
|
-
};
|
|
72
|
-
});
|
|
73
|
-
})()
|
|
74
|
-
`;
|
|
75
4
|
/**
|
|
76
5
|
* System prompt for the AI browser agent when suggesting recovery actions.
|
|
6
|
+
* Screenshot-only approach — AI looks at the page and decides coordinates.
|
|
77
7
|
*/
|
|
78
|
-
const RECOVERY_SYSTEM_PROMPT = `You are an AI browser automation assistant. You analyze screenshots
|
|
8
|
+
const RECOVERY_SYSTEM_PROMPT = `You are an AI browser automation assistant. You analyze screenshots to help recover from failed browser automation steps.
|
|
79
9
|
|
|
80
10
|
When a step fails, you receive:
|
|
81
11
|
1. A screenshot of the current page state
|
|
82
12
|
2. The task that was being attempted
|
|
83
13
|
3. The error that occurred
|
|
84
|
-
4.
|
|
14
|
+
4. The current page URL
|
|
85
15
|
|
|
86
|
-
Your job is to suggest ONE action to
|
|
16
|
+
Your job is to look at the screenshot and suggest ONE action to recover. Choose from:
|
|
87
17
|
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
- type: Type text into an input field
|
|
18
|
+
- click_coordinates: Click at x,y pixel coordinates on the screenshot
|
|
19
|
+
- type: Click at x,y coordinates then type text
|
|
91
20
|
- scroll: Scroll the page up or down
|
|
92
21
|
- wait: Wait for content to load
|
|
93
22
|
- none: If you cannot help, explain why
|
|
94
23
|
|
|
95
|
-
|
|
96
|
-
|
|
24
|
+
Look at the screenshot carefully. Identify the element visually and return the coordinates of its center.
|
|
25
|
+
|
|
26
|
+
Respond ONLY with valid JSON in one of these exact formats:
|
|
97
27
|
{"action": "click_coordinates", "coordinates": [500, 300]}
|
|
98
|
-
{"action": "type", "
|
|
28
|
+
{"action": "type", "coordinates": [500, 300], "value": "text to type"}
|
|
99
29
|
{"action": "scroll", "direction": "down", "amount": 500}
|
|
100
30
|
{"action": "wait", "milliseconds": 2000}
|
|
101
|
-
{"action": "none", "reason": "explanation here"}
|
|
102
|
-
|
|
103
|
-
Be concise and precise. Analyze the screenshot carefully to find the right element.`;
|
|
31
|
+
{"action": "none", "reason": "explanation here"}`;
|
|
104
32
|
/**
|
|
105
33
|
* System prompt for data extraction.
|
|
106
34
|
*/
|
|
@@ -123,8 +51,9 @@ Respond ONLY with valid JSON matching the requested structure.`;
|
|
|
123
51
|
/**
|
|
124
52
|
* AI Browser Agent for error recovery and data extraction.
|
|
125
53
|
*
|
|
126
|
-
* Uses
|
|
127
|
-
*
|
|
54
|
+
* Uses vision AI to analyze screenshots and suggest recovery actions
|
|
55
|
+
* or extract structured data. No DOM inspection needed — the AI
|
|
56
|
+
* looks at the screenshot and decides coordinates directly.
|
|
128
57
|
*/
|
|
129
58
|
export class AIBrowserAgent {
|
|
130
59
|
sessionId;
|
|
@@ -137,35 +66,26 @@ export class AIBrowserAgent {
|
|
|
137
66
|
}
|
|
138
67
|
/**
|
|
139
68
|
* Suggest a recovery action for a failed step.
|
|
140
|
-
*
|
|
141
|
-
* @param task - Description of what the step was trying to accomplish
|
|
142
|
-
* @param error - The error message from the failed step
|
|
143
|
-
* @returns The suggested recovery action
|
|
69
|
+
* Takes a screenshot and lets the AI decide what to do.
|
|
144
70
|
*/
|
|
145
71
|
async suggestRecoveryAction(task, error) {
|
|
146
72
|
try {
|
|
147
|
-
// Capture current page state
|
|
148
73
|
const screenshot = await this.captureScreenshot();
|
|
149
74
|
if (!screenshot) {
|
|
150
75
|
return { action: 'none', reason: 'Could not capture screenshot' };
|
|
151
76
|
}
|
|
152
77
|
const currentUrl = await this.getCurrentUrl();
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
// Build the user message
|
|
163
|
-
const userMessage = this.buildRecoveryPrompt(task, error, currentUrl, elements);
|
|
164
|
-
// Call AI
|
|
78
|
+
const userMessage = `Task: ${task}
|
|
79
|
+
|
|
80
|
+
Error: ${error}
|
|
81
|
+
|
|
82
|
+
Current URL: ${currentUrl}
|
|
83
|
+
|
|
84
|
+
Look at the screenshot and suggest ONE action to recover from this error.`;
|
|
85
|
+
console.log(`[AIBrowserAgent] Requesting recovery for: "${task}"`);
|
|
86
|
+
console.log(`[AIBrowserAgent] Error: ${error}`);
|
|
165
87
|
const response = await this.callAI(userMessage, screenshot, RECOVERY_SYSTEM_PROMPT);
|
|
166
|
-
|
|
167
|
-
console.log(`[AIBrowserAgent] AI raw response: ${response}`);
|
|
168
|
-
// Parse and validate response
|
|
88
|
+
console.log(`[AIBrowserAgent] AI response: ${response}`);
|
|
169
89
|
return this.parseRecoveryAction(response);
|
|
170
90
|
}
|
|
171
91
|
catch (err) {
|
|
@@ -178,31 +98,22 @@ export class AIBrowserAgent {
|
|
|
178
98
|
}
|
|
179
99
|
/**
|
|
180
100
|
* Extract structured data from the page using AI vision.
|
|
181
|
-
*
|
|
182
|
-
* @param schema - Zod schema defining the expected data structure
|
|
183
|
-
* @param task - Description of what data to extract
|
|
184
|
-
* @returns The extracted data matching the schema, or null if extraction fails
|
|
185
101
|
*/
|
|
186
102
|
async extractData(schema, task) {
|
|
187
103
|
try {
|
|
188
|
-
// Capture screenshot
|
|
189
104
|
const screenshot = await this.captureScreenshot();
|
|
190
105
|
if (!screenshot) {
|
|
191
106
|
console.error('[AIBrowserAgent] Could not capture screenshot for extraction');
|
|
192
107
|
return null;
|
|
193
108
|
}
|
|
194
|
-
// Generate schema description for the AI
|
|
195
109
|
const schemaDescription = this.describeZodSchema(schema);
|
|
196
|
-
// Build user message
|
|
197
110
|
const userMessage = `Task: ${task}
|
|
198
111
|
|
|
199
112
|
Extract the following data from the screenshot:
|
|
200
113
|
${schemaDescription}
|
|
201
114
|
|
|
202
115
|
Respond with ONLY valid JSON matching this structure.`;
|
|
203
|
-
// Call AI
|
|
204
116
|
const response = await this.callAI(userMessage, screenshot, EXTRACTION_SYSTEM_PROMPT);
|
|
205
|
-
// Parse and validate with Zod
|
|
206
117
|
const parsed = JSON.parse(response);
|
|
207
118
|
const validated = schema.safeParse(parsed);
|
|
208
119
|
if (validated.success) {
|
|
@@ -218,9 +129,6 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
218
129
|
}
|
|
219
130
|
/**
|
|
220
131
|
* Execute the suggested recovery action on the page.
|
|
221
|
-
*
|
|
222
|
-
* @param action - The action to execute
|
|
223
|
-
* @returns true if the action was executed successfully
|
|
224
132
|
*/
|
|
225
133
|
async executeAction(action) {
|
|
226
134
|
try {
|
|
@@ -232,6 +140,7 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
232
140
|
const page = session.page;
|
|
233
141
|
switch (action.action) {
|
|
234
142
|
case 'click': {
|
|
143
|
+
// Legacy selector-based click — shouldn't happen but handle gracefully
|
|
235
144
|
await page.waitForSelector(action.selector, { timeout: 5000 });
|
|
236
145
|
await page.click(action.selector);
|
|
237
146
|
return true;
|
|
@@ -242,25 +151,32 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
242
151
|
return true;
|
|
243
152
|
}
|
|
244
153
|
case 'type': {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
154
|
+
if ('coordinates' in action) {
|
|
155
|
+
const [tx, ty] = action.coordinates;
|
|
156
|
+
await page.mouse.click(tx, ty);
|
|
157
|
+
// Triple-click to select all, then type to replace
|
|
158
|
+
await page.mouse.click(tx, ty, { clickCount: 3 });
|
|
159
|
+
await page.keyboard.type(action.value, { delay: 50 });
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// Legacy selector-based
|
|
163
|
+
await page.waitForSelector(action.selector, { timeout: 5000 });
|
|
164
|
+
await page.click(action.selector);
|
|
165
|
+
const clearScript = `
|
|
166
|
+
(() => {
|
|
167
|
+
const el = document.querySelector(${JSON.stringify(action.selector)});
|
|
168
|
+
if (el && 'value' in el) el.value = '';
|
|
169
|
+
})()
|
|
170
|
+
`;
|
|
171
|
+
await page.evaluate(clearScript);
|
|
172
|
+
await page.type(action.selector, action.value, { delay: 50 });
|
|
173
|
+
}
|
|
257
174
|
return true;
|
|
258
175
|
}
|
|
259
176
|
case 'scroll': {
|
|
260
177
|
const amount = action.direction === 'down' ? action.amount : -action.amount;
|
|
261
178
|
const scrollScript = `window.scrollBy({ top: ${amount}, behavior: 'smooth' })`;
|
|
262
179
|
await page.evaluate(scrollScript);
|
|
263
|
-
// Wait for scroll to complete
|
|
264
180
|
await new Promise((r) => setTimeout(r, 500));
|
|
265
181
|
return true;
|
|
266
182
|
}
|
|
@@ -270,7 +186,6 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
270
186
|
}
|
|
271
187
|
case 'extract':
|
|
272
188
|
case 'none':
|
|
273
|
-
// These don't require page interaction
|
|
274
189
|
return action.action === 'extract';
|
|
275
190
|
default:
|
|
276
191
|
return false;
|
|
@@ -282,9 +197,6 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
282
197
|
}
|
|
283
198
|
}
|
|
284
199
|
// ==================== Private Methods ====================
|
|
285
|
-
/**
|
|
286
|
-
* Capture a screenshot from the current browser session.
|
|
287
|
-
*/
|
|
288
200
|
async captureScreenshot() {
|
|
289
201
|
const session = BrowserBaseBubble.getSession(this.sessionId);
|
|
290
202
|
if (!session)
|
|
@@ -300,9 +212,6 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
300
212
|
return null;
|
|
301
213
|
}
|
|
302
214
|
}
|
|
303
|
-
/**
|
|
304
|
-
* Get the current page URL.
|
|
305
|
-
*/
|
|
306
215
|
async getCurrentUrl() {
|
|
307
216
|
const session = BrowserBaseBubble.getSession(this.sessionId);
|
|
308
217
|
if (!session)
|
|
@@ -314,25 +223,6 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
314
223
|
return '';
|
|
315
224
|
}
|
|
316
225
|
}
|
|
317
|
-
/**
|
|
318
|
-
* Extract interactive elements from the page.
|
|
319
|
-
*/
|
|
320
|
-
async extractInteractiveElements() {
|
|
321
|
-
const session = BrowserBaseBubble.getSession(this.sessionId);
|
|
322
|
-
if (!session)
|
|
323
|
-
return [];
|
|
324
|
-
try {
|
|
325
|
-
const elements = await session.page.evaluate(EXTRACT_ELEMENTS_SCRIPT);
|
|
326
|
-
return elements;
|
|
327
|
-
}
|
|
328
|
-
catch (err) {
|
|
329
|
-
console.error('[AIBrowserAgent] Element extraction failed:', err);
|
|
330
|
-
return [];
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* Call the AI agent with a message and optional screenshot.
|
|
335
|
-
*/
|
|
336
226
|
async callAI(message, screenshotBase64, systemPrompt) {
|
|
337
227
|
const geminiKey = this.credentials?.[CredentialType.GOOGLE_GEMINI_CRED];
|
|
338
228
|
if (!geminiKey) {
|
|
@@ -357,7 +247,6 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
357
247
|
credentials: {
|
|
358
248
|
[CredentialType.GOOGLE_GEMINI_CRED]: geminiKey,
|
|
359
249
|
},
|
|
360
|
-
// Disable tools for simple JSON responses
|
|
361
250
|
tools: [],
|
|
362
251
|
}, this.context);
|
|
363
252
|
const result = await agent.action();
|
|
@@ -366,54 +255,17 @@ Respond with ONLY valid JSON matching this structure.`;
|
|
|
366
255
|
}
|
|
367
256
|
return result.data.response;
|
|
368
257
|
}
|
|
369
|
-
/**
|
|
370
|
-
* Build the prompt for recovery action suggestion.
|
|
371
|
-
*/
|
|
372
|
-
buildRecoveryPrompt(task, error, currentUrl, elements) {
|
|
373
|
-
// Summarize elements for context (limit to key info)
|
|
374
|
-
const elementSummary = elements
|
|
375
|
-
.slice(0, 30)
|
|
376
|
-
.map((el) => {
|
|
377
|
-
const parts = [el.tagName];
|
|
378
|
-
if (el.name)
|
|
379
|
-
parts.push(`"${el.name}"`);
|
|
380
|
-
if (el.id)
|
|
381
|
-
parts.push(`#${el.id}`);
|
|
382
|
-
if (el.role)
|
|
383
|
-
parts.push(`[role="${el.role}"]`);
|
|
384
|
-
parts.push(`at (${el.boundingBox.x},${el.boundingBox.y})`);
|
|
385
|
-
return parts.join(' ');
|
|
386
|
-
})
|
|
387
|
-
.join('\n');
|
|
388
|
-
return `Task: ${task}
|
|
389
|
-
|
|
390
|
-
Error: ${error}
|
|
391
|
-
|
|
392
|
-
Current URL: ${currentUrl}
|
|
393
|
-
|
|
394
|
-
Interactive elements on page:
|
|
395
|
-
${elementSummary || 'No interactive elements found'}
|
|
396
|
-
|
|
397
|
-
Analyze the screenshot and suggest ONE action to help recover from this error.`;
|
|
398
|
-
}
|
|
399
258
|
/**
|
|
400
259
|
* Parse the AI response into a typed action.
|
|
401
260
|
*/
|
|
402
261
|
parseRecoveryAction(response) {
|
|
403
262
|
try {
|
|
404
263
|
const parsed = JSON.parse(response);
|
|
405
|
-
// Validate action type
|
|
406
264
|
switch (parsed.action) {
|
|
407
265
|
case 'click':
|
|
408
|
-
if (typeof parsed.selector === 'string') {
|
|
409
|
-
return { action: 'click', selector: parsed.selector };
|
|
410
|
-
}
|
|
411
|
-
break;
|
|
412
266
|
case 'click_coordinates':
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
typeof parsed.coordinates[0] === 'number' &&
|
|
416
|
-
typeof parsed.coordinates[1] === 'number') {
|
|
267
|
+
// Both map to click_coordinates — AI should always return coordinates
|
|
268
|
+
if (this.hasValidCoordinates(parsed.coordinates)) {
|
|
417
269
|
return {
|
|
418
270
|
action: 'click_coordinates',
|
|
419
271
|
coordinates: parsed.coordinates,
|
|
@@ -421,13 +273,22 @@ Analyze the screenshot and suggest ONE action to help recover from this error.`;
|
|
|
421
273
|
}
|
|
422
274
|
break;
|
|
423
275
|
case 'type':
|
|
424
|
-
if (typeof parsed.
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
276
|
+
if (typeof parsed.value === 'string') {
|
|
277
|
+
if (this.hasValidCoordinates(parsed.coordinates)) {
|
|
278
|
+
return {
|
|
279
|
+
action: 'type',
|
|
280
|
+
coordinates: parsed.coordinates,
|
|
281
|
+
value: parsed.value,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
// Legacy selector fallback
|
|
285
|
+
if (typeof parsed.selector === 'string') {
|
|
286
|
+
return {
|
|
287
|
+
action: 'type',
|
|
288
|
+
selector: parsed.selector,
|
|
289
|
+
value: parsed.value,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
431
292
|
}
|
|
432
293
|
break;
|
|
433
294
|
case 'scroll':
|
|
@@ -459,11 +320,16 @@ Analyze the screenshot and suggest ONE action to help recover from this error.`;
|
|
|
459
320
|
return { action: 'none', reason: 'Failed to parse AI response' };
|
|
460
321
|
}
|
|
461
322
|
}
|
|
323
|
+
hasValidCoordinates(coordinates) {
|
|
324
|
+
return (Array.isArray(coordinates) &&
|
|
325
|
+
coordinates.length === 2 &&
|
|
326
|
+
typeof coordinates[0] === 'number' &&
|
|
327
|
+
typeof coordinates[1] === 'number');
|
|
328
|
+
}
|
|
462
329
|
/**
|
|
463
330
|
* Generate a human-readable description of a Zod schema.
|
|
464
331
|
*/
|
|
465
332
|
describeZodSchema(schema) {
|
|
466
|
-
// Get the shape if it's an object schema
|
|
467
333
|
const def = schema._def;
|
|
468
334
|
if (def.typeName === 'ZodObject' && def.shape) {
|
|
469
335
|
const shape = def.shape();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-browser-agent.js","sourceRoot":"","sources":["../../../../../../src/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-browser-agent.js","sourceRoot":"","sources":["../../../../../../src/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAM3D;;;GAGG;AACH,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;iDAuBkB,CAAC;AAElD;;GAEG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;+DAe8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IACjB,SAAS,CAAS;IAClB,OAAO,CAAiB;IACxB,WAAW,CAA0B;IAE7C,YAAY,MAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAoC,CAAC;QAC3D,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CACzB,IAAY,EACZ,KAAa;QAEb,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;YACpE,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE9C,MAAM,WAAW,GAAG,SAAS,IAAI;;SAE9B,KAAK;;eAEC,UAAU;;0EAEiD,CAAC;YAErE,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,GAAG,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAChC,WAAW,EACX,UAAU,EACV,sBAAsB,CACvB,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;YAEzD,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;YACzE,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC7D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAI,MAAoB,EAAE,IAAY;QACrD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CACX,8DAA8D,CAC/D,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEzD,MAAM,WAAW,GAAG,SAAS,IAAI;;;EAGrC,iBAAiB;;sDAEmC,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAChC,WAAW,EACX,UAAU,EACV,wBAAwB,CACzB,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE3C,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAC,IAAI,CAAC;YACxB,CAAC;YAED,OAAO,CAAC,KAAK,CACX,uDAAuD,EACvD,SAAS,CAAC,KAAK,CAChB,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAuB;QACzC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAE1B,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,uEAAuE;oBACvE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClC,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACzB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;oBAClC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;wBAC5B,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;wBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC/B,mDAAmD;wBACnD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;wBAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBACxD,CAAC;yBAAM,CAAC;wBACN,wBAAwB;wBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAClC,MAAM,WAAW,GAAG;;oDAEoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;;;aAGtE,CAAC;wBACF,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACjC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAChE,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,MAAM,GACV,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC/D,MAAM,YAAY,GAAG,0BAA0B,MAAM,yBAAyB,CAAC;oBAC/E,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAClC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC7C,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC7D,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,SAAS,CAAC;gBACf,KAAK,MAAM;oBACT,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;gBAErC;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,4DAA4D;IAEpD,KAAK,CAAC,iBAAiB;QAC7B,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;gBACpC,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAW,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,OAAe,EACf,gBAAwB,EACxB,YAAoB;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,aAAa,CAC7B;YACE,IAAI,EAAE,wBAAwB;YAC9B,OAAO;YACP,YAAY;YACZ,KAAK,EAAE;gBACL,KAAK,EAAE,+BAA+B;gBACtC,WAAW,EAAE,GAAG;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,WAAW;iBACtB;aACF;YACD,WAAW,EAAE;gBACX,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,SAAS;aAC/C;YACD,KAAK,EAAE,EAAE;SACV,EACD,IAAI,CAAC,OAAO,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAgB;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEpC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,KAAK,OAAO,CAAC;gBACb,KAAK,mBAAmB;oBACtB,sEAAsE;oBACtE,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;wBACjD,OAAO;4BACL,MAAM,EAAE,mBAAmB;4BAC3B,WAAW,EAAE,MAAM,CAAC,WAA+B;yBACpD,CAAC;oBACJ,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM;oBACT,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACrC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;4BACjD,OAAO;gCACL,MAAM,EAAE,MAAM;gCACd,WAAW,EAAE,MAAM,CAAC,WAA+B;gCACnD,KAAK,EAAE,MAAM,CAAC,KAAK;6BACpB,CAAC;wBACJ,CAAC;wBACD,2BAA2B;wBAC3B,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BACxC,OAAO;gCACL,MAAM,EAAE,MAAM;gCACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,KAAK,EAAE,MAAM,CAAC,KAAK;6BACpB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,MAAM;gBAER,KAAK,QAAQ;oBACX,IACE,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC;wBAC1D,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EACjC,CAAC;wBACD,OAAO;4BACL,MAAM,EAAE,QAAQ;4BAChB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;yBACtB,CAAC;oBACJ,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM;oBACT,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;wBAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC/D,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM;oBACT,OAAO;wBACL,MAAM,EAAE,MAAM;wBACd,MAAM,EACJ,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;4BAC/B,CAAC,CAAC,MAAM,CAAC,MAAM;4BACf,CAAC,CAAC,gBAAgB;qBACvB,CAAC;YACN,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,mBAAmB,CACzB,WAAoB;QAEpB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC1B,WAAW,CAAC,MAAM,KAAK,CAAC;YACxB,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ;YAClC,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAA0B;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,IAGlB,CAAC;QAEF,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE;gBAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAG5B,CAAC;gBACF,MAAM,IAAI,GACR,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC;gBACnE,MAAM,QAAQ,GACZ,QAAQ,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,OAAO,MAAM,GAAG,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,OAAO;EACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;EAClB,CAAC;QACC,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-browser-agent.types.d.ts","sourceRoot":"","sources":["../../../../../../src/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC9D;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC"}
|
|
1
|
+
{"version":3,"file":"ai-browser-agent.types.d.ts","sourceRoot":"","sources":["../../../../../../src/bubbles/tool-bubble/browser-tools/_shared/ai/ai-browser-agent.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC9D;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC"}
|
|
@@ -150,6 +150,16 @@ export declare class LinkedInConnectionTool<T extends LinkedInConnectionToolPara
|
|
|
150
150
|
static readonly type = "tool";
|
|
151
151
|
/** JS helper to query elements across main document, iframes, and shadow DOM */
|
|
152
152
|
private static readonly CROSS_DOM_QUERY;
|
|
153
|
+
/**
|
|
154
|
+
* JS helper to find the profile card's action button container.
|
|
155
|
+
*
|
|
156
|
+
* LinkedIn renders sidebar recommendation buttons (e.g. "Invite Dr. David P.
|
|
157
|
+
* to connect") inside the same <main><section> as the profile card, so we
|
|
158
|
+
* can't rely on section scoping. Instead, we find a known profile-specific
|
|
159
|
+
* button like "Follow <name>" or "Message <name>" and walk up to the action
|
|
160
|
+
* button row that also contains the "More" button.
|
|
161
|
+
*/
|
|
162
|
+
private static readonly FIND_ACTION_ROW;
|
|
153
163
|
private sessionId;
|
|
154
164
|
private contextId;
|
|
155
165
|
private cookies;
|
|
@@ -162,10 +172,31 @@ export declare class LinkedInConnectionTool<T extends LinkedInConnectionToolPara
|
|
|
162
172
|
private stepWaitForProfilePage;
|
|
163
173
|
private stepExtractProfileInfo;
|
|
164
174
|
private stepClickConnect;
|
|
175
|
+
/**
|
|
176
|
+
* Wait for the connection modal OR detect that the connection was sent
|
|
177
|
+
* directly (no modal). Returns 'modal' if modal appeared, 'pending' if
|
|
178
|
+
* connection was sent directly, or throws if neither happened.
|
|
179
|
+
*/
|
|
165
180
|
private stepWaitForModal;
|
|
166
181
|
private stepAddNote;
|
|
167
182
|
private stepSendRequest;
|
|
168
183
|
private stepEndBrowserSession;
|
|
184
|
+
/**
|
|
185
|
+
* Check if the connection was already sent directly (no modal).
|
|
186
|
+
* LinkedIn sometimes sends connections immediately when clicking Connect
|
|
187
|
+
* from the More dropdown, skipping the "Add a note" / "Send without a note" modal.
|
|
188
|
+
* In that case the button changes to "Pending".
|
|
189
|
+
*
|
|
190
|
+
* Scoped to the profile card (via h1 ancestor) to avoid matching Pending
|
|
191
|
+
* buttons on sidebar recommendation profiles.
|
|
192
|
+
*/
|
|
193
|
+
private checkIfConnectionPending;
|
|
194
|
+
/**
|
|
195
|
+
* Dismiss visible LinkedIn overlay popups (Premium upsell, Sales Navigator,
|
|
196
|
+
* cookie consent, etc.). Called from inside polling loops so it runs on
|
|
197
|
+
* every iteration rather than as a one-shot step.
|
|
198
|
+
*/
|
|
199
|
+
private dismissPopupsOnce;
|
|
169
200
|
private evaluate;
|
|
170
201
|
private detectIPAddress;
|
|
171
202
|
performAction(): Promise<LinkedInConnectionToolResult>;
|
|
@@ -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;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;
|
|
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;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAiCrC;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;IA0E9B;;;;OAIG;YAKW,gBAAgB;YAoChB,WAAW;YAwCX,eAAe;YAwCf,qBAAqB;IAiBnC;;;;;;;;OAQG;YACW,wBAAwB;IAiBtC;;;;OAIG;YACW,iBAAiB;YAuDjB,QAAQ;YAoBR,eAAe;IAoBvB,aAAa,IAAI,OAAO,CAAC,4BAA4B,CAAC;CAgF7D"}
|