@fastbrowse/darwin-x64 0.7.0 → 0.7.1
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/fastbrowse/_internal/base_library.zip +0 -0
- package/fastbrowse/_internal/fastbrowse/browser/snapshot.js +36 -0
- package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/METADATA +4 -2
- package/fastbrowse/_internal/fastbrowse-0.7.1.dist-info/RECORD +14 -0
- package/fastbrowse/_internal/fastbrowse-0.7.1.dist-info/uv_cache.json +1 -0
- package/fastbrowse/fastbrowse +0 -0
- package/package.json +1 -1
- package/fastbrowse/_internal/fastbrowse-0.7.0.dist-info/RECORD +0 -14
- package/fastbrowse/_internal/fastbrowse-0.7.0.dist-info/uv_cache.json +0 -1
- /package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/INSTALLER +0 -0
- /package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/REQUESTED +0 -0
- /package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/WHEEL +0 -0
- /package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/direct_url.json +0 -0
- /package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/entry_points.txt +0 -0
- /package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/licenses/LICENSE +0 -0
- /package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/licenses/NOTICE +0 -0
- /package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/uv_build.json +0 -0
|
Binary file
|
|
@@ -983,6 +983,41 @@
|
|
|
983
983
|
readText(document, 0, 0);
|
|
984
984
|
const viewport_text = words.join('\n');
|
|
985
985
|
|
|
986
|
+
// Page state carried by pixels: a chart, a picture, a drawing or a video is evidence the page text and the
|
|
987
|
+
// control list cannot hold, and the verifier needs the screenshot for it. Only what the viewport shows counts,
|
|
988
|
+
// because that is what a screenshot captures: an image below the fold cannot appear in it, and counting every
|
|
989
|
+
// image on a long page would ask for a screenshot on almost every page and undo the gate it exists to serve.
|
|
990
|
+
// Geometry is read in the parent's coordinates the way readText reads text, so a frame's image counts where the
|
|
991
|
+
// frame itself sits on screen. Elements small enough to be an icon or a rule are not page state.
|
|
992
|
+
const VISUAL = 'img,canvas,video,svg,picture,figure,[role="img"]';
|
|
993
|
+
const VISUAL_MIN_PX = 48;
|
|
994
|
+
let visual_content = 0;
|
|
995
|
+
const readVisual = (doc, dx, dy) => {
|
|
996
|
+
if (visual_content) return;
|
|
997
|
+
for (const e of doc.querySelectorAll(VISUAL)) {
|
|
998
|
+
if (e.closest('[aria-hidden="true"],[inert]') || !visible(e)) continue;
|
|
999
|
+
const r = e.getBoundingClientRect();
|
|
1000
|
+
const top = r.top + dy,
|
|
1001
|
+
left = r.left + dx;
|
|
1002
|
+
if (r.width < VISUAL_MIN_PX || r.height < VISUAL_MIN_PX) continue;
|
|
1003
|
+
if (top + r.height <= 0 || top >= innerHeight || left + r.width <= 0 || left >= innerWidth) continue;
|
|
1004
|
+
visual_content = 1;
|
|
1005
|
+
return;
|
|
1006
|
+
}
|
|
1007
|
+
for (const frame of doc.querySelectorAll('iframe,frame')) {
|
|
1008
|
+
let inner = null;
|
|
1009
|
+
try {
|
|
1010
|
+
inner = frame.contentDocument;
|
|
1011
|
+
} catch {
|
|
1012
|
+
inner = null;
|
|
1013
|
+
}
|
|
1014
|
+
if (!inner || !granted(inner)) continue;
|
|
1015
|
+
const f = frame.getBoundingClientRect();
|
|
1016
|
+
readVisual(inner, dx + f.left + frame.clientLeft, dy + f.top + frame.clientTop);
|
|
1017
|
+
}
|
|
1018
|
+
};
|
|
1019
|
+
readVisual(document, 0, 0);
|
|
1020
|
+
|
|
986
1021
|
const guards = {},
|
|
987
1022
|
retarget_keys = {};
|
|
988
1023
|
for (const c of controls) {
|
|
@@ -1035,6 +1070,7 @@
|
|
|
1035
1070
|
url: location.href,
|
|
1036
1071
|
title: document.title,
|
|
1037
1072
|
viewport_text,
|
|
1073
|
+
visual_content,
|
|
1038
1074
|
document_key: String(performance.timeOrigin),
|
|
1039
1075
|
controls: semantics,
|
|
1040
1076
|
page_key,
|
package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: fastbrowse
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.1
|
|
4
4
|
Summary: Browser automation with cited answers, structured output and code-controlled credentials and authorization.
|
|
5
5
|
Project-URL: Homepage, https://github.com/agent-labs-dev/fastbrowse
|
|
6
6
|
Project-URL: Repository, https://github.com/agent-labs-dev/fastbrowse
|
|
@@ -420,7 +420,9 @@ it can be `None` for an ordinary successful action.
|
|
|
420
420
|
|
|
421
421
|
For continuous live images, pass an async `on_frame` handler accepting JPEG bytes. Frames follow the active
|
|
422
422
|
tab and are acknowledged after delivery, with no fixed frame rate. Only the latest pending frame is kept.
|
|
423
|
-
Handler failures are logged without stopping the run.
|
|
423
|
+
Handler failures are logged without stopping the run. A handler must honour cancellation: it runs on the
|
|
424
|
+
caller's event loop, so one that catches `CancelledError` without re-raising keeps that loop alive, and
|
|
425
|
+
`asyncio.run` then waits for it at shutdown. Live frames and recordings are held back while a
|
|
424
426
|
resolved secret may show on the page, as PNG step frames are. No handler means no live capture.
|
|
425
427
|
|
|
426
428
|
Jev uses direct TypeSafe when keyed, otherwise OpenRouter, with Vercel AI Gateway also supported.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
../../../bin/fastbrowse,sha256=k_VHUJGUyyMLHeLCiSHLkBTLNP1m86q6e4YkyAHdlZM,337
|
|
2
|
+
../../../bin/fastbrowse-mcp,sha256=1CAFjtHrbGFIoAzljudiwUZ-Qrz8WFq5CLTPaDEvGRE,344
|
|
3
|
+
_editable_impl_fastbrowse.pth,sha256=Ft6bxdkTegROr5p9hZSxsnUSfEHrZYCfXWKjtpA4_DU,44
|
|
4
|
+
fastbrowse-0.7.1.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
|
|
5
|
+
fastbrowse-0.7.1.dist-info/METADATA,sha256=mKePR_0mnmqEJpiPFAYyCl0v5kF_qBF8IUFFBKaENFg,38738
|
|
6
|
+
fastbrowse-0.7.1.dist-info/RECORD,,
|
|
7
|
+
fastbrowse-0.7.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
fastbrowse-0.7.1.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
9
|
+
fastbrowse-0.7.1.dist-info/direct_url.json,sha256=cZGZY9ovdib3X-RhjHdlyO_0_EMUe0tW6AXsSyMbNE4,86
|
|
10
|
+
fastbrowse-0.7.1.dist-info/entry_points.txt,sha256=SlQAK1_4_oywTAMckx8BYuCQJva0F-QuShQPcxtUm-g,95
|
|
11
|
+
fastbrowse-0.7.1.dist-info/licenses/LICENSE,sha256=gcUazG_j5a2blKPmfKqRKE98KOqX2kPbWY-EOtQZiNU,1067
|
|
12
|
+
fastbrowse-0.7.1.dist-info/licenses/NOTICE,sha256=qEO0Az_Tk98vRVL0xjnGYgMvexlMCA92lWl4JBwYRzg,1854
|
|
13
|
+
fastbrowse-0.7.1.dist-info/uv_build.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
|
14
|
+
fastbrowse-0.7.1.dist-info/uv_cache.json,sha256=Y29HJYoVg4Ym3tz6cfBD0JNA2084mfwESeaamWvPqKI,194
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"timestamp":{"secs_since_epoch":1792906987,"nanos_since_epoch":584647899},"commit":null,"tags":null,"env":{},"directories":{"src":{"secs_since_epoch":1792906987,"nanos_since_epoch":598183717}}}
|
package/fastbrowse/fastbrowse
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
../../../bin/fastbrowse,sha256=k_VHUJGUyyMLHeLCiSHLkBTLNP1m86q6e4YkyAHdlZM,337
|
|
2
|
-
../../../bin/fastbrowse-mcp,sha256=1CAFjtHrbGFIoAzljudiwUZ-Qrz8WFq5CLTPaDEvGRE,344
|
|
3
|
-
_editable_impl_fastbrowse.pth,sha256=Ft6bxdkTegROr5p9hZSxsnUSfEHrZYCfXWKjtpA4_DU,44
|
|
4
|
-
fastbrowse-0.7.0.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
|
|
5
|
-
fastbrowse-0.7.0.dist-info/METADATA,sha256=7vV9jxG0yGiwE2e_oimnIrnEMsrz3D7N5w-HlzvCHiQ,38538
|
|
6
|
-
fastbrowse-0.7.0.dist-info/RECORD,,
|
|
7
|
-
fastbrowse-0.7.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
fastbrowse-0.7.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
9
|
-
fastbrowse-0.7.0.dist-info/direct_url.json,sha256=cZGZY9ovdib3X-RhjHdlyO_0_EMUe0tW6AXsSyMbNE4,86
|
|
10
|
-
fastbrowse-0.7.0.dist-info/entry_points.txt,sha256=SlQAK1_4_oywTAMckx8BYuCQJva0F-QuShQPcxtUm-g,95
|
|
11
|
-
fastbrowse-0.7.0.dist-info/licenses/LICENSE,sha256=gcUazG_j5a2blKPmfKqRKE98KOqX2kPbWY-EOtQZiNU,1067
|
|
12
|
-
fastbrowse-0.7.0.dist-info/licenses/NOTICE,sha256=qEO0Az_Tk98vRVL0xjnGYgMvexlMCA92lWl4JBwYRzg,1854
|
|
13
|
-
fastbrowse-0.7.0.dist-info/uv_build.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
|
14
|
-
fastbrowse-0.7.0.dist-info/uv_cache.json,sha256=8BhBXAm2DwdjSnwjuOCkWHT-R2Ao19iV1lD5LiBS9bY,194
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"timestamp":{"secs_since_epoch":1792857031,"nanos_since_epoch":325702513},"commit":null,"tags":null,"env":{},"directories":{"src":{"secs_since_epoch":1792857031,"nanos_since_epoch":333003188}}}
|
/package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/INSTALLER
RENAMED
|
File without changes
|
/package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/REQUESTED
RENAMED
|
File without changes
|
/package/fastbrowse/_internal/{fastbrowse-0.7.0.dist-info → fastbrowse-0.7.1.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|