Compare commits

..

2 Commits

Author SHA1 Message Date
mdrxy
a740599dcc chore(model-profiles): refresh model profile data 2026-02-19 18:27:48 +00:00
Mason Daugherty
4af87fd025 fix(infra): fix trailing comma regex in profile generation script (#35333)
The trailing comma regex in the profile generation script consumed the
closing `}` as part of its match, preventing nested closing braces from
getting their own trailing comma. This caused `ruff format` failures on
every generated `_profiles.py` file.

Switches to a lookahead (`(?=...)`) so the closing bracket is asserted
but not consumed, allowing each nesting level to independently receive
its trailing comma.

Fixes #35332.
2026-02-19 13:27:02 -05:00
4 changed files with 38 additions and 15 deletions

View File

@@ -55,17 +55,9 @@ jobs:
--data-dir "$data_dir"
done
- name: "🔑 Generate GitHub App token"
id: app-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.ORG_MEMBERSHIP_APP_ID }}
private-key: ${{ secrets.ORG_MEMBERSHIP_APP_PRIVATE_KEY }}
- name: "🔀 Create pull request"
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.app-token.outputs.token }}
branch: bot/refresh-model-profiles
commit-message: "chore(model-profiles): refresh model profile data"
title: "chore(model-profiles): refresh model profile data"

View File

@@ -317,7 +317,7 @@ def refresh(provider: str, data_dir: Path) -> None: # noqa: C901, PLR0915
.replace("null", "None")
)
# Add trailing commas for ruff format compliance
json_str = re.sub(r"([^\s,{\[])(\n\s*[\}\]])", r"\1,\2", json_str)
json_str = re.sub(r"([^\s,{\[])(?=\n\s*[\}\]])", r"\1,", json_str)
module_content.append(f"{json_str}\n")
_write_profiles_file(output_file, "".join(module_content))

View File

@@ -370,7 +370,7 @@ wheels = [
[[package]]
name = "langchain-core"
version = "1.2.13"
version = "1.2.14"
source = { editable = "../../core" }
dependencies = [
{ name = "jsonpatch" },

View File

@@ -865,6 +865,22 @@ _PROFILES: dict[str, dict[str, Any]] = {
"tool_calling": True,
"structured_output": True,
},
"google/gemini-3.1-pro-preview": {
"max_input_tokens": 1048576,
"max_output_tokens": 65536,
"text_inputs": True,
"image_inputs": True,
"audio_inputs": True,
"pdf_inputs": True,
"video_inputs": True,
"text_outputs": True,
"image_outputs": False,
"audio_outputs": False,
"video_outputs": False,
"reasoning_output": True,
"tool_calling": True,
"structured_output": True,
},
"google/gemini-2.0-flash-exp:free": {
"max_input_tokens": 1048576,
"max_output_tokens": 1048576,
@@ -2455,7 +2471,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_inputs": True,
"audio_inputs": False,
"video_inputs": False,
"text_outputs": True,
"text_outputs": False,
"image_outputs": True,
"audio_outputs": False,
"video_outputs": False,
@@ -2493,6 +2509,21 @@ _PROFILES: dict[str, dict[str, Any]] = {
"tool_calling": True,
"structured_output": True,
},
"anthropic/claude-sonnet-4.6": {
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"text_inputs": True,
"image_inputs": True,
"audio_inputs": False,
"video_inputs": False,
"text_outputs": True,
"image_outputs": False,
"audio_outputs": False,
"video_outputs": False,
"reasoning_output": True,
"tool_calling": True,
"structured_output": True,
},
"anthropic/claude-haiku-4.5": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
@@ -2609,7 +2640,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_inputs": True,
"audio_inputs": False,
"video_inputs": False,
"text_outputs": True,
"text_outputs": False,
"image_outputs": True,
"audio_outputs": False,
"video_outputs": False,
@@ -2623,7 +2654,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_inputs": True,
"audio_inputs": False,
"video_inputs": False,
"text_outputs": True,
"text_outputs": False,
"image_outputs": True,
"audio_outputs": False,
"video_outputs": False,
@@ -2637,7 +2668,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_inputs": True,
"audio_inputs": False,
"video_inputs": False,
"text_outputs": True,
"text_outputs": False,
"image_outputs": True,
"audio_outputs": False,
"video_outputs": False,
@@ -2651,7 +2682,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_inputs": True,
"audio_inputs": False,
"video_inputs": False,
"text_outputs": True,
"text_outputs": False,
"image_outputs": True,
"audio_outputs": False,
"video_outputs": False,