Skip to content
Merged
2 changes: 1 addition & 1 deletion aider/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from packaging import version

__version__ = "0.89.5.dev"
__version__ = "0.89.6.dev"
safe_version = __version__

try:
Expand Down
52 changes: 0 additions & 52 deletions aider/args.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,22 +77,6 @@ def get_parser(default_config_files, git_root):
"--openai-api-base",
help="Specify the api base url",
)
group.add_argument(
"--openai-api-type",
help="(deprecated, use --set-env OPENAI_API_TYPE=<value>)",
)
group.add_argument(
"--openai-api-version",
help="(deprecated, use --set-env OPENAI_API_VERSION=<value>)",
)
group.add_argument(
"--openai-api-deployment-id",
help="(deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=<value>)",
)
group.add_argument(
"--openai-organization-id",
help="(deprecated, use --set-env OPENAI_ORGANIZATION=<value>)",
)
group.add_argument(
"--set-env",
action="append",
Expand Down Expand Up @@ -154,12 +138,6 @@ def get_parser(default_config_files, git_root):
default=True,
help="Verify the SSL cert when connecting to models (default: True)",
)
group.add_argument(
"--native-tls",
action=argparse.BooleanOptionalAction,
default=True,
help="Use system defined ssl certificates, instead of python's defaults (Default: True)",
)
group.add_argument(
"--timeout",
type=float,
Expand Down Expand Up @@ -687,36 +665,6 @@ def get_parser(default_config_files, git_root):
default=False,
)

##########
group = parser.add_argument_group("Analytics")
group.add_argument(
"--analytics",
action=argparse.BooleanOptionalAction,
default=None,
help=argparse.SUPPRESS,
)
group.add_argument(
"--analytics-log",
metavar="ANALYTICS_LOG_FILE",
help=argparse.SUPPRESS,
).complete = shtab.FILE
group.add_argument(
"--analytics-disable",
action="store_true",
help=argparse.SUPPRESS,
default=False,
)
group.add_argument(
"--analytics-posthog-host",
metavar="ANALYTICS_POSTHOG_HOST",
help=argparse.SUPPRESS,
)
group.add_argument(
"--analytics-posthog-project-api-key",
metavar="ANALYTICS_POSTHOG_PROJECT_API_KEY",
help=argparse.SUPPRESS,
)

#########
group = parser.add_argument_group("Upgrading")
group.add_argument(
Expand Down
7 changes: 6 additions & 1 deletion aider/coders/base_coder.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,9 @@ async def create(
io = from_coder.io

if from_coder:
if not args:
args = from_coder.args

use_kwargs = dict(from_coder.original_kwargs) # copy orig kwargs

# If the edit format changes, we can't leave old ASSISTANT
Expand Down Expand Up @@ -1521,7 +1524,9 @@ async def run_one(self, user_message, preproc):
else:
message = user_message

if self.commands.is_command(user_message):
if self.commands.is_command(user_message) and not self.commands.is_test_command(
user_message
):
return

while True:
Expand Down
7 changes: 6 additions & 1 deletion aider/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,12 @@ def is_command(self, inp):
return inp[0] in "/!"

def is_run_command(self, inp):
return inp and (inp[0] in "!" or inp[:5] == "/test" or inp[:4] == "/run")
return inp and (
inp[0] in "!" or inp[:5] == "/lint" or inp[:5] == "/test" or inp[:4] == "/run"
)

def is_test_command(self, inp):
return inp and (inp[:5] == "/lint" or inp[:5] == "/test")

def get_raw_completions(self, cmd):
assert cmd.startswith("/")
Expand Down
96 changes: 74 additions & 22 deletions aider/deprecated.py
Original file line number Diff line number Diff line change
@@ -1,87 +1,139 @@
import argparse


def add_deprecated_model_args(parser, group):
"""Add deprecated model shortcut arguments to the argparse parser."""
opus_model = "claude-3-opus-20240229"

group.add_argument(
"--opus",
action="store_true",
help=f"Use {opus_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
sonnet_model = "anthropic/claude-3-7-sonnet-20250219"

group.add_argument(
"--sonnet",
action="store_true",
help=f"Use {sonnet_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
haiku_model = "claude-3-5-haiku-20241022"

group.add_argument(
"--haiku",
action="store_true",
help=f"Use {haiku_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
gpt_4_model = "gpt-4-0613"

group.add_argument(
"--4",
"-4",
action="store_true",
help=f"Use {gpt_4_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
gpt_4o_model = "gpt-4o"

group.add_argument(
"--4o",
action="store_true",
help=f"Use {gpt_4o_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
gpt_4o_mini_model = "gpt-4o-mini"

group.add_argument(
"--mini",
action="store_true",
help=f"Use {gpt_4o_mini_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
gpt_4_turbo_model = "gpt-4-1106-preview"

group.add_argument(
"--4-turbo",
action="store_true",
help=f"Use {gpt_4_turbo_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
gpt_3_model_name = "gpt-3.5-turbo"

group.add_argument(
"--35turbo",
"--35-turbo",
"--3",
"-3",
action="store_true",
help=f"Use {gpt_3_model_name} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
deepseek_model = "deepseek/deepseek-chat"

group.add_argument(
"--deepseek",
action="store_true",
help=f"Use {deepseek_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
o1_mini_model = "o1-mini"

group.add_argument(
"--o1-mini",
action="store_true",
help=f"Use {o1_mini_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)
o1_preview_model = "o1-preview"

group.add_argument(
"--o1-preview",
action="store_true",
help=f"Use {o1_preview_model} model for the main chat (deprecated, use --model)",
help=argparse.SUPPRESS,
default=False,
)

#########
group = parser.add_argument_group("API Keys and Settings (Deprecated)")
group.add_argument(
"--openai-api-type",
help=argparse.SUPPRESS,
)
group.add_argument(
"--openai-api-version",
help=argparse.SUPPRESS,
)
group.add_argument(
"--openai-api-deployment-id",
help=argparse.SUPPRESS,
)
group.add_argument(
"--openai-organization-id",
help=argparse.SUPPRESS,
)

##########
group = parser.add_argument_group("Analytics")
group.add_argument(
"--analytics",
action=argparse.BooleanOptionalAction,
default=None,
help=argparse.SUPPRESS,
)
group.add_argument(
"--analytics-log",
metavar="ANALYTICS_LOG_FILE",
help=argparse.SUPPRESS,
)
group.add_argument(
"--analytics-disable",
action="store_true",
help=argparse.SUPPRESS,
default=False,
)
group.add_argument(
"--analytics-posthog-host",
metavar="ANALYTICS_POSTHOG_HOST",
help=argparse.SUPPRESS,
)
group.add_argument(
"--analytics-posthog-project-api-key",
metavar="ANALYTICS_POSTHOG_PROJECT_API_KEY",
help=argparse.SUPPRESS,
)


def handle_deprecated_model_args(args, io):
"""Handle deprecated model shortcut arguments and provide appropriate warnings."""
Expand Down
20 changes: 14 additions & 6 deletions aider/main.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
import os

try:
if not os.environ["CECLI_DEFAULT_TLS"] or os.environ["AIDER_CE_DEFAULT_TLS"]:
import truststore

truststore.inject_into_ssl()
except Exception:
pass

import asyncio
import glob
import json
Expand All @@ -11,8 +21,6 @@
from dataclasses import fields
from pathlib import Path

import truststore

try:
import git
except ImportError:
Expand Down Expand Up @@ -542,9 +550,6 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
return await graceful_exit(None, 1)
raise e

if args.native_tls:
truststore.inject_into_ssl()

if args.verbose:
print("Config files search order, if no --config:")
for file in default_config_files:
Expand All @@ -561,9 +566,12 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
loaded_dotenvs = load_dotenv_files(git_root, args.env_file, args.encoding)

# Parse again to include any arguments that might have been defined in .env
args = parser.parse_args(argv)
args, unknown = parser.parse_known_args(argv)
set_args_error_data(args)

if len(unknown):
print("Unknown Args: ", unknown)

# Convert YAML dict arguments to JSON strings for compatibility
# configargparse.YAMLConfigFileParser converts YAML to Python objects,
# but some arguments expect JSON strings
Expand Down
Loading
Loading