fix(ci): add _read_image_bytes to recursive ignore list, add new model price schema properties

- Add _read_image_bytes to IGNORE_FUNCTIONS in recursive_detector.py
  (bounded recursion: only recurses once when input is a list, same pattern
  as already-ignored _read_all_bytes in vertex_ai)
- Add supports_multimodal, uses_embed_content, input_cost_per_token_above_256k_tokens,
  output_cost_per_token_above_256k_tokens to test_utils.py JSON schema
  (new properties added to model_prices_and_context_window.json)

Co-authored-by: yuneng-jiang <yuneng-jiang@users.noreply.github.com>
This commit is contained in:
Cursor Agent 2026-03-12 04:11:42 +00:00
parent 319eea66ef
commit 68ccf6d025
2 changed files with 5 additions and 0 deletions

View file

@ -32,6 +32,7 @@ IGNORE_FUNCTIONS = [
"_redact_base64", # max depth set.
"_contains_vision_content", # max depth set.
"_read_all_bytes", # max depth set.
"_read_image_bytes", # bounded recursion: only recurses once when input is a list.
"_fix_enum_types", # max depth set.
"_collect_argument_paths", # max depth set.
"_split_text", # max depth set.

View file

@ -619,6 +619,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid():
"input_cost_per_image_above_128k_tokens": {"type": "number"},
"input_cost_per_image_token": {"type": "number"},
"input_cost_per_token_above_200k_tokens": {"type": "number"},
"input_cost_per_token_above_256k_tokens": {"type": "number"},
"input_cost_per_token_above_272k_tokens": {"type": "number"},
"cache_read_input_token_cost_flex": {"type": "number"},
"cache_read_input_token_cost_priority": {"type": "number"},
@ -700,6 +701,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid():
"output_cost_per_token": {"type": "number"},
"output_cost_per_token_above_128k_tokens": {"type": "number"},
"output_cost_per_token_above_200k_tokens": {"type": "number"},
"output_cost_per_token_above_256k_tokens": {"type": "number"},
"output_cost_per_token_above_272k_tokens": {"type": "number"},
"output_cost_per_image_above_1024_and_1024_pixels": {"type": "number"},
"output_cost_per_image_above_1024_and_1024_pixels_and_premium_image": {
@ -738,6 +740,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid():
"supports_vision": {"type": "boolean"},
"supports_web_search": {"type": "boolean"},
"supports_url_context": {"type": "boolean"},
"supports_multimodal": {"type": "boolean"},
"supports_reasoning": {"type": "boolean"},
"supports_none_reasoning_effort": {"type": "boolean"},
"supports_xhigh_reasoning_effort": {"type": "boolean"},
@ -745,6 +748,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid():
"supports_preset": {"type": "boolean"},
"tool_use_system_prompt_tokens": {"type": "number"},
"tpm": {"type": "number"},
"uses_embed_content": {"type": "boolean"},
"provider_specific_entry": {"type": "object"},
"supported_endpoints": {
"type": "array",