diff options
| author | amankumarsingh77 <amankumarsingh7702@gmail.com> | 2026-07-08 21:13:15 +0530 |
|---|---|---|
| committer | amankumarsingh77 <amankumarsingh7702@gmail.com> | 2026-07-08 21:13:15 +0530 |
| commit | c5c42df5976ed63faac2adcf3b04a4ad2f519b32 (patch) | |
| tree | 77d389a590864eaf5c2408c9bc99ed07f55343d8 /test/deep-research/fixtures | |
| parent | 7826c950adee89512162185d07fee565ab0e96cc (diff) | |
feat: add browser_web_search tool (real-Chrome SERP scrape, no API key)
Thin query→ranked-links primitive. Isolated-attach tab lifecycle mirroring
browser_open_urls (never touches the user's current tab); pure Google SERP
parser with semantic (a h3) extraction and redirect unwrapping; CAPTCHA and
no-results surfaced as invalid_state + details.reason. Fixture-based parser
tests (9 scenarios). Establishes the isolated-tab lifecycle and tsx+fixture
test convention that browser_read_page and deep-research build on.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'test/deep-research/fixtures')
| -rw-r--r-- | test/deep-research/fixtures/google-serp-captcha.json | 4 | ||||
| -rw-r--r-- | test/deep-research/fixtures/google-serp-empty.json | 4 | ||||
| -rw-r--r-- | test/deep-research/fixtures/google-serp-ok.json | 40 |
3 files changed, 48 insertions, 0 deletions
diff --git a/test/deep-research/fixtures/google-serp-captcha.json b/test/deep-research/fixtures/google-serp-captcha.json new file mode 100644 index 0000000..7c6610f --- /dev/null +++ b/test/deep-research/fixtures/google-serp-captcha.json @@ -0,0 +1,4 @@ +{ + "anchors": [], + "pageText": "About this page Our systems have detected unusual traffic from your computer network. This page checks to see if it's really you sending the requests and not a robot. Why did this happen? To continue, please type the characters below. reCAPTCHA." +} diff --git a/test/deep-research/fixtures/google-serp-empty.json b/test/deep-research/fixtures/google-serp-empty.json new file mode 100644 index 0000000..34bb1dc --- /dev/null +++ b/test/deep-research/fixtures/google-serp-empty.json @@ -0,0 +1,4 @@ +{ + "anchors": [], + "pageText": "Your search - asdkfjhqwlekjrhqwlekjrhqwe - did not match any documents. Suggestions: Make sure that all words are spelled correctly. Try different keywords." +} diff --git a/test/deep-research/fixtures/google-serp-ok.json b/test/deep-research/fixtures/google-serp-ok.json new file mode 100644 index 0000000..61aa483 --- /dev/null +++ b/test/deep-research/fixtures/google-serp-ok.json @@ -0,0 +1,40 @@ +{ + "anchors": [ + { + "href": "https://www.google.com/url?q=https://real.example/x&sa=U&ved=abc", + "heading": "Real Example X — the definitive guide", + "snippet": "Real Example X — the definitive guide. Everything about x, explained clearly." + }, + { + "href": "https://docs.example.org/guide", + "heading": "Official Guide", + "snippet": "Official Guide to the thing you searched for." + }, + { + "href": "https://www.google.com/search?q=related", + "heading": "Related searches on Google", + "snippet": "internal google navigation" + }, + { + "href": "javascript:void(0)", + "heading": "Expand", + "snippet": "ui control" + }, + { + "href": "https://real.example/x/", + "heading": "Real Example X (duplicate with trailing slash)", + "snippet": "should be deduped against the first result" + }, + { + "href": "https://second.example/a", + "heading": "Second Example A", + "snippet": "Second result body." + }, + { + "href": "https://third.example/b", + "heading": "Third Example B", + "snippet": "Third result body." + } + ], + "pageText": "Real Example X the definitive guide Official Guide Second Example Third Example About 12,300 results" +} |
