From 3efcd154f3c2ac8ed37147997d07bab215987204 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 7 Dec 2024 10:55:18 -0800 Subject: [PATCH] refactor: consolidate API key and environment variable handling --- aider/args.py | 14 -- aider/main.py | 103 +++++----- aider/website/assets/sample-analytics.jsonl | 216 ++++++++++---------- aider/website/assets/sample.aider.conf.yml | 16 ++ aider/website/assets/sample.env | 20 +- aider/website/docs/config/aider_conf.md | 16 ++ aider/website/docs/config/dotenv.md | 20 +- aider/website/docs/config/options.md | 42 ++-- 8 files changed, 239 insertions(+), 208 deletions(-) diff --git a/aider/args.py b/aider/args.py index f4eb09ff9..e2aaceeb6 100644 --- a/aider/args.py +++ b/aider/args.py @@ -34,14 +34,10 @@ def get_parser(default_config_files, git_root): ) group.add_argument( "--openai-api-key", - metavar="OPENAI_API_KEY", - env_var="OPENAI_API_KEY", help="Specify the OpenAI API key", ) group.add_argument( "--anthropic-api-key", - metavar="ANTHROPIC_API_KEY", - env_var="ANTHROPIC_API_KEY", help="Specify the Anthropic API key", ) group.add_argument( @@ -153,32 +149,22 @@ def get_parser(default_config_files, git_root): ) group.add_argument( "--openai-api-base", - metavar="OPENAI_API_BASE", - env_var="OPENAI_API_BASE", help="Specify the api base url", ) group.add_argument( "--openai-api-type", - metavar="OPENAI_API_TYPE", - env_var="OPENAI_API_TYPE", help="Specify the api_type", ) group.add_argument( "--openai-api-version", - metavar="OPENAI_API_VERSION", - env_var="OPENAI_API_VERSION", help="Specify the api_version", ) group.add_argument( "--openai-api-deployment-id", - metavar="OPENAI_API_DEPLOYMENT_ID", - env_var="OPENAI_API_DEPLOYMENT_ID", help="Specify the deployment_id", ) group.add_argument( "--openai-organization-id", - metavar="OPENAI_ORGANIZATION_ID", - env_var="OPENAI_ORGANIZATION_ID", help="Specify the OpenAI organization ID", ) group.add_argument( diff --git a/aider/main.py b/aider/main.py index 7bd749b19..5f153f0c2 100644 --- a/aider/main.py +++ b/aider/main.py @@ -456,65 +456,9 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F # Load the .env file specified in the arguments loaded_dotenvs = load_dotenv_files(git_root, args.env_file, args.encoding) - dump(os.environ.get("ANTHROPIC_API_KEY")) - # Parse again to include any arguments that might have been defined in .env args = parser.parse_args(argv) - dump(os.environ.get("ANTHROPIC_API_KEY")) - - # Process any environment variables set via --set-env - if args.set_env: - for env_setting in args.set_env: - try: - name, value = env_setting.split("=", 1) - os.environ[name.strip()] = value.strip() - except ValueError: - io.tool_error(f"Invalid --set-env format: {env_setting}") - io.tool_output("Format should be: ENV_VAR_NAME=value") - return 1 - - # Process any API keys set via --api-key - if args.api_key: - for api_setting in args.api_key: - try: - provider, key = api_setting.split("=", 1) - env_var = f"{provider.strip().upper()}_API_KEY" - os.environ[env_var] = key.strip() - dump(env_var) - except ValueError: - io.tool_error(f"Invalid --api-key format: {api_setting}") - io.tool_output("Format should be: provider=key") - return 1 - - dump(os.environ.get("ANTHROPIC_API_KEY")) - - if args.anthropic_api_key: - io.tool_warning("--anthropic-api-key is deprecated, use --api-key anthropic=") - os.environ["ANTHROPIC_API_KEY"] = args.anthropic_api_key - - if args.openai_api_key: - io.tool_warning("--openai-api-key is deprecated, use --api-key openai=") - os.environ["OPENAI_API_KEY"] = args.openai_api_key - if args.openai_api_base: - io.tool_warning("--openai-api-base is deprecated, use --set-env OPENAI_API_BASE=") - os.environ["OPENAI_API_BASE"] = args.openai_api_base - if args.openai_api_version: - io.tool_warning( - "--openai-api-version is deprecated, use --set-env OPENAI_API_VERSION=" - ) - os.environ["OPENAI_API_VERSION"] = args.openai_api_version - if args.openai_api_type: - io.tool_warning("--openai-api-type is deprecated, use --set-env OPENAI_API_TYPE=") - os.environ["OPENAI_API_TYPE"] = args.openai_api_type - if args.openai_organization_id: - io.tool_warning( - "--openai-organization-id is deprecated, use --set-env OPENAI_ORGANIZATION=" - ) - os.environ["OPENAI_ORGANIZATION"] = args.openai_organization_id - - dump(os.environ.get("ANTHROPIC_API_KEY")) - if args.analytics_disable: analytics = Analytics(permanently_disable=True) print("Analytics have been permanently disabled.") @@ -584,6 +528,53 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F io = get_io(False) io.tool_warning("Terminal does not support pretty output (UnicodeDecodeError)") + # Process any environment variables set via --set-env + if args.set_env: + for env_setting in args.set_env: + try: + name, value = env_setting.split("=", 1) + os.environ[name.strip()] = value.strip() + except ValueError: + io.tool_error(f"Invalid --set-env format: {env_setting}") + io.tool_output("Format should be: ENV_VAR_NAME=value") + return 1 + + # Process any API keys set via --api-key + if args.api_key: + for api_setting in args.api_key: + try: + provider, key = api_setting.split("=", 1) + env_var = f"{provider.strip().upper()}_API_KEY" + os.environ[env_var] = key.strip() + except ValueError: + io.tool_error(f"Invalid --api-key format: {api_setting}") + io.tool_output("Format should be: provider=key") + return 1 + + if args.anthropic_api_key: + os.environ["ANTHROPIC_API_KEY"] = args.anthropic_api_key + + if args.openai_api_key: + os.environ["OPENAI_API_KEY"] = args.openai_api_key + if args.openai_api_base: + os.environ["OPENAI_API_BASE"] = args.openai_api_base + if args.openai_api_version: + io.tool_warning( + "--openai-api-version will be deprecated soon, use --set-env OPENAI_API_VERSION=" + ) + os.environ["OPENAI_API_VERSION"] = args.openai_api_version + if args.openai_api_type: + io.tool_warning( + "--openai-api-type will be deprecated soon, use --set-env OPENAI_API_TYPE=" + ) + os.environ["OPENAI_API_TYPE"] = args.openai_api_type + if args.openai_organization_id: + io.tool_warning( + "--openai-organization-id will be deprecated soon, use --set-env" + " OPENAI_ORGANIZATION=" + ) + os.environ["OPENAI_ORGANIZATION"] = args.openai_organization_id + analytics = Analytics(logfile=args.analytics_log, permanently_disable=args.analytics_disable) if args.analytics is not False: if analytics.need_to_ask(args.analytics): diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index 2a81f63b6..2299f5baa 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,111 +1,3 @@ -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363058} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363063} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363063} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363063} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363067} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363067} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363067} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363075} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363075} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363075} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363078} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363078} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363079} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363082} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363082} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363082} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363096} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363096} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363096} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363098} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363098} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363098} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363100} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363100} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363100} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363103} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363103} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363103} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363114} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363115} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363115} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363117} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363118} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363118} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363162} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363162} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363162} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363164} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363164} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363164} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363166} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363166} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363166} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363179} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363180} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733363180} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733364617} -{"event": "no-repo", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733364617} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733364617} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733364646} -{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 2405, "completion_tokens": 179, "total_tokens": 2584, "cost": 0.009899999999999999, "total_cost": 0.009899999999999999, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733364650} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733364650} -{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 2777, "completion_tokens": 153, "total_tokens": 2930, "cost": 0.010626, "total_cost": 0.020526, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733364654} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733370787} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733370788} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733370788} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733370951} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733370951} -{"event": "exit", "properties": {"reason": "Completed lint/test/commit", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733370956} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733371247} -{"event": "gui session", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733371248} -{"event": "exit", "properties": {"reason": "GUI session ended", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733371248} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733409990} -{"event": "no-repo", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733409990} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733409990} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410007} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410008} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410008} -{"event": "command_add", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410018} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410038} -{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 4752, "completion_tokens": 229, "total_tokens": 4981, "cost": 0.017691, "total_cost": 0.017691, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410047} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410071} -{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 7091, "completion_tokens": 151, "total_tokens": 7242, "cost": 0.023538, "total_cost": 0.041229, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410076} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410132} -{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 4868, "completion_tokens": 601, "total_tokens": 5469, "cost": 0.023619, "total_cost": 0.064848, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410148} -{"event": "command_diff", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410158} -{"event": "command_undo", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410164} -{"event": "command_undo", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410166} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410217} -{"event": "model warning", "properties": {"main_model": "github/REDACTED", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "github/REDACTED", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410218} -{"event": "exit", "properties": {"reason": "Keyboard interrupt during model warnings", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410222} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410230} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410232} -{"event": "exit", "properties": {"reason": "Exit flag set", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410232} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410245} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410246} -{"event": "exit", "properties": {"reason": "Completed lint/test/commit", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410250} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410389} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410391} -{"event": "cli session", "properties": {"main_model": "github/REDACTED", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "github/REDACTED", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410391} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410391} -{"event": "message_send", "properties": {"main_model": "github/REDACTED", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "github/REDACTED", "edit_format": "diff", "prompt_tokens": 3396, "completion_tokens": 0, "total_tokens": 3396, "cost": 0, "total_cost": 0.0, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410392} -{"event": "command_exit", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410445} -{"event": "exit", "properties": {"reason": "/exit", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410445} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410581} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410583} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410583} -{"event": "message_send", "properties": {"main_model": "github/REDACTED", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "github/REDACTED", "edit_format": "diff", "prompt_tokens": 3375, "completion_tokens": 28, "total_tokens": 3403, "cost": 0, "total_cost": 0.0, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410586} -{"event": "exit", "properties": {"reason": "Completed --message", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410586} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410594} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410596} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410596} -{"event": "message_send", "properties": {"main_model": "github/REDACTED", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "github/REDACTED", "edit_format": "whole", "prompt_tokens": 599, "completion_tokens": 0, "total_tokens": 599, "cost": 0, "total_cost": 0.0, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410597} -{"event": "exit", "properties": {"reason": "Completed --message", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410597} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410680} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410682} -{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410682} -{"event": "message_send", "properties": {"main_model": "github/REDACTED", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "github/REDACTED", "edit_format": "whole", "prompt_tokens": 599, "completion_tokens": 0, "total_tokens": 599, "cost": 0, "total_cost": 0.0, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410683} {"event": "exit", "properties": {"reason": "Completed --message", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410683} {"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410989} {"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733411054} @@ -998,3 +890,111 @@ {"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733535667} {"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733535667} {"event": "exit", "properties": {"reason": "Completed lint/test/commit", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733535671} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733535753} +{"event": "gui session", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733535753} +{"event": "exit", "properties": {"reason": "GUI session ended", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733535753} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586825} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586826} +{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586826} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586847} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 5365, "completion_tokens": 394, "total_tokens": 5759, "cost": 0.022005000000000004, "total_cost": 0.022005000000000004, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586857} +{"event": "command_diff", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586873} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586943} +{"event": "gui session", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586943} +{"event": "exit", "properties": {"reason": "GUI session ended", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586943} +{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733586968} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587112} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587112} +{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587112} +{"event": "command_add", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587122} +{"event": "command_add", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587131} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587232} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587232} +{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587232} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587269} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587269} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 6903, "completion_tokens": 550, "total_tokens": 7453, "cost": 0.028959000000000002, "total_cost": 0.028959000000000002, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587282} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587319} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587319} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 7516, "completion_tokens": 120, "total_tokens": 7636, "cost": 0.024348, "total_cost": 0.05330700000000001, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587324} +{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587369} +{"event": "command_clear", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587408} +{"event": "command_add", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587411} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587413} +{"event": "command_editor", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587416} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587515} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587515} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 14337, "completion_tokens": 336, "total_tokens": 14673, "cost": 0.048051, "total_cost": 0.101358, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587524} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587546} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 17070, "completion_tokens": 383, "total_tokens": 17453, "cost": 0.056955, "total_cost": 0.158313, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587555} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587621} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 17645, "completion_tokens": 432, "total_tokens": 18077, "cost": 0.059415, "total_cost": 0.217728, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587632} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587635} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 18662, "completion_tokens": 224, "total_tokens": 18886, "cost": 0.059346, "total_cost": 0.277074, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587640} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587679} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587679} +{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587680} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587683} +{"event": "command_clear", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587688} +{"event": "command_add", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587690} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587695} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 23892, "completion_tokens": 487, "total_tokens": 24379, "cost": 0.07898100000000001, "total_cost": 0.356055, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587708} +{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587710} +{"event": "command_editor", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587750} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587775} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 24809, "completion_tokens": 293, "total_tokens": 25102, "cost": 0.078822, "total_cost": 0.434877, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587784} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587867} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587867} +{"event": "exit", "properties": {"reason": "Completed lint/test/commit", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733587870} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733588563} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733588563} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 23043, "completion_tokens": 930, "total_tokens": 23973, "cost": 0.083079, "total_cost": 0.517956, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733588582} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733588611} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 26114, "completion_tokens": 876, "total_tokens": 26990, "cost": 0.09148200000000001, "total_cost": 0.6094379999999999, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733588629} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594489} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594505} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594525} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 27707, "completion_tokens": 225, "total_tokens": 27932, "cost": 0.086496, "total_cost": 0.6959339999999999, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594535} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594573} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594574} +{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594574} +{"event": "command_exit", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594575} +{"event": "exit", "properties": {"reason": "/exit", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594575} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594578} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594578} +{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594578} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594582} +{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594588} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594601} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594601} +{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594601} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594604} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733594609} +{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596794} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596885} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596894} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596905} +{"event": "model warning", "properties": {"main_model": "gpt-4o-2024-08-06", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "gpt-4o-2024-08-06", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596907} +{"event": "exit", "properties": {"reason": "Keyboard interrupt during model warnings", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596908} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596925} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596925} +{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733596925} +{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597057} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597071} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597071} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597071} +{"event": "exit", "properties": {"reason": "Completed --message", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597102} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597104} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597105} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597105} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597217} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597218} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597218} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597328} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597328} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597328} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597524} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 28175, "completion_tokens": 588, "total_tokens": 28763, "cost": 0.093345, "total_cost": 0.789279, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597536} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597693} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597693} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597694} diff --git a/aider/website/assets/sample.aider.conf.yml b/aider/website/assets/sample.aider.conf.yml index 2f1b6b1f6..b53cb3298 100644 --- a/aider/website/assets/sample.aider.conf.yml +++ b/aider/website/assets/sample.aider.conf.yml @@ -391,6 +391,22 @@ ## Specify which editor to use for the /editor command #editor: xxx +## Set an environment variable (can be used multiple times) +#set-env: xxx +## Specify multiple values like this: +#set-env: +# - xxx +# - yyy +# - zzz + +## Set an API key for a provider (eg: --api-key anthropic=sk-123) +#api-key: xxx +## Specify multiple values like this: +#api-key: +# - xxx +# - yyy +# - zzz + ################# # Voice Settings: diff --git a/aider/website/assets/sample.env b/aider/website/assets/sample.env index 691d8c524..0283c83e0 100644 --- a/aider/website/assets/sample.env +++ b/aider/website/assets/sample.env @@ -22,10 +22,10 @@ # Main: ## Specify the OpenAI API key -#OPENAI_API_KEY= +#AIDER_OPENAI_API_KEY= ## Specify the Anthropic API key -#ANTHROPIC_API_KEY= +#AIDER_ANTHROPIC_API_KEY= ## Specify the model to use for the main chat #AIDER_MODEL= @@ -70,19 +70,19 @@ #AIDER_LIST_MODELS= ## Specify the api base url -#OPENAI_API_BASE= +#AIDER_OPENAI_API_BASE= ## Specify the api_type -#OPENAI_API_TYPE= +#AIDER_OPENAI_API_TYPE= ## Specify the api_version -#OPENAI_API_VERSION= +#AIDER_OPENAI_API_VERSION= ## Specify the deployment_id -#OPENAI_API_DEPLOYMENT_ID= +#AIDER_OPENAI_API_DEPLOYMENT_ID= ## Specify the OpenAI organization ID -#OPENAI_ORGANIZATION_ID= +#AIDER_OPENAI_ORGANIZATION_ID= ## Specify a file with aider model settings for unknown models #AIDER_MODEL_SETTINGS_FILE=.aider.model.settings.yml @@ -369,6 +369,12 @@ ## Specify which editor to use for the /editor command #AIDER_EDITOR= +## Set an environment variable (can be used multiple times) +#AIDER_SET_ENV= + +## Set an API key for a provider (eg: --api-key anthropic=sk-123) +#AIDER_API_KEY= + ################# # Voice Settings: diff --git a/aider/website/docs/config/aider_conf.md b/aider/website/docs/config/aider_conf.md index 4af9c9dc1..2782a4847 100644 --- a/aider/website/docs/config/aider_conf.md +++ b/aider/website/docs/config/aider_conf.md @@ -447,6 +447,22 @@ cog.outl("```") ## Specify which editor to use for the /editor command #editor: xxx +## Set an environment variable (can be used multiple times) +#set-env: xxx +## Specify multiple values like this: +#set-env: +# - xxx +# - yyy +# - zzz + +## Set an API key for a provider (eg: --api-key anthropic=sk-123) +#api-key: xxx +## Specify multiple values like this: +#api-key: +# - xxx +# - yyy +# - zzz + ################# # Voice Settings: diff --git a/aider/website/docs/config/dotenv.md b/aider/website/docs/config/dotenv.md index 4497c24de..9ad82b4d6 100644 --- a/aider/website/docs/config/dotenv.md +++ b/aider/website/docs/config/dotenv.md @@ -64,10 +64,10 @@ cog.outl("```") # Main: ## Specify the OpenAI API key -#OPENAI_API_KEY= +#AIDER_OPENAI_API_KEY= ## Specify the Anthropic API key -#ANTHROPIC_API_KEY= +#AIDER_ANTHROPIC_API_KEY= ## Specify the model to use for the main chat #AIDER_MODEL= @@ -112,19 +112,19 @@ cog.outl("```") #AIDER_LIST_MODELS= ## Specify the api base url -#OPENAI_API_BASE= +#AIDER_OPENAI_API_BASE= ## Specify the api_type -#OPENAI_API_TYPE= +#AIDER_OPENAI_API_TYPE= ## Specify the api_version -#OPENAI_API_VERSION= +#AIDER_OPENAI_API_VERSION= ## Specify the deployment_id -#OPENAI_API_DEPLOYMENT_ID= +#AIDER_OPENAI_API_DEPLOYMENT_ID= ## Specify the OpenAI organization ID -#OPENAI_ORGANIZATION_ID= +#AIDER_OPENAI_ORGANIZATION_ID= ## Specify a file with aider model settings for unknown models #AIDER_MODEL_SETTINGS_FILE=.aider.model.settings.yml @@ -411,6 +411,12 @@ cog.outl("```") ## Specify which editor to use for the /editor command #AIDER_EDITOR= +## Set an environment variable (can be used multiple times) +#AIDER_SET_ENV= + +## Set an API key for a provider (eg: --api-key anthropic=sk-123) +#AIDER_API_KEY= + ################# # Voice Settings: diff --git a/aider/website/docs/config/options.md b/aider/website/docs/config/options.md index dec24f911..135808cec 100644 --- a/aider/website/docs/config/options.md +++ b/aider/website/docs/config/options.md @@ -77,8 +77,8 @@ usage: aider [-h] [--openai-api-key] [--anthropic-api-key] [--model] [--suggest-shell-commands | --no-suggest-shell-commands] [--fancy-input | --no-fancy-input] [--detect-urls | --no-detect-urls] [--editor] - [--voice-format] [--voice-language] - [--voice-input-device] + [--set-env] [--api-key] [--voice-format] + [--voice-language] [--voice-input-device] ``` @@ -92,13 +92,13 @@ Aliases: ## Main: -### `--openai-api-key OPENAI_API_KEY` +### `--openai-api-key VALUE` Specify the OpenAI API key -Environment variable: `OPENAI_API_KEY` +Environment variable: `AIDER_OPENAI_API_KEY` -### `--anthropic-api-key ANTHROPIC_API_KEY` +### `--anthropic-api-key VALUE` Specify the Anthropic API key -Environment variable: `ANTHROPIC_API_KEY` +Environment variable: `AIDER_ANTHROPIC_API_KEY` ### `--model MODEL` Specify the model to use for the main chat @@ -165,25 +165,25 @@ Aliases: - `--list-models MODEL` - `--models MODEL` -### `--openai-api-base OPENAI_API_BASE` +### `--openai-api-base VALUE` Specify the api base url -Environment variable: `OPENAI_API_BASE` +Environment variable: `AIDER_OPENAI_API_BASE` -### `--openai-api-type OPENAI_API_TYPE` +### `--openai-api-type VALUE` Specify the api_type -Environment variable: `OPENAI_API_TYPE` +Environment variable: `AIDER_OPENAI_API_TYPE` -### `--openai-api-version OPENAI_API_VERSION` +### `--openai-api-version VALUE` Specify the api_version -Environment variable: `OPENAI_API_VERSION` +Environment variable: `AIDER_OPENAI_API_VERSION` -### `--openai-api-deployment-id OPENAI_API_DEPLOYMENT_ID` +### `--openai-api-deployment-id VALUE` Specify the deployment_id -Environment variable: `OPENAI_API_DEPLOYMENT_ID` +Environment variable: `AIDER_OPENAI_API_DEPLOYMENT_ID` -### `--openai-organization-id OPENAI_ORGANIZATION_ID` +### `--openai-organization-id VALUE` Specify the OpenAI organization ID -Environment variable: `OPENAI_ORGANIZATION_ID` +Environment variable: `AIDER_OPENAI_ORGANIZATION_ID` ### `--model-settings-file MODEL_SETTINGS_FILE` Specify a file with aider model settings for unknown models @@ -713,6 +713,16 @@ Aliases: Specify which editor to use for the /editor command Environment variable: `AIDER_EDITOR` +### `--set-env ENV_VAR_NAME=value` +Set an environment variable (can be used multiple times) +Default: [] +Environment variable: `AIDER_SET_ENV` + +### `--api-key PROVIDER=KEY` +Set an API key for a provider (eg: --api-key anthropic=sk-123) +Default: [] +Environment variable: `AIDER_API_KEY` + ## Voice Settings: ### `--voice-format VOICE_FORMAT`