v2.4.0: fix TOML breakage from multi-line paste in api_key field

This commit is contained in:
Roman
2026-05-20 15:40:29 +04:00
Unverified
parent dbfc480019
commit 0f333aab6e
2 changed files with 17 additions and 13 deletions

View File

@@ -410,22 +410,26 @@ def write_config_for_native(endpoint, selected_model):
mc_path.write_text(json.dumps(model_catalog, indent=2))
lines = [
f'model = "{selected_model}"\n',
f'model_provider = "{endpoint["name"]}"\n',
f'model = "{_toml_safe(selected_model)}"\n',
f'model_provider = "{_toml_safe(endpoint["name"])}"\n',
f'model_catalog_json = "{mc_path}"\n',
f'\n[model_providers."{endpoint["name"]}"]\n',
f'name = "{endpoint["name"]}"\n',
f'base_url = "{endpoint["base_url"]}"\n',
f'experimental_bearer_token = "{endpoint["api_key"]}"\n',
f'name = "{_toml_safe(endpoint["name"])}"\n',
f'base_url = "{_toml_safe(endpoint["base_url"])}"\n',
f'experimental_bearer_token = "{_toml_safe(endpoint["api_key"])}"\n',
f'\n[profiles."{endpoint["name"]}"]\n',
f'model_provider = "{endpoint["name"]}"\n',
f'model = "{selected_model}"\n',
f'model_provider = "{_toml_safe(endpoint["name"])}"\n',
f'model = "{_toml_safe(selected_model)}"\n',
f'model_catalog_json = "{mc_path}"\n',
f'service_tier = "default"\n',
f'approvals_reviewer = "user"\n',
]
CONFIG.write_text("".join(lines))
def _toml_safe(val):
val = str(val).replace('"', '\\"')
return val.split('\n', 1)[0].strip()
def write_config_for_translated(endpoint, selected_model):
"""Write config pointing at local proxy."""
backup_config()
@@ -435,16 +439,16 @@ def write_config_for_translated(endpoint, selected_model):
mc_path.write_text(json.dumps(model_catalog, indent=2))
lines = [
f'model = "{selected_model}"\n',
f'model_provider = "{endpoint["name"]}"\n',
f'model = "{_toml_safe(selected_model)}"\n',
f'model_provider = "{_toml_safe(endpoint["name"])}"\n',
f'model_catalog_json = "{mc_path}"\n',
f'\n[model_providers."{endpoint["name"]}"]\n',
f'name = "{endpoint["name"]}"\n',
f'name = "{_toml_safe(endpoint["name"])}"\n',
f'base_url = "http://127.0.0.1:8080"\n',
f'experimental_bearer_token = "{endpoint["api_key"]}"\n',
f'experimental_bearer_token = "{_toml_safe(endpoint["api_key"])}"\n',
f'\n[profiles."{endpoint["name"]}"]\n',
f'model_provider = "{endpoint["name"]}"\n',
f'model = "{selected_model}"\n',
f'model_provider = "{_toml_safe(endpoint["name"])}"\n',
f'model = "{_toml_safe(selected_model)}"\n',
f'model_catalog_json = "{mc_path}"\n',
f'service_tier = "fast"\n',
f'approvals_reviewer = "user"\n',