Python 88.3%
TypeScript 7.6%
Shell 4.1%
1#!/usr/bin/env python32"""Second cheap probe batch (mostly 400s = free) for the Anthropic tools domain."""3from __future__ import annotations4import json, sys5from pathlib import Path6ROOT = Path(__file__).resolve().parents[2]7sys.path.insert(0, str(ROOT))8sys.argv = [sys.argv[0], "__none__"] # import runner helpers without executing its steps9import importlib.util10spec = importlib.util.spec_from_file_location("r1", ROOT / "tmp-live/tools/run_live_tools.py")11r1 = importlib.util.module_from_spec(spec); spec.loader.exec_module(r1)12r1.ONLY = set()13call, HAIKU, SONNET46, SONNET5 = r1.call, r1.HAIKU, r1.SONNET46, r1.SONNET514r1.PRICE.update({"claude-opus-5": (5.0, 25.0), "claude-opus-4-8": (5.0, 25.0), "claude-fable-5-1": (15.0, 75.0), "claude-fable-5": (15.0, 75.0),15 "claude-sonnet-4-5-20250929": (3.0, 15.0), "claude-opus-4-5-20251101": (5.0, 25.0), "claude-opus-4-6": (5.0, 25.0), "claude-opus-4-7": (5.0, 25.0)})16OK = [{"role": "user", "content": "Reply with OK."}]1718# forced web search (c1 answered without searching)19call("c4_web_search_forced", {"model": HAIKU, "max_tokens": 300,20 "tools": [{"type": "web_search_20250305", "name": "web_search", "max_uses": 1}],21 "messages": [{"role": "user", "content": "You MUST call the web_search tool once (do not answer from memory): search for the current Bank of Canada policy interest rate. Then answer in 5 words with a citation."}]})22call("c5_web_search_20260209_direct_haiku", {"model": HAIKU, "max_tokens": 20,23 "tools": [{"type": "web_search_20260209", "name": "web_search", "max_uses": 1, "allowed_callers": ["direct"]}], "messages": OK})24# per-model supported tool-type lists via a deliberately unknown type (free 400s)25for m in [HAIKU, "claude-sonnet-4-5-20250929", SONNET46, SONNET5, "claude-opus-4-5-20251101", "claude-opus-4-6", "claude-opus-4-7", "claude-opus-4-8", "claude-opus-5", "claude-fable-5", "claude-fable-5-1"]:26 call(f"k_types_{m}", {"model": m, "max_tokens": 5, "tools": [{"type": "atlas_probe_20990101", "name": "probe"}], "messages": OK})27# undocumented types seen in the haiku error list28call("k11_python_with_tools_20260120_haiku", {"model": HAIKU, "max_tokens": 20, "tools": [{"type": "python_with_tools_code_execution_20260120", "name": "code_execution"}], "messages": OK})29call("k12_bash_code_execution_20250825_haiku", {"model": HAIKU, "max_tokens": 20, "tools": [{"type": "bash_code_execution_20250825", "name": "bash_code_execution"}], "messages": OK})30call("k12b_text_editor_code_execution_20250825_haiku", {"model": HAIKU, "max_tokens": 20, "tools": [{"type": "text_editor_code_execution_20250825", "name": "text_editor_code_execution"}], "messages": OK})31# newer MCP beta header discovered in the i2 error32call("k13_mcp_client_2026_09_15", {"model": HAIKU, "max_tokens": 20, "mcp_servers": [{"type": "url", "url": "https://mcp.deepwiki.com/mcp", "name": "deepwiki"}],33 "tools": [{"type": "mcp_toolset", "mcp_server_name": "deepwiki", "default_config": {"enabled": False}, "configs": {"ask_question": {"enabled": True}}}],34 "messages": OK}, beta="mcp-client-2026-09-15")35call("k13b_mcp_legacy_2025_04_04", {"model": HAIKU, "max_tokens": 20, "mcp_servers": [{"type": "url", "url": "https://mcp.deepwiki.com/mcp", "name": "deepwiki",36 "tool_configuration": {"enabled": True, "allowed_tools": ["ask_question"]}}],37 "messages": OK}, beta="mcp-client-2025-04-04")38# text editor versions on haiku39call("k15_text_editor_20250124_haiku", {"model": HAIKU, "max_tokens": 10, "tools": [{"type": "text_editor_20250124", "name": "str_replace_editor"}], "messages": OK})40call("k16_text_editor_20250429_haiku", {"model": HAIKU, "max_tokens": 10, "tools": [{"type": "text_editor_20250429", "name": "str_replace_based_edit_tool"}], "messages": OK})41call("k17_computer_20251124_haiku_400", {"model": HAIKU, "max_tokens": 10, "tools": [{"type": "computer_20251124", "name": "computer", "display_width_px": 1024, "display_height_px": 768}], "messages": OK}, beta="computer-use-2025-11-24")42call("k17b_computer_20251124_no_header_400", {"model": SONNET46, "max_tokens": 10, "tools": [{"type": "computer_20251124", "name": "computer", "display_width_px": 1024, "display_height_px": 768}], "messages": OK})43# advisor (beta) with haiku executor + sonnet 4.6 advisor, capped44call("k18_advisor_haiku_exec", {"model": HAIKU, "max_tokens": 30, "tools": [{"type": "advisor_20260301", "name": "advisor", "model": SONNET46, "max_uses": 1, "max_tokens": 1024}], "messages": OK},45 beta="advisor-tool-2026-03-01")46call("k18b_advisor_no_header_400", {"model": HAIKU, "max_tokens": 10, "tools": [{"type": "advisor_20260301", "name": "advisor", "model": SONNET46}], "messages": OK})47# browser toolset on sonnet 548call("k19_browser_toolset_sonnet5", {"model": SONNET5, "max_tokens": 120, "tools": [{"type": "browser_toolset_20260801"}],49 "messages": [{"role": "user", "content": "Open https://example.com in the browser."}]})50# web fetch: URL not in prior context -> error code51call("k21_web_fetch_url_not_in_context", {"model": HAIKU, "max_tokens": 200, "tools": [{"type": "web_fetch_20250910", "name": "web_fetch", "max_uses": 1}],52 "messages": [{"role": "user", "content": "Use web_fetch to fetch the IANA 'example domains' page (you know its URL) and give its title in 3 words."}]})53# toolset validation errors (free)54call("k22_toolset_with_name_400", {"model": SONNET5, "max_tokens": 5, "tools": [{"type": "computer_toolset_20260801", "name": "computer"}], "messages": OK})55call("k23_deferred_with_cache_control_400", {"model": HAIKU, "max_tokens": 5, "tools": [{"type": "tool_search_tool_regex_20251119", "name": "tool_search_tool_regex"},56 dict(r1.DUMMY[0], cache_control={"type": "ephemeral"})], "messages": OK})57call("k24_tool_search_result_400", {"model": HAIKU, "max_tokens": 5, "tools": [{"type": "tool_search_tool_regex_20251119", "name": "tool_search_tool_regex"}] + r1.DUMMY[:1],58 "messages": [{"role": "user", "content": "weather?"},59 {"role": "assistant", "content": [{"type": "server_tool_use", "id": "srvtoolu_atlas_fake", "name": "tool_search_tool_regex", "input": {"pattern": "weather"}}]},60 {"role": "user", "content": [{"type": "tool_result", "tool_use_id": "srvtoolu_atlas_fake", "content": "x"}]}]})61call("k25_code_exec_bad_name_400", {"model": HAIKU, "max_tokens": 5, "tools": [{"type": "code_execution_20250825", "name": "code"}], "messages": OK})62call("k26_expired_container_probe", {"model": HAIKU, "max_tokens": 5, "container": "container_01AtlasDoesNotExist0000000", "tools": [{"type": "code_execution_20250825", "name": "code_execution"}], "messages": OK})63call("k27_web_search_bad_country_400", {"model": HAIKU, "max_tokens": 5, "tools": [{"type": "web_search_20250305", "name": "web_search", "user_location": {"type": "approximate", "country": "ZZZ"}}], "messages": OK})64call("k28_ptc_strict_400", {"model": SONNET46, "max_tokens": 5, "tools": [{"type": "code_execution_20260120", "name": "code_execution"}, dict(r1.QDB, strict=True)], "messages": OK})65call("k29_web_fetch_max_content_tokens_zero_400", {"model": HAIKU, "max_tokens": 5, "tools": [{"type": "web_fetch_20250910", "name": "web_fetch", "max_content_tokens": 0}], "messages": OK})66call("k30_web_fetch_20260318_direct_haiku", {"model": HAIKU, "max_tokens": 10, "tools": [{"type": "web_fetch_20260318", "name": "web_fetch", "allowed_callers": ["direct"], "response_inclusion": "excluded", "use_cache": False}], "messages": OK})67r1.live.save_sanitized({"total_est_cost_usd": round(r1.TOTAL, 4), "steps": r1.SUMMARY}, r1.OUT / "_summary2.json")68print(f"TOTAL est cost batch2: ${r1.TOTAL:.4f}")69