Skip to content

Conversation

tysonthomas9
Copy link
Collaborator

No description provided.

bmeurer and others added 30 commits September 17, 2025 07:18
…console."

Revert the logic from commit b570c5c,
but it's not a clean revert since the tests went through unrelated CLs
meanwhile. So it's just disabling the offending tests with an
appropriate comment.

Fixed: 443869419
Bug: 40832335
Change-Id: I186962d54483d7b83d6740cfca51e118e44e3d8a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6959171
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Bug: none
Change-Id: Ib0d25099645f30096639910f12362350b1dc1d26
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6958934
Commit-Queue: Liviu Rau <liviurau@chromium.org>
Auto-Submit: Nikolay Vitkov <nvitkov@chromium.org>
Reviewed-by: Liviu Rau <liviurau@chromium.org>
1. Removes a few cases where we manually cloned in `data()` methods that
   we do not need to do now.
2. Fixed any TODOs relating to the clone() bug.
3. Found some unused data in the handlers that I removed as DevTools
   does not rely on it and it's also data that can be calculated from
   the other data (e.g. the `allEvents` array in the interactions
   handler).

Bug: 41484172
Change-Id: I6b906a36567f18434a2c2610e0344577d6eb1820
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6958889
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Connor Clark <cjamcl@chromium.org>
Commit-Queue: Connor Clark <cjamcl@chromium.org>
Bug: 432043263
Change-Id: I0d53e4293e027b2e64ad45eb8ba04a017d1a6dbb
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6957027
Commit-Queue: Connor Clark <cjamcl@chromium.org>
Auto-Submit: Connor Clark <cjamcl@chromium.org>
Reviewed-by: Paul Irish <paulirish@chromium.org>
Reduces the precision - we don't need to be so precise at `784.2ms`;
`784ms` is fine.

R=cjamcl@chromium.org

DISABLE_SPELLCHECKER=typos are in output we do not control
Fixed: 431812033
Change-Id: I1680a8254a9e5e08651a51cd05f0e7de2706a108
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6959533
Commit-Queue: Connor Clark <cjamcl@chromium.org>
Reviewed-by: Connor Clark <cjamcl@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Bug: 445658181
Change-Id: I33eee6786113926ee6cff4c1e1f05580619207e4
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6958932
Auto-Submit: Wolfgang Beyer <wolfi@chromium.org>
Commit-Queue: Wolfgang Beyer <wolfi@chromium.org>
Reviewed-by: Kateryna Prokopenko <kprokopenko@chromium.org>
VS Code seems to have issue when launching command with --inspect-brk
so create a special case for whenever it's started from Debugger.


Bug: none
Change-Id: I020cb661bc64a08c7f021a0525a99cd0ac05879e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6961054
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
This should prevent the number of parameters for "generateInsight" from
growing in the future.

Bug: 441265851
Change-Id: If0e688f1b58544991801a8c94df6a700f1c01e4e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6961814
Commit-Queue: Connor Clark <cjamcl@chromium.org>
Auto-Submit: Connor Clark <cjamcl@chromium.org>
Reviewed-by: Paul Irish <paulirish@chromium.org>
We add a warning if there were change in `node_module`
as usually those are not needed for normal workflow.
This requires explicit action when submitting a CL

Bug: none
Change-Id: I53d58da5be757dc74d82e76fee816926fbe890a3
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6961434
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
Some events that are typically "Complete" can occasionally be "Instant"
instead. This means they won't have a duration. Our `isX` trace event
helpers mistakenly cast these events to "Complete", which vouches that
they have a `dur` field.

This resulted in a bug where `AIQueries.longestTasks` incorrectly sorted
tasks. If any task was missing a duration, the sorting method would be
ill-defined and result in not actually returning the longest tasks.

In general we don't care about tasks that are so short as to be instant,
and the same is true most of the other "Complete" events. I've updated
the trace event helpers to reflect that.

Bug: none
Change-Id: I7e0c699e61f24e3cb93e732c551cdf839ad2711d
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6961429
Auto-Submit: Connor Clark <cjamcl@chromium.org>
Commit-Queue: Connor Clark <cjamcl@chromium.org>
Reviewed-by: Paul Irish <paulirish@chromium.org>
Commit-Queue: Paul Irish <paulirish@chromium.org>
This allows the AI assistant to select a specific event to show the user
in the trace view.

Bug: 425270067
Change-Id: I0ac401522ca54e724cead7f7b1ab7d399695312f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6963034
Auto-Submit: Connor Clark <cjamcl@chromium.org>
Reviewed-by: Paul Irish <paulirish@chromium.org>
Commit-Queue: Paul Irish <paulirish@chromium.org>
We log the CDP traffic to ensure we see the expected messages.

Bug: 427455148
Change-Id: I2475538fbf690ff9131244409f456a286fef92e8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6963038
Commit-Queue: Connor Clark <cjamcl@chromium.org>
Auto-Submit: Paul Irish <paulirish@chromium.org>
Reviewed-by: Connor Clark <cjamcl@chromium.org>
Commit-Queue: Paul Irish <paulirish@chromium.org>
Isolate was incorrectly typed as a string, but we've always received it
as a number.

Bug: 427455148
Change-Id: I6f1126677016dee085c5e14a952da88e4df4dca6
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6963040
Auto-Submit: Paul Irish <paulirish@chromium.org>
Commit-Queue: Paul Irish <paulirish@chromium.org>
Reviewed-by: Connor Clark <cjamcl@chromium.org>
This accidentally made this request hang forever if the snapshot file
does not exist.

Bug: 434252192
Change-Id: I402043c95ba4331a3c349e7d94ade0ef0339f247
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6961120
Reviewed-by: Paul Irish <paulirish@chromium.org>
Auto-Submit: Connor Clark <cjamcl@chromium.org>
Commit-Queue: Paul Irish <paulirish@chromium.org>
Rolling build: https://chromium.googlesource.com/chromium/src/build/+log/2caccca..7d0441c

Rolling buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/fa8eb5b..f924cff

Rolling third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/927f7da..0d761e6

Roll created at https://cr-buildbucket.appspot.com/build/8703424717761362129

Bug: none
Change-Id: I335ca1efda30912f390e72d1b953dcad240441f6
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6962503
Commit-Queue: Devtools Autoroller <devtools-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Devtools Autoroller <devtools-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
This roll requires a manual review. See http://go/reviewed-rolls for guidance.

In case of failures or errors, reach out to someone from config/owner/RECORDER_OWNERS.

Roll created at https://cr-buildbucket.appspot.com/build/8703481340354759745

R=chrome-devtools-waterfall-gardener-emea-oncall@google.com

Bug: none
Change-Id: Ie1f552506bfd0ec2e616145e2752bc4145bc965e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6959351
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Nikolay Vitkov <nvitkov@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Bug: 416159656
Change-Id: I9a616c2cca94362f224a9a5cac3935a09120b6d0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6961714
Commit-Queue: Ergün Erdoğmuş <ergunsh@chromium.org>
Auto-Submit: Samiya Caur <samiyac@chromium.org>
Reviewed-by: Ergün Erdoğmuş <ergunsh@chromium.org>
R=bmeurer@chromium.org

Fixed: 444986013
Change-Id: I61f1f4245f8cdbdbe4da7f47181075b8b4db2987
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6962317
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Auto-Submit: Philip Pfaffe <pfaffe@chromium.org>
The related issue is: crbug.com/445832340 and I'll tackle it separately.

Bug: 445661214
Change-Id: Ibe6f29fe7f09dd08f4aa8a4cedf5289083fb12b8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6962316
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
Commit-Queue: Wolfgang Beyer <wolfi@chromium.org>
Auto-Submit: Ergün Erdoğmuş <ergunsh@chromium.org>
There should only be a delay before showing the tooltip, hiding should
happen instantly.

Bug: 445658181
Change-Id: I2ab45c24bfd6f640160331ebf1abe6a66a73237c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6958937
Commit-Queue: Kateryna Prokopenko <kprokopenko@chromium.org>
Reviewed-by: Kateryna Prokopenko <kprokopenko@chromium.org>
Auto-Submit: Wolfgang Beyer <wolfi@chromium.org>
This was accidentally being shown every time the "focus" object changed.

Bug: 442392194
Change-Id: Ice8bdff0d8a006d32c5b7dbfa218bb56855797e3
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6963035
Auto-Submit: Connor Clark <cjamcl@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Bug: 444144347
Change-Id: I077066c8e600452b9241f5e209b58640344b0d97
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6965136
Auto-Submit: Ergün Erdoğmuş <ergunsh@chromium.org>
Commit-Queue: Samiya Caur <samiyac@chromium.org>
Reviewed-by: Samiya Caur <samiyac@chromium.org>
It's not entire clear why, but on the bots this test often fails because
of subtle whitespace differences in the expected text.

Example: https://luci-milo.appspot.com/ui/p/devtools-frontend/builders/try/dtf_mac_arm64_rel/17306/test-results?q=ID%3Ae2e_non_hosted%2Fperformance%2Fmultiple-traces_test.ts%3A+RPP+supporting+multiple+traces%2Fupdates+the+UI+when+a+new+trace+is+imported+

By stripping the whitespace, we can avoid that difference.

R=alexrudenko@chromium.org

Fixed: 445531172
Change-Id: I8fe5519860732ce2196a79126341fc6cd1915fc6
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6965016
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
…r widgets

Even though leaking inspector common styles in different widgets should be okay
considering that it only defines base styles. Including it in a different order than
a widget expect causes some rules to be overridden by the rules from the common
stylesheet.

This CL fixes it for LayoutPane where the rules coming from there will
only be defined for the layout pane now.

Fixed: 445857524
Change-Id: Ie07a3d1586d7d1ac2a054330eeaabf879f95663e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6964773
Commit-Queue: Yang Guo <yangguo@chromium.org>
Auto-Submit: Ergün Erdoğmuş <ergunsh@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Ergün Erdoğmuş <ergunsh@chromium.org>
…ation

Previously, tabs, vertical tabs, and form feeds in header values were escaped in Windows curl commands, which could lead to command injection. This change replaces these characters with a single space to prevent command line breakage and potential vulnerabilities. A new test case has been added to verify this behavior.

Bug: 443948855
Change-Id: I8a599a0c2f324306252ec539ae29b7759a87438b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6961615
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Danil Somsikov <dsv@chromium.org>
Auto-Submit: Danil Somsikov <dsv@chromium.org>
Bug: 444147184
Change-Id: Ib3583d531c5325e413e5475274b98264596fa0cd
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6934001
Auto-Submit: Samiya Caur <samiyac@chromium.org>
Reviewed-by: Ergün Erdoğmuş <ergunsh@chromium.org>
Commit-Queue: Ergün Erdoğmuş <ergunsh@chromium.org>
Fixed: 443213984
Change-Id: I6bab97fd664318cd83749d034723bf8c3126fe15
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6959470
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Chromium pin updated to 142.0.7419.3

Roll created at https://cr-buildbucket.appspot.com/build/8703424717761362129

Bug: none
Change-Id: I2277da1c4b5828d9e57fd6bf4494fdfdde5fa06c
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6962504
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org>
We want to:
* Snooze the starter badge when "Remind me later" is clicked.
* Snooze the starter badge when it's not interacted with 30s.
* Never show the starter badge again when the dismiss is clicked.

Drive-by:
* Automatically detach the badge notification for all badges
after 30 seconds.

Fixed: 443652421
Change-Id: Ib4749bc44d60b13b587a3a581a99b918e5ef54c5
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6958933
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
Commit-Queue: Ergün Erdoğmuş <ergunsh@chromium.org>
Fixed: 445874747
Change-Id: I578ee49240e915fd3827e08a82017cc4b26524f7
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6965018
Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
Commit-Queue: Philip Pfaffe <pfaffe@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
tysonthomas9 and others added 26 commits September 27, 2025 21:28
Tracing with Langfuse
### Feature
- Adds support for Milvus VectorDB Client
- Adds support to save data to VectorDB
- Adds support to bookmark a web page into VectorDB
  - Converts the webpage to markdown
  - Create a vector embedding using embedding models (IBM Granite Embedding, OpenAI Embedding)
  - Saves the vector embedding, origin markdown page and web page attributes to VectorDB
- Adds Document Semantic Search Tool
  - Ability to fetch the bookmarked web pages data from VectorDB based on similarity query
  - Ability for AI Agent to consume the documents ranked by similarity for future operations
- Add groq and open router LLM providers
- Add prompt enhancements
- Improved markdown viewer
- Added web agent
- minor fixes
Feat/external eval server (#23)
## Pull Request Overview

This PR implements OAuth authentication for the OpenRouter provider along with several UI enhancements and minor configuration improvements. The changes add a complete PKCE-based OAuth flow, redesign the initial user experience to show OAuth login options when no credentials are available, and introduce an advanced settings toggle to simplify the settings interface.

- OAuth authentication system with PKCE security for OpenRouter
- New welcome screen with OAuth login buttons when no credentials are configured
- Advanced settings toggle to hide complex configuration options by default
## Pull Request Overview

This PR fixes OAuth implementation for the AI Chat feature by improving model validation, enhancing OAuth flow robustness, and adding comprehensive test coverage.

- Updates the default nano model for OpenRouter provider
- Adds comprehensive model validation logic with automatic fallbacks
- Enhances OAuth implementation with better error handling and deduplication
- Includes comprehensive test coverage for model validation functionality
This pull request implements a comprehensive refactoring of the external evaluation server infrastructure (part 2), introducing modular configuration components, enhanced tracing integration, and improved error handling across the system.

**Key changes:**
- Refactored settings dialog into modular components (VectorDatabaseConfig, TracingConfig, EvaluationConfig, ProviderConfig)
- Enhanced evaluation agent with better tracing context management and chat evaluation support
- Streamlined server configuration with model precedence handling and OpenAI Responses API compatibility
## Pull Request Overview

This PR adds comprehensive version tracking, enhanced tracing capabilities, and UI improvements to the AI Chat panel. Key additions include automated version checking with update notifications, hierarchical distributed tracing for better observability, and improved user interface elements with accessibility testing infrastructure.

- Version tracking system with automated update notifications and GitHub release integration
- Enhanced hierarchical tracing with improved agent execution observability 
- UI improvements including better model selection, updated styling, and agent session visualization
- Comprehensive accessibility testing infrastructure with e2e test resources
- **Visual Verifier**: Added screenshot-based visual verification for action results with multimodal LLM analysis
- **Thinking Tools**: Implemented high-level and sequential thinking tools for better agent planning and reasoning
- **Wait Tool**: Added intelligent waiting functionality with content analysis for dynamic pages
- **Enhanced Error Handling**: Comprehensive error recovery with retry logic and graceful degradation
fix the schema extractor and bump version (#33)
This PR adds support for GPT-5 models to the AI chat panel by introducing new GPT-5 model variants and updating the codebase to handle them. 

- Adds GPT-5, GPT-5 Mini, and GPT-5 Nano models with August 2025 release dates
This PR adds support for GPT-5 models and newer OpenAI models (O3, O4) in the AI chat panel for OpenRouter!
* "Claude PR Assistant workflow"

* "Claude Code Review workflow"
## Pull Request Overview

This PR implements the "Evals Ready" feature by refactoring evaluation management to support per-tab evaluation agents and improving error handling with retry mechanisms.

Key changes:
- Replaced global evaluation agent pattern with per-tab EvaluationAgent instances in AIChatPanel
- Implemented robust retry logic with exponential backoff for failed evaluations
- Created comprehensive Python evaluation server implementation with browsecomp benchmark support
## Pull Request Overview

This PR extends tracing capabilities to all tool calls by introducing a centralized LLM tracing wrapper that ensures consistent observability across the AI chat system.

- Introduces `LLMTracingWrapper.ts` to wrap LLM calls with tracing metadata
- Updates all tool implementations to use the new `callLLMWithTracing` function
- Refactors direct `LLMClient.call()` usage to include proper tracing context
## Pull Request Overview

This PR adds Docker support for the Chrome DevTools frontend, enabling containerized deployment of the development tools with Nginx serving the built assets.

Key changes:
- Adds multi-stage Docker build configuration with Ubuntu build stage and lightweight Nginx production stage
- Implements Docker Compose setup for easy container management with health checks and networking
- Provides comprehensive documentation with usage examples and troubleshooting guide
## Pull Request Overview

This PR adds Docker configuration and documentation to enable containerized deployment of the DevTools frontend. The changes focus on creating a reproducible build environment that follows the exact setup process outlined in the original README.

- Added multi-stage Dockerfile that properly clones depot_tools, fetches devtools-frontend, and switches to Browser Operator fork
- Updated AI Chat panel README with Docker deployment instructions
- Configured nginx to serve the built frontend on port 8000
- New Features
  - Introduced rich AI Chat UI: message list, input bar, model selector, tool call/result cards, agent session header, and live session timeline with nesting.
  - Added structured response viewing with auto-open and “View Full Report.”
  - OAuth connect panel and version update banner.
- Improvements
  - Real-time agent progress events (session/tool start, completion, child sessions).
  - Provider-aware, vision-capable message handling and tool executions.
  - Enhanced Markdown rendering (TOC, CSS blocks).
  - Centralized scroll-to-bottom behavior; wider input and better autosizing.
- Bug Fixes
  - Normalized tool call data and content for Groq models.
  - Input clears after send (Enter or button).
#45)

- New Features
  - Per-task model-size options (mini/nano) across agents, tools, and evaluations.
  - New LLM context support for tool executions and a new ObjectiveDrivenAction tool.
  - Automatic fetch of OpenRouter models after OAuth with UI update and event dispatch.
  - OpenRouter model caching with TTL, auto-refresh, and programmatic update hook.

- Changes
  - Many agent/tool flows now prefer or require mini/nano models; evaluation/UI accept explicit main/mini/nano.
  - Tool execute signatures extended to accept LLM context; reduced verbose tool logging.
  - Centralized model/provider sentinels and placeholders; stricter JSON parsing for extractors.

- Tests
  - Added unit tests covering OpenRouter model cache and refresh behavior.
## Summary

* **New Features**
  * Added Automated and Manual modes for Docker builds and runs.
* Automated mode bypasses OAuth login UI and auto-enables evaluation by
default (when no prior setting exists).
* Manual mode preserves standard authentication and manual evaluation
controls.

* **Documentation**
* Updated Docker README with mode-specific build/run instructions, image
names, and a sample automated workflow.
* Added guidance comparing Automated vs Manual modes, including
authentication and evaluation behavior.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

- **New Features**
- MCP tooling integrated into AI Chat: discovery, router/meta/all modes,
per‑turn caps, autostart, allowlisting, dynamic per‑turn tool selection,
meta-tools for search/invoke, and sanitized tool-name/function mapping.

- **UI**
- Settings: full MCP section (enable, endpoint/token, status,
connect/refresh/disconnect, mode, caps, per‑tool allowlist); chat:
lane‑based timeline for agent tool calls, tool details expanded by
default, floating input bar, help opens external docs, beta warning.

- **Tests**
- New unit/integration tests for MCP SDK, registry, selection,
meta‑tools, tool-name sanitization, and result filtering.

- **Chores**
  - Bundled MCP SDK and added license/README assets.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix: build issue with latest main merge (#49)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
- MCP Connectors catalog and connections dialog to browse, connect, and
manage integrations (with new connector icons).
- Rich example suggestions in the empty chat view, tailored to the
current page.
- New specialized web agents for search, research, content writing,
navigation, and UI actions.
  - Cancel in‑flight runs without clearing conversation history.

- Improvements
- Smarter MCP tool selection using AI; expanded MCP connection status,
retries, and event history.
  - Consistent “extract_data” tool naming across app and evaluations.
  - Better observability with agent/version metadata in traces.
  - Enhanced reliability with widespread abort/cancel support.

- Version
  - App version updated to 0.3.4.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
# Local Dockerised Eval Server

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
- Centralized LLM configuration with programmatic panel API, per-request
overrides, persistent settings, multi-tier models (main/mini/nano), and
per-client application during evaluations.
- Dynamic configuration via JSON-RPC (configure_llm) for
runtime/provider updates.

- Documentation
- Added comprehensive LLM configuration docs, provider guides, protocol
examples, usage snippets, and an environment template.

- Chores
- Default ports updated for evaluation/HTTP endpoints and examples
adjusted for automated mode (auth disabled by default).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude <noreply@anthropic.com>
Copy link

coderabbitai bot commented Sep 28, 2025

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

112 files out of 292 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ChromeDevTools-main

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

claude bot commented Sep 28, 2025

Claude finished @tysonthomas9's task —— View job


📋 Chrome DevTools PR Review

This is a substantial upstream merge bringing Chrome DevTools updates into browser-operator-core. Here's my comprehensive analysis:

Review Checklist:

  • Check repository guidelines (CLAUDE.md)
  • Review core SDK changes
  • Examine main entry points and configuration
  • Check test coverage and quality
  • Look for security concerns
  • Identify performance issues
  • Review build and configuration changes
  • Provide comprehensive feedback

🔍 Key Findings

Strengths

1. Comprehensive Test Coverage

  • Well-tested new features like Progress.test.ts with thorough edge cases
  • New GdpClient.test.ts properly mocks HTTP requests
  • AI performance agent tests extensively cover new functionality

2. Security-First Implementation

  • No dangerous eval() usage in application code
  • Proper input sanitization in new components
  • Function constructor usage limited to third-party libraries only

3. Performance Optimizations

  • Enhanced trace rehydration system for better memory usage
  • Improved AI performance analysis with better data formatters
  • New CSS @starting-style support for smoother animations

⚠️ Areas of Concern

1. Large Changeset Risk

  • 16,589 additions, 9,512 deletions across 100 files makes comprehensive review challenging
  • Multiple unrelated features bundled together increases deployment risk
  • Consider breaking into smaller, focused PRs for future merges

2. AI Agent Complexity (front_end/models/ai_assistance/agents/PerformanceAgent.ts)

// Lines 62-100: Complex preamble logic with tight token management
const preamble = `You are an assistant, expert in web performance...`; // ~1341 tokens
  • Recommendation: Extract preamble to configuration file for easier maintenance
  • Issue: Hard-coded token limits could break with model updates

3. Progress Class Design (front_end/core/common/Progress.ts:13)

export class Progress implements Progress {
  // ⚠️ Class implementing its own interface - unusual pattern
  • Recommendation: Consider composition over inheritance here

🔒 Security Assessment: CLEAN

  • ✅ No innerHTML vulnerabilities
  • ✅ No unsafe eval() usage
  • ✅ Proper HTTP request validation in GdpClient.ts
  • ✅ Input sanitization in performance formatters

🚀 Performance Considerations

Good:

  • Efficient caching in GdpClient for profile requests
  • Optimized trace parsing in rehydration system

Monitor:

  • New CSS @starting-style parsing may impact style recalculation
  • AI performance agent memory usage with large traces

🧪 Build & Configuration

Updated properly:

  • ESLint config excludes generated files ✅
  • TypeScript config updated for new modules ✅
  • PRESUBMIT.py has comprehensive exclusions ✅

📝 Specific Recommendations

High Priority:

  1. Break down future PRs - This size makes thorough review nearly impossible
  2. Extract AI preambles - Move to config files for maintainability
  3. Add integration tests - For GDP client and rehydration features

Medium Priority:

  1. Refactor Progress class - Remove self-implementing interface pattern
  2. Document new CSS features - @starting-style support needs usage examples
  3. Performance monitoring - Set up metrics for new AI agent memory usage

Low Priority:

  1. Code cleanup - Several TODO comments should be addressed
  2. Type safety - Some any types in performance formatters could be stricter

Approval Recommendation

APPROVE with conditions:

  • This appears to be a necessary upstream sync
  • Code quality is generally high
  • Security concerns are minimal
  • Test coverage is adequate

Action items for future:

  • Implement smaller, focused PRs for better reviewability
  • Consider staging complex features separately
  • Add performance regression tests

Risk Level: 🟡 Medium (due to size, not quality)
Deployment: ✅ Safe with proper testing
Long-term Maintainability: 🟡 Needs attention to AI agent complexity


@tysonthomas9 tysonthomas9 merged commit e6d2fda into main Sep 28, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.