From 0b112e948f6ea1690f9e93f10e6ba8c4cfbd1a92 Mon Sep 17 00:00:00 2001 From: saviour Date: Sat, 10 May 2025 21:38:08 +0900 Subject: [PATCH 01/82] feat: Enable file completion for all file-related arguments --- aider/args.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/aider/args.py b/aider/args.py index 1543bb07e..bb81cae01 100644 --- a/aider/args.py +++ b/aider/args.py @@ -43,7 +43,7 @@ def get_parser(default_config_files, git_root): group = parser.add_argument_group("Main model") group.add_argument( "files", metavar="FILE", nargs="*", help="files to edit with an LLM (optional)" - ) + ).complete = shtab.FILE group.add_argument( "--model", metavar="MODEL", @@ -110,13 +110,13 @@ def get_parser(default_config_files, git_root): metavar="MODEL_SETTINGS_FILE", default=".aider.model.settings.yml", help="Specify a file with aider model settings for unknown models", - ) + ).complete = shtab.FILE group.add_argument( "--model-metadata-file", metavar="MODEL_METADATA_FILE", default=".aider.model.metadata.json", help="Specify a file with context window and costs for unknown models", - ) + ).complete = shtab.FILE group.add_argument( "--alias", action="append", @@ -262,13 +262,13 @@ def get_parser(default_config_files, git_root): metavar="INPUT_HISTORY_FILE", default=default_input_history_file, help=f"Specify the chat input history file (default: {default_input_history_file})", - ) + ).complete = shtab.FILE group.add_argument( "--chat-history-file", metavar="CHAT_HISTORY_FILE", default=default_chat_history_file, help=f"Specify the chat history file (default: {default_chat_history_file})", - ) + ).complete = shtab.FILE group.add_argument( "--restore-chat-history", action=argparse.BooleanOptionalAction, @@ -280,7 +280,7 @@ def get_parser(default_config_files, git_root): metavar="LLM_HISTORY_FILE", default=None, help="Log the conversation with the LLM to this file (for example, .aider.llm.history)", - ) + ).complete = shtab.FILE ########## group = parser.add_argument_group("Output settings") @@ -552,7 +552,7 @@ def get_parser(default_config_files, git_root): "--analytics-log", metavar="ANALYTICS_LOG_FILE", help="Specify a file to log analytics events", - ) + ).complete = shtab.FILE group.add_argument( "--analytics-disable", action="store_true", @@ -619,7 +619,7 @@ def get_parser(default_config_files, git_root): "Specify a file containing the message to send the LLM, process reply, then exit" " (disables chat mode)" ), - ) + ).complete = shtab.FILE group.add_argument( "--gui", "--browser", @@ -637,7 +637,7 @@ def get_parser(default_config_files, git_root): "--apply", metavar="FILE", help="Apply the changes from the given file instead of running the chat (debug)", - ) + ).complete = shtab.FILE group.add_argument( "--apply-clipboard-edits", action="store_true", @@ -698,13 +698,13 @@ def get_parser(default_config_files, git_root): action="append", metavar="FILE", help="specify a file to edit (can be used multiple times)", - ) + ).complete = shtab.FILE group.add_argument( "--read", action="append", metavar="FILE", help="specify a read-only file (can be used multiple times)", - ) + ).complete = shtab.FILE group.add_argument( "--vim", action="store_true", @@ -734,7 +734,7 @@ def get_parser(default_config_files, git_root): "--load", metavar="LOAD_FILE", help="Load and execute /commands from a file on launch", - ) + ).complete = shtab.FILE group.add_argument( "--encoding", default="utf-8", @@ -755,7 +755,7 @@ def get_parser(default_config_files, git_root): "Specify the config file (default: search for .aider.conf.yml in git root, cwd" " or home directory)" ), - ) + ).complete = shtab.FILE # This is a duplicate of the argument in the preparser and is a no-op by this time of # argument parsing, but it's here so that the help is displayed as expected. group.add_argument( @@ -763,7 +763,7 @@ def get_parser(default_config_files, git_root): metavar="ENV_FILE", default=default_env_file(git_root), help="Specify the .env file to load (default: .env in git root)", - ) + ).complete = shtab.FILE group.add_argument( "--suggest-shell-commands", action=argparse.BooleanOptionalAction, From d8fbd9cbd320c436d939c04f22c9e537cec6c0ae Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 10 May 2025 12:50:32 -0700 Subject: [PATCH 02/82] feat: Add OpenRouter API support --- aider/openrouter.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 aider/openrouter.py diff --git a/aider/openrouter.py b/aider/openrouter.py new file mode 100644 index 000000000..e69de29bb From 5052150e2ea197c153f144308d8e805d4172b33a Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 12:50:34 -0700 Subject: [PATCH 03/82] feat: Add local cache for OpenRouter models --- aider/models.py | 12 +++++ aider/openrouter.py | 128 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) diff --git a/aider/models.py b/aider/models.py index d69ae2d5a..ea9971d61 100644 --- a/aider/models.py +++ b/aider/models.py @@ -14,6 +14,7 @@ from typing import Optional, Union import json5 import yaml from PIL import Image +from aider.openrouter import OpenRouterModelManager from aider.dump import dump # noqa: F401 from aider.llm import litellm @@ -149,8 +150,13 @@ class ModelInfoManager: self.verify_ssl = True self._cache_loaded = False + # Manager for the cached OpenRouter model database + self.openrouter_manager = OpenRouterModelManager() + def set_verify_ssl(self, verify_ssl): self.verify_ssl = verify_ssl + if hasattr(self, "openrouter_manager"): + self.openrouter_manager.set_verify_ssl(verify_ssl) def _load_cache(self): if self._cache_loaded: @@ -232,6 +238,12 @@ class ModelInfoManager: return litellm_info if not cached_info and model.startswith("openrouter/"): + # First try using the locally cached OpenRouter model database + openrouter_info = self.openrouter_manager.get_model_info(model) + if openrouter_info: + return openrouter_info + + # Fallback to legacy web-scraping if the API cache does not contain the model openrouter_info = self.fetch_openrouter_model_info(model) if openrouter_info: return openrouter_info diff --git a/aider/openrouter.py b/aider/openrouter.py index e69de29bb..9c69f5f31 100644 --- a/aider/openrouter.py +++ b/aider/openrouter.py @@ -0,0 +1,128 @@ +""" +OpenRouter model metadata caching and lookup. + +This module keeps a local cached copy of the OpenRouter model list +(downloaded from ``https://openrouter.ai/api/v1/models``) and exposes a +helper class that returns metadata for a given model in a format compatible +with litellm’s ``get_model_info``. +""" +from __future__ import annotations + +import json +import time +from pathlib import Path +from typing import Dict + +import requests + + +def _cost_per_token(val: str | None) -> float | None: + """Convert a per-million price string to a per-token float.""" + if val in (None, "", "0"): + return 0.0 if val == "0" else None + try: + return float(val) / 1_000_000 + except Exception: # noqa: BLE001 + return None + + +class OpenRouterModelManager: + MODELS_URL = "https://openrouter.ai/api/v1/models" + CACHE_TTL = 60 * 60 * 24 # 24 h + + def __init__(self) -> None: + self.cache_dir = Path.home() / ".aider" / "caches" + self.cache_file = self.cache_dir / "openrouter_models.json" + self.content: Dict | None = None + self.verify_ssl: bool = True + self._cache_loaded = False + + # ------------------------------------------------------------------ # + # Public API # + # ------------------------------------------------------------------ # + def set_verify_ssl(self, verify_ssl: bool) -> None: + """Enable/disable SSL verification for API requests.""" + self.verify_ssl = verify_ssl + + def get_model_info(self, model: str) -> Dict: + """ + Return metadata for *model* or an empty ``dict`` when unknown. + + ``model`` should use the aider naming convention, e.g. + ``openrouter/nousresearch/deephermes-3-mistral-24b-preview:free``. + """ + self._ensure_content() + if not self.content or "data" not in self.content: + return {} + + route = self._strip_prefix(model) + + # Consider both the exact id and id without any “:suffix”. + candidates = {route} + if ":" in route: + candidates.add(route.split(":", 1)[0]) + + record = next((item for item in self.content["data"] if item.get("id") in candidates), None) + if not record: + return {} + + context_len = ( + record.get("top_provider", {}).get("context_length") + or record.get("context_length") + or None + ) + + pricing = record.get("pricing", {}) + return { + "max_input_tokens": context_len, + "max_tokens": context_len, + "max_output_tokens": context_len, + "input_cost_per_token": _cost_per_token(pricing.get("prompt")), + "output_cost_per_token": _cost_per_token(pricing.get("completion")), + "litellm_provider": "openrouter", + } + + # ------------------------------------------------------------------ # + # Internal helpers # + # ------------------------------------------------------------------ # + def _strip_prefix(self, model: str) -> str: + return model[len("openrouter/") :] if model.startswith("openrouter/") else model + + def _ensure_content(self) -> None: + self._load_cache() + if not self.content: + self._update_cache() + + def _load_cache(self) -> None: + if self._cache_loaded: + return + try: + self.cache_dir.mkdir(parents=True, exist_ok=True) + if self.cache_file.exists(): + cache_age = time.time() - self.cache_file.stat().st_mtime + if cache_age < self.CACHE_TTL: + try: + self.content = json.loads(self.cache_file.read_text()) + except json.JSONDecodeError: + self.content = None + except OSError: + # Cache directory might be unwritable; ignore. + pass + + self._cache_loaded = True + + def _update_cache(self) -> None: + try: + response = requests.get(self.MODELS_URL, timeout=10, verify=self.verify_ssl) + if response.status_code == 200: + self.content = response.json() + try: + self.cache_file.write_text(json.dumps(self.content, indent=2)) + except OSError: + pass # Non-fatal if we can’t write the cache + except Exception as ex: # noqa: BLE001 + print(f"Failed to fetch OpenRouter model list: {ex}") + try: + self.cache_file.write_text("{}") + except OSError: + pass From 4d39b88110009ed2a1c948e6c7b54d693f5c52fa Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 12:50:41 -0700 Subject: [PATCH 04/82] style: Reorder imports in models.py --- aider/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aider/models.py b/aider/models.py index ea9971d61..67f0458ef 100644 --- a/aider/models.py +++ b/aider/models.py @@ -14,10 +14,10 @@ from typing import Optional, Union import json5 import yaml from PIL import Image -from aider.openrouter import OpenRouterModelManager from aider.dump import dump # noqa: F401 from aider.llm import litellm +from aider.openrouter import OpenRouterModelManager from aider.sendchat import ensure_alternating_roles, sanity_check_messages from aider.utils import check_pip_install_extra From 225e01717cc8d05e73c94e5aa0eb5610a2762b07 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 12:54:11 -0700 Subject: [PATCH 05/82] feat: Show active model metadata in /settings command --- aider/commands.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/aider/commands.py b/aider/commands.py index 7a7a738c3..37bcf0289 100644 --- a/aider/commands.py +++ b/aider/commands.py @@ -1392,7 +1392,30 @@ class Commands: "Print out the current settings" settings = format_settings(self.parser, self.args) announcements = "\n".join(self.coder.get_announcements()) + + # Build metadata for the active models (main, editor, weak) + model_sections = [] + active_models = [ + ("Main model", self.coder.main_model), + ("Editor model", getattr(self.coder.main_model, "editor_model", None)), + ("Weak model", getattr(self.coder.main_model, "weak_model", None)), + ] + for label, model in active_models: + if not model: + continue + info = getattr(model, "info", {}) or {} + if not info: + continue + model_sections.append(f"{label} ({model.name}):") + for k, v in sorted(info.items()): + model_sections.append(f" {k}: {v}") + model_sections.append("") # blank line between models + + model_metadata = "\n".join(model_sections) + output = f"{announcements}\n{settings}" + if model_metadata: + output += "\n" + model_metadata self.io.tool_output(output) def completions_raw_load(self, document, complete_event): From 2ab0074915ce23236498864c0ded0e76c357933c Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 10 May 2025 12:56:06 -0700 Subject: [PATCH 06/82] test: Add OpenRouter tests --- tests/basic/test_openrouter.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/basic/test_openrouter.py diff --git a/tests/basic/test_openrouter.py b/tests/basic/test_openrouter.py new file mode 100644 index 000000000..e69de29bb From e8d9ae9a1f81f27a16af0ba3ff161a0e82b06e91 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 12:56:08 -0700 Subject: [PATCH 07/82] test: add tests for OpenRouter model info handling --- tests/basic/test_openrouter.py | 76 ++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/tests/basic/test_openrouter.py b/tests/basic/test_openrouter.py index e69de29bb..33f3dd5ae 100644 --- a/tests/basic/test_openrouter.py +++ b/tests/basic/test_openrouter.py @@ -0,0 +1,76 @@ +import json +from pathlib import Path + +import pytest + +from aider.openrouter import OpenRouterModelManager +from aider.models import ModelInfoManager + + +class DummyResponse: + """Minimal stand-in for requests.Response used in tests.""" + + def __init__(self, json_data): + self.status_code = 200 + self._json_data = json_data + + def json(self): + return self._json_data + + +def test_openrouter_get_model_info_from_cache(monkeypatch, tmp_path): + """ + OpenRouterModelManager should return correct metadata taken from the + downloaded (and locally cached) models JSON payload. + """ + payload = { + "data": [ + { + "id": "mistralai/mistral-medium-3", + "context_length": 32768, + "pricing": {"prompt": "100", "completion": "200"}, + "top_provider": {"context_length": 32768}, + } + ] + } + + # Fake out the network call and the HOME directory used for the cache file + monkeypatch.setattr("requests.get", lambda *a, **k: DummyResponse(payload)) + monkeypatch.setattr(Path, "home", staticmethod(lambda: tmp_path)) + + manager = OpenRouterModelManager() + info = manager.get_model_info("openrouter/mistralai/mistral-medium-3") + + assert info["max_input_tokens"] == 32768 + assert info["input_cost_per_token"] == 0.0001 + assert info["output_cost_per_token"] == 0.0002 + assert info["litellm_provider"] == "openrouter" + + +def test_model_info_manager_uses_openrouter_manager(monkeypatch): + """ + ModelInfoManager should delegate to OpenRouterModelManager when litellm + provides no data for an OpenRouter-prefixed model. + """ + # Ensure litellm path returns no info so that fallback logic triggers + monkeypatch.setattr("aider.models.litellm.get_model_info", lambda *a, **k: {}) + + stub_info = { + "max_input_tokens": 512, + "max_tokens": 512, + "max_output_tokens": 512, + "input_cost_per_token": 0.0001, + "output_cost_per_token": 0.0002, + "litellm_provider": "openrouter", + } + + # Force OpenRouterModelManager to return our stub info + monkeypatch.setattr( + "aider.models.OpenRouterModelManager.get_model_info", + lambda self, model: stub_info, + ) + + mim = ModelInfoManager() + info = mim.get_model_info("openrouter/fake/model") + + assert info == stub_info From a6b0f43dcecc8739bade10e16c5c430c6a10fef2 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 12:56:13 -0700 Subject: [PATCH 08/82] chore: Run linter --- tests/basic/test_openrouter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/basic/test_openrouter.py b/tests/basic/test_openrouter.py index 33f3dd5ae..9d9b7fbe6 100644 --- a/tests/basic/test_openrouter.py +++ b/tests/basic/test_openrouter.py @@ -3,8 +3,8 @@ from pathlib import Path import pytest -from aider.openrouter import OpenRouterModelManager from aider.models import ModelInfoManager +from aider.openrouter import OpenRouterModelManager class DummyResponse: From 512b4d891b2c8f18bc68c86219101d7c7a616981 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 12:57:14 -0700 Subject: [PATCH 09/82] chore: Remove unused imports in test_openrouter.py --- tests/basic/test_openrouter.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/basic/test_openrouter.py b/tests/basic/test_openrouter.py index 9d9b7fbe6..492955568 100644 --- a/tests/basic/test_openrouter.py +++ b/tests/basic/test_openrouter.py @@ -1,8 +1,5 @@ -import json from pathlib import Path -import pytest - from aider.models import ModelInfoManager from aider.openrouter import OpenRouterModelManager From 7b9eae117f4ddbb6828f7a25d55eae6dd3556e36 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 10 May 2025 17:10:23 -0700 Subject: [PATCH 10/82] docs: Add GitHub LLM docs --- aider/website/docs/llms/github.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 aider/website/docs/llms/github.md diff --git a/aider/website/docs/llms/github.md b/aider/website/docs/llms/github.md new file mode 100644 index 000000000..e69de29bb From 24c0fbd326ad320c7a73bd1a78c1b22dd6bfc7f8 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 17:10:25 -0700 Subject: [PATCH 11/82] docs: Add doc page for GitHub Copilot model access --- aider/website/docs/llms/github.md | 83 +++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/aider/website/docs/llms/github.md b/aider/website/docs/llms/github.md index e69de29bb..2e305b619 100644 --- a/aider/website/docs/llms/github.md +++ b/aider/website/docs/llms/github.md @@ -0,0 +1,83 @@ +--- +parent: Connecting to LLMs +nav_order: 510 +--- + +# GitHub Copilot models + +Aider can talk to the GitHub Copilot LLMs because Copilot exposes an **OpenAI-compatible** REST +API at `https://api.githubcopilot.com`. + +The only trick is getting an OAuth access token that has permission to call the Copilot +endpoint. +The easiest, **official** way is to sign in to Copilot from any JetBrains IDE +(Goland, PyCharm, etc). +After you sign in, a file appears at: + +``` +~/.config/github-copilot/apps.json +``` + +Inside you will find an `oauth_token` value – copy that string, **it is your API key**. + +--- + +## Configure the environment + +```bash +# macOS/Linux +export OPENAI_API_BASE=https://api.githubcopilot.com +export OPENAI_API_KEY= + +# Windows (PowerShell) +setx OPENAI_API_BASE https://api.githubcopilot.com +setx OPENAI_API_KEY +# …restart the shell so the variables are picked up +``` + +--- + +## Pick a model + +Copilot hosts many models (OpenAI, Anthropic, Google, etc). +You can discover the list that your subscription allows with: + +```bash +curl -s https://api.githubcopilot.com/models \ + -H "Authorization: Bearer $OPENAI_API_KEY" \ + -H "Content-Type: application/json" \ + -H "Copilot-Integration-Id: vscode-chat" | jq -r '.data[].id' +``` + +The returned IDs are used exactly like OpenAI models, but **prefixed with `openai/`** when you +pass them to aider: + +```bash +aider --model openai/gpt-4o +# or +aider --model openai/claude-3.7-sonnet-thought +``` + +You can also store this in `~/.aider.conf.yml`: + +```yaml +openai-api-base: https://api.githubcopilot.com +openai-api-key: "" +model: openai/gpt-4o +weak-model: openai/gpt-4o-mini +show-model-warnings: false +``` + +--- + +## Notes & FAQ + +* Copilot billing is handled entirely by GitHub. Calls made through aider count against your + Copilot subscription, not a separate OpenAI bill. +* Tokens created by **Neovim copilot.lua** or older `hosts.json` files sometimes lack the + required scopes. If you get `access to this endpoint is forbidden`, regenerate the token via a + JetBrains IDE or VS Code Copilot extension. +* The Copilot terms of service allow third-party “agents” that access the LLM endpoint. Aider + merely follows the documented API and **does not scrape the web UI**. + +Happy hacking! From 6a3bb0f4ec36655ef4187380eae84bb236d4cd03 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 10 May 2025 17:12:52 -0700 Subject: [PATCH 12/82] docs: Remove closing line and clarify Copilot billing --- aider/website/docs/llms/github.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/aider/website/docs/llms/github.md b/aider/website/docs/llms/github.md index 2e305b619..07149c04f 100644 --- a/aider/website/docs/llms/github.md +++ b/aider/website/docs/llms/github.md @@ -73,11 +73,10 @@ show-model-warnings: false ## Notes & FAQ * Copilot billing is handled entirely by GitHub. Calls made through aider count against your - Copilot subscription, not a separate OpenAI bill. + Copilot subscription, even though aider will still print estimated costs. * Tokens created by **Neovim copilot.lua** or older `hosts.json` files sometimes lack the required scopes. If you get `access to this endpoint is forbidden`, regenerate the token via a JetBrains IDE or VS Code Copilot extension. * The Copilot terms of service allow third-party “agents” that access the LLM endpoint. Aider merely follows the documented API and **does not scrape the web UI**. -Happy hacking! From cdd15462439bbb6ec49dd4b69e34a7424747635c Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 17:12:55 -0700 Subject: [PATCH 13/82] docs: Improve GitHub Copilot connection docs tone and structure --- aider/website/docs/llms/github.md | 97 +++++++++++++++++++------------ 1 file changed, 60 insertions(+), 37 deletions(-) diff --git a/aider/website/docs/llms/github.md b/aider/website/docs/llms/github.md index 07149c04f..3d4381a44 100644 --- a/aider/website/docs/llms/github.md +++ b/aider/website/docs/llms/github.md @@ -3,44 +3,56 @@ parent: Connecting to LLMs nav_order: 510 --- -# GitHub Copilot models +# GitHub Copilot compatible API -Aider can talk to the GitHub Copilot LLMs because Copilot exposes an **OpenAI-compatible** REST -API at `https://api.githubcopilot.com`. +Aider can connect to GitHub Copilot’s LLMs because Copilot exposes a standard **OpenAI-style** +endpoint at: -The only trick is getting an OAuth access token that has permission to call the Copilot -endpoint. -The easiest, **official** way is to sign in to Copilot from any JetBrains IDE -(Goland, PyCharm, etc). -After you sign in, a file appears at: +``` +https://api.githubcopilot.com +``` + +First, install aider: + +{% include install.md %} + +--- + +## Configure your environment + +```bash +# macOS/Linux +export OPENAI_API_BASE=https://api.githubcopilot.com +export OPENAI_API_KEY= + +# Windows (PowerShell) +setx OPENAI_API_BASE https://api.githubcopilot.com +setx OPENAI_API_KEY +# …restart the shell after setx commands +``` + +--- + +### Where do I get the token? +The easiest path is to sign in to Copilot from any JetBrains IDE (PyCharm, GoLand, etc). +After you authenticate a file appears: ``` ~/.config/github-copilot/apps.json ``` -Inside you will find an `oauth_token` value – copy that string, **it is your API key**. +Copy the `oauth_token` value – that string is your `OPENAI_API_KEY`. + +*Note:* tokens created by the Neovim **copilot.lua** plugin (old `hosts.json`) sometimes lack the +needed scopes. If you see “access to this endpoint is forbidden”, regenerate the token with a +JetBrains IDE or the VS Code Copilot extension. --- -## Configure the environment - -```bash -# macOS/Linux -export OPENAI_API_BASE=https://api.githubcopilot.com -export OPENAI_API_KEY= - -# Windows (PowerShell) -setx OPENAI_API_BASE https://api.githubcopilot.com -setx OPENAI_API_KEY -# …restart the shell so the variables are picked up -``` - ---- - -## Pick a model +## Discover available models Copilot hosts many models (OpenAI, Anthropic, Google, etc). -You can discover the list that your subscription allows with: +List the models your subscription allows with: ```bash curl -s https://api.githubcopilot.com/models \ @@ -49,8 +61,7 @@ curl -s https://api.githubcopilot.com/models \ -H "Copilot-Integration-Id: vscode-chat" | jq -r '.data[].id' ``` -The returned IDs are used exactly like OpenAI models, but **prefixed with `openai/`** when you -pass them to aider: +Each returned ID can be used with aider by **prefixing it with `openai/`**: ```bash aider --model openai/gpt-4o @@ -58,7 +69,21 @@ aider --model openai/gpt-4o aider --model openai/claude-3.7-sonnet-thought ``` -You can also store this in `~/.aider.conf.yml`: +--- + +## Quick start + +```bash +# change into your project +cd /to/your/project + +# talk to Copilot +aider --model openai/gpt-4o +``` + +--- + +## Optional config file (`~/.aider.conf.yml`) ```yaml openai-api-base: https://api.githubcopilot.com @@ -70,13 +95,11 @@ show-model-warnings: false --- -## Notes & FAQ +## FAQ -* Copilot billing is handled entirely by GitHub. Calls made through aider count against your - Copilot subscription, even though aider will still print estimated costs. -* Tokens created by **Neovim copilot.lua** or older `hosts.json` files sometimes lack the - required scopes. If you get `access to this endpoint is forbidden`, regenerate the token via a - JetBrains IDE or VS Code Copilot extension. -* The Copilot terms of service allow third-party “agents” that access the LLM endpoint. Aider - merely follows the documented API and **does not scrape the web UI**. +* Calls made through aider are billed through your Copilot subscription + (aider will still print *estimated* costs). +* The Copilot docs explicitly allow third-party “agents” that hit this API – aider is playing by + the rules. +* Aider talks directly to the REST endpoint—no web-UI scraping or browser automation. From 2c4a12609345383a7c2a15036767964e53788a1c Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 10 May 2025 17:13:36 -0700 Subject: [PATCH 14/82] copy --- aider/website/assets/sample-analytics.jsonl | 308 ++++++++++---------- aider/website/docs/faq.md | 9 +- aider/website/docs/llms/github.md | 2 +- 3 files changed, 157 insertions(+), 162 deletions(-) diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index f0b027940..b7178b626 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,157 +1,3 @@ -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746757599} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746757600} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746757600} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746757600} -{"event": "command_edit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746757603} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746757626} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 7987, "completion_tokens": 400, "total_tokens": 8387, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746757703} -{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758816} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758822} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758823} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758823} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758823} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9336, "completion_tokens": 219, "total_tokens": 9555, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758868} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758914} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758915} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758915} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758915} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9337, "completion_tokens": 301, "total_tokens": 9638, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758940} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758940} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758952} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758952} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758952} -{"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746758959} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759050} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759051} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759051} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759051} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759060} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 6990, "completion_tokens": 577, "total_tokens": 7567, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759125} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759154} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759155} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759155} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759155} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9336, "completion_tokens": 117, "total_tokens": 9453, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759214} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746759214} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795628} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795628} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 7628, "completion_tokens": 123, "total_tokens": 7751, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795637} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795698} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 8182, "completion_tokens": 309, "total_tokens": 8491, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795705} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795754} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795755} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795755} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-preview-05-06", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-preview-05-06", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795755} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795756} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746795756} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796457} -{"event": "model warning", "properties": {"main_model": "google/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "google/REDACTED"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796459} -{"event": "exit", "properties": {"reason": "Keyboard interrupt during model warnings"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796467} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796482} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796485} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796485} -{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796485} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796486} -{"event": "message_send", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole", "prompt_tokens": 8735, "completion_tokens": 10, "total_tokens": 8745, "cost": 0.01101875, "total_cost": 0.01101875}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796490} -{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796491} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796529} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796530} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796530} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796530} -{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796536} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796540} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796589} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796617} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 26887, "completion_tokens": 185, "total_tokens": 27072, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796623} -{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796634} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796655} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 27130, "completion_tokens": 528, "total_tokens": 27658, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796666} -{"event": "command_reset", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796846} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796848} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796859} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 14018, "completion_tokens": 113, "total_tokens": 14131, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746796864} -{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798309} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798501} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798502} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798502} -{"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798506} -{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798522} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798528} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798528} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798528} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798528} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9316, "completion_tokens": 152, "total_tokens": 9468, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798578} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798578} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798607} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798607} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798607} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798611} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798618} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798619} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798619} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798619} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798635} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 7630, "completion_tokens": 132, "total_tokens": 7762, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798640} -{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798648} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798651} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798651} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798651} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798651} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798652} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798655} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798655} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798655} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798659} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798672} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798673} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798673} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798676} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798724} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798724} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798724} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798728} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798742} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798742} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798742} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798742} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798757} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798806} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798806} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798806} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798806} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798809} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798819} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9628, "completion_tokens": 60, "total_tokens": 9688, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798824} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798826} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 15462, "completion_tokens": 392, "total_tokens": 15854, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798833} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 8163, "completion_tokens": 778, "total_tokens": 8941, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798847} -{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798856} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798865} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798865} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798865} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798869} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798877} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798877} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798877} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798880} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798886} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798887} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798887} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798890} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798929} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798929} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 8014, "completion_tokens": 157, "total_tokens": 8171, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798936} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798958} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798990} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798990} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798990} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798994} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798997} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798998} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746798998} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799001} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799005} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799005} {"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799005} {"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799009} {"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 8952, "completion_tokens": 611, "total_tokens": 9563, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799035} @@ -998,3 +844,157 @@ {"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905425} {"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 7652, "completion_tokens": 189, "total_tokens": 7841, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905487} {"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905487} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905655} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905656} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905657} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905658} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905741} +{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905743} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905743} +{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905743} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905743} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905743} +{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905743} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905743} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905743} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905784} +{"event": "gui session", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905784} +{"event": "exit", "properties": {"reason": "GUI session ended"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905784} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906166} +{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906167} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906167} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906167} +{"event": "command_edit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906168} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906321} +{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906476} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906479} +{"event": "command_reasoning-effort", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906480} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906483} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906490} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906498} +{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906498} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906498} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906498} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906515} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906516} +{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906517} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906517} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906517} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906520} +{"event": "command_reasoning-effort", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906522} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906525} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 16465, "completion_tokens": 7678, "total_tokens": 24143, "cost": 0.47177, "total_cost": 0.47177}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906630} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906722} +{"event": "repo", "properties": {"num_files": 625}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906725} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906725} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906725} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906728} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906728} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906732} +{"event": "repo", "properties": {"num_files": 625}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906734} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906734} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906734} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906743} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906757} +{"event": "repo", "properties": {"num_files": 625}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906759} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906759} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906759} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906773} +{"event": "repo", "properties": {"num_files": 625}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906774} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906774} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906774} +{"event": "command_settings", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906785} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906827} +{"event": "command_reasoning-effort", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906829} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906832} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906846} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906849} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 18415, "completion_tokens": 1143, "total_tokens": 19558, "cost": 0.22987000000000002, "total_cost": 0.22987000000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906849} +{"event": "repo", "properties": {"num_files": 625}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906852} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906852} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906852} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906867} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906867} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906870} +{"event": "repo", "properties": {"num_files": 625}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906872} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906872} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906872} +{"event": "command_settings", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906874} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906881} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906881} diff --git a/aider/website/docs/faq.md b/aider/website/docs/faq.md index bf3b93cea..492e07827 100644 --- a/aider/website/docs/faq.md +++ b/aider/website/docs/faq.md @@ -264,14 +264,9 @@ tr:hover { background-color: #f5f5f5; } - - - + +
Model NameTotal TokensPercent
gemini/gemini-2.5-pro-exp-03-251,253,24390.6%
o3121,0238.8%
openrouter/REDACTED8,7450.6%
gemini/gemini-2.5-pro-exp-03-251,063,65686.6%
o3164,72413.4%
- -{: .note :} -Some models show as REDACTED, because they are new or unpopular models. -Aider's analytics only records the names of "well known" LLMs. ## How are the "aider wrote xx% of code" stats computed? diff --git a/aider/website/docs/llms/github.md b/aider/website/docs/llms/github.md index 3d4381a44..890194499 100644 --- a/aider/website/docs/llms/github.md +++ b/aider/website/docs/llms/github.md @@ -3,7 +3,7 @@ parent: Connecting to LLMs nav_order: 510 --- -# GitHub Copilot compatible API +# GitHub Copilot Aider can connect to GitHub Copilot’s LLMs because Copilot exposes a standard **OpenAI-style** endpoint at: From b1d47c47d93ec63ae207a4b696adc5182c1f5869 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 17:56:29 -0700 Subject: [PATCH 15/82] chore: Add shtab file completions to args --- aider/args.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/aider/args.py b/aider/args.py index 1543bb07e..2a4f7371c 100644 --- a/aider/args.py +++ b/aider/args.py @@ -43,7 +43,7 @@ def get_parser(default_config_files, git_root): group = parser.add_argument_group("Main model") group.add_argument( "files", metavar="FILE", nargs="*", help="files to edit with an LLM (optional)" - ) + ).complete = shtab.FILE group.add_argument( "--model", metavar="MODEL", @@ -110,13 +110,13 @@ def get_parser(default_config_files, git_root): metavar="MODEL_SETTINGS_FILE", default=".aider.model.settings.yml", help="Specify a file with aider model settings for unknown models", - ) + ).complete = shtab.FILE group.add_argument( "--model-metadata-file", metavar="MODEL_METADATA_FILE", default=".aider.model.metadata.json", help="Specify a file with context window and costs for unknown models", - ) + ).complete = shtab.FILE group.add_argument( "--alias", action="append", @@ -262,13 +262,13 @@ def get_parser(default_config_files, git_root): metavar="INPUT_HISTORY_FILE", default=default_input_history_file, help=f"Specify the chat input history file (default: {default_input_history_file})", - ) + ).complete = shtab.FILE group.add_argument( "--chat-history-file", metavar="CHAT_HISTORY_FILE", default=default_chat_history_file, help=f"Specify the chat history file (default: {default_chat_history_file})", - ) + ).complete = shtab.FILE group.add_argument( "--restore-chat-history", action=argparse.BooleanOptionalAction, @@ -280,7 +280,7 @@ def get_parser(default_config_files, git_root): metavar="LLM_HISTORY_FILE", default=None, help="Log the conversation with the LLM to this file (for example, .aider.llm.history)", - ) + ).complete = shtab.FILE ########## group = parser.add_argument_group("Output settings") @@ -406,7 +406,7 @@ def get_parser(default_config_files, git_root): type=lambda path_str: resolve_aiderignore_path(path_str, git_root), default=default_aiderignore_file, help="Specify the aider ignore file (default: .aiderignore in git root)", - ) + ).complete = shtab.FILE group.add_argument( "--subtree-only", action="store_true", @@ -619,7 +619,7 @@ def get_parser(default_config_files, git_root): "Specify a file containing the message to send the LLM, process reply, then exit" " (disables chat mode)" ), - ) + ).complete = shtab.FILE group.add_argument( "--gui", "--browser", @@ -637,7 +637,7 @@ def get_parser(default_config_files, git_root): "--apply", metavar="FILE", help="Apply the changes from the given file instead of running the chat (debug)", - ) + ).complete = shtab.FILE group.add_argument( "--apply-clipboard-edits", action="store_true", @@ -698,13 +698,13 @@ def get_parser(default_config_files, git_root): action="append", metavar="FILE", help="specify a file to edit (can be used multiple times)", - ) + ).complete = shtab.FILE group.add_argument( "--read", action="append", metavar="FILE", help="specify a read-only file (can be used multiple times)", - ) + ).complete = shtab.FILE group.add_argument( "--vim", action="store_true", @@ -734,7 +734,7 @@ def get_parser(default_config_files, git_root): "--load", metavar="LOAD_FILE", help="Load and execute /commands from a file on launch", - ) + ).complete = shtab.FILE group.add_argument( "--encoding", default="utf-8", @@ -763,7 +763,7 @@ def get_parser(default_config_files, git_root): metavar="ENV_FILE", default=default_env_file(git_root), help="Specify the .env file to load (default: .env in git root)", - ) + ).complete = shtab.FILE group.add_argument( "--suggest-shell-commands", action=argparse.BooleanOptionalAction, From f8653613bc934fb31660fe27731caf382bb72a23 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 19:42:22 -0700 Subject: [PATCH 16/82] feat: Add shell completion for edit format options --- aider/args.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/aider/args.py b/aider/args.py index 2a4f7371c..59bf876b7 100644 --- a/aider/args.py +++ b/aider/args.py @@ -7,6 +7,7 @@ from pathlib import Path import configargparse import shtab +from aider.coders.base_coder import Coder from aider import __version__ from aider.args_formatter import ( @@ -40,6 +41,10 @@ def get_parser(default_config_files, git_root): config_file_parser_class=configargparse.YAMLConfigFileParser, auto_env_var_prefix="AIDER_", ) + # List of valid edit formats for argparse validation & shtab completion + edit_format_choices = sorted( + getattr(Coder, "EDIT_FORMATS", ["architect", "diff", "patch", "unified_diff"]) + ) group = parser.add_argument_group("Main model") group.add_argument( "files", metavar="FILE", nargs="*", help="files to edit with an LLM (optional)" @@ -149,6 +154,7 @@ def get_parser(default_config_files, git_root): "--edit-format", "--chat-mode", metavar="EDIT_FORMAT", + choices=edit_format_choices, default=None, help="Specify what edit format the LLM should use (default depends on model)", ) @@ -183,6 +189,7 @@ def get_parser(default_config_files, git_root): group.add_argument( "--editor-edit-format", metavar="EDITOR_EDIT_FORMAT", + choices=edit_format_choices, default=None, help="Specify the edit format for the editor model (default: depends on editor model)", ) From 97f3885357c0a8a813d07bcc1b99bdc7fc338f76 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 19:42:28 -0700 Subject: [PATCH 17/82] chore: Apply linter rules --- aider/args.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aider/args.py b/aider/args.py index 59bf876b7..045a5cf43 100644 --- a/aider/args.py +++ b/aider/args.py @@ -7,7 +7,6 @@ from pathlib import Path import configargparse import shtab -from aider.coders.base_coder import Coder from aider import __version__ from aider.args_formatter import ( @@ -15,6 +14,7 @@ from aider.args_formatter import ( MarkdownHelpFormatter, YamlHelpFormatter, ) +from aider.coders.base_coder import Coder from aider.deprecated import add_deprecated_model_args from .dump import dump # noqa: F401 From 702eff1033304fa7880a198a5d72bf025d3ee913 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 19:44:44 -0700 Subject: [PATCH 18/82] refactor: Get edit format choices from coder classes --- aider/args.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/aider/args.py b/aider/args.py index 045a5cf43..87b3efcfd 100644 --- a/aider/args.py +++ b/aider/args.py @@ -41,9 +41,17 @@ def get_parser(default_config_files, git_root): config_file_parser_class=configargparse.YAMLConfigFileParser, auto_env_var_prefix="AIDER_", ) - # List of valid edit formats for argparse validation & shtab completion + # List of valid edit formats for argparse validation & shtab completion. + # Dynamically gather them from the registered coder classes so the list + # stays in sync if new formats are added. + from aider import coders as _aider_coders + edit_format_choices = sorted( - getattr(Coder, "EDIT_FORMATS", ["architect", "diff", "patch", "unified_diff"]) + { + c.edit_format + for c in _aider_coders.__all__ + if hasattr(c, "edit_format") and c.edit_format is not None + } ) group = parser.add_argument_group("Main model") group.add_argument( From 035d99d3d3e619c34ea7b3c036970d67a9b95c0c Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 19:45:04 -0700 Subject: [PATCH 19/82] fix: Remove unused import Coder --- aider/args.py | 1 - 1 file changed, 1 deletion(-) diff --git a/aider/args.py b/aider/args.py index 87b3efcfd..2ef586923 100644 --- a/aider/args.py +++ b/aider/args.py @@ -14,7 +14,6 @@ from aider.args_formatter import ( MarkdownHelpFormatter, YamlHelpFormatter, ) -from aider.coders.base_coder import Coder from aider.deprecated import add_deprecated_model_args from .dump import dump # noqa: F401 From f018b5fab54f767d69162ce9395f751aa33e2587 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 11 May 2025 07:56:55 -0700 Subject: [PATCH 20/82] include pip in uv installs --- aider/website/docs/install.md | 14 +++++++------- aider/website/install.ps1 | 2 +- aider/website/install.sh | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/aider/website/docs/install.md b/aider/website/docs/install.md index 024c76f34..0ebf1d2e2 100644 --- a/aider/website/docs/install.md +++ b/aider/website/docs/install.md @@ -28,12 +28,6 @@ These one-liners will install aider, along with python 3.12 if needed. They are based on the [uv installers](https://docs.astral.sh/uv/getting-started/installation/). -#### Windows - -```powershell -powershell -ExecutionPolicy ByPass -c "irm https://aider.chat/install.ps1 | iex" -``` - #### Mac & Linux Use curl to download the script and execute it with sh: @@ -48,6 +42,12 @@ If your system doesn't have curl, you can use wget: wget -qO- https://aider.chat/install.sh | sh ``` +#### Windows + +```powershell +powershell -ExecutionPolicy ByPass -c "irm https://aider.chat/install.ps1 | iex" +``` + ## Install with uv @@ -55,7 +55,7 @@ You can install aider with uv: ```bash python -m pip install uv # If you need to install uv -uv tool install --force --python python3.12 aider-chat@latest +uv tool install --force --python python3.12 --with pip aider-chat@latest ``` This will install uv using your existing python version 3.8-3.13, diff --git a/aider/website/install.ps1 b/aider/website/install.ps1 index 116b5e118..dcb2376e8 100644 --- a/aider/website/install.ps1 +++ b/aider/website/install.ps1 @@ -425,7 +425,7 @@ function Invoke-Installer($artifacts, $platforms) { Write-Information "" Write-Information "Installing aider-chat..." - & "$dest_dir\uv.exe" tool install --force --python python3.12 aider-chat@latest + & "$dest_dir\uv.exe" tool install --force --python python3.12 --with pip aider-chat@latest if (-not $NoModifyPath) { Add-Ci-Path $dest_dir diff --git a/aider/website/install.sh b/aider/website/install.sh index e0e234826..187d706ef 100644 --- a/aider/website/install.sh +++ b/aider/website/install.sh @@ -1178,7 +1178,7 @@ install() { say "Installing aider..." say "" # Install aider-chat using the newly installed uv - ensure "${_install_dir}/uv" tool install --force --python python3.12 aider-chat@latest + ensure "${_install_dir}/uv" tool install --force --python python3.12 --with pip aider-chat@latest # Avoid modifying the users PATH if they are managing their PATH manually case :$PATH: From a53ab7d937c110fa65d826ad5bdb36e7ee7f16d2 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 11 May 2025 08:13:11 -0700 Subject: [PATCH 21/82] fix: Correct test for invalid --edit-format argument --- tests/basic/test_main.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index 0836c75d7..701b98dab 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -950,15 +950,18 @@ class TestMain(TestCase): def test_invalid_edit_format(self): with GitTemporaryDirectory(): with patch("aider.io.InputOutput.offer_url") as mock_offer_url: - result = main( - ["--edit-format", "not-a-real-format", "--exit", "--yes"], - input=DummyInput(), - output=DummyOutput(), - ) - self.assertEqual(result, 1) # main() should return 1 on error - mock_offer_url.assert_called_once() - args, _ = mock_offer_url.call_args - self.assertEqual(args[0], "https://aider.chat/docs/more/edit-formats.html") + # Suppress stderr for this test as argparse prints an error message + with patch('sys.stderr', new_callable=StringIO): + result = main( + ["--edit-format", "not-a-real-format", "--exit", "--yes"], + input=DummyInput(), + output=DummyOutput(), + ) + # main() should return 1 when argparse itself fails due to an invalid choice + # (argparse exits with 2, which main converts to 1) + self.assertEqual(result, 1) + # offer_url is not called because argparse handles the error before aider's custom check + mock_offer_url.assert_not_called() def test_default_model_selection(self): with GitTemporaryDirectory(): From 9e0d7d9c46bfe7a311ceb4de8c71a409e19eae6d Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 11 May 2025 08:13:18 -0700 Subject: [PATCH 22/82] style: Fix code style in test --- tests/basic/test_main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index 701b98dab..c2589bc20 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -951,7 +951,7 @@ class TestMain(TestCase): with GitTemporaryDirectory(): with patch("aider.io.InputOutput.offer_url") as mock_offer_url: # Suppress stderr for this test as argparse prints an error message - with patch('sys.stderr', new_callable=StringIO): + with patch("sys.stderr", new_callable=StringIO): result = main( ["--edit-format", "not-a-real-format", "--exit", "--yes"], input=DummyInput(), From b79052501d4eb1be99987e0b194ebbaf8a3dfb7b Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 11 May 2025 08:13:27 -0700 Subject: [PATCH 23/82] style: Shorten comment to fix E501 --- tests/basic/test_main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index c2589bc20..4458c16e4 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -960,7 +960,7 @@ class TestMain(TestCase): # main() should return 1 when argparse itself fails due to an invalid choice # (argparse exits with 2, which main converts to 1) self.assertEqual(result, 1) - # offer_url is not called because argparse handles the error before aider's custom check + # offer_url not called: argparse handles error before aider's custom check mock_offer_url.assert_not_called() def test_default_model_selection(self): From 5f24a0013af480e9e749a0216626a9e0c457e119 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 11 May 2025 08:15:03 -0700 Subject: [PATCH 24/82] test: Fix invalid edit format test assertion --- tests/basic/test_main.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index 4458c16e4..5d94e725a 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -949,19 +949,16 @@ class TestMain(TestCase): def test_invalid_edit_format(self): with GitTemporaryDirectory(): - with patch("aider.io.InputOutput.offer_url") as mock_offer_url: - # Suppress stderr for this test as argparse prints an error message - with patch("sys.stderr", new_callable=StringIO): + # Suppress stderr for this test as argparse prints an error message + with patch("sys.stderr", new_callable=StringIO): + with self.assertRaises(SystemExit) as cm: result = main( ["--edit-format", "not-a-real-format", "--exit", "--yes"], input=DummyInput(), output=DummyOutput(), ) - # main() should return 1 when argparse itself fails due to an invalid choice - # (argparse exits with 2, which main converts to 1) - self.assertEqual(result, 1) - # offer_url not called: argparse handles error before aider's custom check - mock_offer_url.assert_not_called() + # argparse.ArgumentParser.exit() is called with status 2 for invalid choice + self.assertEqual(cm.exception.code, 2) def test_default_model_selection(self): with GitTemporaryDirectory(): From 6b9045a2a2e74dcc6e0e5536c5bc8650c7b3b86b Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 11 May 2025 08:15:19 -0700 Subject: [PATCH 25/82] fix: Fix F841 unused variable in test --- tests/basic/test_main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index 5d94e725a..40119669e 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -952,7 +952,7 @@ class TestMain(TestCase): # Suppress stderr for this test as argparse prints an error message with patch("sys.stderr", new_callable=StringIO): with self.assertRaises(SystemExit) as cm: - result = main( + _ = main( ["--edit-format", "not-a-real-format", "--exit", "--yes"], input=DummyInput(), output=DummyOutput(), From 57020a2d5e2a12aea4c46276843c3eb2e7ae24d4 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 11 May 2025 08:16:08 -0700 Subject: [PATCH 26/82] test: Assert specific stderr messages for invalid edit format --- tests/basic/test_main.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index 40119669e..1fe387ccf 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -950,7 +950,7 @@ class TestMain(TestCase): def test_invalid_edit_format(self): with GitTemporaryDirectory(): # Suppress stderr for this test as argparse prints an error message - with patch("sys.stderr", new_callable=StringIO): + with patch("sys.stderr", new_callable=StringIO) as mock_stderr: with self.assertRaises(SystemExit) as cm: _ = main( ["--edit-format", "not-a-real-format", "--exit", "--yes"], @@ -959,6 +959,9 @@ class TestMain(TestCase): ) # argparse.ArgumentParser.exit() is called with status 2 for invalid choice self.assertEqual(cm.exception.code, 2) + stderr_output = mock_stderr.getvalue() + self.assertIn("invalid choice", stderr_output) + self.assertIn("not-a-real-format", stderr_output) def test_default_model_selection(self): with GitTemporaryDirectory(): From bdd67eb229f9642c9b3dbecf48dbf5300cb2e766 Mon Sep 17 00:00:00 2001 From: wangboxue Date: Mon, 12 May 2025 11:50:56 +0800 Subject: [PATCH 27/82] fix: Fix #3987 Pass the coder object to repo.commit --- aider/commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aider/commands.py b/aider/commands.py index 37bcf0289..aaf6d7ddd 100644 --- a/aider/commands.py +++ b/aider/commands.py @@ -346,7 +346,7 @@ class Commands: return commit_message = args.strip() if args else None - self.coder.repo.commit(message=commit_message) + self.coder.repo.commit(message=commit_message, coder=self.coder) def cmd_lint(self, args="", fnames=None): "Lint and fix in-chat files or all dirty files if none in chat" From bc1272f02906be9f118ebd40fc8e9a5f236b74f9 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 13 May 2025 13:38:18 -0700 Subject: [PATCH 28/82] fix: base coder not ignoring gitignore if --file is used. --- aider/coders/base_coder.py | 1 + tests/basic/test_main.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index f37e47bed..5dbe03cf9 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -445,6 +445,7 @@ class Coder: fname = Path(fname) if self.repo and self.repo.git_ignored_file(fname): self.io.tool_warning(f"Skipping {fname} that matches gitignore spec.") + continue if self.repo and self.repo.ignored_file(fname): self.io.tool_warning(f"Skipping {fname} that matches aiderignore spec.") diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index 1fe387ccf..aa2b11baa 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -1278,6 +1278,21 @@ class TestMain(TestCase): for call in mock_io_instance.tool_warning.call_args_list: self.assertNotIn("Cost estimates may be inaccurate", call[0][0]) + def test_argv_file_respects_git(self): + with GitTemporaryDirectory(): + fname = Path("not_in_git.txt") + fname.touch() + with open(".gitignore", "w+") as f: + f.write("not_in_git.txt") + coder = main( + argv=["--file", "not_in_git.txt"], + input=DummyInput(), + output=DummyOutput(), + return_coder=True, + ) + self.assertNotIn("not_in_git.txt", str(coder.abs_fnames)) + self.assertFalse(coder.allowed_to_edit("not_in_git.txt")) + def test_load_dotenv_files_override(self): with GitTemporaryDirectory() as git_dir: git_dir = Path(git_dir) @@ -1348,3 +1363,18 @@ class TestMain(TestCase): ) for call in mock_io_instance.tool_warning.call_args_list: self.assertNotIn("Cost estimates may be inaccurate", call[0][0]) + + def test_argv_file_respects_git(self): + with GitTemporaryDirectory(): + fname = Path("not_in_git.txt") + fname.touch() + with open(".gitignore", "w+") as f: + f.write("not_in_git.txt") + coder = main( + argv=["--file", "not_in_git.txt"], + input=DummyInput(), + output=DummyOutput(), + return_coder=True, + ) + self.assertNotIn("not_in_git.txt", str(coder.abs_fnames)) + self.assertFalse(coder.allowed_to_edit("not_in_git.txt")) From 9cf373039edc724334c04bbe53b7799edcea99d9 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 13 May 2025 13:41:58 -0700 Subject: [PATCH 29/82] test: Add test for skipping gitignored files on init --- tests/basic/test_coder.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/basic/test_coder.py b/tests/basic/test_coder.py index e9cbe6842..362f863b6 100644 --- a/tests/basic/test_coder.py +++ b/tests/basic/test_coder.py @@ -834,6 +834,34 @@ two self.assertNotIn(fname2, str(coder.abs_fnames)) self.assertNotIn(fname3, str(coder.abs_fnames)) + def test_skip_gitignored_files_on_init(self): + with GitTemporaryDirectory() as tmpdir: + repo_path = Path(tmpdir) + repo = git.Repo.init(repo_path) + + ignored_file = repo_path / "ignored_by_git.txt" + ignored_file.write_text("This file should be ignored by git.") + + regular_file = repo_path / "regular_file.txt" + regular_file.write_text("This is a regular file.") + + gitignore_content = "ignored_by_git.txt\n" + (repo_path / ".gitignore").write_text(gitignore_content) + + repo.index.add([str(regular_file), ".gitignore"]) + repo.index.commit("Initial commit with gitignore and regular file") + + mock_io = MagicMock() + mock_io.tool_warning = MagicMock() + + fnames_to_add = [str(ignored_file), str(regular_file)] + + coder = Coder.create(self.GPT35, None, mock_io, fnames=fnames_to_add, repo=repo) + + self.assertNotIn(str(ignored_file.resolve()), coder.abs_fnames) + self.assertIn(str(regular_file.resolve()), coder.abs_fnames) + mock_io.tool_warning.assert_any_call(f"Skipping {ignored_file.name} that matches gitignore spec.") + def test_check_for_urls(self): io = InputOutput(yes=True) coder = Coder.create(self.GPT35, None, io=io) From 6aa05ab11cb624d8c18f213a9899d64eaced4cbc Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 13 May 2025 13:42:04 -0700 Subject: [PATCH 30/82] style: Format test file --- tests/basic/test_coder.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/basic/test_coder.py b/tests/basic/test_coder.py index 362f863b6..d02e9e77f 100644 --- a/tests/basic/test_coder.py +++ b/tests/basic/test_coder.py @@ -860,7 +860,9 @@ two self.assertNotIn(str(ignored_file.resolve()), coder.abs_fnames) self.assertIn(str(regular_file.resolve()), coder.abs_fnames) - mock_io.tool_warning.assert_any_call(f"Skipping {ignored_file.name} that matches gitignore spec.") + mock_io.tool_warning.assert_any_call( + f"Skipping {ignored_file.name} that matches gitignore spec." + ) def test_check_for_urls(self): io = InputOutput(yes=True) From 756372809e7d3032247ed9b08b8664fa2b5b3fae Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Tue, 13 May 2025 13:44:23 -0700 Subject: [PATCH 31/82] test: Update tests for git integration --- tests/basic/test_coder.py | 4 ++-- tests/basic/test_main.py | 15 --------------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/tests/basic/test_coder.py b/tests/basic/test_coder.py index d02e9e77f..175288cae 100644 --- a/tests/basic/test_coder.py +++ b/tests/basic/test_coder.py @@ -836,7 +836,7 @@ two def test_skip_gitignored_files_on_init(self): with GitTemporaryDirectory() as tmpdir: - repo_path = Path(tmpdir) + repo_path = Path(".") repo = git.Repo.init(repo_path) ignored_file = repo_path / "ignored_by_git.txt" @@ -856,7 +856,7 @@ two fnames_to_add = [str(ignored_file), str(regular_file)] - coder = Coder.create(self.GPT35, None, mock_io, fnames=fnames_to_add, repo=repo) + coder = Coder.create(self.GPT35, None, mock_io, fnames=fnames_to_add) self.assertNotIn(str(ignored_file.resolve()), coder.abs_fnames) self.assertIn(str(regular_file.resolve()), coder.abs_fnames) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index aa2b11baa..ebdc4d450 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -1363,18 +1363,3 @@ class TestMain(TestCase): ) for call in mock_io_instance.tool_warning.call_args_list: self.assertNotIn("Cost estimates may be inaccurate", call[0][0]) - - def test_argv_file_respects_git(self): - with GitTemporaryDirectory(): - fname = Path("not_in_git.txt") - fname.touch() - with open(".gitignore", "w+") as f: - f.write("not_in_git.txt") - coder = main( - argv=["--file", "not_in_git.txt"], - input=DummyInput(), - output=DummyOutput(), - return_coder=True, - ) - self.assertNotIn("not_in_git.txt", str(coder.abs_fnames)) - self.assertFalse(coder.allowed_to_edit("not_in_git.txt")) From 3caab85931be9df2d51b8c61352fa213c20ee8d1 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 13 May 2025 13:44:59 -0700 Subject: [PATCH 32/82] fix: Mark unused variable in test --- tests/basic/test_coder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/basic/test_coder.py b/tests/basic/test_coder.py index 175288cae..9dd0ce37a 100644 --- a/tests/basic/test_coder.py +++ b/tests/basic/test_coder.py @@ -835,7 +835,7 @@ two self.assertNotIn(fname3, str(coder.abs_fnames)) def test_skip_gitignored_files_on_init(self): - with GitTemporaryDirectory() as tmpdir: + with GitTemporaryDirectory() as _: repo_path = Path(".") repo = git.Repo.init(repo_path) From 9f5018e89ebb8ca133aa318f396b108bd6c3b41b Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 21 May 2025 09:58:54 -0700 Subject: [PATCH 33/82] YAML -> yaml --- HISTORY.md | 8 +- README.md | 2 +- aider/args_formatter.py | 2 +- aider/website/HISTORY.md | 8 +- .../_posts/2024-05-13-models-over-time.md | 6 +- aider/website/assets/sample-analytics.jsonl | 382 +++++++++--------- aider/website/assets/sample.aider.conf.yml | 2 +- .../website/docs/config/adv-model-settings.md | 2 +- aider/website/docs/config/aider_conf.md | 4 +- aider/website/docs/config/api-keys.md | 6 +- aider/website/docs/config/editor.md | 2 +- aider/website/docs/faq.md | 5 +- aider/website/docs/llms/vertex.md | 2 +- aider/website/docs/more/infinite-output.md | 1 + aider/website/index.html | 2 +- 15 files changed, 218 insertions(+), 216 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 9cc854f56..675c7ef18 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -411,7 +411,7 @@ - [Aider works with LLM web chat UIs](https://aider.chat/docs/usage/copypaste.html). - New `--copy-paste` mode. - New `/copy-context` command. -- [Set API keys and other environment variables for all providers from command line or yaml conf file](https://aider.chat/docs/config/aider_conf.html#storing-llm-keys). +- [Set API keys and other environment variables for all providers from command line or YAML conf file](https://aider.chat/docs/config/aider_conf.html#storing-llm-keys). - New `--api-key provider=key` setting. - New `--set-env VAR=value` setting. - Added bash and zsh support to `--watch-files`. @@ -579,7 +579,7 @@ ### Aider v0.59.1 -- Check for obsolete `yes: true` in yaml config, show helpful error. +- Check for obsolete `yes: true` in YAML config, show helpful error. - Model settings for openrouter/anthropic/claude-3.5-sonnet:beta ### Aider v0.59.0 @@ -589,7 +589,7 @@ - Still auto-completes the full paths of the repo files like `/add`. - Now supports globs like `src/**/*.py` - Renamed `--yes` to `--yes-always`. - - Now uses `AIDER_YES_ALWAYS` env var and `yes-always:` yaml key. + - Now uses `AIDER_YES_ALWAYS` env var and `yes-always:` YAML key. - Existing YAML and .env files will need to be updated. - Can still abbreviate to `--yes` on the command line. - Config file now uses standard YAML list syntax with ` - list entries`, one per line. @@ -796,7 +796,7 @@ - Use `--map-refresh ` to configure. - Improved cost estimate logic for caching. - Improved editing performance on Jupyter Notebook `.ipynb` files. -- Show which config yaml file is loaded with `--verbose`. +- Show which config YAML file is loaded with `--verbose`. - Bumped dependency versions. - Bugfix: properly load `.aider.models.metadata.json` data. - Bugfix: Using `--msg /ask ...` caused an exception. diff --git a/README.md b/README.md index b380b56f8..4a5ad7e8b 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ cog.out(text) GitHub Stars PyPI Downloads +src="https://img.shields.io/badge/📦%20Installs-2.3M-2ecc71?style=flat-square&labelColor=555555"/> Tokens per week OpenRouter Ranking` to configure. - Improved cost estimate logic for caching. - Improved editing performance on Jupyter Notebook `.ipynb` files. -- Show which config yaml file is loaded with `--verbose`. +- Show which config YAML file is loaded with `--verbose`. - Bumped dependency versions. - Bugfix: properly load `.aider.models.metadata.json` data. - Bugfix: Using `--msg /ask ...` caused an exception. diff --git a/aider/website/_posts/2024-05-13-models-over-time.md b/aider/website/_posts/2024-05-13-models-over-time.md index 7b2bbdf3e..57cc08f89 100644 --- a/aider/website/_posts/2024-05-13-models-over-time.md +++ b/aider/website/_posts/2024-05-13-models-over-time.md @@ -15,12 +15,12 @@ nav_exclude: true I recently wanted to draw a graph showing how LLM code editing skill has been changing over time as new models have been released by OpenAI, Anthropic and others. I have all the -[data in a yaml file](https://github.com/Aider-AI/aider/blob/main/website/_data/edit_leaderboard.yml) that is used to render +[data in a YAML file](https://github.com/Aider-AI/aider/blob/main/website/_data/edit_leaderboard.yml) that is used to render [aider's LLM leaderboards](https://aider.chat/docs/leaderboards/). Below is the aider chat transcript, which shows: -- I launch aider with the yaml file, a file with other plots I've done recently (so GPT can crib the style) and an empty file called `over_time.py`. +- I launch aider with the YAML file, a file with other plots I've done recently (so GPT can crib the style) and an empty file called `over_time.py`. - Then I ask GPT to draw the scatterplot I want. - I run the resulting script and share the error output with GPT so it can fix a small bug. - I ask it to color the points for GPT-4 and GPT-3.5 family models differently, to better see trends within those model families. @@ -28,7 +28,7 @@ Below is the aider chat transcript, which shows: - I work through a series of other small style changes, like changing fonts and the graph border. In the end I have the graph, but I also have the python code in my repo. -So I can update this graph easily whenever I add new entries to the yaml data file. +So I can update this graph easily whenever I add new entries to the YAML data file. ## Aider chat transcript diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index b7178b626..75cbbbe51 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,194 +1,3 @@ -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799005} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799009} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 8952, "completion_tokens": 611, "total_tokens": 9563, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799035} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799044} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 10212, "completion_tokens": 251, "total_tokens": 10463, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799050} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799051} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799051} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799051} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799055} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799058} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799058} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799058} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799061} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799071} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799072} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799072} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799074} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799084} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799085} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799085} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799089} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799137} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799137} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799137} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799141} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799173} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799174} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799174} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799177} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799196} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799196} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799196} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799207} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799207} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799207} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799216} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799223} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799224} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799224} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799236} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799295} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799296} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799296} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799312} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799313} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799313} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799326} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799329} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799330} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799330} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799358} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799358} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799358} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799362} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799371} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799372} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799372} -{"event": "exit", "properties": {"reason": "Showed repo map"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799375} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799385} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799385} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799385} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799385} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9371, "completion_tokens": 166, "total_tokens": 9537, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746799449} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803120} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803121} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803121} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803121} -{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803139} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9346, "completion_tokens": 233, "total_tokens": 9579, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803166} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803201} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803201} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803201} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803201} -{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803204} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803226} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803226} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 23451, "completion_tokens": 1189, "total_tokens": 24640, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803290} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803399} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803409} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803428} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 5344, "completion_tokens": 235, "total_tokens": 5579, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803433} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803437} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803440} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803440} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803440} -{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "diff", "prompt_tokens": 47265, "completion_tokens": 1360, "total_tokens": 48625, "cost": 0.52705, "total_cost": 0.52705}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803472} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803472} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803523} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 5700, "completion_tokens": 275, "total_tokens": 5975, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803529} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803631} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 5985, "completion_tokens": 234, "total_tokens": 6219, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803637} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803643} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803646} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803646} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803646} -{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "diff", "prompt_tokens": 47281, "completion_tokens": 1782, "total_tokens": 49063, "cost": 0.5440900000000001, "total_cost": 0.5440900000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803690} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803690} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803718} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803718} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803718} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803718} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 44733, "completion_tokens": 365, "total_tokens": 45098, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803787} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803787} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803791} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803791} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 6662, "completion_tokens": 261, "total_tokens": 6923, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746803800} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804067} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804086} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804086} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804086} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804086} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804098} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 6018, "completion_tokens": 517, "total_tokens": 6535, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804107} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804368} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804368} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804370} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804370} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804370} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804370} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 32147, "completion_tokens": 247, "total_tokens": 32394, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804504} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746804504} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805231} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805234} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805234} -{"event": "cli session", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805234} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805237} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805245} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805245} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805248} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805250} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805250} -{"event": "cli session", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805250} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805252} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805351} -{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "ask", "prompt_tokens": 7724, "completion_tokens": 21, "total_tokens": 7745, "cost": 0.07808, "total_cost": 0.07808}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805358} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805362} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805362} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805367} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805370} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805370} -{"event": "cli session", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805370} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805371} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805394} -{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "ask", "prompt_tokens": 7749, "completion_tokens": 21, "total_tokens": 7770, "cost": 0.07833, "total_cost": 0.07833}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805398} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805402} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805402} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805407} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805409} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805409} -{"event": "cli session", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805409} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805410} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805414} -{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gpt-4.1", "edit_format": "ask", "prompt_tokens": 7735, "completion_tokens": 85, "total_tokens": 7820, "cost": 0.08075, "total_cost": 0.08075}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805421} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805822} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805822} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805822} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805822} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805895} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 8284, "completion_tokens": 277, "total_tokens": 8561, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805902} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805909} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746805909} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806175} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806176} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806176} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806176} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806181} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 4530, "completion_tokens": 172, "total_tokens": 4702, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806186} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806199} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806199} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 4468, "completion_tokens": 415, "total_tokens": 4883, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806221} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806245} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 10674, "completion_tokens": 489, "total_tokens": 11163, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806259} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806310} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806311} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806321} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 5866, "completion_tokens": 333, "total_tokens": 6199, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806328} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806333} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806333} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806333} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806336} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806342} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 8939, "completion_tokens": 469, "total_tokens": 9408, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806353} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806360} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806382} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806577} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806581} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806581} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806581} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806581} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806581} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} {"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} {"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} {"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} @@ -998,3 +807,194 @@ {"event": "command_settings", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906874} {"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906881} {"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906881} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906907} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906911} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 19252, "completion_tokens": 3312, "total_tokens": 22564, "cost": 0.32500000000000007, "total_cost": 0.7967700000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746906964} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907000} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 20795, "completion_tokens": 819, "total_tokens": 21614, "cost": 0.24071000000000004, "total_cost": 1.0374800000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907018} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907018} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907028} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907028} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 21111, "completion_tokens": 629, "total_tokens": 21740, "cost": 0.23627000000000004, "total_cost": 1.2737500000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907032} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907149} +{"event": "repo", "properties": {"num_files": 626}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907149} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907149} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907149} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907164} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907164} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 8260, "completion_tokens": 198, "total_tokens": 8458, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907181} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907194} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907194} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 9092, "completion_tokens": 81, "total_tokens": 9173, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746907199} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922144} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922164} +{"event": "repo", "properties": {"num_files": 626}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922164} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922164} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922164} +{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922177} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922193} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922195} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922207} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 24042, "completion_tokens": 1120, "total_tokens": 25162, "cost": 0.28522000000000003, "total_cost": 0.28522000000000003}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922221} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922351} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 25371, "completion_tokens": 1983, "total_tokens": 27354, "cost": 0.28599, "total_cost": 0.57121}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922370} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746922461} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924122} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924128} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924129} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924129} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924129} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924139} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924168} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 12481, "completion_tokens": 1846, "total_tokens": 14327, "cost": 0.19865, "total_cost": 0.19865}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924209} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924813} +{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924815} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924828} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924870} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924873} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924874} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924874} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924874} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924876} +{"event": "command_edit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924918} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924947} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 13162, "completion_tokens": 3494, "total_tokens": 16656, "cost": 0.27138000000000007, "total_cost": 0.27138000000000007}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746924986} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746925010} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746925010} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 11873, "completion_tokens": 1523, "total_tokens": 13396, "cost": 0.17965000000000003, "total_cost": 0.4510300000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746925031} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931257} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931257} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 12414, "completion_tokens": 1349, "total_tokens": 13763, "cost": 0.1781, "total_cost": 0.6291300000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931276} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931323} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 14636, "completion_tokens": 1731, "total_tokens": 16367, "cost": 0.2156, "total_cost": 0.8447300000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931339} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931401} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931401} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 13460, "completion_tokens": 575, "total_tokens": 14035, "cost": 0.1576, "total_cost": 1.0023300000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931409} +{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931443} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931468} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 33781, "completion_tokens": 762, "total_tokens": 34543, "cost": 0.36829000000000006, "total_cost": 1.3706200000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931481} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931497} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 34251, "completion_tokens": 390, "total_tokens": 34641, "cost": 0.35811000000000004, "total_cost": 1.72873}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931503} +{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931509} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931511} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931524} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931524} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 23544, "completion_tokens": 2358, "total_tokens": 25902, "cost": 0.32976, "total_cost": 2.05849}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931558} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931604} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 26949, "completion_tokens": 2782, "total_tokens": 29731, "cost": 0.38077, "total_cost": 2.43926}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931635} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931671} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931673} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931687} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931687} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 25753, "completion_tokens": 3637, "total_tokens": 29390, "cost": 0.40301000000000003, "total_cost": 2.84227}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931740} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931775} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931775} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 26597, "completion_tokens": 2041, "total_tokens": 28638, "cost": 0.34761000000000003, "total_cost": 3.18988}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931809} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931842} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 28546, "completion_tokens": 3164, "total_tokens": 31710, "cost": 0.4005, "total_cost": 3.59038}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931881} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931886} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 30694, "completion_tokens": 2212, "total_tokens": 32906, "cost": 0.39542000000000005, "total_cost": 3.9858000000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931938} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931959} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931960} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931960} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931960} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931962} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931968} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931973} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746931975} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746974855} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746974954} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746974958} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746974958} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746974958} +{"event": "command_help", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746974960} +{"event": "interactive help", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746974960} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975109} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "help", "prompt_tokens": 2115, "completion_tokens": 84, "total_tokens": 2199, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975117} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975184} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975184} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975528} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975529} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975529} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975529} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975530} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975530} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975769} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975770} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975770} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975770} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975773} +{"event": "command_reasoning-effort", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975774} +{"event": "command_edit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975825} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975873} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975873} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975906} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 20054, "completion_tokens": 2962, "total_tokens": 23016, "cost": 0.31902, "total_cost": 0.31902}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975906} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975907} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975907} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975907} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975917} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746975917} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976046} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976046} +{"event": "message_send", "properties": {"main_model": "o3", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 20592, "completion_tokens": 921, "total_tokens": 21513, "cost": 0.24276000000000003, "total_cost": 0.5617800000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976064} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976232} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976232} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976239} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976239} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976239} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976239} +{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976245} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976248} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976266} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976274} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976350} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 28239, "completion_tokens": 634, "total_tokens": 28873, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976388} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976401} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 29471, "completion_tokens": 141, "total_tokens": 29612, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976404} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976462} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976493} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 33744, "completion_tokens": 321, "total_tokens": 34065, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976500} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976511} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 34478, "completion_tokens": 151, "total_tokens": 34629, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976516} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976560} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 34693, "completion_tokens": 231, "total_tokens": 34924, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746976566} +{"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747068554} +{"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747068554} +{"event": "ai-comments execute", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747068554} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747068554} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 32464, "completion_tokens": 797, "total_tokens": 33261, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747068572} +{"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747068587} +{"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747068587} +{"event": "ai-comments execute", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747068587} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747152035} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168613} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168614} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168614} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168614} +{"event": "command_context", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168616} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168631} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "context", "prompt_tokens": 12130, "completion_tokens": 259, "total_tokens": 12389, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168670} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168670} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "context", "prompt_tokens": 40592, "completion_tokens": 164, "total_tokens": 40756, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168675} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168685} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 39072, "completion_tokens": 320, "total_tokens": 39392, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168695} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168744} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 39697, "completion_tokens": 212, "total_tokens": 39909, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168802} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168819} +{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168834} +{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168868} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168875} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168879} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168902} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-preview-05-06", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 39839, "completion_tokens": 417, "total_tokens": 40256, "cost": 0.05396875, "total_cost": 0.05396875}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168913} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168980} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168991} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747168995} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169048} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169049} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169049} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169063} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169085} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 15792, "completion_tokens": 134, "total_tokens": 15926, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169097} +{"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169103} diff --git a/aider/website/assets/sample.aider.conf.yml b/aider/website/assets/sample.aider.conf.yml index 7fe9459bf..c8e72e3db 100644 --- a/aider/website/assets/sample.aider.conf.yml +++ b/aider/website/assets/sample.aider.conf.yml @@ -4,7 +4,7 @@ # Place in your home dir, or at the root of your git repo. ########################################################## -# Note: You can only put OpenAI and Anthropic API keys in the yaml +# Note: You can only put OpenAI and Anthropic API keys in the YAML # config file. Keys for all APIs can be stored in a .env file # https://aider.chat/docs/config/dotenv.html diff --git a/aider/website/docs/config/adv-model-settings.md b/aider/website/docs/config/adv-model-settings.md index 311dec9ce..844c7b657 100644 --- a/aider/website/docs/config/adv-model-settings.md +++ b/aider/website/docs/config/adv-model-settings.md @@ -81,7 +81,7 @@ You can override or add settings for any model by creating a `.aider.model.setti If the files above exist, they will be loaded in that order. Files loaded last will take priority. -The yaml file should be a list of dictionary objects for each model. +The YAML file should be a list of dictionary objects for each model. ### Passing extra params to litellm.completion diff --git a/aider/website/docs/config/aider_conf.md b/aider/website/docs/config/aider_conf.md index 99bccf401..a77d70301 100644 --- a/aider/website/docs/config/aider_conf.md +++ b/aider/website/docs/config/aider_conf.md @@ -1,7 +1,7 @@ --- parent: Configuration nav_order: 15 -description: How to configure aider with a yaml config file. +description: How to configure aider with a YAML config file. --- # YAML config file @@ -58,7 +58,7 @@ cog.outl("```") # Place in your home dir, or at the root of your git repo. ########################################################## -# Note: You can only put OpenAI and Anthropic API keys in the yaml +# Note: You can only put OpenAI and Anthropic API keys in the YAML # config file. Keys for all APIs can be stored in a .env file # https://aider.chat/docs/config/dotenv.html diff --git a/aider/website/docs/config/api-keys.md b/aider/website/docs/config/api-keys.md index f353579f1..3be726aa2 100644 --- a/aider/website/docs/config/api-keys.md +++ b/aider/website/docs/config/api-keys.md @@ -40,9 +40,9 @@ OPENAI_API_KEY= ANTHROPIC_API_KEY= ``` -#### Yaml config file +#### YAML config file You can also set those API keys via special entries in the -[yaml config file](/docs/config/aider_conf.html), like this: +[YAML config file](/docs/config/aider_conf.html), like this: ```yaml openai-api-key: @@ -74,7 +74,7 @@ OPENROUTER_API_KEY=bar DEEPSEEK_API_KEY=baz ``` -#### Yaml config file +#### YAML config file You can also set API keys in the diff --git a/aider/website/docs/config/editor.md b/aider/website/docs/config/editor.md index aff3e376c..dc1d74df8 100644 --- a/aider/website/docs/config/editor.md +++ b/aider/website/docs/config/editor.md @@ -12,7 +12,7 @@ Aider allows you to configure your preferred text editor for use with the `/edit You can specify the text editor with the `--editor` switch or using `editor:` in aider's -[yaml config file](https://aider.chat/docs/config/aider_conf.html). +[YAML config file](https://aider.chat/docs/config/aider_conf.html). ## Environment variables diff --git a/aider/website/docs/faq.md b/aider/website/docs/faq.md index 492e07827..33b1cd5f5 100644 --- a/aider/website/docs/faq.md +++ b/aider/website/docs/faq.md @@ -264,8 +264,9 @@ tr:hover { background-color: #f5f5f5; } - - + + +
Model NameTotal TokensPercent
gemini/gemini-2.5-pro-exp-03-251,063,65686.6%
o3164,72413.4%
gemini/gemini-2.5-pro-exp-03-251,209,80167.5%
o3542,66930.3%
gemini/gemini-2.5-pro-preview-05-0640,2562.2%
diff --git a/aider/website/docs/llms/vertex.md b/aider/website/docs/llms/vertex.md index 9dc82ea38..5d6bd20f2 100644 --- a/aider/website/docs/llms/vertex.md +++ b/aider/website/docs/llms/vertex.md @@ -40,7 +40,7 @@ cd /to/your/project aider --model vertex_ai/claude-3-5-sonnet@20240620 ``` -Or you can use the [yaml config](/docs/config/aider_conf.html) to set the model to any of the +Or you can use the [YAML config](/docs/config/aider_conf.html) to set the model to any of the models supported by Vertex AI. Example `.aider.conf.yml` file: diff --git a/aider/website/docs/more/infinite-output.md b/aider/website/docs/more/infinite-output.md index be61226d6..4b69a995e 100644 --- a/aider/website/docs/more/infinite-output.md +++ b/aider/website/docs/more/infinite-output.md @@ -77,6 +77,7 @@ cog.out(model_list) - deepseek/deepseek-reasoner - eu.anthropic.claude-3-5-haiku-20241022-v1:0 - eu.anthropic.claude-3-5-sonnet-20241022-v2:0 +- eu.anthropic.claude-3-7-sonnet-20250219-v1:0 - mistral/codestral-2405 - mistral/codestral-latest - mistral/codestral-mamba-latest diff --git a/aider/website/index.html b/aider/website/index.html index e681a168c..87e19b862 100644 --- a/aider/website/index.html +++ b/aider/website/index.html @@ -73,7 +73,7 @@ cog.out(text)
📦 Installs - 2.2M + 2.3M
📈 Tokens/week From 4e9943f2aa7e43a74f62e05948b2a55bd33795a6 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 14:29:42 -0700 Subject: [PATCH 34/82] copy --- HISTORY.md | 10 +++++++++- aider/website/HISTORY.md | 10 +++++++++- aider/website/assets/sample-analytics.jsonl | 22 ++++++++++----------- aider/website/docs/faq.md | 4 ++-- aider/website/docs/more/infinite-output.md | 11 +++++++++++ 5 files changed, 42 insertions(+), 15 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 675c7ef18..b1a63d254 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,11 +1,19 @@ # Release history +### main branch + +- Added shell tab completion for file path arguments (by saviour) and for `--edit-format`/`--editor-edit-format` options. +- Improved OpenRouter model metadata handling by introducing a local cache, increasing reliability and performance. +- The `/settings` command now displays detailed metadata for active main, editor, and weak models. +- Fixed an issue where files explicitly added via the command line were not correctly ignored if listed in `.gitignore`. +- Improved automatic commit messages by providing more context during their generation, by wangboxue. +- Aider wrote 89% of the code in this release. + ### Aider v0.83.1 - Improved user language detection by correctly normalizing hyphenated language codes (e.g., `en-US` to `en`) and enhancing the validation of locale results. - Prevented Aider from instructing the LLM to reply in 'C' or 'POSIX' when these are detected as the system locale. - Displayed a spinner with the model name when generating commit messages. -- Aider wrote 74% of the code in this release. ### Aider v0.83.0 diff --git a/aider/website/HISTORY.md b/aider/website/HISTORY.md index 741981d3c..c6d55343b 100644 --- a/aider/website/HISTORY.md +++ b/aider/website/HISTORY.md @@ -24,12 +24,20 @@ cog.out(text) ]]]--> +### main branch + +- Added shell tab completion for file path arguments (by saviour) and for `--edit-format`/`--editor-edit-format` options. +- Improved OpenRouter model metadata handling by introducing a local cache, increasing reliability and performance. +- The `/settings` command now displays detailed metadata for active main, editor, and weak models. +- Fixed an issue where files explicitly added via the command line were not correctly ignored if listed in `.gitignore`. +- Improved automatic commit messages by providing more context during their generation, by wangboxue. +- Aider wrote 89% of the code in this release. + ### Aider v0.83.1 - Improved user language detection by correctly normalizing hyphenated language codes (e.g., `en-US` to `en`) and enhancing the validation of locale results. - Prevented Aider from instructing the LLM to reply in 'C' or 'POSIX' when these are detected as the system locale. - Displayed a spinner with the model name when generating commit messages. -- Aider wrote 74% of the code in this release. ### Aider v0.83.0 diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index 75cbbbe51..376627272 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,14 +1,3 @@ -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806582} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806583} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806583} {"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806583} {"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806583} {"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746806583} @@ -998,3 +987,14 @@ {"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169085} {"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 15792, "completion_tokens": 134, "total_tokens": 15926, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169097} {"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1747169103} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035541} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035543} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035543} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035543} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035552} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035604} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035605} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035605} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035605} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 5842, "completion_tokens": 408, "total_tokens": 6250, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035674} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748035674} diff --git a/aider/website/docs/faq.md b/aider/website/docs/faq.md index 33b1cd5f5..07132ce6f 100644 --- a/aider/website/docs/faq.md +++ b/aider/website/docs/faq.md @@ -264,8 +264,8 @@ tr:hover { background-color: #f5f5f5; } - - + +
Model NameTotal TokensPercent
gemini/gemini-2.5-pro-exp-03-251,209,80167.5%
o3542,66930.3%
gemini/gemini-2.5-pro-exp-03-251,216,05167.6%
o3542,66930.2%
gemini/gemini-2.5-pro-preview-05-0640,2562.2%
diff --git a/aider/website/docs/more/infinite-output.md b/aider/website/docs/more/infinite-output.md index 4b69a995e..f756b01c0 100644 --- a/aider/website/docs/more/infinite-output.md +++ b/aider/website/docs/more/infinite-output.md @@ -58,6 +58,9 @@ cog.out(model_list) - anthropic.claude-3-5-haiku-20241022-v1:0 - anthropic.claude-3-5-sonnet-20241022-v2:0 - anthropic.claude-3-7-sonnet-20250219-v1:0 +- anthropic.claude-opus-4-20250514-v1:0 +- anthropic.claude-sonnet-4-20250514-v1:0 +- azure_ai/mistral-medium-2505 - claude-3-5-haiku-20241022 - claude-3-5-haiku-latest - claude-3-5-sonnet-20240620 @@ -69,6 +72,8 @@ cog.out(model_list) - claude-3-opus-20240229 - claude-3-opus-latest - claude-3-sonnet-20240229 +- claude-opus-4-20250514 +- claude-sonnet-4-20250514 - codestral/codestral-2405 - codestral/codestral-latest - databricks/databricks-claude-3-7-sonnet @@ -78,6 +83,8 @@ cog.out(model_list) - eu.anthropic.claude-3-5-haiku-20241022-v1:0 - eu.anthropic.claude-3-5-sonnet-20241022-v2:0 - eu.anthropic.claude-3-7-sonnet-20250219-v1:0 +- eu.anthropic.claude-opus-4-20250514-v1:0 +- eu.anthropic.claude-sonnet-4-20250514-v1:0 - mistral/codestral-2405 - mistral/codestral-latest - mistral/codestral-mamba-latest @@ -106,6 +113,8 @@ cog.out(model_list) - us.anthropic.claude-3-5-haiku-20241022-v1:0 - us.anthropic.claude-3-5-sonnet-20241022-v2:0 - us.anthropic.claude-3-7-sonnet-20250219-v1:0 +- us.anthropic.claude-opus-4-20250514-v1:0 +- us.anthropic.claude-sonnet-4-20250514-v1:0 - vertex_ai/claude-3-5-haiku - vertex_ai/claude-3-5-haiku@20241022 - vertex_ai/claude-3-5-sonnet @@ -119,6 +128,8 @@ cog.out(model_list) - vertex_ai/claude-3-opus@20240229 - vertex_ai/claude-3-sonnet - vertex_ai/claude-3-sonnet@20240229 +- vertex_ai/claude-opus-4@20250514 +- vertex_ai/claude-sonnet-4@20250514 From cb88b7e62afb6580c32338d083b696cfc247a456 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 14:29:57 -0700 Subject: [PATCH 35/82] bump deps --- requirements.txt | 32 +++++++------- requirements/common-constraints.txt | 60 +++++++++++++-------------- requirements/requirements-browser.txt | 8 ++-- requirements/requirements-dev.txt | 16 +++---- requirements/requirements-help.txt | 20 ++++----- 5 files changed, 68 insertions(+), 68 deletions(-) diff --git a/requirements.txt b/requirements.txt index d26543ad1..c0d8f30aa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -60,7 +60,7 @@ click==8.1.8 # via # -c requirements/common-constraints.txt # litellm -configargparse==1.7 +configargparse==1.7.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -90,7 +90,7 @@ frozenlist==1.6.0 # -c requirements/common-constraints.txt # aiohttp # aiosignal -fsspec==2025.3.2 +fsspec==2025.5.0 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -112,11 +112,11 @@ google-api-core[grpc]==2.24.2 # google-ai-generativelanguage # google-api-python-client # google-generativeai -google-api-python-client==2.169.0 +google-api-python-client==2.170.0 # via # -c requirements/common-constraints.txt # google-generativeai -google-auth==2.40.1 +google-auth==2.40.2 # via # -c requirements/common-constraints.txt # google-ai-generativelanguage @@ -154,7 +154,7 @@ h11==0.16.0 # via # -c requirements/common-constraints.txt # httpcore -hf-xet==1.1.0 +hf-xet==1.1.2 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -172,7 +172,7 @@ httpx==0.28.1 # -c requirements/common-constraints.txt # litellm # openai -huggingface-hub==0.31.1 +huggingface-hub==0.32.0 # via # -c requirements/common-constraints.txt # tokenizers @@ -196,7 +196,7 @@ jinja2==3.1.6 # via # -c requirements/common-constraints.txt # litellm -jiter==0.9.0 +jiter==0.10.0 # via # -c requirements/common-constraints.txt # openai @@ -213,7 +213,7 @@ jsonschema-specifications==2025.4.1 # via # -c requirements/common-constraints.txt # jsonschema -litellm==1.68.1 +litellm==1.70.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -241,7 +241,7 @@ mslex==1.3.0 # via # -c requirements/common-constraints.txt # oslex -multidict==6.4.3 +multidict==6.4.4 # via # -c requirements/common-constraints.txt # aiohttp @@ -255,7 +255,7 @@ numpy==1.26.4 # -c requirements/common-constraints.txt # scipy # soundfile -openai==1.75.0 +openai==1.82.0 # via # -c requirements/common-constraints.txt # litellm @@ -281,7 +281,7 @@ pillow==11.2.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -posthog==4.0.1 +posthog==4.1.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -333,7 +333,7 @@ pycparser==2.22 # via # -c requirements/common-constraints.txt # cffi -pydantic==2.11.4 +pydantic==2.11.5 # via # -c requirements/common-constraints.txt # google-generativeai @@ -401,7 +401,7 @@ rich==14.0.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -rpds-py==0.24.0 +rpds-py==0.25.1 # via # -c requirements/common-constraints.txt # jsonschema @@ -437,7 +437,7 @@ socksio==1.0.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -sounddevice==0.5.1 +sounddevice==0.5.2 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -478,7 +478,7 @@ tree-sitter-language-pack==0.7.3 # via # -c requirements/common-constraints.txt # grep-ast -tree-sitter-yaml==0.7.0 +tree-sitter-yaml==0.7.1 # via # -c requirements/common-constraints.txt # tree-sitter-language-pack @@ -494,7 +494,7 @@ typing-extensions==4.13.2 # pydantic-core # referencing # typing-inspection -typing-inspection==0.4.0 +typing-inspection==0.4.1 # via # -c requirements/common-constraints.txt # pydantic diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index 122473cc7..30c1f9f7e 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -65,7 +65,7 @@ cogapp==3.4.1 # via -r requirements/requirements-dev.in colorama==0.4.6 # via griffe -configargparse==1.7 +configargparse==1.7.1 # via -r requirements/requirements.in contourpy==1.3.2 # via matplotlib @@ -103,13 +103,13 @@ filetype==1.2.0 # via llama-index-core flake8==7.2.0 # via -r requirements/requirements.in -fonttools==4.57.0 +fonttools==4.58.0 # via matplotlib frozenlist==1.6.0 # via # aiohttp # aiosignal -fsspec==2025.3.2 +fsspec==2025.5.0 # via # huggingface-hub # llama-index-core @@ -129,9 +129,9 @@ google-api-core[grpc]==2.24.2 # google-cloud-bigquery # google-cloud-core # google-generativeai -google-api-python-client==2.169.0 +google-api-python-client==2.170.0 # via google-generativeai -google-auth==2.40.1 +google-auth==2.40.2 # via # google-ai-generativelanguage # google-api-core @@ -142,7 +142,7 @@ google-auth==2.40.1 # google-generativeai google-auth-httplib2==0.2.0 # via google-api-python-client -google-cloud-bigquery==3.31.0 +google-cloud-bigquery==3.33.0 # via -r requirements/requirements-dev.in google-cloud-core==2.4.3 # via google-cloud-bigquery @@ -172,7 +172,7 @@ grpcio-status==1.71.0 # via google-api-core h11==0.16.0 # via httpcore -hf-xet==1.1.0 +hf-xet==1.1.2 # via huggingface-hub httpcore==1.0.9 # via httpx @@ -185,13 +185,13 @@ httpx==0.28.1 # litellm # llama-index-core # openai -huggingface-hub[inference]==0.31.1 +huggingface-hub[inference]==0.32.0 # via # llama-index-embeddings-huggingface # sentence-transformers # tokenizers # transformers -identify==2.6.10 +identify==2.6.12 # via pre-commit idna==3.10 # via @@ -216,9 +216,9 @@ jinja2==3.1.6 # litellm # pydeck # torch -jiter==0.9.0 +jiter==0.10.0 # via openai -joblib==1.5.0 +joblib==1.5.1 # via # nltk # scikit-learn @@ -233,13 +233,13 @@ jsonschema-specifications==2025.4.1 # via jsonschema kiwisolver==1.4.8 # via matplotlib -litellm==1.68.1 +litellm==1.70.4 # via -r requirements/requirements.in llama-index-core==0.12.26 # via # -r requirements/requirements-help.in # llama-index-embeddings-huggingface -llama-index-embeddings-huggingface==0.5.3 +llama-index-embeddings-huggingface==0.5.4 # via -r requirements/requirements-help.in lox==0.13.0 # via -r requirements/requirements-dev.in @@ -261,7 +261,7 @@ mpmath==1.3.0 # via sympy mslex==1.3.0 # via oslex -multidict==6.4.3 +multidict==6.4.4 # via # aiohttp # yarl @@ -269,7 +269,7 @@ multiprocess==0.70.18 # via pathos mypy-extensions==1.1.0 # via typing-inspect -narwhals==1.38.2 +narwhals==1.40.0 # via altair nest-asyncio==1.6.0 # via llama-index-core @@ -295,7 +295,7 @@ numpy==1.26.4 # soundfile # streamlit # transformers -openai==1.75.0 +openai==1.82.0 # via litellm oslex==0.1.3 # via -r requirements/requirements.in @@ -340,9 +340,9 @@ platformdirs==4.3.8 # virtualenv playwright==1.52.0 # via -r requirements/requirements-playwright.in -pluggy==1.5.0 +pluggy==1.6.0 # via pytest -posthog==4.0.1 +posthog==4.1.0 # via -r requirements/requirements.in pox==0.3.6 # via pathos @@ -385,7 +385,7 @@ pycodestyle==2.13.0 # via flake8 pycparser==2.22 # via cffi -pydantic==2.11.4 +pydantic==2.11.5 # via # banks # google-generativeai @@ -463,7 +463,7 @@ rich==14.0.0 # via # -r requirements/requirements.in # typer -rpds-py==0.24.0 +rpds-py==0.25.1 # via # jsonschema # referencing @@ -482,7 +482,7 @@ semver==3.0.4 # via -r requirements/requirements-dev.in sentence-transformers==4.1.0 # via llama-index-embeddings-huggingface -setuptools==80.3.1 +setuptools==80.8.0 # via pip-tools shellingham==1.5.4 # via typer @@ -501,15 +501,15 @@ sniffio==1.3.1 # openai socksio==1.0.0 # via -r requirements/requirements.in -sounddevice==0.5.1 +sounddevice==0.5.2 # via -r requirements/requirements.in soundfile==0.13.1 # via -r requirements/requirements.in soupsieve==2.7 # via beautifulsoup4 -sqlalchemy[asyncio]==2.0.40 +sqlalchemy[asyncio]==2.0.41 # via llama-index-core -streamlit==1.45.0 +streamlit==1.45.1 # via -r requirements/requirements-browser.in sympy==1.14.0 # via torch @@ -533,7 +533,7 @@ torch==2.2.2 # via # -r requirements/requirements-help.in # sentence-transformers -tornado==6.4.2 +tornado==6.5.1 # via streamlit tqdm==4.67.1 # via @@ -544,7 +544,7 @@ tqdm==4.67.1 # openai # sentence-transformers # transformers -transformers==4.51.3 +transformers==4.52.3 # via sentence-transformers tree-sitter==0.24.0 # via tree-sitter-language-pack @@ -554,9 +554,9 @@ tree-sitter-embedded-template==0.23.2 # via tree-sitter-language-pack tree-sitter-language-pack==0.7.3 # via grep-ast -tree-sitter-yaml==0.7.0 +tree-sitter-yaml==0.7.1 # via tree-sitter-language-pack -typer==0.15.3 +typer==0.15.4 # via -r requirements/requirements-dev.in typing-extensions==4.13.2 # via @@ -582,7 +582,7 @@ typing-inspect==0.9.0 # via # dataclasses-json # llama-index-core -typing-inspection==0.4.0 +typing-inspection==0.4.1 # via pydantic tzdata==2025.2 # via pandas @@ -592,7 +592,7 @@ urllib3==2.4.0 # via # mixpanel # requests -uv==0.7.3 +uv==0.7.7 # via -r requirements/requirements-dev.in virtualenv==20.31.2 # via pre-commit diff --git a/requirements/requirements-browser.txt b/requirements/requirements-browser.txt index 3f9dbbbc5..c2a2e11ee 100644 --- a/requirements/requirements-browser.txt +++ b/requirements/requirements-browser.txt @@ -58,7 +58,7 @@ markupsafe==3.0.2 # via # -c requirements/common-constraints.txt # jinja2 -narwhals==1.38.2 +narwhals==1.40.0 # via # -c requirements/common-constraints.txt # altair @@ -110,7 +110,7 @@ requests==2.32.3 # via # -c requirements/common-constraints.txt # streamlit -rpds-py==0.24.0 +rpds-py==0.25.1 # via # -c requirements/common-constraints.txt # jsonschema @@ -123,7 +123,7 @@ smmap==5.0.2 # via # -c requirements/common-constraints.txt # gitdb -streamlit==1.45.0 +streamlit==1.45.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements-browser.in @@ -135,7 +135,7 @@ toml==0.10.2 # via # -c requirements/common-constraints.txt # streamlit -tornado==6.4.2 +tornado==6.5.1 # via # -c requirements/common-constraints.txt # streamlit diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 4d49ef191..18f26ba6c 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -54,7 +54,7 @@ filelock==3.18.0 # via # -c requirements/common-constraints.txt # virtualenv -fonttools==4.57.0 +fonttools==4.58.0 # via # -c requirements/common-constraints.txt # matplotlib @@ -63,13 +63,13 @@ google-api-core[grpc]==2.24.2 # -c requirements/common-constraints.txt # google-cloud-bigquery # google-cloud-core -google-auth==2.40.1 +google-auth==2.40.2 # via # -c requirements/common-constraints.txt # google-api-core # google-cloud-bigquery # google-cloud-core -google-cloud-bigquery==3.31.0 +google-cloud-bigquery==3.33.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in @@ -99,7 +99,7 @@ grpcio-status==1.71.0 # via # -c requirements/common-constraints.txt # google-api-core -identify==2.6.10 +identify==2.6.12 # via # -c requirements/common-constraints.txt # pre-commit @@ -180,7 +180,7 @@ platformdirs==4.3.8 # via # -c requirements/common-constraints.txt # virtualenv -pluggy==1.5.0 +pluggy==1.6.0 # via # -c requirements/common-constraints.txt # pytest @@ -269,7 +269,7 @@ semver==3.0.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in -setuptools==80.3.1 +setuptools==80.8.0 # via # -c requirements/common-constraints.txt # pip-tools @@ -281,7 +281,7 @@ six==1.17.0 # via # -c requirements/common-constraints.txt # python-dateutil -typer==0.15.3 +typer==0.15.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in @@ -297,7 +297,7 @@ urllib3==2.4.0 # via # -c requirements/common-constraints.txt # requests -uv==0.7.3 +uv==0.7.7 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index 2559b273f..20c973226 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -75,7 +75,7 @@ frozenlist==1.6.0 # -c requirements/common-constraints.txt # aiohttp # aiosignal -fsspec==2025.3.2 +fsspec==2025.5.0 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -93,7 +93,7 @@ h11==0.16.0 # via # -c requirements/common-constraints.txt # httpcore -hf-xet==1.1.0 +hf-xet==1.1.2 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -105,7 +105,7 @@ httpx==0.28.1 # via # -c requirements/common-constraints.txt # llama-index-core -huggingface-hub[inference]==0.31.1 +huggingface-hub[inference]==0.32.0 # via # -c requirements/common-constraints.txt # llama-index-embeddings-huggingface @@ -124,7 +124,7 @@ jinja2==3.1.6 # -c requirements/common-constraints.txt # banks # torch -joblib==1.5.0 +joblib==1.5.1 # via # -c requirements/common-constraints.txt # nltk @@ -134,7 +134,7 @@ llama-index-core==0.12.26 # -c requirements/common-constraints.txt # -r requirements/requirements-help.in # llama-index-embeddings-huggingface -llama-index-embeddings-huggingface==0.5.3 +llama-index-embeddings-huggingface==0.5.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements-help.in @@ -150,7 +150,7 @@ mpmath==1.3.0 # via # -c requirements/common-constraints.txt # sympy -multidict==6.4.3 +multidict==6.4.4 # via # -c requirements/common-constraints.txt # aiohttp @@ -200,7 +200,7 @@ propcache==0.3.1 # -c requirements/common-constraints.txt # aiohttp # yarl -pydantic==2.11.4 +pydantic==2.11.5 # via # -c requirements/common-constraints.txt # banks @@ -249,7 +249,7 @@ sniffio==1.3.1 # via # -c requirements/common-constraints.txt # anyio -sqlalchemy[asyncio]==2.0.40 +sqlalchemy[asyncio]==2.0.41 # via # -c requirements/common-constraints.txt # llama-index-core @@ -286,7 +286,7 @@ tqdm==4.67.1 # nltk # sentence-transformers # transformers -transformers==4.51.3 +transformers==4.52.3 # via # -c requirements/common-constraints.txt # sentence-transformers @@ -308,7 +308,7 @@ typing-inspect==0.9.0 # -c requirements/common-constraints.txt # dataclasses-json # llama-index-core -typing-inspection==0.4.0 +typing-inspection==0.4.1 # via # -c requirements/common-constraints.txt # pydantic From 2b9e669930af433ff96f2cd733fd271fb7415c2e Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 14:42:09 -0700 Subject: [PATCH 36/82] drop pin of torch --- requirements.txt | 2 +- requirements/common-constraints.txt | 7 ++----- requirements/requirements-browser.txt | 2 +- requirements/requirements-dev.txt | 2 +- requirements/requirements-help.in | 4 ++-- requirements/requirements-help.txt | 4 +--- 6 files changed, 8 insertions(+), 13 deletions(-) diff --git a/requirements.txt b/requirements.txt index c0d8f30aa..9395396ca 100644 --- a/requirements.txt +++ b/requirements.txt @@ -250,7 +250,7 @@ networkx==3.4.2 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -numpy==1.26.4 +numpy==2.2.6 # via # -c requirements/common-constraints.txt # scipy diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index 30c1f9f7e..862ccca14 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -282,9 +282,8 @@ nltk==3.9.1 # via llama-index-core nodeenv==1.9.1 # via pre-commit -numpy==1.26.4 +numpy==2.2.6 # via - # -r requirements/requirements-help.in # contourpy # llama-index-core # matplotlib @@ -530,9 +529,7 @@ tokenizers==0.21.1 toml==0.10.2 # via streamlit torch==2.2.2 - # via - # -r requirements/requirements-help.in - # sentence-transformers + # via sentence-transformers tornado==6.5.1 # via streamlit tqdm==4.67.1 diff --git a/requirements/requirements-browser.txt b/requirements/requirements-browser.txt index c2a2e11ee..77a803f66 100644 --- a/requirements/requirements-browser.txt +++ b/requirements/requirements-browser.txt @@ -62,7 +62,7 @@ narwhals==1.40.0 # via # -c requirements/common-constraints.txt # altair -numpy==1.26.4 +numpy==2.2.6 # via # -c requirements/common-constraints.txt # pandas diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 18f26ba6c..96bb7d62b 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -143,7 +143,7 @@ nodeenv==1.9.1 # via # -c requirements/common-constraints.txt # pre-commit -numpy==1.26.4 +numpy==2.2.6 # via # -c requirements/common-constraints.txt # contourpy diff --git a/requirements/requirements-help.in b/requirements/requirements-help.in index 43e302cca..f7e69e661 100644 --- a/requirements/requirements-help.in +++ b/requirements/requirements-help.in @@ -1,11 +1,11 @@ llama-index-embeddings-huggingface # Because sentence-transformers doesn't like >=2 -numpy<2 +#numpy<2 # Mac x86 only supports 2.2.2 # https://discuss.pytorch.org/t/why-no-macosx-x86-64-build-after-torch-2-2-2-cp39-none-macosx-10-9-x86-64-whl/204546/2 -torch==2.2.2 +#torch==2.2.2 # Later versions break test_help in GitHub Actions on Windows and Ubuntu llama-index-core==0.12.26 \ No newline at end of file diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index 20c973226..1a97fbef9 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -172,10 +172,9 @@ nltk==3.9.1 # via # -c requirements/common-constraints.txt # llama-index-core -numpy==1.26.4 +numpy==2.2.6 # via # -c requirements/common-constraints.txt - # -r requirements/requirements-help.in # llama-index-core # scikit-learn # scipy @@ -276,7 +275,6 @@ tokenizers==0.21.1 torch==2.2.2 # via # -c requirements/common-constraints.txt - # -r requirements/requirements-help.in # sentence-transformers tqdm==4.67.1 # via From 66bc9cf29289b82d70dc607bda278e2b9f8c05d3 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 14:59:09 -0700 Subject: [PATCH 37/82] unpin llama-index-core --- requirements/common-constraints.txt | 9 +++++---- requirements/requirements-help.in | 2 +- requirements/requirements-help.txt | 8 ++++++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index 862ccca14..d3e09bd88 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -9,6 +9,8 @@ aiohttp==3.11.18 # llama-index-core aiosignal==1.3.2 # via aiohttp +aiosqlite==0.21.0 + # via llama-index-core altair==5.5.0 # via streamlit annotated-types==0.7.0 @@ -235,10 +237,8 @@ kiwisolver==1.4.8 # via matplotlib litellm==1.70.4 # via -r requirements/requirements.in -llama-index-core==0.12.26 - # via - # -r requirements/requirements-help.in - # llama-index-embeddings-huggingface +llama-index-core==0.12.37 + # via llama-index-embeddings-huggingface llama-index-embeddings-huggingface==0.5.4 # via -r requirements/requirements-help.in lox==0.13.0 @@ -557,6 +557,7 @@ typer==0.15.4 # via -r requirements/requirements-dev.in typing-extensions==4.13.2 # via + # aiosqlite # altair # anyio # beautifulsoup4 diff --git a/requirements/requirements-help.in b/requirements/requirements-help.in index f7e69e661..694997655 100644 --- a/requirements/requirements-help.in +++ b/requirements/requirements-help.in @@ -8,4 +8,4 @@ llama-index-embeddings-huggingface #torch==2.2.2 # Later versions break test_help in GitHub Actions on Windows and Ubuntu -llama-index-core==0.12.26 \ No newline at end of file +#llama-index-core==0.12.26 \ No newline at end of file diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index 1a97fbef9..f9ce42d0e 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -13,6 +13,10 @@ aiosignal==1.3.2 # via # -c requirements/common-constraints.txt # aiohttp +aiosqlite==0.21.0 + # via + # -c requirements/common-constraints.txt + # llama-index-core annotated-types==0.7.0 # via # -c requirements/common-constraints.txt @@ -129,10 +133,9 @@ joblib==1.5.1 # -c requirements/common-constraints.txt # nltk # scikit-learn -llama-index-core==0.12.26 +llama-index-core==0.12.37 # via # -c requirements/common-constraints.txt - # -r requirements/requirements-help.in # llama-index-embeddings-huggingface llama-index-embeddings-huggingface==0.5.4 # via @@ -291,6 +294,7 @@ transformers==4.52.3 typing-extensions==4.13.2 # via # -c requirements/common-constraints.txt + # aiosqlite # anyio # huggingface-hub # llama-index-core From 037a36edbacc091a46170afe6e18a35c362dabe4 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 15:20:13 -0700 Subject: [PATCH 38/82] Revert "unpin llama-index-core" This reverts commit 66bc9cf29289b82d70dc607bda278e2b9f8c05d3. --- requirements/common-constraints.txt | 9 ++++----- requirements/requirements-help.in | 2 +- requirements/requirements-help.txt | 8 ++------ 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index d3e09bd88..862ccca14 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -9,8 +9,6 @@ aiohttp==3.11.18 # llama-index-core aiosignal==1.3.2 # via aiohttp -aiosqlite==0.21.0 - # via llama-index-core altair==5.5.0 # via streamlit annotated-types==0.7.0 @@ -237,8 +235,10 @@ kiwisolver==1.4.8 # via matplotlib litellm==1.70.4 # via -r requirements/requirements.in -llama-index-core==0.12.37 - # via llama-index-embeddings-huggingface +llama-index-core==0.12.26 + # via + # -r requirements/requirements-help.in + # llama-index-embeddings-huggingface llama-index-embeddings-huggingface==0.5.4 # via -r requirements/requirements-help.in lox==0.13.0 @@ -557,7 +557,6 @@ typer==0.15.4 # via -r requirements/requirements-dev.in typing-extensions==4.13.2 # via - # aiosqlite # altair # anyio # beautifulsoup4 diff --git a/requirements/requirements-help.in b/requirements/requirements-help.in index 694997655..f7e69e661 100644 --- a/requirements/requirements-help.in +++ b/requirements/requirements-help.in @@ -8,4 +8,4 @@ llama-index-embeddings-huggingface #torch==2.2.2 # Later versions break test_help in GitHub Actions on Windows and Ubuntu -#llama-index-core==0.12.26 \ No newline at end of file +llama-index-core==0.12.26 \ No newline at end of file diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index f9ce42d0e..1a97fbef9 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -13,10 +13,6 @@ aiosignal==1.3.2 # via # -c requirements/common-constraints.txt # aiohttp -aiosqlite==0.21.0 - # via - # -c requirements/common-constraints.txt - # llama-index-core annotated-types==0.7.0 # via # -c requirements/common-constraints.txt @@ -133,9 +129,10 @@ joblib==1.5.1 # -c requirements/common-constraints.txt # nltk # scikit-learn -llama-index-core==0.12.37 +llama-index-core==0.12.26 # via # -c requirements/common-constraints.txt + # -r requirements/requirements-help.in # llama-index-embeddings-huggingface llama-index-embeddings-huggingface==0.5.4 # via @@ -294,7 +291,6 @@ transformers==4.52.3 typing-extensions==4.13.2 # via # -c requirements/common-constraints.txt - # aiosqlite # anyio # huggingface-hub # llama-index-core From 0b1d49d63068f16f7cb4af041baca2365124adee Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 15:20:27 -0700 Subject: [PATCH 39/82] Revert "drop pin of torch" This reverts commit 2b9e669930af433ff96f2cd733fd271fb7415c2e. --- requirements.txt | 2 +- requirements/common-constraints.txt | 7 +++++-- requirements/requirements-browser.txt | 2 +- requirements/requirements-dev.txt | 2 +- requirements/requirements-help.in | 4 ++-- requirements/requirements-help.txt | 4 +++- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/requirements.txt b/requirements.txt index 9395396ca..c0d8f30aa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -250,7 +250,7 @@ networkx==3.4.2 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -numpy==2.2.6 +numpy==1.26.4 # via # -c requirements/common-constraints.txt # scipy diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index 862ccca14..30c1f9f7e 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -282,8 +282,9 @@ nltk==3.9.1 # via llama-index-core nodeenv==1.9.1 # via pre-commit -numpy==2.2.6 +numpy==1.26.4 # via + # -r requirements/requirements-help.in # contourpy # llama-index-core # matplotlib @@ -529,7 +530,9 @@ tokenizers==0.21.1 toml==0.10.2 # via streamlit torch==2.2.2 - # via sentence-transformers + # via + # -r requirements/requirements-help.in + # sentence-transformers tornado==6.5.1 # via streamlit tqdm==4.67.1 diff --git a/requirements/requirements-browser.txt b/requirements/requirements-browser.txt index 77a803f66..c2a2e11ee 100644 --- a/requirements/requirements-browser.txt +++ b/requirements/requirements-browser.txt @@ -62,7 +62,7 @@ narwhals==1.40.0 # via # -c requirements/common-constraints.txt # altair -numpy==2.2.6 +numpy==1.26.4 # via # -c requirements/common-constraints.txt # pandas diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 96bb7d62b..18f26ba6c 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -143,7 +143,7 @@ nodeenv==1.9.1 # via # -c requirements/common-constraints.txt # pre-commit -numpy==2.2.6 +numpy==1.26.4 # via # -c requirements/common-constraints.txt # contourpy diff --git a/requirements/requirements-help.in b/requirements/requirements-help.in index f7e69e661..43e302cca 100644 --- a/requirements/requirements-help.in +++ b/requirements/requirements-help.in @@ -1,11 +1,11 @@ llama-index-embeddings-huggingface # Because sentence-transformers doesn't like >=2 -#numpy<2 +numpy<2 # Mac x86 only supports 2.2.2 # https://discuss.pytorch.org/t/why-no-macosx-x86-64-build-after-torch-2-2-2-cp39-none-macosx-10-9-x86-64-whl/204546/2 -#torch==2.2.2 +torch==2.2.2 # Later versions break test_help in GitHub Actions on Windows and Ubuntu llama-index-core==0.12.26 \ No newline at end of file diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index 1a97fbef9..20c973226 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -172,9 +172,10 @@ nltk==3.9.1 # via # -c requirements/common-constraints.txt # llama-index-core -numpy==2.2.6 +numpy==1.26.4 # via # -c requirements/common-constraints.txt + # -r requirements/requirements-help.in # llama-index-core # scikit-learn # scipy @@ -275,6 +276,7 @@ tokenizers==0.21.1 torch==2.2.2 # via # -c requirements/common-constraints.txt + # -r requirements/requirements-help.in # sentence-transformers tqdm==4.67.1 # via From 299e6ae7a2f3400fa6da254a01453548bd567dd4 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 15:20:40 -0700 Subject: [PATCH 40/82] Revert "bump deps" This reverts commit cb88b7e62afb6580c32338d083b696cfc247a456. --- requirements.txt | 32 +++++++------- requirements/common-constraints.txt | 60 +++++++++++++-------------- requirements/requirements-browser.txt | 8 ++-- requirements/requirements-dev.txt | 16 +++---- requirements/requirements-help.txt | 20 ++++----- 5 files changed, 68 insertions(+), 68 deletions(-) diff --git a/requirements.txt b/requirements.txt index c0d8f30aa..d26543ad1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -60,7 +60,7 @@ click==8.1.8 # via # -c requirements/common-constraints.txt # litellm -configargparse==1.7.1 +configargparse==1.7 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -90,7 +90,7 @@ frozenlist==1.6.0 # -c requirements/common-constraints.txt # aiohttp # aiosignal -fsspec==2025.5.0 +fsspec==2025.3.2 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -112,11 +112,11 @@ google-api-core[grpc]==2.24.2 # google-ai-generativelanguage # google-api-python-client # google-generativeai -google-api-python-client==2.170.0 +google-api-python-client==2.169.0 # via # -c requirements/common-constraints.txt # google-generativeai -google-auth==2.40.2 +google-auth==2.40.1 # via # -c requirements/common-constraints.txt # google-ai-generativelanguage @@ -154,7 +154,7 @@ h11==0.16.0 # via # -c requirements/common-constraints.txt # httpcore -hf-xet==1.1.2 +hf-xet==1.1.0 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -172,7 +172,7 @@ httpx==0.28.1 # -c requirements/common-constraints.txt # litellm # openai -huggingface-hub==0.32.0 +huggingface-hub==0.31.1 # via # -c requirements/common-constraints.txt # tokenizers @@ -196,7 +196,7 @@ jinja2==3.1.6 # via # -c requirements/common-constraints.txt # litellm -jiter==0.10.0 +jiter==0.9.0 # via # -c requirements/common-constraints.txt # openai @@ -213,7 +213,7 @@ jsonschema-specifications==2025.4.1 # via # -c requirements/common-constraints.txt # jsonschema -litellm==1.70.4 +litellm==1.68.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -241,7 +241,7 @@ mslex==1.3.0 # via # -c requirements/common-constraints.txt # oslex -multidict==6.4.4 +multidict==6.4.3 # via # -c requirements/common-constraints.txt # aiohttp @@ -255,7 +255,7 @@ numpy==1.26.4 # -c requirements/common-constraints.txt # scipy # soundfile -openai==1.82.0 +openai==1.75.0 # via # -c requirements/common-constraints.txt # litellm @@ -281,7 +281,7 @@ pillow==11.2.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -posthog==4.1.0 +posthog==4.0.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -333,7 +333,7 @@ pycparser==2.22 # via # -c requirements/common-constraints.txt # cffi -pydantic==2.11.5 +pydantic==2.11.4 # via # -c requirements/common-constraints.txt # google-generativeai @@ -401,7 +401,7 @@ rich==14.0.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -rpds-py==0.25.1 +rpds-py==0.24.0 # via # -c requirements/common-constraints.txt # jsonschema @@ -437,7 +437,7 @@ socksio==1.0.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -sounddevice==0.5.2 +sounddevice==0.5.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -478,7 +478,7 @@ tree-sitter-language-pack==0.7.3 # via # -c requirements/common-constraints.txt # grep-ast -tree-sitter-yaml==0.7.1 +tree-sitter-yaml==0.7.0 # via # -c requirements/common-constraints.txt # tree-sitter-language-pack @@ -494,7 +494,7 @@ typing-extensions==4.13.2 # pydantic-core # referencing # typing-inspection -typing-inspection==0.4.1 +typing-inspection==0.4.0 # via # -c requirements/common-constraints.txt # pydantic diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index 30c1f9f7e..122473cc7 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -65,7 +65,7 @@ cogapp==3.4.1 # via -r requirements/requirements-dev.in colorama==0.4.6 # via griffe -configargparse==1.7.1 +configargparse==1.7 # via -r requirements/requirements.in contourpy==1.3.2 # via matplotlib @@ -103,13 +103,13 @@ filetype==1.2.0 # via llama-index-core flake8==7.2.0 # via -r requirements/requirements.in -fonttools==4.58.0 +fonttools==4.57.0 # via matplotlib frozenlist==1.6.0 # via # aiohttp # aiosignal -fsspec==2025.5.0 +fsspec==2025.3.2 # via # huggingface-hub # llama-index-core @@ -129,9 +129,9 @@ google-api-core[grpc]==2.24.2 # google-cloud-bigquery # google-cloud-core # google-generativeai -google-api-python-client==2.170.0 +google-api-python-client==2.169.0 # via google-generativeai -google-auth==2.40.2 +google-auth==2.40.1 # via # google-ai-generativelanguage # google-api-core @@ -142,7 +142,7 @@ google-auth==2.40.2 # google-generativeai google-auth-httplib2==0.2.0 # via google-api-python-client -google-cloud-bigquery==3.33.0 +google-cloud-bigquery==3.31.0 # via -r requirements/requirements-dev.in google-cloud-core==2.4.3 # via google-cloud-bigquery @@ -172,7 +172,7 @@ grpcio-status==1.71.0 # via google-api-core h11==0.16.0 # via httpcore -hf-xet==1.1.2 +hf-xet==1.1.0 # via huggingface-hub httpcore==1.0.9 # via httpx @@ -185,13 +185,13 @@ httpx==0.28.1 # litellm # llama-index-core # openai -huggingface-hub[inference]==0.32.0 +huggingface-hub[inference]==0.31.1 # via # llama-index-embeddings-huggingface # sentence-transformers # tokenizers # transformers -identify==2.6.12 +identify==2.6.10 # via pre-commit idna==3.10 # via @@ -216,9 +216,9 @@ jinja2==3.1.6 # litellm # pydeck # torch -jiter==0.10.0 +jiter==0.9.0 # via openai -joblib==1.5.1 +joblib==1.5.0 # via # nltk # scikit-learn @@ -233,13 +233,13 @@ jsonschema-specifications==2025.4.1 # via jsonschema kiwisolver==1.4.8 # via matplotlib -litellm==1.70.4 +litellm==1.68.1 # via -r requirements/requirements.in llama-index-core==0.12.26 # via # -r requirements/requirements-help.in # llama-index-embeddings-huggingface -llama-index-embeddings-huggingface==0.5.4 +llama-index-embeddings-huggingface==0.5.3 # via -r requirements/requirements-help.in lox==0.13.0 # via -r requirements/requirements-dev.in @@ -261,7 +261,7 @@ mpmath==1.3.0 # via sympy mslex==1.3.0 # via oslex -multidict==6.4.4 +multidict==6.4.3 # via # aiohttp # yarl @@ -269,7 +269,7 @@ multiprocess==0.70.18 # via pathos mypy-extensions==1.1.0 # via typing-inspect -narwhals==1.40.0 +narwhals==1.38.2 # via altair nest-asyncio==1.6.0 # via llama-index-core @@ -295,7 +295,7 @@ numpy==1.26.4 # soundfile # streamlit # transformers -openai==1.82.0 +openai==1.75.0 # via litellm oslex==0.1.3 # via -r requirements/requirements.in @@ -340,9 +340,9 @@ platformdirs==4.3.8 # virtualenv playwright==1.52.0 # via -r requirements/requirements-playwright.in -pluggy==1.6.0 +pluggy==1.5.0 # via pytest -posthog==4.1.0 +posthog==4.0.1 # via -r requirements/requirements.in pox==0.3.6 # via pathos @@ -385,7 +385,7 @@ pycodestyle==2.13.0 # via flake8 pycparser==2.22 # via cffi -pydantic==2.11.5 +pydantic==2.11.4 # via # banks # google-generativeai @@ -463,7 +463,7 @@ rich==14.0.0 # via # -r requirements/requirements.in # typer -rpds-py==0.25.1 +rpds-py==0.24.0 # via # jsonschema # referencing @@ -482,7 +482,7 @@ semver==3.0.4 # via -r requirements/requirements-dev.in sentence-transformers==4.1.0 # via llama-index-embeddings-huggingface -setuptools==80.8.0 +setuptools==80.3.1 # via pip-tools shellingham==1.5.4 # via typer @@ -501,15 +501,15 @@ sniffio==1.3.1 # openai socksio==1.0.0 # via -r requirements/requirements.in -sounddevice==0.5.2 +sounddevice==0.5.1 # via -r requirements/requirements.in soundfile==0.13.1 # via -r requirements/requirements.in soupsieve==2.7 # via beautifulsoup4 -sqlalchemy[asyncio]==2.0.41 +sqlalchemy[asyncio]==2.0.40 # via llama-index-core -streamlit==1.45.1 +streamlit==1.45.0 # via -r requirements/requirements-browser.in sympy==1.14.0 # via torch @@ -533,7 +533,7 @@ torch==2.2.2 # via # -r requirements/requirements-help.in # sentence-transformers -tornado==6.5.1 +tornado==6.4.2 # via streamlit tqdm==4.67.1 # via @@ -544,7 +544,7 @@ tqdm==4.67.1 # openai # sentence-transformers # transformers -transformers==4.52.3 +transformers==4.51.3 # via sentence-transformers tree-sitter==0.24.0 # via tree-sitter-language-pack @@ -554,9 +554,9 @@ tree-sitter-embedded-template==0.23.2 # via tree-sitter-language-pack tree-sitter-language-pack==0.7.3 # via grep-ast -tree-sitter-yaml==0.7.1 +tree-sitter-yaml==0.7.0 # via tree-sitter-language-pack -typer==0.15.4 +typer==0.15.3 # via -r requirements/requirements-dev.in typing-extensions==4.13.2 # via @@ -582,7 +582,7 @@ typing-inspect==0.9.0 # via # dataclasses-json # llama-index-core -typing-inspection==0.4.1 +typing-inspection==0.4.0 # via pydantic tzdata==2025.2 # via pandas @@ -592,7 +592,7 @@ urllib3==2.4.0 # via # mixpanel # requests -uv==0.7.7 +uv==0.7.3 # via -r requirements/requirements-dev.in virtualenv==20.31.2 # via pre-commit diff --git a/requirements/requirements-browser.txt b/requirements/requirements-browser.txt index c2a2e11ee..3f9dbbbc5 100644 --- a/requirements/requirements-browser.txt +++ b/requirements/requirements-browser.txt @@ -58,7 +58,7 @@ markupsafe==3.0.2 # via # -c requirements/common-constraints.txt # jinja2 -narwhals==1.40.0 +narwhals==1.38.2 # via # -c requirements/common-constraints.txt # altair @@ -110,7 +110,7 @@ requests==2.32.3 # via # -c requirements/common-constraints.txt # streamlit -rpds-py==0.25.1 +rpds-py==0.24.0 # via # -c requirements/common-constraints.txt # jsonschema @@ -123,7 +123,7 @@ smmap==5.0.2 # via # -c requirements/common-constraints.txt # gitdb -streamlit==1.45.1 +streamlit==1.45.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements-browser.in @@ -135,7 +135,7 @@ toml==0.10.2 # via # -c requirements/common-constraints.txt # streamlit -tornado==6.5.1 +tornado==6.4.2 # via # -c requirements/common-constraints.txt # streamlit diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 18f26ba6c..4d49ef191 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -54,7 +54,7 @@ filelock==3.18.0 # via # -c requirements/common-constraints.txt # virtualenv -fonttools==4.58.0 +fonttools==4.57.0 # via # -c requirements/common-constraints.txt # matplotlib @@ -63,13 +63,13 @@ google-api-core[grpc]==2.24.2 # -c requirements/common-constraints.txt # google-cloud-bigquery # google-cloud-core -google-auth==2.40.2 +google-auth==2.40.1 # via # -c requirements/common-constraints.txt # google-api-core # google-cloud-bigquery # google-cloud-core -google-cloud-bigquery==3.33.0 +google-cloud-bigquery==3.31.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in @@ -99,7 +99,7 @@ grpcio-status==1.71.0 # via # -c requirements/common-constraints.txt # google-api-core -identify==2.6.12 +identify==2.6.10 # via # -c requirements/common-constraints.txt # pre-commit @@ -180,7 +180,7 @@ platformdirs==4.3.8 # via # -c requirements/common-constraints.txt # virtualenv -pluggy==1.6.0 +pluggy==1.5.0 # via # -c requirements/common-constraints.txt # pytest @@ -269,7 +269,7 @@ semver==3.0.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in -setuptools==80.8.0 +setuptools==80.3.1 # via # -c requirements/common-constraints.txt # pip-tools @@ -281,7 +281,7 @@ six==1.17.0 # via # -c requirements/common-constraints.txt # python-dateutil -typer==0.15.4 +typer==0.15.3 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in @@ -297,7 +297,7 @@ urllib3==2.4.0 # via # -c requirements/common-constraints.txt # requests -uv==0.7.7 +uv==0.7.3 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index 20c973226..2559b273f 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -75,7 +75,7 @@ frozenlist==1.6.0 # -c requirements/common-constraints.txt # aiohttp # aiosignal -fsspec==2025.5.0 +fsspec==2025.3.2 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -93,7 +93,7 @@ h11==0.16.0 # via # -c requirements/common-constraints.txt # httpcore -hf-xet==1.1.2 +hf-xet==1.1.0 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -105,7 +105,7 @@ httpx==0.28.1 # via # -c requirements/common-constraints.txt # llama-index-core -huggingface-hub[inference]==0.32.0 +huggingface-hub[inference]==0.31.1 # via # -c requirements/common-constraints.txt # llama-index-embeddings-huggingface @@ -124,7 +124,7 @@ jinja2==3.1.6 # -c requirements/common-constraints.txt # banks # torch -joblib==1.5.1 +joblib==1.5.0 # via # -c requirements/common-constraints.txt # nltk @@ -134,7 +134,7 @@ llama-index-core==0.12.26 # -c requirements/common-constraints.txt # -r requirements/requirements-help.in # llama-index-embeddings-huggingface -llama-index-embeddings-huggingface==0.5.4 +llama-index-embeddings-huggingface==0.5.3 # via # -c requirements/common-constraints.txt # -r requirements/requirements-help.in @@ -150,7 +150,7 @@ mpmath==1.3.0 # via # -c requirements/common-constraints.txt # sympy -multidict==6.4.4 +multidict==6.4.3 # via # -c requirements/common-constraints.txt # aiohttp @@ -200,7 +200,7 @@ propcache==0.3.1 # -c requirements/common-constraints.txt # aiohttp # yarl -pydantic==2.11.5 +pydantic==2.11.4 # via # -c requirements/common-constraints.txt # banks @@ -249,7 +249,7 @@ sniffio==1.3.1 # via # -c requirements/common-constraints.txt # anyio -sqlalchemy[asyncio]==2.0.41 +sqlalchemy[asyncio]==2.0.40 # via # -c requirements/common-constraints.txt # llama-index-core @@ -286,7 +286,7 @@ tqdm==4.67.1 # nltk # sentence-transformers # transformers -transformers==4.52.3 +transformers==4.51.3 # via # -c requirements/common-constraints.txt # sentence-transformers @@ -308,7 +308,7 @@ typing-inspect==0.9.0 # -c requirements/common-constraints.txt # dataclasses-json # llama-index-core -typing-inspection==0.4.1 +typing-inspection==0.4.0 # via # -c requirements/common-constraints.txt # pydantic From 6176a8dee3a102362fe7a21843a40cff2b251706 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 15:24:03 -0700 Subject: [PATCH 41/82] Patch yanked configargparse 1.7 #4072 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index d26543ad1..375ca2122 100644 --- a/requirements.txt +++ b/requirements.txt @@ -60,7 +60,7 @@ click==8.1.8 # via # -c requirements/common-constraints.txt # litellm -configargparse==1.7 +configargparse==1.7.1 # 1.7 was yanked https://github.com/Aider-AI/aider/issues/4072 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in From 0d8ff295d605e7a79dfbe87cfb007f39de6931a9 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 15:48:36 -0700 Subject: [PATCH 42/82] copy --- HISTORY.md | 1 + aider/website/HISTORY.md | 1 + aider/website/docs/more/infinite-output.md | 1 + 3 files changed, 3 insertions(+) diff --git a/HISTORY.md b/HISTORY.md index b1a63d254..de1e8a015 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,6 +2,7 @@ ### main branch +- Bumped configargparse to 1.7.1 as 1.7 was pulled. - Added shell tab completion for file path arguments (by saviour) and for `--edit-format`/`--editor-edit-format` options. - Improved OpenRouter model metadata handling by introducing a local cache, increasing reliability and performance. - The `/settings` command now displays detailed metadata for active main, editor, and weak models. diff --git a/aider/website/HISTORY.md b/aider/website/HISTORY.md index c6d55343b..ecce1da6c 100644 --- a/aider/website/HISTORY.md +++ b/aider/website/HISTORY.md @@ -26,6 +26,7 @@ cog.out(text) ### main branch +- Bumped configargparse to 1.7.1 as 1.7 was pulled. - Added shell tab completion for file path arguments (by saviour) and for `--edit-format`/`--editor-edit-format` options. - Improved OpenRouter model metadata handling by introducing a local cache, increasing reliability and performance. - The `/settings` command now displays detailed metadata for active main, editor, and weak models. diff --git a/aider/website/docs/more/infinite-output.md b/aider/website/docs/more/infinite-output.md index f756b01c0..77016f7f9 100644 --- a/aider/website/docs/more/infinite-output.md +++ b/aider/website/docs/more/infinite-output.md @@ -88,6 +88,7 @@ cog.out(model_list) - mistral/codestral-2405 - mistral/codestral-latest - mistral/codestral-mamba-latest +- mistral/devstral-small-2505 - mistral/mistral-large-2402 - mistral/mistral-large-2407 - mistral/mistral-large-2411 From 81389b87d7549f62185153f5bbd9459e7e3d337f Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 16:02:26 -0700 Subject: [PATCH 43/82] version bump to 0.83.2 --- aider/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aider/__init__.py b/aider/__init__.py index 6094c3671..8e5528a04 100644 --- a/aider/__init__.py +++ b/aider/__init__.py @@ -1,6 +1,6 @@ from packaging import version -__version__ = "0.83.2.dev" +__version__ = "0.83.2" safe_version = __version__ try: From 03a489ea353c2cc0936b575ca23f7bdd29abb01e Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 23 May 2025 16:02:30 -0700 Subject: [PATCH 44/82] set version to 0.83.3.dev --- aider/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aider/__init__.py b/aider/__init__.py index 8e5528a04..a588bbf32 100644 --- a/aider/__init__.py +++ b/aider/__init__.py @@ -1,6 +1,6 @@ from packaging import version -__version__ = "0.83.2" +__version__ = "0.83.3.dev" safe_version = __version__ try: From ef3f8bb3010023747e12403576f528529eb0f61f Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 24 May 2025 13:33:19 -0700 Subject: [PATCH 45/82] bump deps --- requirements.txt | 38 +++++++++------- requirements/common-constraints.txt | 64 ++++++++++++++------------- requirements/requirements-browser.txt | 8 ++-- requirements/requirements-dev.txt | 16 +++---- requirements/requirements-help.txt | 20 ++++----- requirements/requirements.in | 4 +- 6 files changed, 81 insertions(+), 69 deletions(-) diff --git a/requirements.txt b/requirements.txt index 375ca2122..f8777b6a7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,6 +7,7 @@ aiohappyeyeballs==2.6.1 aiohttp==3.11.18 # via # -c requirements/common-constraints.txt + # httpx-aiohttp # litellm aiosignal==1.3.2 # via @@ -60,7 +61,7 @@ click==8.1.8 # via # -c requirements/common-constraints.txt # litellm -configargparse==1.7.1 # 1.7 was yanked https://github.com/Aider-AI/aider/issues/4072 +configargparse==1.7.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -90,7 +91,7 @@ frozenlist==1.6.0 # -c requirements/common-constraints.txt # aiohttp # aiosignal -fsspec==2025.3.2 +fsspec==2025.5.1 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -112,11 +113,11 @@ google-api-core[grpc]==2.24.2 # google-ai-generativelanguage # google-api-python-client # google-generativeai -google-api-python-client==2.169.0 +google-api-python-client==2.170.0 # via # -c requirements/common-constraints.txt # google-generativeai -google-auth==2.40.1 +google-auth==2.40.2 # via # -c requirements/common-constraints.txt # google-ai-generativelanguage @@ -154,7 +155,7 @@ h11==0.16.0 # via # -c requirements/common-constraints.txt # httpcore -hf-xet==1.1.0 +hf-xet==1.1.2 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -170,9 +171,14 @@ httplib2==0.22.0 httpx==0.28.1 # via # -c requirements/common-constraints.txt + # httpx-aiohttp # litellm # openai -huggingface-hub==0.31.1 +httpx-aiohttp==0.1.4 + # via + # -c requirements/common-constraints.txt + # litellm +huggingface-hub==0.32.0 # via # -c requirements/common-constraints.txt # tokenizers @@ -196,7 +202,7 @@ jinja2==3.1.6 # via # -c requirements/common-constraints.txt # litellm -jiter==0.9.0 +jiter==0.10.0 # via # -c requirements/common-constraints.txt # openai @@ -213,7 +219,7 @@ jsonschema-specifications==2025.4.1 # via # -c requirements/common-constraints.txt # jsonschema -litellm==1.68.1 +litellm==1.71.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -241,7 +247,7 @@ mslex==1.3.0 # via # -c requirements/common-constraints.txt # oslex -multidict==6.4.3 +multidict==6.4.4 # via # -c requirements/common-constraints.txt # aiohttp @@ -255,7 +261,7 @@ numpy==1.26.4 # -c requirements/common-constraints.txt # scipy # soundfile -openai==1.75.0 +openai==1.82.0 # via # -c requirements/common-constraints.txt # litellm @@ -281,7 +287,7 @@ pillow==11.2.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -posthog==4.0.1 +posthog==4.2.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -333,7 +339,7 @@ pycparser==2.22 # via # -c requirements/common-constraints.txt # cffi -pydantic==2.11.4 +pydantic==2.11.5 # via # -c requirements/common-constraints.txt # google-generativeai @@ -401,7 +407,7 @@ rich==14.0.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -rpds-py==0.24.0 +rpds-py==0.25.1 # via # -c requirements/common-constraints.txt # jsonschema @@ -437,7 +443,7 @@ socksio==1.0.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -sounddevice==0.5.1 +sounddevice==0.5.2 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -478,7 +484,7 @@ tree-sitter-language-pack==0.7.3 # via # -c requirements/common-constraints.txt # grep-ast -tree-sitter-yaml==0.7.0 +tree-sitter-yaml==0.7.1 # via # -c requirements/common-constraints.txt # tree-sitter-language-pack @@ -494,7 +500,7 @@ typing-extensions==4.13.2 # pydantic-core # referencing # typing-inspection -typing-inspection==0.4.0 +typing-inspection==0.4.1 # via # -c requirements/common-constraints.txt # pydantic diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index 122473cc7..257aa3165 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -4,6 +4,7 @@ aiohappyeyeballs==2.6.1 # via aiohttp aiohttp==3.11.18 # via + # httpx-aiohttp # huggingface-hub # litellm # llama-index-core @@ -65,7 +66,7 @@ cogapp==3.4.1 # via -r requirements/requirements-dev.in colorama==0.4.6 # via griffe -configargparse==1.7 +configargparse==1.7.1 # via -r requirements/requirements.in contourpy==1.3.2 # via matplotlib @@ -103,13 +104,13 @@ filetype==1.2.0 # via llama-index-core flake8==7.2.0 # via -r requirements/requirements.in -fonttools==4.57.0 +fonttools==4.58.0 # via matplotlib frozenlist==1.6.0 # via # aiohttp # aiosignal -fsspec==2025.3.2 +fsspec==2025.5.1 # via # huggingface-hub # llama-index-core @@ -129,9 +130,9 @@ google-api-core[grpc]==2.24.2 # google-cloud-bigquery # google-cloud-core # google-generativeai -google-api-python-client==2.169.0 +google-api-python-client==2.170.0 # via google-generativeai -google-auth==2.40.1 +google-auth==2.40.2 # via # google-ai-generativelanguage # google-api-core @@ -142,7 +143,7 @@ google-auth==2.40.1 # google-generativeai google-auth-httplib2==0.2.0 # via google-api-python-client -google-cloud-bigquery==3.31.0 +google-cloud-bigquery==3.33.0 # via -r requirements/requirements-dev.in google-cloud-core==2.4.3 # via google-cloud-bigquery @@ -172,7 +173,7 @@ grpcio-status==1.71.0 # via google-api-core h11==0.16.0 # via httpcore -hf-xet==1.1.0 +hf-xet==1.1.2 # via huggingface-hub httpcore==1.0.9 # via httpx @@ -182,16 +183,19 @@ httplib2==0.22.0 # google-auth-httplib2 httpx==0.28.1 # via + # httpx-aiohttp # litellm # llama-index-core # openai -huggingface-hub[inference]==0.31.1 +httpx-aiohttp==0.1.4 + # via litellm +huggingface-hub[inference]==0.32.0 # via # llama-index-embeddings-huggingface # sentence-transformers # tokenizers # transformers -identify==2.6.10 +identify==2.6.12 # via pre-commit idna==3.10 # via @@ -216,9 +220,9 @@ jinja2==3.1.6 # litellm # pydeck # torch -jiter==0.9.0 +jiter==0.10.0 # via openai -joblib==1.5.0 +joblib==1.5.1 # via # nltk # scikit-learn @@ -233,13 +237,13 @@ jsonschema-specifications==2025.4.1 # via jsonschema kiwisolver==1.4.8 # via matplotlib -litellm==1.68.1 +litellm==1.71.0 # via -r requirements/requirements.in llama-index-core==0.12.26 # via # -r requirements/requirements-help.in # llama-index-embeddings-huggingface -llama-index-embeddings-huggingface==0.5.3 +llama-index-embeddings-huggingface==0.5.4 # via -r requirements/requirements-help.in lox==0.13.0 # via -r requirements/requirements-dev.in @@ -261,7 +265,7 @@ mpmath==1.3.0 # via sympy mslex==1.3.0 # via oslex -multidict==6.4.3 +multidict==6.4.4 # via # aiohttp # yarl @@ -269,7 +273,7 @@ multiprocess==0.70.18 # via pathos mypy-extensions==1.1.0 # via typing-inspect -narwhals==1.38.2 +narwhals==1.40.0 # via altair nest-asyncio==1.6.0 # via llama-index-core @@ -295,7 +299,7 @@ numpy==1.26.4 # soundfile # streamlit # transformers -openai==1.75.0 +openai==1.82.0 # via litellm oslex==0.1.3 # via -r requirements/requirements.in @@ -340,9 +344,9 @@ platformdirs==4.3.8 # virtualenv playwright==1.52.0 # via -r requirements/requirements-playwright.in -pluggy==1.5.0 +pluggy==1.6.0 # via pytest -posthog==4.0.1 +posthog==4.2.0 # via -r requirements/requirements.in pox==0.3.6 # via pathos @@ -385,7 +389,7 @@ pycodestyle==2.13.0 # via flake8 pycparser==2.22 # via cffi -pydantic==2.11.4 +pydantic==2.11.5 # via # banks # google-generativeai @@ -463,7 +467,7 @@ rich==14.0.0 # via # -r requirements/requirements.in # typer -rpds-py==0.24.0 +rpds-py==0.25.1 # via # jsonschema # referencing @@ -482,7 +486,7 @@ semver==3.0.4 # via -r requirements/requirements-dev.in sentence-transformers==4.1.0 # via llama-index-embeddings-huggingface -setuptools==80.3.1 +setuptools==80.8.0 # via pip-tools shellingham==1.5.4 # via typer @@ -501,15 +505,15 @@ sniffio==1.3.1 # openai socksio==1.0.0 # via -r requirements/requirements.in -sounddevice==0.5.1 +sounddevice==0.5.2 # via -r requirements/requirements.in soundfile==0.13.1 # via -r requirements/requirements.in soupsieve==2.7 # via beautifulsoup4 -sqlalchemy[asyncio]==2.0.40 +sqlalchemy[asyncio]==2.0.41 # via llama-index-core -streamlit==1.45.0 +streamlit==1.45.1 # via -r requirements/requirements-browser.in sympy==1.14.0 # via torch @@ -533,7 +537,7 @@ torch==2.2.2 # via # -r requirements/requirements-help.in # sentence-transformers -tornado==6.4.2 +tornado==6.5.1 # via streamlit tqdm==4.67.1 # via @@ -544,7 +548,7 @@ tqdm==4.67.1 # openai # sentence-transformers # transformers -transformers==4.51.3 +transformers==4.52.3 # via sentence-transformers tree-sitter==0.24.0 # via tree-sitter-language-pack @@ -554,9 +558,9 @@ tree-sitter-embedded-template==0.23.2 # via tree-sitter-language-pack tree-sitter-language-pack==0.7.3 # via grep-ast -tree-sitter-yaml==0.7.0 +tree-sitter-yaml==0.7.1 # via tree-sitter-language-pack -typer==0.15.3 +typer==0.15.4 # via -r requirements/requirements-dev.in typing-extensions==4.13.2 # via @@ -582,7 +586,7 @@ typing-inspect==0.9.0 # via # dataclasses-json # llama-index-core -typing-inspection==0.4.0 +typing-inspection==0.4.1 # via pydantic tzdata==2025.2 # via pandas @@ -592,7 +596,7 @@ urllib3==2.4.0 # via # mixpanel # requests -uv==0.7.3 +uv==0.7.8 # via -r requirements/requirements-dev.in virtualenv==20.31.2 # via pre-commit diff --git a/requirements/requirements-browser.txt b/requirements/requirements-browser.txt index 3f9dbbbc5..c2a2e11ee 100644 --- a/requirements/requirements-browser.txt +++ b/requirements/requirements-browser.txt @@ -58,7 +58,7 @@ markupsafe==3.0.2 # via # -c requirements/common-constraints.txt # jinja2 -narwhals==1.38.2 +narwhals==1.40.0 # via # -c requirements/common-constraints.txt # altair @@ -110,7 +110,7 @@ requests==2.32.3 # via # -c requirements/common-constraints.txt # streamlit -rpds-py==0.24.0 +rpds-py==0.25.1 # via # -c requirements/common-constraints.txt # jsonschema @@ -123,7 +123,7 @@ smmap==5.0.2 # via # -c requirements/common-constraints.txt # gitdb -streamlit==1.45.0 +streamlit==1.45.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements-browser.in @@ -135,7 +135,7 @@ toml==0.10.2 # via # -c requirements/common-constraints.txt # streamlit -tornado==6.4.2 +tornado==6.5.1 # via # -c requirements/common-constraints.txt # streamlit diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 4d49ef191..4b8f391f2 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -54,7 +54,7 @@ filelock==3.18.0 # via # -c requirements/common-constraints.txt # virtualenv -fonttools==4.57.0 +fonttools==4.58.0 # via # -c requirements/common-constraints.txt # matplotlib @@ -63,13 +63,13 @@ google-api-core[grpc]==2.24.2 # -c requirements/common-constraints.txt # google-cloud-bigquery # google-cloud-core -google-auth==2.40.1 +google-auth==2.40.2 # via # -c requirements/common-constraints.txt # google-api-core # google-cloud-bigquery # google-cloud-core -google-cloud-bigquery==3.31.0 +google-cloud-bigquery==3.33.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in @@ -99,7 +99,7 @@ grpcio-status==1.71.0 # via # -c requirements/common-constraints.txt # google-api-core -identify==2.6.10 +identify==2.6.12 # via # -c requirements/common-constraints.txt # pre-commit @@ -180,7 +180,7 @@ platformdirs==4.3.8 # via # -c requirements/common-constraints.txt # virtualenv -pluggy==1.5.0 +pluggy==1.6.0 # via # -c requirements/common-constraints.txt # pytest @@ -269,7 +269,7 @@ semver==3.0.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in -setuptools==80.3.1 +setuptools==80.8.0 # via # -c requirements/common-constraints.txt # pip-tools @@ -281,7 +281,7 @@ six==1.17.0 # via # -c requirements/common-constraints.txt # python-dateutil -typer==0.15.3 +typer==0.15.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in @@ -297,7 +297,7 @@ urllib3==2.4.0 # via # -c requirements/common-constraints.txt # requests -uv==0.7.3 +uv==0.7.8 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index 2559b273f..780400fcb 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -75,7 +75,7 @@ frozenlist==1.6.0 # -c requirements/common-constraints.txt # aiohttp # aiosignal -fsspec==2025.3.2 +fsspec==2025.5.1 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -93,7 +93,7 @@ h11==0.16.0 # via # -c requirements/common-constraints.txt # httpcore -hf-xet==1.1.0 +hf-xet==1.1.2 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -105,7 +105,7 @@ httpx==0.28.1 # via # -c requirements/common-constraints.txt # llama-index-core -huggingface-hub[inference]==0.31.1 +huggingface-hub[inference]==0.32.0 # via # -c requirements/common-constraints.txt # llama-index-embeddings-huggingface @@ -124,7 +124,7 @@ jinja2==3.1.6 # -c requirements/common-constraints.txt # banks # torch -joblib==1.5.0 +joblib==1.5.1 # via # -c requirements/common-constraints.txt # nltk @@ -134,7 +134,7 @@ llama-index-core==0.12.26 # -c requirements/common-constraints.txt # -r requirements/requirements-help.in # llama-index-embeddings-huggingface -llama-index-embeddings-huggingface==0.5.3 +llama-index-embeddings-huggingface==0.5.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements-help.in @@ -150,7 +150,7 @@ mpmath==1.3.0 # via # -c requirements/common-constraints.txt # sympy -multidict==6.4.3 +multidict==6.4.4 # via # -c requirements/common-constraints.txt # aiohttp @@ -200,7 +200,7 @@ propcache==0.3.1 # -c requirements/common-constraints.txt # aiohttp # yarl -pydantic==2.11.4 +pydantic==2.11.5 # via # -c requirements/common-constraints.txt # banks @@ -249,7 +249,7 @@ sniffio==1.3.1 # via # -c requirements/common-constraints.txt # anyio -sqlalchemy[asyncio]==2.0.40 +sqlalchemy[asyncio]==2.0.41 # via # -c requirements/common-constraints.txt # llama-index-core @@ -286,7 +286,7 @@ tqdm==4.67.1 # nltk # sentence-transformers # transformers -transformers==4.51.3 +transformers==4.52.3 # via # -c requirements/common-constraints.txt # sentence-transformers @@ -308,7 +308,7 @@ typing-inspect==0.9.0 # -c requirements/common-constraints.txt # dataclasses-json # llama-index-core -typing-inspection==0.4.0 +typing-inspection==0.4.1 # via # -c requirements/common-constraints.txt # pydantic diff --git a/requirements/requirements.in b/requirements/requirements.in index a29cdb033..2740f8990 100644 --- a/requirements/requirements.in +++ b/requirements/requirements.in @@ -1,5 +1,4 @@ pydub -configargparse GitPython jsonschema rich @@ -46,3 +45,6 @@ scipy # https://github.com/pypa/twine/blob/6fbf880ee60915cf1666348c4bdd78a10415f2ac/twine/__init__.py#L40 # Uses importlib-metadata importlib-metadata<8.0.0 + +# configargparse was 1.7 pulled +configargparse>1.7 \ No newline at end of file From e3cb907767476be3a266b5e529a002cfaea0950d Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 24 May 2025 15:06:57 -0700 Subject: [PATCH 46/82] claude-sonnet-4-20250514 ex-user --- aider/resources/model-settings.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index 5b00a0f0d..c907b80b9 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1435,4 +1435,19 @@ # top_k: 20 # min_p: 0.0 # temperature: 0.7 - \ No newline at end of file + + +- name: claude-sonnet-4-20250514 + edit_format: diff + weak_model_name: claude-3-5-haiku-20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: claude-sonnet-4-20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + From d9bf69041c08c2ff358b51d0c86f8c9f682a3779 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 24 May 2025 15:43:50 -0700 Subject: [PATCH 47/82] Revert "bump deps" This reverts commit ef3f8bb3010023747e12403576f528529eb0f61f. --- requirements.txt | 38 +++++++--------- requirements/common-constraints.txt | 64 +++++++++++++-------------- requirements/requirements-browser.txt | 8 ++-- requirements/requirements-dev.txt | 16 +++---- requirements/requirements-help.txt | 20 ++++----- requirements/requirements.in | 4 +- 6 files changed, 69 insertions(+), 81 deletions(-) diff --git a/requirements.txt b/requirements.txt index f8777b6a7..375ca2122 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,6 @@ aiohappyeyeballs==2.6.1 aiohttp==3.11.18 # via # -c requirements/common-constraints.txt - # httpx-aiohttp # litellm aiosignal==1.3.2 # via @@ -61,7 +60,7 @@ click==8.1.8 # via # -c requirements/common-constraints.txt # litellm -configargparse==1.7.1 +configargparse==1.7.1 # 1.7 was yanked https://github.com/Aider-AI/aider/issues/4072 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -91,7 +90,7 @@ frozenlist==1.6.0 # -c requirements/common-constraints.txt # aiohttp # aiosignal -fsspec==2025.5.1 +fsspec==2025.3.2 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -113,11 +112,11 @@ google-api-core[grpc]==2.24.2 # google-ai-generativelanguage # google-api-python-client # google-generativeai -google-api-python-client==2.170.0 +google-api-python-client==2.169.0 # via # -c requirements/common-constraints.txt # google-generativeai -google-auth==2.40.2 +google-auth==2.40.1 # via # -c requirements/common-constraints.txt # google-ai-generativelanguage @@ -155,7 +154,7 @@ h11==0.16.0 # via # -c requirements/common-constraints.txt # httpcore -hf-xet==1.1.2 +hf-xet==1.1.0 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -171,14 +170,9 @@ httplib2==0.22.0 httpx==0.28.1 # via # -c requirements/common-constraints.txt - # httpx-aiohttp # litellm # openai -httpx-aiohttp==0.1.4 - # via - # -c requirements/common-constraints.txt - # litellm -huggingface-hub==0.32.0 +huggingface-hub==0.31.1 # via # -c requirements/common-constraints.txt # tokenizers @@ -202,7 +196,7 @@ jinja2==3.1.6 # via # -c requirements/common-constraints.txt # litellm -jiter==0.10.0 +jiter==0.9.0 # via # -c requirements/common-constraints.txt # openai @@ -219,7 +213,7 @@ jsonschema-specifications==2025.4.1 # via # -c requirements/common-constraints.txt # jsonschema -litellm==1.71.0 +litellm==1.68.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -247,7 +241,7 @@ mslex==1.3.0 # via # -c requirements/common-constraints.txt # oslex -multidict==6.4.4 +multidict==6.4.3 # via # -c requirements/common-constraints.txt # aiohttp @@ -261,7 +255,7 @@ numpy==1.26.4 # -c requirements/common-constraints.txt # scipy # soundfile -openai==1.82.0 +openai==1.75.0 # via # -c requirements/common-constraints.txt # litellm @@ -287,7 +281,7 @@ pillow==11.2.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -posthog==4.2.0 +posthog==4.0.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -339,7 +333,7 @@ pycparser==2.22 # via # -c requirements/common-constraints.txt # cffi -pydantic==2.11.5 +pydantic==2.11.4 # via # -c requirements/common-constraints.txt # google-generativeai @@ -407,7 +401,7 @@ rich==14.0.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -rpds-py==0.25.1 +rpds-py==0.24.0 # via # -c requirements/common-constraints.txt # jsonschema @@ -443,7 +437,7 @@ socksio==1.0.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -sounddevice==0.5.2 +sounddevice==0.5.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -484,7 +478,7 @@ tree-sitter-language-pack==0.7.3 # via # -c requirements/common-constraints.txt # grep-ast -tree-sitter-yaml==0.7.1 +tree-sitter-yaml==0.7.0 # via # -c requirements/common-constraints.txt # tree-sitter-language-pack @@ -500,7 +494,7 @@ typing-extensions==4.13.2 # pydantic-core # referencing # typing-inspection -typing-inspection==0.4.1 +typing-inspection==0.4.0 # via # -c requirements/common-constraints.txt # pydantic diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index 257aa3165..122473cc7 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -4,7 +4,6 @@ aiohappyeyeballs==2.6.1 # via aiohttp aiohttp==3.11.18 # via - # httpx-aiohttp # huggingface-hub # litellm # llama-index-core @@ -66,7 +65,7 @@ cogapp==3.4.1 # via -r requirements/requirements-dev.in colorama==0.4.6 # via griffe -configargparse==1.7.1 +configargparse==1.7 # via -r requirements/requirements.in contourpy==1.3.2 # via matplotlib @@ -104,13 +103,13 @@ filetype==1.2.0 # via llama-index-core flake8==7.2.0 # via -r requirements/requirements.in -fonttools==4.58.0 +fonttools==4.57.0 # via matplotlib frozenlist==1.6.0 # via # aiohttp # aiosignal -fsspec==2025.5.1 +fsspec==2025.3.2 # via # huggingface-hub # llama-index-core @@ -130,9 +129,9 @@ google-api-core[grpc]==2.24.2 # google-cloud-bigquery # google-cloud-core # google-generativeai -google-api-python-client==2.170.0 +google-api-python-client==2.169.0 # via google-generativeai -google-auth==2.40.2 +google-auth==2.40.1 # via # google-ai-generativelanguage # google-api-core @@ -143,7 +142,7 @@ google-auth==2.40.2 # google-generativeai google-auth-httplib2==0.2.0 # via google-api-python-client -google-cloud-bigquery==3.33.0 +google-cloud-bigquery==3.31.0 # via -r requirements/requirements-dev.in google-cloud-core==2.4.3 # via google-cloud-bigquery @@ -173,7 +172,7 @@ grpcio-status==1.71.0 # via google-api-core h11==0.16.0 # via httpcore -hf-xet==1.1.2 +hf-xet==1.1.0 # via huggingface-hub httpcore==1.0.9 # via httpx @@ -183,19 +182,16 @@ httplib2==0.22.0 # google-auth-httplib2 httpx==0.28.1 # via - # httpx-aiohttp # litellm # llama-index-core # openai -httpx-aiohttp==0.1.4 - # via litellm -huggingface-hub[inference]==0.32.0 +huggingface-hub[inference]==0.31.1 # via # llama-index-embeddings-huggingface # sentence-transformers # tokenizers # transformers -identify==2.6.12 +identify==2.6.10 # via pre-commit idna==3.10 # via @@ -220,9 +216,9 @@ jinja2==3.1.6 # litellm # pydeck # torch -jiter==0.10.0 +jiter==0.9.0 # via openai -joblib==1.5.1 +joblib==1.5.0 # via # nltk # scikit-learn @@ -237,13 +233,13 @@ jsonschema-specifications==2025.4.1 # via jsonschema kiwisolver==1.4.8 # via matplotlib -litellm==1.71.0 +litellm==1.68.1 # via -r requirements/requirements.in llama-index-core==0.12.26 # via # -r requirements/requirements-help.in # llama-index-embeddings-huggingface -llama-index-embeddings-huggingface==0.5.4 +llama-index-embeddings-huggingface==0.5.3 # via -r requirements/requirements-help.in lox==0.13.0 # via -r requirements/requirements-dev.in @@ -265,7 +261,7 @@ mpmath==1.3.0 # via sympy mslex==1.3.0 # via oslex -multidict==6.4.4 +multidict==6.4.3 # via # aiohttp # yarl @@ -273,7 +269,7 @@ multiprocess==0.70.18 # via pathos mypy-extensions==1.1.0 # via typing-inspect -narwhals==1.40.0 +narwhals==1.38.2 # via altair nest-asyncio==1.6.0 # via llama-index-core @@ -299,7 +295,7 @@ numpy==1.26.4 # soundfile # streamlit # transformers -openai==1.82.0 +openai==1.75.0 # via litellm oslex==0.1.3 # via -r requirements/requirements.in @@ -344,9 +340,9 @@ platformdirs==4.3.8 # virtualenv playwright==1.52.0 # via -r requirements/requirements-playwright.in -pluggy==1.6.0 +pluggy==1.5.0 # via pytest -posthog==4.2.0 +posthog==4.0.1 # via -r requirements/requirements.in pox==0.3.6 # via pathos @@ -389,7 +385,7 @@ pycodestyle==2.13.0 # via flake8 pycparser==2.22 # via cffi -pydantic==2.11.5 +pydantic==2.11.4 # via # banks # google-generativeai @@ -467,7 +463,7 @@ rich==14.0.0 # via # -r requirements/requirements.in # typer -rpds-py==0.25.1 +rpds-py==0.24.0 # via # jsonschema # referencing @@ -486,7 +482,7 @@ semver==3.0.4 # via -r requirements/requirements-dev.in sentence-transformers==4.1.0 # via llama-index-embeddings-huggingface -setuptools==80.8.0 +setuptools==80.3.1 # via pip-tools shellingham==1.5.4 # via typer @@ -505,15 +501,15 @@ sniffio==1.3.1 # openai socksio==1.0.0 # via -r requirements/requirements.in -sounddevice==0.5.2 +sounddevice==0.5.1 # via -r requirements/requirements.in soundfile==0.13.1 # via -r requirements/requirements.in soupsieve==2.7 # via beautifulsoup4 -sqlalchemy[asyncio]==2.0.41 +sqlalchemy[asyncio]==2.0.40 # via llama-index-core -streamlit==1.45.1 +streamlit==1.45.0 # via -r requirements/requirements-browser.in sympy==1.14.0 # via torch @@ -537,7 +533,7 @@ torch==2.2.2 # via # -r requirements/requirements-help.in # sentence-transformers -tornado==6.5.1 +tornado==6.4.2 # via streamlit tqdm==4.67.1 # via @@ -548,7 +544,7 @@ tqdm==4.67.1 # openai # sentence-transformers # transformers -transformers==4.52.3 +transformers==4.51.3 # via sentence-transformers tree-sitter==0.24.0 # via tree-sitter-language-pack @@ -558,9 +554,9 @@ tree-sitter-embedded-template==0.23.2 # via tree-sitter-language-pack tree-sitter-language-pack==0.7.3 # via grep-ast -tree-sitter-yaml==0.7.1 +tree-sitter-yaml==0.7.0 # via tree-sitter-language-pack -typer==0.15.4 +typer==0.15.3 # via -r requirements/requirements-dev.in typing-extensions==4.13.2 # via @@ -586,7 +582,7 @@ typing-inspect==0.9.0 # via # dataclasses-json # llama-index-core -typing-inspection==0.4.1 +typing-inspection==0.4.0 # via pydantic tzdata==2025.2 # via pandas @@ -596,7 +592,7 @@ urllib3==2.4.0 # via # mixpanel # requests -uv==0.7.8 +uv==0.7.3 # via -r requirements/requirements-dev.in virtualenv==20.31.2 # via pre-commit diff --git a/requirements/requirements-browser.txt b/requirements/requirements-browser.txt index c2a2e11ee..3f9dbbbc5 100644 --- a/requirements/requirements-browser.txt +++ b/requirements/requirements-browser.txt @@ -58,7 +58,7 @@ markupsafe==3.0.2 # via # -c requirements/common-constraints.txt # jinja2 -narwhals==1.40.0 +narwhals==1.38.2 # via # -c requirements/common-constraints.txt # altair @@ -110,7 +110,7 @@ requests==2.32.3 # via # -c requirements/common-constraints.txt # streamlit -rpds-py==0.25.1 +rpds-py==0.24.0 # via # -c requirements/common-constraints.txt # jsonschema @@ -123,7 +123,7 @@ smmap==5.0.2 # via # -c requirements/common-constraints.txt # gitdb -streamlit==1.45.1 +streamlit==1.45.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements-browser.in @@ -135,7 +135,7 @@ toml==0.10.2 # via # -c requirements/common-constraints.txt # streamlit -tornado==6.5.1 +tornado==6.4.2 # via # -c requirements/common-constraints.txt # streamlit diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 4b8f391f2..4d49ef191 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -54,7 +54,7 @@ filelock==3.18.0 # via # -c requirements/common-constraints.txt # virtualenv -fonttools==4.58.0 +fonttools==4.57.0 # via # -c requirements/common-constraints.txt # matplotlib @@ -63,13 +63,13 @@ google-api-core[grpc]==2.24.2 # -c requirements/common-constraints.txt # google-cloud-bigquery # google-cloud-core -google-auth==2.40.2 +google-auth==2.40.1 # via # -c requirements/common-constraints.txt # google-api-core # google-cloud-bigquery # google-cloud-core -google-cloud-bigquery==3.33.0 +google-cloud-bigquery==3.31.0 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in @@ -99,7 +99,7 @@ grpcio-status==1.71.0 # via # -c requirements/common-constraints.txt # google-api-core -identify==2.6.12 +identify==2.6.10 # via # -c requirements/common-constraints.txt # pre-commit @@ -180,7 +180,7 @@ platformdirs==4.3.8 # via # -c requirements/common-constraints.txt # virtualenv -pluggy==1.6.0 +pluggy==1.5.0 # via # -c requirements/common-constraints.txt # pytest @@ -269,7 +269,7 @@ semver==3.0.4 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in -setuptools==80.8.0 +setuptools==80.3.1 # via # -c requirements/common-constraints.txt # pip-tools @@ -281,7 +281,7 @@ six==1.17.0 # via # -c requirements/common-constraints.txt # python-dateutil -typer==0.15.4 +typer==0.15.3 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in @@ -297,7 +297,7 @@ urllib3==2.4.0 # via # -c requirements/common-constraints.txt # requests -uv==0.7.8 +uv==0.7.3 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index 780400fcb..2559b273f 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -75,7 +75,7 @@ frozenlist==1.6.0 # -c requirements/common-constraints.txt # aiohttp # aiosignal -fsspec==2025.5.1 +fsspec==2025.3.2 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -93,7 +93,7 @@ h11==0.16.0 # via # -c requirements/common-constraints.txt # httpcore -hf-xet==1.1.2 +hf-xet==1.1.0 # via # -c requirements/common-constraints.txt # huggingface-hub @@ -105,7 +105,7 @@ httpx==0.28.1 # via # -c requirements/common-constraints.txt # llama-index-core -huggingface-hub[inference]==0.32.0 +huggingface-hub[inference]==0.31.1 # via # -c requirements/common-constraints.txt # llama-index-embeddings-huggingface @@ -124,7 +124,7 @@ jinja2==3.1.6 # -c requirements/common-constraints.txt # banks # torch -joblib==1.5.1 +joblib==1.5.0 # via # -c requirements/common-constraints.txt # nltk @@ -134,7 +134,7 @@ llama-index-core==0.12.26 # -c requirements/common-constraints.txt # -r requirements/requirements-help.in # llama-index-embeddings-huggingface -llama-index-embeddings-huggingface==0.5.4 +llama-index-embeddings-huggingface==0.5.3 # via # -c requirements/common-constraints.txt # -r requirements/requirements-help.in @@ -150,7 +150,7 @@ mpmath==1.3.0 # via # -c requirements/common-constraints.txt # sympy -multidict==6.4.4 +multidict==6.4.3 # via # -c requirements/common-constraints.txt # aiohttp @@ -200,7 +200,7 @@ propcache==0.3.1 # -c requirements/common-constraints.txt # aiohttp # yarl -pydantic==2.11.5 +pydantic==2.11.4 # via # -c requirements/common-constraints.txt # banks @@ -249,7 +249,7 @@ sniffio==1.3.1 # via # -c requirements/common-constraints.txt # anyio -sqlalchemy[asyncio]==2.0.41 +sqlalchemy[asyncio]==2.0.40 # via # -c requirements/common-constraints.txt # llama-index-core @@ -286,7 +286,7 @@ tqdm==4.67.1 # nltk # sentence-transformers # transformers -transformers==4.52.3 +transformers==4.51.3 # via # -c requirements/common-constraints.txt # sentence-transformers @@ -308,7 +308,7 @@ typing-inspect==0.9.0 # -c requirements/common-constraints.txt # dataclasses-json # llama-index-core -typing-inspection==0.4.1 +typing-inspection==0.4.0 # via # -c requirements/common-constraints.txt # pydantic diff --git a/requirements/requirements.in b/requirements/requirements.in index 2740f8990..a29cdb033 100644 --- a/requirements/requirements.in +++ b/requirements/requirements.in @@ -1,4 +1,5 @@ pydub +configargparse GitPython jsonschema rich @@ -45,6 +46,3 @@ scipy # https://github.com/pypa/twine/blob/6fbf880ee60915cf1666348c4bdd78a10415f2ac/twine/__init__.py#L40 # Uses importlib-metadata importlib-metadata<8.0.0 - -# configargparse was 1.7 pulled -configargparse>1.7 \ No newline at end of file From 9ef32113650b00cbbf503a62659542742488e816 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 24 May 2025 15:44:31 -0700 Subject: [PATCH 48/82] proper pin for configargparse --- requirements.txt | 2 +- requirements/common-constraints.txt | 2 +- requirements/requirements.in | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 375ca2122..7d436fd45 100644 --- a/requirements.txt +++ b/requirements.txt @@ -60,7 +60,7 @@ click==8.1.8 # via # -c requirements/common-constraints.txt # litellm -configargparse==1.7.1 # 1.7 was yanked https://github.com/Aider-AI/aider/issues/4072 +configargparse==1.7.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index 122473cc7..b15cd4dd9 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -65,7 +65,7 @@ cogapp==3.4.1 # via -r requirements/requirements-dev.in colorama==0.4.6 # via griffe -configargparse==1.7 +configargparse==1.7.1 # via -r requirements/requirements.in contourpy==1.3.2 # via matplotlib diff --git a/requirements/requirements.in b/requirements/requirements.in index a29cdb033..668a3db38 100644 --- a/requirements/requirements.in +++ b/requirements/requirements.in @@ -46,3 +46,6 @@ scipy # https://github.com/pypa/twine/blob/6fbf880ee60915cf1666348c4bdd78a10415f2ac/twine/__init__.py#L40 # Uses importlib-metadata importlib-metadata<8.0.0 + +# configargparse was 1.7 pulled +configargparse>1.7 From 7b9d8e6ba7ee0961bda5f781c35c0b670455f30b Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 25 May 2025 12:49:47 -0700 Subject: [PATCH 49/82] feat: add claude-opus-4-20250514 model settings --- aider/resources/model-settings.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index c907b80b9..f643fee98 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1451,3 +1451,17 @@ editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] +- name: claude-opus-4-20250514 + edit_format: diff + weak_model_name: claude-3-5-haiku-20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: claude-sonnet-4-20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + From a17599152f74cc75f7feba9396576e77fda941aa Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 25 May 2025 12:49:51 -0700 Subject: [PATCH 50/82] feat: Add Claude Sonnet 4 settings for multiple providers --- aider/resources/model-settings.yml | 106 +++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index f643fee98..0f4b65ff9 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1465,3 +1465,109 @@ editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] +- name: anthropic/claude-sonnet-4-20250514 + edit_format: diff + weak_model_name: anthropic/claude-3-5-haiku-20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: anthropic/claude-sonnet-4-20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: bedrock/anthropic.claude-sonnet-4-20250514-v1:0 + edit_format: diff + weak_model_name: bedrock/anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: bedrock/anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: bedrock/us.anthropic.claude-sonnet-4-20250514-v1:0 + edit_format: diff + weak_model_name: bedrock/us.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: bedrock/us.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: bedrock_converse/anthropic.claude-sonnet-4-20250514-v1:0 + edit_format: diff + weak_model_name: bedrock_converse/anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: bedrock_converse/anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: bedrock_converse/us.anthropic.claude-sonnet-4-20250514-v1:0 + edit_format: diff + weak_model_name: bedrock_converse/us.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: bedrock_converse/us.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: vertex_ai/claude-sonnet-4@20250514 + edit_format: diff + weak_model_name: vertex_ai/claude-3-5-haiku@20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + max_tokens: 64000 + editor_model_name: vertex_ai/claude-sonnet-4@20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: vertex_ai-anthropic_models/vertex_ai/claude-sonnet-4@20250514 + edit_format: diff + weak_model_name: vertex_ai/claude-3-5-haiku@20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + max_tokens: 64000 + editor_model_name: vertex_ai-anthropic_models/vertex_ai/claude-sonnet-4@20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: openrouter/anthropic/claude-sonnet-4 + edit_format: diff + weak_model_name: openrouter/anthropic/claude-3-5-haiku + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: openrouter/anthropic/claude-sonnet-4 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + From 414b4e3882ff174761b13f029dfef06a113198d3 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 25 May 2025 12:51:45 -0700 Subject: [PATCH 51/82] feat: Add new Claude models and update aliases --- aider/models.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/aider/models.py b/aider/models.py index 67f0458ef..1b7c8cde3 100644 --- a/aider/models.py +++ b/aider/models.py @@ -70,6 +70,7 @@ claude-3-opus-20240229 claude-3-sonnet-20240229 claude-3-5-sonnet-20240620 claude-3-5-sonnet-20241022 +claude-sonnet-4-20250514 """ ANTHROPIC_MODELS = [ln.strip() for ln in ANTHROPIC_MODELS.splitlines() if ln.strip()] @@ -77,9 +78,9 @@ ANTHROPIC_MODELS = [ln.strip() for ln in ANTHROPIC_MODELS.splitlines() if ln.str # Mapping of model aliases to their canonical names MODEL_ALIASES = { # Claude models - "sonnet": "anthropic/claude-3-7-sonnet-20250219", + "sonnet": "anthropic/claude-sonnet-4-20250514", "haiku": "claude-3-5-haiku-20241022", - "opus": "claude-3-opus-20240229", + "opus": "claude-opus-4-20250514", # GPT models "4": "gpt-4-0613", "4o": "gpt-4o", From 803a8db60cb2ce21c0e3b0ed2b773d2ecc5142bd Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 25 May 2025 12:52:47 -0700 Subject: [PATCH 52/82] noop --- aider/resources/model-settings.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index 0f4b65ff9..bfeaeb332 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1451,20 +1451,6 @@ editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] -- name: claude-opus-4-20250514 - edit_format: diff - weak_model_name: claude-3-5-haiku-20241022 - use_repo_map: true - examples_as_sys_msg: false - extra_params: - extra_headers: - anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 - cache_control: true - editor_model_name: claude-sonnet-4-20250514 - editor_edit_format: editor-diff - accepts_settings: ["thinking_tokens"] - - name: anthropic/claude-sonnet-4-20250514 edit_format: diff weak_model_name: anthropic/claude-3-5-haiku-20241022 @@ -1571,3 +1557,17 @@ editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] +- name: claude-opus-4-20250514 + edit_format: diff + weak_model_name: claude-3-5-haiku-20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: claude-sonnet-4-20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + From fea0ff189f78c39507ff436636e18fecb8a760b3 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 25 May 2025 13:14:47 -0700 Subject: [PATCH 53/82] test: Update sonnet model alias test --- tests/basic/test_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/basic/test_models.py b/tests/basic/test_models.py index b4fbfc239..e516994d7 100644 --- a/tests/basic/test_models.py +++ b/tests/basic/test_models.py @@ -138,7 +138,7 @@ class TestModels(unittest.TestCase): self.assertEqual(model.name, "gpt-3.5-turbo") model = Model("sonnet") - self.assertEqual(model.name, "anthropic/claude-3-7-sonnet-20250219") + self.assertEqual(model.name, "anthropic/claude-sonnet-4-20250514") model = Model("haiku") self.assertEqual(model.name, "claude-3-5-haiku-20241022") From 6b2bcf651e1434fd7082fbbb0c73865b22743c7b Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 25 May 2025 13:15:15 -0700 Subject: [PATCH 54/82] fix: Update expected model name for 'opus' alias test --- tests/basic/test_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/basic/test_models.py b/tests/basic/test_models.py index e516994d7..d70f6a05a 100644 --- a/tests/basic/test_models.py +++ b/tests/basic/test_models.py @@ -144,7 +144,7 @@ class TestModels(unittest.TestCase): self.assertEqual(model.name, "claude-3-5-haiku-20241022") model = Model("opus") - self.assertEqual(model.name, "claude-3-opus-20240229") + self.assertEqual(model.name, "claude-opus-4-20250514") # Test non-alias passes through unchanged model = Model("gpt-4") From 5a0951caafaf57e2e85c7e5b285f85c09cbc6140 Mon Sep 17 00:00:00 2001 From: Lih Chen Date: Sun, 25 May 2025 14:54:03 -0700 Subject: [PATCH 55/82] Refresh Github's open api key automatically --- aider/models.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/aider/models.py b/aider/models.py index 67f0458ef..40f662ba6 100644 --- a/aider/models.py +++ b/aider/models.py @@ -8,6 +8,7 @@ import platform import sys import time from dataclasses import dataclass, fields +from datetime import datetime from pathlib import Path from typing import Optional, Union @@ -873,6 +874,24 @@ class Model(ModelSettings): def is_ollama(self): return self.name.startswith("ollama/") or self.name.startswith("ollama_chat/") + def github_copilot_token_to_open_ai_key(self): + # check to see if there's an openai api key + # If so, check to see if it's expire + openai_api_key = 'OPENAI_API_KEY' + + if openai_api_key not in os.environ or ( + int(dict(x.split("=") for x in os.environ[openai_api_key].split(";"))['exp']) < int(datetime.now().timestamp()) + ): + import requests + headers = { + 'Authorization': f"Bearer {os.environ['GITHUB_COPILOT_TOKEN']}", + 'Editor-Version': self.extra_params['extra_headers']['Editor-Version'], + 'Copilot-Integration-Id': self.extra_params['extra_headers']['Copilot-Integration-Id'], + 'Content-Type': 'application/json', + } + res = requests.get("https://api.github.com/copilot_internal/v2/token", headers=headers) + os.environ[openai_api_key] = res.json()['token'] + def send_completion(self, messages, functions, stream, temperature=None): if os.environ.get("AIDER_SANITY_CHECK_TURNS"): sanity_check_messages(messages) @@ -914,6 +933,10 @@ class Model(ModelSettings): dump(kwargs) kwargs["messages"] = messages + # Are we using github copilot? + if 'GITHUB_COPILOT_TOKEN' in os.environ: + self.github_copilot_token_to_open_ai_key() + res = litellm.completion(**kwargs) return hash_object, res From 79edb0e1e04a66fa831f5a03bc8dc50ddff1b6ab Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 25 May 2025 14:57:49 -0700 Subject: [PATCH 56/82] added opus polyglot --- aider/website/_data/polyglot_leaderboard.yml | 115 ++++++++++++++++++- 1 file changed, 114 insertions(+), 1 deletion(-) diff --git a/aider/website/_data/polyglot_leaderboard.yml b/aider/website/_data/polyglot_leaderboard.yml index 561a25517..13ef32e36 100644 --- a/aider/website/_data/polyglot_leaderboard.yml +++ b/aider/website/_data/polyglot_leaderboard.yml @@ -1306,4 +1306,117 @@ versions: 0.82.4.dev seconds_per_case: 45.4 total_cost: 0.0000 - \ No newline at end of file + +- dirname: 2025-05-24-21-17-54--sonnet4-diff-exuser + test_cases: 225 + model: claude-sonnet-4-20250514 (no thinking) + edit_format: diff + commit_hash: ef3f8bb-dirty + pass_rate_1: 20.4 + pass_rate_2: 56.4 + pass_num_1: 46 + pass_num_2: 127 + percent_cases_well_formed: 98.2 + error_outputs: 6 + num_malformed_responses: 4 + num_with_malformed_responses: 4 + user_asks: 129 + lazy_comments: 0 + syntax_errors: 0 + indentation_errors: 0 + exhausted_context_windows: 1 + prompt_tokens: 3460663 + completion_tokens: 433373 + test_timeouts: 7 + total_tests: 225 + command: aider --model claude-sonnet-4-20250514 + date: 2025-05-24 + versions: 0.83.3.dev + seconds_per_case: 29.8 + total_cost: 15.8155 + +- dirname: 2025-05-24-22-10-36--sonnet4-diff-exuser-think32k + test_cases: 225 + model: claude-sonnet-4-20250514 (32k thinking) + edit_format: diff + commit_hash: e3cb907 + thinking_tokens: 32000 + pass_rate_1: 25.8 + pass_rate_2: 61.3 + pass_num_1: 58 + pass_num_2: 138 + percent_cases_well_formed: 97.3 + error_outputs: 10 + num_malformed_responses: 10 + num_with_malformed_responses: 6 + user_asks: 111 + lazy_comments: 0 + syntax_errors: 0 + indentation_errors: 0 + exhausted_context_windows: 0 + prompt_tokens: 2863068 + completion_tokens: 1271074 + test_timeouts: 6 + total_tests: 225 + command: aider --model claude-sonnet-4-20250514 + date: 2025-05-24 + versions: 0.83.3.dev + seconds_per_case: 79.9 + total_cost: 26.5755 + +- dirname: 2025-05-25-19-57-20--opus4-diff-exuser + test_cases: 225 + model: claude-opus-4-20250514 (no think) + edit_format: diff + commit_hash: 9ef3211 + pass_rate_1: 32.9 + pass_rate_2: 70.7 + pass_num_1: 74 + pass_num_2: 159 + percent_cases_well_formed: 98.7 + error_outputs: 3 + num_malformed_responses: 3 + num_with_malformed_responses: 3 + user_asks: 105 + lazy_comments: 0 + syntax_errors: 0 + indentation_errors: 0 + exhausted_context_windows: 0 + prompt_tokens: 2671437 + completion_tokens: 380717 + test_timeouts: 3 + total_tests: 225 + command: aider --model claude-opus-4-20250514 + date: 2025-05-25 + versions: 0.83.3.dev + seconds_per_case: 42.5 + total_cost: 68.6253 + +- dirname: 2025-05-25-20-40-51--opus4-diff-exuser + test_cases: 225 + model: claude-opus-4-20250514 (32k thinking) + edit_format: diff + commit_hash: 9ef3211 + thinking_tokens: 32000 + pass_rate_1: 37.3 + pass_rate_2: 72.0 + pass_num_1: 84 + pass_num_2: 162 + percent_cases_well_formed: 97.3 + error_outputs: 10 + num_malformed_responses: 6 + num_with_malformed_responses: 6 + user_asks: 97 + lazy_comments: 0 + syntax_errors: 0 + indentation_errors: 0 + exhausted_context_windows: 0 + prompt_tokens: 2567514 + completion_tokens: 363142 + test_timeouts: 4 + total_tests: 225 + command: aider --model claude-opus-4-20250514 + date: 2025-05-25 + versions: 0.83.3.dev + seconds_per_case: 44.1 + total_cost: 65.7484 \ No newline at end of file From f7df96d224e968a782e92fc3b8c1086f3eae693a Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 25 May 2025 15:01:43 -0700 Subject: [PATCH 57/82] feat: Add missing Sonnet 4 models to settings --- aider/resources/model-settings.yml | 56 ++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index bfeaeb332..487f03e21 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1557,6 +1557,62 @@ editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] +- name: anthropic.claude-sonnet-4-20250514-v1:0 + edit_format: diff + weak_model_name: anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: bedrock_converse/eu.anthropic.claude-sonnet-4-20250514-v1:0 + edit_format: diff + weak_model_name: bedrock_converse/eu.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: bedrock_converse/eu.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: eu.anthropic.claude-sonnet-4-20250514-v1:0 + edit_format: diff + weak_model_name: eu.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: eu.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: us.anthropic.claude-sonnet-4-20250514-v1:0 + edit_format: diff + weak_model_name: us.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: us.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + - name: claude-opus-4-20250514 edit_format: diff weak_model_name: claude-3-5-haiku-20241022 From 114ec42563ea97aaed368167b3228c926685e6b9 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 25 May 2025 15:03:41 -0700 Subject: [PATCH 58/82] feat: Add Claude Opus 4 provider variants to model-settings.yml --- aider/resources/model-settings.yml | 120 +++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index 487f03e21..2d004557b 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1627,3 +1627,123 @@ editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] +- name: anthropic/claude-opus-4-20250514 + edit_format: diff + weak_model_name: anthropic/claude-3-5-haiku-20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: anthropic/claude-sonnet-4-20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: anthropic.claude-opus-4-20250514-v1:0 + edit_format: diff + weak_model_name: anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: bedrock_converse/anthropic.claude-opus-4-20250514-v1:0 + edit_format: diff + weak_model_name: bedrock_converse/anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: bedrock_converse/anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: bedrock_converse/us.anthropic.claude-opus-4-20250514-v1:0 + edit_format: diff + weak_model_name: bedrock_converse/us.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: bedrock_converse/us.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: bedrock_converse/eu.anthropic.claude-opus-4-20250514-v1:0 + edit_format: diff + weak_model_name: bedrock_converse/eu.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: bedrock_converse/eu.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: eu.anthropic.claude-opus-4-20250514-v1:0 + edit_format: diff + weak_model_name: eu.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: eu.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: us.anthropic.claude-opus-4-20250514-v1:0 + edit_format: diff + weak_model_name: us.anthropic.claude-3-5-haiku-20241022-v1:0 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 64000 + cache_control: true + editor_model_name: us.anthropic.claude-sonnet-4-20250514-v1:0 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: vertex_ai/claude-opus-4@20250514 + edit_format: diff + weak_model_name: vertex_ai/claude-3-5-haiku@20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + max_tokens: 64000 + editor_model_name: vertex_ai/claude-sonnet-4@20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + +- name: vertex_ai-anthropic_models/vertex_ai/claude-opus-4@20250514 + edit_format: diff + weak_model_name: vertex_ai/claude-3-5-haiku@20241022 + use_repo_map: true + examples_as_sys_msg: false + extra_params: + max_tokens: 64000 + editor_model_name: vertex_ai-anthropic_models/vertex_ai/claude-sonnet-4@20250514 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + From a8568c3c4f338a54f3d893a5c261f2c3830863b5 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 25 May 2025 15:30:30 -0700 Subject: [PATCH 59/82] build: Update website source path in Dockerfile --- scripts/Dockerfile.jekyll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Dockerfile.jekyll b/scripts/Dockerfile.jekyll index 9767b005f..22855cd58 100644 --- a/scripts/Dockerfile.jekyll +++ b/scripts/Dockerfile.jekyll @@ -5,7 +5,7 @@ FROM bretfisher/jekyll-serve WORKDIR /site # Copy the current directory contents into the container at /srv/jekyll -COPY website /site +COPY aider/website /site RUN apt-get update && apt-get install libcurl4 From 3194a35230156bbdc64724dfe6daaf568830684e Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sun, 25 May 2025 16:00:07 -0700 Subject: [PATCH 60/82] feat: Add Gemini 2.5 Flash model and leaderboard data --- aider/resources/model-settings.yml | 4 +++ aider/website/_data/polyglot_leaderboard.yml | 30 +++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index 2d004557b..d8318962f 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1747,3 +1747,7 @@ editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] +- name: vertex_ai/gemini-2.5-flash-preview-05-20 + edit_format: diff + use_repo_map: true + accepts_settings: ["reasoning_effort", "thinking_tokens"] \ No newline at end of file diff --git a/aider/website/_data/polyglot_leaderboard.yml b/aider/website/_data/polyglot_leaderboard.yml index 13ef32e36..a9a30de3f 100644 --- a/aider/website/_data/polyglot_leaderboard.yml +++ b/aider/website/_data/polyglot_leaderboard.yml @@ -1419,4 +1419,32 @@ date: 2025-05-25 versions: 0.83.3.dev seconds_per_case: 44.1 - total_cost: 65.7484 \ No newline at end of file + total_cost: 65.7484 + +- dirname: 2025-05-25-22-42-53--flash25-05-20 + test_cases: 225 + model: gemini-2.5-flash-preview-05-20 + edit_format: diff + commit_hash: a8568c3 + pass_rate_1: 23.6 + pass_rate_2: 55.1 + pass_num_1: 53 + pass_num_2: 124 + percent_cases_well_formed: 96.4 + error_outputs: 8 + num_malformed_responses: 8 + num_with_malformed_responses: 8 + user_asks: 96 + lazy_comments: 0 + syntax_errors: 0 + indentation_errors: 0 + exhausted_context_windows: 0 + prompt_tokens: 4512205 + completion_tokens: 2991967 + test_timeouts: 2 + total_tests: 225 + command: aider --model gemini/gemini-2.5-flash-preview-05-20 + date: 2025-05-25 + versions: 0.83.3.dev + seconds_per_case: 50.4 + total_cost: 7.6091 \ No newline at end of file From de9df51b478b7393d4e38300b72c27469dd5c0f1 Mon Sep 17 00:00:00 2001 From: Trung Dinh Date: Mon, 26 May 2025 11:17:50 +0700 Subject: [PATCH 61/82] Change `max_tokens` to 32000 for `claude-sonnet-4-20250514` family model --- aider/resources/model-settings.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index 2d004557b..9f3416df5 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1621,7 +1621,7 @@ extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: claude-sonnet-4-20250514 editor_edit_format: editor-diff @@ -1635,7 +1635,7 @@ extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: anthropic/claude-sonnet-4-20250514 editor_edit_format: editor-diff @@ -1649,7 +1649,7 @@ extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -1663,7 +1663,7 @@ extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: bedrock_converse/anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -1677,7 +1677,7 @@ extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: bedrock_converse/us.anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -1691,7 +1691,7 @@ extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: bedrock_converse/eu.anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -1705,7 +1705,7 @@ extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: eu.anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -1719,7 +1719,7 @@ extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: us.anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -1731,7 +1731,7 @@ use_repo_map: true examples_as_sys_msg: false extra_params: - max_tokens: 64000 + max_tokens: 32000 editor_model_name: vertex_ai/claude-sonnet-4@20250514 editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] @@ -1742,7 +1742,7 @@ use_repo_map: true examples_as_sys_msg: false extra_params: - max_tokens: 64000 + max_tokens: 32000 editor_model_name: vertex_ai-anthropic_models/vertex_ai/claude-sonnet-4@20250514 editor_edit_format: editor-diff accepts_settings: ["thinking_tokens"] From 214b811ef9226bd6a93f496fedf02d82755df163 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Mon, 26 May 2025 08:56:01 -0700 Subject: [PATCH 62/82] chore: Add new polyglot benchmark results --- aider/website/_data/polyglot_leaderboard.yml | 31 +++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/aider/website/_data/polyglot_leaderboard.yml b/aider/website/_data/polyglot_leaderboard.yml index a9a30de3f..2d6915d61 100644 --- a/aider/website/_data/polyglot_leaderboard.yml +++ b/aider/website/_data/polyglot_leaderboard.yml @@ -1447,4 +1447,33 @@ date: 2025-05-25 versions: 0.83.3.dev seconds_per_case: 50.4 - total_cost: 7.6091 \ No newline at end of file + total_cost: 7.6091 + +- dirname: 2025-05-25-22-58-44--flash25-05-20-24k-think + test_cases: 225 + model: gemini/gemini-2.5-flash-preview-05-20 + edit_format: diff + commit_hash: a8568c3-dirty + thinking_tokens: 24576 + pass_rate_1: 26.2 + pass_rate_2: 55.1 + pass_num_1: 59 + pass_num_2: 124 + percent_cases_well_formed: 95.6 + error_outputs: 15 + num_malformed_responses: 15 + num_with_malformed_responses: 10 + user_asks: 101 + lazy_comments: 0 + syntax_errors: 0 + indentation_errors: 0 + exhausted_context_windows: 0 + prompt_tokens: 3666792 + completion_tokens: 2703162 + test_timeouts: 4 + total_tests: 225 + command: aider --model gemini/gemini-2.5-flash-preview-05-20 + date: 2025-05-25 + versions: 0.83.3.dev + seconds_per_case: 53.9 + total_cost: 8.5625 \ No newline at end of file From acebc112376f8f7042aeb87d6043fb0dec5f6b20 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Mon, 26 May 2025 08:56:35 -0700 Subject: [PATCH 63/82] chore: Update model names in polyglot leaderboard --- aider/website/_data/polyglot_leaderboard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aider/website/_data/polyglot_leaderboard.yml b/aider/website/_data/polyglot_leaderboard.yml index 2d6915d61..6bd5896af 100644 --- a/aider/website/_data/polyglot_leaderboard.yml +++ b/aider/website/_data/polyglot_leaderboard.yml @@ -1423,7 +1423,7 @@ - dirname: 2025-05-25-22-42-53--flash25-05-20 test_cases: 225 - model: gemini-2.5-flash-preview-05-20 + model: gemini-2.5-flash-preview-05-20 (no think) edit_format: diff commit_hash: a8568c3 pass_rate_1: 23.6 @@ -1451,7 +1451,7 @@ - dirname: 2025-05-25-22-58-44--flash25-05-20-24k-think test_cases: 225 - model: gemini/gemini-2.5-flash-preview-05-20 + model: gemini-2.5-flash-preview-05-20 (24k think) edit_format: diff commit_hash: a8568c3-dirty thinking_tokens: 24576 From 9c9eedd9c53a85daa7ca2228ee384c5066fd6244 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Mon, 26 May 2025 12:18:22 -0700 Subject: [PATCH 64/82] chore: Update polyglot leaderboard data for gemini-2.5-flash --- aider/website/_data/polyglot_leaderboard.yml | 37 ++++++++++---------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/aider/website/_data/polyglot_leaderboard.yml b/aider/website/_data/polyglot_leaderboard.yml index 6bd5896af..51676fc72 100644 --- a/aider/website/_data/polyglot_leaderboard.yml +++ b/aider/website/_data/polyglot_leaderboard.yml @@ -1421,34 +1421,35 @@ seconds_per_case: 44.1 total_cost: 65.7484 -- dirname: 2025-05-25-22-42-53--flash25-05-20 +- dirname: 2025-05-26-15-56-31--flash25-05-20-24k-think # dirname is misleading test_cases: 225 model: gemini-2.5-flash-preview-05-20 (no think) edit_format: diff - commit_hash: a8568c3 - pass_rate_1: 23.6 - pass_rate_2: 55.1 - pass_num_1: 53 - pass_num_2: 124 - percent_cases_well_formed: 96.4 - error_outputs: 8 - num_malformed_responses: 8 - num_with_malformed_responses: 8 - user_asks: 96 + commit_hash: 214b811-dirty + thinking_tokens: 0 # <-- no thinking + pass_rate_1: 20.9 + pass_rate_2: 44.0 + pass_num_1: 47 + pass_num_2: 99 + percent_cases_well_formed: 93.8 + error_outputs: 16 + num_malformed_responses: 16 + num_with_malformed_responses: 14 + user_asks: 79 lazy_comments: 0 syntax_errors: 0 indentation_errors: 0 exhausted_context_windows: 0 - prompt_tokens: 4512205 - completion_tokens: 2991967 - test_timeouts: 2 + prompt_tokens: 5512458 + completion_tokens: 514145 + test_timeouts: 4 total_tests: 225 command: aider --model gemini/gemini-2.5-flash-preview-05-20 - date: 2025-05-25 + date: 2025-05-26 versions: 0.83.3.dev - seconds_per_case: 50.4 - total_cost: 7.6091 - + seconds_per_case: 12.2 + total_cost: 1.1354 + - dirname: 2025-05-25-22-58-44--flash25-05-20-24k-think test_cases: 225 model: gemini-2.5-flash-preview-05-20 (24k think) From b79a77793643623adcbc6f885a7ce7c3b66031d9 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Mon, 26 May 2025 16:29:10 -0700 Subject: [PATCH 65/82] copy --- README.md | 2 +- aider/website/assets/sample-analytics.jsonl | 536 +++++++++--------- .../website/docs/config/adv-model-settings.md | 317 +++++++++++ aider/website/docs/config/model-aliases.md | 4 +- aider/website/docs/faq.md | 11 +- aider/website/docs/leaderboards/index.md | 2 +- aider/website/index.html | 4 +- 7 files changed, 600 insertions(+), 276 deletions(-) diff --git a/README.md b/README.md index 4a5ad7e8b..7b3395da4 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ cog.out(text) GitHub Stars PyPI Downloads +src="https://img.shields.io/badge/📦%20Installs-2.4M-2ecc71?style=flat-square&labelColor=555555"/> Tokens per week OpenRouter Ranking ## Priority diff --git a/aider/website/docs/faq.md b/aider/website/docs/faq.md index 07132ce6f..6e8baecbb 100644 --- a/aider/website/docs/faq.md +++ b/aider/website/docs/faq.md @@ -264,10 +264,17 @@ tr:hover { background-color: #f5f5f5; } - - + + + + +
Model NameTotal TokensPercent
gemini/gemini-2.5-pro-exp-03-251,216,05167.6%
o3542,66930.2%
gemini/gemini-2.5-pro-exp-03-251,109,76861.9%
o3542,66930.3%
anthropic/claude-sonnet-4-2025051492,5085.2%
gemini/gemini-2.5-pro-preview-05-0640,2562.2%
gemini/gemini-2.5-flash-preview-05-207,6380.4%
gemini/REDACTED6430.0%
+ +{: .note :} +Some models show as REDACTED, because they are new or unpopular models. +Aider's analytics only records the names of "well known" LLMs. ## How are the "aider wrote xx% of code" stats computed? diff --git a/aider/website/docs/leaderboards/index.md b/aider/website/docs/leaderboards/index.md index 1485ce532..18aac4a24 100644 --- a/aider/website/docs/leaderboards/index.md +++ b/aider/website/docs/leaderboards/index.md @@ -285,6 +285,6 @@ mod_dates = [get_last_modified_date(file) for file in files] latest_mod_date = max(mod_dates) cog.out(f"{latest_mod_date.strftime('%B %d, %Y.')}") ]]]--> -May 09, 2025. +May 26, 2025.

diff --git a/aider/website/index.html b/aider/website/index.html index 87e19b862..9bcaa13a7 100644 --- a/aider/website/index.html +++ b/aider/website/index.html @@ -69,11 +69,11 @@ cog.out(text) ]]]-->
⭐ GitHub Stars - 33K + 34K 📦 Installs - 2.3M + 2.4M
📈 Tokens/week From 8304029b92e5c20850467ed22c503921d4738796 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Mon, 26 May 2025 16:29:28 -0700 Subject: [PATCH 66/82] lint --- aider/models.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/aider/models.py b/aider/models.py index 6289babca..8c4a0c3ea 100644 --- a/aider/models.py +++ b/aider/models.py @@ -878,20 +878,24 @@ class Model(ModelSettings): def github_copilot_token_to_open_ai_key(self): # check to see if there's an openai api key # If so, check to see if it's expire - openai_api_key = 'OPENAI_API_KEY' + openai_api_key = "OPENAI_API_KEY" if openai_api_key not in os.environ or ( - int(dict(x.split("=") for x in os.environ[openai_api_key].split(";"))['exp']) < int(datetime.now().timestamp()) + int(dict(x.split("=") for x in os.environ[openai_api_key].split(";"))["exp"]) + < int(datetime.now().timestamp()) ): import requests + headers = { - 'Authorization': f"Bearer {os.environ['GITHUB_COPILOT_TOKEN']}", - 'Editor-Version': self.extra_params['extra_headers']['Editor-Version'], - 'Copilot-Integration-Id': self.extra_params['extra_headers']['Copilot-Integration-Id'], - 'Content-Type': 'application/json', + "Authorization": f"Bearer {os.environ['GITHUB_COPILOT_TOKEN']}", + "Editor-Version": self.extra_params["extra_headers"]["Editor-Version"], + "Copilot-Integration-Id": self.extra_params["extra_headers"][ + "Copilot-Integration-Id" + ], + "Content-Type": "application/json", } res = requests.get("https://api.github.com/copilot_internal/v2/token", headers=headers) - os.environ[openai_api_key] = res.json()['token'] + os.environ[openai_api_key] = res.json()["token"] def send_completion(self, messages, functions, stream, temperature=None): if os.environ.get("AIDER_SANITY_CHECK_TURNS"): @@ -935,7 +939,7 @@ class Model(ModelSettings): kwargs["messages"] = messages # Are we using github copilot? - if 'GITHUB_COPILOT_TOKEN' in os.environ: + if "GITHUB_COPILOT_TOKEN" in os.environ: self.github_copilot_token_to_open_ai_key() res = litellm.completion(**kwargs) From 1d0e463d83534409ba228a7f5da7bdd2c35d4999 Mon Sep 17 00:00:00 2001 From: therealmarv <1050582+therealmarv@users.noreply.github.com> Date: Tue, 27 May 2025 23:02:11 +0300 Subject: [PATCH 67/82] increase context window of Deepseek V3 to new OpenRouter limits --- aider/resources/model-metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aider/resources/model-metadata.json b/aider/resources/model-metadata.json index 72c394730..163644034 100644 --- a/aider/resources/model-metadata.json +++ b/aider/resources/model-metadata.json @@ -49,8 +49,8 @@ }, "openrouter/deepseek/deepseek-chat-v3-0324": { "max_tokens": 8192, - "max_input_tokens": 64000, - "max_output_tokens": 8192, + "max_input_tokens": 131072, + "max_output_tokens": 16384, "input_cost_per_token": 0.00000055, "input_cost_per_token_cache_hit": 0.00000014, "cache_read_input_token_cost": 0.00000014, From 87dee0a5f2efc4a92b4fb253d9aebd4b85b31407 Mon Sep 17 00:00:00 2001 From: therealmarv <1050582+therealmarv@users.noreply.github.com> Date: Tue, 27 May 2025 23:18:45 +0300 Subject: [PATCH 68/82] reduce output tokens again --- aider/resources/model-metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aider/resources/model-metadata.json b/aider/resources/model-metadata.json index 163644034..7e0d4e2a1 100644 --- a/aider/resources/model-metadata.json +++ b/aider/resources/model-metadata.json @@ -50,7 +50,7 @@ "openrouter/deepseek/deepseek-chat-v3-0324": { "max_tokens": 8192, "max_input_tokens": 131072, - "max_output_tokens": 16384, + "max_output_tokens": 8192, "input_cost_per_token": 0.00000055, "input_cost_per_token_cache_hit": 0.00000014, "cache_read_input_token_cost": 0.00000014, From d7504bed21edda27057c1c7120f5eaca9f437e48 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 30 May 2025 14:25:35 -0700 Subject: [PATCH 69/82] copy --- HISTORY.md | 5 ++++- aider/website/HISTORY.md | 5 ++++- aider/website/assets/sample-analytics.jsonl | 22 +++++++++---------- .../website/docs/config/adv-model-settings.md | 20 ++++++++--------- aider/website/docs/faq.md | 6 ++--- aider/website/docs/more/infinite-output.md | 1 + 6 files changed, 33 insertions(+), 26 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index de1e8a015..6ea1d6f67 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -8,7 +8,10 @@ - The `/settings` command now displays detailed metadata for active main, editor, and weak models. - Fixed an issue where files explicitly added via the command line were not correctly ignored if listed in `.gitignore`. - Improved automatic commit messages by providing more context during their generation, by wangboxue. -- Aider wrote 89% of the code in this release. +- Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, `claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer versions. +- Added support for the `vertex_ai/gemini-2.5-flash-preview-05-20` model. +- Automatically refresh GitHub Copilot tokens when used as OpenAI API keys, by Lih Chen. +- Aider wrote 79% of the code in this release. ### Aider v0.83.1 diff --git a/aider/website/HISTORY.md b/aider/website/HISTORY.md index ecce1da6c..c64c91645 100644 --- a/aider/website/HISTORY.md +++ b/aider/website/HISTORY.md @@ -32,7 +32,10 @@ cog.out(text) - The `/settings` command now displays detailed metadata for active main, editor, and weak models. - Fixed an issue where files explicitly added via the command line were not correctly ignored if listed in `.gitignore`. - Improved automatic commit messages by providing more context during their generation, by wangboxue. -- Aider wrote 89% of the code in this release. +- Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, `claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer versions. +- Added support for the `vertex_ai/gemini-2.5-flash-preview-05-20` model. +- Automatically refresh GitHub Copilot tokens when used as OpenAI API keys, by Lih Chen. +- Aider wrote 79% of the code in this release. ### Aider v0.83.1 diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index c010e2f53..68fc9f537 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,14 +1,3 @@ -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830325} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830325} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830325} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830325} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830325} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830325} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830325} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830325} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} {"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} {"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} {"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} @@ -998,3 +987,14 @@ {"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748287099} {"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748287099} {"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748287102} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640203} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640203} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640203} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640203} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640286} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640287} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640287} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640287} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640291} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 11933, "completion_tokens": 381, "total_tokens": 12314, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640295} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640295} diff --git a/aider/website/docs/config/adv-model-settings.md b/aider/website/docs/config/adv-model-settings.md index 8059b182b..8a300547f 100644 --- a/aider/website/docs/config/adv-model-settings.md +++ b/aider/website/docs/config/adv-model-settings.md @@ -165,7 +165,7 @@ cog.out("```\n") extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -281,7 +281,7 @@ cog.out("```\n") extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: anthropic/claude-sonnet-4-20250514 editor_edit_format: editor-diff @@ -530,7 +530,7 @@ cog.out("```\n") extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: bedrock_converse/anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -558,7 +558,7 @@ cog.out("```\n") extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: bedrock_converse/eu.anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -602,7 +602,7 @@ cog.out("```\n") extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: bedrock_converse/us.anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -713,7 +713,7 @@ cog.out("```\n") extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: claude-sonnet-4-20250514 editor_edit_format: editor-diff @@ -803,7 +803,7 @@ cog.out("```\n") extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: eu.anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -1679,7 +1679,7 @@ cog.out("```\n") extra_params: extra_headers: anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 - max_tokens: 64000 + max_tokens: 32000 cache_control: true editor_model_name: us.anthropic.claude-sonnet-4-20250514-v1:0 editor_edit_format: editor-diff @@ -1718,7 +1718,7 @@ cog.out("```\n") weak_model_name: vertex_ai/claude-3-5-haiku@20241022 use_repo_map: true extra_params: - max_tokens: 64000 + max_tokens: 32000 editor_model_name: vertex_ai-anthropic_models/vertex_ai/claude-sonnet-4@20250514 editor_edit_format: editor-diff accepts_settings: @@ -1795,7 +1795,7 @@ cog.out("```\n") weak_model_name: vertex_ai/claude-3-5-haiku@20241022 use_repo_map: true extra_params: - max_tokens: 64000 + max_tokens: 32000 editor_model_name: vertex_ai/claude-sonnet-4@20250514 editor_edit_format: editor-diff accepts_settings: diff --git a/aider/website/docs/faq.md b/aider/website/docs/faq.md index 6e8baecbb..7f73c15fb 100644 --- a/aider/website/docs/faq.md +++ b/aider/website/docs/faq.md @@ -264,9 +264,9 @@ tr:hover { background-color: #f5f5f5; } - - - + + + diff --git a/aider/website/docs/more/infinite-output.md b/aider/website/docs/more/infinite-output.md index 77016f7f9..09af92844 100644 --- a/aider/website/docs/more/infinite-output.md +++ b/aider/website/docs/more/infinite-output.md @@ -95,6 +95,7 @@ cog.out(model_list) - mistral/mistral-large-latest - mistral/mistral-medium - mistral/mistral-medium-2312 +- mistral/mistral-medium-2505 - mistral/mistral-medium-latest - mistral/mistral-small - mistral/mistral-small-latest From 3f2c403cf0f351fbfa5c1b98dd39560b6464e3f3 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 30 May 2025 14:26:50 -0700 Subject: [PATCH 70/82] feat: Add openrouter/anthropic/claude-opus-4 model config --- aider/resources/model-settings.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/aider/resources/model-settings.yml b/aider/resources/model-settings.yml index 23cd28875..0dacecb98 100644 --- a/aider/resources/model-settings.yml +++ b/aider/resources/model-settings.yml @@ -1750,4 +1750,18 @@ - name: vertex_ai/gemini-2.5-flash-preview-05-20 edit_format: diff use_repo_map: true - accepts_settings: ["reasoning_effort", "thinking_tokens"] \ No newline at end of file + accepts_settings: ["reasoning_effort", "thinking_tokens"] +- name: openrouter/anthropic/claude-opus-4 + edit_format: diff + weak_model_name: openrouter/anthropic/claude-3-5-haiku + use_repo_map: true + examples_as_sys_msg: false + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 32000 + cache_control: true + editor_model_name: openrouter/anthropic/claude-sonnet-4 + editor_edit_format: editor-diff + accepts_settings: ["thinking_tokens"] + From a7afbd0708f51598dcd894b0f07d9921a752386b Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 30 May 2025 14:30:10 -0700 Subject: [PATCH 71/82] feat: Add claude-opus-4 and update default OpenRouter models --- aider/models.py | 1 + aider/onboarding.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/aider/models.py b/aider/models.py index 8c4a0c3ea..e275c907e 100644 --- a/aider/models.py +++ b/aider/models.py @@ -72,6 +72,7 @@ claude-3-sonnet-20240229 claude-3-5-sonnet-20240620 claude-3-5-sonnet-20241022 claude-sonnet-4-20250514 +claude-opus-4-20250514 """ ANTHROPIC_MODELS = [ln.strip() for ln in ANTHROPIC_MODELS.splitlines() if ln.strip()] diff --git a/aider/onboarding.py b/aider/onboarding.py index 0321c0d63..9b6abd54b 100644 --- a/aider/onboarding.py +++ b/aider/onboarding.py @@ -55,9 +55,9 @@ def try_to_select_default_model(): # Check if the user is on a free tier is_free_tier = check_openrouter_tier(openrouter_key) if is_free_tier: - return "openrouter/google/gemini-2.5-pro-exp-03-25:free" + return "openrouter/deepseek/deepseek-r1:free" else: - return "openrouter/anthropic/claude-3.7-sonnet" + return "openrouter/anthropic/claude-sonnet-4" # Select model based on other available API keys model_key_pairs = [ From 05c56fe904716673516eaf90f02c9427049e2618 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 30 May 2025 14:33:34 -0700 Subject: [PATCH 72/82] fix: Fix OpenRouter token cost calculation --- aider/openrouter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aider/openrouter.py b/aider/openrouter.py index 9c69f5f31..6517cb152 100644 --- a/aider/openrouter.py +++ b/aider/openrouter.py @@ -17,11 +17,11 @@ import requests def _cost_per_token(val: str | None) -> float | None: - """Convert a per-million price string to a per-token float.""" + """Convert a price string (USD per token) to a float.""" if val in (None, "", "0"): return 0.0 if val == "0" else None try: - return float(val) / 1_000_000 + return float(val) except Exception: # noqa: BLE001 return None From 6085be588397b6cad5d317b11f34f164bcbcccc0 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 30 May 2025 14:46:28 -0700 Subject: [PATCH 73/82] copy --- HISTORY.md | 16 +- aider/website/HISTORY.md | 16 +- aider/website/assets/sample-analytics.jsonl | 182 +++++++++--------- .../website/docs/config/adv-model-settings.md | 14 ++ aider/website/docs/faq.md | 6 +- scripts/update-history.py | 2 + 6 files changed, 134 insertions(+), 102 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 6ea1d6f67..a4aa83ca3 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,16 +2,24 @@ ### main branch +- Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, +`claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer +versions. +- Added support for the `vertex_ai/gemini-2.5-flash-preview-05-20` model. +- Fixed OpenRouter token cost calculation for improved accuracy. +- Updated default OpenRouter models during onboarding to `deepseek/deepseek-r1:free` for the free tier and +`anthropic/claude-sonnet-4` for paid tiers. +- Automatically refresh GitHub Copilot tokens when used as OpenAI API keys, by Lih Chen. +- Aider wrote 79% of the code in this release. + +### Aider v0.83.2 + - Bumped configargparse to 1.7.1 as 1.7 was pulled. - Added shell tab completion for file path arguments (by saviour) and for `--edit-format`/`--editor-edit-format` options. - Improved OpenRouter model metadata handling by introducing a local cache, increasing reliability and performance. - The `/settings` command now displays detailed metadata for active main, editor, and weak models. - Fixed an issue where files explicitly added via the command line were not correctly ignored if listed in `.gitignore`. - Improved automatic commit messages by providing more context during their generation, by wangboxue. -- Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, `claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer versions. -- Added support for the `vertex_ai/gemini-2.5-flash-preview-05-20` model. -- Automatically refresh GitHub Copilot tokens when used as OpenAI API keys, by Lih Chen. -- Aider wrote 79% of the code in this release. ### Aider v0.83.1 diff --git a/aider/website/HISTORY.md b/aider/website/HISTORY.md index c64c91645..dfcb66be0 100644 --- a/aider/website/HISTORY.md +++ b/aider/website/HISTORY.md @@ -26,16 +26,24 @@ cog.out(text) ### main branch +- Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, +`claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer +versions. +- Added support for the `vertex_ai/gemini-2.5-flash-preview-05-20` model. +- Fixed OpenRouter token cost calculation for improved accuracy. +- Updated default OpenRouter models during onboarding to `deepseek/deepseek-r1:free` for the free tier and +`anthropic/claude-sonnet-4` for paid tiers. +- Automatically refresh GitHub Copilot tokens when used as OpenAI API keys, by Lih Chen. +- Aider wrote 79% of the code in this release. + +### Aider v0.83.2 + - Bumped configargparse to 1.7.1 as 1.7 was pulled. - Added shell tab completion for file path arguments (by saviour) and for `--edit-format`/`--editor-edit-format` options. - Improved OpenRouter model metadata handling by introducing a local cache, increasing reliability and performance. - The `/settings` command now displays detailed metadata for active main, editor, and weak models. - Fixed an issue where files explicitly added via the command line were not correctly ignored if listed in `.gitignore`. - Improved automatic commit messages by providing more context during their generation, by wangboxue. -- Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, `claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer versions. -- Added support for the `vertex_ai/gemini-2.5-flash-preview-05-20` model. -- Automatically refresh GitHub Copilot tokens when used as OpenAI API keys, by Lih Chen. -- Aider wrote 79% of the code in this release. ### Aider v0.83.1 diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index 68fc9f537..cf3daaed2 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,94 +1,3 @@ -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830326} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830327} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830328} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830329} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830415} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830416} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830416} -{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830416} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830416} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830416} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830416} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830416} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830416} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830445} -{"event": "gui session", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830445} -{"event": "exit", "properties": {"reason": "GUI session ended"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746830445} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831441} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831441} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831441} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831442} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831491} -{"event": "command_reset", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831603} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831605} -{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831623} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831655} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 7988, "completion_tokens": 533, "total_tokens": 8521, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831752} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831771} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 8860, "completion_tokens": 177, "total_tokens": 9037, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831775} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831828} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9164, "completion_tokens": 422, "total_tokens": 9586, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831865} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831893} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831893} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 10158, "completion_tokens": 449, "total_tokens": 10607, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746831934} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746838826} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839126} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839127} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839127} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839127} -{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839130} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839139} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 13706, "completion_tokens": 1014, "total_tokens": 14720, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839189} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839206} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839209} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839210} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839211} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 8921, "completion_tokens": 278, "total_tokens": 9199, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839217} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839271} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 9279, "completion_tokens": 217, "total_tokens": 9496, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746839276} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746885923} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746885923} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886094} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886094} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886094} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886094} {"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886097} {"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886098} {"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886116} @@ -998,3 +907,94 @@ {"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640291} {"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 11933, "completion_tokens": 381, "total_tokens": 12314, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640295} {"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640295} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640347} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640348} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640348} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640348} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640350} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640350} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640351} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640352} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640352} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640352} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640365} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 21804, "completion_tokens": 290, "total_tokens": 22094, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640409} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640563} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640565} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640566} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640566} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "whole"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640566} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640567} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640580} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640585} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640585} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640585} +{"event": "cli session", "properties": {"main_model": "openrouter/deepseek/deepseek-r1:free", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/deepseek/deepseek-r1:free", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640585} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640586} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640606} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640606} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640606} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640608} +{"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640610} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640621} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640622} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640622} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640622} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640632} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640632} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640632} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640632} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640640} +{"event": "command_edit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640641} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640680} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 5464, "completion_tokens": 598, "total_tokens": 6062, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640744} +{"event": "command_code", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640805} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640805} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640809} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 6150, "completion_tokens": 209, "total_tokens": 6359, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640813} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640816} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640817} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640817} +{"event": "cli session", "properties": {"main_model": "openrouter/REDACTED", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "openrouter/REDACTED", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640817} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640828} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640828} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 6882, "completion_tokens": 98, "total_tokens": 6980, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640834} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640836} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640859} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640859} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640859} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640859} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 12627, "completion_tokens": 216, "total_tokens": 12843, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640954} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640954} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748640984} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641052} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641052} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641052} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641052} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-sonnet-4-20250514", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "anthropic/claude-sonnet-4-20250514", "edit_format": "diff", "prompt_tokens": 14667, "completion_tokens": 106, "total_tokens": 14773, "cost": 0.045591, "total_cost": 0.045591}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641058} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641058} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641081} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641081} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641081} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641081} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641096} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641162} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641162} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641162} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641162} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641164} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641167} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641167} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641167} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641167} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641177} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641211} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 17284, "completion_tokens": 675, "total_tokens": 17959, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641382} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641435} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641472} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641472} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641472} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-sonnet-4-20250514", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "anthropic/claude-sonnet-4-20250514", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641472} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641492} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-sonnet-4-20250514", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "anthropic/claude-sonnet-4-20250514", "edit_format": "diff", "prompt_tokens": 2807, "completion_tokens": 813, "total_tokens": 3620, "cost": 0.020616000000000002, "total_cost": 0.020616000000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641506} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641571} diff --git a/aider/website/docs/config/adv-model-settings.md b/aider/website/docs/config/adv-model-settings.md index 8a300547f..6af6e182b 100644 --- a/aider/website/docs/config/adv-model-settings.md +++ b/aider/website/docs/config/adv-model-settings.md @@ -1369,6 +1369,20 @@ cog.out("```\n") accepts_settings: - thinking_tokens +- name: openrouter/anthropic/claude-opus-4 + edit_format: diff + weak_model_name: openrouter/anthropic/claude-3-5-haiku + use_repo_map: true + extra_params: + extra_headers: + anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19 + max_tokens: 32000 + cache_control: true + editor_model_name: openrouter/anthropic/claude-sonnet-4 + editor_edit_format: editor-diff + accepts_settings: + - thinking_tokens + - name: openrouter/anthropic/claude-sonnet-4 edit_format: diff weak_model_name: openrouter/anthropic/claude-3-5-haiku diff --git a/aider/website/docs/faq.md b/aider/website/docs/faq.md index 7f73c15fb..704576535 100644 --- a/aider/website/docs/faq.md +++ b/aider/website/docs/faq.md @@ -264,9 +264,9 @@ tr:hover { background-color: #f5f5f5; }
Model NameTotal TokensPercent
gemini/gemini-2.5-pro-exp-03-251,109,76861.9%
o3542,66930.3%
anthropic/claude-sonnet-4-2025051492,5085.2%
gemini/gemini-2.5-pro-exp-03-251,122,08262.1%
o3542,66930.1%
anthropic/claude-sonnet-4-2025051492,5085.1%
gemini/gemini-2.5-pro-preview-05-0640,2562.2%
gemini/gemini-2.5-flash-preview-05-207,6380.4%
gemini/REDACTED6430.0%
- - - + + + diff --git a/scripts/update-history.py b/scripts/update-history.py index d584228b9..258de6197 100755 --- a/scripts/update-history.py +++ b/scripts/update-history.py @@ -112,6 +112,8 @@ def main(): cmd = [ "aider", + "--model", + "sonnet", hist_path, "--read", log_path, From 52510c7da59d56e21b070bea24830cbbd7415d59 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 30 May 2025 15:07:29 -0700 Subject: [PATCH 74/82] test: Update OpenRouter default model expectations --- tests/basic/test_onboarding.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/basic/test_onboarding.py b/tests/basic/test_onboarding.py index 5c90a5648..ad32d06f8 100644 --- a/tests/basic/test_onboarding.py +++ b/tests/basic/test_onboarding.py @@ -94,7 +94,7 @@ class TestOnboarding(unittest.TestCase): def test_try_select_default_model_openrouter_free(self, mock_check_tier): """Test OpenRouter free model selection.""" self.assertEqual( - try_to_select_default_model(), "openrouter/google/gemini-2.5-pro-exp-03-25:free" + try_to_select_default_model(), "openrouter/deepseek/deepseek-r1:free" ) mock_check_tier.assert_called_once_with("or_key") @@ -102,7 +102,7 @@ class TestOnboarding(unittest.TestCase): @patch.dict(os.environ, {"OPENROUTER_API_KEY": "or_key"}, clear=True) def test_try_select_default_model_openrouter_paid(self, mock_check_tier): """Test OpenRouter paid model selection.""" - self.assertEqual(try_to_select_default_model(), "openrouter/anthropic/claude-3.7-sonnet") + self.assertEqual(try_to_select_default_model(), "openrouter/anthropic/claude-sonnet-4") mock_check_tier.assert_called_once_with("or_key") @patch("aider.onboarding.check_openrouter_tier") @@ -146,7 +146,7 @@ class TestOnboarding(unittest.TestCase): ) def test_try_select_default_model_priority_openrouter(self, mock_check_tier): """Test OpenRouter key takes priority.""" - self.assertEqual(try_to_select_default_model(), "openrouter/anthropic/claude-3.7-sonnet") + self.assertEqual(try_to_select_default_model(), "openrouter/anthropic/claude-sonnet-4") mock_check_tier.assert_called_once_with("or_key") @patch("aider.onboarding.check_openrouter_tier") @@ -346,7 +346,7 @@ class TestOnboarding(unittest.TestCase): @patch( "aider.onboarding.try_to_select_default_model", - side_effect=[None, "openrouter/google/gemini-2.5-pro-exp-03-25:free"], + side_effect=[None, "openrouter/deepseek/deepseek-r1:free"], ) # Fails first, succeeds after oauth @patch( "aider.onboarding.offer_openrouter_oauth", return_value=True @@ -360,7 +360,7 @@ class TestOnboarding(unittest.TestCase): selected_model = select_default_model(args, io_mock, analytics_mock) - self.assertEqual(selected_model, "openrouter/google/gemini-2.5-pro-exp-03-25:free") + self.assertEqual(selected_model, "openrouter/deepseek/deepseek-r1:free") self.assertEqual(mock_try_select.call_count, 2) # Called before and after oauth mock_offer_oauth.assert_called_once_with(io_mock, analytics_mock) # Only one warning is expected: "No LLM model..." From 48376e59c2d51260b1c6d2a14dcf58ab5066f88e Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 30 May 2025 15:07:32 -0700 Subject: [PATCH 75/82] style: Apply formatting --- tests/basic/test_onboarding.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/basic/test_onboarding.py b/tests/basic/test_onboarding.py index ad32d06f8..398bd7f4e 100644 --- a/tests/basic/test_onboarding.py +++ b/tests/basic/test_onboarding.py @@ -93,9 +93,7 @@ class TestOnboarding(unittest.TestCase): @patch.dict(os.environ, {"OPENROUTER_API_KEY": "or_key"}, clear=True) def test_try_select_default_model_openrouter_free(self, mock_check_tier): """Test OpenRouter free model selection.""" - self.assertEqual( - try_to_select_default_model(), "openrouter/deepseek/deepseek-r1:free" - ) + self.assertEqual(try_to_select_default_model(), "openrouter/deepseek/deepseek-r1:free") mock_check_tier.assert_called_once_with("or_key") @patch("aider.onboarding.check_openrouter_tier", return_value=False) # Assume paid tier From e331a967a6c55c2d6e9a930e79920b75844fffe2 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 30 May 2025 15:57:45 -0700 Subject: [PATCH 76/82] fix: Update expected OpenRouter costs in tests --- tests/basic/test_openrouter.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/basic/test_openrouter.py b/tests/basic/test_openrouter.py index 492955568..f55c30157 100644 --- a/tests/basic/test_openrouter.py +++ b/tests/basic/test_openrouter.py @@ -39,8 +39,8 @@ def test_openrouter_get_model_info_from_cache(monkeypatch, tmp_path): info = manager.get_model_info("openrouter/mistralai/mistral-medium-3") assert info["max_input_tokens"] == 32768 - assert info["input_cost_per_token"] == 0.0001 - assert info["output_cost_per_token"] == 0.0002 + assert info["input_cost_per_token"] == 100.0 + assert info["output_cost_per_token"] == 200.0 assert info["litellm_provider"] == "openrouter" @@ -56,8 +56,8 @@ def test_model_info_manager_uses_openrouter_manager(monkeypatch): "max_input_tokens": 512, "max_tokens": 512, "max_output_tokens": 512, - "input_cost_per_token": 0.0001, - "output_cost_per_token": 0.0002, + "input_cost_per_token": 100.0, + "output_cost_per_token": 200.0, "litellm_provider": "openrouter", } From 196721d27d4e6733d881e7aa5dd8c0c240c88b98 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 30 May 2025 16:27:24 -0700 Subject: [PATCH 77/82] version bump to 0.84.0 --- aider/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aider/__init__.py b/aider/__init__.py index a588bbf32..612ccb3c5 100644 --- a/aider/__init__.py +++ b/aider/__init__.py @@ -1,6 +1,6 @@ from packaging import version -__version__ = "0.83.3.dev" +__version__ = "0.84.0" safe_version = __version__ try: From 6fdc956b9e2b5ed4d07d64b0f001a44a6ef243df Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 30 May 2025 16:27:25 -0700 Subject: [PATCH 78/82] set version to 0.84.1.dev --- aider/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aider/__init__.py b/aider/__init__.py index 612ccb3c5..e828de6ca 100644 --- a/aider/__init__.py +++ b/aider/__init__.py @@ -1,6 +1,6 @@ from packaging import version -__version__ = "0.84.0" +__version__ = "0.84.1.dev" safe_version = __version__ try: From 6d872b6dc027509ca47c487979ea418f1b4df74c Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 30 May 2025 16:30:10 -0700 Subject: [PATCH 79/82] copy --- HISTORY.md | 2 +- aider/website/HISTORY.md | 2 +- aider/website/assets/sample-analytics.jsonl | 596 ++++++++++---------- aider/website/docs/faq.md | 12 +- 4 files changed, 306 insertions(+), 306 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index a4aa83ca3..c28836bf5 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,6 @@ # Release history -### main branch +### Aider v0.84.0 - Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, `claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer diff --git a/aider/website/HISTORY.md b/aider/website/HISTORY.md index dfcb66be0..be5fbf1a3 100644 --- a/aider/website/HISTORY.md +++ b/aider/website/HISTORY.md @@ -24,7 +24,7 @@ cog.out(text) ]]]--> -### main branch +### Aider v0.84.0 - Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, `claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index cf3daaed2..5609c090e 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,301 +1,3 @@ -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886097} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886098} -{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886116} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886119} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886119} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886145} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886146} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886146} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886146} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886151} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 7995, "completion_tokens": 3927, "total_tokens": 11922, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886209} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886223} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 12135, "completion_tokens": 67, "total_tokens": 12202, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886226} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886237} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886249} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886251} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 38347, "completion_tokens": 118, "total_tokens": 38465, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886266} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886274} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886281} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886311} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886311} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886311} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886311} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886311} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886311} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886312} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886313} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886314} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886315} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886316} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886317} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886320} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886401} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886402} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886402} -{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886402} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886402} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886402} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886403} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886403} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886403} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886428} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886428} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886428} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886428} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886429} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886440} -{"event": "command_edit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886455} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886508} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 23524, "completion_tokens": 1213, "total_tokens": 24737, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886681} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886870} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886870} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886874} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886875} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886875} -{"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886881} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886942} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886942} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886942} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886942} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746886992} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746887005} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 7718, "completion_tokens": 3544, "total_tokens": 11262, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746887071} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746888114} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746888123} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746888123} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 17890, "completion_tokens": 743, "total_tokens": 18633, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746888152} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746888161} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746888237} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 25004, "completion_tokens": 3849, "total_tokens": 28853, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746888341} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746889848} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746889848} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746901963} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746901965} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746901965} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746901965} -{"event": "command_context", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746901968} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746901968} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "context", "prompt_tokens": 9238, "completion_tokens": 229, "total_tokens": 9467, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902004} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902004} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "context", "prompt_tokens": 24946, "completion_tokens": 191, "total_tokens": 25137, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902010} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902018} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902019} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902170} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902178} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902178} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902178} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902179} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902180} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902180} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902253} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902253} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902253} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902256} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 21756, "completion_tokens": 1335, "total_tokens": 23091, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902277} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902306} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902306} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902335} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902336} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902336} -{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902336} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902338} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902338} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 23212, "completion_tokens": 826, "total_tokens": 24038, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902358} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 21017, "completion_tokens": 778, "total_tokens": 21795, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902440} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902602} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902604} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 22795, "completion_tokens": 216, "total_tokens": 23011, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902613} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902634} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902637} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 33073, "completion_tokens": 2980, "total_tokens": 36053, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902718} -{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902734} -{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902736} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902739} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902749} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 31909, "completion_tokens": 1577, "total_tokens": 33486, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902774} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902790} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 35407, "completion_tokens": 349, "total_tokens": 35756, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902807} -{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902824} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902848} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902848} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 38246, "completion_tokens": 942, "total_tokens": 39188, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902897} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902909} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 38950, "completion_tokens": 1184, "total_tokens": 40134, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902974} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902987} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 40639, "completion_tokens": 153, "total_tokens": 40792, "cost": 0.0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746902992} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903039} -{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903043} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903056} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903056} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 35488, "completion_tokens": 437, "total_tokens": 35925, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903093} -{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903105} -{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903108} -{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903111} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903135} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 34760, "completion_tokens": 340, "total_tokens": 35100, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903177} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903198} -{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903202} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903219} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903219} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "ask", "prompt_tokens": 35811, "completion_tokens": 917, "total_tokens": 36728, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903287} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903293} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 35706, "completion_tokens": 285, "total_tokens": 35991, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903301} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903329} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903329} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903329} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903331} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903337} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903337} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903337} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903339} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903349} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903349} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903349} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903351} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903366} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903366} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903366} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903368} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903393} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903393} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903393} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903395} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903411} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903411} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903411} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903413} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903421} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903421} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903421} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903422} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903443} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903443} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903443} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903445} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903476} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903477} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903477} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903478} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903484} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903484} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903484} -{"event": "exit", "properties": {"reason": "Showed prompts"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746903486} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905178} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905178} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905178} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905201} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905201} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905201} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905224} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905224} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905224} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905249} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905249} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905249} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905325} -{"event": "repo", "properties": {"num_files": 624}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905325} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905325} -{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905326} -{"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905331} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905425} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905425} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905425} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905425} -{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 7652, "completion_tokens": 189, "total_tokens": 7841, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905487} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905487} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905652} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905653} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} -{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} {"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} {"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} {"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1746905654} @@ -998,3 +700,301 @@ {"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641492} {"event": "message_send", "properties": {"main_model": "anthropic/claude-sonnet-4-20250514", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "anthropic/claude-sonnet-4-20250514", "edit_format": "diff", "prompt_tokens": 2807, "completion_tokens": 813, "total_tokens": 3620, "cost": 0.020616000000000002, "total_cost": 0.020616000000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641506} {"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748641571} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642705} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642705} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642705} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642705} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642706} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642723} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642730} +{"event": "command_model", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642782} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642783} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-sonnet-4-20250514", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 7931, "completion_tokens": 114, "total_tokens": 8045, "cost": 0.025503, "total_cost": 0.025503}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642788} +{"event": "command_reset", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642807} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642809} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642825} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-sonnet-4-20250514", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "diff", "prompt_tokens": 11791, "completion_tokens": 1235, "total_tokens": 13026, "cost": 0.053898, "total_cost": 0.079401}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642847} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748642859} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645751} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645753} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645753} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645753} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645753} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645753} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645754} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645755} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645756} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645773} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645773} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645773} +{"event": "cli session", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645773} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645784} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645785} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645831} +{"event": "gui session", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645835} +{"event": "exit", "properties": {"reason": "GUI session ended"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645835} +{"event": "message_send", "properties": {"main_model": "gemini/gemini-2.5-pro-exp-03-25", "weak_model": "gemini/gemini-2.5-flash-preview-04-17", "editor_model": "gemini/gemini-2.5-pro-exp-03-25", "edit_format": "udiff-simple", "prompt_tokens": 5364, "completion_tokens": 548, "total_tokens": 5912, "cost": 0, "total_cost": 0.0}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645862} +{"event": "exit", "properties": {"reason": "Completed main CLI coder.run"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748645878} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647388} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647389} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647390} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647391} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647391} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647391} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647391} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647415} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647423} +{"event": "gui session", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647424} +{"event": "exit", "properties": {"reason": "GUI session ended"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647424} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647582} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647583} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647584} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647585} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "repo", "properties": {"num_files": 627}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "auto_commits", "properties": {"enabled": true}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647617} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647628} +{"event": "gui session", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647631} +{"event": "exit", "properties": {"reason": "GUI session ended"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1748647631} diff --git a/aider/website/docs/faq.md b/aider/website/docs/faq.md index 704576535..6a185a00a 100644 --- a/aider/website/docs/faq.md +++ b/aider/website/docs/faq.md @@ -264,12 +264,12 @@ tr:hover { background-color: #f5f5f5; }
Model NameTotal TokensPercent
gemini/gemini-2.5-pro-exp-03-251,122,08262.1%
o3542,66930.1%
anthropic/claude-sonnet-4-2025051492,5085.1%
gemini/gemini-2.5-pro-exp-03-251,123,21361.5%
o3542,66929.7%
anthropic/claude-sonnet-4-20250514110,9016.1%
gemini/gemini-2.5-pro-preview-05-0640,2562.2%
gemini/gemini-2.5-flash-preview-05-207,6380.4%
gemini/REDACTED6430.0%
- - - - - - + + + + + +
Model NameTotal TokensPercent
gemini/gemini-2.5-pro-exp-03-251,123,21361.5%
o3542,66929.7%
anthropic/claude-sonnet-4-20250514110,9016.1%
gemini/gemini-2.5-pro-preview-05-0640,2562.2%
gemini/gemini-2.5-flash-preview-05-207,6380.4%
gemini/REDACTED6430.0%
o3542,66945.1%
gemini/gemini-2.5-pro-exp-03-25479,51839.9%
anthropic/claude-sonnet-4-20250514131,97211.0%
gemini/gemini-2.5-pro-preview-05-0640,2563.3%
gemini/gemini-2.5-flash-preview-05-207,6380.6%
gemini/REDACTED6430.1%
{: .note :} From fc30409f7480b12d8d3da5c7a5ca15bf34fd7523 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 30 May 2025 16:31:26 -0700 Subject: [PATCH 80/82] blame --- aider/website/_data/blame.yml | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/aider/website/_data/blame.yml b/aider/website/_data/blame.yml index f84c6c444..c19f0117a 100644 --- a/aider/website/_data/blame.yml +++ b/aider/website/_data/blame.yml @@ -4659,3 +4659,69 @@ zjy1412: 54 start_tag: v0.82.0 total_lines: 2594 +- aider_percentage: 78.92 + aider_total: 655 + end_date: '2025-05-30' + end_tag: v0.84.0 + file_counts: + aider/__init__.py: + Paul Gauthier: 1 + aider/args.py: + Paul Gauthier (aider): 27 + saviour: 2 + aider/args_formatter.py: + Paul Gauthier: 1 + aider/coders/base_coder.py: + Paul Gauthier: 4 + Paul Gauthier (aider): 10 + aider/commands.py: + Paul Gauthier (aider): 23 + wangboxue: 1 + aider/models.py: + Lih Chen: 15 + Paul Gauthier: 16 + Paul Gauthier (aider): 12 + aider/onboarding.py: + Paul Gauthier: 2 + aider/openrouter.py: + Paul Gauthier (aider): 120 + aider/repo.py: + Paul Gauthier: 1 + Paul Gauthier (aider): 10 + aider/repomap.py: + Paul Gauthier (aider): 1 + aider/resources/model-settings.yml: + Paul Gauthier: 71 + Paul Gauthier (aider): 193 + Trung Dinh: 11 + aider/utils.py: + Paul Gauthier (aider): 1 + aider/waiting.py: + Paul Gauthier: 2 + Paul Gauthier (aider): 6 + aider/website/docs/leaderboards/index.md: + Paul Gauthier: 1 + aider/website/index.html: + Paul Gauthier: 43 + scripts/update-history.py: + Paul Gauthier: 2 + tests/basic/test_coder.py: + Paul Gauthier: 2 + Paul Gauthier (aider): 144 + tests/basic/test_main.py: + Paul Gauthier (aider): 28 + tests/basic/test_models.py: + Paul Gauthier (aider): 2 + tests/basic/test_onboarding.py: + Paul Gauthier (aider): 5 + tests/basic/test_openrouter.py: + Paul Gauthier (aider): 73 + grand_total: + Lih Chen: 15 + Paul Gauthier: 146 + Paul Gauthier (aider): 655 + Trung Dinh: 11 + saviour: 2 + wangboxue: 1 + start_tag: v0.83.0 + total_lines: 830 From 45ad3cdf47bc696719edef2d628ade33dd5826f4 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 30 May 2025 16:32:21 -0700 Subject: [PATCH 81/82] copy --- README.md | 2 +- aider/website/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7b3395da4..4d3d03ef2 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ src="https://img.shields.io/badge/📈%20Tokens%2Fweek-15B-3498db?style=flat-squ OpenRouter Ranking Singularity +src="https://img.shields.io/badge/🔄%20Singularity-79%25-e74c3c?style=flat-square&labelColor=555555"/>

diff --git a/aider/website/index.html b/aider/website/index.html index 9bcaa13a7..1542a41bc 100644 --- a/aider/website/index.html +++ b/aider/website/index.html @@ -85,7 +85,7 @@ cog.out(text) 🔄 Singularity - 54% + 79%
From 0bb0f169d2e4cb6c7be93e645522bf27813b9cd8 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 30 May 2025 17:11:21 -0700 Subject: [PATCH 82/82] docs: Add link to release notes --- README.md | 1 + aider/website/index.html | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 4d3d03ef2..4303169a5 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ See the [installation instructions](https://aider.chat/docs/install.html) and [u - [LLM Leaderboards](https://aider.chat/docs/leaderboards/) - [GitHub Repository](https://github.com/Aider-AI/aider) - [Discord Community](https://discord.gg/Y7X7bhMQFV) +- [Release notes](https://aider.chat/HISTORY.html) - [Blog](https://aider.chat/blog/) ## Kind Words From Users diff --git a/aider/website/index.html b/aider/website/index.html index 1542a41bc..e030edf90 100644 --- a/aider/website/index.html +++ b/aider/website/index.html @@ -642,6 +642,7 @@ const testimonials = [
  • LLM Leaderboards
  • GitHub Repository
  • Discord Community
  • +
  • Release notes
  • Blog