Skip to content

Synchronize fork with Anthropic base for minor and patch updates#2

Open
jrcasso wants to merge 33 commits intoBASI-LABS:mainfrom
anthropics:main
Open

Synchronize fork with Anthropic base for minor and patch updates#2
jrcasso wants to merge 33 commits intoBASI-LABS:mainfrom
anthropics:main

Conversation

@jrcasso
Copy link
Collaborator

@jrcasso jrcasso commented Jan 7, 2025

See release notes in the HEAD repository. Basically, caching, money saving changes, improved error handling, and retry logic.

kevinji and others added 10 commits October 28, 2024 18:14
…ockerfile (#158)

Signed-off-by: Tynan Daly <tynan.s.daly@gmail.com>
* adding scaling/padding recommendations

* rewording
* add stop/interrupt capability

* correctly update session_state.tools
* docs: Add PR template and contributing guidelines                │
│                                                                                        │
│   Added GitHub pull request template and contributing guidelines for the               │
│   computer-use-demo project to improve contributor experience and standardize          │
│   development practices.

* Added additional option

* Made suggested fixes
@jrcasso jrcasso requested a review from elder-plinius January 7, 2025 16:35
zckly and others added 19 commits February 24, 2025 11:02
* updated computer use demo for new model/tools

* updated sdk

* type
Ensure the tool version selected via the radio button is properly used
in API calls instead of defaulting to the model config value. This
allows custom model strings to specify the computer use beta version
they require.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
* fix: respect user-selected tool version in computer use demo

Ensure the tool version selected via the radio button is properly used
in API calls instead of defaulting to the model config value. This
allows custom model strings to specify the computer use beta version
they require.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* pinned streamlit to 1.41.0

---------

Co-authored-by: Claude <noreply@anthropic.com>
* fix: respect user-selected tool version in computer use demo

Ensure the tool version selected via the radio button is properly used
in API calls instead of defaulting to the model config value. This
allows custom model strings to specify the computer use beta version
they require.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* WIP: updating conmputer use quickstart with new tool

* Set claude-sonnet-4-20250514 as default model and add claude-opus-4-20250514

- Updated default model from claude-opus-4@20250508 to claude-sonnet-4-20250514
- Added claude-sonnet-4-20250514 and claude-opus-4-20250514 to model configuration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Rename OPUS_4 to CLAUDE_4 model configuration

- Updated model config variable name to be more generic
- Reflects that it's used for both Opus and Sonnet Claude 4 models

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update README with Claude 4 model information

- Updated note to mention Claude 4 Sonnet as the new default model
- Added Claude 4 Opus (claude-opus-4-20250514) to available models
- Updated model list to include both Claude 4 Sonnet and Opus variants

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix edit tool API type to avoid unsupported beta header

- Reverted EditTool20241022 from text_editor_20250429 to text_editor_20241022
- The computer-use-2025-04-29 beta header doesn't exist in the API yet
- This fixes the 400 error: "Unexpected value(s) computer-use-2025-04-29"

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix CLAUDE_4 to use supported tool version

- Changed CLAUDE_4 from computer_use_20250429 to computer_use_20250124
- The 20250429 version uses unsupported computer-use-2025-04-29 beta header
- This fixes the 400 BadRequestError for Claude 4 models

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Restore 20250429 tool versions for upcoming API release

- Reverted CLAUDE_4 to use computer_use_20250429 tool version
- Restored EditTool20241022 to use text_editor_20250429
- These versions will be supported in the new API release

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add comprehensive branch summary documentation

Documents all changes made in the updated-str-edit-tool branch:

## New str_replace_based_edit_tool
- Replaces str_replace_editor with streamlined 4-command interface
- Removes undo_edit command for simplified UX
- 277+ lines of new tool implementation

## Claude 4 Model Updates
- claude-sonnet-4-20250514 now default (was claude-opus-4@20250508)
- Added claude-opus-4-20250514 support
- Renamed OPUS_4 → CLAUDE_4 configuration

## API Modernization
- Updated bash tool to 20250124 version
- Prepared edit tool for 20250429 API release
- Fixed beta header compatibility issues

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* removed

* Update CLAUDE_4 model to use computer-use-2025-01-24 beta header

Changed tool_version from "computer_use_20250429" to "computer_use_20250124"
to use the computer-use-2025-01-24 beta header instead of computer-use-2025-04-29.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
* add server tools

* notebook
- Fix test_message_params.py: Update tests to handle agent.run() returning list format
- Fix mcp_tool.py: Add missing MCPConnection import
- Fix agent.py: Properly merge extra_headers to avoid conflicts with beta headers

These fixes resolve pyright type errors and ruff linting issues that were
causing CI failures on PR #293.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
* Update naming conventions: Anthropic API → Claude API

- Replace "Anthropic API" with "Claude API" across documentation
- Update "Anthropic Console" to "Claude Console"
- Change console.anthropic.com URLs to platform.claude.com
- Update docs.anthropic.com URLs to docs.claude.com
- Maintain ANTHROPIC_API_KEY environment variable unchanged
- Preserve "Anthropic" when referring to the company

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix CI configuration to properly isolate test workflows

- Update tests.yaml to only check computer-use-demo files
- Add explicit src and working-directory parameters to ruff and pyright
- Create separate tests-agents.yaml for agents module testing
- This prevents PR #293 from failing due to unrelated test failures

The issue was that the CI was running tests on all files in the repo
when triggered by changes to computer-use-demo, causing failures from
pre-existing issues in the agents module that are unrelated to the
naming convention updates in PR #293.

* Fix CI workflow path configurations

- Remove working-directory defaults and use explicit paths instead
- Fix ruff src paths to use correct relative paths
- Update pip install and test execution to use proper directory navigation
- This should resolve the import errors and path issues in CI

* Revert workflow workarounds to apply proper fix

Reverting:
- 78353d4 Fix CI workflow path configurations
- 92ab730 Fix CI configuration to properly isolate test workflows

These were workarounds. The proper fix is to add src parameter to ruff
in tests.yaml to scope it to computer-use-demo directory only.

* Fix CI checks by scoping ruff to computer-use-demo and fixing type issues

- Add src parameter to ruff-action to only check computer-use-demo directory
- Fix pyright errors in loop.py by using .get() and proper type casting
- No logic changes, only type safety improvements

* Fix pyright configuration and type errors in loop.py

- Add working-directory parameter to pyright-action to scope checks to computer-use-demo
- Fix type errors in loop.py by using proper isinstance checks and type casting
- Use .get() for safe dictionary access and cast to BetaToolUseBlockParam
- Replace .pop() with conditional del for cache_control removal

* Revert platform.claude.com URLs to console.anthropic.com

Per team request to hold off on the console URL migration until 12/16.
Keeping all other naming convention updates (Claude API, Claude Console text)
but reverting URLs back to console.anthropic.com.

* Update branding from "Anthropic Quickstarts" to "Claude Quickstarts"

Updated repository documentation to use "Claude Quickstarts" instead of "Anthropic Quickstarts" for consistency with Claude product branding. Repository URLs remain unchanged.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
- Updated "Claude Cookbook" to "Claude Cookbooks"
- Updated link from anthropic-cookbook to claude-cookbooks

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
* Fix claude-sonnet-4-5-20250929 tool compatibility

- Add EditTool20250728 with text_editor_20250728 API type and str_replace_based_edit_tool name
- Update computer_use_20250124 to use EditTool20250728 instead of EditTool20250124
- Add CLAUDE_4_5 model configuration using computer_use_20250124 tool version
- Update model mapping to use CLAUDE_4_5 for claude-sonnet-4-5-20250929
- Set claude-sonnet-4-5-20250929 as the default model

This resolves the "does not support tool types: text_editor_20250124" error
by using the official tool types supported by the model: bash_20250124,
computer_20250124, text_editor_20250728.

Uses official computer_use_20250124 tool version instead of inventing a new one.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update README to reflect Claude 4.5 Sonnet as default model

Updates the default model reference from claude-sonnet-4-20250514 to
claude-sonnet-4-5-20250929 in the README note section.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* remove unused import

---------

Co-authored-by: Claude <noreply@anthropic.com>
* feat: add Claude Haiku 4.5 model support across all demos

- Add HAIKU_4_5 model configuration to Computer Use Demo
- Add provider-specific model strings for Bedrock and Vertex
- Update model dropdowns in Customer Support and Financial Data Analyst
- Set Claude Haiku 4.5 as default in Customer Support Agent
- Document available models in Agents module
- Update README with Claude 4.5 Haiku availability

Model IDs:
- Anthropic API: claude-haiku-4-5-20251001
- AWS Bedrock: anthropic.claude-haiku-4-5-20251001-v1:0
- Google Vertex: claude-haiku-4-5@20251001

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: update Claude model naming conventions in README

Update model naming to follow proper conventions:
- Claude 4+ models: Claude [model] [version] (e.g., Claude Sonnet 4.5)
- Pre-4 models: Claude [version] [model] (e.g., Claude 3.5 Sonnet)

This ensures consistency with Anthropic's official naming standards.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
* Add browser automation tool from anthropics/anthropic#148306

Implements a dedicated browser tool for web automation tasks as an
alternative to full computer use. The browser tool provides specialized
actions for navigating, clicking, typing, and scrolling in Firefox.

Key features:
- New BrowserTool20250910 with browser-specific actions
- Auto-launch Firefox if not running
- Graceful browser close functionality
- Model mapping for bobcat models to use browser mode
- Browser-specific system prompt and UI updates

Changes:
- Add computer_use_demo/tools/browser.py with full browser automation
- Add browser_use_20250910 tool version to groups.py
- Map bobcat-latest/bobcat-v17-prod to browser mode in streamlit.py
- Add BROWSER_SYSTEM_PROMPT for browser-specific instructions
- Fix session state handling and base64 encoding issues
- Add comprehensive browser tool tests

Original implementation by benkomalo, sagnik, and brigit

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix browser tool initialization and improve startup reliability

- Fix session state initialization for tool_versions to prevent AttributeError
- Improve browser window detection using xdotool instead of process check
- Add window focus activation to ensure browser is ready for commands
- Add polling mechanism to wait for Firefox window (up to 15s)
- Add dynamic page title based on tool mode (browser vs computer use)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* save but screenshot too big

* before going for everything

* actual multi-session

* everything works

* refactor

* Add browser-use-demo quickstart for Browser Use API

Create dedicated quickstart for Browser Use API demonstration using Playwright
with Chromium. Runs fully containerized for security and isolation.

- Separate quickstart focused solely on browser automation (split from computer-use-demo)
- Container-based Playwright Chrome browser for secure execution
- Streamlit UI with inline action display showing tool usage
- Support for Claude 4+ models with browser_use capability
- Port 8080 for main UI, 6080 for NoVNC browser view

Based on initial implementation by @bassil

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update model name from bobcat to claude-boucle-eap

* Remove browser functionality from computer-use-demo

Browser functionality has been moved to its own dedicated quickstart (browser-use-demo).
This keeps computer-use-demo focused solely on computer use capabilities.

* Remove remaining browser-related files from computer-use-demo

Remove README_LOCAL.md, run_local.py, and setup.py as these were for
local browser mode which has been moved to browser-use-demo

* Improve browser resolution configuration and security

- Set default resolution to 1920x1080 for better modern web compatibility
- Add environment-based configuration via .env file for all settings
- Remove bind mounts in favor of Docker watch for better security
- Add validation script to ensure proper configuration at startup
- Create docker-compose.yml for easier deployment
- Update documentation with new setup instructions

The container now fails fast with helpful error messages if not properly
configured, and uses Docker's watch feature for development instead of
bind mounts to prevent container from modifying host files.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Rename browser-use-demo to browser-tools-api-demo

Changes:
- Renamed directory from browser-use-demo to browser-tools-api-demo
- Updated Python module from browser_use_demo to browser_tools_api_demo
- Changed container user from browseruse to browsertoolsapi
- Updated all references in documentation, Docker configs, and code
- Removed docker run instructions in favor of docker-compose
- Updated window titles and demo names throughout

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Change default model to claude-boucle-eap in browser-tools-api-demo

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update README.md

updated readme with additional instructions

* Create browser-tools-api.md

Doc explaining difference between browser tools api & computer use

* Rename browser-tools-api.md to browser_tools_api.md

renaming

* Update browser API beta flag from browser-use to browser-tools

- Change API header from browser-use-2025-09-10 to browser-tools-2025-09-10
- Rename constant BROWSER_USE_BETA_FLAG to BROWSER_TOOLS_BETA_FLAG

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add Browser Tools API Demo to root README

Added the Browser Tools API Demo quickstart to the main README with the same format as existing demos. This provides a complete reference implementation for browser automation using Claude's browser tools API.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix Xvfb startup issue with stale lock files in browser-tools-api-demo

When docker-compose stops and restarts the container, Xvfb lock files
persist, causing the startup script to incorrectly assume Xvfb is running.
This leads to tint2 failing with "could not open display!" error.

The fix enhances xvfb_startup.sh to:
- Check if the display is actually accessible (not just if lock exists)
- Clean up stale lock files and sockets when display is inaccessible
- Start Xvfb fresh when needed

This makes the container startup idempotent and resolves the restart issue.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update browser_tools_api.md

Fixed typos & added safety considerations section

* Update README.md

Add safety section, made browser name consistent "browser tool API" and cleaned up typos

* Update browser_tools_api.md

Changed "browser tool" --> "browser tools"

* Update README.md

"Browser tool" --> "Browser tools"

* Update README.md

Small edits to security considerations

* Update browser_tools_api.md

Small changes to safety section

* Update README.md

typo fix

* Add Playwright attribution and legal notices

Add required attribution for Microsoft Playwright components used in the browser-tools-api-demo:
- Add NOTICE file with Playwright attribution
- Add modification headers to files derived from Playwright source (browser_dom_script.js, browser_element_script.js, browser.py)
- Update README with reference to NOTICE file

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add CHANGELOG.md and update attribution headers

- Create CHANGELOG.md to track modification dates and details centrally
- Update file headers to reference CHANGELOG.md instead of inline dates
- Update NOTICE to reference CHANGELOG.md

This allows easier maintenance of modification history going forward.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add legal guidance to CLAUDE.md

Add requirement to track copyright notice modifications in CHANGELOG.md files.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix browser state continuity and click targeting

Previously, when issuing follow-up instructions, the browser would restart
from the beginning instead of continuing from the current state. Additionally,
clicks were sometimes missing their targets due to viewport sizing issues.

Issues fixed:
1. Message history not being preserved - streamlit was stripping out the
   full conversation context when preparing API messages
2. Event loop incompatibility - using asyncio.run() for each turn created
   a new event loop, breaking Playwright's browser instance
3. Browser window/viewport sizing causing click coordinate misalignment

Changes:
- Preserve full message history in streamlit.py to maintain conversation context
- Implement persistent event loop to keep browser instance alive across turns
- Integrate screenshots with user messages to show current browser state
- Enable screenshot filtering (keep 3 most recent) to manage context size
- Remove event loop reset logic in browser.py that was causing browser restarts
- Fix browser window sizing and viewport configuration for accurate click targeting
- Add helpful debug logging for browser state tracking

The browser now successfully maintains state across multiple requests,
continues from where it left off, and clicks work reliably.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix claude-sonnet-4-5-20250929 tool compatibility

- Add EditTool20250728 with text_editor_20250728 API type and str_replace_based_edit_tool name
- Update computer_use_20250124 to use EditTool20250728 instead of EditTool20250124
- Add CLAUDE_4_5 model configuration using computer_use_20250124 tool version
- Update model mapping to use CLAUDE_4_5 for claude-sonnet-4-5-20250929
- Set claude-sonnet-4-5-20250929 as the default model

This resolves the "does not support tool types: text_editor_20250124" error
by using the official tool types supported by the model: bash_20250124,
computer_20250124, text_editor_20250728.

Uses official computer_use_20250124 tool version instead of inventing a new one.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update README to reflect Claude 4.5 Sonnet as default model

Updates the default model reference from claude-sonnet-4-20250514 to
claude-sonnet-4-5-20250929 in the README note section.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* remove unused import

* Add support for a new zoom action in computer_use_20251124

This overhauls a bunch of things, including:
 - adds the new `computer_use_20251124` variant, with the zoom action
 - removes a bunch of older models that are deprecated
 - adds a bunch of newer models that were missing
 - replaces the buggy text editor 0429 with the correct 0728 version

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Bassil Shama <bassil@anthropic.com>
Co-authored-by: brigitanthropic <brigit@anthropic.com>
Co-authored-by: Alex Paris <parisac@anthropic.com>
Co-authored-by: Ben Komalo <benkomalo@anthropic.com>
The browser-tools-api-demo was accidentally included in PR #309 which
was meant to only add zoom tool support. This commit removes the
browser-tools-api-demo directory and its reference from the README.

The browser-tools-api-demo will be submitted in a separate PR.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
* Introduce Claude-Builds-Claude quickstart

* rm -rf autonomous-coding/__pycache__

* Change app_spec.md to app_spec.txt and set min version for claude-code-sdk

* Allow more bash commands

---------

Co-authored-by: Justin Young <jyoung@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
Update computer-use-demo README to feature Claude Opus 4.5
(claude-opus-4-5-20251101) as the newest available model.

Co-authored-by: Claude <noreply@anthropic.com>
zealoushacker and others added 4 commits December 10, 2025 15:44
…drag (#330)

* fix(computer-use-demo): add start_coordinate parameter to left_click_drag

The computer_20250124 schema requires left_click_drag to accept both
start_coordinate and coordinate parameters. The previous implementation
only accepted coordinate and would drag from the current mouse position,
which did not match the schema specification.

Changes:
- Added start_coordinate parameter to BaseComputerTool.__call__
- Updated left_click_drag handler to require and validate start_coordinate
- Modified xdotool command to move to start position before dragging
- Added start_coordinate to ComputerTool20250124.__call__ signature
- Passed start_coordinate through super().__call__

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* chore(computer-use-demo): fix pre-existing lint errors

Remove unused EditTool20250429 import and duplicate EditTool20250728
class definition to fix ruff linting errors in CI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(computer-use-demo): fix pyright error in collection.py

Cast to_params() result to dict to satisfy pyright type checker.
This fixes the "name is not a defined key" error on BetaToolUnionParam.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
A new quickstart demonstrating browser automation using Claude's API with
Playwright. Features include:

- DOM-first approach for reliable element interaction
- Custom browser tool with click, type, scroll, hover, and execute_js actions
- Coordinate scaling for accurate mouse positioning
- Streamlit UI with real-time browser view via VNC
- Docker containerization with full desktop environment
- Comprehensive test suite

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
…342)

Add a comment in the browser tool's options property explaining that this
implementation uses fixed 1920x1080 dimensions with empirical coordinate
correction, and directing users to the "Handle coordinate scaling" section
in the computer use documentation for the recommended client-side downscaling
approach.

Slack thread: https://anthropic.slack.com/archives/C055V8QPMHT/p1768775758717479?thread_ts=1768350465.358499&cid=C055V8QPMHT

Co-authored-by: Claude <noreply@anthropic.com>
… correct insert_text parameter (#352)

* Update computer-use-demo to text_editor_20250728 exclusively

- Remove EditTool20250124 and EditTool20241022 classes
- Make EditTool20250728 a standalone class (no inheritance from old versions)
- Uses insert_text parameter (not new_str) for the insert command
- Uses str_replace_based_edit_tool as the tool name
- Does not support undo_edit (removed in newer versions)
- Update groups.py to use EditTool20250728 for all tool groups
- Update __init__.py exports to only include EditTool20250728
- Update tests to only test EditTool20250728 with insert_text parameter

Fixes #348
Fixes anthropics/anthropic-sdk-python#1155

* Fix ASYNC240: use asyncio.to_thread for path.is_dir() in async view method

* Fix ASYNC240: use asyncio.to_thread for pathlib in computer.py
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.