@jobshimo/browser-link 0.23.4 → 0.23.5
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.
|
@@ -862,6 +862,458 @@ async function performWaitFor(tabId, state, params) {
|
|
|
862
862
|
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
863
863
|
}
|
|
864
864
|
}
|
|
865
|
+
/**
|
|
866
|
+
* `handlePing` through `handleSetPermission` — the extracted bodies of the
|
|
867
|
+
* remaining standalone tool cases in `handleTool` below that never got the
|
|
868
|
+
* `perform*` treatment above. Each takes exactly the locals its original
|
|
869
|
+
* `case` block closed over (`tabId`, `state`, `msg`, the raw params `p`,
|
|
870
|
+
* and/or the `str`/`optStr` readers) and returns the same wire-level
|
|
871
|
+
* `tool.response` envelope the case used to build inline — pure code
|
|
872
|
+
* motion, not a rewrite of tool behavior.
|
|
873
|
+
*/
|
|
874
|
+
async function handlePing(tabId, msg) {
|
|
875
|
+
const tab = await chrome.tabs.get(tabId);
|
|
876
|
+
return {
|
|
877
|
+
kind: 'tool.response',
|
|
878
|
+
id: msg.id,
|
|
879
|
+
ok: true,
|
|
880
|
+
result: { title: tab.title ?? '', url: tab.url ?? '' },
|
|
881
|
+
};
|
|
882
|
+
}
|
|
883
|
+
async function handleNavigate(tabId, msg, p, str) {
|
|
884
|
+
const url = str('url');
|
|
885
|
+
const waitForLoadFlag = p.wait_for_load !== false;
|
|
886
|
+
await cdp(tabId, 'Page.navigate', { url });
|
|
887
|
+
if (waitForLoadFlag)
|
|
888
|
+
await waitForLoad(tabId);
|
|
889
|
+
const tab = await chrome.tabs.get(tabId);
|
|
890
|
+
return {
|
|
891
|
+
kind: 'tool.response',
|
|
892
|
+
id: msg.id,
|
|
893
|
+
ok: true,
|
|
894
|
+
result: { url: tab.url ?? '', title: tab.title ?? '' },
|
|
895
|
+
};
|
|
896
|
+
}
|
|
897
|
+
async function handleSnapshot(tabId, msg, p, optStr) {
|
|
898
|
+
const value = await evaluateInTab(tabId, buildSnapshotJs({
|
|
899
|
+
within_selector: optStr('within_selector'),
|
|
900
|
+
only_interactive: p.only_interactive === true,
|
|
901
|
+
exclude: Array.isArray(p.exclude)
|
|
902
|
+
? p.exclude.filter((x) => typeof x === 'string')
|
|
903
|
+
: undefined,
|
|
904
|
+
max_interactive: typeof p.max_interactive === 'number' ? p.max_interactive : undefined,
|
|
905
|
+
}));
|
|
906
|
+
return { kind: 'tool.response', id: msg.id, ok: true, result: value };
|
|
907
|
+
}
|
|
908
|
+
async function handleCanvasScreenshot(tabId, msg, p, optStr) {
|
|
909
|
+
const selector = optStr('selector');
|
|
910
|
+
const format = optStr('format') === 'jpeg' ? 'jpeg' : 'png';
|
|
911
|
+
const regionRaw = p.region;
|
|
912
|
+
let region;
|
|
913
|
+
if (regionRaw && typeof regionRaw === 'object') {
|
|
914
|
+
const r = regionRaw;
|
|
915
|
+
if (typeof r.x === 'number' &&
|
|
916
|
+
typeof r.y === 'number' &&
|
|
917
|
+
typeof r.w === 'number' &&
|
|
918
|
+
typeof r.h === 'number') {
|
|
919
|
+
region = { x: r.x, y: r.y, w: r.w, h: r.h };
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
const value = await evaluateInTab(tabId, buildCanvasScreenshotJs({ selector, region, format }));
|
|
923
|
+
return { kind: 'tool.response', id: msg.id, ok: true, result: value };
|
|
924
|
+
}
|
|
925
|
+
function handleConsole(state, msg, optStr) {
|
|
926
|
+
const level = optStr('level');
|
|
927
|
+
const entries = level
|
|
928
|
+
? state.consoleBuffer.filter((e) => e.level === level)
|
|
929
|
+
: state.consoleBuffer;
|
|
930
|
+
return { kind: 'tool.response', id: msg.id, ok: true, result: entries };
|
|
931
|
+
}
|
|
932
|
+
function handleNetwork(state, msg, optStr) {
|
|
933
|
+
const filter = optStr('url_filter')?.toLowerCase();
|
|
934
|
+
const list = state.networkOrder
|
|
935
|
+
.map((id) => state.networkBuffer.get(id))
|
|
936
|
+
.filter((e) => e !== undefined)
|
|
937
|
+
.filter((e) => (filter ? e.url.toLowerCase().includes(filter) : true));
|
|
938
|
+
return { kind: 'tool.response', id: msg.id, ok: true, result: list };
|
|
939
|
+
}
|
|
940
|
+
async function handleNetworkBody(tabId, msg, str) {
|
|
941
|
+
const requestId = str('request_id');
|
|
942
|
+
const body = await cdp(tabId, 'Network.getResponseBody', {
|
|
943
|
+
requestId,
|
|
944
|
+
});
|
|
945
|
+
return { kind: 'tool.response', id: msg.id, ok: true, result: body };
|
|
946
|
+
}
|
|
947
|
+
async function handleFlow(tabId, state, msg, p) {
|
|
948
|
+
// Wire-boundary narrowing: `p.steps` is untrusted JSON. Keep only
|
|
949
|
+
// object-shaped entries here — `runFlow`'s own `stepKind()` guard
|
|
950
|
+
// re-validates each one at runtime regardless, so a malformed
|
|
951
|
+
// entry fails the flow cleanly instead of throwing.
|
|
952
|
+
const rawSteps = Array.isArray(p.steps)
|
|
953
|
+
? p.steps.filter((s) => typeof s === 'object' && s !== null)
|
|
954
|
+
: [];
|
|
955
|
+
const flowResult = await runFlow(rawSteps, {
|
|
956
|
+
performFind: (params) => performFind(tabId, params),
|
|
957
|
+
performClick: (params) => performClick(tabId, params),
|
|
958
|
+
performType: (params) => performType(tabId, params),
|
|
959
|
+
performPress: (params) => performPress(tabId, params),
|
|
960
|
+
performWaitFor: (params) => performWaitFor(tabId, state, params),
|
|
961
|
+
buildRecoverySnapshot: () => evaluateInTab(tabId, buildSnapshotJs({ only_interactive: true, max_interactive: 40 })),
|
|
962
|
+
});
|
|
963
|
+
// The wire-level response is ok:true whenever the flow RAN (even a
|
|
964
|
+
// failed step is a legitimate business outcome, same pattern as
|
|
965
|
+
// wait_for's matched:false) — flowResult itself carries the
|
|
966
|
+
// ok:true/false the agent reads.
|
|
967
|
+
return { kind: 'tool.response', id: msg.id, ok: true, result: flowResult };
|
|
968
|
+
}
|
|
969
|
+
async function handleDrag(tabId, msg, p, optStr) {
|
|
970
|
+
const optNum = (key) => {
|
|
971
|
+
const v = p[key];
|
|
972
|
+
return typeof v === 'number' && Number.isFinite(v) && v >= 0 ? v : undefined;
|
|
973
|
+
};
|
|
974
|
+
const clamp = (v, max) => Math.min(v, max);
|
|
975
|
+
const fromSelector = optStr('from_selector');
|
|
976
|
+
const toSelector = optStr('to_selector');
|
|
977
|
+
const fromXRaw = optNum('from_x');
|
|
978
|
+
const fromYRaw = optNum('from_y');
|
|
979
|
+
const toXRaw = optNum('to_x');
|
|
980
|
+
const toYRaw = optNum('to_y');
|
|
981
|
+
// Cap every duration that ends up in a setTimeout to keep CodeQL's
|
|
982
|
+
// "user-controlled timer duration" check happy and to prevent a
|
|
983
|
+
// misbehaving agent from parking the bridge for hours on a typo.
|
|
984
|
+
const durationMs = clamp(optNum('duration_ms') ?? 1500, MAX_DRAG_DURATION_MS);
|
|
985
|
+
const holdBeforeMoveMs = clamp(optNum('hold_before_move_ms') ?? 0, MAX_DRAG_HOLD_MS);
|
|
986
|
+
const holdBeforeReleaseMs = clamp(optNum('hold_before_release_ms') ?? 0, MAX_DRAG_HOLD_MS);
|
|
987
|
+
const hasFromCoords = fromXRaw !== undefined && fromYRaw !== undefined;
|
|
988
|
+
const hasToCoords = toXRaw !== undefined && toYRaw !== undefined;
|
|
989
|
+
if (!fromSelector && !hasFromCoords) {
|
|
990
|
+
return {
|
|
991
|
+
kind: 'tool.response',
|
|
992
|
+
id: msg.id,
|
|
993
|
+
ok: false,
|
|
994
|
+
error: 'drag: provide from_selector or both from_x and from_y',
|
|
995
|
+
};
|
|
996
|
+
}
|
|
997
|
+
if (!toSelector && !hasToCoords) {
|
|
998
|
+
return {
|
|
999
|
+
kind: 'tool.response',
|
|
1000
|
+
id: msg.id,
|
|
1001
|
+
ok: false,
|
|
1002
|
+
error: 'drag: provide to_selector or both to_x and to_y',
|
|
1003
|
+
};
|
|
1004
|
+
}
|
|
1005
|
+
const probeExpr = buildDragProbeJs({
|
|
1006
|
+
from_selector: fromSelector,
|
|
1007
|
+
to_selector: toSelector,
|
|
1008
|
+
from_x: fromXRaw,
|
|
1009
|
+
from_y: fromYRaw,
|
|
1010
|
+
to_x: toXRaw,
|
|
1011
|
+
to_y: toYRaw,
|
|
1012
|
+
});
|
|
1013
|
+
const probe = await evaluateInTab(tabId, probeExpr);
|
|
1014
|
+
if (probe.err) {
|
|
1015
|
+
return { kind: 'tool.response', id: msg.id, ok: false, error: `drag: ${probe.err}` };
|
|
1016
|
+
}
|
|
1017
|
+
if (!probe.from || !probe.to) {
|
|
1018
|
+
return {
|
|
1019
|
+
kind: 'tool.response',
|
|
1020
|
+
id: msg.id,
|
|
1021
|
+
ok: false,
|
|
1022
|
+
error: 'drag: could not resolve coordinates',
|
|
1023
|
+
};
|
|
1024
|
+
}
|
|
1025
|
+
if (!probe.from.in_viewport) {
|
|
1026
|
+
return {
|
|
1027
|
+
kind: 'tool.response',
|
|
1028
|
+
id: msg.id,
|
|
1029
|
+
ok: false,
|
|
1030
|
+
error: 'drag: source point is offscreen — scroll first or pass viewport coords',
|
|
1031
|
+
};
|
|
1032
|
+
}
|
|
1033
|
+
if (!probe.to.in_viewport) {
|
|
1034
|
+
return {
|
|
1035
|
+
kind: 'tool.response',
|
|
1036
|
+
id: msg.id,
|
|
1037
|
+
ok: false,
|
|
1038
|
+
error: 'drag: destination point is offscreen — scroll first or pass viewport coords',
|
|
1039
|
+
};
|
|
1040
|
+
}
|
|
1041
|
+
const fromX = probe.from.x;
|
|
1042
|
+
const fromY = probe.from.y;
|
|
1043
|
+
const toX = probe.to.x;
|
|
1044
|
+
const toY = probe.to.y;
|
|
1045
|
+
const isDraggable = !!probe.draggable;
|
|
1046
|
+
// ~30fps interpolation; minimum 2 steps so the path actually has a midpoint.
|
|
1047
|
+
const steps = durationMs > 0 ? Math.max(2, Math.round(durationMs / 33)) : 1;
|
|
1048
|
+
const stepDelayMs = steps > 0 ? durationMs / steps : 0;
|
|
1049
|
+
const eventsFired = [];
|
|
1050
|
+
// Every branch below reassigns `dragMode` before the final `return` reads it.
|
|
1051
|
+
let dragMode = 'pointer'; // eslint-disable-line no-useless-assignment -- see comment above
|
|
1052
|
+
let interceptReceived = false;
|
|
1053
|
+
const dragStart = Date.now();
|
|
1054
|
+
let interceptionEnabled = false;
|
|
1055
|
+
const interpolate = (t) => ({
|
|
1056
|
+
x: fromX + (toX - fromX) * t,
|
|
1057
|
+
y: fromY + (toY - fromY) * t,
|
|
1058
|
+
});
|
|
1059
|
+
// Mouse move WITH the left button held down. Chrome's HTML5 drag
|
|
1060
|
+
// system only treats movement as a drag when the button state is
|
|
1061
|
+
// signalled on every move after mousePressed; omitting it makes
|
|
1062
|
+
// Blink ignore the move for drag-detection purposes.
|
|
1063
|
+
const moveHeld = (x, y) => cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1064
|
+
type: 'mouseMoved',
|
|
1065
|
+
x,
|
|
1066
|
+
y,
|
|
1067
|
+
button: 'left',
|
|
1068
|
+
buttons: 1,
|
|
1069
|
+
});
|
|
1070
|
+
// Wiggle distance has to comfortably clear `kDragThreshold` (~5px on
|
|
1071
|
+
// Mac, 4px on Linux/Windows). 5px landed *right* at the boundary and
|
|
1072
|
+
// Chrome did not start the drag — 20px crosses it on every platform.
|
|
1073
|
+
const WIGGLE_PX = 20;
|
|
1074
|
+
// Time to wait for Input.dragIntercepted after the wiggle. 120ms was
|
|
1075
|
+
// enough on local-only synthetic tests but flaky in real Chrome —
|
|
1076
|
+
// 250ms is comfortable without dragging out the overall latency.
|
|
1077
|
+
const INTERCEPT_TIMEOUT_MS = 250;
|
|
1078
|
+
try {
|
|
1079
|
+
if (isDraggable) {
|
|
1080
|
+
try {
|
|
1081
|
+
await cdp(tabId, 'Input.setInterceptDrags', { enabled: true });
|
|
1082
|
+
interceptionEnabled = true;
|
|
1083
|
+
}
|
|
1084
|
+
catch {
|
|
1085
|
+
// setInterceptDrags is experimental — fall back to pointer mode silently.
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
if (interceptionEnabled) {
|
|
1089
|
+
// Arm the listener BEFORE the press+wiggle that may trigger it.
|
|
1090
|
+
const interceptPromise = waitForCdpEvent(tabId, 'Input.dragIntercepted', INTERCEPT_TIMEOUT_MS);
|
|
1091
|
+
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1092
|
+
type: 'mouseMoved',
|
|
1093
|
+
x: fromX,
|
|
1094
|
+
y: fromY,
|
|
1095
|
+
});
|
|
1096
|
+
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1097
|
+
type: 'mousePressed',
|
|
1098
|
+
x: fromX,
|
|
1099
|
+
y: fromY,
|
|
1100
|
+
button: 'left',
|
|
1101
|
+
clickCount: 1,
|
|
1102
|
+
});
|
|
1103
|
+
if (holdBeforeMoveMs > 0)
|
|
1104
|
+
await sleep(holdBeforeMoveMs);
|
|
1105
|
+
// Wiggle toward the destination so Chrome's native drag system
|
|
1106
|
+
// crosses its activation threshold. Direction matters for libs
|
|
1107
|
+
// that have direction-sensitive activation constraints.
|
|
1108
|
+
const dx = toX - fromX;
|
|
1109
|
+
const dy = toY - fromY;
|
|
1110
|
+
const len = Math.hypot(dx, dy) || 1;
|
|
1111
|
+
const wx = fromX + (dx / len) * WIGGLE_PX;
|
|
1112
|
+
const wy = fromY + (dy / len) * WIGGLE_PX;
|
|
1113
|
+
await moveHeld(wx, wy);
|
|
1114
|
+
const intercepted = await interceptPromise;
|
|
1115
|
+
if (intercepted) {
|
|
1116
|
+
dragMode = 'html5';
|
|
1117
|
+
interceptReceived = true;
|
|
1118
|
+
eventsFired.push('Input.dragIntercepted');
|
|
1119
|
+
const dragData = intercepted.data;
|
|
1120
|
+
for (let i = 1; i <= steps; i++) {
|
|
1121
|
+
const t = i / steps;
|
|
1122
|
+
const { x, y } = interpolate(t);
|
|
1123
|
+
await moveHeld(x, y);
|
|
1124
|
+
await cdp(tabId, 'Input.dispatchDragEvent', {
|
|
1125
|
+
type: 'dragOver',
|
|
1126
|
+
x,
|
|
1127
|
+
y,
|
|
1128
|
+
data: dragData,
|
|
1129
|
+
});
|
|
1130
|
+
if (i === 1)
|
|
1131
|
+
eventsFired.push('dragOver');
|
|
1132
|
+
if (stepDelayMs > 0)
|
|
1133
|
+
await sleep(stepDelayMs);
|
|
1134
|
+
}
|
|
1135
|
+
await cdp(tabId, 'Input.dispatchDragEvent', {
|
|
1136
|
+
type: 'dragEnter',
|
|
1137
|
+
x: toX,
|
|
1138
|
+
y: toY,
|
|
1139
|
+
data: dragData,
|
|
1140
|
+
});
|
|
1141
|
+
eventsFired.push('dragEnter');
|
|
1142
|
+
await cdp(tabId, 'Input.dispatchDragEvent', {
|
|
1143
|
+
type: 'dragOver',
|
|
1144
|
+
x: toX,
|
|
1145
|
+
y: toY,
|
|
1146
|
+
data: dragData,
|
|
1147
|
+
});
|
|
1148
|
+
if (holdBeforeReleaseMs > 0)
|
|
1149
|
+
await sleep(holdBeforeReleaseMs);
|
|
1150
|
+
await cdp(tabId, 'Input.dispatchDragEvent', {
|
|
1151
|
+
type: 'drop',
|
|
1152
|
+
x: toX,
|
|
1153
|
+
y: toY,
|
|
1154
|
+
data: dragData,
|
|
1155
|
+
});
|
|
1156
|
+
eventsFired.push('drop');
|
|
1157
|
+
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1158
|
+
type: 'mouseReleased',
|
|
1159
|
+
x: toX,
|
|
1160
|
+
y: toY,
|
|
1161
|
+
button: 'left',
|
|
1162
|
+
clickCount: 1,
|
|
1163
|
+
});
|
|
1164
|
+
}
|
|
1165
|
+
else {
|
|
1166
|
+
// Element was tagged draggable but no native drag fired — the page
|
|
1167
|
+
// either preventDefault'd dragstart or wires its own pointer logic.
|
|
1168
|
+
// Continue with pointer-only events from where we already pressed.
|
|
1169
|
+
dragMode = 'pointer';
|
|
1170
|
+
for (let i = 1; i <= steps; i++) {
|
|
1171
|
+
const t = i / steps;
|
|
1172
|
+
const { x, y } = interpolate(t);
|
|
1173
|
+
await moveHeld(x, y);
|
|
1174
|
+
if (stepDelayMs > 0)
|
|
1175
|
+
await sleep(stepDelayMs);
|
|
1176
|
+
}
|
|
1177
|
+
if (holdBeforeReleaseMs > 0)
|
|
1178
|
+
await sleep(holdBeforeReleaseMs);
|
|
1179
|
+
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1180
|
+
type: 'mouseReleased',
|
|
1181
|
+
x: toX,
|
|
1182
|
+
y: toY,
|
|
1183
|
+
button: 'left',
|
|
1184
|
+
clickCount: 1,
|
|
1185
|
+
});
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
else {
|
|
1189
|
+
// Pointer-only branch: no native drag involvement at all.
|
|
1190
|
+
dragMode = 'pointer';
|
|
1191
|
+
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1192
|
+
type: 'mouseMoved',
|
|
1193
|
+
x: fromX,
|
|
1194
|
+
y: fromY,
|
|
1195
|
+
});
|
|
1196
|
+
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1197
|
+
type: 'mousePressed',
|
|
1198
|
+
x: fromX,
|
|
1199
|
+
y: fromY,
|
|
1200
|
+
button: 'left',
|
|
1201
|
+
clickCount: 1,
|
|
1202
|
+
});
|
|
1203
|
+
if (holdBeforeMoveMs > 0)
|
|
1204
|
+
await sleep(holdBeforeMoveMs);
|
|
1205
|
+
for (let i = 1; i <= steps; i++) {
|
|
1206
|
+
const t = i / steps;
|
|
1207
|
+
const { x, y } = interpolate(t);
|
|
1208
|
+
await moveHeld(x, y);
|
|
1209
|
+
if (stepDelayMs > 0)
|
|
1210
|
+
await sleep(stepDelayMs);
|
|
1211
|
+
}
|
|
1212
|
+
if (holdBeforeReleaseMs > 0)
|
|
1213
|
+
await sleep(holdBeforeReleaseMs);
|
|
1214
|
+
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1215
|
+
type: 'mouseReleased',
|
|
1216
|
+
x: toX,
|
|
1217
|
+
y: toY,
|
|
1218
|
+
button: 'left',
|
|
1219
|
+
clickCount: 1,
|
|
1220
|
+
});
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
finally {
|
|
1224
|
+
// Critical: leaving interception on would block the human user from
|
|
1225
|
+
// dragging anything in this tab. Best-effort cleanup, swallow errors.
|
|
1226
|
+
if (interceptionEnabled) {
|
|
1227
|
+
try {
|
|
1228
|
+
await cdp(tabId, 'Input.setInterceptDrags', { enabled: false });
|
|
1229
|
+
}
|
|
1230
|
+
catch {
|
|
1231
|
+
// ignore
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1235
|
+
return {
|
|
1236
|
+
kind: 'tool.response',
|
|
1237
|
+
id: msg.id,
|
|
1238
|
+
ok: true,
|
|
1239
|
+
result: {
|
|
1240
|
+
from: { x: fromX, y: fromY, selector: fromSelector ?? null },
|
|
1241
|
+
to: { x: toX, y: toY, selector: toSelector ?? null },
|
|
1242
|
+
duration_ms_actual: Date.now() - dragStart,
|
|
1243
|
+
drag_mode: dragMode,
|
|
1244
|
+
interception_attempted: interceptionEnabled,
|
|
1245
|
+
intercept_received: interceptReceived,
|
|
1246
|
+
events_fired: eventsFired,
|
|
1247
|
+
},
|
|
1248
|
+
};
|
|
1249
|
+
}
|
|
1250
|
+
async function handleDialogRespond(tabId, msg, p, optStr) {
|
|
1251
|
+
const accept = p.accept === true;
|
|
1252
|
+
const promptText = optStr('prompt_text');
|
|
1253
|
+
// No probing — if there is no dialog open, CDP returns an error.
|
|
1254
|
+
// We propagate it; the caller decides if "no dialog to respond to"
|
|
1255
|
+
// is a problem or a race they can ignore.
|
|
1256
|
+
const params = { accept };
|
|
1257
|
+
if (promptText !== undefined)
|
|
1258
|
+
params.promptText = promptText;
|
|
1259
|
+
await cdp(tabId, 'Page.handleJavaScriptDialog', params);
|
|
1260
|
+
return {
|
|
1261
|
+
kind: 'tool.response',
|
|
1262
|
+
id: msg.id,
|
|
1263
|
+
ok: true,
|
|
1264
|
+
result: { accepted: accept },
|
|
1265
|
+
};
|
|
1266
|
+
}
|
|
1267
|
+
async function handleSetPermission(msg, str) {
|
|
1268
|
+
const origin = str('origin');
|
|
1269
|
+
const name = str('name');
|
|
1270
|
+
const state_ = str('state');
|
|
1271
|
+
// CDP `Browser.setPermission` requires a browser-level target,
|
|
1272
|
+
// which `chrome.debugger.attach({ tabId })` does NOT give us in
|
|
1273
|
+
// MV3. We use `chrome.contentSettings` instead — that surface IS
|
|
1274
|
+
// available to extensions and covers the realistic permissions
|
|
1275
|
+
// an agent needs to pre-set (geolocation, notifications, camera,
|
|
1276
|
+
// microphone, clipboard, sensors).
|
|
1277
|
+
const settingKey = CONTENT_SETTING_BY_PERMISSION[name];
|
|
1278
|
+
if (!settingKey) {
|
|
1279
|
+
return {
|
|
1280
|
+
kind: 'tool.response',
|
|
1281
|
+
id: msg.id,
|
|
1282
|
+
ok: false,
|
|
1283
|
+
error: `set_permission: '${name}' is not supported by chrome.contentSettings in MV3. Supported names: ${Object.keys(CONTENT_SETTING_BY_PERMISSION).join(', ')}.`,
|
|
1284
|
+
};
|
|
1285
|
+
}
|
|
1286
|
+
const setting = STATE_TO_CONTENT_SETTING[state_];
|
|
1287
|
+
if (!setting) {
|
|
1288
|
+
return {
|
|
1289
|
+
kind: 'tool.response',
|
|
1290
|
+
id: msg.id,
|
|
1291
|
+
ok: false,
|
|
1292
|
+
error: `set_permission: unknown state '${state_}' (expected granted | denied | prompt).`,
|
|
1293
|
+
};
|
|
1294
|
+
}
|
|
1295
|
+
// `chrome.contentSettings.<name>.set({ primaryPattern, setting })`
|
|
1296
|
+
// requires a URL pattern, not a bare origin. Append `/*` so the
|
|
1297
|
+
// pattern covers every path on the origin.
|
|
1298
|
+
const primaryPattern = origin.endsWith('/*') ? origin : `${origin}/*`;
|
|
1299
|
+
try {
|
|
1300
|
+
await applyContentSetting(settingKey, primaryPattern, setting);
|
|
1301
|
+
}
|
|
1302
|
+
catch (err) {
|
|
1303
|
+
return {
|
|
1304
|
+
kind: 'tool.response',
|
|
1305
|
+
id: msg.id,
|
|
1306
|
+
ok: false,
|
|
1307
|
+
error: `set_permission: ${err instanceof Error ? err.message : String(err)}`,
|
|
1308
|
+
};
|
|
1309
|
+
}
|
|
1310
|
+
return {
|
|
1311
|
+
kind: 'tool.response',
|
|
1312
|
+
id: msg.id,
|
|
1313
|
+
ok: true,
|
|
1314
|
+
result: { origin, name, state: state_, applied_as: settingKey },
|
|
1315
|
+
};
|
|
1316
|
+
}
|
|
865
1317
|
async function handleTool(state, msg) {
|
|
866
1318
|
const tabId = state.tabId;
|
|
867
1319
|
// Params come over the wire as JSON: each field is unknown until we
|
|
@@ -872,40 +1324,12 @@ async function handleTool(state, msg) {
|
|
|
872
1324
|
const optStr = (key) => typeof p[key] === 'string' ? p[key] : undefined;
|
|
873
1325
|
try {
|
|
874
1326
|
switch (msg.tool) {
|
|
875
|
-
case 'ping':
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
result: { title: tab.title ?? '', url: tab.url ?? '' },
|
|
882
|
-
};
|
|
883
|
-
}
|
|
884
|
-
case 'navigate': {
|
|
885
|
-
const url = str('url');
|
|
886
|
-
const waitForLoadFlag = p.wait_for_load !== false;
|
|
887
|
-
await cdp(tabId, 'Page.navigate', { url });
|
|
888
|
-
if (waitForLoadFlag)
|
|
889
|
-
await waitForLoad(tabId);
|
|
890
|
-
const tab = await chrome.tabs.get(tabId);
|
|
891
|
-
return {
|
|
892
|
-
kind: 'tool.response',
|
|
893
|
-
id: msg.id,
|
|
894
|
-
ok: true,
|
|
895
|
-
result: { url: tab.url ?? '', title: tab.title ?? '' },
|
|
896
|
-
};
|
|
897
|
-
}
|
|
898
|
-
case 'snapshot': {
|
|
899
|
-
const value = await evaluateInTab(tabId, buildSnapshotJs({
|
|
900
|
-
within_selector: optStr('within_selector'),
|
|
901
|
-
only_interactive: p.only_interactive === true,
|
|
902
|
-
exclude: Array.isArray(p.exclude)
|
|
903
|
-
? p.exclude.filter((x) => typeof x === 'string')
|
|
904
|
-
: undefined,
|
|
905
|
-
max_interactive: typeof p.max_interactive === 'number' ? p.max_interactive : undefined,
|
|
906
|
-
}));
|
|
907
|
-
return { kind: 'tool.response', id: msg.id, ok: true, result: value };
|
|
908
|
-
}
|
|
1327
|
+
case 'ping':
|
|
1328
|
+
return await handlePing(tabId, msg);
|
|
1329
|
+
case 'navigate':
|
|
1330
|
+
return await handleNavigate(tabId, msg, p, str);
|
|
1331
|
+
case 'snapshot':
|
|
1332
|
+
return await handleSnapshot(tabId, msg, p, optStr);
|
|
909
1333
|
case 'state': {
|
|
910
1334
|
const value = await evaluateInTab(tabId, buildStateJs());
|
|
911
1335
|
return { kind: 'tool.response', id: msg.id, ok: true, result: value };
|
|
@@ -921,45 +1345,14 @@ async function handleTool(state, msg) {
|
|
|
921
1345
|
}
|
|
922
1346
|
return { kind: 'tool.response', id: msg.id, ok: true, result: outcome.result };
|
|
923
1347
|
}
|
|
924
|
-
case 'canvas_screenshot':
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
typeof r.y === 'number' &&
|
|
933
|
-
typeof r.w === 'number' &&
|
|
934
|
-
typeof r.h === 'number') {
|
|
935
|
-
region = { x: r.x, y: r.y, w: r.w, h: r.h };
|
|
936
|
-
}
|
|
937
|
-
}
|
|
938
|
-
const value = await evaluateInTab(tabId, buildCanvasScreenshotJs({ selector, region, format }));
|
|
939
|
-
return { kind: 'tool.response', id: msg.id, ok: true, result: value };
|
|
940
|
-
}
|
|
941
|
-
case 'console': {
|
|
942
|
-
const level = optStr('level');
|
|
943
|
-
const entries = level
|
|
944
|
-
? state.consoleBuffer.filter((e) => e.level === level)
|
|
945
|
-
: state.consoleBuffer;
|
|
946
|
-
return { kind: 'tool.response', id: msg.id, ok: true, result: entries };
|
|
947
|
-
}
|
|
948
|
-
case 'network': {
|
|
949
|
-
const filter = optStr('url_filter')?.toLowerCase();
|
|
950
|
-
const list = state.networkOrder
|
|
951
|
-
.map((id) => state.networkBuffer.get(id))
|
|
952
|
-
.filter((e) => e !== undefined)
|
|
953
|
-
.filter((e) => (filter ? e.url.toLowerCase().includes(filter) : true));
|
|
954
|
-
return { kind: 'tool.response', id: msg.id, ok: true, result: list };
|
|
955
|
-
}
|
|
956
|
-
case 'network_body': {
|
|
957
|
-
const requestId = str('request_id');
|
|
958
|
-
const body = await cdp(tabId, 'Network.getResponseBody', {
|
|
959
|
-
requestId,
|
|
960
|
-
});
|
|
961
|
-
return { kind: 'tool.response', id: msg.id, ok: true, result: body };
|
|
962
|
-
}
|
|
1348
|
+
case 'canvas_screenshot':
|
|
1349
|
+
return await handleCanvasScreenshot(tabId, msg, p, optStr);
|
|
1350
|
+
case 'console':
|
|
1351
|
+
return handleConsole(state, msg, optStr);
|
|
1352
|
+
case 'network':
|
|
1353
|
+
return handleNetwork(state, msg, optStr);
|
|
1354
|
+
case 'network_body':
|
|
1355
|
+
return await handleNetworkBody(tabId, msg, str);
|
|
963
1356
|
case 'click': {
|
|
964
1357
|
const outcome = await performClick(tabId, {
|
|
965
1358
|
selector: str('selector'),
|
|
@@ -1001,308 +1394,10 @@ async function handleTool(state, msg) {
|
|
|
1001
1394
|
}
|
|
1002
1395
|
return { kind: 'tool.response', id: msg.id, ok: true, result: outcome.result };
|
|
1003
1396
|
}
|
|
1004
|
-
case 'flow':
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
// entry fails the flow cleanly instead of throwing.
|
|
1009
|
-
const rawSteps = Array.isArray(p.steps)
|
|
1010
|
-
? p.steps.filter((s) => typeof s === 'object' && s !== null)
|
|
1011
|
-
: [];
|
|
1012
|
-
const flowResult = await runFlow(rawSteps, {
|
|
1013
|
-
performFind: (params) => performFind(tabId, params),
|
|
1014
|
-
performClick: (params) => performClick(tabId, params),
|
|
1015
|
-
performType: (params) => performType(tabId, params),
|
|
1016
|
-
performPress: (params) => performPress(tabId, params),
|
|
1017
|
-
performWaitFor: (params) => performWaitFor(tabId, state, params),
|
|
1018
|
-
buildRecoverySnapshot: () => evaluateInTab(tabId, buildSnapshotJs({ only_interactive: true, max_interactive: 40 })),
|
|
1019
|
-
});
|
|
1020
|
-
// The wire-level response is ok:true whenever the flow RAN (even a
|
|
1021
|
-
// failed step is a legitimate business outcome, same pattern as
|
|
1022
|
-
// wait_for's matched:false) — flowResult itself carries the
|
|
1023
|
-
// ok:true/false the agent reads.
|
|
1024
|
-
return { kind: 'tool.response', id: msg.id, ok: true, result: flowResult };
|
|
1025
|
-
}
|
|
1026
|
-
case 'drag': {
|
|
1027
|
-
const optNum = (key) => {
|
|
1028
|
-
const v = p[key];
|
|
1029
|
-
return typeof v === 'number' && Number.isFinite(v) && v >= 0 ? v : undefined;
|
|
1030
|
-
};
|
|
1031
|
-
const clamp = (v, max) => Math.min(v, max);
|
|
1032
|
-
const fromSelector = optStr('from_selector');
|
|
1033
|
-
const toSelector = optStr('to_selector');
|
|
1034
|
-
const fromXRaw = optNum('from_x');
|
|
1035
|
-
const fromYRaw = optNum('from_y');
|
|
1036
|
-
const toXRaw = optNum('to_x');
|
|
1037
|
-
const toYRaw = optNum('to_y');
|
|
1038
|
-
// Cap every duration that ends up in a setTimeout to keep CodeQL's
|
|
1039
|
-
// "user-controlled timer duration" check happy and to prevent a
|
|
1040
|
-
// misbehaving agent from parking the bridge for hours on a typo.
|
|
1041
|
-
const durationMs = clamp(optNum('duration_ms') ?? 1500, MAX_DRAG_DURATION_MS);
|
|
1042
|
-
const holdBeforeMoveMs = clamp(optNum('hold_before_move_ms') ?? 0, MAX_DRAG_HOLD_MS);
|
|
1043
|
-
const holdBeforeReleaseMs = clamp(optNum('hold_before_release_ms') ?? 0, MAX_DRAG_HOLD_MS);
|
|
1044
|
-
const hasFromCoords = fromXRaw !== undefined && fromYRaw !== undefined;
|
|
1045
|
-
const hasToCoords = toXRaw !== undefined && toYRaw !== undefined;
|
|
1046
|
-
if (!fromSelector && !hasFromCoords) {
|
|
1047
|
-
return {
|
|
1048
|
-
kind: 'tool.response',
|
|
1049
|
-
id: msg.id,
|
|
1050
|
-
ok: false,
|
|
1051
|
-
error: 'drag: provide from_selector or both from_x and from_y',
|
|
1052
|
-
};
|
|
1053
|
-
}
|
|
1054
|
-
if (!toSelector && !hasToCoords) {
|
|
1055
|
-
return {
|
|
1056
|
-
kind: 'tool.response',
|
|
1057
|
-
id: msg.id,
|
|
1058
|
-
ok: false,
|
|
1059
|
-
error: 'drag: provide to_selector or both to_x and to_y',
|
|
1060
|
-
};
|
|
1061
|
-
}
|
|
1062
|
-
const probeExpr = buildDragProbeJs({
|
|
1063
|
-
from_selector: fromSelector,
|
|
1064
|
-
to_selector: toSelector,
|
|
1065
|
-
from_x: fromXRaw,
|
|
1066
|
-
from_y: fromYRaw,
|
|
1067
|
-
to_x: toXRaw,
|
|
1068
|
-
to_y: toYRaw,
|
|
1069
|
-
});
|
|
1070
|
-
const probe = await evaluateInTab(tabId, probeExpr);
|
|
1071
|
-
if (probe.err) {
|
|
1072
|
-
return { kind: 'tool.response', id: msg.id, ok: false, error: `drag: ${probe.err}` };
|
|
1073
|
-
}
|
|
1074
|
-
if (!probe.from || !probe.to) {
|
|
1075
|
-
return {
|
|
1076
|
-
kind: 'tool.response',
|
|
1077
|
-
id: msg.id,
|
|
1078
|
-
ok: false,
|
|
1079
|
-
error: 'drag: could not resolve coordinates',
|
|
1080
|
-
};
|
|
1081
|
-
}
|
|
1082
|
-
if (!probe.from.in_viewport) {
|
|
1083
|
-
return {
|
|
1084
|
-
kind: 'tool.response',
|
|
1085
|
-
id: msg.id,
|
|
1086
|
-
ok: false,
|
|
1087
|
-
error: 'drag: source point is offscreen — scroll first or pass viewport coords',
|
|
1088
|
-
};
|
|
1089
|
-
}
|
|
1090
|
-
if (!probe.to.in_viewport) {
|
|
1091
|
-
return {
|
|
1092
|
-
kind: 'tool.response',
|
|
1093
|
-
id: msg.id,
|
|
1094
|
-
ok: false,
|
|
1095
|
-
error: 'drag: destination point is offscreen — scroll first or pass viewport coords',
|
|
1096
|
-
};
|
|
1097
|
-
}
|
|
1098
|
-
const fromX = probe.from.x;
|
|
1099
|
-
const fromY = probe.from.y;
|
|
1100
|
-
const toX = probe.to.x;
|
|
1101
|
-
const toY = probe.to.y;
|
|
1102
|
-
const isDraggable = !!probe.draggable;
|
|
1103
|
-
// ~30fps interpolation; minimum 2 steps so the path actually has a midpoint.
|
|
1104
|
-
const steps = durationMs > 0 ? Math.max(2, Math.round(durationMs / 33)) : 1;
|
|
1105
|
-
const stepDelayMs = steps > 0 ? durationMs / steps : 0;
|
|
1106
|
-
const eventsFired = [];
|
|
1107
|
-
let dragMode = 'pointer';
|
|
1108
|
-
let interceptReceived = false;
|
|
1109
|
-
const dragStart = Date.now();
|
|
1110
|
-
let interceptionEnabled = false;
|
|
1111
|
-
const interpolate = (t) => ({
|
|
1112
|
-
x: fromX + (toX - fromX) * t,
|
|
1113
|
-
y: fromY + (toY - fromY) * t,
|
|
1114
|
-
});
|
|
1115
|
-
// Mouse move WITH the left button held down. Chrome's HTML5 drag
|
|
1116
|
-
// system only treats movement as a drag when the button state is
|
|
1117
|
-
// signalled on every move after mousePressed; omitting it makes
|
|
1118
|
-
// Blink ignore the move for drag-detection purposes.
|
|
1119
|
-
const moveHeld = (x, y) => cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1120
|
-
type: 'mouseMoved',
|
|
1121
|
-
x,
|
|
1122
|
-
y,
|
|
1123
|
-
button: 'left',
|
|
1124
|
-
buttons: 1,
|
|
1125
|
-
});
|
|
1126
|
-
// Wiggle distance has to comfortably clear `kDragThreshold` (~5px on
|
|
1127
|
-
// Mac, 4px on Linux/Windows). 5px landed *right* at the boundary and
|
|
1128
|
-
// Chrome did not start the drag — 20px crosses it on every platform.
|
|
1129
|
-
const WIGGLE_PX = 20;
|
|
1130
|
-
// Time to wait for Input.dragIntercepted after the wiggle. 120ms was
|
|
1131
|
-
// enough on local-only synthetic tests but flaky in real Chrome —
|
|
1132
|
-
// 250ms is comfortable without dragging out the overall latency.
|
|
1133
|
-
const INTERCEPT_TIMEOUT_MS = 250;
|
|
1134
|
-
try {
|
|
1135
|
-
if (isDraggable) {
|
|
1136
|
-
try {
|
|
1137
|
-
await cdp(tabId, 'Input.setInterceptDrags', { enabled: true });
|
|
1138
|
-
interceptionEnabled = true;
|
|
1139
|
-
}
|
|
1140
|
-
catch {
|
|
1141
|
-
// setInterceptDrags is experimental — fall back to pointer mode silently.
|
|
1142
|
-
}
|
|
1143
|
-
}
|
|
1144
|
-
if (interceptionEnabled) {
|
|
1145
|
-
// Arm the listener BEFORE the press+wiggle that may trigger it.
|
|
1146
|
-
const interceptPromise = waitForCdpEvent(tabId, 'Input.dragIntercepted', INTERCEPT_TIMEOUT_MS);
|
|
1147
|
-
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1148
|
-
type: 'mouseMoved',
|
|
1149
|
-
x: fromX,
|
|
1150
|
-
y: fromY,
|
|
1151
|
-
});
|
|
1152
|
-
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1153
|
-
type: 'mousePressed',
|
|
1154
|
-
x: fromX,
|
|
1155
|
-
y: fromY,
|
|
1156
|
-
button: 'left',
|
|
1157
|
-
clickCount: 1,
|
|
1158
|
-
});
|
|
1159
|
-
if (holdBeforeMoveMs > 0)
|
|
1160
|
-
await sleep(holdBeforeMoveMs);
|
|
1161
|
-
// Wiggle toward the destination so Chrome's native drag system
|
|
1162
|
-
// crosses its activation threshold. Direction matters for libs
|
|
1163
|
-
// that have direction-sensitive activation constraints.
|
|
1164
|
-
const dx = toX - fromX;
|
|
1165
|
-
const dy = toY - fromY;
|
|
1166
|
-
const len = Math.hypot(dx, dy) || 1;
|
|
1167
|
-
const wx = fromX + (dx / len) * WIGGLE_PX;
|
|
1168
|
-
const wy = fromY + (dy / len) * WIGGLE_PX;
|
|
1169
|
-
await moveHeld(wx, wy);
|
|
1170
|
-
const intercepted = await interceptPromise;
|
|
1171
|
-
if (intercepted) {
|
|
1172
|
-
dragMode = 'html5';
|
|
1173
|
-
interceptReceived = true;
|
|
1174
|
-
eventsFired.push('Input.dragIntercepted');
|
|
1175
|
-
const dragData = intercepted.data;
|
|
1176
|
-
for (let i = 1; i <= steps; i++) {
|
|
1177
|
-
const t = i / steps;
|
|
1178
|
-
const { x, y } = interpolate(t);
|
|
1179
|
-
await moveHeld(x, y);
|
|
1180
|
-
await cdp(tabId, 'Input.dispatchDragEvent', {
|
|
1181
|
-
type: 'dragOver',
|
|
1182
|
-
x,
|
|
1183
|
-
y,
|
|
1184
|
-
data: dragData,
|
|
1185
|
-
});
|
|
1186
|
-
if (i === 1)
|
|
1187
|
-
eventsFired.push('dragOver');
|
|
1188
|
-
if (stepDelayMs > 0)
|
|
1189
|
-
await sleep(stepDelayMs);
|
|
1190
|
-
}
|
|
1191
|
-
await cdp(tabId, 'Input.dispatchDragEvent', {
|
|
1192
|
-
type: 'dragEnter',
|
|
1193
|
-
x: toX,
|
|
1194
|
-
y: toY,
|
|
1195
|
-
data: dragData,
|
|
1196
|
-
});
|
|
1197
|
-
eventsFired.push('dragEnter');
|
|
1198
|
-
await cdp(tabId, 'Input.dispatchDragEvent', {
|
|
1199
|
-
type: 'dragOver',
|
|
1200
|
-
x: toX,
|
|
1201
|
-
y: toY,
|
|
1202
|
-
data: dragData,
|
|
1203
|
-
});
|
|
1204
|
-
if (holdBeforeReleaseMs > 0)
|
|
1205
|
-
await sleep(holdBeforeReleaseMs);
|
|
1206
|
-
await cdp(tabId, 'Input.dispatchDragEvent', {
|
|
1207
|
-
type: 'drop',
|
|
1208
|
-
x: toX,
|
|
1209
|
-
y: toY,
|
|
1210
|
-
data: dragData,
|
|
1211
|
-
});
|
|
1212
|
-
eventsFired.push('drop');
|
|
1213
|
-
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1214
|
-
type: 'mouseReleased',
|
|
1215
|
-
x: toX,
|
|
1216
|
-
y: toY,
|
|
1217
|
-
button: 'left',
|
|
1218
|
-
clickCount: 1,
|
|
1219
|
-
});
|
|
1220
|
-
}
|
|
1221
|
-
else {
|
|
1222
|
-
// Element was tagged draggable but no native drag fired — the page
|
|
1223
|
-
// either preventDefault'd dragstart or wires its own pointer logic.
|
|
1224
|
-
// Continue with pointer-only events from where we already pressed.
|
|
1225
|
-
dragMode = 'pointer';
|
|
1226
|
-
for (let i = 1; i <= steps; i++) {
|
|
1227
|
-
const t = i / steps;
|
|
1228
|
-
const { x, y } = interpolate(t);
|
|
1229
|
-
await moveHeld(x, y);
|
|
1230
|
-
if (stepDelayMs > 0)
|
|
1231
|
-
await sleep(stepDelayMs);
|
|
1232
|
-
}
|
|
1233
|
-
if (holdBeforeReleaseMs > 0)
|
|
1234
|
-
await sleep(holdBeforeReleaseMs);
|
|
1235
|
-
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1236
|
-
type: 'mouseReleased',
|
|
1237
|
-
x: toX,
|
|
1238
|
-
y: toY,
|
|
1239
|
-
button: 'left',
|
|
1240
|
-
clickCount: 1,
|
|
1241
|
-
});
|
|
1242
|
-
}
|
|
1243
|
-
}
|
|
1244
|
-
else {
|
|
1245
|
-
// Pointer-only branch: no native drag involvement at all.
|
|
1246
|
-
dragMode = 'pointer';
|
|
1247
|
-
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1248
|
-
type: 'mouseMoved',
|
|
1249
|
-
x: fromX,
|
|
1250
|
-
y: fromY,
|
|
1251
|
-
});
|
|
1252
|
-
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1253
|
-
type: 'mousePressed',
|
|
1254
|
-
x: fromX,
|
|
1255
|
-
y: fromY,
|
|
1256
|
-
button: 'left',
|
|
1257
|
-
clickCount: 1,
|
|
1258
|
-
});
|
|
1259
|
-
if (holdBeforeMoveMs > 0)
|
|
1260
|
-
await sleep(holdBeforeMoveMs);
|
|
1261
|
-
for (let i = 1; i <= steps; i++) {
|
|
1262
|
-
const t = i / steps;
|
|
1263
|
-
const { x, y } = interpolate(t);
|
|
1264
|
-
await moveHeld(x, y);
|
|
1265
|
-
if (stepDelayMs > 0)
|
|
1266
|
-
await sleep(stepDelayMs);
|
|
1267
|
-
}
|
|
1268
|
-
if (holdBeforeReleaseMs > 0)
|
|
1269
|
-
await sleep(holdBeforeReleaseMs);
|
|
1270
|
-
await cdp(tabId, 'Input.dispatchMouseEvent', {
|
|
1271
|
-
type: 'mouseReleased',
|
|
1272
|
-
x: toX,
|
|
1273
|
-
y: toY,
|
|
1274
|
-
button: 'left',
|
|
1275
|
-
clickCount: 1,
|
|
1276
|
-
});
|
|
1277
|
-
}
|
|
1278
|
-
}
|
|
1279
|
-
finally {
|
|
1280
|
-
// Critical: leaving interception on would block the human user from
|
|
1281
|
-
// dragging anything in this tab. Best-effort cleanup, swallow errors.
|
|
1282
|
-
if (interceptionEnabled) {
|
|
1283
|
-
try {
|
|
1284
|
-
await cdp(tabId, 'Input.setInterceptDrags', { enabled: false });
|
|
1285
|
-
}
|
|
1286
|
-
catch {
|
|
1287
|
-
// ignore
|
|
1288
|
-
}
|
|
1289
|
-
}
|
|
1290
|
-
}
|
|
1291
|
-
return {
|
|
1292
|
-
kind: 'tool.response',
|
|
1293
|
-
id: msg.id,
|
|
1294
|
-
ok: true,
|
|
1295
|
-
result: {
|
|
1296
|
-
from: { x: fromX, y: fromY, selector: fromSelector ?? null },
|
|
1297
|
-
to: { x: toX, y: toY, selector: toSelector ?? null },
|
|
1298
|
-
duration_ms_actual: Date.now() - dragStart,
|
|
1299
|
-
drag_mode: dragMode,
|
|
1300
|
-
interception_attempted: interceptionEnabled,
|
|
1301
|
-
intercept_received: interceptReceived,
|
|
1302
|
-
events_fired: eventsFired,
|
|
1303
|
-
},
|
|
1304
|
-
};
|
|
1305
|
-
}
|
|
1397
|
+
case 'flow':
|
|
1398
|
+
return await handleFlow(tabId, state, msg, p);
|
|
1399
|
+
case 'drag':
|
|
1400
|
+
return await handleDrag(tabId, msg, p, optStr);
|
|
1306
1401
|
case 'evaluate': {
|
|
1307
1402
|
const expression = str('expression');
|
|
1308
1403
|
const value = await evaluateInTab(tabId, expression);
|
|
@@ -1322,73 +1417,10 @@ async function handleTool(state, msg) {
|
|
|
1322
1417
|
}
|
|
1323
1418
|
return { kind: 'tool.response', id: msg.id, ok: true, result: outcome.result };
|
|
1324
1419
|
}
|
|
1325
|
-
case 'dialog_respond':
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
// We propagate it; the caller decides if "no dialog to respond to"
|
|
1330
|
-
// is a problem or a race they can ignore.
|
|
1331
|
-
const params = { accept };
|
|
1332
|
-
if (promptText !== undefined)
|
|
1333
|
-
params.promptText = promptText;
|
|
1334
|
-
await cdp(tabId, 'Page.handleJavaScriptDialog', params);
|
|
1335
|
-
return {
|
|
1336
|
-
kind: 'tool.response',
|
|
1337
|
-
id: msg.id,
|
|
1338
|
-
ok: true,
|
|
1339
|
-
result: { accepted: accept },
|
|
1340
|
-
};
|
|
1341
|
-
}
|
|
1342
|
-
case 'set_permission': {
|
|
1343
|
-
const origin = str('origin');
|
|
1344
|
-
const name = str('name');
|
|
1345
|
-
const state_ = str('state');
|
|
1346
|
-
// CDP `Browser.setPermission` requires a browser-level target,
|
|
1347
|
-
// which `chrome.debugger.attach({ tabId })` does NOT give us in
|
|
1348
|
-
// MV3. We use `chrome.contentSettings` instead — that surface IS
|
|
1349
|
-
// available to extensions and covers the realistic permissions
|
|
1350
|
-
// an agent needs to pre-set (geolocation, notifications, camera,
|
|
1351
|
-
// microphone, clipboard, sensors).
|
|
1352
|
-
const settingKey = CONTENT_SETTING_BY_PERMISSION[name];
|
|
1353
|
-
if (!settingKey) {
|
|
1354
|
-
return {
|
|
1355
|
-
kind: 'tool.response',
|
|
1356
|
-
id: msg.id,
|
|
1357
|
-
ok: false,
|
|
1358
|
-
error: `set_permission: '${name}' is not supported by chrome.contentSettings in MV3. Supported names: ${Object.keys(CONTENT_SETTING_BY_PERMISSION).join(', ')}.`,
|
|
1359
|
-
};
|
|
1360
|
-
}
|
|
1361
|
-
const setting = STATE_TO_CONTENT_SETTING[state_];
|
|
1362
|
-
if (!setting) {
|
|
1363
|
-
return {
|
|
1364
|
-
kind: 'tool.response',
|
|
1365
|
-
id: msg.id,
|
|
1366
|
-
ok: false,
|
|
1367
|
-
error: `set_permission: unknown state '${state_}' (expected granted | denied | prompt).`,
|
|
1368
|
-
};
|
|
1369
|
-
}
|
|
1370
|
-
// `chrome.contentSettings.<name>.set({ primaryPattern, setting })`
|
|
1371
|
-
// requires a URL pattern, not a bare origin. Append `/*` so the
|
|
1372
|
-
// pattern covers every path on the origin.
|
|
1373
|
-
const primaryPattern = origin.endsWith('/*') ? origin : `${origin}/*`;
|
|
1374
|
-
try {
|
|
1375
|
-
await applyContentSetting(settingKey, primaryPattern, setting);
|
|
1376
|
-
}
|
|
1377
|
-
catch (err) {
|
|
1378
|
-
return {
|
|
1379
|
-
kind: 'tool.response',
|
|
1380
|
-
id: msg.id,
|
|
1381
|
-
ok: false,
|
|
1382
|
-
error: `set_permission: ${err instanceof Error ? err.message : String(err)}`,
|
|
1383
|
-
};
|
|
1384
|
-
}
|
|
1385
|
-
return {
|
|
1386
|
-
kind: 'tool.response',
|
|
1387
|
-
id: msg.id,
|
|
1388
|
-
ok: true,
|
|
1389
|
-
result: { origin, name, state: state_, applied_as: settingKey },
|
|
1390
|
-
};
|
|
1391
|
-
}
|
|
1420
|
+
case 'dialog_respond':
|
|
1421
|
+
return await handleDialogRespond(tabId, msg, p, optStr);
|
|
1422
|
+
case 'set_permission':
|
|
1423
|
+
return await handleSetPermission(msg, str);
|
|
1392
1424
|
default:
|
|
1393
1425
|
return { kind: 'tool.response', id: msg.id, ok: false, error: `Unknown tool: ${msg.tool}` };
|
|
1394
1426
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": 3,
|
|
3
3
|
"name": "browser-link",
|
|
4
|
-
"version": "0.23.
|
|
4
|
+
"version": "0.23.5",
|
|
5
5
|
"description": "Bridge between Chrome and an MCP client (Claude Code, OpenCode, GitHub Copilot CLI, …). Per-tab manual activation.",
|
|
6
6
|
"permissions": [
|
|
7
7
|
"debugger",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobshimo/browser-link",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.5",
|
|
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",
|