@jobshimo/browser-link 0.15.0 → 0.17.0
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/agent-instructions/content.js +27 -5
- package/dist/agent-instructions/content.js.map +1 -1
- package/dist/commands/about.js +4 -0
- package/dist/commands/about.js.map +1 -1
- package/dist/extension/background.js +328 -163
- package/dist/extension/background.js.map +1 -1
- package/dist/extension/flow.d.ts +161 -0
- package/dist/extension/flow.js +213 -0
- package/dist/extension/flow.js.map +1 -0
- package/dist/extension/inpage/builders.d.ts +41 -0
- package/dist/extension/inpage/builders.js +71 -4
- package/dist/extension/inpage/builders.js.map +1 -1
- package/dist/extension/keymap.d.ts +82 -0
- package/dist/extension/keymap.js +205 -0
- package/dist/extension/keymap.js.map +1 -0
- package/dist/extension/manifest.json +1 -1
- package/dist/extension/settle.d.ts +39 -0
- package/dist/extension/settle.js +69 -0
- package/dist/extension/settle.js.map +1 -0
- package/dist/permissions.js +12 -0
- package/dist/permissions.js.map +1 -1
- package/dist/tools/browser-definitions.js +223 -2
- package/dist/tools/browser-definitions.js.map +1 -1
- package/dist/tools/browser-dispatch.js +278 -6
- package/dist/tools/browser-dispatch.js.map +1 -1
- package/dist/tools/server-instructions.js +36 -7
- package/dist/tools/server-instructions.js.map +1 -1
- package/package.json +1 -1
|
@@ -40,7 +40,9 @@ const BROWSER_TOOL_NAMES = [
|
|
|
40
40
|
'browser.network_body',
|
|
41
41
|
'browser.click',
|
|
42
42
|
'browser.type',
|
|
43
|
+
'browser.press',
|
|
43
44
|
'browser.drag',
|
|
45
|
+
'browser.flow',
|
|
44
46
|
'browser.evaluate',
|
|
45
47
|
'browser.events',
|
|
46
48
|
'browser.reset',
|
|
@@ -54,6 +56,249 @@ export function isBrowserTool(name) {
|
|
|
54
56
|
return BROWSER_TOOL_NAME_SET.has(name);
|
|
55
57
|
}
|
|
56
58
|
const NAVIGATE_TIMEOUT_MS = 30_000;
|
|
59
|
+
/** Same floor click/type/drag/wait_for already use. Action tools default
|
|
60
|
+
* here when they have no other reason to run longer. */
|
|
61
|
+
const ACTION_TIMEOUT_FLOOR_MS = 15_000;
|
|
62
|
+
/** Hard ceiling on `settle_timeout_ms` — mirrors MAX_SETTLE_TIMEOUT_MS in
|
|
63
|
+
* the extension's background.ts; kept in sync manually since the two
|
|
64
|
+
* packages don't share a module for this one constant. */
|
|
65
|
+
const MAX_SETTLE_TIMEOUT_MS = 10_000;
|
|
66
|
+
/** Matches the extension's DEFAULT_SETTLE_TIMEOUT_MS. */
|
|
67
|
+
const DEFAULT_SETTLE_TIMEOUT_MS = 2_000;
|
|
68
|
+
const PRESS_MODIFIERS = new Set(['Alt', 'Control', 'Meta', 'Shift']);
|
|
69
|
+
/** Roles `browser.find` accepts — shared by the standalone find dispatcher
|
|
70
|
+
* and `browser.flow`'s find-step validation so the two cannot drift. */
|
|
71
|
+
const FIND_ALLOWED_ROLES = new Set(['button', 'link', 'textbox', 'checkbox', 'tab', 'menuitem']);
|
|
72
|
+
/** Type-predicate narrowing for `browser.press`'s `modifiers` param.
|
|
73
|
+
* `Array.isArray` alone narrows `unknown` to `any[]`, not `unknown[]` —
|
|
74
|
+
* without a named predicate here, `.every(...)` after it does not narrow
|
|
75
|
+
* the element type and the eventual assignment to `string[]` trips
|
|
76
|
+
* `no-unsafe-assignment`. */
|
|
77
|
+
function isModifierArray(value) {
|
|
78
|
+
return (Array.isArray(value) && value.every((m) => typeof m === 'string' && PRESS_MODIFIERS.has(m)));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Timeout budget for click / type / press: the bridge has to wait out the
|
|
82
|
+
* action itself PLUS however long the optional settle wait can run for.
|
|
83
|
+
* Mirrors how `browser.drag` computes its budget from `duration_ms` and
|
|
84
|
+
* `browser.wait_for` computes its budget from `timeout_ms` — same
|
|
85
|
+
* `Math.max(floor, requested + overhead)` shape, this time keyed off
|
|
86
|
+
* `settle_timeout_ms`. Unset/invalid input falls back to the default settle
|
|
87
|
+
* timeout, so the returned value is always >= ACTION_TIMEOUT_FLOOR_MS
|
|
88
|
+
* regardless of what the caller passed.
|
|
89
|
+
*
|
|
90
|
+
* INVARIANT WORTH STATING PLAINLY: with today's constants this function
|
|
91
|
+
* always returns exactly ACTION_TIMEOUT_FLOOR_MS (15s), because the worst
|
|
92
|
+
* legal case is MAX_SETTLE_TIMEOUT_MS + 5s overhead = 10s + 5s = the floor.
|
|
93
|
+
* It does not currently "widen" anything — it EXISTS so the budget stays
|
|
94
|
+
* correct by construction if either constant moves. If you change
|
|
95
|
+
* MAX_SETTLE_TIMEOUT_MS or the floor, either keep
|
|
96
|
+
* `ACTION_TIMEOUT_FLOOR_MS >= MAX_SETTLE_TIMEOUT_MS + 5_000` or accept
|
|
97
|
+
* that this function starts returning larger budgets — both are fine,
|
|
98
|
+
* a settle wait silently outliving the bridge timeout is not.
|
|
99
|
+
*/
|
|
100
|
+
function actionTimeoutWithSettle(settleTimeoutMs) {
|
|
101
|
+
const requested = typeof settleTimeoutMs === 'number' && Number.isFinite(settleTimeoutMs) && settleTimeoutMs >= 0
|
|
102
|
+
? settleTimeoutMs
|
|
103
|
+
: DEFAULT_SETTLE_TIMEOUT_MS;
|
|
104
|
+
const clamped = Math.min(requested, MAX_SETTLE_TIMEOUT_MS);
|
|
105
|
+
return Math.max(ACTION_TIMEOUT_FLOOR_MS, clamped + 5_000);
|
|
106
|
+
}
|
|
107
|
+
// === browser.flow ========================================================
|
|
108
|
+
/** Hard cap on steps per flow — mirrors `maxItems: 20` on the MCP schema
|
|
109
|
+
* (`browser-definitions.ts`) and the extension's own defense-in-depth
|
|
110
|
+
* check in `flow.ts`'s `runFlow`. Enforced here too so an oversized flow
|
|
111
|
+
* is rejected before it ever reaches the extension. */
|
|
112
|
+
const MAX_FLOW_STEPS = 20;
|
|
113
|
+
/** Same ceiling `browser.wait_for_tab` uses for its own timeout budget —
|
|
114
|
+
* the bridge does not park any single tool call longer than this. A flow
|
|
115
|
+
* whose TRUTHFUL worst-case budget exceeds this ceiling is REJECTED up
|
|
116
|
+
* front (see `validateFlowSteps`), never silently capped: the bridge has
|
|
117
|
+
* no cancel path to the extension, so a bridge timeout below the real
|
|
118
|
+
* worst case would drop the response of a flow that is still executing —
|
|
119
|
+
* and an agent retry could then duplicate the actions. */
|
|
120
|
+
const MAX_FLOW_TIMEOUT_MS = 60_000;
|
|
121
|
+
/** Once-per-flow overhead: the WS round trip to the extension plus the
|
|
122
|
+
* recovery snapshot evaluated on the failure path. */
|
|
123
|
+
const FLOW_BASE_OVERHEAD_MS = 2_000;
|
|
124
|
+
/** Per-step overhead: the step's own in-page evaluate round trip(s) and
|
|
125
|
+
* CDP input dispatches. Those are local calls that typically take tens of
|
|
126
|
+
* milliseconds — 500ms per step is generous without inflating the budget
|
|
127
|
+
* so much that legitimate 20-step flows stop fitting under the ceiling. */
|
|
128
|
+
const FLOW_STEP_SLACK_MS = 500;
|
|
129
|
+
/** Worst-case settle wait for one settle-enabled click/type/press step
|
|
130
|
+
* inside a flow. Flow steps only expose `settle_ms` (the quiet-PERIOD
|
|
131
|
+
* length), never `settle_timeout_ms` (the overall CAP) — so every
|
|
132
|
+
* settle-enabled action step's true upper bound is the extension's
|
|
133
|
+
* `DEFAULT_SETTLE_TIMEOUT_MS`. A step that explicitly disables settle
|
|
134
|
+
* (`settle_ms: 0`) skips the wait entirely and costs only the slack.
|
|
135
|
+
*
|
|
136
|
+
* Sanity check the constants keep the documented promise: a full 20-step
|
|
137
|
+
* flow of action steps with DEFAULT settle budgets at
|
|
138
|
+
* 2_000 + 20 * (2_000 + 500) = 52_000ms — comfortably under the 60s
|
|
139
|
+
* ceiling. Only genuinely long wait_for-heavy flows hit the rejection. */
|
|
140
|
+
const FLOW_ACTION_SETTLE_WORST_MS = DEFAULT_SETTLE_TIMEOUT_MS;
|
|
141
|
+
/** Mirror the standalone wait_for contract: default 5s, extension clamps
|
|
142
|
+
* at 30s. The budget uses the same numbers so it never under-models a
|
|
143
|
+
* step the extension would happily run longer. */
|
|
144
|
+
const FLOW_WAIT_FOR_DEFAULT_TIMEOUT_MS = 5_000;
|
|
145
|
+
const FLOW_WAIT_FOR_MAX_TIMEOUT_MS = 30_000;
|
|
146
|
+
const FLOW_STEP_KINDS = ['find', 'click', 'type', 'press', 'wait_for'];
|
|
147
|
+
const FLOW_WAIT_CONDITIONS = new Set(['visible', 'hidden', 'attached', 'detached']);
|
|
148
|
+
/** Identify the step kind. A step must have EXACTLY ONE key and that key
|
|
149
|
+
* must be a recognized kind — extra keys (`{find: {...}, mystery: 1}`)
|
|
150
|
+
* reject, matching the schema's `additionalProperties: false`. */
|
|
151
|
+
function flowStepKind(step) {
|
|
152
|
+
const keys = Object.keys(step);
|
|
153
|
+
if (keys.length !== 1)
|
|
154
|
+
return null;
|
|
155
|
+
const key = keys[0];
|
|
156
|
+
return FLOW_STEP_KINDS.includes(key) ? key : null;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Server-side validation for `browser.flow`'s `steps` array — defense in
|
|
160
|
+
* depth beyond the MCP JSON schema, since the IPC/proxy path in
|
|
161
|
+
* multi-agent mode can reach `handleBrowserTool` without ever going
|
|
162
|
+
* through schema validation. Mirrors how `browser.find`/`browser.press`
|
|
163
|
+
* re-validate their own required fields here rather than trusting the
|
|
164
|
+
* schema alone.
|
|
165
|
+
*
|
|
166
|
+
* Also computes the flow's TRUTHFUL worst-case time budget (`budgetMs`)
|
|
167
|
+
* in the same pass: base overhead + per-step slack + each wait_for's
|
|
168
|
+
* clamped `timeout_ms` + each settle-enabled action step's settle
|
|
169
|
+
* ceiling. A flow whose budget exceeds `MAX_FLOW_TIMEOUT_MS` is rejected
|
|
170
|
+
* with an actionable error instead of silently capping the enforced
|
|
171
|
+
* bridge timeout below the modeled need — see the ceiling constant's doc
|
|
172
|
+
* for why a mid-flow bridge timeout is worse than an up-front rejection.
|
|
173
|
+
*
|
|
174
|
+
* Deliberately loose on the "implicit target" check: it only confirms a
|
|
175
|
+
* `find` step exists SOMEWHERE earlier in the array before a selector-less
|
|
176
|
+
* `click` — it does not simulate the single-step-lookahead consumption
|
|
177
|
+
* rule `runFlow` enforces at runtime. A flow that passes this check can
|
|
178
|
+
* still fail at runtime with a clear per-step error; this check only
|
|
179
|
+
* catches the flows that could never possibly work.
|
|
180
|
+
*/
|
|
181
|
+
function validateFlowSteps(input) {
|
|
182
|
+
if (!Array.isArray(input) || input.length === 0) {
|
|
183
|
+
return { ok: false, error: 'steps must be a non-empty array' };
|
|
184
|
+
}
|
|
185
|
+
if (input.length > MAX_FLOW_STEPS) {
|
|
186
|
+
return { ok: false, error: `at most ${MAX_FLOW_STEPS} steps allowed, got ${input.length}` };
|
|
187
|
+
}
|
|
188
|
+
const steps = [];
|
|
189
|
+
let hasTarget = false;
|
|
190
|
+
let budgetMs = FLOW_BASE_OVERHEAD_MS;
|
|
191
|
+
for (let i = 0; i < input.length; i++) {
|
|
192
|
+
const raw = input[i];
|
|
193
|
+
if (typeof raw !== 'object' || raw === null) {
|
|
194
|
+
return { ok: false, error: `step ${i}: must be an object` };
|
|
195
|
+
}
|
|
196
|
+
const step = raw;
|
|
197
|
+
const kind = flowStepKind(step);
|
|
198
|
+
if (!kind) {
|
|
199
|
+
return {
|
|
200
|
+
ok: false,
|
|
201
|
+
error: `step ${i}: must have exactly one of find | click | type | press | wait_for`,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
const body = step[kind];
|
|
205
|
+
if (typeof body !== 'object' || body === null) {
|
|
206
|
+
return { ok: false, error: `step ${i}: "${kind}" must be an object` };
|
|
207
|
+
}
|
|
208
|
+
const bodyRecord = body;
|
|
209
|
+
if (kind === 'find') {
|
|
210
|
+
if (typeof bodyRecord.text !== 'string' || bodyRecord.text.length === 0) {
|
|
211
|
+
return { ok: false, error: `step ${i}: find.text is required` };
|
|
212
|
+
}
|
|
213
|
+
if (bodyRecord.role !== undefined &&
|
|
214
|
+
(typeof bodyRecord.role !== 'string' || !FIND_ALLOWED_ROLES.has(bodyRecord.role))) {
|
|
215
|
+
return {
|
|
216
|
+
ok: false,
|
|
217
|
+
error: `step ${i}: find.role must be one of button | link | textbox | checkbox | tab | menuitem`,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
hasTarget = true;
|
|
221
|
+
budgetMs += FLOW_STEP_SLACK_MS;
|
|
222
|
+
}
|
|
223
|
+
else if (kind === 'type') {
|
|
224
|
+
if (typeof bodyRecord.text !== 'string') {
|
|
225
|
+
return { ok: false, error: `step ${i}: type.text is required` };
|
|
226
|
+
}
|
|
227
|
+
budgetMs += flowActionBudgetMs(bodyRecord);
|
|
228
|
+
}
|
|
229
|
+
else if (kind === 'press') {
|
|
230
|
+
if (typeof bodyRecord.key !== 'string' || bodyRecord.key.length === 0) {
|
|
231
|
+
return { ok: false, error: `step ${i}: press.key is required` };
|
|
232
|
+
}
|
|
233
|
+
budgetMs += flowActionBudgetMs(bodyRecord);
|
|
234
|
+
}
|
|
235
|
+
else if (kind === 'click') {
|
|
236
|
+
if (bodyRecord.selector === undefined && !hasTarget) {
|
|
237
|
+
return {
|
|
238
|
+
ok: false,
|
|
239
|
+
error: `step ${i}: click has no selector and no preceding find to supply an implicit target`,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
budgetMs += flowActionBudgetMs(bodyRecord);
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
// wait_for — mirror the standalone dispatcher's contract checks so a
|
|
246
|
+
// bad step fails HERE with a clear message instead of in-page with a
|
|
247
|
+
// misleading "condition not met within timeout (0ms, 0 checks)".
|
|
248
|
+
const modes = [bodyRecord.selector, bodyRecord.expression, bodyRecord.network_url].filter((v) => v !== undefined);
|
|
249
|
+
if (modes.length !== 1) {
|
|
250
|
+
return {
|
|
251
|
+
ok: false,
|
|
252
|
+
error: `step ${i}: wait_for requires exactly one of selector | expression | network_url`,
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
for (const key of ['selector', 'expression', 'network_url']) {
|
|
256
|
+
if (bodyRecord[key] !== undefined && typeof bodyRecord[key] !== 'string') {
|
|
257
|
+
return { ok: false, error: `step ${i}: wait_for.${key} must be a string` };
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if (bodyRecord.condition !== undefined &&
|
|
261
|
+
(typeof bodyRecord.condition !== 'string' ||
|
|
262
|
+
!FLOW_WAIT_CONDITIONS.has(bodyRecord.condition))) {
|
|
263
|
+
return {
|
|
264
|
+
ok: false,
|
|
265
|
+
error: `step ${i}: wait_for.condition must be one of visible | hidden | attached | detached`,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
for (const key of ['timeout_ms', 'poll_interval_ms']) {
|
|
269
|
+
if (bodyRecord[key] !== undefined &&
|
|
270
|
+
(typeof bodyRecord[key] !== 'number' || !Number.isFinite(bodyRecord[key]))) {
|
|
271
|
+
return { ok: false, error: `step ${i}: wait_for.${key} must be a finite number` };
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
budgetMs += flowWaitForBudgetMs(bodyRecord);
|
|
275
|
+
}
|
|
276
|
+
steps.push(step);
|
|
277
|
+
}
|
|
278
|
+
if (budgetMs > MAX_FLOW_TIMEOUT_MS) {
|
|
279
|
+
return {
|
|
280
|
+
ok: false,
|
|
281
|
+
error: `flow worst-case budget ${Math.ceil(budgetMs / 1000)}s exceeds the ` +
|
|
282
|
+
`${MAX_FLOW_TIMEOUT_MS / 1000}s ceiling — reduce wait_for timeout_ms values or split the flow`,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
return { ok: true, steps, budgetMs };
|
|
286
|
+
}
|
|
287
|
+
/** Worst case for one click/type/press step: its settle ceiling (unless
|
|
288
|
+
* the step explicitly disables settle with `settle_ms: 0`) plus the
|
|
289
|
+
* per-step slack. */
|
|
290
|
+
function flowActionBudgetMs(body) {
|
|
291
|
+
const settleDisabled = body.settle_ms === 0;
|
|
292
|
+
return (settleDisabled ? 0 : FLOW_ACTION_SETTLE_WORST_MS) + FLOW_STEP_SLACK_MS;
|
|
293
|
+
}
|
|
294
|
+
/** Worst case for one wait_for step: its clamped `timeout_ms` (the
|
|
295
|
+
* extension enforces the same 30s cap) plus the per-step slack. */
|
|
296
|
+
function flowWaitForBudgetMs(body) {
|
|
297
|
+
const requested = typeof body.timeout_ms === 'number' && Number.isFinite(body.timeout_ms) && body.timeout_ms >= 0
|
|
298
|
+
? body.timeout_ms
|
|
299
|
+
: FLOW_WAIT_FOR_DEFAULT_TIMEOUT_MS;
|
|
300
|
+
return Math.min(requested, FLOW_WAIT_FOR_MAX_TIMEOUT_MS) + FLOW_STEP_SLACK_MS;
|
|
301
|
+
}
|
|
57
302
|
/** Convert an internal TabClaim into the wire-safe `PublicClaim`. */
|
|
58
303
|
function toPublicClaim(claim) {
|
|
59
304
|
const publicClaim = {
|
|
@@ -184,8 +429,7 @@ export async function handleBrowserTool(name, args, deps, caller) {
|
|
|
184
429
|
if (typeof text !== 'string' || text.length === 0) {
|
|
185
430
|
throw new Error('browser.find: text required');
|
|
186
431
|
}
|
|
187
|
-
|
|
188
|
-
if (role !== undefined && (typeof role !== 'string' || !ALLOWED_ROLES.has(role))) {
|
|
432
|
+
if (role !== undefined && (typeof role !== 'string' || !FIND_ALLOWED_ROLES.has(role))) {
|
|
189
433
|
throw new Error('browser.find: role must be one of button | link | textbox | checkbox | tab | menuitem');
|
|
190
434
|
}
|
|
191
435
|
// find is a read tool: no claim enforcement, no userGesture concerns.
|
|
@@ -245,12 +489,29 @@ export async function handleBrowserTool(name, args, deps, caller) {
|
|
|
245
489
|
return deps.callBrowserTool(requireTabId(args), 'network_body', { request_id });
|
|
246
490
|
}
|
|
247
491
|
case 'browser.click': {
|
|
248
|
-
const { selector, force = false } = args;
|
|
249
|
-
return runAction('click', requireTabId(args), { selector, force }, deps, caller);
|
|
492
|
+
const { selector, force = false, settle_ms, settle_timeout_ms, } = args;
|
|
493
|
+
return runAction('click', requireTabId(args), { selector, force, settle_ms, settle_timeout_ms }, deps, caller, actionTimeoutWithSettle(settle_timeout_ms));
|
|
250
494
|
}
|
|
251
495
|
case 'browser.type': {
|
|
252
|
-
const { selector, text, clear = false, } = args;
|
|
253
|
-
return runAction('type', requireTabId(args), { selector, text, clear }, deps, caller);
|
|
496
|
+
const { selector, text, clear = false, settle_ms, settle_timeout_ms, } = args;
|
|
497
|
+
return runAction('type', requireTabId(args), { selector, text, clear, settle_ms, settle_timeout_ms }, deps, caller, actionTimeoutWithSettle(settle_timeout_ms));
|
|
498
|
+
}
|
|
499
|
+
case 'browser.press': {
|
|
500
|
+
const { key, modifiers, selector, settle_ms, settle_timeout_ms } = (args ?? {});
|
|
501
|
+
if (typeof key !== 'string' || key.length === 0) {
|
|
502
|
+
throw new Error('browser.press: key required');
|
|
503
|
+
}
|
|
504
|
+
let normalizedModifiers = [];
|
|
505
|
+
if (modifiers !== undefined) {
|
|
506
|
+
if (!isModifierArray(modifiers)) {
|
|
507
|
+
throw new Error('browser.press: modifiers must be an array of Alt | Control | Meta | Shift');
|
|
508
|
+
}
|
|
509
|
+
normalizedModifiers = modifiers;
|
|
510
|
+
}
|
|
511
|
+
if (selector !== undefined && typeof selector !== 'string') {
|
|
512
|
+
throw new Error('browser.press: selector must be a string when provided');
|
|
513
|
+
}
|
|
514
|
+
return runAction('press', requireTabId(args), { key, modifiers: normalizedModifiers, selector, settle_ms, settle_timeout_ms }, deps, caller, actionTimeoutWithSettle(settle_timeout_ms));
|
|
254
515
|
}
|
|
255
516
|
case 'browser.drag': {
|
|
256
517
|
const { from_selector, from_x, from_y, to_selector, to_x, to_y, duration_ms, hold_before_move_ms, hold_before_release_ms, } = (args ?? {});
|
|
@@ -276,6 +537,17 @@ export async function handleBrowserTool(name, args, deps, caller) {
|
|
|
276
537
|
hold_before_release_ms,
|
|
277
538
|
}, deps, caller, timeoutMs);
|
|
278
539
|
}
|
|
540
|
+
case 'browser.flow': {
|
|
541
|
+
const { steps } = (args ?? {});
|
|
542
|
+
const validated = validateFlowSteps(steps);
|
|
543
|
+
if (!validated.ok)
|
|
544
|
+
throw new Error(`browser.flow: ${validated.error}`);
|
|
545
|
+
// budgetMs is the flow's truthful worst case and validateFlowSteps
|
|
546
|
+
// already rejected anything above MAX_FLOW_TIMEOUT_MS, so the
|
|
547
|
+
// enforced timeout is never below the modeled need — only the shared
|
|
548
|
+
// action floor can raise it.
|
|
549
|
+
return runAction('flow', requireTabId(args), { steps: validated.steps }, deps, caller, Math.max(ACTION_TIMEOUT_FLOOR_MS, validated.budgetMs));
|
|
550
|
+
}
|
|
279
551
|
case 'browser.evaluate': {
|
|
280
552
|
const { expression } = args;
|
|
281
553
|
return runAction('evaluate', requireTabId(args), { expression }, deps, caller);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-dispatch.js","sourceRoot":"","sources":["../../src/tools/browser-dispatch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-dispatch.js","sourceRoot":"","sources":["../../src/tools/browser-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,19 @@ a cache of navigation, not a substitute.
|
|
|
72
72
|
when no dedicated tool fits — every dedicated tool below is cheaper in
|
|
73
73
|
tokens AND more reliable than a hand-rolled expression.
|
|
74
74
|
|
|
75
|
+
- **Any multi-step interaction** (find a target, act on it, wait, act
|
|
76
|
+
again) → \`browser.flow({ steps: [...] })\` is now the DEFAULT, not a
|
|
77
|
+
fallback. A sequence like find → click → wait_for → type → press used
|
|
78
|
+
to cost 5-10+ separate MCP round trips — each one a full LLM inference
|
|
79
|
+
— and now costs ONE \`browser.flow\` call (two if a step fails and you
|
|
80
|
+
need a corrective follow-up). A \`find\` step's resolved selector
|
|
81
|
+
becomes the implicit target for the very next click/type/press step
|
|
82
|
+
that omits \`selector\`, so you never have to copy a selector from one
|
|
83
|
+
call into the next by hand. Flow is strictly sequential and fails fast
|
|
84
|
+
on the first bad step, returning a focused \`recovery_snapshot\` so you
|
|
85
|
+
do not need a follow-up \`browser.snapshot\` to see where it stopped.
|
|
86
|
+
Reach for individual click/type/press/find/wait_for calls only when you
|
|
87
|
+
need to branch on an intermediate result.
|
|
75
88
|
- **Finding an element by visible text** → call \`browser.find\` (not
|
|
76
89
|
\`browser.evaluate\` with a textContent grep). \`find\` covers
|
|
77
90
|
\`<div onclick>\` and other "no testid" markup that a naive
|
|
@@ -91,13 +104,29 @@ tokens AND more reliable than a hand-rolled expression.
|
|
|
91
104
|
Never call \`browser.evaluate\` N times in a row to read N values.
|
|
92
105
|
- **Scrolling** → \`browser.evaluate\` with \`pane.scrollTop = N\` or
|
|
93
106
|
\`el.scrollIntoView({block:'center'})\`. No dedicated tool needed.
|
|
94
|
-
- **Special keys (Enter / Tab / Escape / arrow keys)** →
|
|
95
|
-
\`browser.evaluate\` with
|
|
96
|
-
\`el.dispatchEvent(new KeyboardEvent(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
107
|
+
- **Special keys (Enter / Tab / Escape / arrow keys / shortcuts)** →
|
|
108
|
+
\`browser.press\`, NOT \`browser.evaluate\` with a synthetic
|
|
109
|
+
\`KeyboardEvent\`. \`el.dispatchEvent(new KeyboardEvent(...))\` produces
|
|
110
|
+
\`isTrusted:false\` events that rich text editors, autocompletes, and
|
|
111
|
+
non-DOM runtimes (Qt-WASM, WebGL) silently ignore. \`browser.press\`
|
|
112
|
+
dispatches a real CDP \`Input.dispatchKeyEvent\` sequence
|
|
113
|
+
(\`isTrusted:true\`) — pass \`key\` ("Enter", "ArrowUp", a single
|
|
114
|
+
character, …) and optional \`modifiers\` for shortcuts (Ctrl+A, Cmd+S).
|
|
115
|
+
For TYPING text into an input, use \`browser.type\` — it goes through
|
|
116
|
+
the native setter so controlled components update their state.
|
|
117
|
+
\`dispatchEvent\` on \`value\` does NOT.
|
|
118
|
+
- **Waiting for the result of an action** → pass \`settle_ms\` to
|
|
119
|
+
\`browser.click\` / \`.type\` / \`.press\` (default 150, max 2000)
|
|
120
|
+
instead of a follow-up \`browser.wait_for\` + \`browser.snapshot\`. The
|
|
121
|
+
action waits for the page to go quiet — no DOM mutations for
|
|
122
|
+
\`settle_ms\` — and returns a \`settle\` object
|
|
123
|
+
(\`{ settled, duration_ms, mutation_count, url_changed?, focus_moved? }\`).
|
|
124
|
+
Settle proves QUIET, not EFFECT: mutations completing before the
|
|
125
|
+
observer installs (right after dispatch) and async reactions starting
|
|
126
|
+
after the quiet window are both invisible — \`mutation_count: 0\` does
|
|
127
|
+
NOT mean the action did nothing. Reach for \`wait_for\` when you need a
|
|
128
|
+
SPECIFIC condition (a particular selector, network request, or
|
|
129
|
+
expression), not just "did anything change".
|
|
101
130
|
- **Paging through \`browser.events\`** → keep \`lastId = result.latest_id\`
|
|
102
131
|
in your working notes and pass it as \`since_id\` on the next call.
|
|
103
132
|
That is one variable. The server does not maintain per-agent cursors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/tools/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;sDAEsD;AACtD,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/tools/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;sDAEsD;AACtD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAyIN,CAAC;AAEZ;;mEAEmE;AACnE,SAAS,UAAU,CAAC,GAAmB;IACrC,IAAI,CAAC,GAAG,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;IAC3D,MAAM,KAAK,GAAa,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;iEAEiE;AACjE,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAqB,CAAC,GAAG,wBAAwB,EAAE,GAAG,oBAAoB,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;8DAC8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobshimo/browser-link",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "MCP server that bridges Claude Code, OpenCode, GitHub Copilot CLI and other MCP clients to a Chrome tab. Per-tool permissions, multi-agent mode (multiple MCP clients sharing one bridge), persistent UI map across sessions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|