From 4491b887634ead8181c397d2814fb3b4bcf85d58 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 13:52:35 -0700 Subject: [PATCH 01/68] feat: Add script for packing translation languages --- scripts/tsl_pack_langs.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/tsl_pack_langs.py diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py new file mode 100644 index 000000000..e69de29bb From 59af4114dd72c19522c6c402661b0d550c7bd911 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:52:39 -0700 Subject: [PATCH 02/68] feat: Add script to fetch tags.scm files from GitHub repositories --- scripts/tsl_pack_langs.py | 77 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index e69de29bb..a495a34c9 100644 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 + +import json +import os +import requests +from pathlib import Path +import sys + +def main(): + # Path to the language definitions file + lang_def_path = "../../tmp/tree-sitter-language-pack/sources/language_definitions.json" + + # Path to store the tags.scm files + output_dir = os.path.expanduser("~/tmp/tsl-pack") + + # Create the output directory if it doesn't exist + os.makedirs(output_dir, exist_ok=True) + + try: + # Load the language definitions + with open(lang_def_path, "r") as f: + lang_defs = json.load(f) + except Exception as e: + print(f"Error loading language definitions: {e}") + sys.exit(1) + + print(f"Found {len(lang_defs)} language definitions") + + # Process each language + for lang, config in lang_defs.items(): + print(f"Processing {lang}...") + + # Extract repo URL and branch from the config + repo_url = config.get("repo") + if not repo_url: + print(f"Skipping {lang}: No repository URL found") + continue + + branch = config.get("branch", "master") + directory = config.get("directory", "") + + # Parse the GitHub repository URL + if "github.com" not in repo_url: + print(f"Skipping {lang}: Not a GitHub repository") + continue + + # Extract the owner and repo name from the URL + _, _, _, owner, repo = repo_url.rstrip("/").split("/") + + # Construct the raw file URL + if directory: + tags_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{directory}/queries/tags.scm" + else: + tags_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}/queries/tags.scm" + + # Create the language directory in the output path + lang_dir = os.path.join(output_dir, lang) + os.makedirs(os.path.join(lang_dir, "queries"), exist_ok=True) + + # Fetch the tags.scm file + try: + response = requests.get(tags_url) + response.raise_for_status() # Raise an exception for HTTP errors + + # Save the file + output_file = os.path.join(lang_dir, "queries", "tags.scm") + with open(output_file, "w") as f: + f.write(response.text) + + print(f"Successfully downloaded tags for {lang}") + except requests.exceptions.RequestException as e: + print(f"Error fetching tags for {lang}: {e}") + + print("All language tags processed") + +if __name__ == "__main__": + main() From ae6192111d2ec993d611f3441bd0f1043d25add9 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:52:44 -0700 Subject: [PATCH 03/68] style: Format Python script with linter --- scripts/tsl_pack_langs.py | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index a495a34c9..042028e23 100644 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -2,20 +2,22 @@ import json import os -import requests -from pathlib import Path import sys +from pathlib import Path + +import requests + def main(): # Path to the language definitions file lang_def_path = "../../tmp/tree-sitter-language-pack/sources/language_definitions.json" - + # Path to store the tags.scm files output_dir = os.path.expanduser("~/tmp/tsl-pack") - + # Create the output directory if it doesn't exist os.makedirs(output_dir, exist_ok=True) - + try: # Load the language definitions with open(lang_def_path, "r") as f: @@ -23,55 +25,56 @@ def main(): except Exception as e: print(f"Error loading language definitions: {e}") sys.exit(1) - + print(f"Found {len(lang_defs)} language definitions") - + # Process each language for lang, config in lang_defs.items(): print(f"Processing {lang}...") - + # Extract repo URL and branch from the config repo_url = config.get("repo") if not repo_url: print(f"Skipping {lang}: No repository URL found") continue - + branch = config.get("branch", "master") directory = config.get("directory", "") - + # Parse the GitHub repository URL if "github.com" not in repo_url: print(f"Skipping {lang}: Not a GitHub repository") continue - + # Extract the owner and repo name from the URL _, _, _, owner, repo = repo_url.rstrip("/").split("/") - + # Construct the raw file URL if directory: tags_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{directory}/queries/tags.scm" else: tags_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}/queries/tags.scm" - + # Create the language directory in the output path lang_dir = os.path.join(output_dir, lang) os.makedirs(os.path.join(lang_dir, "queries"), exist_ok=True) - + # Fetch the tags.scm file try: response = requests.get(tags_url) response.raise_for_status() # Raise an exception for HTTP errors - + # Save the file output_file = os.path.join(lang_dir, "queries", "tags.scm") with open(output_file, "w") as f: f.write(response.text) - + print(f"Successfully downloaded tags for {lang}") except requests.exceptions.RequestException as e: print(f"Error fetching tags for {lang}: {e}") - + print("All language tags processed") + if __name__ == "__main__": main() From 1ab5238405e11968a560c612b890471ab41c0601 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:52:55 -0700 Subject: [PATCH 04/68] refactor: Simplify tags URL construction and remove unused import --- scripts/tsl_pack_langs.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index 042028e23..846c22801 100644 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -3,7 +3,6 @@ import json import os import sys -from pathlib import Path import requests @@ -50,10 +49,12 @@ def main(): _, _, _, owner, repo = repo_url.rstrip("/").split("/") # Construct the raw file URL + # Build the GitHub raw content path + base_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}" if directory: - tags_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{directory}/queries/tags.scm" + tags_url = f"{base_url}/{directory}/queries/tags.scm" else: - tags_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}/queries/tags.scm" + tags_url = f"{base_url}/queries/tags.scm" # Create the language directory in the output path lang_dir = os.path.join(output_dir, lang) From 849e02cbfbdc274d9d0c91af97a83c9c83caf768 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 13:54:27 -0700 Subject: [PATCH 05/68] chore: Make tsl_pack_langs.py script executable --- scripts/tsl_pack_langs.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/tsl_pack_langs.py diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py old mode 100644 new mode 100755 From a6ebed8d16b4e4348bfb0dc54d845f396582f5e8 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:54:31 -0700 Subject: [PATCH 06/68] feat: Improve language tag download script with multi-branch support --- scripts/tsl_pack_langs.py | 112 +++++++++++++++++++++++++++++--------- 1 file changed, 86 insertions(+), 26 deletions(-) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index 846c22801..9db702878 100755 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -3,10 +3,42 @@ import json import os import sys +import time import requests +def get_default_branch(owner, repo): + """Get the default branch of a GitHub repository using the API.""" + api_url = f"https://api.github.com/repos/{owner}/{repo}" + try: + response = requests.get(api_url) + response.raise_for_status() + return response.json().get("default_branch") + except requests.exceptions.RequestException: + return None + + +def try_download_tags(owner, repo, branch, directory, output_path): + """Try to download tags.scm from a specific branch.""" + base_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}" + if directory: + tags_url = f"{base_url}/{directory}/queries/tags.scm" + else: + tags_url = f"{base_url}/queries/tags.scm" + + try: + response = requests.get(tags_url) + response.raise_for_status() + + # Save the file + with open(output_path, "w") as f: + f.write(response.text) + return True + except requests.exceptions.RequestException: + return False + + def main(): # Path to the language definitions file lang_def_path = "../../tmp/tree-sitter-language-pack/sources/language_definitions.json" @@ -17,6 +49,9 @@ def main(): # Create the output directory if it doesn't exist os.makedirs(output_dir, exist_ok=True) + # Common branch names to try if API fails and config branch doesn't work + common_branches = ["main", "master", "dev", "develop"] + try: # Load the language definitions with open(lang_def_path, "r") as f: @@ -26,18 +61,20 @@ def main(): sys.exit(1) print(f"Found {len(lang_defs)} language definitions") - + # Process each language + successes = 0 + total = len(lang_defs) + for lang, config in lang_defs.items(): print(f"Processing {lang}...") - # Extract repo URL and branch from the config + # Extract repo URL from the config repo_url = config.get("repo") if not repo_url: print(f"Skipping {lang}: No repository URL found") continue - branch = config.get("branch", "master") directory = config.get("directory", "") # Parse the GitHub repository URL @@ -46,35 +83,58 @@ def main(): continue # Extract the owner and repo name from the URL - _, _, _, owner, repo = repo_url.rstrip("/").split("/") - - # Construct the raw file URL - # Build the GitHub raw content path - base_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}" - if directory: - tags_url = f"{base_url}/{directory}/queries/tags.scm" - else: - tags_url = f"{base_url}/queries/tags.scm" + parts = repo_url.rstrip("/").split("/") + if len(parts) < 5: + print(f"Skipping {lang}: Invalid GitHub URL format") + continue + + owner = parts[-2] + repo = parts[-1] # Create the language directory in the output path lang_dir = os.path.join(output_dir, lang) - os.makedirs(os.path.join(lang_dir, "queries"), exist_ok=True) + queries_dir = os.path.join(lang_dir, "queries") + os.makedirs(queries_dir, exist_ok=True) + output_file = os.path.join(queries_dir, "tags.scm") - # Fetch the tags.scm file - try: - response = requests.get(tags_url) - response.raise_for_status() # Raise an exception for HTTP errors + # Try branches in this order: + # 1. Branch specified in the config + # 2. Default branch from GitHub API + # 3. Common branch names (main, master, etc.) + + branches_to_try = [] + + # 1. Branch from config (if specified) + config_branch = config.get("branch") + if config_branch: + branches_to_try.append(config_branch) + + # 2. Default branch from GitHub API + default_branch = get_default_branch(owner, repo) + if default_branch and default_branch not in branches_to_try: + branches_to_try.append(default_branch) + + # 3. Add common branch names + for branch in common_branches: + if branch not in branches_to_try: + branches_to_try.append(branch) - # Save the file - output_file = os.path.join(lang_dir, "queries", "tags.scm") - with open(output_file, "w") as f: - f.write(response.text) + # Try each branch + success = False + for branch in branches_to_try: + if try_download_tags(owner, repo, branch, directory, output_file): + print(f"Successfully downloaded tags for {lang} (branch: {branch})") + success = True + successes += 1 + break + + if not success: + print(f"Failed to download tags for {lang} after trying all branches") + + # Be nice to GitHub's API + time.sleep(0.1) - print(f"Successfully downloaded tags for {lang}") - except requests.exceptions.RequestException as e: - print(f"Error fetching tags for {lang}: {e}") - - print("All language tags processed") + print(f"All language tags processed. Downloaded {successes}/{total} successfully.") if __name__ == "__main__": From 5f125c18121dad1098075f185bfc46b834359b72 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:54:36 -0700 Subject: [PATCH 07/68] style: Format Python script with linter --- scripts/tsl_pack_langs.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index 9db702878..95bc2a547 100755 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -61,11 +61,11 @@ def main(): sys.exit(1) print(f"Found {len(lang_defs)} language definitions") - + # Process each language successes = 0 total = len(lang_defs) - + for lang, config in lang_defs.items(): print(f"Processing {lang}...") @@ -87,7 +87,7 @@ def main(): if len(parts) < 5: print(f"Skipping {lang}: Invalid GitHub URL format") continue - + owner = parts[-2] repo = parts[-1] @@ -101,19 +101,19 @@ def main(): # 1. Branch specified in the config # 2. Default branch from GitHub API # 3. Common branch names (main, master, etc.) - + branches_to_try = [] - + # 1. Branch from config (if specified) config_branch = config.get("branch") if config_branch: branches_to_try.append(config_branch) - + # 2. Default branch from GitHub API default_branch = get_default_branch(owner, repo) if default_branch and default_branch not in branches_to_try: branches_to_try.append(default_branch) - + # 3. Add common branch names for branch in common_branches: if branch not in branches_to_try: @@ -127,10 +127,10 @@ def main(): success = True successes += 1 break - + if not success: print(f"Failed to download tags for {lang} after trying all branches") - + # Be nice to GitHub's API time.sleep(0.1) From 011e0fd10933358711e5a6a90bcda93873e20cfa Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:55:17 -0700 Subject: [PATCH 08/68] feat: Print GitHub URL when processing each language --- scripts/tsl_pack_langs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index 95bc2a547..30c7a85a1 100755 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -67,10 +67,10 @@ def main(): total = len(lang_defs) for lang, config in lang_defs.items(): - print(f"Processing {lang}...") - # Extract repo URL from the config repo_url = config.get("repo") + print(f"Processing {lang} ({repo_url})...") + if not repo_url: print(f"Skipping {lang}: No repository URL found") continue From e15518dd29440edb720556b5b2b0c8ba660ba3e0 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:55:23 -0700 Subject: [PATCH 09/68] style: Fix linter formatting in tsl_pack_langs.py --- scripts/tsl_pack_langs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index 30c7a85a1..87f8444e8 100755 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -70,7 +70,7 @@ def main(): # Extract repo URL from the config repo_url = config.get("repo") print(f"Processing {lang} ({repo_url})...") - + if not repo_url: print(f"Skipping {lang}: No repository URL found") continue From 2d843f6e79484ec76a3f4b358fed7c4cf36a8d77 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:55:47 -0700 Subject: [PATCH 10/68] feat: Add skip mechanism for existing tags.scm files in language download script --- scripts/tsl_pack_langs.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index 87f8444e8..7ae9d5c1e 100755 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -96,6 +96,12 @@ def main(): queries_dir = os.path.join(lang_dir, "queries") os.makedirs(queries_dir, exist_ok=True) output_file = os.path.join(queries_dir, "tags.scm") + + # Skip if file already exists + if os.path.exists(output_file): + print(f"Skipping {lang}: tags.scm already exists") + successes += 1 + continue # Try branches in this order: # 1. Branch specified in the config From 76994facecc3fb2e0edd7e4288f0fc09b32fde83 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 13:55:52 -0700 Subject: [PATCH 11/68] style: Apply linter formatting to tsl_pack_langs.py script --- scripts/tsl_pack_langs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index 7ae9d5c1e..11ca9f403 100755 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -96,7 +96,7 @@ def main(): queries_dir = os.path.join(lang_dir, "queries") os.makedirs(queries_dir, exist_ok=True) output_file = os.path.join(queries_dir, "tags.scm") - + # Skip if file already exists if os.path.exists(output_file): print(f"Skipping {lang}: tags.scm already exists") From f55099e969bc2f73236018ccc75217093aa117d3 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:10:14 -0700 Subject: [PATCH 12/68] feat: Update script to download Tree-Sitter language tags to specific directory --- scripts/tsl_pack_langs.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/scripts/tsl_pack_langs.py b/scripts/tsl_pack_langs.py index 11ca9f403..cc56ae6bd 100755 --- a/scripts/tsl_pack_langs.py +++ b/scripts/tsl_pack_langs.py @@ -44,7 +44,7 @@ def main(): lang_def_path = "../../tmp/tree-sitter-language-pack/sources/language_definitions.json" # Path to store the tags.scm files - output_dir = os.path.expanduser("~/tmp/tsl-pack") + output_dir = "aider/queries/tree-sitter-language-pack" # Create the output directory if it doesn't exist os.makedirs(output_dir, exist_ok=True) @@ -91,11 +91,9 @@ def main(): owner = parts[-2] repo = parts[-1] - # Create the language directory in the output path - lang_dir = os.path.join(output_dir, lang) - queries_dir = os.path.join(lang_dir, "queries") - os.makedirs(queries_dir, exist_ok=True) - output_file = os.path.join(queries_dir, "tags.scm") + # Create output directory and set output file path + os.makedirs(output_dir, exist_ok=True) + output_file = os.path.join(output_dir, f"{lang}-tags.scm") # Skip if file already exists if os.path.exists(output_file): From e69bad57e4ef670f54f040481854df35cf0a3bde Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 14:14:13 -0700 Subject: [PATCH 13/68] initial --- .../arduino-tags.scm | 5 + .../tree-sitter-language-pack/c-tags.scm | 9 ++ .../chatito-tags.scm | 16 +++ .../commonlisp-tags.scm | 122 ++++++++++++++++++ .../tree-sitter-language-pack/cpp-tags.scm | 15 +++ .../tree-sitter-language-pack/d-tags.scm | 26 ++++ .../tree-sitter-language-pack/dart-tags.scm | 92 +++++++++++++ .../tree-sitter-language-pack/elisp-tags.scm | 5 + .../tree-sitter-language-pack/elixir-tags.scm | 54 ++++++++ .../tree-sitter-language-pack/elm-tags.scm | 19 +++ .../tree-sitter-language-pack/gleam-tags.scm | 41 ++++++ .../tree-sitter-language-pack/go-tags.scm | 42 ++++++ .../tree-sitter-language-pack/java-tags.scm | 20 +++ .../tree-sitter-language-pack/lua-tags.scm | 34 +++++ .../tree-sitter-language-pack/pony-tags.scm | 39 ++++++ .../properties-tags.scm | 5 + .../tree-sitter-language-pack/python-tags.scm | 14 ++ .../tree-sitter-language-pack/r-tags.scm | 21 +++ .../tree-sitter-language-pack/racket-tags.scm | 12 ++ .../tree-sitter-language-pack/ruby-tags.scm | 64 +++++++++ .../tree-sitter-language-pack/rust-tags.scm | 60 +++++++++ .../solidity-tags.scm | 43 ++++++ .../tree-sitter-language-pack/swift-tags.scm | 51 ++++++++ .../tree-sitter-language-pack/udev-tags.scm | 20 +++ 24 files changed, 829 insertions(+) create mode 100644 aider/queries/tree-sitter-language-pack/arduino-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/c-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/chatito-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/commonlisp-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/cpp-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/d-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/dart-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/elisp-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/elixir-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/elm-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/gleam-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/go-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/java-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/lua-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/pony-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/properties-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/python-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/r-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/racket-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/ruby-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/rust-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/solidity-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/swift-tags.scm create mode 100644 aider/queries/tree-sitter-language-pack/udev-tags.scm diff --git a/aider/queries/tree-sitter-language-pack/arduino-tags.scm b/aider/queries/tree-sitter-language-pack/arduino-tags.scm new file mode 100644 index 000000000..84cc57146 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/arduino-tags.scm @@ -0,0 +1,5 @@ +(function_declarator + declarator: (identifier) @name) @definition.function + +(call_expression + function: (identifier) @name) @reference.call diff --git a/aider/queries/tree-sitter-language-pack/c-tags.scm b/aider/queries/tree-sitter-language-pack/c-tags.scm new file mode 100644 index 000000000..964756656 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/c-tags.scm @@ -0,0 +1,9 @@ +(struct_specifier name: (type_identifier) @name body:(_)) @definition.class + +(declaration type: (union_specifier name: (type_identifier) @name)) @definition.class + +(function_declarator declarator: (identifier) @name) @definition.function + +(type_definition declarator: (type_identifier) @name) @definition.type + +(enum_specifier name: (type_identifier) @name) @definition.type diff --git a/aider/queries/tree-sitter-language-pack/chatito-tags.scm b/aider/queries/tree-sitter-language-pack/chatito-tags.scm new file mode 100644 index 000000000..d2f04ad6b --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/chatito-tags.scm @@ -0,0 +1,16 @@ +; Definitions +(intent_def + (intent) @name) @definition.intent + +(slot_def + (slot) @name) @definition.slot + +(alias_def + (alias) @name) @definition.alias + +; References +(slot_ref + (slot) @name) @reference.slot + +(alias_ref + (alias) @name) @reference.alias diff --git a/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm b/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm new file mode 100644 index 000000000..e8143395b --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm @@ -0,0 +1,122 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Function Definitions ;;;;;;;;;;;;;;;;;;;;;;; + +(defun_header + function_name: (sym_lit) @name) @definition.function + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Function Calls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; +;;; Basically, we consider every list literal with symbol as the +;;; first element to be a call to a function named by that element. +;;; But we must exclude some cases. Note, tree-sitter @ignore +;;; cases only work if they are declared before the cases +;;; we want to include. + +;; Exclude lambda lists for function definitions +;; For example: +;; +;; (defun my-func (arg1 arg2) ...) +;; +;; do not treat (arg1 arg2) as a call of function arg1 +;; +(defun_header + lambda_list: (list_lit . [(sym_lit) (package_lit)] @ignore)) + +;; Similar to the above, but for +;; +;; (defmethod m ((type1 param1) (type2 param2)) ...) +;; +;; where list literals having symbol as their first element +;; are nested inside the lambda list. +(defun_header + lambda_list: (list_lit (list_lit . [(sym_lit) (package_lit)] @ignore))) + +;; +;; (let ((var ...) (var2 ...)) ...) +;; +;; - exclude var, var2 +;; - the same for let*, flet, labels, macrolet, symbol-macrolet +(list_lit . [(sym_lit) (package_lit)] @name + . (list_lit (list_lit . [(sym_lit) (package_lit)] @ignore)) + (#match? @name + "(?i)^(cl:)?(let|let\\*|flet|labels|macrolet|symbol-macrolet)$") + ) + +;; TODO: +;; - exclude also: +;; - (defclass name (parent parent2) +;; ((slot1 ...) +;; (slot2 ...)) +;; exclude the parent, slot1, slot2 +;; - (flet ((func-1 (param1 param2))) ...) +;; - we already exclude func-1, but param1 is still recognized +;; as a function call - exclude it too +;; - the same for labels +;; - the same macrolet +;; - what else? +;; (that's a non-goal to completely support all macros +;; and special operators, but every one we support +;; makes the solution a little bit better) +;; - (flet ((func-1 (param1 param2))) ...) +;; - instead of simply excluding it, as we do today, +;; tag func-1 as @local.definition.function (I suppose) +;; - the same for labels, macrolet +;; - @local.scope for let, let*, flet, labels, macrolet +;; - I guess the whole span of the scope text, +;; till the closing paren, should be tagged as @local.scope; +;; Hopefully, combined with @local.definition.function +;; within the scope, the usual @reference.call within +;; that scope will refer to the local definition, +;; and there will be no need to use @local.reference.call +;; (which is more difficult to implement). +;; - When implementing, remember the scope rules differences +;; of let vs let*, flet vs labels. + + +;; Include all other cases - list literal with symbol as the +;; first element +(list_lit . [(sym_lit) (package_lit)] @name) @reference.call + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; classes + +(list_lit . [(sym_lit) (package_lit)] @ignore + . [(sym_lit) (package_lit)] @name + (#match? @ignore "(?i)^(cl:)?defclass$") + ) @definition.class + +(list_lit . [(sym_lit) (package_lit)] @ignore + . (quoting_lit [(sym_lit) (package_lit)] @name) + (#match? @ignore "(?i)^(cl:)?make-instance$") + ) @reference.class + +;;; TODO: +;; - @reference.class for base classes + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; TODO: +;; - Symbols referenced in defpackage +;; +;; (defpackage ... +;; (:export (symbol-a :symbol-b #:symbol-c "SYMBOL-D"))) +;; +;; The goal is to allow quick navigation from the API +;; overview in the form of defpackage, to the definition +;; where user can read parameters, docstring, etc. +;; - The @name must not include the colon, or sharpsign colon, quotes, +;; just symbol-a, symbol-b, symbol-c, sybmol-d +;; - Downcase the names specified as string literals? +;; ("SYMBOL-D" -> symbol-d) +;; - We don't know if the exported symbol is a function, variable, +;; class or something else. The official doc +;; (https://tree-sitter.github.io/tree-sitter/code-navigation-systems) +;; does not even suggest a tag for variable reference. +;; (Although in practice, the `tree-sitter tags` command +;; allows any @reference.* and @definition.* tags) +;; Probably it's better to just use @reference.call for all +;; the symbols in the :export clause. +;; +;; - The same for the export function call: +;; +;; (export '(symbol-a :symbol-b #:symbol-c "SYMBOL-D")) diff --git a/aider/queries/tree-sitter-language-pack/cpp-tags.scm b/aider/queries/tree-sitter-language-pack/cpp-tags.scm new file mode 100644 index 000000000..621a97d02 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/cpp-tags.scm @@ -0,0 +1,15 @@ +(struct_specifier name: (type_identifier) @name body:(_)) @definition.class + +(declaration type: (union_specifier name: (type_identifier) @name)) @definition.class + +(function_declarator declarator: (identifier) @name) @definition.function + +(function_declarator declarator: (field_identifier) @name) @definition.function + +(function_declarator declarator: (qualified_identifier scope: (namespace_identifier) @local.scope name: (identifier) @name)) @definition.method + +(type_definition declarator: (type_identifier) @name) @definition.type + +(enum_specifier name: (type_identifier) @name) @definition.type + +(class_specifier name: (type_identifier) @name) @definition.class diff --git a/aider/queries/tree-sitter-language-pack/d-tags.scm b/aider/queries/tree-sitter-language-pack/d-tags.scm new file mode 100644 index 000000000..082171f43 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/d-tags.scm @@ -0,0 +1,26 @@ +(module_def (module_declaration (module_fqn) @name)) @definition.module + +(struct_declaration (struct) . (identifier) @name) @definition.class +(interface_declaration (interface) . (identifier) @name) @definition.interface +(enum_declaration (enum) . (identifier) @name) @definition.type + +(class_declaration (class) . (identifier) @name) @definition.class +(constructor (this) @name) @definition.method +(destructor (this) @name) @definition.method +(postblit (this) @name) @definition.method + +(manifest_declarator . (identifier) @name) @definition.type + +(function_declaration (identifier) @name) @definition.function + +(union_declaration (union) . (identifier) @name) @definition.type + +(anonymous_enum_declaration (enum_member . (identifier) @name)) @definition.constant + +(enum_declaration (enum_member . (identifier) @name)) @definition.constant + +(call_expression (identifier) @name) @reference.call +(call_expression (type (template_instance (identifier) @name))) @reference.call +(parameter (type (identifier) @name) @reference.class (identifier)) + +(variable_declaration (type (identifier) @name) @reference.class (declarator)) diff --git a/aider/queries/tree-sitter-language-pack/dart-tags.scm b/aider/queries/tree-sitter-language-pack/dart-tags.scm new file mode 100644 index 000000000..35ebc996c --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/dart-tags.scm @@ -0,0 +1,92 @@ + +(class_definition + name: (identifier) @name) @definition.class + +(method_signature + (function_signature)) @definition.method + +(type_alias + (type_identifier) @name) @definition.type + +(method_signature +(getter_signature + name: (identifier) @name)) @definition.method + +(method_signature +(setter_signature + name: (identifier) @name)) @definition.method + +(method_signature + (function_signature + name: (identifier) @name)) @definition.method + +(method_signature + (factory_constructor_signature + (identifier) @name)) @definition.method + +(method_signature + (constructor_signature + name: (identifier) @name)) @definition.method + +(method_signature + (operator_signature)) @definition.method + +(method_signature) @definition.method + +(mixin_declaration + (mixin) + (identifier) @name) @definition.mixin + +(extension_declaration + name: (identifier) @name) @definition.extension + + +(new_expression + (type_identifier) @name) @reference.class + +(enum_declaration + name: (identifier) @name) @definition.enum + +(function_signature + name: (identifier) @name) @definition.function + +(initialized_variable_definition + name: (identifier) + value: (identifier) @name + value: (selector + "!"? + (argument_part + (arguments + (argument)*))?)?) @reference.class + +(assignment_expression + left: (assignable_expression + (identifier) + (unconditional_assignable_selector + "." + (identifier) @name))) @reference.call + +(assignment_expression + left: (assignable_expression + (identifier) + (conditional_assignable_selector + "?." + (identifier) @name))) @reference.call + +((identifier) @name + (selector + "!"? + (conditional_assignable_selector + "?." (identifier) @name)? + (unconditional_assignable_selector + "."? (identifier) @name)? + (argument_part + (arguments + (argument)*))?)* + (cascade_section + (cascade_selector + (identifier)) @name + (argument_part + (arguments + (argument)*))?)?) @reference.call + diff --git a/aider/queries/tree-sitter-language-pack/elisp-tags.scm b/aider/queries/tree-sitter-language-pack/elisp-tags.scm new file mode 100644 index 000000000..7abcb9a4d --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/elisp-tags.scm @@ -0,0 +1,5 @@ +;; defun/defsubst +(function_definition name: (symbol) @name) @definition.function + +;; Treat macros as function definitions for the sake of TAGS. +(macro_definition name: (symbol) @name) @definition.function diff --git a/aider/queries/tree-sitter-language-pack/elixir-tags.scm b/aider/queries/tree-sitter-language-pack/elixir-tags.scm new file mode 100644 index 000000000..582f11602 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/elixir-tags.scm @@ -0,0 +1,54 @@ +; Definitions + +; * modules and protocols +(call + target: (identifier) @ignore + (arguments (alias) @name) + (#any-of? @ignore "defmodule" "defprotocol")) @definition.module + +; * functions/macros +(call + target: (identifier) @ignore + (arguments + [ + ; zero-arity functions with no parentheses + (identifier) @name + ; regular function clause + (call target: (identifier) @name) + ; function clause with a guard clause + (binary_operator + left: (call target: (identifier) @name) + operator: "when") + ]) + (#any-of? @ignore "def" "defp" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp")) @definition.function + +; References + +; ignore calls to kernel/special-forms keywords +(call + target: (identifier) @ignore + (#any-of? @ignore "def" "defp" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp" "defmodule" "defprotocol" "defimpl" "defstruct" "defexception" "defoverridable" "alias" "case" "cond" "else" "for" "if" "import" "quote" "raise" "receive" "require" "reraise" "super" "throw" "try" "unless" "unquote" "unquote_splicing" "use" "with")) + +; ignore module attributes +(unary_operator + operator: "@" + operand: (call + target: (identifier) @ignore)) + +; * function call +(call + target: [ + ; local + (identifier) @name + ; remote + (dot + right: (identifier) @name) + ]) @reference.call + +; * pipe into function call +(binary_operator + operator: "|>" + right: (identifier) @name) @reference.call + +; * modules +(alias) @name @reference.module diff --git a/aider/queries/tree-sitter-language-pack/elm-tags.scm b/aider/queries/tree-sitter-language-pack/elm-tags.scm new file mode 100644 index 000000000..d6ac5cd94 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/elm-tags.scm @@ -0,0 +1,19 @@ +(value_declaration (function_declaration_left (lower_case_identifier) @name)) @definition.function + +(function_call_expr (value_expr (value_qid) @name)) @reference.function +(exposed_value (lower_case_identifier) @name) @reference.function +(type_annotation ((lower_case_identifier) @name) (colon)) @reference.function + +(type_declaration ((upper_case_identifier) @name) ) @definition.type + +(type_ref (upper_case_qid (upper_case_identifier) @name)) @reference.type +(exposed_type (upper_case_identifier) @name) @reference.type + +(type_declaration (union_variant (upper_case_identifier) @name)) @definition.union + +(value_expr (upper_case_qid (upper_case_identifier) @name)) @reference.union + + +(module_declaration + (upper_case_qid (upper_case_identifier)) @name +) @definition.module \ No newline at end of file diff --git a/aider/queries/tree-sitter-language-pack/gleam-tags.scm b/aider/queries/tree-sitter-language-pack/gleam-tags.scm new file mode 100644 index 000000000..cfca227c0 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/gleam-tags.scm @@ -0,0 +1,41 @@ +; Modules +(module) @name @reference.module +(import alias: (identifier) @name) @reference.module +(remote_type_identifier + module: (identifier) @name) @reference.module +((field_access + record: (identifier) @name) + (#is-not? local)) @reference.module + +; Functions +(function + name: (identifier) @name) @definition.function +(external_function + name: (identifier) @name) @definition.function +(unqualified_import (identifier) @name) @reference.function +((function_call + function: (identifier) @name) @reference.function + (#is-not? local)) +((field_access + record: (identifier) @ignore + field: (label) @name) + (#is-not? local)) @reference.function +((binary_expression + operator: "|>" + right: (identifier) @name) + (#is-not? local)) @reference.function + +; Types +(type_definition + (type_name + name: (type_identifier) @name)) @definition.type +(type_definition + (data_constructors + (data_constructor + name: (constructor_name) @name))) @definition.constructor +(external_type + (type_name + name: (type_identifier) @name)) @definition.type + +(type_identifier) @name @reference.type +(constructor_name) @name @reference.constructor diff --git a/aider/queries/tree-sitter-language-pack/go-tags.scm b/aider/queries/tree-sitter-language-pack/go-tags.scm new file mode 100644 index 000000000..22c92249b --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/go-tags.scm @@ -0,0 +1,42 @@ +( + (comment)* @doc + . + (function_declaration + name: (identifier) @name) @definition.function + (#strip! @doc "^//\\s*") + (#set-adjacent! @doc @definition.function) +) + +( + (comment)* @doc + . + (method_declaration + name: (field_identifier) @name) @definition.method + (#strip! @doc "^//\\s*") + (#set-adjacent! @doc @definition.method) +) + +(call_expression + function: [ + (identifier) @name + (parenthesized_expression (identifier) @name) + (selector_expression field: (field_identifier) @name) + (parenthesized_expression (selector_expression field: (field_identifier) @name)) + ]) @reference.call + +(type_spec + name: (type_identifier) @name) @definition.type + +(type_identifier) @name @reference.type + +(package_clause "package" (package_identifier) @name) + +(type_declaration (type_spec name: (type_identifier) @name type: (interface_type))) + +(type_declaration (type_spec name: (type_identifier) @name type: (struct_type))) + +(import_declaration (import_spec) @name) + +(var_declaration (var_spec name: (identifier) @name)) + +(const_declaration (const_spec name: (identifier) @name)) diff --git a/aider/queries/tree-sitter-language-pack/java-tags.scm b/aider/queries/tree-sitter-language-pack/java-tags.scm new file mode 100644 index 000000000..3f3eb40ae --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/java-tags.scm @@ -0,0 +1,20 @@ +(class_declaration + name: (identifier) @name) @definition.class + +(method_declaration + name: (identifier) @name) @definition.method + +(method_invocation + name: (identifier) @name + arguments: (argument_list) @reference.call) + +(interface_declaration + name: (identifier) @name) @definition.interface + +(type_list + (type_identifier) @name) @reference.implementation + +(object_creation_expression + type: (type_identifier) @name) @reference.class + +(superclass (type_identifier) @name) @reference.class diff --git a/aider/queries/tree-sitter-language-pack/lua-tags.scm b/aider/queries/tree-sitter-language-pack/lua-tags.scm new file mode 100644 index 000000000..8459cd454 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/lua-tags.scm @@ -0,0 +1,34 @@ +(function_declaration + name: [ + (identifier) @name + (dot_index_expression + field: (identifier) @name) + ]) @definition.function + +(function_declaration + name: (method_index_expression + method: (identifier) @name)) @definition.method + +(assignment_statement + (variable_list . + name: [ + (identifier) @name + (dot_index_expression + field: (identifier) @name) + ]) + (expression_list . + value: (function_definition))) @definition.function + +(table_constructor + (field + name: (identifier) @name + value: (function_definition))) @definition.function + +(function_call + name: [ + (identifier) @name + (dot_index_expression + field: (identifier) @name) + (method_index_expression + method: (identifier) @name) + ]) @reference.call diff --git a/aider/queries/tree-sitter-language-pack/pony-tags.scm b/aider/queries/tree-sitter-language-pack/pony-tags.scm new file mode 100644 index 000000000..4befc8567 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/pony-tags.scm @@ -0,0 +1,39 @@ +;Class definitions @definition.class +;Function definitions @definition.function +;Interface definitions @definition.interface +;Method definitions @definition.method +;Module definitions @definition.module +;Function/method calls @reference.call +;Class reference @reference.class +;Interface implementation @reference.implementation +( + (identifier) @reference.class + (#match? @reference.class "^_*[A-Z][a-zA-Z0-9_]*$") +) + +(class_definition (identifier) @name) @definition.class +(actor_definition (identifier) @name) @definition.class +(primitive_definition (identifier) @name) @definition.class +(struct_definition (identifier) @name) @definition.class +(type_alias (identifier) @name) @definition.class + +(trait_definition (identifier) @name) @definition.interface +(interface_definition (identifier) @name) @definition.interface + +(constructor (identifier) @name) @definition.method +(method (identifier) @name) @definition.method +(behavior (identifier) @name) @definition.method + +(class_definition (type) @name) @reference.implementation +(actor_definition (type) @name) @reference.implementation +(primitive_definition (type) @name) @reference.implementation +(struct_definition (type) @name) @reference.implementation +(type_alias (type) @name) @reference.implementation + +; calls - not catching all possible call cases of callees for capturing the method name +(call_expression callee: [(identifier) (ffi_identifier)] @name) @reference.call +(call_expression callee: (generic_expression [(identifier) (ffi_identifier)] @name)) @reference.call +(call_expression callee: (member_expression (identifier) @name .)) @reference.call +(call_expression callee: (member_expression (generic_expression [(identifier) (ffi_identifier)] @name) .)) @reference.call +; TODO: add more possible callee expressions +(call_expression) @reference.call diff --git a/aider/queries/tree-sitter-language-pack/properties-tags.scm b/aider/queries/tree-sitter-language-pack/properties-tags.scm new file mode 100644 index 000000000..6b9b2cf10 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/properties-tags.scm @@ -0,0 +1,5 @@ +(property + (key) @name) @definition.property + +(substitution + (key) @name) @reference.property diff --git a/aider/queries/tree-sitter-language-pack/python-tags.scm b/aider/queries/tree-sitter-language-pack/python-tags.scm new file mode 100644 index 000000000..4fe365523 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/python-tags.scm @@ -0,0 +1,14 @@ +(module (expression_statement (assignment left: (identifier) @name) @definition.constant)) + +(class_definition + name: (identifier) @name) @definition.class + +(function_definition + name: (identifier) @name) @definition.function + +(call + function: [ + (identifier) @name + (attribute + attribute: (identifier) @name) + ]) @reference.call diff --git a/aider/queries/tree-sitter-language-pack/r-tags.scm b/aider/queries/tree-sitter-language-pack/r-tags.scm new file mode 100644 index 000000000..39809c595 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/r-tags.scm @@ -0,0 +1,21 @@ +(binary_operator + lhs: (identifier) @name + operator: "<-" + rhs: (function_definition) +) @definition.function + +(binary_operator + lhs: (identifier) @name + operator: "=" + rhs: (function_definition) +) @definition.function + +(call + function: (identifier) @name +) @reference.call + +(call + function: (namespace_operator + rhs: (identifier) @name + ) +) @reference.call diff --git a/aider/queries/tree-sitter-language-pack/racket-tags.scm b/aider/queries/tree-sitter-language-pack/racket-tags.scm new file mode 100644 index 000000000..3fb7e9cdc --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/racket-tags.scm @@ -0,0 +1,12 @@ +(list + . + (symbol) @reference._define + (#match? @reference._define "^(define|define/contract)$") + . + (list + . + (symbol) @name) @definition.function) + +(list + . + (symbol) @reference.call) diff --git a/aider/queries/tree-sitter-language-pack/ruby-tags.scm b/aider/queries/tree-sitter-language-pack/ruby-tags.scm new file mode 100644 index 000000000..47ba1eb58 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/ruby-tags.scm @@ -0,0 +1,64 @@ +; Method definitions + +( + (comment)* @doc + . + [ + (method + name: (_) @name) @definition.method + (singleton_method + name: (_) @name) @definition.method + ] + (#strip! @doc "^#\\s*") + (#select-adjacent! @doc @definition.method) +) + +(alias + name: (_) @name) @definition.method + +(setter + (identifier) @ignore) + +; Class definitions + +( + (comment)* @doc + . + [ + (class + name: [ + (constant) @name + (scope_resolution + name: (_) @name) + ]) @definition.class + (singleton_class + value: [ + (constant) @name + (scope_resolution + name: (_) @name) + ]) @definition.class + ] + (#strip! @doc "^#\\s*") + (#select-adjacent! @doc @definition.class) +) + +; Module definitions + +( + (module + name: [ + (constant) @name + (scope_resolution + name: (_) @name) + ]) @definition.module +) + +; Calls + +(call method: (identifier) @name) @reference.call + +( + [(identifier) (constant)] @name @reference.call + (#is-not? local) + (#not-match? @name "^(lambda|load|require|require_relative|__FILE__|__LINE__)$") +) diff --git a/aider/queries/tree-sitter-language-pack/rust-tags.scm b/aider/queries/tree-sitter-language-pack/rust-tags.scm new file mode 100644 index 000000000..943f46bd0 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/rust-tags.scm @@ -0,0 +1,60 @@ +; ADT definitions + +(struct_item + name: (type_identifier) @name) @definition.class + +(enum_item + name: (type_identifier) @name) @definition.class + +(union_item + name: (type_identifier) @name) @definition.class + +; type aliases + +(type_item + name: (type_identifier) @name) @definition.class + +; method definitions + +(declaration_list + (function_item + name: (identifier) @name) @definition.method) + +; function definitions + +(function_item + name: (identifier) @name) @definition.function + +; trait definitions +(trait_item + name: (type_identifier) @name) @definition.interface + +; module definitions +(mod_item + name: (identifier) @name) @definition.module + +; macro definitions + +(macro_definition + name: (identifier) @name) @definition.macro + +; references + +(call_expression + function: (identifier) @name) @reference.call + +(call_expression + function: (field_expression + field: (field_identifier) @name)) @reference.call + +(macro_invocation + macro: (identifier) @name) @reference.call + +; implementations + +(impl_item + trait: (type_identifier) @name) @reference.implementation + +(impl_item + type: (type_identifier) @name + !trait) @reference.implementation diff --git a/aider/queries/tree-sitter-language-pack/solidity-tags.scm b/aider/queries/tree-sitter-language-pack/solidity-tags.scm new file mode 100644 index 000000000..852e285f0 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/solidity-tags.scm @@ -0,0 +1,43 @@ +;; Method and Function declarations +(contract_declaration (_ + (function_definition + name: (identifier) @name) @definition.method)) + +(source_file + (function_definition + name: (identifier) @name) @definition.function) + +;; Contract, struct, enum and interface declarations +(contract_declaration + name: (identifier) @name) @definition.class + +(interface_declaration + name: (identifier) @name) @definition.interface + +(library_declaration + name: (identifier) @name) @definition.interface + +(struct_declaration name: (identifier) @name) @definition.class +(enum_declaration name: (identifier) @name) @definition.class +(event_definition name: (identifier) @name) @definition.class + +;; Function calls +(call_expression (expression (identifier)) @name ) @reference.call + +(call_expression + (expression (member_expression + property: (_) @name ))) @reference.call + +;; Log emit +(emit_statement name: (_) @name) @reference.class + + +;; Inheritance + +(inheritance_specifier + ancestor: (user_defined_type (_) @name . )) @reference.class + + +;; Imports ( note that unknown is not standardised ) +(import_directive + import_name: (_) @name ) @reference.unknown diff --git a/aider/queries/tree-sitter-language-pack/swift-tags.scm b/aider/queries/tree-sitter-language-pack/swift-tags.scm new file mode 100644 index 000000000..0038571e5 --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/swift-tags.scm @@ -0,0 +1,51 @@ +(class_declaration + name: (type_identifier) @name) @definition.class + +(protocol_declaration + name: (type_identifier) @name) @definition.interface + +(class_declaration + (class_body + [ + (function_declaration + name: (simple_identifier) @name + ) + (subscript_declaration + (parameter (simple_identifier) @name) + ) + (init_declaration "init" @name) + (deinit_declaration "deinit" @name) + ] + ) +) @definition.method + +(protocol_declaration + (protocol_body + [ + (protocol_function_declaration + name: (simple_identifier) @name + ) + (subscript_declaration + (parameter (simple_identifier) @name) + ) + (init_declaration "init" @name) + ] + ) +) @definition.method + +(class_declaration + (class_body + [ + (property_declaration + (pattern (simple_identifier) @name) + ) + ] + ) +) @definition.property + +(property_declaration + (pattern (simple_identifier) @name) +) @definition.property + +(function_declaration + name: (simple_identifier) @name) @definition.function \ No newline at end of file diff --git a/aider/queries/tree-sitter-language-pack/udev-tags.scm b/aider/queries/tree-sitter-language-pack/udev-tags.scm new file mode 100644 index 000000000..d5ec9dfac --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/udev-tags.scm @@ -0,0 +1,20 @@ +(assignment + key: "LABEL" + (value + (content) @name)) @definition.label + +(assignment + key: "GOTO" + (value + (content) @name)) @reference.label + +(assignment + key: "ENV" + (env_var) @name) @definition.variable + +(match + key: "ENV" + (env_var) @name) @reference.variable + +(var_sub + (env_var) @name) @reference.variable From 48621dadaab30aa4e1987ac32e3fb5d6c7692b6c Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:17:35 -0700 Subject: [PATCH 14/68] refactor: Update Arduino tags to use more specific @name.reference and @name.definition tags --- aider/queries/tree-sitter-language-pack/arduino-tags.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/arduino-tags.scm b/aider/queries/tree-sitter-language-pack/arduino-tags.scm index 84cc57146..71cc3849f 100644 --- a/aider/queries/tree-sitter-language-pack/arduino-tags.scm +++ b/aider/queries/tree-sitter-language-pack/arduino-tags.scm @@ -1,5 +1,5 @@ (function_declarator - declarator: (identifier) @name) @definition.function + declarator: (identifier) @name.definition.function) @definition.function (call_expression - function: (identifier) @name) @reference.call + function: (identifier) @name.reference.call) @reference.call From 70284ce1c25456d22380e426fca20bd9087a14cc Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:17:54 -0700 Subject: [PATCH 15/68] refactor: Update c-tags.scm to use more specific @name.definition tags --- aider/queries/tree-sitter-language-pack/c-tags.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/c-tags.scm b/aider/queries/tree-sitter-language-pack/c-tags.scm index 964756656..1035aa224 100644 --- a/aider/queries/tree-sitter-language-pack/c-tags.scm +++ b/aider/queries/tree-sitter-language-pack/c-tags.scm @@ -1,9 +1,9 @@ -(struct_specifier name: (type_identifier) @name body:(_)) @definition.class +(struct_specifier name: (type_identifier) @name.definition.class body:(_)) @definition.class -(declaration type: (union_specifier name: (type_identifier) @name)) @definition.class +(declaration type: (union_specifier name: (type_identifier) @name.definition.class)) @definition.class -(function_declarator declarator: (identifier) @name) @definition.function +(function_declarator declarator: (identifier) @name.definition.function) @definition.function -(type_definition declarator: (type_identifier) @name) @definition.type +(type_definition declarator: (type_identifier) @name.definition.type) @definition.type -(enum_specifier name: (type_identifier) @name) @definition.type +(enum_specifier name: (type_identifier) @name.definition.type) @definition.type From c0b9665cfc38a0b7cdbf343770055590cb8deac7 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:18:12 -0700 Subject: [PATCH 16/68] refactor: Update chatito-tags.scm with explicit definition and reference tags --- .../queries/tree-sitter-language-pack/chatito-tags.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/chatito-tags.scm b/aider/queries/tree-sitter-language-pack/chatito-tags.scm index d2f04ad6b..6fbac9420 100644 --- a/aider/queries/tree-sitter-language-pack/chatito-tags.scm +++ b/aider/queries/tree-sitter-language-pack/chatito-tags.scm @@ -1,16 +1,16 @@ ; Definitions (intent_def - (intent) @name) @definition.intent + (intent) @name.definition.intent) @definition.intent (slot_def - (slot) @name) @definition.slot + (slot) @name.definition.slot) @definition.slot (alias_def - (alias) @name) @definition.alias + (alias) @name.definition.alias) @definition.alias ; References (slot_ref - (slot) @name) @reference.slot + (slot) @name.reference.slot) @reference.slot (alias_ref - (alias) @name) @reference.alias + (alias) @name.reference.alias) @reference.alias From 9a88363437746ee4a2d04011ba2655a591c51d43 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:18:40 -0700 Subject: [PATCH 17/68] refactor: Update CommonLisp tags to use more specific @name.* tags --- .../tree-sitter-language-pack/commonlisp-tags.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm b/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm index e8143395b..a47dfeeda 100644 --- a/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm +++ b/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm @@ -2,7 +2,7 @@ ;;; Function Definitions ;;;;;;;;;;;;;;;;;;;;;;; (defun_header - function_name: (sym_lit) @name) @definition.function + function_name: (sym_lit) @name.definition.function) @definition.function ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Function Calls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -37,9 +37,9 @@ ;; ;; - exclude var, var2 ;; - the same for let*, flet, labels, macrolet, symbol-macrolet -(list_lit . [(sym_lit) (package_lit)] @name +(list_lit . [(sym_lit) (package_lit)] @name.reference.call . (list_lit (list_lit . [(sym_lit) (package_lit)] @ignore)) - (#match? @name + (#match? @name.reference.call "(?i)^(cl:)?(let|let\\*|flet|labels|macrolet|symbol-macrolet)$") ) @@ -76,18 +76,18 @@ ;; Include all other cases - list literal with symbol as the ;; first element -(list_lit . [(sym_lit) (package_lit)] @name) @reference.call +(list_lit . [(sym_lit) (package_lit)] @name.reference.call) @reference.call ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; classes (list_lit . [(sym_lit) (package_lit)] @ignore - . [(sym_lit) (package_lit)] @name + . [(sym_lit) (package_lit)] @name.definition.class (#match? @ignore "(?i)^(cl:)?defclass$") ) @definition.class (list_lit . [(sym_lit) (package_lit)] @ignore - . (quoting_lit [(sym_lit) (package_lit)] @name) + . (quoting_lit [(sym_lit) (package_lit)] @name.reference.class) (#match? @ignore "(?i)^(cl:)?make-instance$") ) @reference.class From b87a5496e9a1bdba46af1251fd5250aea5a2f8ba Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:19:06 -0700 Subject: [PATCH 18/68] refactor: Update cpp-tags.scm to use more specific name tags --- .../tree-sitter-language-pack/cpp-tags.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/cpp-tags.scm b/aider/queries/tree-sitter-language-pack/cpp-tags.scm index 621a97d02..00cc96637 100644 --- a/aider/queries/tree-sitter-language-pack/cpp-tags.scm +++ b/aider/queries/tree-sitter-language-pack/cpp-tags.scm @@ -1,15 +1,15 @@ -(struct_specifier name: (type_identifier) @name body:(_)) @definition.class +(struct_specifier name: (type_identifier) @name.definition.class body:(_)) @definition.class -(declaration type: (union_specifier name: (type_identifier) @name)) @definition.class +(declaration type: (union_specifier name: (type_identifier) @name.definition.class)) @definition.class -(function_declarator declarator: (identifier) @name) @definition.function +(function_declarator declarator: (identifier) @name.definition.function) @definition.function -(function_declarator declarator: (field_identifier) @name) @definition.function +(function_declarator declarator: (field_identifier) @name.definition.function) @definition.function -(function_declarator declarator: (qualified_identifier scope: (namespace_identifier) @local.scope name: (identifier) @name)) @definition.method +(function_declarator declarator: (qualified_identifier scope: (namespace_identifier) @local.scope name: (identifier) @name.definition.method)) @definition.method -(type_definition declarator: (type_identifier) @name) @definition.type +(type_definition declarator: (type_identifier) @name.definition.type) @definition.type -(enum_specifier name: (type_identifier) @name) @definition.type +(enum_specifier name: (type_identifier) @name.definition.type) @definition.type -(class_specifier name: (type_identifier) @name) @definition.class +(class_specifier name: (type_identifier) @name.definition.class) @definition.class From 7e86c8a90c7dede54af3c7033d86d9d581e7e35a Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:19:38 -0700 Subject: [PATCH 19/68] refactor: Update d-tags.scm to use more specific @name.reference and @name.definition tags --- .../tree-sitter-language-pack/d-tags.scm | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/d-tags.scm b/aider/queries/tree-sitter-language-pack/d-tags.scm index 082171f43..7572cc4a6 100644 --- a/aider/queries/tree-sitter-language-pack/d-tags.scm +++ b/aider/queries/tree-sitter-language-pack/d-tags.scm @@ -1,26 +1,26 @@ -(module_def (module_declaration (module_fqn) @name)) @definition.module +(module_def (module_declaration (module_fqn) @name.definition.module)) @definition.module -(struct_declaration (struct) . (identifier) @name) @definition.class -(interface_declaration (interface) . (identifier) @name) @definition.interface -(enum_declaration (enum) . (identifier) @name) @definition.type +(struct_declaration (struct) . (identifier) @name.definition.class) @definition.class +(interface_declaration (interface) . (identifier) @name.definition.interface) @definition.interface +(enum_declaration (enum) . (identifier) @name.definition.type) @definition.type -(class_declaration (class) . (identifier) @name) @definition.class -(constructor (this) @name) @definition.method -(destructor (this) @name) @definition.method -(postblit (this) @name) @definition.method +(class_declaration (class) . (identifier) @name.definition.class) @definition.class +(constructor (this) @name.definition.method) @definition.method +(destructor (this) @name.definition.method) @definition.method +(postblit (this) @name.definition.method) @definition.method -(manifest_declarator . (identifier) @name) @definition.type +(manifest_declarator . (identifier) @name.definition.type) @definition.type -(function_declaration (identifier) @name) @definition.function +(function_declaration (identifier) @name.definition.function) @definition.function -(union_declaration (union) . (identifier) @name) @definition.type +(union_declaration (union) . (identifier) @name.definition.type) @definition.type -(anonymous_enum_declaration (enum_member . (identifier) @name)) @definition.constant +(anonymous_enum_declaration (enum_member . (identifier) @name.definition.constant)) @definition.constant -(enum_declaration (enum_member . (identifier) @name)) @definition.constant +(enum_declaration (enum_member . (identifier) @name.definition.constant)) @definition.constant -(call_expression (identifier) @name) @reference.call -(call_expression (type (template_instance (identifier) @name))) @reference.call -(parameter (type (identifier) @name) @reference.class (identifier)) +(call_expression (identifier) @name.reference.call) @reference.call +(call_expression (type (template_instance (identifier) @name.reference.call))) @reference.call +(parameter (type (identifier) @name.reference.class) @reference.class (identifier)) -(variable_declaration (type (identifier) @name) @reference.class (declarator)) +(variable_declaration (type (identifier) @name.reference.class) @reference.class (declarator)) From c9dd37db8e9878b0ee49bc5c03ecc3ecc5a62d4a Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:20:23 -0700 Subject: [PATCH 20/68] refactor: Update dart-tags.scm to use @name.reference and @name.definition tags --- .../tree-sitter-language-pack/dart-tags.scm | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/dart-tags.scm b/aider/queries/tree-sitter-language-pack/dart-tags.scm index 35ebc996c..a11fafcb1 100644 --- a/aider/queries/tree-sitter-language-pack/dart-tags.scm +++ b/aider/queries/tree-sitter-language-pack/dart-tags.scm @@ -1,32 +1,32 @@ (class_definition - name: (identifier) @name) @definition.class + name: (identifier) @name.definition.class) @definition.class (method_signature (function_signature)) @definition.method (type_alias - (type_identifier) @name) @definition.type + (type_identifier) @name.definition.type) @definition.type (method_signature (getter_signature - name: (identifier) @name)) @definition.method + name: (identifier) @name.definition.method)) @definition.method (method_signature (setter_signature - name: (identifier) @name)) @definition.method + name: (identifier) @name.definition.method)) @definition.method (method_signature (function_signature - name: (identifier) @name)) @definition.method + name: (identifier) @name.definition.method)) @definition.method (method_signature (factory_constructor_signature - (identifier) @name)) @definition.method + (identifier) @name.definition.method)) @definition.method (method_signature (constructor_signature - name: (identifier) @name)) @definition.method + name: (identifier) @name.definition.method)) @definition.method (method_signature (operator_signature)) @definition.method @@ -35,24 +35,24 @@ (mixin_declaration (mixin) - (identifier) @name) @definition.mixin + (identifier) @name.definition.mixin) @definition.mixin (extension_declaration - name: (identifier) @name) @definition.extension + name: (identifier) @name.definition.extension) @definition.extension (new_expression - (type_identifier) @name) @reference.class + (type_identifier) @name.reference.class) @reference.class (enum_declaration - name: (identifier) @name) @definition.enum + name: (identifier) @name.definition.enum) @definition.enum (function_signature - name: (identifier) @name) @definition.function + name: (identifier) @name.definition.function) @definition.function (initialized_variable_definition name: (identifier) - value: (identifier) @name + value: (identifier) @name.reference.class value: (selector "!"? (argument_part @@ -64,28 +64,28 @@ (identifier) (unconditional_assignable_selector "." - (identifier) @name))) @reference.call + (identifier) @name.reference.send))) @reference.call (assignment_expression left: (assignable_expression (identifier) (conditional_assignable_selector "?." - (identifier) @name))) @reference.call + (identifier) @name.reference.send))) @reference.call -((identifier) @name +((identifier) @name.reference.send (selector "!"? (conditional_assignable_selector - "?." (identifier) @name)? + "?." (identifier) @name.reference.send)? (unconditional_assignable_selector - "."? (identifier) @name)? + "."? (identifier) @name.reference.send)? (argument_part (arguments (argument)*))?)* (cascade_section (cascade_selector - (identifier)) @name + (identifier)) @name.reference.send (argument_part (arguments (argument)*))?)?) @reference.call From 08a75808dfb1a78b482d3b857a6910a809ceafc4 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:20:39 -0700 Subject: [PATCH 21/68] refactor: Update elisp-tags.scm to use more specific name tags --- aider/queries/tree-sitter-language-pack/elisp-tags.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/elisp-tags.scm b/aider/queries/tree-sitter-language-pack/elisp-tags.scm index 7abcb9a4d..81e50d8e0 100644 --- a/aider/queries/tree-sitter-language-pack/elisp-tags.scm +++ b/aider/queries/tree-sitter-language-pack/elisp-tags.scm @@ -1,5 +1,5 @@ ;; defun/defsubst -(function_definition name: (symbol) @name) @definition.function +(function_definition name: (symbol) @name.definition.function) @definition.function ;; Treat macros as function definitions for the sake of TAGS. -(macro_definition name: (symbol) @name) @definition.function +(macro_definition name: (symbol) @name.definition.function) @definition.function From 865f71e2cc060d38d7942c00f2f1248ac8587287 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:21:05 -0700 Subject: [PATCH 22/68] refactor: Update elixir-tags.scm to use more specific @name.reference and @name.definition tags --- .../tree-sitter-language-pack/elixir-tags.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/elixir-tags.scm b/aider/queries/tree-sitter-language-pack/elixir-tags.scm index 582f11602..e0a351e32 100644 --- a/aider/queries/tree-sitter-language-pack/elixir-tags.scm +++ b/aider/queries/tree-sitter-language-pack/elixir-tags.scm @@ -3,7 +3,7 @@ ; * modules and protocols (call target: (identifier) @ignore - (arguments (alias) @name) + (arguments (alias) @name.definition.module) (#any-of? @ignore "defmodule" "defprotocol")) @definition.module ; * functions/macros @@ -12,12 +12,12 @@ (arguments [ ; zero-arity functions with no parentheses - (identifier) @name + (identifier) @name.definition.function ; regular function clause - (call target: (identifier) @name) + (call target: (identifier) @name.definition.function) ; function clause with a guard clause (binary_operator - left: (call target: (identifier) @name) + left: (call target: (identifier) @name.definition.function) operator: "when") ]) (#any-of? @ignore "def" "defp" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp")) @definition.function @@ -39,16 +39,16 @@ (call target: [ ; local - (identifier) @name + (identifier) @name.reference.call ; remote (dot - right: (identifier) @name) + right: (identifier) @name.reference.call) ]) @reference.call ; * pipe into function call (binary_operator operator: "|>" - right: (identifier) @name) @reference.call + right: (identifier) @name.reference.call) @reference.call ; * modules -(alias) @name @reference.module +(alias) @name.reference.module @reference.module From 2ed61eaf9255841a08a55142281eb23e091761dc Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:21:35 -0700 Subject: [PATCH 23/68] refactor: Update Elm tags to use .reference and .definition namespaces --- .../tree-sitter-language-pack/elm-tags.scm | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/elm-tags.scm b/aider/queries/tree-sitter-language-pack/elm-tags.scm index d6ac5cd94..c2e042763 100644 --- a/aider/queries/tree-sitter-language-pack/elm-tags.scm +++ b/aider/queries/tree-sitter-language-pack/elm-tags.scm @@ -1,19 +1,19 @@ -(value_declaration (function_declaration_left (lower_case_identifier) @name)) @definition.function +(value_declaration (function_declaration_left (lower_case_identifier) @name.definition.function)) @definition.function -(function_call_expr (value_expr (value_qid) @name)) @reference.function -(exposed_value (lower_case_identifier) @name) @reference.function -(type_annotation ((lower_case_identifier) @name) (colon)) @reference.function +(function_call_expr (value_expr (value_qid) @name.reference.function)) @reference.function +(exposed_value (lower_case_identifier) @name.reference.function) @reference.function +(type_annotation ((lower_case_identifier) @name.reference.function) (colon)) @reference.function -(type_declaration ((upper_case_identifier) @name) ) @definition.type +(type_declaration ((upper_case_identifier) @name.definition.type) ) @definition.type -(type_ref (upper_case_qid (upper_case_identifier) @name)) @reference.type -(exposed_type (upper_case_identifier) @name) @reference.type +(type_ref (upper_case_qid (upper_case_identifier) @name.reference.type)) @reference.type +(exposed_type (upper_case_identifier) @name.reference.type) @reference.type -(type_declaration (union_variant (upper_case_identifier) @name)) @definition.union +(type_declaration (union_variant (upper_case_identifier) @name.definition.union)) @definition.union -(value_expr (upper_case_qid (upper_case_identifier) @name)) @reference.union +(value_expr (upper_case_qid (upper_case_identifier) @name.reference.union)) @reference.union (module_declaration - (upper_case_qid (upper_case_identifier)) @name -) @definition.module \ No newline at end of file + (upper_case_qid (upper_case_identifier)) @name.definition.module +) @definition.module From d5cc855c0fa9c0d06819ffb876763a56ffd0426b Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:22:16 -0700 Subject: [PATCH 24/68] refactor: Update gleam-tags.scm to use more specific @name tags --- .../tree-sitter-language-pack/gleam-tags.scm | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/gleam-tags.scm b/aider/queries/tree-sitter-language-pack/gleam-tags.scm index cfca227c0..b1b934c20 100644 --- a/aider/queries/tree-sitter-language-pack/gleam-tags.scm +++ b/aider/queries/tree-sitter-language-pack/gleam-tags.scm @@ -1,41 +1,41 @@ ; Modules -(module) @name @reference.module -(import alias: (identifier) @name) @reference.module +(module) @name.reference.module @reference.module +(import alias: (identifier) @name.reference.module) @reference.module (remote_type_identifier - module: (identifier) @name) @reference.module + module: (identifier) @name.reference.module) @reference.module ((field_access - record: (identifier) @name) + record: (identifier) @name.reference.module) (#is-not? local)) @reference.module ; Functions (function - name: (identifier) @name) @definition.function + name: (identifier) @name.definition.function) @definition.function (external_function - name: (identifier) @name) @definition.function -(unqualified_import (identifier) @name) @reference.function + name: (identifier) @name.definition.function) @definition.function +(unqualified_import (identifier) @name.reference.function) @reference.function ((function_call - function: (identifier) @name) @reference.function + function: (identifier) @name.reference.function) @reference.function (#is-not? local)) ((field_access record: (identifier) @ignore - field: (label) @name) + field: (label) @name.reference.function) (#is-not? local)) @reference.function ((binary_expression operator: "|>" - right: (identifier) @name) + right: (identifier) @name.reference.function) (#is-not? local)) @reference.function ; Types (type_definition (type_name - name: (type_identifier) @name)) @definition.type + name: (type_identifier) @name.definition.type)) @definition.type (type_definition (data_constructors (data_constructor - name: (constructor_name) @name))) @definition.constructor + name: (constructor_name) @name.definition.constructor))) @definition.constructor (external_type (type_name - name: (type_identifier) @name)) @definition.type + name: (type_identifier) @name.definition.type)) @definition.type -(type_identifier) @name @reference.type -(constructor_name) @name @reference.constructor +(type_identifier) @name.reference.type @reference.type +(constructor_name) @name.reference.constructor @reference.constructor From 89406e5b7d8f17c0a60fafcfbfa7c7f8f780d0f6 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:22:49 -0700 Subject: [PATCH 25/68] refactor: Update go-tags.scm to use more specific @name tags --- .../tree-sitter-language-pack/go-tags.scm | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/go-tags.scm b/aider/queries/tree-sitter-language-pack/go-tags.scm index 22c92249b..16ecc4de8 100644 --- a/aider/queries/tree-sitter-language-pack/go-tags.scm +++ b/aider/queries/tree-sitter-language-pack/go-tags.scm @@ -2,7 +2,7 @@ (comment)* @doc . (function_declaration - name: (identifier) @name) @definition.function + name: (identifier) @name.definition.function) @definition.function (#strip! @doc "^//\\s*") (#set-adjacent! @doc @definition.function) ) @@ -11,32 +11,32 @@ (comment)* @doc . (method_declaration - name: (field_identifier) @name) @definition.method + name: (field_identifier) @name.definition.method) @definition.method (#strip! @doc "^//\\s*") (#set-adjacent! @doc @definition.method) ) (call_expression function: [ - (identifier) @name - (parenthesized_expression (identifier) @name) - (selector_expression field: (field_identifier) @name) - (parenthesized_expression (selector_expression field: (field_identifier) @name)) + (identifier) @name.reference.call + (parenthesized_expression (identifier) @name.reference.call) + (selector_expression field: (field_identifier) @name.reference.call) + (parenthesized_expression (selector_expression field: (field_identifier) @name.reference.call)) ]) @reference.call (type_spec - name: (type_identifier) @name) @definition.type + name: (type_identifier) @name.definition.type) @definition.type -(type_identifier) @name @reference.type +(type_identifier) @name.reference.type @reference.type -(package_clause "package" (package_identifier) @name) +(package_clause "package" (package_identifier) @name.definition.module) -(type_declaration (type_spec name: (type_identifier) @name type: (interface_type))) +(type_declaration (type_spec name: (type_identifier) @name.definition.interface type: (interface_type))) -(type_declaration (type_spec name: (type_identifier) @name type: (struct_type))) +(type_declaration (type_spec name: (type_identifier) @name.definition.class type: (struct_type))) -(import_declaration (import_spec) @name) +(import_declaration (import_spec) @name.reference.module) -(var_declaration (var_spec name: (identifier) @name)) +(var_declaration (var_spec name: (identifier) @name.definition.variable)) -(const_declaration (const_spec name: (identifier) @name)) +(const_declaration (const_spec name: (identifier) @name.definition.constant)) From 3b1c81e50e0eacf967916ce0fb6bff49a7706831 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:23:12 -0700 Subject: [PATCH 26/68] refactor: Enhance Java tags with specific definition and reference annotations --- .../tree-sitter-language-pack/java-tags.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/java-tags.scm b/aider/queries/tree-sitter-language-pack/java-tags.scm index 3f3eb40ae..ae4481e9e 100644 --- a/aider/queries/tree-sitter-language-pack/java-tags.scm +++ b/aider/queries/tree-sitter-language-pack/java-tags.scm @@ -1,20 +1,20 @@ (class_declaration - name: (identifier) @name) @definition.class + name: (identifier) @name.definition.class) @definition.class (method_declaration - name: (identifier) @name) @definition.method + name: (identifier) @name.definition.method) @definition.method (method_invocation - name: (identifier) @name + name: (identifier) @name.reference.method arguments: (argument_list) @reference.call) (interface_declaration - name: (identifier) @name) @definition.interface + name: (identifier) @name.definition.interface) @definition.interface (type_list - (type_identifier) @name) @reference.implementation + (type_identifier) @name.reference.interface) @reference.implementation (object_creation_expression - type: (type_identifier) @name) @reference.class + type: (type_identifier) @name.reference.class) @reference.class -(superclass (type_identifier) @name) @reference.class +(superclass (type_identifier) @name.reference.class) @reference.class From e535e01e83ed84bb122b3609b57451d2688d814b Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:23:45 -0700 Subject: [PATCH 27/68] refactor: Update Lua tags to use more specific reference and definition tags --- .../tree-sitter-language-pack/lua-tags.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/lua-tags.scm b/aider/queries/tree-sitter-language-pack/lua-tags.scm index 8459cd454..0910cf153 100644 --- a/aider/queries/tree-sitter-language-pack/lua-tags.scm +++ b/aider/queries/tree-sitter-language-pack/lua-tags.scm @@ -1,34 +1,34 @@ (function_declaration name: [ - (identifier) @name + (identifier) @name.definition.function (dot_index_expression - field: (identifier) @name) + field: (identifier) @name.definition.function) ]) @definition.function (function_declaration name: (method_index_expression - method: (identifier) @name)) @definition.method + method: (identifier) @name.definition.method)) @definition.method (assignment_statement (variable_list . name: [ - (identifier) @name + (identifier) @name.definition.function (dot_index_expression - field: (identifier) @name) + field: (identifier) @name.definition.function) ]) (expression_list . value: (function_definition))) @definition.function (table_constructor (field - name: (identifier) @name + name: (identifier) @name.definition.function value: (function_definition))) @definition.function (function_call name: [ - (identifier) @name + (identifier) @name.reference.call (dot_index_expression - field: (identifier) @name) + field: (identifier) @name.reference.call) (method_index_expression - method: (identifier) @name) + method: (identifier) @name.reference.method) ]) @reference.call From 3525eeae54fd375e08cc653eec502a740df6a9f0 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:24:14 -0700 Subject: [PATCH 28/68] refactor: Update Pony tags to use .reference and .definition prefixes --- .../tree-sitter-language-pack/pony-tags.scm | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/pony-tags.scm b/aider/queries/tree-sitter-language-pack/pony-tags.scm index 4befc8567..695f628ea 100644 --- a/aider/queries/tree-sitter-language-pack/pony-tags.scm +++ b/aider/queries/tree-sitter-language-pack/pony-tags.scm @@ -11,29 +11,29 @@ (#match? @reference.class "^_*[A-Z][a-zA-Z0-9_]*$") ) -(class_definition (identifier) @name) @definition.class -(actor_definition (identifier) @name) @definition.class -(primitive_definition (identifier) @name) @definition.class -(struct_definition (identifier) @name) @definition.class -(type_alias (identifier) @name) @definition.class +(class_definition (identifier) @name.definition.class) @definition.class +(actor_definition (identifier) @name.definition.class) @definition.class +(primitive_definition (identifier) @name.definition.class) @definition.class +(struct_definition (identifier) @name.definition.class) @definition.class +(type_alias (identifier) @name.definition.class) @definition.class -(trait_definition (identifier) @name) @definition.interface -(interface_definition (identifier) @name) @definition.interface +(trait_definition (identifier) @name.definition.interface) @definition.interface +(interface_definition (identifier) @name.definition.interface) @definition.interface -(constructor (identifier) @name) @definition.method -(method (identifier) @name) @definition.method -(behavior (identifier) @name) @definition.method +(constructor (identifier) @name.definition.method) @definition.method +(method (identifier) @name.definition.method) @definition.method +(behavior (identifier) @name.definition.method) @definition.method -(class_definition (type) @name) @reference.implementation -(actor_definition (type) @name) @reference.implementation -(primitive_definition (type) @name) @reference.implementation -(struct_definition (type) @name) @reference.implementation -(type_alias (type) @name) @reference.implementation +(class_definition (type) @name.reference.implementation) @reference.implementation +(actor_definition (type) @name.reference.implementation) @reference.implementation +(primitive_definition (type) @name.reference.implementation) @reference.implementation +(struct_definition (type) @name.reference.implementation) @reference.implementation +(type_alias (type) @name.reference.implementation) @reference.implementation ; calls - not catching all possible call cases of callees for capturing the method name -(call_expression callee: [(identifier) (ffi_identifier)] @name) @reference.call -(call_expression callee: (generic_expression [(identifier) (ffi_identifier)] @name)) @reference.call -(call_expression callee: (member_expression (identifier) @name .)) @reference.call -(call_expression callee: (member_expression (generic_expression [(identifier) (ffi_identifier)] @name) .)) @reference.call +(call_expression callee: [(identifier) (ffi_identifier)] @name.reference.call) @reference.call +(call_expression callee: (generic_expression [(identifier) (ffi_identifier)] @name.reference.call)) @reference.call +(call_expression callee: (member_expression (identifier) @name.reference.call .)) @reference.call +(call_expression callee: (member_expression (generic_expression [(identifier) (ffi_identifier)] @name.reference.call) .)) @reference.call ; TODO: add more possible callee expressions (call_expression) @reference.call From ba6bb527a7055ca9923073563f1f924a9559c747 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:24:32 -0700 Subject: [PATCH 29/68] refactor: Update properties-tags.scm to use more specific name tags --- aider/queries/tree-sitter-language-pack/properties-tags.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/properties-tags.scm b/aider/queries/tree-sitter-language-pack/properties-tags.scm index 6b9b2cf10..1d70c6a7f 100644 --- a/aider/queries/tree-sitter-language-pack/properties-tags.scm +++ b/aider/queries/tree-sitter-language-pack/properties-tags.scm @@ -1,5 +1,5 @@ (property - (key) @name) @definition.property + (key) @name.definition.property) @definition.property (substitution - (key) @name) @reference.property + (key) @name.reference.property) @reference.property From 9e824e60700a26c762411eaac6d3a0cbd2051e2f Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:24:53 -0700 Subject: [PATCH 30/68] refactor: Update python-tags.scm with more specific name tags --- .../queries/tree-sitter-language-pack/python-tags.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/python-tags.scm b/aider/queries/tree-sitter-language-pack/python-tags.scm index 4fe365523..dab8b941d 100644 --- a/aider/queries/tree-sitter-language-pack/python-tags.scm +++ b/aider/queries/tree-sitter-language-pack/python-tags.scm @@ -1,14 +1,14 @@ -(module (expression_statement (assignment left: (identifier) @name) @definition.constant)) +(module (expression_statement (assignment left: (identifier) @name.definition.constant) @definition.constant)) (class_definition - name: (identifier) @name) @definition.class + name: (identifier) @name.definition.class) @definition.class (function_definition - name: (identifier) @name) @definition.function + name: (identifier) @name.definition.function) @definition.function (call function: [ - (identifier) @name + (identifier) @name.reference.call (attribute - attribute: (identifier) @name) + attribute: (identifier) @name.reference.call) ]) @reference.call From 44eb9af7bcc93b0da5090d4cc0585d5b3e126c87 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:25:12 -0700 Subject: [PATCH 31/68] refactor: Update r-tags.scm to use more specific name tags --- aider/queries/tree-sitter-language-pack/r-tags.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/r-tags.scm b/aider/queries/tree-sitter-language-pack/r-tags.scm index 39809c595..5ffc72332 100644 --- a/aider/queries/tree-sitter-language-pack/r-tags.scm +++ b/aider/queries/tree-sitter-language-pack/r-tags.scm @@ -1,21 +1,21 @@ (binary_operator - lhs: (identifier) @name + lhs: (identifier) @name.definition.function operator: "<-" rhs: (function_definition) ) @definition.function (binary_operator - lhs: (identifier) @name + lhs: (identifier) @name.definition.function operator: "=" rhs: (function_definition) ) @definition.function (call - function: (identifier) @name + function: (identifier) @name.reference.call ) @reference.call (call function: (namespace_operator - rhs: (identifier) @name + rhs: (identifier) @name.reference.call ) ) @reference.call From 68b5c90d95a58468bd198e5d7dacc6f4f691a4c3 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:25:30 -0700 Subject: [PATCH 32/68] refactor: Update Racket tags to use @name.definition and @name.reference formats --- aider/queries/tree-sitter-language-pack/racket-tags.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/racket-tags.scm b/aider/queries/tree-sitter-language-pack/racket-tags.scm index 3fb7e9cdc..b3034026c 100644 --- a/aider/queries/tree-sitter-language-pack/racket-tags.scm +++ b/aider/queries/tree-sitter-language-pack/racket-tags.scm @@ -5,8 +5,8 @@ . (list . - (symbol) @name) @definition.function) + (symbol) @name.definition.function) @definition.function) (list . - (symbol) @reference.call) + (symbol) @name.reference.call) From a689f2116cdddcbcfa291b0224dba2d1ff4c1c3c Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:25:57 -0700 Subject: [PATCH 33/68] refactor: Update ruby-tags.scm to use more specific tag names --- .../tree-sitter-language-pack/ruby-tags.scm | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/ruby-tags.scm b/aider/queries/tree-sitter-language-pack/ruby-tags.scm index 47ba1eb58..79e71d2d6 100644 --- a/aider/queries/tree-sitter-language-pack/ruby-tags.scm +++ b/aider/queries/tree-sitter-language-pack/ruby-tags.scm @@ -5,16 +5,16 @@ . [ (method - name: (_) @name) @definition.method + name: (_) @name.definition.method) @definition.method (singleton_method - name: (_) @name) @definition.method + name: (_) @name.definition.method) @definition.method ] (#strip! @doc "^#\\s*") (#select-adjacent! @doc @definition.method) ) (alias - name: (_) @name) @definition.method + name: (_) @name.definition.method) @definition.method (setter (identifier) @ignore) @@ -27,15 +27,15 @@ [ (class name: [ - (constant) @name + (constant) @name.definition.class (scope_resolution - name: (_) @name) + name: (_) @name.definition.class) ]) @definition.class (singleton_class value: [ - (constant) @name + (constant) @name.definition.class (scope_resolution - name: (_) @name) + name: (_) @name.definition.class) ]) @definition.class ] (#strip! @doc "^#\\s*") @@ -47,18 +47,18 @@ ( (module name: [ - (constant) @name + (constant) @name.definition.module (scope_resolution - name: (_) @name) + name: (_) @name.definition.module) ]) @definition.module ) ; Calls -(call method: (identifier) @name) @reference.call +(call method: (identifier) @name.reference.call) @reference.call ( - [(identifier) (constant)] @name @reference.call + [(identifier) (constant)] @name.reference.call @reference.call (#is-not? local) - (#not-match? @name "^(lambda|load|require|require_relative|__FILE__|__LINE__)$") + (#not-match? @name.reference.call "^(lambda|load|require|require_relative|__FILE__|__LINE__)$") ) From 65fad5ae300d3b156160d287786a5e20fc8d1f90 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:26:32 -0700 Subject: [PATCH 34/68] refactor: Update Rust tags to use more specific @name.definition and @name.reference tags --- .../tree-sitter-language-pack/rust-tags.scm | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/rust-tags.scm b/aider/queries/tree-sitter-language-pack/rust-tags.scm index 943f46bd0..0888cc0d8 100644 --- a/aider/queries/tree-sitter-language-pack/rust-tags.scm +++ b/aider/queries/tree-sitter-language-pack/rust-tags.scm @@ -1,60 +1,60 @@ ; ADT definitions (struct_item - name: (type_identifier) @name) @definition.class + name: (type_identifier) @name.definition.class) @definition.class (enum_item - name: (type_identifier) @name) @definition.class + name: (type_identifier) @name.definition.class) @definition.class (union_item - name: (type_identifier) @name) @definition.class + name: (type_identifier) @name.definition.class) @definition.class ; type aliases (type_item - name: (type_identifier) @name) @definition.class + name: (type_identifier) @name.definition.class) @definition.class ; method definitions (declaration_list (function_item - name: (identifier) @name) @definition.method) + name: (identifier) @name.definition.method) @definition.method) ; function definitions (function_item - name: (identifier) @name) @definition.function + name: (identifier) @name.definition.function) @definition.function ; trait definitions (trait_item - name: (type_identifier) @name) @definition.interface + name: (type_identifier) @name.definition.interface) @definition.interface ; module definitions (mod_item - name: (identifier) @name) @definition.module + name: (identifier) @name.definition.module) @definition.module ; macro definitions (macro_definition - name: (identifier) @name) @definition.macro + name: (identifier) @name.definition.macro) @definition.macro ; references (call_expression - function: (identifier) @name) @reference.call + function: (identifier) @name.reference.call) @reference.call (call_expression function: (field_expression - field: (field_identifier) @name)) @reference.call + field: (field_identifier) @name.reference.call)) @reference.call (macro_invocation - macro: (identifier) @name) @reference.call + macro: (identifier) @name.reference.call) @reference.call ; implementations (impl_item - trait: (type_identifier) @name) @reference.implementation + trait: (type_identifier) @name.reference.implementation) @reference.implementation (impl_item - type: (type_identifier) @name + type: (type_identifier) @name.reference.implementation !trait) @reference.implementation From a0b5b19d389ada64893950eaff8d75c8c54f9075 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:27:04 -0700 Subject: [PATCH 35/68] refactor: Update solidity-tags.scm with more specific @name tags --- .../solidity-tags.scm | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/solidity-tags.scm b/aider/queries/tree-sitter-language-pack/solidity-tags.scm index 852e285f0..d56bc19a0 100644 --- a/aider/queries/tree-sitter-language-pack/solidity-tags.scm +++ b/aider/queries/tree-sitter-language-pack/solidity-tags.scm @@ -1,43 +1,43 @@ ;; Method and Function declarations (contract_declaration (_ (function_definition - name: (identifier) @name) @definition.method)) + name: (identifier) @name.definition.function) @definition.method)) (source_file (function_definition - name: (identifier) @name) @definition.function) + name: (identifier) @name.definition.function) @definition.function) ;; Contract, struct, enum and interface declarations (contract_declaration - name: (identifier) @name) @definition.class + name: (identifier) @name.definition.class) @definition.class (interface_declaration - name: (identifier) @name) @definition.interface + name: (identifier) @name.definition.interface) @definition.interface (library_declaration - name: (identifier) @name) @definition.interface + name: (identifier) @name.definition.class) @definition.interface -(struct_declaration name: (identifier) @name) @definition.class -(enum_declaration name: (identifier) @name) @definition.class -(event_definition name: (identifier) @name) @definition.class +(struct_declaration name: (identifier) @name.definition.class) @definition.class +(enum_declaration name: (identifier) @name.definition.class) @definition.class +(event_definition name: (identifier) @name.definition.class) @definition.class ;; Function calls -(call_expression (expression (identifier)) @name ) @reference.call +(call_expression (expression (identifier)) @name.reference.call ) @reference.call (call_expression (expression (member_expression - property: (_) @name ))) @reference.call + property: (_) @name.reference.method ))) @reference.call ;; Log emit -(emit_statement name: (_) @name) @reference.class +(emit_statement name: (_) @name.reference.class) @reference.class ;; Inheritance (inheritance_specifier - ancestor: (user_defined_type (_) @name . )) @reference.class + ancestor: (user_defined_type (_) @name.reference.class . )) @reference.class ;; Imports ( note that unknown is not standardised ) (import_directive - import_name: (_) @name ) @reference.unknown + import_name: (_) @name.reference.module ) @reference.unknown From 41e93a4d940ff2ebb4bbdc18e26722a63883c494 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 14:27:11 -0700 Subject: [PATCH 36/68] initial --- aider/queries/tree-sitter-language-pack/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 aider/queries/tree-sitter-language-pack/README.md diff --git a/aider/queries/tree-sitter-language-pack/README.md b/aider/queries/tree-sitter-language-pack/README.md new file mode 100644 index 000000000..4654865ef --- /dev/null +++ b/aider/queries/tree-sitter-language-pack/README.md @@ -0,0 +1,7 @@ +These scm files are all adapted from the github repositories listed here: + +https://github.com/Goldziher/tree-sitter-language-pack/blob/main/sources/language_definitions.json + +See this URL for information on the licenses of each repo: + +https://github.com/Goldziher/tree-sitter-language-pack/ From 0ac4c0b97dddb4a1c918de0750288590646c3c29 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:27:29 -0700 Subject: [PATCH 37/68] refactor: Update swift-tags.scm to use more specific @name.definition tags --- .../tree-sitter-language-pack/swift-tags.scm | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/swift-tags.scm b/aider/queries/tree-sitter-language-pack/swift-tags.scm index 0038571e5..9b81cf7bd 100644 --- a/aider/queries/tree-sitter-language-pack/swift-tags.scm +++ b/aider/queries/tree-sitter-language-pack/swift-tags.scm @@ -1,20 +1,20 @@ (class_declaration - name: (type_identifier) @name) @definition.class + name: (type_identifier) @name.definition.class) @definition.class (protocol_declaration - name: (type_identifier) @name) @definition.interface + name: (type_identifier) @name.definition.interface) @definition.interface (class_declaration (class_body [ (function_declaration - name: (simple_identifier) @name + name: (simple_identifier) @name.definition.method ) (subscript_declaration - (parameter (simple_identifier) @name) + (parameter (simple_identifier) @name.definition.method) ) - (init_declaration "init" @name) - (deinit_declaration "deinit" @name) + (init_declaration "init" @name.definition.method) + (deinit_declaration "deinit" @name.definition.method) ] ) ) @definition.method @@ -23,12 +23,12 @@ (protocol_body [ (protocol_function_declaration - name: (simple_identifier) @name + name: (simple_identifier) @name.definition.method ) (subscript_declaration - (parameter (simple_identifier) @name) + (parameter (simple_identifier) @name.definition.method) ) - (init_declaration "init" @name) + (init_declaration "init" @name.definition.method) ] ) ) @definition.method @@ -37,15 +37,15 @@ (class_body [ (property_declaration - (pattern (simple_identifier) @name) + (pattern (simple_identifier) @name.definition.property) ) ] ) ) @definition.property (property_declaration - (pattern (simple_identifier) @name) + (pattern (simple_identifier) @name.definition.property) ) @definition.property (function_declaration - name: (simple_identifier) @name) @definition.function \ No newline at end of file + name: (simple_identifier) @name.definition.function) @definition.function From ba03b076022ee278fd7a77428442561c32be5b4b Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:27:50 -0700 Subject: [PATCH 38/68] refactor: Update udev-tags.scm with more specific @name tags --- aider/queries/tree-sitter-language-pack/udev-tags.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/aider/queries/tree-sitter-language-pack/udev-tags.scm b/aider/queries/tree-sitter-language-pack/udev-tags.scm index d5ec9dfac..a3a60b569 100644 --- a/aider/queries/tree-sitter-language-pack/udev-tags.scm +++ b/aider/queries/tree-sitter-language-pack/udev-tags.scm @@ -1,20 +1,20 @@ (assignment key: "LABEL" (value - (content) @name)) @definition.label + (content) @name.definition.label)) @definition.label (assignment key: "GOTO" (value - (content) @name)) @reference.label + (content) @name.reference.label)) @reference.label (assignment key: "ENV" - (env_var) @name) @definition.variable + (env_var) @name.definition.variable) @definition.variable (match key: "ENV" - (env_var) @name) @reference.variable + (env_var) @name.reference.variable) @reference.variable (var_sub - (env_var) @name) @reference.variable + (env_var) @name.reference.variable) @reference.variable From 6bb43555dc19f56229dc93888d6f7967ea274052 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:37:55 -0700 Subject: [PATCH 39/68] feat: Add Arduino language support to TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index c3920d846..92dda15cb 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -304,6 +304,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "elm": ("elm", "Person"), "go": ("go", "Greeter"), "hcl": ("tf", "aws_vpc"), + "arduino": ("ino", "setup"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" From 393b45dd212ec6e1c9669dd7b8cfbebe656b56b2 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:38:43 -0700 Subject: [PATCH 40/68] feat: Add Arduino fixture file for language recognition test --- tests/fixtures/languages/arduino/test.ino | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 tests/fixtures/languages/arduino/test.ino diff --git a/tests/fixtures/languages/arduino/test.ino b/tests/fixtures/languages/arduino/test.ino new file mode 100644 index 000000000..524b91102 --- /dev/null +++ b/tests/fixtures/languages/arduino/test.ino @@ -0,0 +1,21 @@ +// Simple Arduino sketch + +void setup() { + // Initialize serial communication + Serial.begin(9600); + pinMode(LED_BUILTIN, OUTPUT); +} + +void loop() { + // Main code that runs repeatedly + digitalWrite(LED_BUILTIN, HIGH); + delay(1000); + digitalWrite(LED_BUILTIN, LOW); + delay(1000); + Serial.println("Blinking LED"); +} + +// A custom function +int calculateDelay(int baseDelay, int multiplier) { + return baseDelay * multiplier; +} From 0b949f47d9b9b58d85794f97d534b51f16b69c10 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:39:59 -0700 Subject: [PATCH 41/68] feat: Add C language test fixture for repository mapping --- tests/fixtures/languages/c/test.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/fixtures/languages/c/test.c b/tests/fixtures/languages/c/test.c index f26b97c98..8031a1f0b 100644 --- a/tests/fixtures/languages/c/test.c +++ b/tests/fixtures/languages/c/test.c @@ -4,3 +4,18 @@ int main() { printf("Hello, World!\n"); return 0; } +#include + +/** + * The main entry point of the program + * @return 0 on success + */ +int main(int argc, char **argv) { + printf("Hello, World!\n"); + return 0; +} + +// Helper function +void print_message(const char *message) { + printf("%s\n", message); +} From 7c1d2d75e0a306728fdadae633079a6425b17069 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 14:40:43 -0700 Subject: [PATCH 42/68] feat: Add chatito language support with test fixture --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/chatito/test.chatito | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tests/fixtures/languages/chatito/test.chatito diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 92dda15cb..5de500578 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -305,6 +305,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "go": ("go", "Greeter"), "hcl": ("tf", "aws_vpc"), "arduino": ("ino", "setup"), + "chatito": ("chatito", "intent"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" diff --git a/tests/fixtures/languages/chatito/test.chatito b/tests/fixtures/languages/chatito/test.chatito new file mode 100644 index 000000000..9240ba459 --- /dev/null +++ b/tests/fixtures/languages/chatito/test.chatito @@ -0,0 +1,20 @@ +%[intent]('training': '60', 'testing': '40') + ~[greet] + ~[greet] @[name?] ~[endPolite?] + +%[name]('training': '50', 'testing': '50') + John + Anna + Bob + Sarah + +~[greet] + hi + hello + hey + greetings + +~[endPolite] + please + thanks + thank you From 544d58ddbd43a88360ae8e8ab776c877f9042f03 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:02:55 -0700 Subject: [PATCH 43/68] feat: Add CommonLisp language support to TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/commonlisp/test.lisp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 tests/fixtures/languages/commonlisp/test.lisp diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 5de500578..9c39c9c88 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -306,6 +306,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "hcl": ("tf", "aws_vpc"), "arduino": ("ino", "setup"), "chatito": ("chatito", "intent"), + "commonlisp": ("lisp", "greet"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" diff --git a/tests/fixtures/languages/commonlisp/test.lisp b/tests/fixtures/languages/commonlisp/test.lisp new file mode 100644 index 000000000..5cf2173cd --- /dev/null +++ b/tests/fixtures/languages/commonlisp/test.lisp @@ -0,0 +1,17 @@ +;;; Simple Common Lisp example + +(defun greet (name) + "Return a greeting string for NAME." + (format nil "Hello, ~a!" name)) + +(defvar *greeting-style* 'formal + "Style to use for greetings.") + +(defclass person () + ((name :initarg :name :accessor person-name) + (age :initarg :age :accessor person-age)) + (:documentation "A class representing a person.")) + +(defmethod print-object ((obj person) stream) + (print-unreadable-object (obj stream :type t) + (format stream "~a, age ~a" (person-name obj) (person-age obj)))) From 9451f0abe491e265b00c3328b44e2a110c71d6bb Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:05:05 -0700 Subject: [PATCH 44/68] feat: Add D language test fixture and update test mapping --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/d/test.d | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 tests/fixtures/languages/d/test.d diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 9c39c9c88..4a3007473 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -287,6 +287,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): language_files = { "c": ("c", "main"), "cpp": ("cpp", "main"), + "d": ("d", "main"), "elixir": ("ex", "Greeter"), "java": ("java", "Greeting"), "javascript": ("js", "Person"), diff --git a/tests/fixtures/languages/d/test.d b/tests/fixtures/languages/d/test.d new file mode 100644 index 000000000..6f4c57c75 --- /dev/null +++ b/tests/fixtures/languages/d/test.d @@ -0,0 +1,26 @@ +import std.stdio; + +/** + * Main function for the D language test file. + */ +void main() { + writeln("Hello, D language!"); + + auto greeter = new Greeter("World"); + writeln(greeter.greet()); +} + +/** + * A simple greeter class in D + */ +class Greeter { + private string name; + + this(string name) { + this.name = name; + } + + string greet() { + return "Hello, " ~ name ~ "!"; + } +} From 24d2b683c851df7b29d79edd3842e9844de5c009 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:06:27 -0700 Subject: [PATCH 45/68] feat: Add Dart language support to TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/dart/test.dart | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 tests/fixtures/languages/dart/test.dart diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 4a3007473..d423aa1ac 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -288,6 +288,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "c": ("c", "main"), "cpp": ("cpp", "main"), "d": ("d", "main"), + "dart": ("dart", "Person"), "elixir": ("ex", "Greeter"), "java": ("java", "Greeting"), "javascript": ("js", "Person"), diff --git a/tests/fixtures/languages/dart/test.dart b/tests/fixtures/languages/dart/test.dart new file mode 100644 index 000000000..ae299df9d --- /dev/null +++ b/tests/fixtures/languages/dart/test.dart @@ -0,0 +1,21 @@ +// A simple Dart class for testing ctags detection +class Person { + String name; + int age; + + Person(this.name, this.age); + + void greet() { + print('Hello, my name is $name and I am $age years old.'); + } + + bool isAdult() { + return age >= 18; + } +} + +void main() { + var person = Person('John', 30); + person.greet(); + print('Is adult: ${person.isAdult()}'); +} From 86a5e8dbe188bb7c37ce8fe6e8880a8b29d66a14 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:08:36 -0700 Subject: [PATCH 46/68] feat: Add Elm fixture with Person type and main function --- tests/fixtures/languages/elm/test.elm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/fixtures/languages/elm/test.elm b/tests/fixtures/languages/elm/test.elm index 7784f60eb..e78412b1a 100644 --- a/tests/fixtures/languages/elm/test.elm +++ b/tests/fixtures/languages/elm/test.elm @@ -36,3 +36,24 @@ main = div [ class "greeting" ] [ text (greet Formal defaultPerson) ] +module Main exposing (..) + +-- Define a Person type +type alias Person = + { name : String + , age : Int + } + +-- Create a person +newPerson : String -> Int -> Person +newPerson name age = + { name = name + , age = age + } + +-- Main function +main = + let + person = newPerson "John Doe" 30 + in + text ("Hello, " ++ person.name) From d74068464d7358f0eeea73ab25b92124d32fffe4 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:09:43 -0700 Subject: [PATCH 47/68] feat: Add Gleam language support to TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/gleam/test.gleam | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 tests/fixtures/languages/gleam/test.gleam diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index d423aa1ac..b3520f5c3 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -290,6 +290,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "d": ("d", "main"), "dart": ("dart", "Person"), "elixir": ("ex", "Greeter"), + "gleam": ("gleam", "greet"), "java": ("java", "Greeting"), "javascript": ("js", "Person"), "kotlin": ("kt", "Greeting"), diff --git a/tests/fixtures/languages/gleam/test.gleam b/tests/fixtures/languages/gleam/test.gleam new file mode 100644 index 000000000..f0c5aa32e --- /dev/null +++ b/tests/fixtures/languages/gleam/test.gleam @@ -0,0 +1,10 @@ +import gleam/io + +pub fn greet(name: String) -> String { + "Hello, " <> name <> "!" +} + +pub fn main() { + greet("World") + |> io.println +} From b54d8000240cc64e295ac346fc0ed5db7ad4247b Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:11:31 -0700 Subject: [PATCH 48/68] feat: Add Lua language support to TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/lua/test.lua | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 tests/fixtures/languages/lua/test.lua diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index b3520f5c3..01380c7ad 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -294,6 +294,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "java": ("java", "Greeting"), "javascript": ("js", "Person"), "kotlin": ("kt", "Greeting"), + "lua": ("lua", "greet"), # "ocaml": ("ml", "Greeter"), # not supported in tsl-pack (yet?) "php": ("php", "greet"), "python": ("py", "Person"), diff --git a/tests/fixtures/languages/lua/test.lua b/tests/fixtures/languages/lua/test.lua new file mode 100644 index 000000000..7ef930f11 --- /dev/null +++ b/tests/fixtures/languages/lua/test.lua @@ -0,0 +1,25 @@ +-- Simple Lua module with a greeting function + +-- Person class definition +local Person = {} +Person.__index = Person + +function Person.new(name) + local self = setmetatable({}, Person) + self.name = name + return self +end + +-- Main greeting function to be detected by ctags +function greet(person) + return "Hello, " .. person.name .. "!" +end + +-- Example usage +local p = Person.new("World") +print(greet(p)) + +return { + Person = Person, + greet = greet +} From a503f291e7a39fd23b3cbef13d00dbf8992d6130 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:12:56 -0700 Subject: [PATCH 49/68] feat: Add Pony language test case and fixture --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/pony/test.pony | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 tests/fixtures/languages/pony/test.pony diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 01380c7ad..53e5af39d 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -311,6 +311,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "arduino": ("ino", "setup"), "chatito": ("chatito", "intent"), "commonlisp": ("lisp", "greet"), + "pony": ("pony", "Greeter"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" diff --git a/tests/fixtures/languages/pony/test.pony b/tests/fixtures/languages/pony/test.pony new file mode 100644 index 000000000..799ad861b --- /dev/null +++ b/tests/fixtures/languages/pony/test.pony @@ -0,0 +1,8 @@ +class Greeter + fun greet(name: String): String => + "Hello, " + name + "!" + +actor Main + new create(env: Env) => + let greeter = Greeter + env.out.print(greeter.greet("Pony")) From 73eb8701ddbb44287645bdee1642ac73101f7846 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:13:56 -0700 Subject: [PATCH 50/68] feat: Add properties language test case and fixture file --- tests/basic/test_repomap.py | 1 + .../fixtures/languages/properties/test.properties | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 tests/fixtures/languages/properties/test.properties diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 53e5af39d..c639b3be4 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -312,6 +312,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "chatito": ("chatito", "intent"), "commonlisp": ("lisp", "greet"), "pony": ("pony", "Greeter"), + "properties": ("properties", "database.url"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" diff --git a/tests/fixtures/languages/properties/test.properties b/tests/fixtures/languages/properties/test.properties new file mode 100644 index 000000000..e41c40c47 --- /dev/null +++ b/tests/fixtures/languages/properties/test.properties @@ -0,0 +1,14 @@ +# Database Configuration +database.url=jdbc:mysql://localhost:3306/mydb +database.username=admin +database.password=secret + +# Application Settings +app.name=My Application +app.version=1.0.0 +app.debug=true + +# Server Configuration +server.port=8080 +server.host=localhost +server.maxConnections=100 From 1ab6c70ac727f1edade100573327baa069e6dd1c Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:16:02 -0700 Subject: [PATCH 51/68] feat: Add R language test case and fixture for repository mapping --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/r/test.r | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 tests/fixtures/languages/r/test.r diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index c639b3be4..819c3ffaa 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -313,6 +313,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "commonlisp": ("lisp", "greet"), "pony": ("pony", "Greeter"), "properties": ("properties", "database.url"), + "r": ("r", "calculate"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" diff --git a/tests/fixtures/languages/r/test.r b/tests/fixtures/languages/r/test.r new file mode 100644 index 000000000..191881e76 --- /dev/null +++ b/tests/fixtures/languages/r/test.r @@ -0,0 +1,17 @@ +# Simple R function for testing repository mapping +calculate <- function(x, y) { + # This function performs a simple calculation + result <- x * y + return(result) +} + +# Another function to test detection +process_data <- function(data) { + # Process some data + return(data * 2) +} + +# Example usage +sample_data <- c(1, 2, 3, 4, 5) +result <- calculate(10, 5) +processed <- process_data(sample_data) From a776d70e0d149f5ac3a605a36f064cd4b0823eda Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:18:47 -0700 Subject: [PATCH 52/68] test: add Racket test case and fixture --- tests/basic/test_repomap.py | 3 ++- tests/fixtures/languages/racket/test.rkt | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 tests/fixtures/languages/racket/test.rkt diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 819c3ffaa..2ceab9689 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -314,6 +314,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "pony": ("pony", "Greeter"), "properties": ("properties", "database.url"), "r": ("r", "calculate"), + "racket": ("rkt", "greet"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" @@ -338,7 +339,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): io = InputOutput() repo_map = RepoMap(main_model=self.GPT35, root=temp_dir, io=io) - other_files = [filename] + other_files = [test_file] result = repo_map.get_repo_map([], other_files) dump(lang) dump(result) diff --git a/tests/fixtures/languages/racket/test.rkt b/tests/fixtures/languages/racket/test.rkt new file mode 100644 index 000000000..05be192cf --- /dev/null +++ b/tests/fixtures/languages/racket/test.rkt @@ -0,0 +1,8 @@ +#lang racket + +;; Define a simple greeting function +(define (greet name) + (string-append "Hello, " name "!")) + +;; Example usage +(greet "World") From 315f8093c62c0eb3092025f82f8b83ee9c384189 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:21:45 -0700 Subject: [PATCH 53/68] test: Add Solidity test case and fixture to TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/solidity/test.sol | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 tests/fixtures/languages/solidity/test.sol diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 2ceab9689..b8e6e1988 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -315,6 +315,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "properties": ("properties", "database.url"), "r": ("r", "calculate"), "racket": ("rkt", "greet"), + "solidity": ("sol", "SimpleStorage"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" diff --git a/tests/fixtures/languages/solidity/test.sol b/tests/fixtures/languages/solidity/test.sol new file mode 100644 index 000000000..f78e64884 --- /dev/null +++ b/tests/fixtures/languages/solidity/test.sol @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract SimpleStorage { + uint256 private value; + + event ValueChanged(uint256 newValue); + + constructor(uint256 initialValue) { + value = initialValue; + } + + function setValue(uint256 newValue) public { + value = newValue; + emit ValueChanged(newValue); + } + + function getValue() public view returns (uint256) { + return value; + } +} From 189d64dc3d527d46bd995e2c781f03d84c96bd1c Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:22:16 -0700 Subject: [PATCH 54/68] test: Add Swift test case to TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/swift/test.swift | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 tests/fixtures/languages/swift/test.swift diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index b8e6e1988..0d3bb0fe1 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -316,6 +316,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "r": ("r", "calculate"), "racket": ("rkt", "greet"), "solidity": ("sol", "SimpleStorage"), + "swift": ("swift", "Greeter"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" diff --git a/tests/fixtures/languages/swift/test.swift b/tests/fixtures/languages/swift/test.swift new file mode 100644 index 000000000..8e1fbb86f --- /dev/null +++ b/tests/fixtures/languages/swift/test.swift @@ -0,0 +1,18 @@ +// Swift greeting example +class Greeter { + let name: String + + init(name: String) { + self.name = name + } + + func greet() -> String { + return "Hello, \(name)!" + } +} + +// Example usage +func exampleGreeting() { + let greeter = Greeter(name: "World") + print(greeter.greet()) +} From 14037eaeb84c25a868b5cce2335de015559fa676 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:22:56 -0700 Subject: [PATCH 55/68] test: add udev test case to TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 1 + tests/fixtures/languages/udev/test.rules | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 tests/fixtures/languages/udev/test.rules diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 0d3bb0fe1..f844c86e7 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -317,6 +317,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): "racket": ("rkt", "greet"), "solidity": ("sol", "SimpleStorage"), "swift": ("swift", "Greeter"), + "udev": ("rules", "SUBSYSTEM"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" diff --git a/tests/fixtures/languages/udev/test.rules b/tests/fixtures/languages/udev/test.rules new file mode 100644 index 000000000..1cc70fc1c --- /dev/null +++ b/tests/fixtures/languages/udev/test.rules @@ -0,0 +1,8 @@ +# udev rules for custom USB device +ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", GROUP="plugdev", MODE="0666" + +# Rule for disk device +SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTRS{vendor}=="SanDisk", SYMLINK+="sandisk_drive" + +# Run a script when a specific device is connected +ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="abcd", ATTRS{idProduct}=="ef01", RUN+="/usr/local/bin/device_script.sh" From 22f1703beec88c27916643052d4506a39c3993bd Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:30:23 -0700 Subject: [PATCH 56/68] test: Update udev fixture to match query patterns --- tests/fixtures/languages/udev/test.rules | 26 ++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/tests/fixtures/languages/udev/test.rules b/tests/fixtures/languages/udev/test.rules index 1cc70fc1c..e6cbb91ec 100644 --- a/tests/fixtures/languages/udev/test.rules +++ b/tests/fixtures/languages/udev/test.rules @@ -1,8 +1,22 @@ -# udev rules for custom USB device -ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", GROUP="plugdev", MODE="0666" +# Define a label for a specific device +LABEL="my_usb_device", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678" -# Rule for disk device -SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTRS{vendor}=="SanDisk", SYMLINK+="sandisk_drive" +# Reference a label in a GOTO +SUBSYSTEM=="usb", GOTO="my_peripheral" -# Run a script when a specific device is connected -ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="abcd", ATTRS{idProduct}=="ef01", RUN+="/usr/local/bin/device_script.sh" +# Define environment variables +ENV{DEVTYPE}="usb_device" +ENV{USB_DRIVER}="usb-storage" + +# Reference environment variables +ENV{DEVTYPE}=="usb_device", SYMLINK+="usb_storage_%k" + +# Variable substitution +SYMLINK+="disk/by-label/$env{ID_FS_LABEL}" + +# Label for a section of rules +LABEL="my_peripheral" +SUBSYSTEM=="usb", MODE="0666" + +# End label +LABEL="end_my_rules" From 570e8eae31d22f241363739ecf466b2fe71c1d55 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 15:32:15 -0700 Subject: [PATCH 57/68] refactor: Extract loop logic into helper method in test_repomap.py --- tests/basic/test_repomap.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index f844c86e7..96da4008b 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -317,12 +317,14 @@ class TestRepoMapAllLanguages(unittest.TestCase): "racket": ("rkt", "greet"), "solidity": ("sol", "SimpleStorage"), "swift": ("swift", "Greeter"), - "udev": ("rules", "SUBSYSTEM"), + "udev": ("rules", "USB_DRIVER"), } fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" for lang, key_symbol in language_files.items(): + # make the inside of this loop into a helper method ai! + # Get the fixture file path and name based on language fixture_dir = fixtures_dir / lang ext, key_symbol = language_files[lang] From a709d650df3744b66bd62eab9ff133420553ba0b Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:32:16 -0700 Subject: [PATCH 58/68] refactor: Extract language test loop into helper method --- tests/basic/test_repomap.py | 82 +++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 96da4008b..9455277b2 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -323,49 +323,51 @@ class TestRepoMapAllLanguages(unittest.TestCase): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" for lang, key_symbol in language_files.items(): - # make the inside of this loop into a helper method ai! + self._test_language_repo_map(lang, key_symbol, fixtures_dir) - # Get the fixture file path and name based on language - fixture_dir = fixtures_dir / lang - ext, key_symbol = language_files[lang] - filename = f"test.{ext}" - fixture_path = fixture_dir / filename - self.assertTrue( - fixture_path.exists(), f"Fixture file missing for {lang}: {fixture_path}" + def _test_language_repo_map(self, lang, key_symbol, fixtures_dir): + """Helper method to test repo map generation for a specific language.""" + # Get the fixture file path and name based on language + fixture_dir = fixtures_dir / lang + ext, key_symbol = key_symbol + filename = f"test.{ext}" + fixture_path = fixture_dir / filename + self.assertTrue( + fixture_path.exists(), f"Fixture file missing for {lang}: {fixture_path}" + ) + + # Read the fixture content + with open(fixture_path, "r", encoding="utf-8") as f: + content = f.read() + with GitTemporaryDirectory() as temp_dir: + test_file = os.path.join(temp_dir, filename) + with open(test_file, "w", encoding="utf-8") as f: + f.write(content) + + io = InputOutput() + repo_map = RepoMap(main_model=self.GPT35, root=temp_dir, io=io) + other_files = [test_file] + result = repo_map.get_repo_map([], other_files) + dump(lang) + dump(result) + + self.assertGreater(len(result.strip().splitlines()), 1) + + # Check if the result contains all the expected files and symbols + self.assertIn( + filename, result, f"File for language {lang} not found in repo map: {result}" + ) + self.assertIn( + key_symbol, + result, + ( + f"Key symbol '{key_symbol}' for language {lang} not found in repo map:" + f" {result}" + ), ) - # Read the fixture content - with open(fixture_path, "r", encoding="utf-8") as f: - content = f.read() - with GitTemporaryDirectory() as temp_dir: - test_file = os.path.join(temp_dir, filename) - with open(test_file, "w", encoding="utf-8") as f: - f.write(content) - - io = InputOutput() - repo_map = RepoMap(main_model=self.GPT35, root=temp_dir, io=io) - other_files = [test_file] - result = repo_map.get_repo_map([], other_files) - dump(lang) - dump(result) - - self.assertGreater(len(result.strip().splitlines()), 1) - - # Check if the result contains all the expected files and symbols - self.assertIn( - filename, result, f"File for language {lang} not found in repo map: {result}" - ) - self.assertIn( - key_symbol, - result, - ( - f"Key symbol '{key_symbol}' for language {lang} not found in repo map:" - f" {result}" - ), - ) - - # close the open cache files, so Windows won't error - del repo_map + # close the open cache files, so Windows won't error + del repo_map def test_repo_map_sample_code_base(self): # Path to the sample code base From a83d5ff1238bed41be90470ecd705f30ae429de1 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:32:20 -0700 Subject: [PATCH 59/68] style: Format test_repomap.py with linter --- tests/basic/test_repomap.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 9455277b2..35a1504a4 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -332,9 +332,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): ext, key_symbol = key_symbol filename = f"test.{ext}" fixture_path = fixture_dir / filename - self.assertTrue( - fixture_path.exists(), f"Fixture file missing for {lang}: {fixture_path}" - ) + self.assertTrue(fixture_path.exists(), f"Fixture file missing for {lang}: {fixture_path}") # Read the fixture content with open(fixture_path, "r", encoding="utf-8") as f: @@ -360,10 +358,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): self.assertIn( key_symbol, result, - ( - f"Key symbol '{key_symbol}' for language {lang} not found in repo map:" - f" {result}" - ), + f"Key symbol '{key_symbol}' for language {lang} not found in repo map: {result}", ) # close the open cache files, so Windows won't error From 2cc8105e68cbf3aabaf83dca426f7c4a48b66ea0 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 15:34:22 -0700 Subject: [PATCH 60/68] refactor: Split language tests into individual cases in test_repomap.py --- tests/basic/test_repomap.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 35a1504a4..16b39cfcc 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -283,6 +283,8 @@ class TestRepoMapAllLanguages(unittest.TestCase): def setUp(self): self.GPT35 = Model("gpt-3.5-turbo") + # instead of one giant test with a loop, make each language have its own + # test_xxx case that calls self._test_language_repo_map ai! def test_get_repo_map_all_languages(self): language_files = { "c": ("c", "main"), @@ -322,6 +324,7 @@ class TestRepoMapAllLanguages(unittest.TestCase): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + dump(len(language_files)) for lang, key_symbol in language_files.items(): self._test_language_repo_map(lang, key_symbol, fixtures_dir) From fb7413436ca65f6da44de4789c0b283a07fdf250 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:34:24 -0700 Subject: [PATCH 61/68] refactor: Split language tests into individual test methods --- tests/basic/test_repomap.py | 169 +++++++++++++++++++++++++++--------- 1 file changed, 126 insertions(+), 43 deletions(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 16b39cfcc..751081d39 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -283,50 +283,133 @@ class TestRepoMapAllLanguages(unittest.TestCase): def setUp(self): self.GPT35 = Model("gpt-3.5-turbo") - # instead of one giant test with a loop, make each language have its own - # test_xxx case that calls self._test_language_repo_map ai! - def test_get_repo_map_all_languages(self): - language_files = { - "c": ("c", "main"), - "cpp": ("cpp", "main"), - "d": ("d", "main"), - "dart": ("dart", "Person"), - "elixir": ("ex", "Greeter"), - "gleam": ("gleam", "greet"), - "java": ("java", "Greeting"), - "javascript": ("js", "Person"), - "kotlin": ("kt", "Greeting"), - "lua": ("lua", "greet"), - # "ocaml": ("ml", "Greeter"), # not supported in tsl-pack (yet?) - "php": ("php", "greet"), - "python": ("py", "Person"), - # "ql": ("ql", "greet"), # not supported in tsl-pack (yet?) - "ruby": ("rb", "greet"), - "rust": ("rs", "Person"), - "typescript": ("ts", "greet"), - "tsx": ("tsx", "UserProps"), - "csharp": ("cs", "IGreeter"), - "elisp": ("el", "greeter"), - "elm": ("elm", "Person"), - "go": ("go", "Greeter"), - "hcl": ("tf", "aws_vpc"), - "arduino": ("ino", "setup"), - "chatito": ("chatito", "intent"), - "commonlisp": ("lisp", "greet"), - "pony": ("pony", "Greeter"), - "properties": ("properties", "database.url"), - "r": ("r", "calculate"), - "racket": ("rkt", "greet"), - "solidity": ("sol", "SimpleStorage"), - "swift": ("swift", "Greeter"), - "udev": ("rules", "USB_DRIVER"), - } - + def test_language_c(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" - - dump(len(language_files)) - for lang, key_symbol in language_files.items(): - self._test_language_repo_map(lang, key_symbol, fixtures_dir) + self._test_language_repo_map("c", ("c", "main"), fixtures_dir) + + def test_language_cpp(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("cpp", ("cpp", "main"), fixtures_dir) + + def test_language_d(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("d", ("d", "main"), fixtures_dir) + + def test_language_dart(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("dart", ("dart", "Person"), fixtures_dir) + + def test_language_elixir(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("elixir", ("ex", "Greeter"), fixtures_dir) + + def test_language_gleam(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("gleam", ("gleam", "greet"), fixtures_dir) + + def test_language_java(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("java", ("java", "Greeting"), fixtures_dir) + + def test_language_javascript(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("javascript", ("js", "Person"), fixtures_dir) + + def test_language_kotlin(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("kotlin", ("kt", "Greeting"), fixtures_dir) + + def test_language_lua(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("lua", ("lua", "greet"), fixtures_dir) + + # "ocaml": ("ml", "Greeter"), # not supported in tsl-pack (yet?) + + def test_language_php(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("php", ("php", "greet"), fixtures_dir) + + def test_language_python(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("python", ("py", "Person"), fixtures_dir) + + # "ql": ("ql", "greet"), # not supported in tsl-pack (yet?) + + def test_language_ruby(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("ruby", ("rb", "greet"), fixtures_dir) + + def test_language_rust(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("rust", ("rs", "Person"), fixtures_dir) + + def test_language_typescript(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("typescript", ("ts", "greet"), fixtures_dir) + + def test_language_tsx(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("tsx", ("tsx", "UserProps"), fixtures_dir) + + def test_language_csharp(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("csharp", ("cs", "IGreeter"), fixtures_dir) + + def test_language_elisp(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("elisp", ("el", "greeter"), fixtures_dir) + + def test_language_elm(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("elm", ("elm", "Person"), fixtures_dir) + + def test_language_go(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("go", ("go", "Greeter"), fixtures_dir) + + def test_language_hcl(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("hcl", ("tf", "aws_vpc"), fixtures_dir) + + def test_language_arduino(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("arduino", ("ino", "setup"), fixtures_dir) + + def test_language_chatito(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("chatito", ("chatito", "intent"), fixtures_dir) + + def test_language_commonlisp(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("commonlisp", ("lisp", "greet"), fixtures_dir) + + def test_language_pony(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("pony", ("pony", "Greeter"), fixtures_dir) + + def test_language_properties(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("properties", ("properties", "database.url"), fixtures_dir) + + def test_language_r(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("r", ("r", "calculate"), fixtures_dir) + + def test_language_racket(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("racket", ("rkt", "greet"), fixtures_dir) + + def test_language_solidity(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("solidity", ("sol", "SimpleStorage"), fixtures_dir) + + def test_language_swift(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("swift", ("swift", "Greeter"), fixtures_dir) + + def test_language_udev(self): + fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("udev", ("rules", "USB_DRIVER"), fixtures_dir) def _test_language_repo_map(self, lang, key_symbol, fixtures_dir): """Helper method to test repo map generation for a specific language.""" From 57d492d4b8cd4934bc27d04e3f59d0df0c5a657c Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:34:28 -0700 Subject: [PATCH 62/68] style: Remove trailing whitespace in test_repomap.py --- tests/basic/test_repomap.py | 64 ++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 751081d39..1fb282316 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -286,127 +286,127 @@ class TestRepoMapAllLanguages(unittest.TestCase): def test_language_c(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("c", ("c", "main"), fixtures_dir) - + def test_language_cpp(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("cpp", ("cpp", "main"), fixtures_dir) - + def test_language_d(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("d", ("d", "main"), fixtures_dir) - + def test_language_dart(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("dart", ("dart", "Person"), fixtures_dir) - + def test_language_elixir(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("elixir", ("ex", "Greeter"), fixtures_dir) - + def test_language_gleam(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("gleam", ("gleam", "greet"), fixtures_dir) - + def test_language_java(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("java", ("java", "Greeting"), fixtures_dir) - + def test_language_javascript(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("javascript", ("js", "Person"), fixtures_dir) - + def test_language_kotlin(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("kotlin", ("kt", "Greeting"), fixtures_dir) - + def test_language_lua(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("lua", ("lua", "greet"), fixtures_dir) - + # "ocaml": ("ml", "Greeter"), # not supported in tsl-pack (yet?) - + def test_language_php(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("php", ("php", "greet"), fixtures_dir) - + def test_language_python(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("python", ("py", "Person"), fixtures_dir) - + # "ql": ("ql", "greet"), # not supported in tsl-pack (yet?) - + def test_language_ruby(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("ruby", ("rb", "greet"), fixtures_dir) - + def test_language_rust(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("rust", ("rs", "Person"), fixtures_dir) - + def test_language_typescript(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("typescript", ("ts", "greet"), fixtures_dir) - + def test_language_tsx(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("tsx", ("tsx", "UserProps"), fixtures_dir) - + def test_language_csharp(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("csharp", ("cs", "IGreeter"), fixtures_dir) - + def test_language_elisp(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("elisp", ("el", "greeter"), fixtures_dir) - + def test_language_elm(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("elm", ("elm", "Person"), fixtures_dir) - + def test_language_go(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("go", ("go", "Greeter"), fixtures_dir) - + def test_language_hcl(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("hcl", ("tf", "aws_vpc"), fixtures_dir) - + def test_language_arduino(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("arduino", ("ino", "setup"), fixtures_dir) - + def test_language_chatito(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("chatito", ("chatito", "intent"), fixtures_dir) - + def test_language_commonlisp(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("commonlisp", ("lisp", "greet"), fixtures_dir) - + def test_language_pony(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("pony", ("pony", "Greeter"), fixtures_dir) - + def test_language_properties(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("properties", ("properties", "database.url"), fixtures_dir) - + def test_language_r(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("r", ("r", "calculate"), fixtures_dir) - + def test_language_racket(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("racket", ("rkt", "greet"), fixtures_dir) - + def test_language_solidity(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("solidity", ("sol", "SimpleStorage"), fixtures_dir) - + def test_language_swift(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("swift", ("swift", "Greeter"), fixtures_dir) - + def test_language_udev(self): fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("udev", ("rules", "USB_DRIVER"), fixtures_dir) From d4df2076128ebdea88612248780035c2bcb31c9a Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 15:36:12 -0700 Subject: [PATCH 63/68] refactor: Move fixtures_dir initialization to setUp in TestRepoMapAllLanguages --- tests/basic/test_repomap.py | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 1fb282316..b3d0e7d93 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -282,133 +282,133 @@ class TestRepoMapTypescript(unittest.TestCase): class TestRepoMapAllLanguages(unittest.TestCase): def setUp(self): self.GPT35 = Model("gpt-3.5-turbo") + self.fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" def test_language_c(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" self._test_language_repo_map("c", ("c", "main"), fixtures_dir) def test_language_cpp(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("cpp", ("cpp", "main"), fixtures_dir) def test_language_d(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("d", ("d", "main"), fixtures_dir) def test_language_dart(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("dart", ("dart", "Person"), fixtures_dir) def test_language_elixir(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("elixir", ("ex", "Greeter"), fixtures_dir) def test_language_gleam(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("gleam", ("gleam", "greet"), fixtures_dir) def test_language_java(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("java", ("java", "Greeting"), fixtures_dir) def test_language_javascript(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("javascript", ("js", "Person"), fixtures_dir) def test_language_kotlin(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("kotlin", ("kt", "Greeting"), fixtures_dir) def test_language_lua(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("lua", ("lua", "greet"), fixtures_dir) # "ocaml": ("ml", "Greeter"), # not supported in tsl-pack (yet?) def test_language_php(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("php", ("php", "greet"), fixtures_dir) def test_language_python(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("python", ("py", "Person"), fixtures_dir) # "ql": ("ql", "greet"), # not supported in tsl-pack (yet?) def test_language_ruby(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("ruby", ("rb", "greet"), fixtures_dir) def test_language_rust(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("rust", ("rs", "Person"), fixtures_dir) def test_language_typescript(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("typescript", ("ts", "greet"), fixtures_dir) def test_language_tsx(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("tsx", ("tsx", "UserProps"), fixtures_dir) def test_language_csharp(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("csharp", ("cs", "IGreeter"), fixtures_dir) def test_language_elisp(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("elisp", ("el", "greeter"), fixtures_dir) def test_language_elm(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("elm", ("elm", "Person"), fixtures_dir) def test_language_go(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("go", ("go", "Greeter"), fixtures_dir) def test_language_hcl(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("hcl", ("tf", "aws_vpc"), fixtures_dir) def test_language_arduino(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("arduino", ("ino", "setup"), fixtures_dir) def test_language_chatito(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("chatito", ("chatito", "intent"), fixtures_dir) def test_language_commonlisp(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("commonlisp", ("lisp", "greet"), fixtures_dir) def test_language_pony(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("pony", ("pony", "Greeter"), fixtures_dir) def test_language_properties(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("properties", ("properties", "database.url"), fixtures_dir) def test_language_r(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("r", ("r", "calculate"), fixtures_dir) def test_language_racket(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("racket", ("rkt", "greet"), fixtures_dir) def test_language_solidity(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("solidity", ("sol", "SimpleStorage"), fixtures_dir) def test_language_swift(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("swift", ("swift", "Greeter"), fixtures_dir) def test_language_udev(self): - fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" + self._test_language_repo_map("udev", ("rules", "USB_DRIVER"), fixtures_dir) def _test_language_repo_map(self, lang, key_symbol, fixtures_dir): From a477759a496bbeaeee8ce78e8c96876bdd787236 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:36:13 -0700 Subject: [PATCH 64/68] refactor: Update fixtures_dir references to use self.fixtures_dir --- tests/basic/test_repomap.py | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index b3d0e7d93..b6b6be7d1 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -285,131 +285,131 @@ class TestRepoMapAllLanguages(unittest.TestCase): self.fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" def test_language_c(self): - self._test_language_repo_map("c", ("c", "main"), fixtures_dir) + self._test_language_repo_map("c", ("c", "main"), self.fixtures_dir) def test_language_cpp(self): - self._test_language_repo_map("cpp", ("cpp", "main"), fixtures_dir) + self._test_language_repo_map("cpp", ("cpp", "main"), self.fixtures_dir) def test_language_d(self): - self._test_language_repo_map("d", ("d", "main"), fixtures_dir) + self._test_language_repo_map("d", ("d", "main"), self.fixtures_dir) def test_language_dart(self): - self._test_language_repo_map("dart", ("dart", "Person"), fixtures_dir) + self._test_language_repo_map("dart", ("dart", "Person"), self.fixtures_dir) def test_language_elixir(self): - self._test_language_repo_map("elixir", ("ex", "Greeter"), fixtures_dir) + self._test_language_repo_map("elixir", ("ex", "Greeter"), self.fixtures_dir) def test_language_gleam(self): - self._test_language_repo_map("gleam", ("gleam", "greet"), fixtures_dir) + self._test_language_repo_map("gleam", ("gleam", "greet"), self.fixtures_dir) def test_language_java(self): - self._test_language_repo_map("java", ("java", "Greeting"), fixtures_dir) + self._test_language_repo_map("java", ("java", "Greeting"), self.fixtures_dir) def test_language_javascript(self): - self._test_language_repo_map("javascript", ("js", "Person"), fixtures_dir) + self._test_language_repo_map("javascript", ("js", "Person"), self.fixtures_dir) def test_language_kotlin(self): - self._test_language_repo_map("kotlin", ("kt", "Greeting"), fixtures_dir) + self._test_language_repo_map("kotlin", ("kt", "Greeting"), self.fixtures_dir) def test_language_lua(self): - self._test_language_repo_map("lua", ("lua", "greet"), fixtures_dir) + self._test_language_repo_map("lua", ("lua", "greet"), self.fixtures_dir) # "ocaml": ("ml", "Greeter"), # not supported in tsl-pack (yet?) def test_language_php(self): - self._test_language_repo_map("php", ("php", "greet"), fixtures_dir) + self._test_language_repo_map("php", ("php", "greet"), self.fixtures_dir) def test_language_python(self): - self._test_language_repo_map("python", ("py", "Person"), fixtures_dir) + self._test_language_repo_map("python", ("py", "Person"), self.fixtures_dir) # "ql": ("ql", "greet"), # not supported in tsl-pack (yet?) def test_language_ruby(self): - self._test_language_repo_map("ruby", ("rb", "greet"), fixtures_dir) + self._test_language_repo_map("ruby", ("rb", "greet"), self.fixtures_dir) def test_language_rust(self): - self._test_language_repo_map("rust", ("rs", "Person"), fixtures_dir) + self._test_language_repo_map("rust", ("rs", "Person"), self.fixtures_dir) def test_language_typescript(self): - self._test_language_repo_map("typescript", ("ts", "greet"), fixtures_dir) + self._test_language_repo_map("typescript", ("ts", "greet"), self.fixtures_dir) def test_language_tsx(self): - self._test_language_repo_map("tsx", ("tsx", "UserProps"), fixtures_dir) + self._test_language_repo_map("tsx", ("tsx", "UserProps"), self.fixtures_dir) def test_language_csharp(self): - self._test_language_repo_map("csharp", ("cs", "IGreeter"), fixtures_dir) + self._test_language_repo_map("csharp", ("cs", "IGreeter"), self.fixtures_dir) def test_language_elisp(self): - self._test_language_repo_map("elisp", ("el", "greeter"), fixtures_dir) + self._test_language_repo_map("elisp", ("el", "greeter"), self.fixtures_dir) def test_language_elm(self): - self._test_language_repo_map("elm", ("elm", "Person"), fixtures_dir) + self._test_language_repo_map("elm", ("elm", "Person"), self.fixtures_dir) def test_language_go(self): - self._test_language_repo_map("go", ("go", "Greeter"), fixtures_dir) + self._test_language_repo_map("go", ("go", "Greeter"), self.fixtures_dir) def test_language_hcl(self): - self._test_language_repo_map("hcl", ("tf", "aws_vpc"), fixtures_dir) + self._test_language_repo_map("hcl", ("tf", "aws_vpc"), self.fixtures_dir) def test_language_arduino(self): - self._test_language_repo_map("arduino", ("ino", "setup"), fixtures_dir) + self._test_language_repo_map("arduino", ("ino", "setup"), self.fixtures_dir) def test_language_chatito(self): - self._test_language_repo_map("chatito", ("chatito", "intent"), fixtures_dir) + self._test_language_repo_map("chatito", ("chatito", "intent"), self.fixtures_dir) def test_language_commonlisp(self): - self._test_language_repo_map("commonlisp", ("lisp", "greet"), fixtures_dir) + self._test_language_repo_map("commonlisp", ("lisp", "greet"), self.fixtures_dir) def test_language_pony(self): - self._test_language_repo_map("pony", ("pony", "Greeter"), fixtures_dir) + self._test_language_repo_map("pony", ("pony", "Greeter"), self.fixtures_dir) def test_language_properties(self): - self._test_language_repo_map("properties", ("properties", "database.url"), fixtures_dir) + self._test_language_repo_map("properties", ("properties", "database.url"), self.fixtures_dir) def test_language_r(self): - self._test_language_repo_map("r", ("r", "calculate"), fixtures_dir) + self._test_language_repo_map("r", ("r", "calculate"), self.fixtures_dir) def test_language_racket(self): - self._test_language_repo_map("racket", ("rkt", "greet"), fixtures_dir) + self._test_language_repo_map("racket", ("rkt", "greet"), self.fixtures_dir) def test_language_solidity(self): - self._test_language_repo_map("solidity", ("sol", "SimpleStorage"), fixtures_dir) + self._test_language_repo_map("solidity", ("sol", "SimpleStorage"), self.fixtures_dir) def test_language_swift(self): - self._test_language_repo_map("swift", ("swift", "Greeter"), fixtures_dir) + self._test_language_repo_map("swift", ("swift", "Greeter"), self.fixtures_dir) def test_language_udev(self): - self._test_language_repo_map("udev", ("rules", "USB_DRIVER"), fixtures_dir) + self._test_language_repo_map("udev", ("rules", "USB_DRIVER"), self.fixtures_dir) def _test_language_repo_map(self, lang, key_symbol, fixtures_dir): """Helper method to test repo map generation for a specific language.""" From 084a14b64023f41f84e282c3a71acbf11b2f6b92 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:36:18 -0700 Subject: [PATCH 65/68] style: Remove unnecessary blank lines in test_repomap.py --- tests/basic/test_repomap.py | 34 +++------------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index b6b6be7d1..3d8cff68e 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -288,127 +288,99 @@ class TestRepoMapAllLanguages(unittest.TestCase): self._test_language_repo_map("c", ("c", "main"), self.fixtures_dir) def test_language_cpp(self): - self._test_language_repo_map("cpp", ("cpp", "main"), self.fixtures_dir) def test_language_d(self): - self._test_language_repo_map("d", ("d", "main"), self.fixtures_dir) def test_language_dart(self): - self._test_language_repo_map("dart", ("dart", "Person"), self.fixtures_dir) def test_language_elixir(self): - self._test_language_repo_map("elixir", ("ex", "Greeter"), self.fixtures_dir) def test_language_gleam(self): - self._test_language_repo_map("gleam", ("gleam", "greet"), self.fixtures_dir) def test_language_java(self): - self._test_language_repo_map("java", ("java", "Greeting"), self.fixtures_dir) def test_language_javascript(self): - self._test_language_repo_map("javascript", ("js", "Person"), self.fixtures_dir) def test_language_kotlin(self): - self._test_language_repo_map("kotlin", ("kt", "Greeting"), self.fixtures_dir) def test_language_lua(self): - self._test_language_repo_map("lua", ("lua", "greet"), self.fixtures_dir) # "ocaml": ("ml", "Greeter"), # not supported in tsl-pack (yet?) def test_language_php(self): - self._test_language_repo_map("php", ("php", "greet"), self.fixtures_dir) def test_language_python(self): - self._test_language_repo_map("python", ("py", "Person"), self.fixtures_dir) # "ql": ("ql", "greet"), # not supported in tsl-pack (yet?) def test_language_ruby(self): - self._test_language_repo_map("ruby", ("rb", "greet"), self.fixtures_dir) def test_language_rust(self): - self._test_language_repo_map("rust", ("rs", "Person"), self.fixtures_dir) def test_language_typescript(self): - self._test_language_repo_map("typescript", ("ts", "greet"), self.fixtures_dir) def test_language_tsx(self): - self._test_language_repo_map("tsx", ("tsx", "UserProps"), self.fixtures_dir) def test_language_csharp(self): - self._test_language_repo_map("csharp", ("cs", "IGreeter"), self.fixtures_dir) def test_language_elisp(self): - self._test_language_repo_map("elisp", ("el", "greeter"), self.fixtures_dir) def test_language_elm(self): - self._test_language_repo_map("elm", ("elm", "Person"), self.fixtures_dir) def test_language_go(self): - self._test_language_repo_map("go", ("go", "Greeter"), self.fixtures_dir) def test_language_hcl(self): - self._test_language_repo_map("hcl", ("tf", "aws_vpc"), self.fixtures_dir) def test_language_arduino(self): - self._test_language_repo_map("arduino", ("ino", "setup"), self.fixtures_dir) def test_language_chatito(self): - self._test_language_repo_map("chatito", ("chatito", "intent"), self.fixtures_dir) def test_language_commonlisp(self): - self._test_language_repo_map("commonlisp", ("lisp", "greet"), self.fixtures_dir) def test_language_pony(self): - self._test_language_repo_map("pony", ("pony", "Greeter"), self.fixtures_dir) def test_language_properties(self): - - self._test_language_repo_map("properties", ("properties", "database.url"), self.fixtures_dir) + self._test_language_repo_map( + "properties", ("properties", "database.url"), self.fixtures_dir + ) def test_language_r(self): - self._test_language_repo_map("r", ("r", "calculate"), self.fixtures_dir) def test_language_racket(self): - self._test_language_repo_map("racket", ("rkt", "greet"), self.fixtures_dir) def test_language_solidity(self): - self._test_language_repo_map("solidity", ("sol", "SimpleStorage"), self.fixtures_dir) def test_language_swift(self): - self._test_language_repo_map("swift", ("swift", "Greeter"), self.fixtures_dir) def test_language_udev(self): - self._test_language_repo_map("udev", ("rules", "USB_DRIVER"), self.fixtures_dir) def _test_language_repo_map(self, lang, key_symbol, fixtures_dir): From 04ecea614b73ec0b95f64b10512e3a1e8fe24536 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 12 Mar 2025 15:38:07 -0700 Subject: [PATCH 66/68] refactor: Simplify _test_language_repo_map signature and use self.fixtures_dir --- tests/basic/test_repomap.py | 75 ++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 3d8cff68e..062bb45e6 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -285,110 +285,107 @@ class TestRepoMapAllLanguages(unittest.TestCase): self.fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages" def test_language_c(self): - self._test_language_repo_map("c", ("c", "main"), self.fixtures_dir) + self._test_language_repo_map("c", "c", "main") def test_language_cpp(self): - self._test_language_repo_map("cpp", ("cpp", "main"), self.fixtures_dir) + self._test_language_repo_map("cpp", "cpp", "main") def test_language_d(self): - self._test_language_repo_map("d", ("d", "main"), self.fixtures_dir) + self._test_language_repo_map("d", "d", "main") def test_language_dart(self): - self._test_language_repo_map("dart", ("dart", "Person"), self.fixtures_dir) + self._test_language_repo_map("dart", "dart", "Person") def test_language_elixir(self): - self._test_language_repo_map("elixir", ("ex", "Greeter"), self.fixtures_dir) + self._test_language_repo_map("elixir", "ex", "Greeter") def test_language_gleam(self): - self._test_language_repo_map("gleam", ("gleam", "greet"), self.fixtures_dir) + self._test_language_repo_map("gleam", "gleam", "greet") def test_language_java(self): - self._test_language_repo_map("java", ("java", "Greeting"), self.fixtures_dir) + self._test_language_repo_map("java", "java", "Greeting") def test_language_javascript(self): - self._test_language_repo_map("javascript", ("js", "Person"), self.fixtures_dir) + self._test_language_repo_map("javascript", "js", "Person") def test_language_kotlin(self): - self._test_language_repo_map("kotlin", ("kt", "Greeting"), self.fixtures_dir) + self._test_language_repo_map("kotlin", "kt", "Greeting") def test_language_lua(self): - self._test_language_repo_map("lua", ("lua", "greet"), self.fixtures_dir) + self._test_language_repo_map("lua", "lua", "greet") # "ocaml": ("ml", "Greeter"), # not supported in tsl-pack (yet?) def test_language_php(self): - self._test_language_repo_map("php", ("php", "greet"), self.fixtures_dir) + self._test_language_repo_map("php", "php", "greet") def test_language_python(self): - self._test_language_repo_map("python", ("py", "Person"), self.fixtures_dir) + self._test_language_repo_map("python", "py", "Person") # "ql": ("ql", "greet"), # not supported in tsl-pack (yet?) def test_language_ruby(self): - self._test_language_repo_map("ruby", ("rb", "greet"), self.fixtures_dir) + self._test_language_repo_map("ruby", "rb", "greet") def test_language_rust(self): - self._test_language_repo_map("rust", ("rs", "Person"), self.fixtures_dir) + self._test_language_repo_map("rust", "rs", "Person") def test_language_typescript(self): - self._test_language_repo_map("typescript", ("ts", "greet"), self.fixtures_dir) + self._test_language_repo_map("typescript", "ts", "greet") def test_language_tsx(self): - self._test_language_repo_map("tsx", ("tsx", "UserProps"), self.fixtures_dir) + self._test_language_repo_map("tsx", "tsx", "UserProps") def test_language_csharp(self): - self._test_language_repo_map("csharp", ("cs", "IGreeter"), self.fixtures_dir) + self._test_language_repo_map("csharp", "cs", "IGreeter") def test_language_elisp(self): - self._test_language_repo_map("elisp", ("el", "greeter"), self.fixtures_dir) + self._test_language_repo_map("elisp", "el", "greeter") def test_language_elm(self): - self._test_language_repo_map("elm", ("elm", "Person"), self.fixtures_dir) + self._test_language_repo_map("elm", "elm", "Person") def test_language_go(self): - self._test_language_repo_map("go", ("go", "Greeter"), self.fixtures_dir) + self._test_language_repo_map("go", "go", "Greeter") def test_language_hcl(self): - self._test_language_repo_map("hcl", ("tf", "aws_vpc"), self.fixtures_dir) + self._test_language_repo_map("hcl", "tf", "aws_vpc") def test_language_arduino(self): - self._test_language_repo_map("arduino", ("ino", "setup"), self.fixtures_dir) + self._test_language_repo_map("arduino", "ino", "setup") def test_language_chatito(self): - self._test_language_repo_map("chatito", ("chatito", "intent"), self.fixtures_dir) + self._test_language_repo_map("chatito", "chatito", "intent") def test_language_commonlisp(self): - self._test_language_repo_map("commonlisp", ("lisp", "greet"), self.fixtures_dir) + self._test_language_repo_map("commonlisp", "lisp", "greet") def test_language_pony(self): - self._test_language_repo_map("pony", ("pony", "Greeter"), self.fixtures_dir) + self._test_language_repo_map("pony", "pony", "Greeter") def test_language_properties(self): - self._test_language_repo_map( - "properties", ("properties", "database.url"), self.fixtures_dir - ) + self._test_language_repo_map("properties", "properties", "database.url") def test_language_r(self): - self._test_language_repo_map("r", ("r", "calculate"), self.fixtures_dir) + self._test_language_repo_map("r", "r", "calculate") def test_language_racket(self): - self._test_language_repo_map("racket", ("rkt", "greet"), self.fixtures_dir) + self._test_language_repo_map("racket", "rkt", "greet") def test_language_solidity(self): - self._test_language_repo_map("solidity", ("sol", "SimpleStorage"), self.fixtures_dir) + self._test_language_repo_map("solidity", "sol", "SimpleStorage") def test_language_swift(self): - self._test_language_repo_map("swift", ("swift", "Greeter"), self.fixtures_dir) + self._test_language_repo_map("swift", "swift", "Greeter") def test_language_udev(self): - self._test_language_repo_map("udev", ("rules", "USB_DRIVER"), self.fixtures_dir) + self._test_language_repo_map("udev", "rules", "USB_DRIVER") - def _test_language_repo_map(self, lang, key_symbol, fixtures_dir): + def _test_language_repo_map(self, lang, key, symbol): """Helper method to test repo map generation for a specific language.""" # Get the fixture file path and name based on language - fixture_dir = fixtures_dir / lang - ext, key_symbol = key_symbol - filename = f"test.{ext}" + fixture_dir = self.fixtures_dir / lang + filename = f"test.{key}" fixture_path = fixture_dir / filename self.assertTrue(fixture_path.exists(), f"Fixture file missing for {lang}: {fixture_path}") @@ -414,9 +411,9 @@ class TestRepoMapAllLanguages(unittest.TestCase): filename, result, f"File for language {lang} not found in repo map: {result}" ) self.assertIn( - key_symbol, + symbol, result, - f"Key symbol '{key_symbol}' for language {lang} not found in repo map: {result}", + f"Key symbol '{symbol}' for language {lang} not found in repo map: {result}", ) # close the open cache files, so Windows won't error From 74541545992f211e0b75878d76bd1e5aaf6dd57f Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 15:56:33 -0700 Subject: [PATCH 67/68] copy --- aider/website/assets/sample-analytics.jsonl | 830 ++++++++++---------- aider/website/docs/faq.md | 6 +- aider/website/docs/languages.md | 179 ++++- 3 files changed, 583 insertions(+), 432 deletions(-) diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index dc8d39b09..26dddc4be 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,418 +1,3 @@ -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653147} -{"event": "message_send", "properties": {"main_model": "o3-mini", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "gpt-4o", "edit_format": "diff", "prompt_tokens": 10483, "completion_tokens": 1153, "total_tokens": 11636, "cost": 0.0166045, "total_cost": 0.3975985}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653197} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653197} -{"event": "message_send", "properties": {"main_model": "o3-mini", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "gpt-4o", "edit_format": "diff", "prompt_tokens": 11769, "completion_tokens": 668, "total_tokens": 12437, "cost": 0.015885100000000003, "total_cost": 0.4134836}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653238} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653238} -{"event": "command_architect", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653252} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653300} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653311} -{"event": "message_send", "properties": {"main_model": "o3-mini", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "gpt-4o", "edit_format": "architect", "prompt_tokens": 7413, "completion_tokens": 1242, "total_tokens": 8655, "cost": 0.0136191, "total_cost": 0.4271027}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653352} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653359} -{"event": "message_send", "properties": {"main_model": "gpt-4o", "weak_model": "gpt-4o-mini", "editor_model": "None", "edit_format": "editor-diff", "prompt_tokens": 6586, "completion_tokens": 1506, "total_tokens": 8092, "cost": 0.031525, "total_cost": 0.45862769999999997}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653388} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653479} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653588} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653589} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653590} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653591} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653592} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653593} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653593} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653593} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653593} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653593} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653593} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653593} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653626} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653626} -{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653626} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653626} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653627} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653627} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653627} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653669} -{"event": "gui session", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653670} -{"event": "exit", "properties": {"reason": "GUI session ended"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741653670} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706459} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706460} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706460} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706664} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 14990, "completion_tokens": 184, "total_tokens": 15174, "cost": 0.04773, "total_cost": 0.04773}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706675} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706777} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706798} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706804} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706804} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706804} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706822} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 14991, "completion_tokens": 226, "total_tokens": 15217, "cost": 0.048362999999999996, "total_cost": 0.048362999999999996}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706831} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706877} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706877} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706898} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706898} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706898} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706898} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706898} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706898} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706898} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706898} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706899} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706900} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706901} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706902} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706903} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706903} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706903} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 4481, "completion_tokens": 195, "total_tokens": 4676, "cost": 0.016368, "total_cost": 0.016368}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706911} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706911} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706935} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706935} -{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706935} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706935} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706936} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706936} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706936} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706959} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706959} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706959} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706966} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741706966} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707130} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707131} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707131} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707133} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707141} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707148} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707148} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707149} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707179} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 17135, "completion_tokens": 720, "total_tokens": 17855, "cost": 0.062204999999999996, "total_cost": 0.062204999999999996}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707195} -{"event": "command_diff", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707213} -{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707240} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707240} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "ask", "prompt_tokens": 14550, "completion_tokens": 550, "total_tokens": 15100, "cost": 0.0519, "total_cost": 0.114105}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707258} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707279} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707279} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707318} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707318} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707318} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707322} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707327} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707327} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707327} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707365} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 17628, "completion_tokens": 11180, "total_tokens": 28808, "cost": 0.220584, "total_cost": 0.220584}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741707538} -{"event": "command_diff", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741708721} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709504} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709504} -{"event": "cli session", "properties": {"main_model": "gpt-4o", "weak_model": "gpt-4o-mini", "editor_model": "gpt-4o", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709504} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709505} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709512} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709512} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709517} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709517} -{"event": "cli session", "properties": {"main_model": "gpt-4o", "weak_model": "gpt-4o-mini", "editor_model": "gpt-4o", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709517} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741709537} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710186} -{"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710195} -{"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710195} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710206} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710224} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710225} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710226} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710227} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710228} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710229} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710229} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710229} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710229} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710229} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710229} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710229} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710263} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710263} -{"event": "exit", "properties": {"reason": "Exit flag set"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710263} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710263} -{"event": "model warning", "properties": {"main_model": "None", "weak_model": "None", "editor_model": "None"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710264} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710264} -{"event": "exit", "properties": {"reason": "Unknown edit format"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710264} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710289} -{"event": "gui session", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710289} -{"event": "exit", "properties": {"reason": "GUI session ended"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710289} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710303} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710303} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710303} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710332} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 8042, "completion_tokens": 317, "total_tokens": 8359, "cost": 0.028881000000000004, "total_cost": 0.028881000000000004}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710341} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710378} -{"event": "no-repo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710379} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710379} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 5042, "completion_tokens": 225, "total_tokens": 5267, "cost": 0.018501, "total_cost": 0.018501}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710387} -{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710387} -{"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741710388} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741711098} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717669} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717680} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717680} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717680} -{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717684} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717701} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717701} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717701} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717755} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 24542, "completion_tokens": 1116, "total_tokens": 25658, "cost": 0.090366, "total_cost": 0.090366}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717776} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717788} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717790} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717794} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717797} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 28816, "completion_tokens": 1133, "total_tokens": 29949, "cost": 0.103443, "total_cost": 0.193809}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717821} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717922} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717934} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 26222, "completion_tokens": 785, "total_tokens": 27007, "cost": 0.090441, "total_cost": 0.28425}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741717949} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718019} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718020} -{"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718025} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718090} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 26807, "completion_tokens": 347, "total_tokens": 27154, "cost": 0.08562600000000001, "total_cost": 0.369876}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718101} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718105} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 42991, "completion_tokens": 512, "total_tokens": 43503, "cost": 0.136653, "total_cost": 0.506529}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718121} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718135} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 43851, "completion_tokens": 361, "total_tokens": 44212, "cost": 0.136968, "total_cost": 0.643497}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718146} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718156} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718157} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718157} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718166} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 21091, "completion_tokens": 265, "total_tokens": 21356, "cost": 0.067248, "total_cost": 0.067248}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718174} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718183} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718183} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718187} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718188} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718188} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718204} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 44072, "completion_tokens": 619, "total_tokens": 44691, "cost": 0.141501, "total_cost": 0.784998}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718218} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718220} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718220} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718224} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718225} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718225} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718232} -{"event": "command_think-tokens", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718238} -{"event": "command_settings", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718241} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 44413, "completion_tokens": 554, "total_tokens": 44967, "cost": 0.141549, "total_cost": 0.926547}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718248} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718272} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718274} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718274} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 44629, "completion_tokens": 610, "total_tokens": 45239, "cost": 0.143037, "total_cost": 1.069584}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718289} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718293} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718294} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718294} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718295} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718295} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718299} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718299} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718299} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718300} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718300} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718305} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718306} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718306} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718356} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718362} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718362} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 44978, "completion_tokens": 1055, "total_tokens": 46033, "cost": 0.150759, "total_cost": 1.2203430000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718380} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718380} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718392} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718393} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718394} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 29317, "completion_tokens": 1271, "total_tokens": 30588, "cost": 0.107016, "total_cost": 1.3273590000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718420} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718422} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718422} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718422} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718426} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718426} -{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718429} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718452} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718452} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718452} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718460} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718460} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718462} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718463} -{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718463} -{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718466} -{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718466} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718473} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718477} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718486} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 25545, "completion_tokens": 836, "total_tokens": 26381, "cost": 0.089175, "total_cost": 1.4165340000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718503} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718512} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718514} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718536} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 30567, "completion_tokens": 914, "total_tokens": 31481, "cost": 0.105411, "total_cost": 1.521945}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718554} -{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718560} -{"event": "repo", "properties": {"num_files": 407}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718560} -{"event": "cli session", "properties": {"main_model": "o3-mini", "weak_model": "gpt-4o-mini", "editor_model": "gpt-4o", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718560} -{"event": "command_reasoning-effort", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718572} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718588} -{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718593} -{"event": "command_drop", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718596} -{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718599} -{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718601} -{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 25032, "completion_tokens": 955, "total_tokens": 25987, "cost": 0.089421, "total_cost": 1.611366}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718618} {"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718625} {"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718628} {"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 25645, "completion_tokens": 321, "total_tokens": 25966, "cost": 0.08175, "total_cost": 1.693116}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741718637} @@ -998,3 +583,418 @@ {"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741810310} {"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741810312} {"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741810328} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811035} +{"event": "repo", "properties": {"num_files": 408}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811035} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811035} +{"event": "command_editor", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811041} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811082} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7969, "completion_tokens": 860, "total_tokens": 8829, "cost": 0.036807, "total_cost": 0.036807}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811101} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811169} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811249} +{"event": "repo", "properties": {"num_files": 408}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811249} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811250} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811256} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811268} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 8072, "completion_tokens": 536, "total_tokens": 8608, "cost": 0.032256, "total_cost": 0.032256}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811278} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811341} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811876} +{"event": "repo", "properties": {"num_files": 408}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811876} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811876} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811879} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811888} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 14158, "completion_tokens": 1676, "total_tokens": 15834, "cost": 0.067614, "total_cost": 0.067614}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811919} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811926} +{"event": "repo", "properties": {"num_files": 408}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811926} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811926} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811933} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811973} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 16398, "completion_tokens": 300, "total_tokens": 16698, "cost": 0.053694000000000006, "total_cost": 0.121308}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811980} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741811998} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 19915, "completion_tokens": 714, "total_tokens": 20629, "cost": 0.070455, "total_cost": 0.19176300000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812013} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812030} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812047} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812051} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 23709, "completion_tokens": 801, "total_tokens": 24510, "cost": 0.083142, "total_cost": 0.274905}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812068} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812078} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 25755, "completion_tokens": 894, "total_tokens": 26649, "cost": 0.090675, "total_cost": 0.36558}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812098} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812110} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 27397, "completion_tokens": 1707, "total_tokens": 29104, "cost": 0.107796, "total_cost": 0.473376}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812144} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812306} +{"event": "repo", "properties": {"num_files": 408}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812307} +{"event": "exit", "properties": {"reason": "Completed lint/test/commit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812310} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812322} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812636} +{"event": "repo", "properties": {"num_files": 408}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812636} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812636} +{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812663} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812728} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 11784, "completion_tokens": 1600, "total_tokens": 13384, "cost": 0.059352, "total_cost": 0.059352}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812754} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812765} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 13447, "completion_tokens": 376, "total_tokens": 13823, "cost": 0.045981, "total_cost": 0.10533300000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812773} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812834} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 19473, "completion_tokens": 1892, "total_tokens": 21365, "cost": 0.086799, "total_cost": 0.19213200000000002}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812866} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812903} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 21589, "completion_tokens": 332, "total_tokens": 21921, "cost": 0.069747, "total_cost": 0.26187900000000003}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812910} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812931} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 21791, "completion_tokens": 605, "total_tokens": 22396, "cost": 0.074448, "total_cost": 0.33632700000000004}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741812943} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741813281} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741813735} +{"event": "repo", "properties": {"num_files": 409}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741813735} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741813736} +{"event": "command_editor", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741813749} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741813798} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 8285, "completion_tokens": 658, "total_tokens": 8943, "cost": 0.034725000000000006, "total_cost": 0.034725000000000006}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741813812} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741813831} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814242} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814242} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814242} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7288, "completion_tokens": 460, "total_tokens": 7748, "cost": 0.028764, "total_cost": 0.028764}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814253} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814256} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814258} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814258} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814258} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7328, "completion_tokens": 697, "total_tokens": 8025, "cost": 0.032439, "total_cost": 0.032439}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814272} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814274} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814276} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814276} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814276} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7335, "completion_tokens": 633, "total_tokens": 7968, "cost": 0.0315, "total_cost": 0.0315}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814290} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814292} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814293} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814294} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814294} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 8144, "completion_tokens": 1241, "total_tokens": 9385, "cost": 0.043047, "total_cost": 0.043047}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814317} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814320} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814322} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814322} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814322} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7898, "completion_tokens": 1138, "total_tokens": 9036, "cost": 0.040764, "total_cost": 0.040764}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814343} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814346} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814348} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814348} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814348} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 8002, "completion_tokens": 1811, "total_tokens": 9813, "cost": 0.051171, "total_cost": 0.051171}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814376} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814378} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814380} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814380} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814380} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7462, "completion_tokens": 2504, "total_tokens": 9966, "cost": 0.059946, "total_cost": 0.059946}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814420} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814423} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814425} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814425} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814425} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7023, "completion_tokens": 423, "total_tokens": 7446, "cost": 0.027414, "total_cost": 0.027414}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814436} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814439} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814441} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814441} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814442} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7718, "completion_tokens": 1195, "total_tokens": 8913, "cost": 0.041079000000000004, "total_cost": 0.041079000000000004}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814462} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814465} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814467} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814467} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814467} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7163, "completion_tokens": 1201, "total_tokens": 8364, "cost": 0.039504, "total_cost": 0.039504}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814489} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814495} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814498} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814498} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814498} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7532, "completion_tokens": 1867, "total_tokens": 9399, "cost": 0.05060100000000001, "total_cost": 0.05060100000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814529} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814536} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814538} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814539} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814539} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7150, "completion_tokens": 1286, "total_tokens": 8436, "cost": 0.04074, "total_cost": 0.04074}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814563} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814569} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814571} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814571} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814571} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7107, "completion_tokens": 970, "total_tokens": 8077, "cost": 0.035871, "total_cost": 0.035871}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814589} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814593} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814595} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814595} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814595} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7441, "completion_tokens": 997, "total_tokens": 8438, "cost": 0.037278, "total_cost": 0.037278}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814613} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814625} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814627} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814627} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814627} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7400, "completion_tokens": 1472, "total_tokens": 8872, "cost": 0.04428, "total_cost": 0.04428}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814652} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814655} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814657} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814657} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814657} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 6996, "completion_tokens": 438, "total_tokens": 7434, "cost": 0.027558, "total_cost": 0.027558}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814669} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814672} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814674} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814674} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814674} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 6951, "completion_tokens": 759, "total_tokens": 7710, "cost": 0.032238, "total_cost": 0.032238}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814689} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814693} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814695} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814696} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814696} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7088, "completion_tokens": 656, "total_tokens": 7744, "cost": 0.031104, "total_cost": 0.031104}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814709} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814712} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814714} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814714} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814714} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7050, "completion_tokens": 566, "total_tokens": 7616, "cost": 0.029640000000000003, "total_cost": 0.029640000000000003}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814727} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814730} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814733} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814733} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814733} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7565, "completion_tokens": 1269, "total_tokens": 8834, "cost": 0.04173, "total_cost": 0.04173}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814754} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814757} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814760} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814760} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814761} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 8048, "completion_tokens": 1897, "total_tokens": 9945, "cost": 0.05259900000000001, "total_cost": 0.05259900000000001}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814790} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814792} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814795} +{"event": "repo", "properties": {"num_files": 433}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814795} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814795} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7247, "completion_tokens": 1487, "total_tokens": 8734, "cost": 0.044046, "total_cost": 0.044046}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814822} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814824} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814825} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814826} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814826} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 7485, "completion_tokens": 1019, "total_tokens": 8504, "cost": 0.037739999999999996, "total_cost": 0.037739999999999996}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814845} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814849} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814851} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814851} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814851} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 6976, "completion_tokens": 717, "total_tokens": 7693, "cost": 0.031683, "total_cost": 0.031683}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814865} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741814870} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815386} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815386} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815420} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815420} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815420} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815429} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815430} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815430} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815438} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815438} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815451} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815452} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815452} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10602, "completion_tokens": 974, "total_tokens": 11576, "cost": 0.046416, "total_cost": 0.046416}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815471} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815498} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815498} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815498} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10614, "completion_tokens": 754, "total_tokens": 11368, "cost": 0.043152, "total_cost": 0.043152}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815515} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815541} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815543} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815544} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815544} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10582, "completion_tokens": 1000, "total_tokens": 11582, "cost": 0.046746, "total_cost": 0.046746}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815564} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815607} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815609} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815610} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815611} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10583, "completion_tokens": 1431, "total_tokens": 12014, "cost": 0.053214, "total_cost": 0.053214}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815637} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815692} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815692} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815692} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815720} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815720} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815720} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815724} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815735} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815748} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815754} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 15912, "completion_tokens": 518, "total_tokens": 16430, "cost": 0.055506, "total_cost": 0.055506}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815760} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741815845} +{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816044} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816062} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816075} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816075} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "ask", "prompt_tokens": 13267, "completion_tokens": 725, "total_tokens": 13992, "cost": 0.050676000000000006, "total_cost": 0.106182}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816090} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816820} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816820} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816820} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10621, "completion_tokens": 847, "total_tokens": 11468, "cost": 0.044568, "total_cost": 0.044568}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816840} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816850} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816853} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816853} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816853} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816862} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816878} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816878} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816878} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10648, "completion_tokens": 1032, "total_tokens": 11680, "cost": 0.047424, "total_cost": 0.047424}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816899} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816899} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816900} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816901} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816901} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10675, "completion_tokens": 736, "total_tokens": 11411, "cost": 0.043065, "total_cost": 0.043065}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816917} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816917} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816919} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816919} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816919} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816926} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10655, "completion_tokens": 1393, "total_tokens": 12048, "cost": 0.052860000000000004, "total_cost": 0.052860000000000004}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816947} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816947} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816948} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816949} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816949} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10656, "completion_tokens": 845, "total_tokens": 11501, "cost": 0.044643, "total_cost": 0.044643}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741816967} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817006} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817008} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817008} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817008} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10725, "completion_tokens": 1312, "total_tokens": 12037, "cost": 0.051855, "total_cost": 0.051855}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817034} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817049} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817051} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817051} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817051} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10695, "completion_tokens": 515, "total_tokens": 11210, "cost": 0.039810000000000005, "total_cost": 0.039810000000000005}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817064} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817080} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817081} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817082} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817082} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10694, "completion_tokens": 826, "total_tokens": 11520, "cost": 0.044472, "total_cost": 0.044472}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817100} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817133} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817134} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817135} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817135} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10711, "completion_tokens": 1464, "total_tokens": 12175, "cost": 0.054093, "total_cost": 0.054093}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817161} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817205} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817207} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817207} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817207} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10762, "completion_tokens": 450, "total_tokens": 11212, "cost": 0.039036, "total_cost": 0.039036}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817220} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817238} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817240} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817240} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817240} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10725, "completion_tokens": 856, "total_tokens": 11581, "cost": 0.045015, "total_cost": 0.045015}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817260} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817260} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817262} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817262} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817262} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10744, "completion_tokens": 930, "total_tokens": 11674, "cost": 0.046182, "total_cost": 0.046182}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817282} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817330} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817332} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817332} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817333} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10731, "completion_tokens": 1284, "total_tokens": 12015, "cost": 0.051453, "total_cost": 0.051453}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817358} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817392} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817394} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817394} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817394} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10777, "completion_tokens": 719, "total_tokens": 11496, "cost": 0.043116, "total_cost": 0.043116}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817410} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817410} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817412} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817412} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817412} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 9983, "completion_tokens": 946, "total_tokens": 10929, "cost": 0.044139, "total_cost": 0.044139}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817432} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817432} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817433} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817434} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817434} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10808, "completion_tokens": 446, "total_tokens": 11254, "cost": 0.039114, "total_cost": 0.039114}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817446} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817446} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817448} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817448} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817448} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10803, "completion_tokens": 1211, "total_tokens": 12014, "cost": 0.050574, "total_cost": 0.050574}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817471} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817500} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817502} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817502} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817502} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10788, "completion_tokens": 1100, "total_tokens": 11888, "cost": 0.048864000000000005, "total_cost": 0.048864000000000005}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817524} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817588} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817591} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817591} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817591} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10867, "completion_tokens": 671, "total_tokens": 11538, "cost": 0.042665999999999996, "total_cost": 0.042665999999999996}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817609} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817655} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817657} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817657} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817657} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10894, "completion_tokens": 659, "total_tokens": 11553, "cost": 0.042567, "total_cost": 0.042567}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817674} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817674} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817676} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817676} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817676} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "anthropic/claude-3-5-haiku-20241022", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10863, "completion_tokens": 617, "total_tokens": 11480, "cost": 0.041844, "total_cost": 0.041844}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817692} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817774} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817776} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817776} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817776} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10913, "completion_tokens": 667, "total_tokens": 11580, "cost": 0.042744000000000004, "total_cost": 0.042744000000000004}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817791} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817935} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817937} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817939} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817939} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10904, "completion_tokens": 426, "total_tokens": 11330, "cost": 0.039102, "total_cost": 0.039102}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817951} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817951} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817953} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817954} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817954} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10904, "completion_tokens": 441, "total_tokens": 11345, "cost": 0.039327, "total_cost": 0.039327}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817965} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817965} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817967} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817968} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817968} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10918, "completion_tokens": 795, "total_tokens": 11713, "cost": 0.044678999999999996, "total_cost": 0.044678999999999996}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741817985} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818110} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818112} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818113} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818113} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 11716, "completion_tokens": 925, "total_tokens": 12641, "cost": 0.049023, "total_cost": 0.049023}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818133} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818143} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818145} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818145} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818145} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10960, "completion_tokens": 763, "total_tokens": 11723, "cost": 0.044325, "total_cost": 0.044325}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818162} +{"event": "exit", "properties": {"reason": "Completed --message"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818181} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818228} +{"event": "repo", "properties": {"num_files": 434}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818228} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818228} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818233} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818245} +{"event": "command_run", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818254} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818264} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818296} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 18860, "completion_tokens": 652, "total_tokens": 19512, "cost": 0.06636, "total_cost": 0.06636}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818309} +{"event": "command_undo", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818374} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818394} +{"event": "command_clear", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818400} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818413} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818413} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "ask", "prompt_tokens": 7434, "completion_tokens": 853, "total_tokens": 8287, "cost": 0.035097, "total_cost": 0.101457}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818431} +{"event": "command_ask", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818449} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818457} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "ask", "prompt_tokens": 8542, "completion_tokens": 727, "total_tokens": 9269, "cost": 0.036531, "total_cost": 0.137988}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818472} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818512} +{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818517} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818523} +{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818527} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818528} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "ask", "prompt_tokens": 9020, "completion_tokens": 1031, "total_tokens": 10051, "cost": 0.042525, "total_cost": 0.180513}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818546} +{"event": "command_add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818578} +{"event": "command_code", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818602} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818602} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 11691, "completion_tokens": 863, "total_tokens": 12554, "cost": 0.048018, "total_cost": 0.228531}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818621} +{"event": "command_code", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818649} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818649} +{"event": "command_read-only", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818667} +{"event": "command_exit", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818695} +{"event": "exit", "properties": {"reason": "/exit"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818695} +{"event": "launched", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818698} +{"event": "repo", "properties": {"num_files": 475}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818698} +{"event": "cli session", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818698} +{"event": "ai-comments file-add", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818710} +{"event": "ai-comments execute", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818710} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818710} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 10666, "completion_tokens": 1111, "total_tokens": 11777, "cost": 0.048663, "total_cost": 0.048663}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818731} +{"event": "ai-comments execute", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818825} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818825} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 11824, "completion_tokens": 2399, "total_tokens": 14223, "cost": 0.071457, "total_cost": 0.12012}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818861} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818929} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 14427, "completion_tokens": 2745, "total_tokens": 17172, "cost": 0.084456, "total_cost": 0.204576}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741818970} +{"event": "message_send_starting", "properties": {}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741819034} +{"event": "message_send", "properties": {"main_model": "anthropic/claude-3-7-sonnet-20250219", "weak_model": "fireworks_ai/accounts/fireworks/models/deepseek-v3", "editor_model": "anthropic/claude-3-7-sonnet-20250219", "edit_format": "diff", "prompt_tokens": 17021, "completion_tokens": 3291, "total_tokens": 20312, "cost": 0.100428, "total_cost": 0.305004}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741819085} +{"event": "exit", "properties": {"reason": "Control-C"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1741819102} diff --git a/aider/website/docs/faq.md b/aider/website/docs/faq.md index 486e2935f..4caaed21f 100644 --- a/aider/website/docs/faq.md +++ b/aider/website/docs/faq.md @@ -249,10 +249,8 @@ tr:hover { background-color: #f5f5f5; } - - - - + +
Model NameTotal TokensPercent
anthropic/claude-3-7-sonnet-202502191,586,30095.4%
openrouter/anthropic/claude-3.7-sonnet36,3572.2%
o3-mini32,7282.0%
gpt-4o8,0920.5%
anthropic/claude-3-7-sonnet-202502191,932,56698.2%
openrouter/anthropic/claude-3.7-sonnet36,3571.8%
diff --git a/aider/website/docs/languages.md b/aider/website/docs/languages.md index 731a7c7d5..216a3fc90 100644 --- a/aider/website/docs/languages.md +++ b/aider/website/docs/languages.md @@ -55,55 +55,208 @@ cog.out(get_supported_languages_md()) | Language | File extension | Repo map | Linter | |:--------:|:--------------:|:--------:|:------:| +| actionscript | .as | | ✓ | +| ada | .adb | | ✓ | +| ada | .ads | | ✓ | +| agda | .agda | | ✓ | +| arduino | .ino | ✓ | ✓ | +| asm | .asm | | ✓ | +| asm | .s | | ✓ | +| astro | .astro | | ✓ | | bash | .bash | | ✓ | +| bash | .sh | | ✓ | +| bash | .zsh | | ✓ | +| beancount | .bean | | ✓ | +| bibtex | .bib | | ✓ | +| bicep | .bicep | | ✓ | +| bitbake | .bb | | ✓ | +| bitbake | .bbappend | | ✓ | +| bitbake | .bbclass | | ✓ | | c | .c | ✓ | ✓ | -| commonlisp | .cl | | ✓ | +| c | .h | ✓ | ✓ | +| cairo | .cairo | | ✓ | +| capnp | .capnp | | ✓ | +| chatito | .chatito | ✓ | ✓ | +| clarity | .clar | | ✓ | +| clojure | .clj | | ✓ | +| clojure | .cljc | | ✓ | +| clojure | .cljs | | ✓ | +| clojure | .edn | | ✓ | +| cmake | .cmake | | ✓ | +| cmake | CMakeLists.txt | | ✓ | +| commonlisp | .cl | ✓ | ✓ | +| commonlisp | .lisp | ✓ | ✓ | +| cpon | .cpon | | ✓ | | cpp | .cc | ✓ | ✓ | | cpp | .cpp | ✓ | ✓ | +| cpp | .cxx | ✓ | ✓ | +| cpp | .h++ | ✓ | ✓ | +| cpp | .hpp | ✓ | ✓ | +| cpp | .hxx | ✓ | ✓ | | csharp | .cs | ✓ | ✓ | | css | .css | | ✓ | -| dockerfile | .dockerfile | | ✓ | -| dot | .dot | | ✓ | +| csv | .csv | | ✓ | +| cuda | .cu | | ✓ | +| cuda | .cuh | | ✓ | +| d | .d | ✓ | ✓ | +| dart | .dart | ✓ | ✓ | +| dockerfile | Dockerfile | | ✓ | +| dtd | .dtd | | ✓ | | elisp | .el | ✓ | ✓ | | elixir | .ex | ✓ | ✓ | +| elixir | .exs | ✓ | ✓ | | elm | .elm | ✓ | ✓ | -| embedded_template | .et | | ✓ | | erlang | .erl | | ✓ | +| erlang | .hrl | | ✓ | +| fennel | .fnl | | ✓ | +| firrtl | .fir | | ✓ | +| fish | .fish | | ✓ | +| fortran | .f | | ✓ | +| fortran | .f03 | | ✓ | +| fortran | .f08 | | ✓ | +| fortran | .f90 | | ✓ | +| fortran | .f95 | | ✓ | +| func | .fc | | ✓ | +| gdscript | .gd | | ✓ | +| gitattributes | .gitattributes | | ✓ | +| gitcommit | .gitcommit | | ✓ | +| gitignore | .gitignore | | ✓ | +| gleam | .gleam | ✓ | ✓ | +| glsl | .frag | | ✓ | +| glsl | .glsl | | ✓ | +| glsl | .vert | | ✓ | +| gn | .gn | | ✓ | +| gn | .gni | | ✓ | | go | .go | ✓ | ✓ | -| gomod | .gomod | | ✓ | +| gomod | go.mod | | ✓ | +| gosum | go.sum | | ✓ | +| groovy | .groovy | | ✓ | +| gstlaunch | .launch | | ✓ | | hack | .hack | | ✓ | +| hare | .ha | | ✓ | | haskell | .hs | | ✓ | +| haxe | .hx | | ✓ | | hcl | .hcl | ✓ | ✓ | | hcl | .tf | ✓ | ✓ | +| hcl | .tfvars | ✓ | ✓ | +| heex | .heex | | ✓ | +| hlsl | .hlsl | | ✓ | +| html | .htm | | ✓ | | html | .html | | ✓ | +| hyprlang | .hypr | | ✓ | +| ispc | .ispc | | ✓ | +| janet | .janet | | ✓ | | java | .java | ✓ | ✓ | | javascript | .js | ✓ | ✓ | +| javascript | .jsx | ✓ | ✓ | | javascript | .mjs | ✓ | ✓ | | jsdoc | .jsdoc | | ✓ | | json | .json | | ✓ | +| jsonnet | .jsonnet | | ✓ | +| jsonnet | .libsonnet | | ✓ | | julia | .jl | | ✓ | +| kconfig | Kconfig | | ✓ | +| kdl | .kdl | | ✓ | | kotlin | .kt | ✓ | ✓ | -| lua | .lua | | ✓ | +| kotlin | .kts | ✓ | ✓ | +| latex | .cls | | ✓ | +| latex | .sty | | ✓ | +| latex | .tex | | ✓ | +| linkerscript | .ld | | ✓ | +| llvm | .ll | | ✓ | +| lua | .lua | ✓ | ✓ | +| luadoc | .luadoc | | ✓ | +| luap | .luap | | ✓ | +| luau | .luau | | ✓ | +| magik | .magik | | ✓ | | make | .mk | | ✓ | +| make | Makefile | | ✓ | +| markdown | .markdown | | ✓ | | markdown | .md | | ✓ | -| objc | .m | | ✓ | +| matlab | .m | | ✓ | +| matlab | .mat | | ✓ | +| mermaid | .mermaid | | ✓ | +| meson | meson.build | | ✓ | +| ninja | .ninja | | ✓ | +| nix | .nix | | ✓ | +| nqc | .nqc | | ✓ | +| objc | .mm | | ✓ | +| odin | .odin | | ✓ | +| org | .org | | ✓ | +| pascal | .pas | | ✓ | +| pascal | .pp | | ✓ | +| pem | .pem | | ✓ | | perl | .pl | | ✓ | +| perl | .pm | | ✓ | +| pgn | .pgn | | ✓ | | php | .php | ✓ | ✓ | +| po | .po | | ✓ | +| po | .pot | | ✓ | +| pony | .pony | ✓ | ✓ | +| powershell | .ps1 | | ✓ | +| powershell | .psm1 | | ✓ | +| printf | .printf | | ✓ | +| prisma | .prisma | | ✓ | +| properties | .properties | ✓ | ✓ | +| proto | .proto | | ✓ | +| psv | .psv | | ✓ | +| purescript | .purs | | ✓ | +| pymanifest | MANIFEST.in | | ✓ | | python | .py | ✓ | ✓ | -| r | .R | | ✓ | -| r | .r | | ✓ | -| regex | .regex | | ✓ | +| qmldir | qmldir | | ✓ | +| qmljs | .qml | | ✓ | +| r | .R | ✓ | ✓ | +| r | .r | ✓ | ✓ | +| racket | .rkt | ✓ | ✓ | +| re2c | .re2c | | ✓ | +| readline | .inputrc | | ✓ | +| requirements | requirements.txt | | ✓ | +| ron | .ron | | ✓ | | rst | .rst | | ✓ | | ruby | .rb | ✓ | ✓ | | rust | .rs | ✓ | ✓ | +| scala | .sc | | ✓ | | scala | .scala | | ✓ | +| scheme | .scm | | ✓ | +| scheme | .ss | | ✓ | +| scss | .scss | | ✓ | +| smali | .smali | | ✓ | +| smithy | .smithy | | ✓ | +| solidity | .sol | ✓ | ✓ | +| sparql | .rq | | ✓ | | sql | .sql | | ✓ | -| sqlite | .sqlite | | ✓ | +| squirrel | .nut | | ✓ | +| starlark | .bzl | | ✓ | +| starlark | BUILD | | ✓ | +| starlark | WORKSPACE | | ✓ | +| svelte | .svelte | | ✓ | +| swift | .swift | ✓ | ✓ | +| tablegen | .td | | ✓ | +| tcl | .tcl | | ✓ | +| thrift | .thrift | | ✓ | | toml | .toml | | ✓ | -| tsq | .tsq | | ✓ | +| tsv | .tsv | | ✓ | +| twig | .twig | | ✓ | | typescript | .ts | ✓ | ✓ | | typescript | .tsx | ✓ | ✓ | -| yaml | .yaml | | ✓ | +| typst | .typ | | ✓ | +| udev | .rules | ✓ | ✓ | +| ungrammar | .ungram | | ✓ | +| uxntal | .tal | | ✓ | +| verilog | .sv | | ✓ | +| verilog | .v | | ✓ | +| vhdl | .vhd | | ✓ | +| vhdl | .vhdl | | ✓ | +| vim | .vim | | ✓ | +| vim | .vimrc | | ✓ | +| vue | .vue | | ✓ | +| wgsl | .wgsl | | ✓ | +| xcompose | .XCompose | | ✓ | +| xml | .svg | | ✓ | +| xml | .xml | | ✓ | +| xml | .xsl | | ✓ | +| yuck | .yuck | | ✓ | +| zig | .zig | | ✓ | From c3c2d4dc22c5130fa39cfc3d5691172d65d73ff3 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 12 Mar 2025 15:57:21 -0700 Subject: [PATCH 68/68] bump deps --- requirements.txt | 12 ++++++------ requirements/common-constraints.txt | 18 +++++++++--------- requirements/requirements-browser.txt | 4 ++-- requirements/requirements-dev.txt | 2 +- requirements/requirements-help.txt | 8 ++++---- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/requirements.txt b/requirements.txt index 346a3c051..c31e5fbaa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ # This file was autogenerated by uv via the following command: # uv pip compile --no-strip-extras --constraint=requirements/common-constraints.txt --output-file=tmp.requirements.txt requirements/requirements.in -aiohappyeyeballs==2.5.0 +aiohappyeyeballs==2.6.1 # via # -c requirements/common-constraints.txt # aiohttp @@ -22,7 +22,7 @@ anyio==4.8.0 # httpx # openai # watchfiles -attrs==25.1.0 +attrs==25.2.0 # via # -c requirements/common-constraints.txt # aiohttp @@ -98,7 +98,7 @@ gitpython==3.1.44 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in -grep-ast==0.7.2 +grep-ast==0.8.1 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -115,7 +115,7 @@ httpx==0.28.1 # -c requirements/common-constraints.txt # litellm # openai -huggingface-hub==0.29.2 +huggingface-hub==0.29.3 # via # -c requirements/common-constraints.txt # tokenizers @@ -156,7 +156,7 @@ jsonschema-specifications==2024.10.1 # via # -c requirements/common-constraints.txt # jsonschema -litellm==1.63.5 +litellm==1.63.7 # via # -c requirements/common-constraints.txt # -r requirements/requirements.in @@ -198,7 +198,7 @@ numpy==1.26.4 # -c requirements/common-constraints.txt # scipy # soundfile -openai==1.65.5 +openai==1.66.3 # via # -c requirements/common-constraints.txt # litellm diff --git a/requirements/common-constraints.txt b/requirements/common-constraints.txt index de0e9a1c9..059cd8e50 100644 --- a/requirements/common-constraints.txt +++ b/requirements/common-constraints.txt @@ -1,6 +1,6 @@ # This file was autogenerated by uv via the following command: # uv pip compile --no-strip-extras --output-file=requirements/common-constraints.txt requirements/requirements.in requirements/requirements-browser.in requirements/requirements-dev.in requirements/requirements-help.in requirements/requirements-playwright.in -aiohappyeyeballs==2.5.0 +aiohappyeyeballs==2.6.1 # via aiohttp aiohttp==3.11.13 # via @@ -18,7 +18,7 @@ anyio==4.8.0 # httpx # openai # watchfiles -attrs==25.1.0 +attrs==25.2.0 # via # aiohttp # jsonschema @@ -116,7 +116,7 @@ greenlet==3.1.1 # via # playwright # sqlalchemy -grep-ast==0.7.2 +grep-ast==0.8.1 # via -r requirements/requirements.in h11==0.14.0 # via httpcore @@ -127,7 +127,7 @@ httpx==0.28.1 # litellm # llama-index-core # openai -huggingface-hub[inference]==0.29.2 +huggingface-hub[inference]==0.29.3 # via # llama-index-embeddings-huggingface # sentence-transformers @@ -174,7 +174,7 @@ jsonschema-specifications==2024.10.1 # via jsonschema kiwisolver==1.4.8 # via matplotlib -litellm==1.63.5 +litellm==1.63.7 # via -r requirements/requirements.in llama-index-core==0.12.23.post2 # via @@ -236,7 +236,7 @@ numpy==1.26.4 # soundfile # streamlit # transformers -openai==1.65.5 +openai==1.66.3 # via litellm packaging==24.2 # via @@ -417,9 +417,9 @@ soundfile==0.13.1 # via -r requirements/requirements.in soupsieve==2.6 # via beautifulsoup4 -sqlalchemy[asyncio]==2.0.38 +sqlalchemy[asyncio]==2.0.39 # via llama-index-core -streamlit==1.43.1 +streamlit==1.43.2 # via -r requirements/requirements-browser.in sympy==1.13.3 # via torch @@ -494,7 +494,7 @@ urllib3==2.3.0 # via # mixpanel # requests -uv==0.6.5 +uv==0.6.6 # via -r requirements/requirements-dev.in virtualenv==20.29.3 # via pre-commit diff --git a/requirements/requirements-browser.txt b/requirements/requirements-browser.txt index d464470d8..bf3348008 100644 --- a/requirements/requirements-browser.txt +++ b/requirements/requirements-browser.txt @@ -4,7 +4,7 @@ altair==5.5.0 # via # -c requirements/common-constraints.txt # streamlit -attrs==25.1.0 +attrs==25.2.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.43.1 +streamlit==1.43.2 # via # -c requirements/common-constraints.txt # -r requirements/requirements-browser.in diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 3542cc57a..383c3bd4d 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -205,7 +205,7 @@ tzdata==2025.1 # via # -c requirements/common-constraints.txt # pandas -uv==0.6.5 +uv==0.6.6 # via # -c requirements/common-constraints.txt # -r requirements/requirements-dev.in diff --git a/requirements/requirements-help.txt b/requirements/requirements-help.txt index 54e767132..bf8a4320f 100644 --- a/requirements/requirements-help.txt +++ b/requirements/requirements-help.txt @@ -1,6 +1,6 @@ # This file was autogenerated by uv via the following command: # uv pip compile --no-strip-extras --constraint=requirements/common-constraints.txt --output-file=requirements/requirements-help.txt requirements/requirements-help.in -aiohappyeyeballs==2.5.0 +aiohappyeyeballs==2.6.1 # via # -c requirements/common-constraints.txt # aiohttp @@ -21,7 +21,7 @@ anyio==4.8.0 # via # -c requirements/common-constraints.txt # httpx -attrs==25.1.0 +attrs==25.2.0 # via # -c requirements/common-constraints.txt # aiohttp @@ -88,7 +88,7 @@ httpx==0.28.1 # via # -c requirements/common-constraints.txt # llama-index-core -huggingface-hub[inference]==0.29.2 +huggingface-hub[inference]==0.29.3 # via # -c requirements/common-constraints.txt # llama-index-embeddings-huggingface @@ -226,7 +226,7 @@ sniffio==1.3.1 # via # -c requirements/common-constraints.txt # anyio -sqlalchemy[asyncio]==2.0.38 +sqlalchemy[asyncio]==2.0.39 # via # -c requirements/common-constraints.txt # llama-index-core