Compare commits

...

4896 Commits

Author SHA1 Message Date
Paul Gauthier
6b2331340b set version to 0.80.1.dev 2025-03-31 14:19:36 +13:00
Paul Gauthier
da7b5005fe version bump to 0.80.0 2025-03-31 14:19:32 +13:00
Paul Gauthier
9210e12316 copy 2025-03-31 14:13:54 +13:00
Paul Gauthier (aider)
2c47a79c38 ci: Skip languages.md in codespell check 2025-03-31 14:13:12 +13:00
Paul Gauthier
48cebef974 copy 2025-03-31 14:10:11 +13:00
Paul Gauthier (aider)
52952efd33 test: verify load_dotenv_files override behavior 2025-03-31 11:49:20 +13:00
Paul Gauthier
30dfd28ac4 copy 2025-03-31 11:46:37 +13:00
Paul Gauthier
b5a04f05f3 copy 2025-03-31 11:44:13 +13:00
Paul Gauthier (aider)
d5a34dcbc5 style: Fix trailing whitespace in homepage script 2025-03-31 11:42:47 +13:00
Paul Gauthier (aider)
fc6a05ced6 fix: Improve testimonial parsing for different dash formats 2025-03-31 11:42:40 +13:00
Paul Gauthier (aider)
2d3162a90b style: Remove trailing whitespace 2025-03-31 11:41:51 +13:00
Paul Gauthier (aider)
83c599e741 fix: Improve testimonial parsing from README 2025-03-31 11:41:44 +13:00
Paul Gauthier (aider)
c7f1671d5a feat: Generate testimonials JS in homepage script 2025-03-31 11:39:57 +13:00
Paul Gauthier
9f2d945691 kind words 2025-03-31 11:34:40 +13:00
Paul Gauthier
36ff099145 llama-index-core==0.12.26 2025-03-31 11:32:31 +13:00
Paul Gauthier
120e010e48 llama-index-core==0.12.24.post1 2025-03-31 11:25:07 +13:00
Paul Gauthier
2887816cf0 remove copilot 2025-03-31 11:22:14 +13:00
Paul Gauthier
9848479306 bump deps 2025-03-31 11:20:17 +13:00
Paul Gauthier
b662e6b9eb fix: Handle GitCommandNotFound error 2025-03-31 10:50:01 +13:00
Paul Gauthier
258f1f0848 copy 2025-03-31 10:42:52 +13:00
Paul Gauthier (aider)
a07f312089 style: Apply linter fixes 2025-03-31 10:33:00 +13:00
Paul Gauthier (aider)
605d8fe59a fix: Fix ColorParseError by ensuring hex colors have # prefix 2025-03-31 10:32:48 +13:00
Paul Gauthier (aider)
1c7db4da0d style: Apply linter fixes 2025-03-31 10:27:12 +13:00
Paul Gauthier (aider)
b0acc95b01 fix: Add missing ColorParseError import 2025-03-31 10:27:02 +13:00
Paul Gauthier (aider)
5bcad73515 refactor: Validate color settings once during initialization 2025-03-31 10:26:08 +13:00
Paul Gauthier (aider)
db05754d29 style: Apply linter formatting 2025-03-31 10:17:31 +13:00
Paul Gauthier (aider)
dfe3457906 test: Add test for cmd_test returning output on failure 2025-03-31 10:17:21 +13:00
Paul Gauthier (aider)
7dbb1a2aa8 fix: Return test errors from cmd_run to enable auto-fixing 2025-03-31 10:15:14 +13:00
Paul Gauthier (aider)
83dac4aae2 style: Improve formatting of OpenRouter key exchange error message 2025-03-31 09:17:32 +13:00
Paul Gauthier (aider)
75b79fa002 fix: Correct HTTPError status code access in onboarding 2025-03-31 09:17:26 +13:00
Paul Gauthier (aider)
27c1fd0262 fix: Handle FileNotFoundError in find_common_root 2025-03-31 09:15:26 +13:00
Paul Gauthier (aider)
8069e06f43 feat: Add openrouter deepseek-chat-v3-0324:free model 2025-03-31 09:12:39 +13:00
Paul Gauthier (aider)
8cd106fc8a fix: Prevent UnboundLocalError in get_tracked_files on IndexError 2025-03-31 09:10:29 +13:00
Paul Gauthier (aider)
a9c9877580 feat: Add free DeepSeek chat model configuration to model metadata 2025-03-31 09:08:51 +13:00
Paul Gauthier
19e1201c8a add google-cloud-bigquery as dev dep 2025-03-31 09:04:41 +13:00
Paul Gauthier (aider)
912f98e6eb fix: Remove unused import mock_open 2025-03-31 09:04:26 +13:00
Paul Gauthier (aider)
b6808e3700 test: Remove failing OpenRouter OAuth flow test 2025-03-31 08:53:21 +13:00
Paul Gauthier (aider)
a4f78b60e0 fix: Fix unused import and variable in onboarding tests 2025-03-31 08:51:19 +13:00
Paul Gauthier (aider)
6c9906c639 style: Fix whitespace and formatting in onboarding tests 2025-03-31 08:50:59 +13:00
Paul Gauthier (aider)
8a90af6779 fix: Remove redundant threading patch in onboarding test 2025-03-31 08:50:51 +13:00
Paul Gauthier
9831a13284 test: Simplify OpenRouter OAuth flow test 2025-03-31 08:50:45 +13:00
Paul Gauthier (aider)
d2386bc1f6 test: mock and assert offer_openrouter_oauth call in no-key test 2025-03-31 08:50:32 +13:00
Paul Gauthier
5b10af7b1a test: Disable streaming in main test call 2025-03-31 08:50:28 +13:00
Paul Gauthier (aider)
eacf3cc4ed test: Fix assertion failure and type error in onboarding tests 2025-03-31 08:44:32 +13:00
Paul Gauthier (aider)
87090139f6 test: Refactor onboarding test imports 2025-03-31 08:42:03 +13:00
Paul Gauthier (aider)
650c4cf948 style: Fix flake8 errors in onboarding tests 2025-03-31 08:41:35 +13:00
Paul Gauthier (aider)
24c074eeaa style: Apply linter fixes to onboarding tests 2025-03-31 08:41:11 +13:00
Paul Gauthier (aider)
b54629addb test: Add unit tests for onboarding functions 2025-03-31 08:41:05 +13:00
Paul Gauthier
cd67d11ecf test: Add onboarding tests 2025-03-31 08:40:59 +13:00
Paul Gauthier (aider)
16bb0c93e7 feat: Warn when using --stream and --cache-prompts together 2025-03-31 08:40:17 +13:00
Paul Gauthier
7c40c3a61c copy 2025-03-31 08:38:30 +13:00
Paul Gauthier
b8e8b7496d Merge branch 'main' of github.com:Aider-AI/aider 2025-03-31 08:36:57 +13:00
Paul Gauthier
d29d5e3a47 copy 2025-03-31 08:24:03 +13:00
paul-gauthier
db261d0fa4 Merge pull request #2980 from ivnvxd/fix-completion-menu-styling 2025-03-29 17:17:53 -10:00
Paul Gauthier
b7f6b847d6 Revert "bump deps"
This reverts commit 61147dfecf.
2025-03-30 11:05:38 +13:00
Paul Gauthier
5311a842a5 Revert "limit sentence-transformers<4 since 4.0.1 fails in GitHub Actions ubuntu and windows?"
This reverts commit e288f59da7.
2025-03-30 11:05:24 +13:00
Paul Gauthier
e288f59da7 limit sentence-transformers<4 since 4.0.1 fails in GitHub Actions ubuntu and windows? 2025-03-30 10:56:04 +13:00
Paul Gauthier
c62ceb5db1 test: Fix expected edit format in /model command tests 2025-03-28 20:27:12 -10:00
Paul Gauthier (aider)
35decf122d test: Add test for /model updating default edit format 2025-03-28 20:21:58 -10:00
Paul Gauthier (aider)
2adfe1507b test: Add tests for /model command edit_format behavior 2025-03-28 20:21:39 -10:00
Paul Gauthier (aider)
5516e6b279 feat: Update edit format on /model switch if using default 2025-03-28 20:20:46 -10:00
Paul Gauthier (aider)
8b811c610a refactor: Use get_raw_thinking_tokens in cmd_think_tokens 2025-03-28 20:12:04 -10:00
Paul Gauthier
23348f8e65 refactor: Remove redundant model arg from get_thinking/reasoning calls 2025-03-28 20:10:43 -10:00
Paul Gauthier (aider)
e1c3a2f8cf fix: Use self instead of model argument in get_reasoning_effort 2025-03-28 20:09:38 -10:00
Paul Gauthier (aider)
0b0493fa21 style: Remove unnecessary parentheses in conditions 2025-03-28 20:09:11 -10:00
Paul Gauthier (aider)
14d1742869 fix: Use self instead of model in get_raw_thinking_tokens 2025-03-28 20:09:05 -10:00
Paul Gauthier
96aa77288b refactor: Separate raw thinking token retrieval and fix self access 2025-03-28 20:09:01 -10:00
Paul Gauthier
a4c9c10029 style: Allow horizontal x-axis labels on leaderboard chart 2025-03-28 19:49:23 -10:00
Paul Gauthier (aider)
c9d561e7ad fix: Prevent leaderboard x-axis labels from disappearing 2025-03-28 19:43:26 -10:00
Paul Gauthier
87ba63c14c docs: Add chatgpt-4o-latest benchmark results 2025-03-28 19:36:06 -10:00
Paul Gauthier
0decbad7d0 Merge branch 'main' of github.com:Aider-AI/aider 2025-03-28 19:22:57 -10:00
Paul Gauthier
0e647dbc0e move 2025-03-28 19:21:44 -10:00
Paul Gauthier
2540d28b34 docs: Update Copilot documentation 2025-03-28 19:21:30 -10:00
Paul Gauthier (aider)
19a5e5bb00 docs: Add docs for Github Copilot models 2025-03-28 19:16:48 -10:00
Paul Gauthier
f22afc6458 docs: Add copilot.md 2025-03-28 19:16:44 -10:00
Paul Gauthier
ab00415ca1 Merge branch 'main' into feat/add_copilot 2025-03-28 19:13:54 -10:00
paul-gauthier
8df5406986 Merge pull request #3192 from miradnanali/fix-filename-quoting-for-lint
fix: Use shlex.quote() to enable linting filepaths containing shell metacharacters
2025-03-28 19:07:53 -10:00
Paul Gauthier
7f05159f0f Merge branch 'main' of github.com:Aider-AI/aider 2025-03-28 19:03:40 -10:00
Paul Gauthier
61147dfecf bump deps 2025-03-28 19:02:23 -10:00
paul-gauthier
06da133aac Merge pull request #3633 from susliko/scala-repomap
feat: add repomap support for Scala
2025-03-28 19:00:50 -10:00
Paul Gauthier
ff1d047048 docs: Add documentation for Ctrl-X Ctrl-E editor binding 2025-03-28 19:00:43 -10:00
paul-gauthier
4a8b17cb84 Merge pull request #3659 from iamFIREcracker/cx-ce-editor-key-binding
Invoke the editor by pressing `C-x C-e`
2025-03-28 18:58:13 -10:00
Paul Gauthier
fbafc09e6a copy 2025-03-28 18:54:20 -10:00
Paul Gauthier
c3c960383e feat: Offer OpenRouter OAuth if no model detected 2025-03-28 18:51:35 -10:00
Paul Gauthier
9e3adf0bf8 fix: Temporarily disable OpenRouter OAuth onboarding flow 2025-03-28 18:46:39 -10:00
Paul Gauthier
2bc0aa1777 docs: Fix docstring for check_openrouter_tier failure case 2025-03-28 18:45:31 -10:00
Paul Gauthier (aider)
3bc4064b61 fix: Default to free tier if OpenRouter tier check fails 2025-03-28 18:44:57 -10:00
Paul Gauthier (aider)
b4f9258f3c fix: Remove unused exception variable in webbrowser.open call 2025-03-28 18:29:26 -10:00
Paul Gauthier (aider)
ad844cce5c style: Fix linting issues in onboarding.py 2025-03-28 18:29:14 -10:00
Paul Gauthier (aider)
c73b064133 feat: Add OpenRouter tier-based model selection logic 2025-03-28 18:29:08 -10:00
Paul Gauthier
bd9b63a1aa refactor: Simplify OpenRouter OAuth flow messages and error handling 2025-03-28 18:29:05 -10:00
Paul Gauthier (aider)
2d87431aeb style: Apply linter formatting to onboarding.py 2025-03-28 18:03:10 -10:00
Paul Gauthier (aider)
3f3b1fb657 refactor: Update OpenRouter OAuth flow timeout to 5 minutes 2025-03-28 18:03:05 -10:00
Paul Gauthier
477f9eb4ec refactor: Update OpenRouter onboarding messages and flow 2025-03-28 18:03:04 -10:00
Paul Gauthier (aider)
91497dc2ee feat: Append OpenRouter API key to oauth-keys.env instead of overwriting 2025-03-28 17:57:26 -10:00
Paul Gauthier
928b78d9f6 feat: Simplify default model selection and improve OpenRouter OAuth key saving 2025-03-28 17:57:24 -10:00
Paul Gauthier (aider)
51825663b9 refactor: Extract model selection and OAuth logic into separate functions 2025-03-28 17:53:15 -10:00
Paul Gauthier
01fdbda728 refactor: Restructure model selection logic with new helper functions 2025-03-28 17:53:13 -10:00
Paul Gauthier
fa3c68fccd fix: Use print for auth URL and refine missing key message 2025-03-28 17:46:12 -10:00
Paul Gauthier (aider)
189977e4c7 fix: Update OpenRouter OAuth callback URL path to /callback/aider 2025-03-28 17:35:26 -10:00
Paul Gauthier (aider)
290fd99b6d feat: Load OAuth keys from ~/.aider/oauth-keys.env 2025-03-28 17:33:30 -10:00
Paul Gauthier (aider)
15cec5bd50 feat: Save OpenRouter API key to ~/.aider/oauth-keys.env 2025-03-28 17:32:39 -10:00
Paul Gauthier (aider)
f53db636e1 style: Format comments 2025-03-28 17:28:00 -10:00
Paul Gauthier (aider)
47d3802ffe feat: Handle user interruption during OpenRouter OAuth flow 2025-03-28 17:27:54 -10:00
Paul Gauthier (aider)
e98ffb5ae0 fix: Fix OAuth server premature shutdown on callback 2025-03-28 17:25:02 -10:00
Paul Gauthier (aider)
5d77eb1314 feat: Redirect callback URL to website if code param is missing 2025-03-28 17:23:21 -10:00
Paul Gauthier
f124cdbb6f refactor: Remove stream argument from Coder in onboarding 2025-03-28 17:21:04 -10:00
Paul Gauthier (aider)
1649d084d2 fix: Remove unused sys import 2025-03-28 17:16:28 -10:00
Paul Gauthier (aider)
36ca790c3d style: Sort imports alphabetically 2025-03-28 17:16:09 -10:00
Paul Gauthier (aider)
a91a8216b7 test: Add main function to test OpenRouter OAuth flow 2025-03-28 17:16:03 -10:00
Paul Gauthier (aider)
8cae7b20e7 fix: Remove unused variable found_key_env_var 2025-03-28 17:14:40 -10:00
Paul Gauthier (aider)
a537119f3d fix: Address flake8 linting errors in onboarding 2025-03-28 17:14:15 -10:00
Paul Gauthier (aider)
15fe0afe62 style: Run linter on onboarding module 2025-03-28 17:13:48 -10:00
Paul Gauthier (aider)
1b2a4db1ed feat: Add OpenRouter OAuth PKCE flow for authentication 2025-03-28 17:13:42 -10:00
Paul Gauthier (aider)
88a02723fa refactor: Extract default model selection logic to onboarding module 2025-03-28 16:54:10 -10:00
Paul Gauthier
7d013f35e2 rename 2025-03-28 16:51:58 -10:00
Paul Gauthier (aider)
e881d33bea docs: Update README cog import for homepage.py 2025-03-28 16:51:46 -10:00
Paul Gauthier (aider)
38da91becd refactor: Rename badges.py to homepage.py and update imports 2025-03-28 16:51:05 -10:00
Paul Gauthier
c99d96a700 copy 2025-03-28 16:46:08 -10:00
Paul Gauthier (aider)
fa89a6950b test: Update default Gemini model assertion 2025-03-28 16:43:39 -10:00
Paul Gauthier
cde08da282 refactor: Simplify model selection warning and analytics event logging 2025-03-28 16:42:12 -10:00
Paul Gauthier
8619bd4e84 refactor: Update auto_model_selection analytics event properties 2025-03-28 16:35:30 -10:00
Paul Gauthier (aider)
f49449b520 style: Remove trailing whitespace 2025-03-28 16:32:54 -10:00
Paul Gauthier (aider)
2fe79ac6a3 feat: Add analytics for auto-commits and auto-model selection 2025-03-28 16:32:47 -10:00
Paul Gauthier
d8830c43c5 fix: Clarify cost estimate warning for streaming/caching 2025-03-28 16:32:44 -10:00
Paul Gauthier (aider)
4ac945da70 feat: boost repomap ranking for files with mentioned path components 2025-03-28 16:23:35 -10:00
Paul Gauthier (aider)
ee0019e25f fix: Correct typo in streaming warning message 2025-03-28 16:21:05 -10:00
Paul Gauthier (aider)
f37b814570 feat: Improve streaming cost warning display 2025-03-28 16:20:23 -10:00
Paul Gauthier
e559bc8694 docs: Update model usage statistics in FAQ 2025-03-28 16:10:19 -10:00
Paul Gauthier (aider)
f7618440e7 chore: Remove unused VERTEX_AI_API_KEY entry 2025-03-28 16:10:08 -10:00
Paul Gauthier (aider)
7bc62cb674 feat: add VERTEXAI_PROJECT support for Gemini 2.5 Pro model 2025-03-28 16:09:59 -10:00
Paul Gauthier (aider)
db77e2e9b9 feat: prioritize gemini-2.5-pro when GEMINI or VERTEX keys present 2025-03-28 16:07:54 -10:00
Paul Gauthier (aider)
083b49f3c4 style: Improve testimonial card spacing and readability 2025-03-28 16:04:53 -10:00
Paul Gauthier (aider)
f3f0416d31 feat: maintain consistent height for testimonial cards 2025-03-28 16:02:54 -10:00
Paul Gauthier (aider)
775a9f86a1 style: Add CSS transitions for testimonial cards 2025-03-28 16:01:13 -10:00
Paul Gauthier (aider)
e2bfdc444a feat: replace flip animation with elegant fade transition for testimonials 2025-03-28 16:00:43 -10:00
Paul Gauthier
3c7783585e feat: Speed up testimonials rotation and add script tags 2025-03-28 15:57:53 -10:00
Paul Gauthier (aider)
761a297903 feat: include script tags in testimonials JS output 2025-03-28 15:53:53 -10:00
Paul Gauthier
6d30094a93 chore: Remove commented code from index.html 2025-03-28 15:53:47 -10:00
Paul Gauthier (aider)
d8e1816774 fix: Properly indent cog directive in index.html 2025-03-28 15:51:18 -10:00
Paul Gauthier
ae371cb362 feat: Add new testimonials to website 2025-03-28 15:51:11 -10:00
Paul Gauthier (aider)
73c46e8e24 fix: Remove unnecessary f-string in testimonials formatting 2025-03-28 15:49:14 -10:00
Paul Gauthier (aider)
ef4c40c692 style: Format code with linter 2025-03-28 15:48:48 -10:00
Paul Gauthier (aider)
04b3ada7f7 feat: dynamically load testimonials from README using cog 2025-03-28 15:48:39 -10:00
Paul Gauthier
424b43b3d3 copy 2025-03-28 15:45:04 -10:00
Paul Gauthier (aider)
9a9255d6f9 docs: add more user testimonials to README 2025-03-28 15:42:48 -10:00
Paul Gauthier
d9e52e41ff fix: Replace self.print_error with print for timeout message 2025-03-28 15:36:25 -10:00
Paul Gauthier (aider)
a038bc002a feat: Include URL in page timeout warning message 2025-03-28 15:35:01 -10:00
Paul Gauthier (aider)
fa256eb1a7 feat: Change timeout error to warning and continue scraping 2025-03-28 15:34:18 -10:00
Paul Gauthier (aider)
6689f001cf docs: Add positive user quotes to kind words section 2025-03-28 15:33:47 -10:00
Paul Gauthier
cc043bab9c Merge branch 'main' of github.com:Aider-AI/aider 2025-03-28 15:30:15 -10:00
Vasil Markoukin
5af73b1dcf feat: add repomap support for Scala
Resolves #3578
2025-03-28 10:07:57 +03:00
Paul Gauthier
85925a2dc6 copy 2025-03-27 18:40:09 -10:00
paul-gauthier
fb23b6c26f Merge pull request #3662 from schpet/markdown-headings-left 2025-03-27 11:58:31 -10:00
Peter Schilling (aider)
d5cec5f71e aider: chore: Remove unnecessary comment in mdstream.py 2025-03-27 14:08:04 -07:00
Peter Schilling (aider)
13b62e3d06 aider: fix: Use correct token type for markdown heading alignment 2025-03-27 13:59:58 -07:00
Peter Schilling (aider)
779f07f072 aider: fix: Align headings left while preserving h1/h2 styling 2025-03-27 13:58:05 -07:00
Peter Schilling (aider)
b923d63700 aider: style: Left-align markdown headings 2025-03-27 13:48:12 -07:00
Paul Gauthier
7e2dd9bc04 copy 2025-03-27 09:47:30 -10:00
Paul Gauthier
ef1f869b73 set version to 0.79.3.dev 2025-03-27 09:35:00 -10:00
Paul Gauthier
959d6334db version bump to 0.79.2 2025-03-27 09:34:57 -10:00
Paul Gauthier
d7b00b93c7 copy 2025-03-27 09:28:01 -10:00
Paul Gauthier
eec084c842 copy 2025-03-27 09:27:05 -10:00
Paul Gauthier
87b504a58f copy 2025-03-27 09:03:40 -10:00
Paul Gauthier (aider)
243d4d0727 feat: add openrouter/deepseek-chat-v3-0324 model config 2025-03-27 09:02:55 -10:00
Paul Gauthier (aider)
673acf4308 feat: enable retries for OpenRouter choices errors 2025-03-27 07:01:10 -10:00
Paul Gauthier (aider)
fd180ebff5 style: Format test_exceptions.py with linter 2025-03-27 06:58:46 -10:00
Paul Gauthier (aider)
61705ce7fc test: add coverage for OpenRouter API error detection 2025-03-27 06:58:38 -10:00
Paul Gauthier (aider)
6e1dd4474b feat: add OpenRouter API error detection 2025-03-27 06:56:28 -10:00
Matteo Landi (aider)
7924657584 feat: Improve C-x C-e editor keybinding to handle cursor and newline 2025-03-27 10:35:03 +01:00
Matteo Landi (aider)
4f5ed8ace0 feat: Add C-x C-e keybinding to edit input in external editor 2025-03-27 08:33:50 +01:00
Paul Gauthier (aider)
8737220fb6 feat: update Gemini 2.5 Pro max output tokens to 64k 2025-03-26 08:42:28 -10:00
Paul Gauthier
bcb01e8c1b Merge branch 'main' of github.com:Aider-AI/aider 2025-03-26 08:37:58 -10:00
Paul Gauthier
41f669bb89 feat: Add 'gemini' alias for gemini-2.5-pro model 2025-03-26 08:37:51 -10:00
Paul Gauthier
983bc199b3 cleanup 2025-03-26 08:37:40 -10:00
paul-gauthier
8f15269bd0 Merge pull request #3647 from iamFIREcracker/lisp-comments
Add support for Lisp-style comments in file watcher
2025-03-26 08:36:56 -10:00
Paul Gauthier (aider)
6ffe3e7067 style: Format code with linter 2025-03-26 07:11:22 -10:00
Paul Gauthier (aider)
51bf6035f7 feat: add footer safe zone for GitHub URL in confetti image 2025-03-26 07:11:15 -10:00
Paul Gauthier (aider)
249a6fc9b1 chore: remove yellow hexagon confettis below stars line 2025-03-26 07:10:36 -10:00
Paul Gauthier (aider)
c6d4337855 style: Fix whitespace in 30k-image.py 2025-03-26 07:09:28 -10:00
Paul Gauthier (aider)
9fa3636c57 feat: add safe zone for text in confetti generation 2025-03-26 07:09:20 -10:00
Paul Gauthier
a417e6e644 style: Fix trailing whitespace in SVG generation script 2025-03-26 07:07:16 -10:00
Paul Gauthier (aider)
999eb86d7a fix: Add missing math import in 30k-image.py 2025-03-26 07:01:51 -10:00
Paul Gauthier (aider)
7b97f93051 style: Reformat code with linter 2025-03-26 07:01:19 -10:00
Paul Gauthier (aider)
02bc926d75 feat: add script to generate 30k GitHub stars celebration SVG 2025-03-26 07:01:11 -10:00
Paul Gauthier
48ee3cdf98 feat: Add script to generate 30k images 2025-03-26 07:01:05 -10:00
Paul Gauthier (aider)
2556a912d3 style: Format SVG elements with consistent line breaks 2025-03-26 06:59:45 -10:00
Paul Gauthier (aider)
487674b1c5 feat: enhance celebration image with GitHub branding and animations 2025-03-26 06:59:37 -10:00
Paul Gauthier (aider)
347fbf6471 style: Format code with linter 2025-03-26 06:55:12 -10:00
Paul Gauthier (aider)
3eff70a3bc feat: enhance celebration image with decorations and glow effects 2025-03-26 06:55:04 -10:00
Paul Gauthier (aider)
ad7c708039 style: Format code with linter 2025-03-26 06:51:43 -10:00
Paul Gauthier (aider)
f993c1f22c feat: Improve celebration image with glow effect and tighter spacing 2025-03-26 06:51:36 -10:00
Paul Gauthier (aider)
75b714a1ad fix: Resolve flake8 errors in generate_celebration_image.py 2025-03-26 06:47:40 -10:00
Paul Gauthier (aider)
0636d40909 style: Fix linting issues in generate_celebration_image.py 2025-03-26 06:47:20 -10:00
Paul Gauthier (aider)
cbb3660a17 feat: Convert celebration image generator to SVG format 2025-03-26 06:47:13 -10:00
Paul Gauthier (aider)
42363beb72 style: Format code with linter 2025-03-26 06:45:10 -10:00
Paul Gauthier (aider)
efa36a7196 feat: add script to generate 30k stars celebration image 2025-03-26 06:45:03 -10:00
Matteo Landi (aider)
fab713a6a8 fix: Handle Lisp semicolon comments in watch.py 2025-03-26 13:01:53 +01:00
Matteo Landi (aider)
7d5f1143af test: Add Lisp-style comment tests to file watcher 2025-03-26 08:17:29 +01:00
Matteo Landi (aider)
f05f8df44c refactor: Add support for Lisp-style comments in file watcher 2025-03-26 08:13:09 +01:00
Paul Gauthier
c89a1a8021 set version to 0.79.2.dev 2025-03-25 15:06:16 -10:00
Paul Gauthier
db7c679e74 version bump to 0.79.1 2025-03-25 15:06:13 -10:00
Paul Gauthier (aider)
71cbbf545b style: Format test_ssl_verification.py with linter 2025-03-25 14:56:59 -10:00
Paul Gauthier (aider)
6809a7ec3e fix: mock fuzzy_match_models in SSL verification test 2025-03-25 14:56:51 -10:00
Paul Gauthier
70847a74c2 test: update model listing test to use metadata-only model 2025-03-25 14:51:24 -10:00
Paul Gauthier (aider)
6933bc8add style: Fix whitespace and formatting in test file 2025-03-25 14:46:55 -10:00
Paul Gauthier (aider)
a6cbaad5a2 test: fix test_list_models_with_direct_resource_patch to mock correct resource loading 2025-03-25 14:46:47 -10:00
Paul Gauthier (aider)
899972e22f fix: add --no-gitignore flag to failing list-models tests 2025-03-25 14:30:13 -10:00
Paul Gauthier
820b925b78 copy 2025-03-25 13:42:35 -10:00
Paul Gauthier (aider)
5457b43a89 docs: Add gemini-2.5-pro command to docs 2025-03-25 13:42:02 -10:00
Paul Gauthier (aider)
0adbc9678f fix: add mode attribute to test model metadata 2025-03-25 13:38:53 -10:00
Paul Gauthier
8d6a2ecf0e test: update model metadata test with new flags and provider format 2025-03-25 13:38:47 -10:00
Paul Gauthier (aider)
6acbd80cee style: Format test data with consistent indentation 2025-03-25 13:34:34 -10:00
Paul Gauthier (aider)
2331224157 fix: include local model metadata in fuzzy matching and update tests 2025-03-25 13:34:25 -10:00
Paul Gauthier (aider)
5d2aea434c style: Fix line length in test comment 2025-03-25 13:30:40 -10:00
Paul Gauthier (aider)
798f6983e4 style: Fix whitespace and formatting in test file 2025-03-25 13:30:19 -10:00
Paul Gauthier (aider)
a428fdc951 test: add tests for model listing with metadata sources 2025-03-25 13:30:10 -10:00
Paul Gauthier
ccacc09ff0 refactor: Reorder model listing and expand fuzzy matching 2025-03-25 13:28:53 -10:00
Paul Gauthier
40cc155aad copy 2025-03-25 11:27:25 -10:00
Paul Gauthier
645e0de971 blame 2025-03-25 11:26:54 -10:00
Paul Gauthier
325eb5968d set version to 0.79.1.dev 2025-03-25 11:15:03 -10:00
Paul Gauthier
65a7583731 version bump to 0.79.0 2025-03-25 11:14:59 -10:00
Paul Gauthier (aider)
6d8e4e8fb1 style: Fix string quote consistency in test_coder.py 2025-03-25 11:05:58 -10:00
Paul Gauthier (aider)
4716cce208 fix: pre-calculate Windows paths to avoid f-string backslash issues 2025-03-25 11:05:49 -10:00
Paul Gauthier
c67bbe6c00 copy 2025-03-25 11:04:25 -10:00
Paul Gauthier (aider)
1272e21603 style: Fix string quotes in test_coder.py 2025-03-25 11:01:54 -10:00
Paul Gauthier (aider)
7302280417 test: Add Windows path handling in file mention tests 2025-03-25 11:01:44 -10:00
Paul Gauthier (aider)
871c6d56dc refactor: Move windows_path variable outside test cases tuple 2025-03-25 11:01:21 -10:00
Paul Gauthier (aider)
eb0389938c fix: handle Windows path formatting in test cases 2025-03-25 10:59:45 -10:00
Paul Gauthier (aider)
e6c191bdc6 fix: Use raw string for backslash in f-string expression 2025-03-25 10:59:29 -10:00
Paul Gauthier
2727eb6dd7 copy 2025-03-25 10:58:00 -10:00
Paul Gauthier
821087bcce copy 2025-03-25 10:55:17 -10:00
Paul Gauthier
f1955577bc feat: Add Gemini Pro 2.5 test results to leaderboard 2025-03-25 10:43:05 -10:00
Paul Gauthier (aider)
966686cd5d feat: add gemini-2.5-pro model alias 2025-03-25 10:15:10 -10:00
Paul Gauthier
79d3d50de6 copy 2025-03-25 10:11:49 -10:00
Paul Gauthier
da59f0a0db add gemini 2.5 pro 2025-03-25 10:11:00 -10:00
Paul Gauthier
bdc00e5dd4 copy 2025-03-25 09:59:17 -10:00
Paul Gauthier
9854a4f92e feat: Add Gemini 2.5 Pro model settings 2025-03-25 09:27:36 -10:00
Paul Gauthier
33413ecfe9 copy 2025-03-25 07:01:10 -10:00
Paul Gauthier (aider)
c7e8d297a4 feat: Make SVG icons link to corresponding docs pages 2025-03-24 16:31:53 -10:00
Paul Gauthier (aider)
3619953f83 style: change icon colors from blue to green 2025-03-24 16:30:35 -10:00
Paul Gauthier (aider)
b20753c3ac style: update SVG icons to match site color scheme 2025-03-24 16:28:50 -10:00
Paul Gauthier
4fd6b7a608 initial 2025-03-24 16:26:02 -10:00
Paul Gauthier (aider)
1de8e477b9 docs: Update README to use local icon paths 2025-03-24 16:24:04 -10:00
Paul Gauthier (aider)
6c50645213 style: Reformat dl_icons.py with consistent spacing 2025-03-24 16:23:05 -10:00
Paul Gauthier (aider)
5aeea0c228 feat: add script to download SVG icons for local use 2025-03-24 16:22:57 -10:00
Paul Gauthier
86ceeb554d feat: Add script to download icons 2025-03-24 16:22:51 -10:00
Paul Gauthier (aider)
ca121e0e28 docs: update README icons to match index.html 2025-03-24 13:46:21 -10:00
Paul Gauthier (aider)
d1fef7fd17 docs: update icons in README to match index.html 2025-03-24 13:45:09 -10:00
Paul Gauthier (aider)
25d157afdc style: Move feature icons below headers in README 2025-03-24 13:42:34 -10:00
Paul Gauthier (aider)
97afe3cd0b style: Add valign=middle to README icon images 2025-03-24 13:41:42 -10:00
Paul Gauthier (aider)
2923304bdb style: improve README features section layout with larger icons 2025-03-24 13:40:07 -10:00
Paul Gauthier
10d741b6df copy 2025-03-24 13:34:35 -10:00
Paul Gauthier
12cd115ae4 Revert "docs: format features section with table layout for better readability"
This reverts commit d1def13cd1.
2025-03-24 13:33:34 -10:00
Paul Gauthier (aider)
d1def13cd1 docs: format features section with table layout for better readability 2025-03-24 13:32:53 -10:00
Paul Gauthier (aider)
127c305b1a style: increase icon sizes in README from 16px to 24px 2025-03-24 13:30:45 -10:00
Paul Gauthier (aider)
fd06db18a0 style: remove bullet points from README features section 2025-03-24 13:29:00 -10:00
Paul Gauthier (aider)
387b392c18 chore: Swap git and map icons between README and index 2025-03-24 13:27:17 -10:00
Paul Gauthier
964022f7b5 cleanupo 2025-03-24 13:25:51 -10:00
Paul Gauthier (aider)
9edc346c2c refactor: replace local icons with MDI CDN references 2025-03-24 13:25:05 -10:00
Paul Gauthier (aider)
2fe671744b style: Replace DNA icon with MDI brain icon 2025-03-24 13:22:34 -10:00
Paul Gauthier (aider)
fb8daa5607 feat: Replace inline SVGs with external icon files for GitHub compatibility 2025-03-24 13:21:07 -10:00
Paul Gauthier (aider)
65e0da72b8 style: Replace emojis with SVG icons in README 2025-03-24 13:16:27 -10:00
Paul Gauthier (aider)
3d5924e2f5 style: Increase icon size and enhance hover animation in feature cards 2025-03-24 13:12:10 -10:00
Paul Gauthier (aider)
5b2e2d630b refactor: Replace weather-cloudy icon with brain icon in feature card 2025-03-24 13:10:57 -10:00
Paul Gauthier (aider)
6a96cb6ba7 refactor: Replace SVG icon with MDI icon for images feature 2025-03-24 13:09:50 -10:00
Paul Gauthier (aider)
43ece9c644 refactor: Replace inline SVGs with Material Design Icons 2025-03-24 13:09:21 -10:00
Paul Gauthier (aider)
46cef723b7 style: Increase feature icon size and hover effect scale 2025-03-24 13:03:11 -10:00
Paul Gauthier (aider)
9b19dac569 style: Update feature icons to use secondary color for better distinction 2025-03-24 13:01:20 -10:00
Paul Gauthier (aider)
54eb642726 style: replace Git icon with standard Git branching icon 2025-03-24 12:59:10 -10:00
Paul Gauthier (aider)
5bb664657c fix: Replace broken cloud icon with proper Material Design icon 2025-03-24 12:56:57 -10:00
Paul Gauthier (aider)
dea4d16e87 style: replace emoji icons with material design SVGs and hover effects 2025-03-24 12:54:19 -10:00
Paul Gauthier
059cd23543 feat: add DeepSeek V3 (0324) to polyglot leaderboard 2025-03-24 12:44:25 -10:00
Paul Gauthier
502b8630a2 copy 2025-03-22 18:38:10 -07:00
Paul Gauthier (aider)
b2444b43a6 refactor: Pass placeholder to _generic_chat_command instead of special-casing context 2025-03-22 18:36:10 -07:00
Paul Gauthier (aider)
be87ff0193 feat: Set placeholder with args in /context command 2025-03-22 18:33:50 -07:00
Paul Gauthier (aider)
c7fe86021c style: Replace single quotes with double quotes in main.py 2025-03-22 18:32:32 -07:00
Paul Gauthier (aider)
99b0209c89 feat: Add placeholder parameter to SwitchCoder 2025-03-22 18:32:25 -07:00
Paul Gauthier (aider)
4d61b596ff style: Remove trailing whitespace in commands.py 2025-03-22 18:15:17 -07:00
Paul Gauthier (aider)
0549e7079d feat: Add /edit as an alias for /editor command 2025-03-22 18:15:11 -07:00
Paul Gauthier
b591b64d3f refactor: Update context handling and repo map logic 2025-03-22 16:20:23 -07:00
Paul Gauthier (aider)
a3377686fa style: Remove unnecessary blank line in repomap.py 2025-03-22 14:59:01 -07:00
Paul Gauthier (aider)
d23bba5d9f feat: Increase weight for snake_case and camelCase identifiers 2025-03-22 14:58:56 -07:00
Paul Gauthier
5e8fc3e4c8 refactor: Simplify and optimize weight calculation in RepoMap 2025-03-22 14:58:55 -07:00
Paul Gauthier (aider)
04e76ad6ff chore: Remove unused import from context_coder.py 2025-03-22 14:19:29 -07:00
Paul Gauthier (aider)
3a18a9296b style: Format code with consistent spacing in comments 2025-03-22 14:19:10 -07:00
Paul Gauthier (aider)
3e9a6ffbca chore: Comment out debug print statements in ContextCoder 2025-03-22 14:19:06 -07:00
Paul Gauthier
0b06e56182 refactor: Simplify file mention handling logic in ContextCoder 2025-03-22 14:19:05 -07:00
Paul Gauthier (aider)
fb5a32f429 style: Fix trailing whitespace and comma consistency 2025-03-22 14:16:55 -07:00
Paul Gauthier (aider)
75dfd4505b feat: Add /context command for contextually-aware edits 2025-03-22 14:16:49 -07:00
Paul Gauthier
5661d1428e refactor: Enhance file mention handling and context coder logic 2025-03-22 13:57:15 -07:00
Paul Gauthier (aider)
f543c1ee1c style: Break long line in test_coder.py to comply with flake8 E501 2025-03-22 13:37:11 -07:00
Paul Gauthier
74254cdbd5 feat: Add ContextCoder for identifying relevant files in requests 2025-03-22 13:36:58 -07:00
Paul Gauthier (aider)
a5c8c534c1 fix: Remove unnecessary f-string prefix in test case 2025-03-22 13:26:19 -07:00
Paul Gauthier (aider)
24159dda58 style: Format test_coder.py for readability 2025-03-22 13:26:03 -07:00
Paul Gauthier (aider)
ad0a2b3260 test: Add test cases for bold format file mentions 2025-03-22 13:25:58 -07:00
Paul Gauthier (aider)
7e51c68fde style: Format code according to linter rules 2025-03-22 13:23:52 -07:00
Paul Gauthier (aider)
3b376a15b7 test: Add comprehensive test for get_file_mentions with various formats 2025-03-22 13:23:46 -07:00
Paul Gauthier (aider)
8e5f311708 style: Remove trailing whitespace in base_prompts.py 2025-03-22 08:22:39 -07:00
Paul Gauthier (aider)
02c48fa8c3 style: Break long line in base_prompts.py to comply with flake8 E501 2025-03-22 08:22:20 -07:00
Paul Gauthier
51fa2eb103 feat: Add overeager model setting and prompt for precise request handling 2025-03-22 08:22:07 -07:00
Paul Gauthier (aider)
0fd08fe667 chore: Add overeager flag to all Claude 3.7 Sonnet model configurations 2025-03-22 08:20:53 -07:00
Paul Gauthier
0da65c6169 chore: Add overeager flag to anthropic/claude-3-7-sonnet-20250219 model settings 2025-03-22 08:20:51 -07:00
Paul Gauthier (aider)
d2c6db0680 style: Replace single quotes with double quotes in base_coder.py 2025-03-22 08:16:14 -07:00
Paul Gauthier (aider)
5b73938e29 refactor: improve model prompt selection logic in fmt_system_prompt 2025-03-22 08:16:07 -07:00
Paul Gauthier
2540933921 refactor: Simplify lazy_prompt assignment in fmt_system_prompt 2025-03-22 08:16:06 -07:00
Paul Gauthier
e75e2272f7 initial 2025-03-22 08:09:26 -07:00
Paul Gauthier
64b8fc80e8 refactor: Extract prompt prefix logic in InputOutput class 2025-03-21 20:40:29 -07:00
Paul Gauthier (aider)
033c149737 style: Break long comment line to comply with flake8 E501 2025-03-21 20:25:14 -07:00
Paul Gauthier
a6bce6d5f1 refactor: Change multiline input prompt from ". " to "> " 2025-03-21 20:25:04 -07:00
Paul Gauthier
94016c87fd refactor: Simplify asciinema command in tmux_record.sh 2025-03-21 20:19:08 -07:00
Paul Gauthier (aider)
4b6424f631 style: Format code with consistent spacing and indentation 2025-03-21 15:24:26 -07:00
Paul Gauthier (aider)
9bf70d8641 refactor: Enhance git blame detection with specific similarity thresholds 2025-03-21 15:24:22 -07:00
Paul Gauthier (aider)
0eb26fffe1 style: Improve typography with scale, spacing, and mobile optimizations 2025-03-21 13:56:07 -07:00
Paul Gauthier
279e7e1456 style: Adjust hero h1 font size to 2.5rem 2025-03-21 13:56:05 -07:00
Paul Gauthier (aider)
099fc7b31e style: Improve typography with better font stack, spacing, and hierarchy 2025-03-21 13:50:02 -07:00
Paul Gauthier (aider)
f1e070cc1e style: Format description text inline with title links 2025-03-21 13:30:39 -07:00
Paul Gauthier (aider)
36f2458f2e feat: Add page descriptions to table of contents with inline styling 2025-03-21 13:29:22 -07:00
Paul Gauthier
29db4231ee copy 2025-03-21 13:27:02 -07:00
Paul Gauthier (aider)
74926578a2 chore: Exclude homepage from main navigation 2025-03-21 13:21:32 -07:00
Paul Gauthier
5b8ae368bd docs: Remove redundant sections from index.md 2025-03-21 13:21:31 -07:00
Paul Gauthier (aider)
b3e368237e fix: Simplify table of contents Liquid syntax to avoid errors 2025-03-21 13:18:23 -07:00
Paul Gauthier (aider)
3ee5dc131d feat: Add hierarchical table of contents to documentation homepage 2025-03-21 13:17:34 -07:00
Paul Gauthier
2765d2fe66 docs: Add initial website documentation index 2025-03-21 13:10:59 -07:00
Paul Gauthier
f50fee407a copy 2025-03-21 12:13:32 -07:00
Paul Gauthier (aider)
f3295d7c1d style: Swap badge colors for Tokens/week and Singularity metrics 2025-03-21 12:12:54 -07:00
Paul Gauthier (aider)
dd02803f1f style: Swap colors of tokens/week and singularity badges 2025-03-21 12:12:29 -07:00
Paul Gauthier
d4e44d7555 copy 2025-03-21 12:09:59 -07:00
Paul Gauthier
f2b8d36d9e set version to 0.78.1.dev 2025-03-21 11:57:37 -07:00
Paul Gauthier
8d43d4ee21 version bump to 0.78.0 2025-03-21 11:57:34 -07:00
Paul Gauthier
b54af5dbe3 copy 2025-03-21 11:55:23 -07:00
Paul Gauthier (aider)
4980e901a0 feat: Add plain git log to update-history script context 2025-03-21 11:38:46 -07:00
Paul Gauthier
cd32311c1f copy 2025-03-21 11:37:49 -07:00
Paul Gauthier (aider)
b97997b009 fix: Remove unused imports in badges.py 2025-03-21 11:36:43 -07:00
Paul Gauthier (aider)
4aad9fbdd4 style: Format code with linter 2025-03-21 11:36:28 -07:00
Paul Gauthier (aider)
ac2439e25b feat: add 24-hour cache for BigQuery download stats 2025-03-21 11:36:24 -07:00
Paul Gauthier (aider)
ddc1556ae0 style: Reformat code to comply with linter rules 2025-03-21 11:25:13 -07:00
Paul Gauthier (aider)
0d75c4d0e3 test: add exponential backoff retry for help command test 2025-03-21 11:25:10 -07:00
Paul Gauthier
f3a042dcdf refactor: Simplify exception handling in platform info retrieval 2025-03-21 11:24:10 -07:00
Paul Gauthier (aider)
f9e0a99064 style: Remove trailing whitespace in base_coder.py 2025-03-21 11:23:57 -07:00
Paul Gauthier (aider)
d6906fb100 fix: Handle KeyError in platform info retrieval with clear message 2025-03-21 11:23:50 -07:00
Paul Gauthier (aider)
821662abcb style: Remove trailing whitespace in base_coder.py 2025-03-21 11:22:00 -07:00
Paul Gauthier (aider)
cf496abec0 fix: Handle platform info retrieval errors gracefully 2025-03-21 11:21:53 -07:00
Paul Gauthier
e245d39216 copy 2025-03-21 11:18:42 -07:00
paul-gauthier
44f87c2c17 Merge pull request #3553 from lentil32/main
fix: Redundant warning when `AWS_PROFILE` set for Bedrock
2025-03-21 11:16:27 -07:00
Paul Gauthier
a6fd0de762 copy 2025-03-21 11:16:10 -07:00
Carles Sala (aider)
072ecba4c5 feat: Add commands to switch main, editor, and weak models 2025-03-21 11:09:33 -07:00
Paul Gauthier (aider)
3ad5d75bee refactor: Remove unused variable in test_main.py 2025-03-21 11:05:35 -07:00
Paul Gauthier (aider)
8679c425e0 style: Remove trailing whitespace in test_main.py 2025-03-21 11:04:58 -07:00
Paul Gauthier (aider)
1ec257278e refactor: Move resolve_aiderignore_path to top level and add tests 2025-03-21 11:04:51 -07:00
paul-gauthier
ffe89362ab Merge pull request #3478 from mopemope/fix-ignore
refactor: enhance --aiderignore argument to resolve absolute and relative paths
2025-03-21 11:02:04 -07:00
paul-gauthier
a82c0f9e49 Merge pull request #3485 from codefromthecrypt/patch-1
ollama: suggest higher minimum context length
2025-03-21 09:36:06 -07:00
Paul Gauthier
413271e82a copy 2025-03-21 09:23:45 -07:00
Paul Gauthier (aider)
60b926b698 refactor: Remove redundant imports in completions methods 2025-03-21 09:21:59 -07:00
Paul Gauthier (aider)
98be67442e chore: Run linter and fix import order in commands.py 2025-03-21 09:21:01 -07:00
Paul Gauthier (aider)
8e9c75b6f8 chore: Add CommandCompletionException import to commands.py 2025-03-21 09:20:54 -07:00
Paul Gauthier (aider)
8c65604b29 style: Format docstring and multiline condition for better readability 2025-03-21 09:20:22 -07:00
Paul Gauthier (aider)
930923c211 style: Format code to comply with linter rules 2025-03-21 09:19:34 -07:00
Paul Gauthier (aider)
710d540dcd feat: Add CommandCompletionException class for autocompletion handling 2025-03-21 09:19:29 -07:00
Paul Gauthier (aider)
ddef8c2499 refactor: Add CommandCompletionException for autocompletion handling 2025-03-21 09:19:13 -07:00
Paul Gauthier
c6289c2bea refactor: Add comment for command completion handling in AutoCompleter 2025-03-21 09:19:12 -07:00
Paul Gauthier (aider)
b624bb6fb8 refactor: raise exceptions to use normal autocompleter 2025-03-21 09:18:22 -07:00
Paul Gauthier (aider)
4e03f4165d feat: Add autocompletion for /ask, /code and /architect commands 2025-03-21 09:16:26 -07:00
paul-gauthier
2f6ea2f499 Merge pull request #3579 from marcomayer/main
feat: vi-like behavior when pressing enter in multiline-mode
2025-03-21 09:06:52 -07:00
Paul Gauthier
8c47d1f9c0 copy 2025-03-21 09:03:48 -07:00
Paul Gauthier (aider)
e31be8d3c9 feat: Print source used in get_total_downloads function 2025-03-21 09:01:50 -07:00
Paul Gauthier
2069ad62d1 refactor: Remove badges markdown generation from main function 2025-03-21 09:01:48 -07:00
Paul Gauthier (aider)
2993e285c8 style: Format code in badges.py for better readability 2025-03-21 08:58:10 -07:00
Paul Gauthier (aider)
4ee9cee52a refactor: extract credentials_path from USE_BIGQUERY environment variable 2025-03-21 08:58:04 -07:00
Paul Gauthier (aider)
0e555699bd feat: exclude CI downloads from PyPI download count 2025-03-21 08:53:59 -07:00
Paul Gauthier (aider)
aad6c63206 style: Format code according to linter rules 2025-03-21 08:52:04 -07:00
Paul Gauthier (aider)
8c78e09f03 feat: Add BigQuery support for fetching PyPI download statistics 2025-03-21 08:52:00 -07:00
Paul Gauthier (aider)
25d1eac0f5 docs: Add Ctrl-Y keybinding to Emacs commands documentation 2025-03-21 08:48:28 -07:00
Paul Gauthier
26daf2cd31 copy 2025-03-21 07:38:48 -07:00
Paul Gauthier
280bd44ba3 copy 2025-03-21 07:33:00 -07:00
Paul Gauthier
c9d87fef71 copy 2025-03-21 07:31:00 -07:00
Paul Gauthier (aider)
649742f02a style: Format code according to linter rules 2025-03-21 07:27:57 -07:00
Paul Gauthier (aider)
245ee84c2d feat: Add OpenRouter support to set_thinking_tokens method 2025-03-21 07:27:52 -07:00
Paul Gauthier
76c09205d0 copy 2025-03-20 19:10:59 -07:00
Paul Gauthier
d365b5248c copy 2025-03-20 19:08:21 -07:00
Paul Gauthier
3dd91bc6f2 copy 2025-03-20 15:29:47 -07:00
Paul Gauthier (aider)
3dc5a48fcc fix: Handle newline in git commit message assertion 2025-03-20 15:23:41 -07:00
Paul Gauthier (aider)
bff077f855 style: Remove trailing whitespace in test_repo.py 2025-03-20 15:23:20 -07:00
Paul Gauthier (aider)
6022b09437 fix: Move pre-commit hook creation after initial commit in test 2025-03-20 15:23:15 -07:00
Paul Gauthier (aider)
62b52a78fe style: Remove trailing whitespace in test_repo.py 2025-03-20 15:22:07 -07:00
Paul Gauthier (aider)
e33dc9355d test: Add test for --git-commit-verify option 2025-03-20 15:22:03 -07:00
Paul Gauthier
834da07736 copy 2025-03-20 15:14:08 -07:00
Paul Gauthier (aider)
fe795cc2d5 chore: Change default git commit verify flag to False 2025-03-20 15:08:44 -07:00
Paul Gauthier (aider)
593de47438 docs: Add --no-git-commit-verify flag documentation 2025-03-20 15:07:51 -07:00
Paul Gauthier (aider)
ac231e43ad feat: Add --git-commit-verify flag to control git hook verification 2025-03-20 15:06:44 -07:00
Paul Gauthier
aca64071c8 copy 2025-03-20 14:31:03 -07:00
Paul Gauthier (aider)
5c205cd753 fix: use rounding instead of truncation for star counts 2025-03-20 14:29:57 -07:00
Paul Gauthier (aider)
57ce2c48b8 fix: round GitHub stars to whole numbers in HTML output 2025-03-20 14:28:58 -07:00
Paul Gauthier
0937b34983 chore: Update badges and stats in README and website 2025-03-20 14:25:24 -07:00
Paul Gauthier (aider)
291c4eb258 style: Remove trailing whitespace and standardize string quotes 2025-03-20 14:23:07 -07:00
Paul Gauthier (aider)
a8744708a0 feat: Add HTML-formatted badges generation function 2025-03-20 14:23:02 -07:00
Paul Gauthier (aider)
3010b94a64 refactor: move tooltip text to global constants 2025-03-20 14:21:35 -07:00
Paul Gauthier (aider)
9c4d173b1f style: Add whitespace around arithmetic operators in format_number 2025-03-20 14:20:45 -07:00
Paul Gauthier (aider)
cca155c5c6 refactor: Move tokens/week value to global constant TOKENS_PER_WEEK 2025-03-20 14:20:09 -07:00
Paul Gauthier (aider)
a93e7108e6 style: Format code with linter 2025-03-20 14:18:50 -07:00
Paul Gauthier (aider)
d26df6c178 feat: add get_badges_md() function to generate badges markdown 2025-03-20 14:18:41 -07:00
Paul Gauthier
e915964d81 style: Add noqa comment to badges.py for flake8 compliance 2025-03-20 14:18:36 -07:00
Paul Gauthier (aider)
1304ca2425 style: Remove trailing whitespace in badges.py 2025-03-20 14:15:14 -07:00
Paul Gauthier (aider)
894f6b6d1d feat: Add function to generate markdown badges with formatted stats 2025-03-20 14:15:08 -07:00
Paul Gauthier (aider)
6605a9b22a style: Remove trailing whitespace in badges.py 2025-03-20 14:12:34 -07:00
Paul Gauthier (aider)
b5d963d151 fix: properly identify latest release by parsing version numbers 2025-03-20 14:12:31 -07:00
Paul Gauthier (aider)
8f840ae0b1 refactor: Rename function and emphasize LATEST release in output 2025-03-20 14:11:08 -07:00
Paul Gauthier (aider)
7942ca9206 style: Format code and fix import order in badges.py 2025-03-20 14:10:43 -07:00
Paul Gauthier (aider)
a5614bfe40 feat: Add Aider contribution percentage to badges script 2025-03-20 14:10:39 -07:00
Paul Gauthier (aider)
eaac00ad3f style: Format code according to linter rules 2025-03-20 14:07:58 -07:00
Paul Gauthier (aider)
6687cc9465 feat: Add GitHub stars fetching to badges script 2025-03-20 14:07:52 -07:00
Paul Gauthier (aider)
5b9464ed31 style: Format code with linter in badges.py 2025-03-20 14:06:20 -07:00
Paul Gauthier (aider)
4c7d99b26c feat: Add .env support for PEPY_API_KEY in badges script 2025-03-20 14:06:16 -07:00
Paul Gauthier
5bf248164a chore: Make badges.py executable 2025-03-20 14:06:15 -07:00
Paul Gauthier (aider)
4eeae967db chore: Remove unused json import in badges.py 2025-03-20 14:05:38 -07:00
Paul Gauthier (aider)
0ac2a85a3e style: Reformat code and fix import order in badges.py 2025-03-20 14:05:26 -07:00
Paul Gauthier (aider)
71884e58d4 feat: Add script to fetch total downloads from pepy.tech API 2025-03-20 14:05:22 -07:00
Paul Gauthier
37b2f9617c feat: Add badges generation script 2025-03-20 14:05:21 -07:00
Paul Gauthier (aider)
01af14693c chore: Add Jekyll front matter to index.html for templating support 2025-03-20 13:50:37 -07:00
Paul Gauthier
90e2929fc5 copy 2025-03-20 13:47:13 -07:00
Paul Gauthier (aider)
8f260aa544 docs: Add tooltips to README badges 2025-03-20 13:44:34 -07:00
Paul Gauthier (aider)
ee72a09278 feat: Add tooltips to explain stats badges 2025-03-20 13:43:16 -07:00
Paul Gauthier
e6a422b6c2 copy 2025-03-20 11:45:50 -07:00
Paul Gauthier
d29aff919b copy 2025-03-20 11:20:01 -07:00
Paul Gauthier (aider)
5023bbe8c0 style: Fix lint issues by removing unused import and adding whitespace 2025-03-20 11:09:15 -07:00
Paul Gauthier
c08e3daf29 slim down logo svg 2025-03-20 11:08:31 -07:00
Paul Gauthier (aider)
9cf194b52b style: Format code with consistent spacing and line breaks 2025-03-20 11:07:55 -07:00
Paul Gauthier (aider)
1b0ba71ef0 refactor: Subset font to include only needed characters in SVG logo 2025-03-20 11:07:51 -07:00
Paul Gauthier
de5ab102b7 refactor: Update internal links to use relative paths 2025-03-20 11:04:16 -07:00
Paul Gauthier
4e2c7c3329 copy 2025-03-20 09:28:44 -07:00
Paul Gauthier (aider)
b62840c347 feat: Add SVG logo with progressive enhancement to Jekyll pages 2025-03-20 08:11:48 -07:00
Paul Gauthier
674379fe30 blame includes home page 2025-03-20 08:09:56 -07:00
Paul Gauthier
004ffb9f60 copy 2025-03-20 08:07:56 -07:00
Paul Gauthier (aider)
bed836b15a feat: Add progressive enhancement for SVG logo in header 2025-03-20 08:06:28 -07:00
Paul Gauthier
bbf219ecd2 refactor: Adjust Gaussian blur stdDeviation in SVG filter 2025-03-20 08:00:30 -07:00
Paul Gauthier (aider)
022bf4bdcc feat: Make SVG logo blur effect more transparent 2025-03-20 07:57:40 -07:00
Paul Gauthier
d8ed90a2c0 refactor: Adjust SVG glow filter parameters in logo_svg.py 2025-03-20 07:56:44 -07:00
Paul Gauthier (aider)
e5d9d91b01 style: Extend horizontal glow effect in logo SVG filter 2025-03-20 07:54:45 -07:00
Paul Gauthier (aider)
c8f6576cd7 feat: Add glow effect to SVG logo using Gaussian blur filter 2025-03-20 07:54:02 -07:00
Paul Gauthier
14f140fdc5 copy 2025-03-19 21:56:42 -07:00
Paul Gauthier (aider)
fdbe169423 refactor: Make SVG logo background transparent instead of white 2025-03-19 21:56:21 -07:00
Paul Gauthier (aider)
e4ec370e2a feat: Add bash syntax highlighting to code block using Prism.js 2025-03-19 21:54:34 -07:00
Paul Gauthier
dfbdb43c31 copy 2025-03-19 21:48:16 -07:00
Paul Gauthier (aider)
9b8606535d style: Vertically center text in SVG logo 2025-03-19 21:46:25 -07:00
Paul Gauthier (aider)
0b79fd0a8e style: Center text horizontally in SVG logo 2025-03-19 21:45:58 -07:00
Paul Gauthier
f032606f32 style: Change background color to black in SVG logo 2025-03-19 21:45:56 -07:00
Paul Gauthier
b652a8416d copy 2025-03-19 21:43:33 -07:00
Paul Gauthier
8f7b50f3df copy 2025-03-19 21:43:09 -07:00
Paul Gauthier
2adafad4e2 copy 2025-03-19 21:42:39 -07:00
Paul Gauthier (aider)
99a5862bc9 chore: Remove unused Path import from logo_svg.py 2025-03-19 21:40:48 -07:00
Paul Gauthier
6dda54f431 chore: Remove unused .logo-svg CSS class and add new logo SVG file 2025-03-19 21:40:37 -07:00
Paul Gauthier (aider)
8e187a913f docs: Add Aider logo to README.md 2025-03-19 21:38:48 -07:00
Paul Gauthier (aider)
8935c87d7a style: Format code with consistent quotes and line breaks 2025-03-19 21:36:20 -07:00
Paul Gauthier (aider)
c6e544750b feat: Add script to generate SVG logo with embedded font 2025-03-19 21:36:15 -07:00
Paul Gauthier
c14d406f59 feat: Add script for generating logo in SVG format 2025-03-19 21:36:14 -07:00
Paul Gauthier
4edfe39449 copy 2025-03-19 21:28:44 -07:00
Paul Gauthier (aider)
1239d77c88 docs: Add icons to feature list in README 2025-03-19 21:28:33 -07:00
Paul Gauthier
7d4b0b20e8 copy 2025-03-19 21:26:07 -07:00
Paul Gauthier
1f42cdd762 copy 2025-03-19 21:24:37 -07:00
Paul Gauthier (aider)
f182b81e0f docs: Add feature documentation links to README 2025-03-19 21:22:52 -07:00
Paul Gauthier
3f2256d4c4 rename 2025-03-19 21:21:29 -07:00
Paul Gauthier (aider)
e4b1b12b26 docs: Update README with polished content from index.html 2025-03-19 21:19:22 -07:00
Paul Gauthier
35477e0a5a docs: Add README.new.md 2025-03-19 21:19:21 -07:00
Paul Gauthier
f752c9c8a9 copy 2025-03-19 21:16:17 -07:00
Paul Gauthier (aider)
d5dd7b0a96 chore: Update badge text from "Codes Itself" to "Singularity" in README.md 2025-03-19 21:16:12 -07:00
Paul Gauthier
4e16eba6b0 docs: Update copy/paste feature description and button labels 2025-03-19 21:16:06 -07:00
Paul Gauthier (aider)
4f129e1c9d feat: Add feature cards for voice-to-code, linting/testing, and copy/paste 2025-03-19 21:06:04 -07:00
Paul Gauthier
ffbbb5539d docs: Update supported languages and API key placeholders in index.html 2025-03-19 21:06:03 -07:00
Paul Gauthier (aider)
30e5b48461 feat: Add CTA section to homepage with install and docs buttons 2025-03-19 20:45:37 -07:00
Paul Gauthier
0dc31011f5 chore: Update website text and remove redundant content 2025-03-19 20:45:35 -07:00
Paul Gauthier
479df00a3b chore: Update badge label from "Codes Itself" to "Inception" 2025-03-19 20:38:12 -07:00
Paul Gauthier (aider)
06f3e15ce9 style: Reduce vertical space between video and badges on mobile 2025-03-19 20:35:01 -07:00
Paul Gauthier
2f7fde163a docs: Update website copy for clarity and consistency 2025-03-19 20:33:06 -07:00
Paul Gauthier (aider)
71d26c2ec5 style: Reduce hero section padding on mobile devices 2025-03-19 20:32:18 -07:00
Paul Gauthier
acf8b40a28 copy 2025-03-19 18:07:56 -07:00
Paul Gauthier (aider)
318027d9e1 docs: Add icons to README badges 2025-03-19 17:49:30 -07:00
Paul Gauthier (aider)
3116e833a7 docs: Add "Codes Itself" badge to README 2025-03-19 17:46:39 -07:00
Paul Gauthier (aider)
1cb71b33fa feat: Rename "Self-Coded" badge to "Codes Itself" and link to HISTORY.html 2025-03-19 17:45:47 -07:00
Paul Gauthier (aider)
7e76b8d0c3 style: Replace self-coded icon with brain and increase stats container width 2025-03-19 17:44:51 -07:00
Paul Gauthier (aider)
e0e78cd879 feat: Add "Self-Coded: 72%" badge to stats section 2025-03-19 17:43:01 -07:00
Paul Gauthier
82e4dcf40f copy 2025-03-19 17:07:31 -07:00
Paul Gauthier
22b77ad14f copy 2025-03-19 17:04:30 -07:00
Paul Gauthier
9b23975f09 copy 2025-03-19 17:00:07 -07:00
Paul Gauthier (aider)
584c3a65f5 docs: Add FAQ link to More Info resources 2025-03-19 16:58:42 -07:00
Paul Gauthier
db4d6c4419 docs: Update feature titles and descriptions on website 2025-03-19 16:58:40 -07:00
Paul Gauthier
92cb1c60d1 copy 2025-03-19 16:05:34 -07:00
Paul Gauthier (aider)
ca72d0ca5b style: Standardize feature card title capitalization 2025-03-19 14:24:31 -07:00
Paul Gauthier (aider)
ba7f245d88 fix: Center hero content horizontally on narrow screens 2025-03-19 14:17:57 -07:00
Marco Mayer
ef67ba5cf4 feat: vi-like behavior when pressing enter in multiline-mode while in vi normal/navigation-mode 2025-03-19 22:11:26 +01:00
Paul Gauthier (aider)
1f630a03b9 style: Update feature cards with blue underline instead of shaded header 2025-03-19 14:09:21 -07:00
Paul Gauthier (aider)
5f71cdc497 style: Remove blue vertical line from hero content 2025-03-19 14:08:32 -07:00
Paul Gauthier (aider)
b85226b8a5 style: Adjust hero section alignment, spacing, and visual hierarchy 2025-03-19 14:07:43 -07:00
Paul Gauthier (aider)
af4acccf9f style: Update video container background to match gradient better 2025-03-19 14:03:24 -07:00
Paul Gauthier (aider)
3a3bc9898d fix: maintain video aspect ratio using padding-bottom technique 2025-03-19 13:59:06 -07:00
Paul Gauthier (aider)
5349c99c74 fix: Add aspect-ratio to video container and preload metadata 2025-03-19 13:55:50 -07:00
Paul Gauthier
68d175f1c5 style: Update section title capitalization in index.html 2025-03-19 13:55:48 -07:00
Paul Gauthier
352f1f31d2 copy 2025-03-19 13:49:20 -07:00
Paul Gauthier (aider)
c51ef714ad style: Remove whitespace around badge <img> tags in README.md 2025-03-19 13:49:12 -07:00
Paul Gauthier
5ae68a3c48 docs: Update README.md with clearer project description 2025-03-19 13:49:11 -07:00
Paul Gauthier
d2c7e51fac copy 2025-03-19 13:47:16 -07:00
Paul Gauthier (aider)
d9aa3fb973 style: Increase top margin of stats-container to 50px 2025-03-19 13:44:43 -07:00
Paul Gauthier
e1b79ddd69 style: Adjust hero h1 font size to 2.5rem 2025-03-19 13:43:30 -07:00
Paul Gauthier (aider)
3270a8737c refactor: Move stats-container below hero-grid in HTML layout 2025-03-19 13:42:58 -07:00
Paul Gauthier
cbe8d320fa style: Update hero heading to lowercase in website index.html 2025-03-19 13:42:57 -07:00
Paul Gauthier (aider)
78ce63e71e refactor: Move hero heading into 40% split container 2025-03-19 13:38:53 -07:00
Paul Gauthier (aider)
1bb396bea5 feat: implement two-column layout for More Information section 2025-03-19 13:37:13 -07:00
Paul Gauthier (aider)
16304beeab style: Keep buttons side-by-side on narrow screens with responsive CSS 2025-03-19 13:34:28 -07:00
Paul Gauthier
d2cfd541ed margin 2025-03-19 13:31:54 -07:00
Paul Gauthier
8b1aaf690c gradient 2025-03-19 13:31:00 -07:00
Paul Gauthier
f1ca8f594c style: Adjust gradient colors in testimonial-card 2025-03-19 13:26:59 -07:00
Paul Gauthier (aider)
78d2e0aa25 style: Reduce mobile nav bar height and adjust logo size 2025-03-19 13:08:07 -07:00
Paul Gauthier
4a3d239082 copy 2025-03-19 12:47:22 -07:00
Paul Gauthier
94eaee8d39 copy 2025-03-19 12:46:28 -07:00
Paul Gauthier (aider)
471f03ab4f style: Reduce feature card padding on mobile devices 2025-03-19 12:45:18 -07:00
Paul Gauthier
9df9af822c style: Adjust code block font size in home.css 2025-03-19 12:45:16 -07:00
Paul Gauthier (aider)
7b49623b31 style: Reduce font sizes for mobile responsiveness 2025-03-19 12:41:25 -07:00
Paul Gauthier
12bda2b8d0 copy 2025-03-19 12:37:59 -07:00
Paul Gauthier
2022f214aa Merge branch 'home' 2025-03-19 12:37:42 -07:00
Paul Gauthier (aider)
786738ba81 refactor: Move CSS styles to separate home.css file 2025-03-19 12:36:02 -07:00
Paul Gauthier
e4f1b59475 feat: Add home.css for website assets 2025-03-19 12:33:55 -07:00
Paul Gauthier
7cb302f571 move home to / 2025-03-19 12:32:54 -07:00
Paul Gauthier
8bae91cf6e initial 2025-03-19 12:30:30 -07:00
Paul Gauthier
44a145fc86 copy 2025-03-19 12:30:21 -07:00
Paul Gauthier
a1fa62adef copy 2025-03-19 12:28:51 -07:00
Paul Gauthier (aider)
fe247a8f6a style: Lighten sidebar gradient color in head_custom.html 2025-03-19 12:24:46 -07:00
Paul Gauthier (aider)
54e70eff13 style: Lighten sidebar gradient color in head_custom.html 2025-03-19 12:23:45 -07:00
Paul Gauthier (aider)
5453f4a85d style: Update sidebar gradient end color to #F5F6FA 2025-03-19 12:19:22 -07:00
Paul Gauthier (aider)
f2654390e7 style: Add gradient to sidebar matching hero section 2025-03-19 12:18:03 -07:00
Paul Gauthier
777903f7da copy 2025-03-19 12:14:29 -07:00
Paul Gauthier (aider)
2f7892561f style: update .site-title font to match "aider" logo styling 2025-03-19 12:13:36 -07:00
Paul Gauthier (aider)
6d79000d6c style: Add custom CSS for .site-title in head_custom.html 2025-03-19 12:11:20 -07:00
Paul Gauthier (aider)
284911cd6b style: Increase font size in Getting Started section for better readability 2025-03-19 12:04:46 -07:00
Paul Gauthier
70b6da108c docs: Update testimonials section title in home.html 2025-03-19 12:04:45 -07:00
Paul Gauthier (aider)
6de3b2b262 style: Adjust testimonial card gradient to use more blue with hint of green 2025-03-19 12:03:45 -07:00
Paul Gauthier (aider)
e7554c5413 refactor: Remove quotes from testimonial text in home.html 2025-03-19 11:59:34 -07:00
Paul Gauthier (aider)
2facd2ab16 style: Add fancy typographic quotes to testimonials using CSS 2025-03-19 11:59:19 -07:00
Paul Gauthier (aider)
20ba252c56 feat: Add gradient backgrounds to testimonial cards 2025-03-19 11:58:15 -07:00
Paul Gauthier (aider)
eba123e381 style: Update hero gradient to incorporate blue palette and green logo color 2025-03-19 11:45:59 -07:00
Paul Gauthier (aider)
3bb57af331 style: Darken main "aider" logo font color 2025-03-19 11:44:02 -07:00
Paul Gauthier
aeb991fdf3 chore: Update logo text to lowercase in home.html 2025-03-19 11:44:00 -07:00
Paul Gauthier
75a14380ef refactor: Update font path in home.html to use assets directory 2025-03-19 11:42:55 -07:00
Paul Gauthier (aider)
0aeecf4d9a style: Update "Aider" logo to use terminal font and green color 2025-03-19 11:39:18 -07:00
Paul Gauthier (aider)
447347c760 style: Enhance hero section background with richer gradient and effects 2025-03-19 11:36:43 -07:00
Paul Gauthier
79619de045 docs: Update language support description in home.html 2025-03-19 11:36:42 -07:00
Paul Gauthier (aider)
1af423e2df style: Adjust hero section layout and background for better visual emphasis 2025-03-19 11:27:41 -07:00
Paul Gauthier
92fcf9a159 badges in main readme 2025-03-19 11:23:33 -07:00
Paul Gauthier (aider)
d1b1cc5c14 docs: Add stats badges to README.md 2025-03-19 11:19:17 -07:00
Paul Gauthier (aider)
b9514ad82a style: Update language support icon to use styled "</>" 2025-03-19 11:15:35 -07:00
Paul Gauthier (aider)
7b3411b236 docs: Update feature card to highlight language support 2025-03-19 11:13:23 -07:00
Paul Gauthier (aider)
915e87e88e feat: Make feature cards fully clickable with external links 2025-03-19 11:12:08 -07:00
Paul Gauthier (aider)
face505f0d style: Enhance feature card visual hierarchy with borders and spacing 2025-03-19 11:10:27 -07:00
Paul Gauthier
dada307e79 refactor: Simplify feature titles in home.html 2025-03-19 11:10:26 -07:00
Paul Gauthier (aider)
5124c512c9 style: Replace header border with shaded background in feature cards 2025-03-19 11:08:36 -07:00
Paul Gauthier (aider)
89f579c1ba refactor: add card header with icon and title for better visual integration 2025-03-19 11:07:49 -07:00
Paul Gauthier (aider)
0035f28035 chore: Update Git integration icon from 🔄 to 🔀 2025-03-19 11:02:42 -07:00
Paul Gauthier
4d556d9235 chore: Update token statistics label and value in home.html 2025-03-19 11:02:41 -07:00
Paul Gauthier (aider)
dd5ef29355 refactor: Reorder feature cards with LLM, Map, Multifile in first row 2025-03-19 10:59:51 -07:00
Paul Gauthier
ca9922ef0a refactor: Simplify paragraph in home.html 2025-03-19 10:59:50 -07:00
Paul Gauthier (aider)
b674a0a5e8 feat: Replace Voice Coding card with LLM compatibility card using brain icon 2025-03-19 10:57:49 -07:00
Paul Gauthier (aider)
541d0e6f5c docs: Add installation and usage links to home page paragraph 2025-03-19 10:56:29 -07:00
Paul Gauthier (aider)
fc96e980fb docs: Add link to LLM connection documentation in home page 2025-03-19 10:55:42 -07:00
Paul Gauthier
1425e3e6c7 chore: Update documentation links to point to install.html 2025-03-19 10:54:52 -07:00
Paul Gauthier (aider)
b9d3c11032 chore: Update documentation links to point to /docs/usage.html 2025-03-19 10:52:21 -07:00
Paul Gauthier
81b65e0de3 refactor: Remove "Top Tier Performance" section from home.html 2025-03-19 10:52:20 -07:00
Paul Gauthier
0f80f6af27 copy 2025-03-19 10:48:40 -07:00
Paul Gauthier (aider)
5eedf98aae refactor: Restructure hero section layout with full-width title and badges 2025-03-19 10:33:34 -07:00
Paul Gauthier (aider)
8f45a2ef3d style: Update responsive layout for mobile devices in home.html 2025-03-19 10:31:36 -07:00
Paul Gauthier (aider)
9d51d4a572 refactor: Reorganize hero section into two-column layout 2025-03-19 10:31:22 -07:00
Paul Gauthier (aider)
9978c8ea48 refactor: Replace link with div for Token Processed badge 2025-03-19 10:29:00 -07:00
Paul Gauthier
e779358429 chore: Update token badge label and value in home.html 2025-03-19 10:28:59 -07:00
Paul Gauthier (aider)
8d663cc3d6 style: restyle stats section to use GitHub badges format 2025-03-19 10:23:55 -07:00
Paul Gauthier (aider)
a98ca30438 fix: prevent recently removed testimonials from immediate reuse 2025-03-19 10:16:44 -07:00
Paul Gauthier (aider)
589cb2ac79 feat: prevent consecutive flips of the same testimonial card 2025-03-19 10:14:59 -07:00
Paul Gauthier (aider)
d973be8fea feat: Add 3D card flip animation to testimonials 2025-03-19 10:14:11 -07:00
Paul Gauthier (aider)
41c3b59755 refactor: change testimonial rotation to random selection 2025-03-19 10:12:51 -07:00
Paul Gauthier (aider)
8bf168da47 feat: Update testimonials to rotate one at a time with fade animation 2025-03-19 10:11:30 -07:00
Paul Gauthier
0d85c06be2 refactor: Adjust testimonial rotation interval in home.html 2025-03-19 10:11:26 -07:00
Paul Gauthier (aider)
fadede7305 feat: Add dynamic rotating testimonials with user links 2025-03-19 10:09:21 -07:00
Paul Gauthier
a24d31fbba docs: Update feature title in home.html to "Map Of Your Code" 2025-03-19 10:09:08 -07:00
Paul Gauthier (aider)
c9d463443a style: Update IDE feature card icon to desktop emoji 2025-03-19 10:03:51 -07:00
Paul Gauthier (aider)
0e3d486658 docs: Update feature card to highlight IDE integration 2025-03-19 10:02:24 -07:00
Paul Gauthier (aider)
574ab6bdda feat: Add links to feature descriptions in home.html 2025-03-19 09:29:47 -07:00
Paul Gauthier
a172d15463 refactor: Update stats section in home.html with new icons and labels 2025-03-19 09:29:45 -07:00
Paul Gauthier (aider)
a1362b946a style: Enhance stats section with modern cards and hover effects 2025-03-19 09:04:05 -07:00
Paul Gauthier (aider)
6ecb4c5ece feat: Add stats section to home page 2025-03-19 09:02:36 -07:00
Paul Gauthier
63c1320f36 feat: Add initial home.html for Aider website 2025-03-19 09:02:34 -07:00
Paul Gauthier
bf484ce4c4 chore: Remove home.html file 2025-03-19 08:59:59 -07:00
Paul Gauthier
1700212f30 copy 2025-03-19 08:54:22 -07:00
Paul Gauthier
751ca3bf75 copy 2025-03-19 08:22:46 -07:00
Paul Gauthier (aider)
01be8bc64e style: Make macos-backdrop padding responsive using clamp() 2025-03-19 08:20:07 -07:00
Paul Gauthier
a9e8005b14 style: Adjust padding comment in macos-backdrop CSS class 2025-03-19 08:20:05 -07:00
Paul Gauthier (aider)
871cff6232 feat: Add stylish HTML landing page for Aider 2025-03-19 08:16:25 -07:00
Paul Gauthier
1de8f5ceda feat: Add home.html for website 2025-03-19 08:16:21 -07:00
Paul Gauthier
dd4d2420df copy 2025-03-18 19:07:03 -07:00
Paul Gauthier (aider)
e9b1a98314 fix: Adjust z-index and opacity for backdrop decorative lines 2025-03-18 19:00:24 -07:00
Paul Gauthier (aider)
f0f48e8e30 fix: Ensure decorative lines only appear in backdrop, not terminal area 2025-03-18 18:59:29 -07:00
Paul Gauthier (aider)
89b008e1eb style: Add decorative curved lines to macos-backdrop background 2025-03-18 18:58:05 -07:00
Paul Gauthier (aider)
fb3f8439e2 style: Increase top/bottom padding of .macos-backdrop by 50% 2025-03-18 18:57:30 -07:00
Paul Gauthier (aider)
f0e66d2bfb feat: Add macOS-like colorful backdrop to terminal display 2025-03-18 18:53:11 -07:00
Paul Gauthier
65ec254c1b copy 2025-03-18 18:42:23 -07:00
Paul Gauthier
47c0d95bd4 refactor: Add missing --read flag in update-history.py 2025-03-18 18:26:08 -07:00
Paul Gauthier
55d7bed563 copy 2025-03-18 18:25:57 -07:00
Paul Gauthier (aider)
9a4f3b8d8e style: Format code and add whitespace for readability 2025-03-18 18:23:45 -07:00
Paul Gauthier (aider)
d9c5ce15f3 refactor: Separate git log and diff in update-history script 2025-03-18 18:23:42 -07:00
Paul Gauthier (aider)
292908288b chore: Remove unused import of __version__ from aider 2025-03-18 18:18:51 -07:00
Paul Gauthier (aider)
7fec2661fc style: Standardize string quotes in update-history.py 2025-03-18 18:18:39 -07:00
Paul Gauthier (aider)
0cee8bc6ac refactor: Use latest version header in HISTORY.md for git log range 2025-03-18 18:18:34 -07:00
Paul Gauthier
37d867e47e better 2025-03-18 18:15:08 -07:00
Paul Gauthier
c1338fe92f copy 2025-03-18 18:09:25 -07:00
Paul Gauthier
1e90a679c0 copy 2025-03-18 18:06:41 -07:00
Paul Gauthier (aider)
ddb7b9cb8b docs: Expand explanation of accepts_settings behavior in reasoning docs 2025-03-18 17:45:19 -07:00
Paul Gauthier (aider)
31e1604d99 docs: Update reasoning settings documentation for accepts_settings and --no-check-model-accepts-settings 2025-03-18 17:45:06 -07:00
Paul Gauthier
e11c32bca5 refactor: Simplify model setting warning message in main.py 2025-03-18 17:43:57 -07:00
Paul Gauthier
16309dc077 test: Update test assertions and model in test_main.py 2025-03-18 17:40:26 -07:00
Paul Gauthier (aider)
8a1b496cd5 style: Format test_main.py with linter 2025-03-18 17:37:01 -07:00
Paul Gauthier (aider)
99cf99e014 test: update test for --check-model-accepts-settings flag 2025-03-18 17:36:55 -07:00
Paul Gauthier (aider)
f2e9b06dbd fix: Update tests and logic for model settings acceptance checks 2025-03-18 17:36:30 -07:00
Paul Gauthier (aider)
6cce7c34c2 style: Format test_main.py with linter 2025-03-18 17:33:58 -07:00
Paul Gauthier (aider)
dd2efac3ae test: verify Model.set_ methods are called appropriately in tests 2025-03-18 17:33:52 -07:00
Paul Gauthier (aider)
14c0e50721 style: Format warning message in main.py for readability 2025-03-18 17:22:31 -07:00
Paul Gauthier (aider)
68e218d002 refactor: ignore unsupported model parameters with warning instead of prompt 2025-03-18 17:22:25 -07:00
Paul Gauthier
0a026e71b7 copy 2025-03-18 14:43:36 -07:00
Paul Gauthier
5175a8c7ca copy 2025-03-18 14:42:12 -07:00
Paul Gauthier
661e0cfc71 copy 2025-03-18 14:30:22 -07:00
Paul Gauthier
9ff6f35330 copy 2025-03-18 14:13:08 -07:00
Paul Gauthier
ab5a066780 feat: Add controls to video player in recording.js 2025-03-18 14:05:06 -07:00
Paul Gauthier (aider)
c2d649e655 refactor: Use Jekyll templating for recordings list generation 2025-03-18 14:04:29 -07:00
Paul Gauthier (aider)
f82bb65810 docs: Add descriptions to recording pages using text from index 2025-03-18 14:03:03 -07:00
Paul Gauthier
e76c54b18e docs: Add empty description field to model-accepts-settings.md 2025-03-18 14:03:02 -07:00
Paul Gauthier
43658055d3 copy 2025-03-18 13:58:31 -07:00
Paul Gauthier (aider)
0b71fded7f docs: Add entry for model-accepts-settings recording to index 2025-03-18 13:56:43 -07:00
Paul Gauthier
03d1bada2a add model-accepts-settings recording 2025-03-18 13:53:16 -07:00
Paul Gauthier (aider)
ad76355299 feat: make toast notifications persist until audio/speech completes 2025-03-18 13:32:59 -07:00
Paul Gauthier (aider)
c98d409f0a fix: prevent duplicate speech synthesis fallback 2025-03-18 13:30:31 -07:00
Paul Gauthier
9084673fd7 copy 2025-03-18 12:39:01 -07:00
Paul Gauthier
8d7300a522 docs: Update reasoning model compatibility and settings documentation 2025-03-18 12:36:27 -07:00
Paul Gauthier (aider)
7c10600044 docs: Update reasoning model settings documentation with compatibility details 2025-03-18 12:32:22 -07:00
Paul Gauthier
277da37047 refactor: Simplify warning message in main.py 2025-03-18 12:30:47 -07:00
Paul Gauthier (aider)
f6d697ed2b refactor: rename warned to warn_setting for clarity 2025-03-18 12:28:41 -07:00
Paul Gauthier (aider)
f247927244 style: Format code to comply with linter rules 2025-03-18 12:27:54 -07:00
Paul Gauthier (aider)
7097e62582 refactor: Consolidate model setting checks into a loop 2025-03-18 12:27:48 -07:00
Paul Gauthier (aider)
e577bab263 refactor: Improve model settings warning logic and fix tmux recording script 2025-03-18 12:27:33 -07:00
Paul Gauthier (aider)
274c40793f refactor: Use warn_setting variable for model setting warnings 2025-03-18 12:27:28 -07:00
Paul Gauthier
afbe9266e7 refactor: Simplify warning messages and confirmation prompt 2025-03-18 12:27:27 -07:00
Paul Gauthier (aider)
195ed3e6b6 style: Remove trailing whitespace and format confirm_ask call 2025-03-18 12:24:13 -07:00
Paul Gauthier (aider)
ed8ace7884 feat: Add confirmation prompt for unsupported model parameters 2025-03-18 12:24:06 -07:00
Paul Gauthier (aider)
14761ebec2 fix: Update test_thinking_tokens_option to check correct thinking tokens location 2025-03-18 12:22:13 -07:00
Paul Gauthier (aider)
50d8a19397 style: Format test_main.py with consistent line breaks 2025-03-18 12:18:57 -07:00
Paul Gauthier (aider)
719324981d test: Add tests for accepts_settings configuration and thinking_tokens option 2025-03-18 12:18:52 -07:00
Paul Gauthier (aider)
182c06107f fix: move model setting warnings after settings are resolved 2025-03-18 12:13:55 -07:00
Paul Gauthier (aider)
d4d4852a0c feat: Add thinking_tokens and reasoning_effort settings to models 2025-03-18 12:08:52 -07:00
Paul Gauthier (aider)
f352fed313 style: Remove trailing whitespace in models.py 2025-03-18 12:05:23 -07:00
Paul Gauthier (aider)
5dfce2d199 feat: Add reasoning_effort and thinking_tokens settings to specific models 2025-03-18 12:05:17 -07:00
Paul Gauthier
6aafac544b refactor: Remove accepts_settings from model configurations 2025-03-18 12:05:11 -07:00
Paul Gauthier (aider)
2589c29b1c style: Format code to comply with linter rules 2025-03-18 12:01:55 -07:00
Paul Gauthier (aider)
076c38526a feat: Add --check-model-accepts-settings flag with default true 2025-03-18 12:01:45 -07:00
Paul Gauthier (aider)
9fd5cfa777 fix: warn when model settings are empty or missing specific keys 2025-03-18 12:00:36 -07:00
Paul Gauthier (aider)
c01db8783d style: Format warning messages to adhere to line length limit 2025-03-18 11:57:38 -07:00
Paul Gauthier (aider)
77101a96a1 feat: Add model setting validation for reasoning features 2025-03-18 11:57:31 -07:00
Paul Gauthier (aider)
46863b470c feat: Add terminal size output to tmux_record.sh 2025-03-18 11:53:28 -07:00
Paul Gauthier
736c1f7e1e chore: Make tmux_record.sh executable 2025-03-18 11:53:26 -07:00
Paul Gauthier (aider)
4cf9679334 feat: add check for exactly one active tmux window 2025-03-18 11:50:12 -07:00
Paul Gauthier
89c9290602 refactor: Simplify asciinema command in tmux_record.sh 2025-03-18 11:50:10 -07:00
Paul Gauthier (aider)
3ba75c5a62 feat: Add dynamic tmux window size detection to recording script 2025-03-18 11:49:25 -07:00
Paul Gauthier
4ceaed7183 feat: Add tmux recording script 2025-03-18 11:49:24 -07:00
Paul Gauthier
f310497d47 copy 2025-03-18 09:55:47 -07:00
Paul Gauthier
94bcaa71e6 copy 2025-03-17 21:24:34 -07:00
Paul Gauthier
67bdccbda6 refactor: Adjust padding in NoInsetCodeBlock syntax rendering 2025-03-17 21:17:02 -07:00
Paul Gauthier (aider)
f89dabbd0a refactor: Replace make_elements() with class var in NoInsetMarkdown 2025-03-17 21:15:30 -07:00
Paul Gauthier
76eee60ad5 refactor: Update NoInsetMarkdown to use NoInsetCodeBlock for fence elements 2025-03-17 21:15:28 -07:00
Paul Gauthier (aider)
ac4e4959eb style: Format code according to linter rules 2025-03-17 21:10:17 -07:00
Paul Gauthier (aider)
7316635aba feat: Remove padding from markdown code blocks using NoInsetMarkdown 2025-03-17 21:10:12 -07:00
Paul Gauthier
feb277049f copy 2025-03-17 19:43:50 -07:00
Paul Gauthier
35d5febd7d copy 2025-03-17 19:05:31 -07:00
Paul Gauthier
97a3bfca4e set version to 0.77.2.dev 2025-03-17 18:07:22 -07:00
Paul Gauthier
cf58133e06 version bump to 0.77.1 2025-03-17 18:07:19 -07:00
Paul Gauthier
0d1811a4ae chore: Update exclude patterns in help_pats.py 2025-03-17 18:03:59 -07:00
Paul Gauthier
2a8bb715f0 copy 2025-03-17 17:29:54 -07:00
Paul Gauthier
cf93869d3f gemma3b 2025-03-17 16:39:45 -07:00
Paul Gauthier
77976a5253 copy 2025-03-17 10:24:07 -07:00
Paul Gauthier
5af46aaa2e bump deps 2025-03-17 10:23:21 -07:00
lentil32 (aider)
679c634459 test: Add tests for AWS credential handling with AWS_PROFILE 2025-03-16 16:09:32 +09:00
lentil32 (aider)
cc33fc2822 feat: Handle AWS_PROFILE for Bedrock models in validate_environment 2025-03-16 16:00:15 +09:00
Paul Gauthier (aider)
4f4b10fd86 feat: Hide keyboard shortcuts on devices without physical keyboards 2025-03-14 19:43:16 -07:00
Paul Gauthier (aider)
26789115b6 fix: improve iOS audio playback with global audio element and better fallback 2025-03-14 19:40:27 -07:00
Paul Gauthier
87a28dcb9f copy 2025-03-14 19:17:51 -07:00
Paul Gauthier
1ad99f39e2 formatting 2025-03-14 19:14:22 -07:00
Paul Gauthier (aider)
dfbeec199e style: Properly indent HTML divs in recording.md 2025-03-14 19:13:32 -07:00
Paul Gauthier
41a99ec29d use better TTS 2025-03-14 19:10:35 -07:00
Paul Gauthier (aider)
7cee3aa1f1 fix: prevent duplicate speech synthesis fallback in recording.js 2025-03-14 19:07:53 -07:00
Paul Gauthier (aider)
b86d8099f1 fix: Remove unused import and convert f-strings without placeholders 2025-03-14 18:55:58 -07:00
Paul Gauthier (aider)
9c4a0043dd style: Format code to comply with linter rules 2025-03-14 18:55:36 -07:00
Paul Gauthier (aider)
5cde755976 feat: compress MP3 files using FFmpeg with configurable bitrate 2025-03-14 18:55:31 -07:00
Paul Gauthier (aider)
51aab7b656 feat: Print audio directory path on script launch 2025-03-14 18:53:31 -07:00
Paul Gauthier (aider)
791dc213fa style: Format code with linter 2025-03-14 18:52:47 -07:00
Paul Gauthier (aider)
8404165db3 feat: Add metadata tracking and TTS fallback improvements 2025-03-14 18:52:41 -07:00
Paul Gauthier (aider)
aee52c01a3 style: Remove trailing whitespace in recording_audio.py 2025-03-14 18:49:16 -07:00
Paul Gauthier (aider)
58e16b0c48 fix: Remove global VOICE usage and pass voice parameter directly 2025-03-14 18:49:12 -07:00
Paul Gauthier
3225ac88c0 chore: Make recording_audio.py executable 2025-03-14 18:49:10 -07:00
Paul Gauthier (aider)
38b8b85ec2 style: Format code with linter 2025-03-14 18:47:12 -07:00
Paul Gauthier (aider)
278f748c1c feat: Add OpenAI TTS audio generation and playback for recordings 2025-03-14 18:47:06 -07:00
Paul Gauthier
874df40303 feat: Add audio recording script 2025-03-14 18:47:04 -07:00
Paul Gauthier
0465d8ce80 chore: Simplify recording markdown files and update model settings 2025-03-14 18:37:13 -07:00
Paul Gauthier (aider)
e9b3f5fd43 refactor: Move recording code to shared include file 2025-03-14 18:34:19 -07:00
Paul Gauthier
c49bc2418b chore: Refactor recording script and comments into separate file 2025-03-14 18:34:17 -07:00
Paul Gauthier
fd21f5195d chore: Update polyglot leaderboard entry with new test results 2025-03-14 18:19:20 -07:00
Paul Gauthier
a1aa63fa06 copy 2025-03-14 15:15:34 -07:00
Paul Gauthier
b0a619c714 copy 2025-03-14 14:19:51 -07:00
Paul Gauthier
ec648f2c6f copy 2025-03-14 14:14:54 -07:00
Paul Gauthier
7ac7c72e03 refactor: Simplify terminal event processing in redact-cast.py 2025-03-14 13:34:21 -07:00
Paul Gauthier
f1d00dbd7f better 2025-03-14 11:59:25 -07:00
Paul Gauthier (aider)
f644aba7a8 docs: Suppress Jekyll TOC in recordings index 2025-03-14 11:53:40 -07:00
Paul Gauthier (aider)
ed75287c8c docs: Add detailed descriptions to screen recordings index 2025-03-14 11:53:06 -07:00
Paul Gauthier
a035c73c41 docs: Add screen recordings index page 2025-03-14 11:53:03 -07:00
Paul Gauthier
781a619262 moved 2025-03-14 11:43:52 -07:00
Paul Gauthier
e08b63cc9f initial 2025-03-14 11:42:05 -07:00
Paul Gauthier
97ed57a252 initial 2025-03-14 11:25:24 -07:00
Paul Gauthier
71f1779c8c refac 2025-03-14 11:18:19 -07:00
Paul Gauthier (aider)
116f44cade feat: Focus player on page load for immediate keyboard control 2025-03-14 10:05:14 -07:00
Paul Gauthier (aider)
2ebdd689ab chore: Replace double dashes with em dashes in keyboard shortcuts 2025-03-14 10:03:08 -07:00
Paul Gauthier
beecc1a718 docs: Update keyboard shortcuts formatting in tree-sitter-language-pack.md 2025-03-14 10:03:07 -07:00
Paul Gauthier
557ba2adc1 copy 2025-03-14 10:01:31 -07:00
Paul Gauthier (aider)
89780c1283 feat: Add keyboard shortcuts info below terminal with styling 2025-03-14 10:00:21 -07:00
Paul Gauthier
411e7f86c1 copy 2025-03-14 09:56:32 -07:00
Paul Gauthier
610fce67e1 copy 2025-03-14 09:49:26 -07:00
Paul Gauthier
d9350cd3ed Merge branch 'main' of github.com:Aider-AI/aider 2025-03-14 09:41:54 -07:00
Paul Gauthier
54d6643a1f copy 2025-03-14 09:41:37 -07:00
Paul Gauthier (aider)
f664420628 refactor: Update JavaScript to use "Commentary" instead of "Transcript" 2025-03-14 09:40:11 -07:00
Paul Gauthier (aider)
d4d4c6de68 style: Add margin-top to terminal-container class 2025-03-14 09:38:10 -07:00
Paul Gauthier
b4313599f8 rename 2025-03-14 09:37:27 -07:00
Paul Gauthier (aider)
6866f8f0a9 style: Add whitespace above terminal-container in HTML 2025-03-14 09:37:23 -07:00
Paul Gauthier
3cb478214b docs: Add tree-sitter-language-pack example transcript 2025-03-14 09:37:21 -07:00
Paul Gauthier
8d7b4d6446 copy 2025-03-14 09:35:29 -07:00
Paul Gauthier
cc6b0bcd72 copy 2025-03-14 09:33:05 -07:00
Paul Gauthier (aider)
831564cf48 fix: prevent auto-scroll when highlighting playback timestamps 2025-03-14 09:23:10 -07:00
Paul Gauthier
4e59b62026 docs: Update recording transcript with language pack integration details 2025-03-14 08:58:33 -07:00
Paul Gauthier (aider)
f345b9b0ff feat: Make entire transcript list items clickable 2025-03-14 08:56:30 -07:00
Paul Gauthier (aider)
d4fb88a8c4 feat: Highlight last-played marker in transcript 2025-03-14 08:55:15 -07:00
Paul Gauthier (aider)
2cb1b6be46 feat: Add toast and speech triggers on timestamp click 2025-03-14 08:54:08 -07:00
Paul Gauthier (aider)
feda315c2b feat: make transcript timestamps clickable to seek player 2025-03-14 08:53:07 -07:00
Paul Gauthier (aider)
41219a7d85 feat: Automatically parse transcript section to generate markers 2025-03-14 08:27:21 -07:00
Paul Gauthier
813a201b6a refactor: Move markers definition to recording.md and simplify recording.js 2025-03-14 08:27:20 -07:00
Paul Gauthier (aider)
1bc40d48fe refactor: Move CSS and JS to separate files and include them using Jekyll 2025-03-14 08:22:32 -07:00
Paul Gauthier
ddb4e51938 feat: Add recording.js and recording.css for website 2025-03-14 08:22:30 -07:00
Paul Gauthier (aider)
9ee67c343d fix: Show toast notifications in fullscreen mode 2025-03-14 08:13:11 -07:00
Paul Gauthier
bb816eae83 style: Adjust button min-width and update video markers in recording.md 2025-03-14 08:10:26 -07:00
Paul Gauthier (aider)
92bd446d09 style: Adjust toast notification size to fit marker text 2025-03-14 08:06:06 -07:00
Paul Gauthier
a7526fa9c4 docs: Update example recording marker text 2025-03-14 08:06:05 -07:00
Paul Gauthier (aider)
9b6ff487da fix: Prevent line breaks in toast notifications with CSS adjustments 2025-03-14 08:03:35 -07:00
Paul Gauthier (aider)
9d61490743 style: Make toast width adapt to text content 2025-03-14 07:52:24 -07:00
paul-gauthier
9cce6e41fa Merge pull request #3528 from bexelbie/patch-1 2025-03-14 06:49:10 -07:00
Brian Exelbierd
a56dbdf502 Update Benchmark README.md
Use a consistent clone url to help those who don't use ssh with GitHub.  This should not break for those who do.
2025-03-14 09:05:04 +01:00
Paul Gauthier (aider)
7d5f27fa34 style: Adjust toast notification width, padding, and font size 2025-03-13 19:42:51 -07:00
Paul Gauthier (aider)
a61ba0db22 feat: Replace transcript box with toast notifications for marker text 2025-03-13 19:42:19 -07:00
Paul Gauthier
7f02a889e2 style: Remove flexbox styling from recording.md layout 2025-03-13 19:42:17 -07:00
Paul Gauthier (aider)
88d388a574 refactor: Move page-container inline styles to CSS section 2025-03-13 19:39:59 -07:00
Paul Gauthier
4d5a659e1e style: Adjust container styles in recording.md 2025-03-13 19:39:55 -07:00
Paul Gauthier
ecfcf1071d style: Simplify page-container styling in recording.md 2025-03-13 19:30:14 -07:00
Paul Gauthier (aider)
ec385d45e9 style: Replace fixed max-width with aspect-ratio in page container 2025-03-13 19:29:08 -07:00
Paul Gauthier (aider)
985107bb4b style: Limit page-container width to 1200px and center it 2025-03-13 19:28:12 -07:00
Paul Gauthier
eb340c74ac style: Adjust max-height styling in recording example page 2025-03-13 19:28:09 -07:00
Paul Gauthier (aider)
9a16b33f00 feat: Add speech synthesis for marker labels in transcript 2025-03-13 19:14:54 -07:00
Paul Gauthier (aider)
0acebc5916 fix: resolve null reference in AsciinemaPlayer initialization 2025-03-13 18:05:14 -07:00
Paul Gauthier (aider)
8442d9fe5f feat: Add marker labels to transcript on separate lines 2025-03-13 18:04:16 -07:00
Paul Gauthier
5318dd1a80 feat: Add markers and event listener to recording example 2025-03-13 18:04:16 -07:00
Paul Gauthier
d916180ec8 refactor: Simplify transcript content in recording.md 2025-03-13 17:54:42 -07:00
Paul Gauthier (aider)
6e5aa08ee0 feat: Add transcript section below demo div in recording.md 2025-03-13 17:50:21 -07:00
Paul Gauthier
83e115cde5 docs: Add poster time to recording example 2025-03-13 17:50:19 -07:00
Paul Gauthier (aider)
a3a92cd5dd style: Reduce terminal header height and button sizes 2025-03-13 17:46:29 -07:00
Paul Gauthier
16fc10fb0f docs: Update terminal title in recording example 2025-03-13 17:46:27 -07:00
Paul Gauthier (aider)
6bba8b57d4 feat: Add macOS-style terminal header to demo div 2025-03-13 17:44:13 -07:00
Paul Gauthier (aider)
f45c75a137 style: Update demo div styling and background color 2025-03-13 17:42:39 -07:00
Paul Gauthier
3348df0652 style: Update terminal background color and theme in recording example 2025-03-13 17:42:37 -07:00
Paul Gauthier (aider)
3b6a01b63d fix: bind Jekyll to all interfaces in docker container 2025-03-13 17:39:51 -07:00
Paul Gauthier (aider)
a3554a95c5 perf: optimize Jekyll build with incremental and livereload options 2025-03-13 17:38:25 -07:00
Paul Gauthier (aider)
6fa9af20c0 style: Wrap CSS in <style> tags in recording.md 2025-03-13 17:37:31 -07:00
Paul Gauthier (aider)
e23437dfa4 style: Update terminal colors to match tmux window style 2025-03-13 17:37:06 -07:00
Paul Gauthier
dcf9eaad77 style: Add custom Asciinema player theme and set default theme 2025-03-13 17:37:05 -07:00
Paul Gauthier (aider)
768df05692 style: Limit asciinema player height to 80% of viewport 2025-03-13 17:30:07 -07:00
Paul Gauthier
e0d5d35e32 docs: Update recording example with new asciinema player config 2025-03-13 17:30:05 -07:00
Paul Gauthier
a718a05414 initial 2025-03-13 17:20:47 -07:00
Paul Gauthier
953391d9d0 refactor: Optimize terminal emulator initialization in redact-cast.py 2025-03-13 16:30:41 -07:00
Paul Gauthier (aider)
4ca229fd42 refactor: Use regex to check for ordered "Atuin" characters in line 2025-03-13 16:19:31 -07:00
Paul Gauthier
693a43efc8 refactor: Simplify JSON parsing logic in redact-cast.py 2025-03-13 16:19:29 -07:00
Paul Gauthier (aider)
f3d4c931f5 style: Remove trailing whitespace in redact-cast.py 2025-03-13 16:14:00 -07:00
Paul Gauthier (aider)
ece21315b1 perf: Skip JSON parsing when terminal checking isn't needed 2025-03-13 16:13:56 -07:00
Paul Gauthier
318cc57ffe refactor: Simplify terminal feed logic in redact-cast.py 2025-03-13 16:13:55 -07:00
Paul Gauthier (aider)
ba17924174 style: Remove trailing whitespace in redact-cast.py 2025-03-13 16:11:44 -07:00
Paul Gauthier (aider)
6bc9daa6ee perf: Optimize terminal emulation by checking for "Atuin" first 2025-03-13 16:11:41 -07:00
Paul Gauthier (aider)
2d8bc95bae style: Format code with consistent quotes and spacing 2025-03-13 16:08:57 -07:00
Paul Gauthier (aider)
520eb4a932 perf: Optimize asciinema cast processing with line-by-line streaming and early exit 2025-03-13 16:08:53 -07:00
Paul Gauthier
03733516cc refactor: Simplify "Atuin" visibility check in redact-cast.py 2025-03-13 16:08:52 -07:00
Paul Gauthier (aider)
e561130336 style: Remove trailing whitespace in redact-cast.py 2025-03-13 16:04:16 -07:00
Paul Gauthier (aider)
169fa2e7b7 feat: Print terminal dimensions after parsing header 2025-03-13 16:04:12 -07:00
Paul Gauthier (aider)
6d6db996fb style: Remove trailing whitespace in redact-cast.py 2025-03-13 16:03:30 -07:00
Paul Gauthier (aider)
f8642bfd94 perf: Stream filtered events directly to output file for memory efficiency 2025-03-13 16:03:27 -07:00
Paul Gauthier (aider)
dfdd6bf533 style: Remove trailing whitespace in redact-cast.py 2025-03-13 16:02:52 -07:00
Paul Gauthier (aider)
91cef71048 feat: set screen size from asciinema cast header 2025-03-13 16:02:48 -07:00
Paul Gauthier (aider)
3daf632384 feat: Add tqdm progress bar for event processing 2025-03-13 16:01:47 -07:00
Paul Gauthier (aider)
dba5fb9dfa style: Format code with consistent quotes and spacing 2025-03-13 16:00:40 -07:00
Paul Gauthier (aider)
70d10a0bb2 feat: Add script to filter asciinema cast files for "Atuin" visibility 2025-03-13 16:00:35 -07:00
Paul Gauthier
97291b806a refactor: Simplify redact-cast.py by removing custom logic and importing pyte 2025-03-13 16:00:34 -07:00
Paul Gauthier (aider)
c583f008e9 style: Make demo div full width in recording.md 2025-03-13 15:31:48 -07:00
Paul Gauthier
b182eba56f docs: Add recording example to website 2025-03-13 15:31:47 -07:00
Paul Gauthier
de5da0e7ce copy 2025-03-13 15:06:00 -07:00
Paul Gauthier
f2a893c0d4 set version to 0.77.1.dev 2025-03-13 14:44:50 -07:00
Paul Gauthier
371a03c794 version bump to 0.77.0 2025-03-13 14:44:47 -07:00
Paul Gauthier
88e3d48be5 copy 2025-03-13 14:24:19 -07:00
Paul Gauthier
e8a8681a75 chore: Update polyglot leaderboard YAML files with new test case data 2025-03-13 14:16:20 -07:00
Paul Gauthier
b541eec3b8 chore: Add new model settings to model-settings.yml 2025-03-13 14:08:36 -07:00
Paul Gauthier (aider)
ce3f732645 style: Format Model class constructor for readability 2025-03-13 14:00:27 -07:00
Paul Gauthier (aider)
1b3cae1ed5 feat: Add verbose flag to conditionally dump kwargs in Model.send 2025-03-13 14:00:20 -07:00
Paul Gauthier
024b9130a0 copy 2025-03-12 16:22:26 -07:00
Paul Gauthier
61a8b6020f copy 2025-03-12 16:07:38 -07:00
Paul Gauthier
d25877aace Merge branch 'tsl-pack-add' 2025-03-12 15:58:28 -07:00
Paul Gauthier
c3c2d4dc22 bump deps 2025-03-12 15:57:21 -07:00
Paul Gauthier
7454154599 copy 2025-03-12 15:56:33 -07:00
Paul Gauthier (aider)
04ecea614b refactor: Simplify _test_language_repo_map signature and use self.fixtures_dir 2025-03-12 15:38:07 -07:00
Paul Gauthier (aider)
084a14b640 style: Remove unnecessary blank lines in test_repomap.py 2025-03-12 15:36:18 -07:00
Paul Gauthier (aider)
a477759a49 refactor: Update fixtures_dir references to use self.fixtures_dir 2025-03-12 15:36:13 -07:00
Paul Gauthier
d4df207612 refactor: Move fixtures_dir initialization to setUp in TestRepoMapAllLanguages 2025-03-12 15:36:12 -07:00
Paul Gauthier (aider)
57d492d4b8 style: Remove trailing whitespace in test_repomap.py 2025-03-12 15:34:28 -07:00
Paul Gauthier (aider)
fb7413436c refactor: Split language tests into individual test methods 2025-03-12 15:34:24 -07:00
Paul Gauthier
2cc8105e68 refactor: Split language tests into individual cases in test_repomap.py 2025-03-12 15:34:22 -07:00
Paul Gauthier (aider)
a83d5ff123 style: Format test_repomap.py with linter 2025-03-12 15:32:20 -07:00
Paul Gauthier (aider)
a709d650df refactor: Extract language test loop into helper method 2025-03-12 15:32:16 -07:00
Paul Gauthier
570e8eae31 refactor: Extract loop logic into helper method in test_repomap.py 2025-03-12 15:32:15 -07:00
Paul Gauthier (aider)
22f1703bee test: Update udev fixture to match query patterns 2025-03-12 15:30:23 -07:00
Paul Gauthier (aider)
14037eaeb8 test: add udev test case to TestRepoMapAllLanguages 2025-03-12 15:22:56 -07:00
Paul Gauthier (aider)
189d64dc3d test: Add Swift test case to TestRepoMapAllLanguages 2025-03-12 15:22:16 -07:00
Paul Gauthier (aider)
315f8093c6 test: Add Solidity test case and fixture to TestRepoMapAllLanguages 2025-03-12 15:21:45 -07:00
Paul Gauthier (aider)
a776d70e0d test: add Racket test case and fixture 2025-03-12 15:18:47 -07:00
Paul Gauthier (aider)
1ab6c70ac7 feat: Add R language test case and fixture for repository mapping 2025-03-12 15:16:02 -07:00
Paul Gauthier (aider)
73eb8701dd feat: Add properties language test case and fixture file 2025-03-12 15:13:56 -07:00
Paul Gauthier (aider)
a503f291e7 feat: Add Pony language test case and fixture 2025-03-12 15:12:56 -07:00
Paul Gauthier (aider)
b54d800024 feat: Add Lua language support to TestRepoMapAllLanguages 2025-03-12 15:11:31 -07:00
Paul Gauthier (aider)
d74068464d feat: Add Gleam language support to TestRepoMapAllLanguages 2025-03-12 15:09:43 -07:00
Paul Gauthier (aider)
86a5e8dbe1 feat: Add Elm fixture with Person type and main function 2025-03-12 15:08:36 -07:00
Paul Gauthier (aider)
24d2b683c8 feat: Add Dart language support to TestRepoMapAllLanguages 2025-03-12 15:06:27 -07:00
Paul Gauthier (aider)
9451f0abe4 feat: Add D language test fixture and update test mapping 2025-03-12 15:05:05 -07:00
Paul Gauthier (aider)
544d58ddbd feat: Add CommonLisp language support to TestRepoMapAllLanguages 2025-03-12 15:02:55 -07:00
Paul Gauthier (aider)
7c1d2d75e0 feat: Add chatito language support with test fixture 2025-03-12 14:40:43 -07:00
Paul Gauthier (aider)
0b949f47d9 feat: Add C language test fixture for repository mapping 2025-03-12 14:39:59 -07:00
Paul Gauthier (aider)
393b45dd21 feat: Add Arduino fixture file for language recognition test 2025-03-12 14:38:43 -07:00
Paul Gauthier (aider)
6bb43555dc feat: Add Arduino language support to TestRepoMapAllLanguages 2025-03-12 14:37:55 -07:00
Paul Gauthier (aider)
ba03b07602 refactor: Update udev-tags.scm with more specific @name tags 2025-03-12 14:27:50 -07:00
Paul Gauthier (aider)
0ac4c0b97d refactor: Update swift-tags.scm to use more specific @name.definition tags 2025-03-12 14:27:29 -07:00
Paul Gauthier
41e93a4d94 initial 2025-03-12 14:27:11 -07:00
Paul Gauthier (aider)
a0b5b19d38 refactor: Update solidity-tags.scm with more specific @name tags 2025-03-12 14:27:04 -07:00
Paul Gauthier (aider)
65fad5ae30 refactor: Update Rust tags to use more specific @name.definition and @name.reference tags 2025-03-12 14:26:32 -07:00
Paul Gauthier (aider)
a689f2116c refactor: Update ruby-tags.scm to use more specific tag names 2025-03-12 14:25:57 -07:00
Paul Gauthier (aider)
68b5c90d95 refactor: Update Racket tags to use @name.definition and @name.reference formats 2025-03-12 14:25:30 -07:00
Paul Gauthier (aider)
44eb9af7bc refactor: Update r-tags.scm to use more specific name tags 2025-03-12 14:25:12 -07:00
Paul Gauthier (aider)
9e824e6070 refactor: Update python-tags.scm with more specific name tags 2025-03-12 14:24:53 -07:00
Paul Gauthier (aider)
ba6bb527a7 refactor: Update properties-tags.scm to use more specific name tags 2025-03-12 14:24:32 -07:00
Paul Gauthier (aider)
3525eeae54 refactor: Update Pony tags to use .reference and .definition prefixes 2025-03-12 14:24:14 -07:00
Paul Gauthier (aider)
e535e01e83 refactor: Update Lua tags to use more specific reference and definition tags 2025-03-12 14:23:45 -07:00
Paul Gauthier (aider)
3b1c81e50e refactor: Enhance Java tags with specific definition and reference annotations 2025-03-12 14:23:12 -07:00
Paul Gauthier (aider)
89406e5b7d refactor: Update go-tags.scm to use more specific @name tags 2025-03-12 14:22:49 -07:00
Paul Gauthier (aider)
d5cc855c0f refactor: Update gleam-tags.scm to use more specific @name tags 2025-03-12 14:22:16 -07:00
Paul Gauthier (aider)
2ed61eaf92 refactor: Update Elm tags to use .reference and .definition namespaces 2025-03-12 14:21:35 -07:00
Paul Gauthier (aider)
865f71e2cc refactor: Update elixir-tags.scm to use more specific @name.reference and @name.definition tags 2025-03-12 14:21:05 -07:00
Paul Gauthier (aider)
08a75808df refactor: Update elisp-tags.scm to use more specific name tags 2025-03-12 14:20:39 -07:00
Paul Gauthier (aider)
c9dd37db8e refactor: Update dart-tags.scm to use @name.reference and @name.definition tags 2025-03-12 14:20:23 -07:00
Paul Gauthier (aider)
7e86c8a90c refactor: Update d-tags.scm to use more specific @name.reference and @name.definition tags 2025-03-12 14:19:38 -07:00
Paul Gauthier (aider)
b87a5496e9 refactor: Update cpp-tags.scm to use more specific name tags 2025-03-12 14:19:06 -07:00
Paul Gauthier (aider)
9a88363437 refactor: Update CommonLisp tags to use more specific @name.* tags 2025-03-12 14:18:40 -07:00
Paul Gauthier (aider)
c0b9665cfc refactor: Update chatito-tags.scm with explicit definition and reference tags 2025-03-12 14:18:12 -07:00
Paul Gauthier (aider)
70284ce1c2 refactor: Update c-tags.scm to use more specific @name.definition tags 2025-03-12 14:17:54 -07:00
Paul Gauthier (aider)
48621dadaa refactor: Update Arduino tags to use more specific @name.reference and @name.definition tags 2025-03-12 14:17:35 -07:00
Paul Gauthier
e69bad57e4 initial 2025-03-12 14:14:13 -07:00
Paul Gauthier (aider)
f55099e969 feat: Update script to download Tree-Sitter language tags to specific directory 2025-03-12 14:10:14 -07:00
Paul Gauthier (aider)
76994facec style: Apply linter formatting to tsl_pack_langs.py script 2025-03-12 13:55:52 -07:00
Paul Gauthier (aider)
2d843f6e79 feat: Add skip mechanism for existing tags.scm files in language download script 2025-03-12 13:55:47 -07:00
Paul Gauthier (aider)
e15518dd29 style: Fix linter formatting in tsl_pack_langs.py 2025-03-12 13:55:23 -07:00
Paul Gauthier (aider)
011e0fd109 feat: Print GitHub URL when processing each language 2025-03-12 13:55:17 -07:00
Paul Gauthier (aider)
5f125c1812 style: Format Python script with linter 2025-03-12 13:54:36 -07:00
Paul Gauthier (aider)
a6ebed8d16 feat: Improve language tag download script with multi-branch support 2025-03-12 13:54:31 -07:00
Paul Gauthier
849e02cbfb chore: Make tsl_pack_langs.py script executable 2025-03-12 13:54:27 -07:00
Paul Gauthier (aider)
1ab5238405 refactor: Simplify tags URL construction and remove unused import 2025-03-12 13:52:55 -07:00
Paul Gauthier (aider)
ae6192111d style: Format Python script with linter 2025-03-12 13:52:44 -07:00
Paul Gauthier (aider)
59af4114dd feat: Add script to fetch tags.scm files from GitHub repositories 2025-03-12 13:52:39 -07:00
Paul Gauthier
4491b88763 feat: Add script for packing translation languages 2025-03-12 13:52:35 -07:00
Paul Gauthier
92377fc390 fix: Add missing MagicMock import in test_coder.py 2025-03-12 13:45:10 -07:00
Paul Gauthier (aider)
79b8e50412 fix: Mock InputOutput object correctly in test_architect_coder_auto_accept_true 2025-03-12 13:42:27 -07:00
Paul Gauthier (aider)
b5cd39cc50 fix: Add mock for confirm_ask method in test_architect_coder_auto_accept_true 2025-03-12 13:41:39 -07:00
Paul Gauthier (aider)
63c2a98f3c fix: Add missing summarizer mock to ArchitectCoder tests 2025-03-12 13:41:10 -07:00
Paul Gauthier (aider)
c168f78a13 fix: Initialize cur_messages and done_messages in ArchitectCoder test cases 2025-03-12 13:40:15 -07:00
Paul Gauthier (aider)
42d45b4037 fix: Remove unused import of ANY from unittest.mock 2025-03-12 13:39:42 -07:00
Paul Gauthier (aider)
c41df63629 style: Reorder imports and fix whitespace in test_coder.py 2025-03-12 13:38:48 -07:00
Paul Gauthier (aider)
330bb81206 test: Add tests for auto_accept_architect feature in ArchitectCoder 2025-03-12 13:38:41 -07:00
Paul Gauthier (aider)
d84c755ee8 style: Apply linter formatting to redact-cast.py script 2025-03-12 13:28:06 -07:00
Paul Gauthier (aider)
a24ff28031 refactor: Remove 'env' key from .cast file header 2025-03-12 13:28:01 -07:00
Paul Gauthier (aider)
3a837c472e style: Apply linter formatting to redact-cast.py script 2025-03-12 13:25:08 -07:00
Paul Gauthier (aider)
f4880e2ef3 feat: Add ANSI escape sequence stripping for Atuin version detection 2025-03-12 13:25:03 -07:00
Paul Gauthier
a2e4022e31 copy 2025-03-12 13:12:18 -07:00
Paul Gauthier (aider)
5668b41daa feat: Add auto-accept option for architect coder edits 2025-03-12 13:09:41 -07:00
Paul Gauthier (aider)
c052270048 feat: Add --auto-accept-architect option with default true 2025-03-12 13:08:59 -07:00
Paul Gauthier (aider)
70547171ca style: Fix linter formatting in io.py 2025-03-12 12:50:04 -07:00
Paul Gauthier (aider)
881868bf17 refactor: Require 3 characters for autocomplete, except for commands 2025-03-12 12:49:57 -07:00
Paul Gauthier (aider)
e90eb39a9b style: Add whitespace around arithmetic operator in redact-cast.py 2025-03-11 19:30:57 -07:00
Paul Gauthier
9513d307a1 refactor: Reorganize redact script and improve code formatting 2025-03-11 19:30:46 -07:00
Paul Gauthier
533e5ec03f Merge remote-tracking branch 'source-repo/main' into redact 2025-03-11 19:29:57 -07:00
Paul Gauthier (aider)
55f63395c7 fix: Remove unused mock variables and split long comment lines in test_commands.py 2025-03-11 19:25:46 -07:00
Paul Gauthier (aider)
4253d98a73 style: Remove trailing whitespaces in test_commands.py 2025-03-11 19:25:24 -07:00
Paul Gauthier (aider)
0c4af58866 test: Add tests for /reset preserving original read-only files 2025-03-11 19:25:17 -07:00
Paul Gauthier
a5919bd27d copy 2025-03-11 19:12:35 -07:00
Paul Gauthier
5e40974fdd fix: Ensure default model is set only if not already specified 2025-03-11 19:07:53 -07:00
Paul Gauthier (aider)
a27f4d0e04 feat: Add speed-up factor to recording timestamps in redact.py 2025-03-11 17:54:12 -07:00
Paul Gauthier (aider)
1bb3041298 feat: Compress long timestamp gaps to 0.5 seconds in asciinema cast processing 2025-03-11 17:44:20 -07:00
Paul Gauthier
dc6040adda copy 2025-03-11 17:39:08 -07:00
Paul Gauthier
864725ff3d feat: Add command aliases and preserve read-only files in /drop 2025-03-11 17:38:13 -07:00
Paul Gauthier (aider)
0fcbea03e5 style: Format code and remove trailing whitespaces 2025-03-11 17:35:28 -07:00
Paul Gauthier (aider)
2ce63e6ad3 test: Add tests for preserving original read-only files during drop command 2025-03-11 17:35:21 -07:00
Paul Gauthier (aider)
d45af94cee refactor: Simplify original read-only files check in _drop_all_files method 2025-03-11 17:33:57 -07:00
Paul Gauthier (aider)
1f874b654d style: Format code with linter and improve readability 2025-03-11 17:31:22 -07:00
Paul Gauthier (aider)
a7a21757bc feat: Preserve original read-only files when using bare /drop command 2025-03-11 17:31:14 -07:00
Paul Gauthier (aider)
1bed4e8972 feat: Add 0.5 second pause after skipped sections in redaction script 2025-03-11 17:05:54 -07:00
Paul Gauthier (aider)
efcda12dda refactor: Maintain consistent timestamps during section skipping 2025-03-11 17:04:47 -07:00
Paul Gauthier (aider)
d7b4079ab5 refactor: Update redact.py to handle asciinema cast v2 JSON format 2025-03-11 17:03:19 -07:00
Paul Gauthier
2eb1513612 initial 2025-03-11 17:01:26 -07:00
Paul Gauthier
87bcbe0420 copy 2025-03-11 13:00:33 -07:00
Paul Gauthier (aider)
26b0c6e6da style: Add mobile-friendly CSS to hide command and edit columns 2025-03-11 12:51:38 -07:00
Paul Gauthier
8cfbc9b827 Revert "refactor: Improve chart responsiveness with dynamic mobile height"
This reverts commit 46eee9e642.
2025-03-11 12:37:56 -07:00
Paul Gauthier (aider)
46eee9e642 refactor: Improve chart responsiveness with dynamic mobile height 2025-03-11 12:33:45 -07:00
Paul Gauthier
7d902d2f3e test: Update token budget parsing test cases 2025-03-11 12:24:42 -07:00
Paul Gauthier
3d05007024 fix: Correct token budget message formatting in test case 2025-03-11 12:20:47 -07:00
Paul Gauthier (aider)
a2bf2e2910 style: Format long line in test_commands.py for better readability 2025-03-11 12:18:18 -07:00
Paul Gauthier (aider)
9cf4286cee fix: Update test to handle lowercase token budget input 2025-03-11 12:18:10 -07:00
Paul Gauthier (aider)
c9ddca3a16 feat: Update tests for /think and /reason to handle no-argument case 2025-03-11 12:16:54 -07:00
Paul Gauthier
06370cb096 copy 2025-03-11 12:14:47 -07:00
Paul Gauthier (aider)
342586519d fix: Update method calls to use main_model for get_thinking_tokens and get_reasoning_effort 2025-03-11 12:13:52 -07:00
Paul Gauthier (aider)
89174bb524 style: Format code with linter and improve whitespace 2025-03-11 12:12:20 -07:00
Paul Gauthier (aider)
1fa3bc4018 feat: Add display of current values for /think and /reason commands when called without arguments 2025-03-11 12:12:12 -07:00
Paul Gauthier (aider)
d68e2b33fb style: Remove trailing whitespaces in commands.py 2025-03-11 12:11:15 -07:00
Paul Gauthier (aider)
1313cd8216 refactor: Update thinking tokens and reasoning effort display with helper methods 2025-03-11 12:11:08 -07:00
Paul Gauthier (aider)
7afc8c760c feat: Add /think and /reason command aliases for think-tokens and reasoning-effort 2025-03-11 12:10:19 -07:00
Paul Gauthier (aider)
79f714ab16 refactor: Extract thinking tokens and reasoning effort methods into separate functions 2025-03-11 12:09:41 -07:00
Paul Gauthier
e21bab2d17 copy 2025-03-11 11:52:02 -07:00
Paul Gauthier (aider)
4288cf2a39 style: Apply linter formatting to test_commands.py 2025-03-11 11:49:46 -07:00
Paul Gauthier (aider)
9d570a9cb1 feat: Update test values to use 1024 base for k and M suffixes 2025-03-11 11:49:39 -07:00
Paul Gauthier (aider)
333ddfb37a style: Format Python code with linter 2025-03-11 11:48:21 -07:00
Paul Gauthier (aider)
10a5250527 test: Add tests for /think-tokens and /reasoning-effort commands 2025-03-11 11:48:13 -07:00
Paul Gauthier (aider)
fd57eccdca style: Remove trailing whitespaces in commands.py 2025-03-11 11:45:30 -07:00
Paul Gauthier (aider)
1432be9be6 feat: Add announcements output for /think and /reason commands 2025-03-11 11:45:23 -07:00
Paul Gauthier (aider)
1773bbf759 style: Shorten docstring to fix line length flake8 error 2025-03-11 11:43:59 -07:00
Paul Gauthier (aider)
5c94624186 style: Format code with linter 2025-03-11 11:43:47 -07:00
Paul Gauthier (aider)
dc06c2fab3 refactor: Update reasoning effort command to accept string values 2025-03-11 11:43:40 -07:00
Paul Gauthier (aider)
f37799b39c style: Fix linter formatting in base_coder.py 2025-03-11 11:42:46 -07:00
Paul Gauthier (aider)
cc84f590fe feat: Add reasoning effort display in get_announcements output 2025-03-11 11:42:38 -07:00
Paul Gauthier
afcf3e77b5 refactor: Reorder model info output for better readability 2025-03-11 11:42:36 -07:00
Paul Gauthier (aider)
0406dda2a6 feat: Add /reasoning-effort command to set model reasoning effort level 2025-03-11 11:41:46 -07:00
Paul Gauthier (aider)
935227f7e7 refactor: Use 1024 instead of 1000 for token budget formatting 2025-03-11 11:38:11 -07:00
Paul Gauthier (aider)
67ebb2566d style: Use lowercase 'k' for token budget display 2025-03-11 11:37:30 -07:00
Paul Gauthier (aider)
1c736161c5 feat: Omit decimal point for whole number token budget values 2025-03-11 11:37:01 -07:00
Paul Gauthier (aider)
a348c2d013 feat: Change --thinking-tokens argument type to string 2025-03-11 11:36:17 -07:00
Paul Gauthier (aider)
444a95bc6c style: Add whitespace around arithmetic operators in budget formatting 2025-03-11 11:35:49 -07:00
Paul Gauthier (aider)
c38cdef220 style: Format code with linter and improve readability 2025-03-11 11:35:31 -07:00
Paul Gauthier (aider)
5608db0892 feat: Add thinking token budget display in model details 2025-03-11 11:35:23 -07:00
Paul Gauthier
98b3722a02 refactor: Simplify thinking token budget display logic 2025-03-11 11:33:45 -07:00
Paul Gauthier (aider)
2d623ff196 style: Apply linter formatting to commands.py 2025-03-11 11:32:39 -07:00
Paul Gauthier (aider)
703e124277 feat: Add /think-tokens command to set thinking token budget 2025-03-11 11:32:32 -07:00
Paul Gauthier (aider)
68c27f885f style: Fix linting issues in test_models.py 2025-03-11 11:30:28 -07:00
Paul Gauthier (aider)
58cd190ca9 test: Add comprehensive tests for token parsing and thinking tokens methods 2025-03-11 11:30:23 -07:00
Paul Gauthier (aider)
2c5c2b2f67 style: Format code with linter and fix whitespace 2025-03-11 11:29:44 -07:00
Paul Gauthier (aider)
e10fe50c6f feat: Add flexible token parsing for set_thinking_tokens method 2025-03-11 11:29:38 -07:00
Paul Gauthier
b8ad0b15e8 copy 2025-03-11 09:38:28 -07:00
Paul Gauthier (aider)
1b81fb0fdf refactor: Modify git push to stream output directly to terminal 2025-03-11 09:25:44 -07:00
Paul Gauthier
703cb8849d set version to 0.76.3.dev 2025-03-11 09:25:11 -07:00
Paul Gauthier
55f856b23c version bump to 0.76.2 2025-03-11 09:25:07 -07:00
Paul Gauthier (aider)
93c284a67d fix: Handle JSONDecodeError when loading model cache file 2025-03-11 08:33:18 -07:00
Paul Gauthier (aider)
38fd715247 style: Fix linter warnings in main.py 2025-03-11 08:27:23 -07:00
Paul Gauthier (aider)
987d024847 fix: Handle GitCommandError when retrieving git user config 2025-03-11 08:27:17 -07:00
Paul Gauthier
a3c0d628a1 fix: Remove unnecessary default flag in git config retrieval 2025-03-11 08:27:15 -07:00
Paul Gauthier
3cb6ec9ddb set version to 0.76.2.dev 2025-03-10 17:41:32 -07:00
Paul Gauthier
c21619608e version bump to 0.76.1 2025-03-10 17:41:29 -07:00
Paul Gauthier
76a8789bc1 faster versionbump 2025-03-10 17:39:22 -07:00
Paul Gauthier
bbf538e06c copy 2025-03-10 17:15:29 -07:00
Paul Gauthier
d94ab3395b bump deps to pickup litellm bugfix for streaming openrouter resoning 2025-03-10 17:13:55 -07:00
Paul Gauthier
6d8457a61f copy 2025-03-10 16:28:57 -07:00
Paul Gauthier
303f8e1bc9 Merge branch 'main' of github.com:Aider-AI/aider 2025-03-10 16:27:32 -07:00
paul-gauthier
e638116a2f Merge pull request #3495 from maledorak/docs/remote-notifications
docs: Add remote notifications docs
2025-03-10 16:27:16 -07:00
Mariusz Korzekwa
5bac9133e6 docs: Add remote notifications docs 2025-03-11 00:19:51 +01:00
paul-gauthier
6fde4041ba Merge pull request #3488 from mopemope/ignore-permission-err
refactor: add ignore_permission_denied option to watch function
2025-03-10 13:47:12 -07:00
Paul Gauthier
d0c8b38ffc copy 2025-03-10 08:58:42 -07:00
Paul Gauthier
be7888ab18 copy 2025-03-10 08:51:05 -07:00
Paul Gauthier
11b71fa28c set version to 0.76.1.dev 2025-03-10 08:49:40 -07:00
Paul Gauthier
c838f9bfd5 version bump to 0.76.0 2025-03-10 08:47:14 -07:00
Paul Gauthier
8d073ce221 copy 2025-03-10 08:26:08 -07:00
Yutaka Matsubara
0be5d39453 refactor: add ignore_permission_denied option to watch function 2025-03-10 21:55:00 +09:00
Adrian Cole
10d599f26a ollama: suggest higher minimum context length
This updates the doc with the new ENV variable ollama supports since [v0.5.13](https://github.com/ollama/ollama/releases/tag/v0.5.13)
2025-03-10 15:32:53 +08:00
Yutaka Matsubara
6b76ed8098 refactor: enhance --aiderignore argument to resolve absolute and relative paths 2025-03-10 08:41:49 +09:00
Paul Gauthier
74ecdf2d3f copy 2025-03-09 13:43:41 -07:00
Paul Gauthier
20eacfab0f copy 2025-03-09 09:03:41 -07:00
Paul Gauthier
0396e15a3b refactor: remove unused debug dump() call 2025-03-09 08:49:30 -07:00
Paul Gauthier
3432a936ea copy 2025-03-09 08:47:41 -07:00
Paul Gauthier
87cd2b5dfe refactor: Remove deprecated reasoning_content attribute in test mock 2025-03-09 08:46:45 -07:00
Paul Gauthier (aider)
313b91edbe style: Fix trailing whitespace in test docstring 2025-03-09 08:43:51 -07:00
Paul Gauthier (aider)
a1f104cb4d style: wrap long lines in test docstrings and comments 2025-03-09 08:43:45 -07:00
Paul Gauthier (aider)
eadb8d5d0a style: fix linting issues in test_reasoning.py 2025-03-09 08:43:23 -07:00
Paul Gauthier (aider)
41ae947885 test: add tests for reasoning attribute handling in streaming and non-streaming cases 2025-03-09 08:43:18 -07:00
Paul Gauthier (aider)
84f610c0e9 style: Fix linting issues in test_reasoning.py 2025-03-09 08:40:40 -07:00
Paul Gauthier (aider)
0df959cf68 test: add reasoning attribute handling to MockStreamingChunk 2025-03-09 08:40:26 -07:00
Paul Gauthier
a15d10ea1e refactor: Simplify reasoning content handling in stream processing 2025-03-09 08:30:56 -07:00
Paul Gauthier (aider)
a37d6e86df feat: add support for both reasoning and reasoning_content fields 2025-03-09 08:24:12 -07:00
Paul Gauthier
a405063385 fix: Add fallback for reasoning_content attribute access 2025-03-09 08:24:09 -07:00
Paul Gauthier
f5a5b85e9d do not lint when updating history 2025-03-08 17:59:22 -08:00
Paul Gauthier
ba7d941e5b copy 2025-03-08 17:51:55 -08:00
Paul Gauthier
804a2d1af9 docs: improve deprecation warning message for remove_reasoning setting 2025-03-08 17:41:31 -08:00
Paul Gauthier (aider)
c1bc6e161e feat: add deprecation warning for remove_reasoning attribute 2025-03-08 17:40:03 -08:00
Paul Gauthier
af1b728b90 refactor: standardize reasoning_tag property name across model settings 2025-03-08 17:39:01 -08:00
Paul Gauthier (aider)
14e37a82ab fix: maintain backward compatibility for remove_reasoning field 2025-03-08 17:37:37 -08:00
Paul Gauthier (aider)
f8a7854efa fix: update model property name from remove_reasoning to reasoning_tag 2025-03-08 17:36:28 -08:00
Paul Gauthier (aider)
072ce87051 refactor: rename remove_reasoning to reasoning_tag in test files 2025-03-08 17:34:43 -08:00
Paul Gauthier (aider)
cac9b4460e style: fix whitespace in models.py 2025-03-08 17:33:44 -08:00
Paul Gauthier (aider)
67bf90a149 refactor: rename remove_reasoning to reasoning_tag with backward compatibility 2025-03-08 17:33:37 -08:00
Paul Gauthier
af8558b19e copy 2025-03-08 17:30:56 -08:00
Paul Gauthier
1903542f11 copy 2025-03-08 17:27:01 -08:00
Paul Gauthier (aider)
3ed16fb796 style: fix whitespace and format code 2025-03-08 17:26:20 -08:00
Paul Gauthier (aider)
6f99392eda feat: add thinking token budget configuration option 2025-03-08 17:26:09 -08:00
Paul Gauthier (aider)
680dbfbf77 style: fix whitespace in models.py 2025-03-08 17:20:06 -08:00
Paul Gauthier (aider)
51a72b497b refactor: move reasoning effort logic into Model class method 2025-03-08 17:19:58 -08:00
Paul Gauthier
d6e57dd194 chore: add comment about moving reasoning effort to Model class 2025-03-08 17:19:56 -08:00
Paul Gauthier (aider)
e92ab55da6 style: sort imports alphabetically in test_reasoning.py 2025-03-08 17:17:04 -08:00
Paul Gauthier (aider)
c78b3e0204 test: update reasoning tag tests to use imported constants 2025-03-08 17:16:59 -08:00
Paul Gauthier
ac1c05389a refactor: move deprecated model args to dedicated group 2025-03-08 17:13:50 -08:00
Paul Gauthier (aider)
95583fe2cd The changes look good. Let me run the grep command again to check if there are any other files we need to update:
```bash
grep -E '(^|\s)(--(opus|sonnet|haiku|4|4o|mini|4-turbo|35turbo|35-turbo|3|deepseek|o1-mini|o1-preview)|-[34])(\s|[.,)]|$)' --include="*.md" -r aider/website/docs | grep -v "model.*model"
```

If there are any remaining instances of deprecated switches, we should add those files to the chat and update them as well.
2025-03-08 17:12:05 -08:00
Paul Gauthier
ddedda9233 test: update model alias and add debug dump in deprecated tests 2025-03-08 17:09:04 -08:00
Paul Gauthier
d30b9d1513 test: simplify deprecated model flag tests 2025-03-08 17:06:45 -08:00
Paul Gauthier (aider)
4c35f88ea0 test: add variant flag formats for model switches 2025-03-08 13:47:31 -08:00
Paul Gauthier (aider)
e6623ae0a8 test: mock URL launches in deprecated args tests 2025-03-08 13:45:44 -08:00
Paul Gauthier (aider)
4755578822 style: format test_deprecated.py with black 2025-03-08 13:44:16 -08:00
Paul Gauthier (aider)
319d543ac2 fix: update deprecated model tests to handle multiple warnings 2025-03-08 13:44:11 -08:00
Paul Gauthier (aider)
9e668cda7f style: Format test_deprecated.py with black 2025-03-08 13:42:21 -08:00
Paul Gauthier (aider)
5447483da2 test: add tests for deprecated model argument handling 2025-03-08 13:42:16 -08:00
Paul Gauthier
8e22a8d107 test: add tests for deprecated functionality 2025-03-08 13:42:12 -08:00
Paul Gauthier (aider)
18d27ab4e4 style: fix linting issues and whitespace cleanup 2025-03-08 13:38:17 -08:00
Paul Gauthier (aider)
fe60832492 refactor: move model shortcut args to deprecated module with warnings 2025-03-08 13:38:06 -08:00
Paul Gauthier
6bf683409f copy 2025-03-08 08:30:25 -08:00
Paul Gauthier
634bfb1eae bump deps 2025-03-08 08:14:53 -08:00
Paul Gauthier
c9d597d2b1 update repomap fixture 2025-03-08 08:13:16 -08:00
Paul Gauthier
92c616f717 copy 2025-03-08 08:10:00 -08:00
Son H. Nguyen
a1286d0d4d doc: add example command for github copilot models 2025-03-08 14:18:48 +07:00
Son H. Nguyen
eef3a3afeb feat: add copilot models to model list 2025-03-08 14:07:15 +07:00
Paul Gauthier
b1e8d29ae0 style: update reasoning tag formatting for better readability 2025-03-07 19:38:43 -08:00
Paul Gauthier
e0cef55fcd copy 2025-03-07 19:09:13 -08:00
Paul Gauthier
9aacf5c7db refactor: Remove unused parameter from remove_reasoning_content function 2025-03-07 19:06:15 -08:00
Paul Gauthier (aider)
4858749a20 style: Apply linter fixes to test_models.py 2025-03-07 17:54:34 -08:00
Paul Gauthier (aider)
b53c0b982a refactor: Move reasoning content removal tests to test_reasoning.py 2025-03-07 17:54:28 -08:00
Paul Gauthier (aider)
2aac9ff9c5 refactor: Remove unused re import from models.py 2025-03-07 17:51:25 -08:00
Paul Gauthier (aider)
bdaa70ada5 style: Apply linter formatting to remove extra whitespaces 2025-03-07 17:51:11 -08:00
Paul Gauthier (aider)
ca6abdfc61 refactor: Move remove_reasoning_content from Model to reasoning_tags.py 2025-03-07 17:50:57 -08:00
Paul Gauthier
e18593fe88 refactor: Remove commented-out code about reasoning tags 2025-03-07 17:42:22 -08:00
Paul Gauthier
08401aff26 refactor: Modify reasoning content removal method to update partial_response_content directly 2025-03-07 17:32:57 -08:00
Paul Gauthier (aider)
cddc67ad69 refactor: Extract reasoning content removal to helper method 2025-03-07 17:30:15 -08:00
Paul Gauthier
586af2a435 refactor: Extract reasoning content removal to a helper method 2025-03-07 17:30:13 -08:00
Paul Gauthier
97091fab60 refactor: Extract reasoning content removal to a helper method 2025-03-07 17:28:49 -08:00
Paul Gauthier (aider)
5f2cf75be8 style: Fix linting issues in test_reasoning.py 2025-03-07 17:20:11 -08:00
Paul Gauthier (aider)
37c7b81c95 test: Ensure partial_response_content contains only main content 2025-03-07 17:20:03 -08:00
Paul Gauthier (aider)
779a266713 style: Apply linter formatting to test_reasoning.py 2025-03-07 17:18:38 -08:00
Paul Gauthier (aider)
ebaedc6f05 fix: Resolve JSON serialization issue in test_send_with_think_tags_stream 2025-03-07 17:18:33 -08:00
Paul Gauthier (aider)
08a392787a style: Apply linter fixes to test_reasoning.py 2025-03-07 17:16:56 -08:00
Paul Gauthier (aider)
883bf74bad feat: Add streaming test for <think> tags in reasoning process 2025-03-07 17:16:50 -08:00
Paul Gauthier
80de3335b7 refactor: Move reasoning content flags initialization to send method 2025-03-07 17:15:44 -08:00
Paul Gauthier (aider)
794072bdf8 style: Format code with linter to improve readability 2025-03-07 17:06:14 -08:00
Paul Gauthier (aider)
e28fdb9cb1 refactor: Update test_send_with_reasoning_content_stream to be more robust 2025-03-07 17:06:09 -08:00
Paul Gauthier (aider)
7873d1c6b3 style: Fix linter warnings in test_reasoning.py 2025-03-07 17:04:07 -08:00
Paul Gauthier (aider)
f8c069132e fix: Add mdstream mock to resolve WholeFileCoder test failure 2025-03-07 17:04:03 -08:00
Paul Gauthier (aider)
c53833072f style: Format code with linter and remove trailing whitespaces 2025-03-07 17:03:21 -08:00
Paul Gauthier (aider)
16d7cf7a52 feat: Add test for streaming reasoning content with proper formatting and output 2025-03-07 17:03:16 -08:00
Paul Gauthier (aider)
3b9c2b9729 style: Organize and clean up import statements in test_reasoning.py 2025-03-07 17:00:25 -08:00
Paul Gauthier (aider)
b230fea66f feat: Add test for processing reasoning content in <think> tags 2025-03-07 17:00:19 -08:00
Paul Gauthier
f9b6501af1 refactor: Update test to use assistant_output instead of ai_output 2025-03-07 17:00:17 -08:00
Paul Gauthier (aider)
0cd8e3701d refactor: Move reasoning_content to choices[0].message in MockCompletion 2025-03-07 16:55:09 -08:00
Paul Gauthier (aider)
8545672839 fix: Add missing attributes to MockCompletion for test compatibility 2025-03-07 16:54:24 -08:00
Paul Gauthier
4a6c4b95f1 fix: Disable streaming for Coder in test_reasoning to ensure consistent output 2025-03-07 16:54:22 -08:00
Paul Gauthier (aider)
c893bc21ab style: Apply linter formatting to test_reasoning.py 2025-03-07 16:53:31 -08:00
Paul Gauthier (aider)
c8c5cbf8cc fix: Add mock hash object to resolve NoneType hexdigest error in test 2025-03-07 16:53:27 -08:00
Paul Gauthier (aider)
54ef8a1e19 fix: Update test mocking to match send_completion method signature 2025-03-07 16:52:51 -08:00
Paul Gauthier
82df218bcb test: Update test_reasoning to use generator and print partial response 2025-03-07 16:52:49 -08:00
Paul Gauthier (aider)
f613ad6c05 fix: Remove unused 'result' variable in test_reasoning.py 2025-03-07 16:50:36 -08:00
Paul Gauthier (aider)
4e732d0379 style: Apply linter formatting to test_reasoning.py 2025-03-07 16:50:19 -08:00
Paul Gauthier (aider)
ad8b5c9d29 refactor: Update test to simulate multi-response content formatting flow 2025-03-07 16:50:15 -08:00
Paul Gauthier (aider)
1ab4bf14dc fix: Remove unsupported 'stream' parameter from InputOutput initialization in test 2025-03-07 16:49:17 -08:00
Paul Gauthier (aider)
068a0b4576 refactor: Remove unused imports from test_reasoning.py 2025-03-07 16:48:52 -08:00
Paul Gauthier (aider)
5f694f228f style: Format code with linter and improve import sorting 2025-03-07 16:48:33 -08:00
Paul Gauthier (aider)
2ffe49130d feat: Add test for reasoning content formatting in Coder.send() method 2025-03-07 16:48:27 -08:00
Paul Gauthier
f7d18ef976 test: Add test_reasoning.py for basic reasoning tests 2025-03-07 16:48:23 -08:00
Paul Gauthier
8233eb6007 refactor: Simplify reasoning tag handling in base coder 2025-03-07 16:43:21 -08:00
Paul Gauthier
de4693cdf3 refactor: Simplify reasoning tag handling and remove unused function 2025-03-07 16:26:47 -08:00
Paul Gauthier (aider)
8fb235c3f5 refactor: Remove unused imports from reasoning_tags 2025-03-07 16:11:34 -08:00
Paul Gauthier (aider)
6feb00dcd9 style: Reorder imports and format code with linter 2025-03-07 16:10:57 -08:00
Paul Gauthier (aider)
4fc1847a70 refactor: Update reasoning tag formatting to use standalone function 2025-03-07 16:10:49 -08:00
Paul Gauthier (aider)
e7f16f07f7 refactor: Extract reasoning tag handling to separate module 2025-03-07 16:10:21 -08:00
Paul Gauthier
d9551b3106 refactor: Simplify reasoning tag handling and remove debug print statements 2025-03-07 16:08:11 -08:00
Paul Gauthier (aider)
854428795b style: Format code with linter and improve readability 2025-03-07 16:04:40 -08:00
Paul Gauthier (aider)
5c3b4bd987 refactor: Update reasoning tag handling in live_incremental_response method 2025-03-07 16:04:32 -08:00
Paul Gauthier (aider)
9d686d3e52 refactor: Update reasoning tag handling in base_coder.py 2025-03-07 16:04:19 -08:00
Paul Gauthier (aider)
b62e00b935 refactor: Use class attribute for reasoning tag name in replace_reasoning_tags method 2025-03-07 16:03:58 -08:00
Paul Gauthier
634745c818 fix: Adjust reasoning tag spacing to improve readability 2025-03-07 16:03:56 -08:00
Paul Gauthier (aider)
490c6d9a28 style: Apply linter formatting to base_coder.py 2025-03-07 16:00:47 -08:00
Paul Gauthier (aider)
e6dd9978cb refactor: Improve reasoning tag replacement with consistent newline handling 2025-03-07 16:00:40 -08:00
Paul Gauthier
240a5613a5 refactor: Simplify reasoning tag formatting in base_coder.py 2025-03-07 16:00:38 -08:00
Paul Gauthier (aider)
fb96cbcaaf feat: Apply reasoning tag formatting in non-pretty streaming output 2025-03-07 15:59:05 -08:00
Paul Gauthier
b58f879db7 refactor: Simplify reasoning tag replacement in live_incremental_response method 2025-03-07 15:59:02 -08:00
Paul Gauthier (aider)
1585c6095e style: Format code with linter and improve readability 2025-03-07 15:57:24 -08:00
Paul Gauthier (aider)
30a630412d refactor: Improve reasoning tag handling in base_coder.py 2025-03-07 15:57:16 -08:00
Paul Gauthier
e5ca79cd51 refactor: Prepare for AI tag conversion in incremental response rendering 2025-03-07 15:57:14 -08:00
Paul Gauthier (aider)
148353aca4 refactor: Revert reasoning content tag changes to original implementation 2025-03-07 15:56:13 -08:00
Paul Gauthier (aider)
7a098ce740 style: Apply linter formatting to base_coder.py 2025-03-07 15:54:00 -08:00
Paul Gauthier (aider)
f3b9831a0c refactor: Add helper function to replace reasoning tags in base_coder.py 2025-03-07 15:53:53 -08:00
Paul Gauthier
01454674c8 refactor: Update reasoning content formatting with improved XML-like tags 2025-03-07 15:53:50 -08:00
Paul Gauthier
5093b18ecc Merge branch 'main' into show-thinking 2025-03-07 10:29:44 -08:00
Paul Gauthier
c16cfd0668 copy 2025-03-07 09:30:43 -08:00
Paul Gauthier
1674cd5db9 Merge branch 'main' of github.com:Aider-AI/aider 2025-03-07 09:30:27 -08:00
Paul Gauthier
f111ab48fb chore: Update polyglot leaderboard data with new model test results 2025-03-07 09:26:32 -08:00
paul-gauthier
65309854ac Update README.md 2025-03-06 19:43:46 -08:00
paul-gauthier
cf0aff8c40 Update README.md 2025-03-06 19:43:16 -08:00
Paul Gauthier
16b768485a feat: Update reasoning tag and add reasoning content handling in Coder 2025-03-06 19:05:57 -08:00
Paul Gauthier
c2e7b533d3 feat: Add reasoning content indicators in response handling 2025-03-06 18:28:47 -08:00
Paul Gauthier
539859f1ab fix: Update reasoning tag message and comment out dump function 2025-03-06 18:21:45 -08:00
Paul Gauthier
d1d40a9a76 feat: Add reasoning content handling in Coder and Model classes 2025-03-06 18:16:44 -08:00
Paul Gauthier
52162a5604 initial 2025-03-06 17:19:45 -08:00
Paul Gauthier
84e84207a5 copy 2025-03-06 17:12:21 -08:00
Paul Gauthier (aider)
a4e1745eca fix: Remove unnecessary f-strings in args_formatter.py 2025-03-06 17:09:39 -08:00
Paul Gauthier
5931979b74 style: Update color configuration comments to use quotes 2025-03-06 17:09:29 -08:00
Paul Gauthier
a412a65315 bump 2025-03-06 17:00:13 -08:00
Paul Gauthier
25da0674bb special case tree-sitter deps 2025-03-06 16:50:05 -08:00
Paul Gauthier
c823bf4fbb refactor: Remove debug dump calls from repomap.py 2025-03-06 16:40:08 -08:00
Paul Gauthier
cfd0e67a6b feat: Add C# tree-sitter query with class definition and reference tags 2025-03-06 16:36:37 -08:00
Paul Gauthier (aider)
94f3af57f1 refactor: Update csharp-tags.scm to use @name.definition and @name.reference patterns 2025-03-06 16:34:22 -08:00
Paul Gauthier
0050a3fe6c feat: Add C# language tags query for tree-sitter parsing 2025-03-06 16:34:20 -08:00
Paul Gauthier
0e65ddee37 fix ruby with ts 0.23 2025-03-06 16:26:41 -08:00
Paul Gauthier
101f7de889 re-ran pip-compile.sh, now ts is 0.23.2? 2025-03-06 15:17:40 -08:00
Paul Gauthier
a21c1ff92d cleanup 2025-03-06 14:53:17 -08:00
Paul Gauthier
f9bb2e498e pin ts per python version 2025-03-06 13:20:59 -08:00
Paul Gauthier
f6bb803be5 copy 2025-03-06 13:10:37 -08:00
Paul Gauthier
204a88c171 fix: Improve LLM empty response handling with clearer warning messages 2025-03-06 13:07:27 -08:00
Paul Gauthier (aider)
012afc0708 feat: Add warning for empty LLM streaming responses 2025-03-06 12:52:32 -08:00
Paul Gauthier
cf089abb64 switch to tslp 2025-03-06 12:32:06 -08:00
Paul Gauthier
40e463cdc1 copy 2025-03-06 12:25:43 -08:00
Paul Gauthier (aider)
6a1284a5ca docs: Add documentation for new notifications feature 2025-03-06 12:24:17 -08:00
Paul Gauthier
60522ee474 docs: Add notifications documentation page 2025-03-06 12:24:15 -08:00
Paul Gauthier (aider)
0045641db7 fix: Move module-level constant after imports to resolve flake8 E402 errors 2025-03-06 12:17:33 -08:00
Paul Gauthier (aider)
97b5b1b669 style: Fix linter formatting in io.py 2025-03-06 12:14:50 -08:00
Paul Gauthier (aider)
448de8519a refactor: Extract notification message into a constant 2025-03-06 12:14:44 -08:00
Paul Gauthier (aider)
95e1fe0446 style: Format code with linter and improve whitespace consistency 2025-03-06 12:14:20 -08:00
Paul Gauthier (aider)
47254be254 feat: Add terminal-notifier support for macOS notifications 2025-03-06 12:14:14 -08:00
Paul Gauthier
3da15bfd19 fix: Handle NO_COLOR environment variable for disabling colored output 2025-03-06 12:14:11 -08:00
Paul Gauthier (aider)
c79db2581b style: Reformat code to improve linter compliance 2025-03-06 12:04:23 -08:00
Paul Gauthier (aider)
93b86a8800 feat: Add OS-specific default notification commands with custom message 2025-03-06 12:04:14 -08:00
Paul Gauthier (aider)
56ba7ef411 refactor: Remove redundant subprocess import in ring_bell method 2025-03-06 12:02:00 -08:00
Paul Gauthier (aider)
e2117fd8a9 feat: Add subprocess import for notifications command 2025-03-06 12:01:03 -08:00
Paul Gauthier (aider)
e817c76e38 style: Format code with linter and improve line breaks 2025-03-06 12:00:33 -08:00
Paul Gauthier (aider)
65e059a7d2 feat: Add notifications-command option to run custom notification commands 2025-03-06 12:00:21 -08:00
Paul Gauthier
f661025acc feat: Add notifications parameter to coder initialization 2025-03-06 12:00:19 -08:00
Paul Gauthier (aider)
2fe1b1e16e feat: Add --notifications flag to control terminal bell 2025-03-06 11:55:32 -08:00
Paul Gauthier
665ffe3984 Revert "feat: Add notification parameter to InputOutput initialization"
This reverts commit 09e998523f.
2025-03-06 11:54:05 -08:00
Paul Gauthier
c3401047e0 Revert "feat: Add desktop notification support with notify-py package"
This reverts commit 38e8d27416.
2025-03-06 11:53:58 -08:00
Paul Gauthier
996177ceaf add qwq32b 2025-03-06 11:46:32 -08:00
Paul Gauthier (aider)
09e998523f feat: Add notification parameter to InputOutput initialization 2025-03-06 11:45:59 -08:00
Paul Gauthier (aider)
38e8d27416 feat: Add desktop notification support with notify-py package 2025-03-06 11:45:37 -08:00
Paul Gauthier (aider)
813de04596 style: Remove trailing whitespaces in base_coder.py and io.py 2025-03-06 11:41:58 -08:00
Paul Gauthier (aider)
3c0eae4180 feat: Add terminal bell notification when LLM processing is complete 2025-03-06 11:41:32 -08:00
Paul Gauthier
99424a9f53 feat: Add configuration for Qwen 2.5 32b model with specific settings 2025-03-06 09:53:09 -08:00
Paul Gauthier
51d118fdb5 bump deps 2025-03-06 06:13:33 -08:00
Paul Gauthier
a26509a1fd Merge branch 'main' of github.com:Aider-AI/aider 2025-03-06 06:13:14 -08:00
paul-gauthier
0db70379e8 Merge pull request #3451 from claui/add-uv-dependency 2025-03-06 05:38:16 -08:00
Claudia Pellegrino
c612b5d17b fix: add uv as development dependency
`uv` is used in `pip-compile.sh`, so add it as a dev dependency.
2025-03-06 08:57:40 +01:00
Paul Gauthier
1b469cce49 copy 2025-03-05 18:59:33 -08:00
Paul Gauthier (aider)
c62cbd2d77 style: Fix linter warnings in test_main.py 2025-03-05 18:55:37 -08:00
Paul Gauthier (aider)
da1bc19052 fix: Correct indentation in test_no_verify_ssl_sets_model_info_manager test 2025-03-05 18:55:32 -08:00
Paul Gauthier (aider)
8e2246ec5c fix: Resolve MagicMock TypeError in test_no_verify_ssl_sets_model_info_manager 2025-03-05 18:55:17 -08:00
Paul Gauthier
5cf6945bcb pick up lox==0.13.0 for #3391 2025-03-05 18:46:46 -08:00
Paul Gauthier (aider)
7132ae47d7 test: Mock offer_url to prevent URL opening in SSL verification tests 2025-03-05 18:44:47 -08:00
Paul Gauthier (aider)
96bde4ad03 style: Format code with linter 2025-03-05 18:42:13 -08:00
Paul Gauthier (aider)
85b9bdd8f4 fix: Resolve TypeError in SSL verification tests by mocking Model class 2025-03-05 18:42:03 -08:00
Paul Gauthier (aider)
e5a85108d7 refactor: Remove unused result variable in test_verify_ssl_setting_before_cache_loading 2025-03-05 18:40:03 -08:00
Paul Gauthier (aider)
aaa3a8ebda style: Remove trailing whitespaces and fix code formatting 2025-03-05 18:39:29 -08:00
Paul Gauthier (aider)
9ceb766a67 feat: Add comprehensive tests for SSL verification in ModelInfoManager and main 2025-03-05 18:39:17 -08:00
Paul Gauthier (aider)
f894240fbb style: Remove trailing whitespaces in models.py 2025-03-05 18:37:47 -08:00
Paul Gauthier (aider)
4bac8e2ebe refactor: Lazy-load model cache to respect SSL verification settings 2025-03-05 18:37:40 -08:00
Paul Gauthier (aider)
d3ad1fd384 fix: Remove unused configparser import in main.py 2025-03-05 18:35:13 -08:00
Paul Gauthier (aider)
ed0e4189e4 style: Fix linting issues in models.py 2025-03-05 18:34:56 -08:00
Paul Gauthier (aider)
5f147242be refactor: Add SSL verification control to ModelInfoManager 2025-03-05 18:34:48 -08:00
Paul Gauthier
c7b4c22b94 fix: Add SSL verification option for model info request 2025-03-05 18:31:39 -08:00
Paul Gauthier (aider)
667bacf81e style: Remove unused imports from test_sanity_check_repo.py 2025-03-05 18:28:40 -08:00
Paul Gauthier
e896b0ea96 refactor: Remove corrupt index test and related function from sanity check test 2025-03-05 18:28:30 -08:00
Paul Gauthier (aider)
3b0a5a8b41 style: Format code with linter and remove extra whitespaces 2025-03-05 18:20:56 -08:00
Paul Gauthier (aider)
81d39e9bde test: Add tests for ensure_hash_prefix and color initialization 2025-03-05 18:20:50 -08:00
Paul Gauthier (aider)
59eabf03a6 style: Reformat color configuration lines for improved readability 2025-03-05 18:20:16 -08:00
Paul Gauthier (aider)
4fc4987c43 feat: Add helper function to ensure hex color values have a # prefix 2025-03-05 18:20:10 -08:00
Paul Gauthier
dbf5bb149a chore: Add sphinx version constraint to development requirements 2025-03-05 18:17:50 -08:00
Paul Gauthier (aider)
38acbf6970 fix: Handle ANY_GIT_ERROR when reading staged files in repo.py 2025-03-05 17:40:04 -08:00
Paul Gauthier
ad4bd91751 docs: Add comment about potential error in index.entries.keys usage 2025-03-05 17:39:53 -08:00
Paul Gauthier
1a6f290979 copy 2025-03-05 17:15:00 -08:00
Paul Gauthier
c6e02a620a test: Add unit tests for model dependency checks and sanity checks 2025-03-05 17:11:15 -08:00
Paul Gauthier (aider)
90efaa41c2 test: Add tests for check_for_dependencies function 2025-03-05 17:07:43 -08:00
Paul Gauthier (aider)
51a73ad8b5 style: Fix linter formatting in models.py 2025-03-05 17:07:01 -08:00
Paul Gauthier (aider)
93f2387d1b refactor: Move check_pip_install_extra import to top of file 2025-03-05 17:06:56 -08:00
Paul Gauthier (aider)
207a631a65 style: Fix linting issues in models.py 2025-03-05 17:06:39 -08:00
Paul Gauthier (aider)
74e60e98b7 refactor: Simplify model dependency checks with new check_for_dependencies function 2025-03-05 17:06:33 -08:00
Paul Gauthier (aider)
6ca6bf7457 refactor: Extract model-specific dependency checks into dedicated function 2025-03-05 17:06:23 -08:00
Paul Gauthier
ea49cdeb17 feat: Add google-cloud-aiplatform dependency to Dockerfile 2025-03-05 16:59:41 -08:00
Paul Gauthier (aider)
bcc8b1917a style: Fix linter warnings in models.py 2025-03-05 16:57:56 -08:00
Paul Gauthier (aider)
67b12d4416 feat: Add Vertex AI model package check for google-cloud-aiplatform 2025-03-05 16:57:51 -08:00
Paul Gauthier (aider)
dc02daecee style: Break long comment into two lines to fix flake8 line length issue 2025-03-05 16:56:55 -08:00
Paul Gauthier (aider)
6212b38ea6 style: Format code and remove unnecessary whitespace 2025-03-05 16:55:56 -08:00
Paul Gauthier (aider)
ce7e5726e7 feat: Add boto3 check for Bedrock models in sanity_check_model 2025-03-05 16:55:51 -08:00
Paul Gauthier
1156b3f22e feat: Add Pillow library to project requirements 2025-03-05 16:39:42 -08:00
Paul Gauthier
66097f3507 make torch 2.2.2 pin explicit 2025-03-05 16:34:45 -08:00
Paul Gauthier
146f02d314 refactor: Remove redundant numpy version constraint from requirements files 2025-03-05 16:32:16 -08:00
Paul Gauthier
77e5882ce7 Merge branch 'main' of github.com:Aider-AI/aider 2025-03-05 16:29:50 -08:00
Paul Gauthier
d44850a4f3 pickup pillow 11.1.0 2025-03-05 16:29:40 -08:00
paul-gauthier
e6e692dc43 Merge pull request #3423 from akirak/git-config
Retrieve the identity using git-config command
2025-03-05 16:21:00 -08:00
Paul Gauthier
dc65770ae3 Add qwq32b on fireworks 2025-03-05 16:19:19 -08:00
Paul Gauthier (aider)
8c15802277 refactor: Add comment explaining closing tag splitting logic 2025-03-05 16:03:00 -08:00
Paul Gauthier (aider)
3d666d9929 style: Apply linter formatting to models.py 2025-03-05 16:02:14 -08:00
Paul Gauthier (aider)
c0c960ec2e refactor: Enhance remove_reasoning_content to handle incomplete tag patterns 2025-03-05 16:02:08 -08:00
Paul Gauthier
2bb4db127c fix: Normalize path separators for git config include path on Windows 2025-03-05 15:51:45 -08:00
Paul Gauthier (aider)
dd1a5d4f58 fix: Improve git config include path handling for Windows tests 2025-03-05 15:50:06 -08:00
Paul Gauthier (aider)
961fdf7029 fix: Normalize git config include path for cross-platform compatibility 2025-03-05 15:37:30 -08:00
Paul Gauthier (aider)
ff3d2b006f refactor: Handle EOFError gracefully in confirm_ask and prompt_ask methods 2025-03-05 15:30:44 -08:00
Paul Gauthier (aider)
d7efbad3df fix: Update git config include directive assertion in test 2025-03-05 15:20:30 -08:00
Paul Gauthier (aider)
d70995bb1a fix: Remove unused variable and fix f-string in test_git_config_include_directive 2025-03-05 15:19:42 -08:00
Paul Gauthier (aider)
1b58e95dce style: Fix linting issues in test_main.py 2025-03-05 15:19:23 -08:00
Paul Gauthier (aider)
780f70d5c6 test: Enhance git config include tests with manual config file verification 2025-03-05 15:19:18 -08:00
Paul Gauthier (aider)
a01e1f96fa refactor: Remove unused original_config variable in git config setup 2025-03-05 15:17:35 -08:00
Paul Gauthier (aider)
3adb443ca5 style: Fix linting issues in test_main.py 2025-03-05 15:16:49 -08:00
Paul Gauthier (aider)
dc9ff3a004 feat: Add test for git config include directive in repository config 2025-03-05 15:16:43 -08:00
Paul Gauthier (aider)
f879f4f432 style: Fix linting issues in test_main.py 2025-03-05 15:15:15 -08:00
Paul Gauthier (aider)
183f831a7e test: Add test for git config include to verify aider respects user settings 2025-03-05 15:15:09 -08:00
Paul Gauthier
3c361be621 refactor: Simplify pip-compile script by removing annotation-style flag 2025-03-05 14:49:40 -08:00
Paul Gauthier (aider)
5764d44faf feat: Add verbosity and annotations to pip-compile script 2025-03-05 14:45:42 -08:00
Paul Gauthier
ce86677faa Merge branch 'main' of github.com:Aider-AI/aider 2025-03-05 14:43:26 -08:00
Paul Gauthier
17d93b39d5 bump deps with new uv compile 2025-03-05 14:38:41 -08:00
Paul Gauthier (aider)
1357b85a3d feat: Add --no-strip-extras flag to uv pip compile commands 2025-03-05 14:37:27 -08:00
Paul Gauthier (aider)
c67cb5c604 refactor: Replace pip-compile with uv pip compile in dependency management script 2025-03-05 09:24:43 -08:00
paul-gauthier
6ffb0df6cb Merge pull request #3443 from gmoz22/main 2025-03-05 00:37:01 -08:00
gmoz22
032b40c78d Merge branch 'main' of https://github.com/gmoz22/aider into main 2025-03-05 00:11:37 -06:00
gmoz22
742aea115b Adding OpenRouter deepseek-chat:free (V3) 2025-03-05 00:08:36 -06:00
gmoz22
0f16cd46f9 Adding OpenRouter deepseek-chat:free (V3) 2025-03-05 00:03:00 -06:00
Paul Gauthier
eea64cf272 copy 2025-03-04 14:03:10 -08:00
Paul Gauthier (aider)
3d5c5f8054 refactor: Rename check_push_access to check_ok_to_push 2025-03-04 14:02:30 -08:00
Paul Gauthier
748099a324 refactor: Improve git push access check logging and error handling 2025-03-04 14:02:27 -08:00
Paul Gauthier (aider)
9c1d050d8b feat: Add git command output display in check_push_access function 2025-03-04 14:00:51 -08:00
Paul Gauthier
4ef834e295 copy 2025-03-04 13:59:34 -08:00
Paul Gauthier (aider)
50bead172b style: Apply linter formatting to versionbump.py script 2025-03-04 13:57:07 -08:00
Paul Gauthier (aider)
ee4508af03 refactor: Move check functions to top level of script 2025-03-04 13:57:01 -08:00
Paul Gauthier
6638959d66 Merge branch 'claui-fix-requirements-conflicts' 2025-03-04 13:35:10 -08:00
Paul Gauthier
f266a9d25d bumped deps 2025-03-04 13:31:25 -08:00
Paul Gauthier
6cb8e1a518 Merge branch 'fix-requirements-conflicts' of github.com:claui/aider into claui-fix-requirements-conflicts 2025-03-04 13:28:56 -08:00
Paul Gauthier (aider)
85375359ed style: Apply linter formatting to versionbump.py script 2025-03-04 13:24:28 -08:00
Paul Gauthier (aider)
17c9ba2c68 feat: Add git push dry-run check before version bump 2025-03-04 13:24:22 -08:00
Paul Gauthier
34334ad8b8 chore: Add dry run git push check before version bump 2025-03-04 13:24:18 -08:00
Paul Gauthier
4527714094 set version to 0.75.3.dev 2025-03-04 13:23:17 -08:00
Paul Gauthier
b43d74dbb7 version bump to 0.75.2 2025-03-04 13:20:35 -08:00
Paul Gauthier
0c4140ff02 copy 2025-03-04 13:20:31 -08:00
Paul Gauthier
b074c02fa2 bump deps 2025-03-04 12:45:00 -08:00
Paul Gauthier
7636c97f9f copy 2025-03-04 12:42:36 -08:00
Paul Gauthier
4211ab28b0 Merge branch 'main' of github.com:Aider-AI/aider 2025-03-04 12:41:29 -08:00
paul-gauthier
cecfbc7e20 Merge pull request #3435 from matfat55/main 2025-03-03 15:14:25 -08:00
Mattias
31a6aff932 update default model to 3.7 sonnet 2025-03-03 18:07:25 -05:00
Claudia Pellegrino
c4a67c4356 chore: bump dependencies according to latest fix
Now that the fix from the previous commit is active, sync up the
dependencies via `scripts/pip-compile.sh --upgrade`.
2025-03-03 22:02:22 +01:00
Akira Komamura
9f5765134b fix: Use git command to get the identity
This takes the global git configuration into account, so it will become
unnecessary to set a local identity in every repository.
2025-03-03 19:19:01 +09:00
Paul Gauthier
0c5b51d2ac copy 2025-03-02 07:47:39 -08:00
Claudia Pellegrino
31c4198cee fix: let fewer conflicts occur across requirements
**tl;dr** Introduce a common umbrella constraints file (that works
across requirement extras) to avoid package version conflicts and
to reduce the need for manual pinning in `*.in` files.

Previously, spurious package version conflicts could sometimes occur
across requirements for `pip install -e .`, `pip install -e .[help]`,
`pip install -e .[playwright]`, and so on. Here’s why:

- There are five different requirement configs: the set of base
  requirements (`requirements.txt`) and four additional requirement sets\
  (aka "extras"): `dev`, `help`, `browser`, and `playwright`.

- Each of those five configurations spans its own tree of dependencies
  [1]. Those five trees can slightly overlap. (For example, `greenlet`
  is a transitive requirement for both the `help` and `playwright`
  trees, respectively.)

- If you want to resolve those dependency trees so you get concrete
  version numbers, you can’t just look at each tree independently.
  This is because when trees overlap, they sometimes pull in the same
  package for different reasons, respectively, and maybe with different
  version constraints.
  For example, the `help` tree pulls in `greenlet`, because `sqlalchemy`
  requires it. At the same time, the `playwright` tree also pulls in
  `greenlet` because it’s needed by the `playwright` package.
  Resolving those constraints strictly individually (i.e., per tree) is
  usually a mistake. It may work for a while, but occasionally you’re
  going to end up with two conflicting versions of the same package.

To prevent those version conflicts from occurring, the five
`pip-compile` invocations were designed as a chain.
The process starts at the smallest tree (i.e., the base
`requirements.in` file). It calculates the version numbers for the tree,
remembers the result, and feeds it into the calculation of the next
tree.

The chain design somewhat helped mitigate conflicts, but not always.
The reason for that is that the chain works like a greedy algorithm:
once a decision has been made for a given package in a tree, that
decision is immediately final, and the compilation process isn’t allowed
to go back and change that decision if it learns new information.
New information comes in all the time, because larger trees usually have
more complex constraints than smaller trees, and the process visits
larger trees later, facing additional constraints as it hops from tree
to tree. Sometimes it bumps into a new constraint against a package for
which it has already made a decision earlier (i.e., it has pinned the
concrete version number in the `requirements*.txt` file of an earlier
tree).

That’s why the greedy chain-based method, even though it mostly works
just fine, can never avoid spurious conflicts entirely.
To help mitigate those conflicts, pinning entries were manually added to
`requirements.in` files on a case-by-case basis as conflicts occurred.
Those entries can make the file difficult to reason about, and they must
be kept in sync manually as packages get upgraded. That’s a maintenance
burden.

Turning the chain into an umbrella may help. Instead of hopping from
tree to tree, look at the entire forest at once, calculate all the
concrete version numbers for all trees in one fell swoop, and save the
results in a common, all-encompassing umbrella file.

Armed with the umbrella file (called `common-constraints.txt`), visit
each tree (in any order – it no longer matters) and feed it just the
umbrella file as a constraint, along with its own `*.in` file as the
input.
Chaining is no longer necessary, because the umbrella file already
contains all version constraints for all the packages one tree could
possibly need, and then some.

This technique should reduce manual pinning inside `*.in` files, and
makes sure that computed version numbers no longer contradict each other
across trees.

[1]: From a graph theory point of view, I’m being blatantly incorrect
here; those dependency graphs are usually not trees, because they have
cycles. I’m still going to call them "trees" for the sake of this
discussion, because the word "tree" feels less abstract and intimidating
and hopefully more relatable.
2025-03-02 02:50:03 +01:00
Paul Gauthier
a94c4b4ce4 pricing 2025-02-27 14:34:47 -08:00
Paul Gauthier (aider)
088dd99ec1 refactor: Change cost chart to scatter plot with markers 2025-02-27 14:15:23 -08:00
Paul Gauthier (aider)
4f9b907b4d feat: Conditionally plot cost data only when non-zero 2025-02-27 14:12:59 -08:00
Paul Gauthier (aider)
e7dc3e6062 feat: Add line plot of total costs with right y-axis scale 2025-02-27 13:43:30 -08:00
Paul Gauthier
53055e78eb Merge branch 'main' of github.com:Aider-AI/aider 2025-02-27 13:19:56 -08:00
Paul Gauthier
9a9c34aa18 add gpt-4.5 to leaderboard 2025-02-27 13:07:07 -08:00
Paul Gauthier
2f1384840c feat: Add metadata and settings for GPT-4.5-preview and GPT-4o models 2025-02-27 13:01:52 -08:00
Paul Gauthier
b462e55799 feat: Add gpt-4.5-preview model metadata and settings 2025-02-27 12:20:15 -08:00
paul-gauthier
263ec60ba6 Merge pull request #3399 from pcgeek86/patch-1
Update Aider documentation for Amazon Bedrock 📄
2025-02-27 10:08:32 -08:00
Trevor Sullivan
8d44a57200 Update Aider documentation for Amazon Bedrock 📄 2025-02-27 10:33:06 -07:00
Paul Gauthier (aider)
976722c129 refactor: Update problem_stats.py to use polyglot_leaderboard.yml 2025-02-27 08:56:54 -08:00
Paul Gauthier
4a9447d344 bump deps 2025-02-26 09:07:15 -08:00
Paul Gauthier
ac2ed9aa87 copy 2025-02-26 09:05:46 -08:00
Paul Gauthier
51cf241dae copy 2025-02-26 09:05:16 -08:00
Paul Gauthier
f239b8e26d copy 2025-02-26 09:03:53 -08:00
Paul Gauthier (aider)
ab9f4161ea refactor: Update weak_model_name to match main model name pattern 2025-02-26 09:03:38 -08:00
Paul Gauthier (aider)
1d10e649b7 feat: Add Claude 3.7 Sonnet models to model-settings.yml 2025-02-26 08:59:45 -08:00
Paul Gauthier (aider)
a95b40aac6 docs: Update LM Studio example commands with dummy key and default URL 2025-02-26 08:54:46 -08:00
Paul Gauthier
1b5777821f Merge branch 'main' of github.com:Aider-AI/aider 2025-02-26 08:53:52 -08:00
paul-gauthier
587d469193 Merge pull request #3388 from jklina/clarify-llm-studio-instructions
Add clarifying instructions to LM Studio config
2025-02-26 08:53:38 -08:00
Paul Gauthier
6c3e30f3ea copy 2025-02-26 07:50:52 -08:00
Paul Gauthier
91dbcae9e2 Merge branch 'main' of github.com:Aider-AI/aider 2025-02-26 07:50:43 -08:00
Paul Gauthier
fb5db4f6b7 copy 2025-02-26 07:50:30 -08:00
Paul Gauthier
a1e029a825 added settings for openrouter/anthropic/claude-3.7-sonnet:beta 2025-02-26 07:49:55 -08:00
paul-gauthier
54dbf9b6f2 Merge pull request #3389 from filiptrplan/patch-1 2025-02-26 07:28:31 -08:00
Filip Trplan
b6344951fe add gemini-2.0-pro-exp-02-05 polyglot benchmark 2025-02-26 15:04:48 +01:00
Josh Klina
ea972118b5 Add clarifying instructions to LM Studio config
There are a few small gotchas when configuring LM Studio to work with aider. This adds a few clarifying instructions.
2025-02-26 08:59:39 -05:00
paul-gauthier
2fccd4799d Merge pull request #3363 from MatthewZMD/typo 2025-02-25 07:40:56 -08:00
Paul Gauthier
a3937e4d0d copy 2025-02-25 06:35:35 -08:00
Mingde (Matthew) Zeng
acb022d5d5 Fix typo 2025-02-25 02:46:29 -05:00
Paul Gauthier
b6e46d6101 copy 2025-02-24 20:20:55 -08:00
Paul Gauthier
347f75f804 copy 2025-02-24 17:23:14 -08:00
Paul Gauthier
4005ced505 copy 2025-02-24 17:17:34 -08:00
Paul Gauthier
c748c35b37 set version to 0.75.2.dev 2025-02-24 15:41:02 -08:00
Paul Gauthier
a73836ca43 version bump to 0.75.1 2025-02-24 15:39:16 -08:00
Paul Gauthier
b357fab326 copy 2025-02-24 15:39:02 -08:00
Paul Gauthier
16a3000451 feat: Add OpenRouter Claude 3.7 Sonnet model configuration 2025-02-24 15:36:25 -08:00
Paul Gauthier
c4fac2d179 added sonnet 37 w/32k think 2025-02-24 15:15:24 -08:00
Paul Gauthier
60d11a6eba use LONG_TIMEOUT 2025-02-24 13:51:21 -08:00
Paul Gauthier
93edbda984 copy 2025-02-24 13:29:22 -08:00
Paul Gauthier
75bd94d757 updated blame 2025-02-24 12:53:46 -08:00
Paul Gauthier
a5cf0b6ef5 set version to 0.75.1.dev 2025-02-24 12:34:55 -08:00
Paul Gauthier
506280d645 version bump to 0.75.0 2025-02-24 12:33:23 -08:00
Paul Gauthier (aider)
2f79b4fde7 test: Update sonnet model name in test_models.py 2025-02-24 12:32:47 -08:00
Paul Gauthier
846f98628d copy 2025-02-24 12:28:11 -08:00
Paul Gauthier
eed9be5a9e added sonnet 37 to leaderboard 2025-02-24 12:16:14 -08:00
Paul Gauthier
27c77afafc copy 2025-02-24 12:13:47 -08:00
Paul Gauthier
c156b2f817 feat: Update Claude Sonnet model to latest version 2025-02-24 12:11:49 -08:00
Paul Gauthier (aider)
96fcc5df6b fix: Resolve Windows path escaping issue in test_editor.py 2025-02-24 12:09:33 -08:00
Paul Gauthier (aider)
3c775fd5de fix: Resolve Windows path handling and editor command test issues 2025-02-24 12:09:26 -08:00
Paul Gauthier
75e9ee6528 added claude 37 2025-02-24 11:53:07 -08:00
Paul Gauthier
ea0ee96398 test: Add error message to editor file extension assertion 2025-02-24 11:45:48 -08:00
Paul Gauthier (aider)
3fd4a2841a fix: Use separate temp file for log in editor test script 2025-02-24 10:39:16 -08:00
Paul Gauthier (aider)
6ecf44c87a refactor: Remove unused shlex import from editor.py 2025-02-24 10:22:04 -08:00
Paul Gauthier
031e8cea6e feat: Add pipe_editor function for system editor interaction 2025-02-24 10:21:59 -08:00
Paul Gauthier (aider)
757fbb0124 refactor: Remove unused pytest import in test_editor.py 2025-02-24 10:21:51 -08:00
Paul Gauthier
d65e3f73df refactor: Simplify editor discovery and command handling logic 2025-02-24 10:21:45 -08:00
Paul Gauthier (aider)
5b13105d58 fix: Update tests to match string return type of discover_editor() 2025-02-24 10:20:46 -08:00
Paul Gauthier (aider)
c8745afb37 fix: Preserve Windows paths in editor command parsing 2025-02-24 10:18:22 -08:00
Paul Gauthier (aider)
85189c0bde fix: Update temporary script logging to use f-string and full sys.argv 2025-02-24 10:11:58 -08:00
Paul Gauthier (aider)
a8635bade2 fix: Improve test_pipe_editor_with_fake_editor reliability by using explicit log file path 2025-02-24 10:11:45 -08:00
Paul Gauthier (aider)
4560572ff2 style: Fix code formatting in test_editor.py 2025-02-24 09:47:24 -08:00
Paul Gauthier (aider)
c7fa57fd14 refactor: Make test_pipe_editor cross-platform using Python script 2025-02-24 09:47:20 -08:00
Paul Gauthier (aider)
54965fdf2e style: Fix linter warnings in test_editor.py 2025-02-24 09:46:33 -08:00
Paul Gauthier (aider)
30361aa685 fix: Remove unused 'result' variable in test_pipe_editor_with_shell_script 2025-02-24 09:46:29 -08:00
Paul Gauthier (aider)
8be93b72c4 style: Format code and organize imports in test_editor.py 2025-02-24 09:46:20 -08:00
Paul Gauthier (aider)
c7e9d645e5 test: Add test for pipe_editor with shell script logging arguments 2025-02-24 09:46:16 -08:00
Paul Gauthier
fe6a3c89f3 copy 2025-02-24 09:44:57 -08:00
Paul Gauthier
686a32cbc0 refactor: Remove debug dump call in pipe_editor function 2025-02-24 09:28:31 -08:00
Paul Gauthier (aider)
55d7397ff5 style: Organize imports and remove unused import 2025-02-24 09:22:40 -08:00
Paul Gauthier (aider)
3714d554df refactor: Update subprocess call to use shell=True with properly quoted command string 2025-02-24 09:22:34 -08:00
Paul Gauthier
0415de853b fix: Remove shell=True and add debug dump in pipe_editor 2025-02-24 09:22:28 -08:00
Paul Gauthier
0ba1e8f904 set version to 0.74.4.dev 2025-02-23 08:54:05 -08:00
Paul Gauthier
58bfcb0953 version bump to 0.74.3 2025-02-23 08:52:31 -08:00
Paul Gauthier
fa281d89d2 copy 2025-02-23 08:52:06 -08:00
Paul Gauthier
908b10dae0 copy 2025-02-23 08:50:49 -08:00
paul-gauthier
ea03f9def0 Merge pull request #3333 from akaihola/editor-test-fix 2025-02-22 05:22:52 -08:00
Antti Kaihola
3510799fca fix: test for get_environment_editor()
The test for `EDITOR` preference failed to clean up any existing value
of `VISUAL` which may be present in the environment pytest is run in.
2025-02-22 10:12:08 +02:00
Paul Gauthier
1f4a63d6db add socksio dep #3048 2025-02-19 14:37:48 -08:00
Paul Gauthier
dd94a444d2 feat: Add OpenRouter O3 Mini High model configuration to metadata and settings 2025-02-19 13:51:51 -08:00
Paul Gauthier
50fafc9ff6 bump deps; downgrade streamlit per #3221 2025-02-19 13:47:21 -08:00
Paul Gauthier
47fc6a689d Revert "fix: Ignore decoding errors when reading text files"
This reverts commit f67ea5d010.
2025-02-19 13:18:17 -08:00
paul-gauthier
86175a1827 Merge pull request #3127 from FeepingCreature/fix/sort-file-tokens
refactor: Sort files by token count in cmd_tokens
2025-02-18 11:50:36 -08:00
FeepingCreature (aider)
6d6e25df4e refactor: Sort files by token count in cmd_tokens 2025-02-18 20:11:50 +01:00
paul-gauthier
5402ed112c Merge pull request #3283 from ffluk3/add-build-gradle-kts
fix: add build.gradle.kts to special.py
2025-02-17 08:07:41 -08:00
Lucas Shadler
235b83d02e fix: add build.gradle.kts to special.py
Now that aider supports Kotlin syntax, this change will allow for indexing of kotlin-based gradle project files
2025-02-17 06:22:43 -08:00
Paul Gauthier
6ffbec969a copy 2025-02-15 12:01:40 -08:00
Paul Gauthier
185ea71646 Merge branch 'main' of github.com:Aider-AI/aider 2025-02-15 12:00:47 -08:00
Paul Gauthier
69fcc3acd7 fix: Change file reading error handling from "ignore" to "replace" 2025-02-15 12:00:39 -08:00
paul-gauthier
da94cf4aab Merge pull request #3252 from devriesd/editor-shell-true
subprocess called with shell true
2025-02-14 09:15:17 -08:00
Daniel de Vries
8799cf95b4 subprocess now called with shell true 2025-02-14 11:47:45 -05:00
Paul Gauthier (aider)
108ce18d51 style: Fix linting issues in io.py file 2025-02-13 12:12:40 -08:00
Paul Gauthier (aider)
f67ea5d010 fix: Ignore decoding errors when reading text files 2025-02-13 12:12:35 -08:00
Paul Gauthier
dd857aeccf fix: Handle file reading with encoding, ignore decoding errors 2025-02-13 12:12:33 -08:00
Paul Gauthier
44b1acd385 feat: Add tree-sitter language pack configuration and version pinning 2025-02-10 14:25:42 -08:00
Paul Gauthier
b2f6018e05 Merge branch 'main' into ts-pack 2025-02-10 13:59:10 -08:00
Paul Gauthier
bca6507f11 bump deps 2025-02-10 11:48:19 -08:00
Paul Gauthier (aider)
30332c2ba5 style: Apply linter formatting to issues.py script 2025-02-10 11:37:35 -08:00
Paul Gauthier (aider)
17919d7503 refactor: Add priority label check to prevent bot actions on priority issues 2025-02-10 11:37:30 -08:00
Paul Gauthier
42237ced80 feat: Add CLI option to install tree-sitter language pack 2025-02-09 17:19:19 -08:00
Paul Gauthier
737021ccdf Merge branch 'main' into ts-pack 2025-02-09 17:13:53 -08:00
Paul Gauthier
22ed9d8d7c set version to 0.74.3.dev 2025-02-09 15:27:49 -08:00
Paul Gauthier
49dcd11813 version bump to 0.74.2 2025-02-09 15:26:05 -08:00
Paul Gauthier
7c30086d78 copy 2025-02-09 15:25:49 -08:00
Paul Gauthier
e2dbfdc537 feat: Add configurable cache keepalive delay and pings option 2025-02-09 15:22:19 -08:00
Mir Adnan ALI
3e8f9aa31c fix: Use shlex.quote() to lint filepaths containing shell metacharacters 2025-02-08 17:31:01 -05:00
Paul Gauthier
674eb109c2 copy 2025-02-08 06:49:14 -08:00
Paul Gauthier
927b5bc8cc Merge branch 'main' into ts-pack 2025-02-07 18:10:37 -08:00
Paul Gauthier
f7dd0fc582 refactor: Modify cache warming mechanism with ok_to_warm_cache flag 2025-02-07 16:39:35 -08:00
Paul Gauthier (aider)
35f30bde04 style: Apply linter formatting to base_coder.py 2025-02-07 16:26:09 -08:00
Paul Gauthier (aider)
a682b50fd4 refactor: Improve cache warming thread cleanup in Coder class 2025-02-07 16:26:02 -08:00
Paul Gauthier
3b5024749f fix: Modify cache warming logic with debug dump statements 2025-02-07 16:26:00 -08:00
Paul Gauthier
2a56d892d7 works with both tsl and tsl-pack 2025-02-07 16:18:09 -08:00
Paul Gauthier
e3d5eaf388 reorg scm files 2025-02-07 15:29:28 -08:00
Paul Gauthier (aider)
5d1f50117b refactor: Improve file lookup logic in get_scm_fname 2025-02-07 15:23:50 -08:00
Paul Gauthier
f6a2ec15d7 refactor: Update get_scm_fname to support multiple query subdirectories 2025-02-07 15:23:48 -08:00
Paul Gauthier
64a8d56725 reorg scm files 2025-02-07 15:17:59 -08:00
Paul Gauthier
71caea32e7 cleanup 2025-02-07 15:11:21 -08:00
Paul Gauthier
17993ef9ff works 2025-02-07 14:26:59 -08:00
Paul Gauthier
b0aa4ef4c8 wip 2025-02-07 11:34:33 -08:00
Paul Gauthier
5c4aaa27d9 Merge branch 'main' into ts-pack 2025-02-07 11:15:10 -08:00
Paul Gauthier
53586d95d0 updated blame 2025-02-07 11:06:30 -08:00
Paul Gauthier (aider)
3877ab1f00 style: Apply linter formatting to blame.py 2025-02-07 10:57:42 -08:00
Paul Gauthier (aider)
2425322e8d refactor: Improve test file filtering logic in blame script 2025-02-07 10:57:38 -08:00
Paul Gauthier (aider)
3f80a113d1 style: Lint and format blame.py script 2025-02-07 10:56:50 -08:00
Paul Gauthier (aider)
9ad20849d3 feat: Include language test files in blame script 2025-02-07 10:56:46 -08:00
Paul Gauthier
c8c58280d8 refactor: Modify file filtering logic in blame script 2025-02-07 10:56:44 -08:00
Paul Gauthier
d40505cd16 copy 2025-02-07 10:55:10 -08:00
Paul Gauthier
25c5f84090 rename 2025-02-07 10:55:01 -08:00
Paul Gauthier (aider)
a58293f04b feat: Add sample Terraform code for HCL language testing 2025-02-07 10:53:28 -08:00
Paul Gauthier
1408fb41b8 feat: Add Terraform HCL fixture file for testing 2025-02-07 10:53:27 -08:00
Paul Gauthier
cb7cb8e527 Add attribution 2025-02-07 10:51:00 -08:00
Paul Gauthier
d750dbc703 bump deps to pickup grep-ast 0.5.0 2025-02-07 10:50:49 -08:00
paul-gauthier
91b417138a Merge pull request #3173 from krewenki/main
Add support for terraform/hcl repomaps
2025-02-07 10:49:02 -08:00
Warren Krewenki
db5eabd927 Add hcl queries and bump required grep-ast 2025-02-07 14:42:19 -04:00
Paul Gauthier
cbcc0fde04 copy 2025-02-07 08:56:02 -08:00
Paul Gauthier
cca3b98a09 set version to 0.74.2.dev 2025-02-07 08:55:43 -08:00
Paul Gauthier
e63b8ff35d version bump to 0.74.1 2025-02-07 08:54:04 -08:00
Paul Gauthier
b6a37bf0e2 copy 2025-02-07 08:51:29 -08:00
Paul Gauthier
249ca4fd75 remove useless tests 2025-02-07 08:51:20 -08:00
Paul Gauthier (aider)
d382869b98 style: Apply linter formatting to test_coder.py 2025-02-07 08:47:39 -08:00
Paul Gauthier (aider)
41a3c27aba feat: Update system prompt prefix tests to check first line 2025-02-07 08:47:33 -08:00
Paul Gauthier (aider)
af48c46c30 style: Fix linting issues in test_coder.py 2025-02-07 08:39:39 -08:00
Paul Gauthier (aider)
52bc51a197 test: Add tests for system_prompt_prefix functionality 2025-02-07 08:39:33 -08:00
Paul Gauthier (aider)
57ca9cc840 feat: Add continuation prompt for multiline input in prompt_toolkit 2025-02-07 08:36:52 -08:00
Paul Gauthier
56d6a47ad3 remove ". " from multiline input 2025-02-07 08:34:16 -08:00
Paul Gauthier
b806360a49 copy 2025-02-06 16:47:41 -08:00
Paul Gauthier
739a88ed00 Add -DEXERCISM_RUN_ALL_TESTS to cpp tests 2025-02-06 16:41:59 -08:00
Paul Gauthier (aider)
38d4341e59 build: Add libboost-all-dev to Dockerfile for C++ support 2025-02-06 16:41:45 -08:00
Paul Gauthier
6118d91922 improve unit tests in benchmark 2025-02-06 16:27:29 -08:00
Paul Gauthier
71ac7efafe copy 2025-02-06 15:35:10 -08:00
Paul Gauthier
cf0710225c Tell o1 & o3-mini to use markdown 2025-02-06 15:32:21 -08:00
Paul Gauthier
21e96df85a copy 2025-02-06 14:56:58 -08:00
Paul Gauthier
79f32c2ebd set version to 0.74.1.dev 2025-02-06 14:36:46 -08:00
Paul Gauthier
492a1f69b3 version bump to 0.74.0 2025-02-06 14:35:10 -08:00
Paul Gauthier
32b962e186 copy 2025-02-06 14:32:59 -08:00
Paul Gauthier
37beb8e6b2 copy 2025-02-06 14:29:02 -08:00
Paul Gauthier
1ee9f3815d copy 2025-02-06 14:28:56 -08:00
Paul Gauthier
65a5e8721c copy 2025-02-06 14:28:07 -08:00
Paul Gauthier (aider)
036c7a2117 fix: Remove unnecessary f-string without placeholders 2025-02-06 14:15:17 -08:00
Paul Gauthier
229e8e1ad1 refactor: Update file addition confirmation message and add TimeoutError to git error handling 2025-02-06 14:15:09 -08:00
Paul Gauthier
390bb1bdc5 copy 2025-02-06 14:11:18 -08:00
Paul Gauthier
83b401b241 feat: Add dot after newline in multiline input mode 2025-02-06 14:10:22 -08:00
Paul Gauthier (aider)
cfb2c1f62a style: Format code with linter 2025-02-06 14:07:38 -08:00
Paul Gauthier (aider)
4ad7df746e style: Move imports to top of file to fix E402 errors 2025-02-06 14:07:33 -08:00
Paul Gauthier (aider)
a218b1d3d0 style: Run linter on aider/io.py 2025-02-06 14:06:42 -08:00
Paul Gauthier (aider)
6f61aff735 fix: Replace bare except and reorganize imports in io.py 2025-02-06 14:06:36 -08:00
Paul Gauthier (aider)
4893f78286 style: Format code with linter 2025-02-06 14:05:55 -08:00
Paul Gauthier (aider)
97296f3169 fix: Remove unused variable and add missing decorator 2025-02-06 14:05:47 -08:00
Paul Gauthier (aider)
ebcf4364f5 fix: Restore multiline mode after interruptions using decorator 2025-02-06 14:05:14 -08:00
Paul Gauthier (aider)
6d0078d39b style: Remove trailing whitespace in test_io.py 2025-02-06 13:56:22 -08:00
Paul Gauthier (aider)
9b80b693c1 test: add tests for multiline mode restoration after prompt interrupts 2025-02-06 13:56:14 -08:00
Paul Gauthier
2e1e26fdb9 copy 2025-02-06 13:45:23 -08:00
Paul Gauthier
ddeb43783c refactor: Update model switching to preserve weak model configuration 2025-02-06 13:43:58 -08:00
Paul Gauthier
b61e527baa copy 2025-02-06 13:25:05 -08:00
Paul Gauthier
53ce96b48f refactor: Remove redundant test case for request timeout in send_completion 2025-02-06 11:48:55 -08:00
Paul Gauthier (aider)
36ea166c20 test: add request_timeout tests for Model class 2025-02-06 11:47:57 -08:00
Paul Gauthier (aider)
f9fd4c71f1 fix: Add missing timeout parameter to test assertion 2025-02-06 11:47:08 -08:00
Paul Gauthier (aider)
44171417e3 fix: Update test assertions to include timeout parameter 2025-02-06 11:46:39 -08:00
Paul Gauthier
b554a46a4c copy 2025-02-06 11:41:03 -08:00
Paul Gauthier (aider)
19a2c37678 style: Apply linting to models.py file 2025-02-06 11:37:52 -08:00
Paul Gauthier (aider)
23d74040ed refactor: Improve timeout handling in litellm.completion method 2025-02-06 11:37:47 -08:00
Paul Gauthier
685e63b9da fix: Adjust timeout handling in litellm.completion method 2025-02-06 11:37:44 -08:00
Paul Gauthier
39855f4d2b refactor: Change timeout handling to use float type and global request_timeout 2025-02-06 11:36:15 -08:00
Paul Gauthier
ae6fc41ca9 feat: Add new OpenAI model names to supported models list 2025-02-06 11:21:18 -08:00
Paul Gauthier
1bb41bec2a copy 2025-02-06 09:55:12 -08:00
Paul Gauthier
041d679a54 refactor: Remove debug dump call in LiteLLMExceptions class 2025-02-06 09:53:53 -08:00
Paul Gauthier
46058c275c refactor: Simplify exception handling and remove redundant validation in LiteLLMExceptions 2025-02-06 09:53:42 -08:00
Paul Gauthier
b9e15a1340 copy 2025-02-06 09:53:31 -08:00
Paul Gauthier (aider)
f9eb4ffee2 style: Remove trailing whitespace in exceptions.py 2025-02-06 09:51:38 -08:00
Paul Gauthier (aider)
419952f33b refactor: Convert exception_names to dict mapping names to ExInfo 2025-02-06 09:51:33 -08:00
Paul Gauthier
af8bdcd9e0 refactor: Simplify exception validation logic in LiteLLMExceptions 2025-02-06 09:51:31 -08:00
Paul Gauthier (aider)
54122af9d7 style: Reorder imports in exceptions.py 2025-02-06 09:49:44 -08:00
Paul Gauthier (aider)
5e4852bd32 refactor: Optimize exception lookup using a set in LiteLLMExceptions 2025-02-06 09:49:40 -08:00
Paul Gauthier
3714f9fdbd refactor: Add dump import and debug output in LiteLLMExceptions 2025-02-06 09:49:37 -08:00
Paul Gauthier (aider)
a9dd6e0f3d style: Remove trailing whitespace in test_models.py 2025-02-06 09:33:30 -08:00
Paul Gauthier (aider)
3c9f4ee555 test: Add tests for use_temperature behavior in Model class 2025-02-06 09:33:23 -08:00
Paul Gauthier
7ff0b4c6b9 copy 2025-02-06 08:52:50 -08:00
Paul Gauthier
648662469b copy 2025-02-06 08:51:24 -08:00
Paul Gauthier
c37ddd7872 refactor: Update test_get_roots_to_watch to include .gitignore in watched roots 2025-02-06 08:50:49 -08:00
Paul Gauthier (aider)
17f35cde19 refactor: Move MinimalCoder class definition to module level in test_watch.py 2025-02-06 08:43:26 -08:00
Paul Gauthier (aider)
b5d17b99df style: Format code and fix whitespace issues 2025-02-06 08:43:11 -08:00
Paul Gauthier (aider)
5c9746e209 refactor: Split watch_files() into testable components and add tests 2025-02-06 08:43:04 -08:00
Paul Gauthier (aider)
51938affc2 style: Format test_models.py with linter 2025-02-06 08:36:38 -08:00
Paul Gauthier (aider)
856006a68d test: add tests for remove_reasoning_content and simple_send_with_retries 2025-02-06 08:36:33 -08:00
Paul Gauthier (aider)
a2622263ce test: add cases for 's'/'skip' and 'a'/'all' in confirm_ask without group 2025-02-06 08:29:00 -08:00
Paul Gauthier (aider)
7db1613b1a test: Add provider-prefixed deepseek model test cases 2025-02-06 08:25:59 -08:00
Paul Gauthier
3add686e9b test: Remove gpt-4-turbo test case from test_models.py 2025-02-06 08:25:38 -08:00
Paul Gauthier (aider)
a9f0983f0f test: add tests for configure_model_settings covering all cases 2025-02-06 08:23:34 -08:00
Paul Gauthier (aider)
3b16d6c291 fix: Update test_ollama_uses_existing_num_ctx to match actual call parameters 2025-02-06 08:22:19 -08:00
Paul Gauthier (aider)
85399bd6e2 style: Format code with linter in test_models.py 2025-02-06 08:21:48 -08:00
Paul Gauthier (aider)
aef2b95d41 fix: Reset MODEL_SETTINGS between tests to prevent parameter leakage 2025-02-06 08:21:42 -08:00
Paul Gauthier (aider)
11a233da84 fix: Update test assertions to match actual model completion call parameters 2025-02-06 08:20:38 -08:00
Paul Gauthier (aider)
016aa87e34 style: Format strings with double quotes in test_models.py 2025-02-06 08:19:25 -08:00
Paul Gauthier (aider)
9094af565f test: add tests for Ollama model num_ctx handling 2025-02-06 08:19:19 -08:00
Paul Gauthier
d7de908c66 copy 2025-02-06 08:13:46 -08:00
Paul Gauthier
a3985ac94c copy 2025-02-06 08:07:05 -08:00
Paul Gauthier
b48f26020a Merge branch 'main' of github.com:Aider-AI/aider 2025-02-06 07:52:43 -08:00
Paul Gauthier
630d3679b5 copy 2025-02-06 07:51:08 -08:00
Paul Gauthier
78c89eb29b refactor: Expand valid responses and options for user prompts 2025-02-06 07:50:47 -08:00
Paul Gauthier
7fe4996bbe add gemini/gemini-2.0-flash 2025-02-06 07:50:39 -08:00
paul-gauthier
370deda5a7 Merge pull request #3152 from daysm/patch-1 2025-02-06 06:05:14 -08:00
Dayyan Smith
d0d8ff8313 Fix typo 2025-02-06 10:27:06 +01:00
Paul Gauthier
550b9ebf4d limit benchmark docker memory 2025-02-05 16:40:03 -08:00
Paul Gauthier
2265456bda copy 2025-02-05 13:45:32 -08:00
Paul Gauthier
b0f1cde33f copy 2025-02-05 13:02:26 -08:00
Paul Gauthier
cdd150be42 cleanup 2025-02-05 13:02:16 -08:00
Paul Gauthier (aider)
0d24d75d8f style: Format code with linter for improved readability 2025-02-05 13:01:04 -08:00
Paul Gauthier (aider)
5c866c67b5 fix: Handle summarizer failure gracefully with fallback and warning 2025-02-05 13:00:57 -08:00
Paul Gauthier
b49fea87ab quad_backtick_reminder 2025-02-05 12:59:15 -08:00
Paul Gauthier
1c262d22ce add test case for #2879 2025-02-05 12:53:32 -08:00
Paul Gauthier
0dde77009e re-enabled quad-backticks, but allow triple-backticks as fences when searching for filenames #2879 2025-02-05 12:50:02 -08:00
Paul Gauthier
3e71c35fdd stop using quad-backticks: LLMs ignore and revert to triple-backtick, causing #2879 2025-02-05 12:42:19 -08:00
Paul Gauthier
10f1fc5e92 Merge branch 'main' of github.com:Aider-AI/aider 2025-02-04 17:04:01 -08:00
Paul Gauthier
8fbad757bf copy 2025-02-04 16:34:21 -08:00
Paul Gauthier
5755aa3eb8 feat: Improve model metadata handling and startup performance 2025-02-04 16:34:07 -08:00
Paul Gauthier (aider)
f76d14f613 chore: Run linter on test_main.py for code quality improvements 2025-02-04 16:30:06 -08:00
Paul Gauthier (aider)
0c3470bab2 feat: Update test_model_metadata_file to reset local model metadata 2025-02-04 16:30:01 -08:00
Paul Gauthier
315ad06ecc docs: Add comment to reset model_info_manager in test_model_metadata_file 2025-02-04 16:29:52 -08:00
Paul Gauthier (aider)
c1627612cf refactor: Move LOCAL_MODEL_METADATA to ModelInfoManager as an instance attribute 2025-02-04 16:28:10 -08:00
Paul Gauthier
b5cfceeed6 refactor: Rename LITELLM_MODEL_DEFS to LOCAL_MODEL_METADATA for clarity 2025-02-04 16:21:56 -08:00
Paul Gauthier
7fe7dd743c refactor: Remove debug logging and simplify model data retrieval 2025-02-04 16:13:28 -08:00
Paul Gauthier
3e36f27987 feat: Add Fireworks AI API key support to model configuration 2025-02-04 16:12:02 -08:00
Paul Gauthier (aider)
b9f4f3f71c style: Apply linter formatting to models.py 2025-02-04 16:10:56 -08:00
Paul Gauthier (aider)
ff1230c3ae feat: Add API key mappings for various model providers 2025-02-04 16:10:51 -08:00
Paul Gauthier
e71ec574e1 refactor: Improve model environment key validation and detection 2025-02-04 16:10:49 -08:00
Paul Gauthier
c2e716ec4a refactor: Change LITELLM_MODEL_DEFS from list to dict for efficient model registration 2025-02-04 16:00:20 -08:00
Paul Gauthier (aider)
5ad8bb1830 refactor: Defer litellm registration to improve loading performance 2025-02-04 15:56:18 -08:00
paul-gauthier
751e78baa9 Merge pull request #3137 from aroffe99/patch-1 2025-02-04 14:12:30 -08:00
Ari Roffe
be620bd437 Update adv-model-settings.md 2025-02-04 16:09:11 -06:00
Paul Gauthier
44365651a6 copy 2025-02-04 14:03:00 -08:00
Paul Gauthier
7b557c0586 refactor: Change default temperature to None and remove debug dump 2025-02-04 14:00:25 -08:00
Paul Gauthier (aider)
495a27c0a7 refactor: Make use_temperature support both bool and float types 2025-02-04 13:58:54 -08:00
Paul Gauthier
e07fddb20b refactor: Update temperature handling in Model class 2025-02-04 13:58:53 -08:00
Paul Gauthier
56eb1d106f default to remove_reasoning:think for any unknown r1 model 2025-02-04 13:51:05 -08:00
Paul Gauthier (aider)
c8b6d61ae2 fix: Add missing 're' import for regex operations 2025-02-04 13:37:50 -08:00
Paul Gauthier
47e91e943c refactor: Modify response content handling and reasoning removal logic 2025-02-04 13:37:43 -08:00
Paul Gauthier
4f8c52f09e copy 2025-02-04 13:23:05 -08:00
Paul Gauthier
f20b32b01b refactor: Remove debug dump statement from file watcher 2025-02-04 13:14:45 -08:00
Paul Gauthier (aider)
37cbb5ed01 style: Format code to comply with linter standards 2025-02-04 13:14:27 -08:00
Paul Gauthier (aider)
289e13cb46 fix: Convert paths to POSIX format for .gitignore matching on Windows 2025-02-04 13:14:23 -08:00
Paul Gauthier (aider)
fb03c4c311 style: Run linter and format code in FileWatcher class 2025-02-04 13:12:13 -08:00
Paul Gauthier (aider)
a65aecaf74 fix: Append trailing slash for directory paths in roots_to_watch filtering 2025-02-04 13:12:10 -08:00
Paul Gauthier
da9ba0a26a refactor: Update dump to filter roots_to_watch for tmp.benchmarks 2025-02-04 13:12:09 -08:00
Paul Gauthier (aider)
8440e881c0 fix: Use relative path for matching files against .gitignore patterns 2025-02-04 13:10:45 -08:00
Paul Gauthier
85fa8a4761 feat: Add debug statement to log presence of 'tmp.benchmarks' in roots_to_watch 2025-02-04 13:10:43 -08:00
Paul Gauthier (aider)
5c8c78ca69 style: Format code with linter adjustments for readability 2025-02-04 13:03:32 -08:00
Paul Gauthier (aider)
e9097c3b29 feat: Filter top-level directories based on .gitignore in file watcher 2025-02-04 13:03:29 -08:00
Paul Gauthier (aider)
d53ee24741 build: Add boto3 to Dockerfile pip install commands 2025-02-04 12:52:05 -08:00
Paul Gauthier
6517cb15ef copy 2025-02-04 12:47:33 -08:00
Paul Gauthier (aider)
7b78f92feb refactor: Remove unused proceed variable in check_tokens method 2025-02-04 12:45:59 -08:00
Paul Gauthier
0af6dc3838 refactor: Simplify context window handling and remove Ollama-specific warnings 2025-02-04 12:45:44 -08:00
Paul Gauthier (aider)
e313a2ea45 feat: Update kwargs to include num_ctx for ollama if not set 2025-02-04 12:31:48 -08:00
Paul Gauthier
f21ef30482 feat: Add methods to identify deepseek and ollama models 2025-02-04 12:31:10 -08:00
Paul Gauthier (aider)
606fce65ab test: Fix assertion errors in commit message tests for mock calls 2025-02-04 12:22:09 -08:00
Paul Gauthier (aider)
b4084484ff fix: Update test patches to mock simple_send_with_retries correctly 2025-02-04 12:20:13 -08:00
Paul Gauthier (aider)
80062908d9 test: Fix mocking setup for simple_send_with_retries in tests 2025-02-04 12:17:45 -08:00
Paul Gauthier (aider)
af8f7e95b0 test: Mock simple_send_with_retries method in test setup 2025-02-04 12:11:43 -08:00
Paul Gauthier (aider)
9553478384 test: Fix patch target for simple_send_with_retries in tests 2025-02-04 12:06:59 -08:00
Paul Gauthier (aider)
535b3ce286 refactor: Update calls to simple_send_with_retries to use model method 2025-02-04 12:04:25 -08:00
Paul Gauthier (aider)
cfe9c86edd fix: Remove unused import from test_sendchat.py 2025-02-04 12:03:10 -08:00
Paul Gauthier (aider)
ee66044425 refactor: Update send_completion calls to use model method syntax 2025-02-04 12:02:38 -08:00
Paul Gauthier
30d56e1af0 refactor: Simplify model completion parameters and remove extra configuration 2025-02-04 11:50:42 -08:00
Paul Gauthier (aider)
354630770b style: Run linter and fix import formatting in base_coder.py and models.py 2025-02-04 11:45:49 -08:00
Paul Gauthier (aider)
74da63e3ca refactor: Move RETRY_TIMEOUT constant to models.py 2025-02-04 11:45:40 -08:00
Paul Gauthier
faa438bc51 refactor: Simplify send_completion method by removing extra_params argument 2025-02-04 11:45:39 -08:00
Paul Gauthier (aider)
6de6fb1932 chore: Run linter and fix import order in base_coder.py 2025-02-04 11:45:09 -08:00
Paul Gauthier (aider)
6a8acefa30 fix: Import RETRY_TIMEOUT to resolve undefined name error 2025-02-04 11:45:05 -08:00
Paul Gauthier
ddec8325e7 fix: Simplify temperature handling in model completion call 2025-02-04 11:45:04 -08:00
Paul Gauthier (aider)
b1852526f5 style: Run linter and format import statements in models.py 2025-02-04 11:38:30 -08:00
Paul Gauthier (aider)
20aaf58ee9 refactor: Move aider.sendchat imports to the top of the file 2025-02-04 11:38:26 -08:00
Paul Gauthier (aider)
b3db597c4b fix: Remove unused import of simple_send_with_retries in history.py 2025-02-04 11:37:15 -08:00
Paul Gauthier (aider)
d302f228f9 fix: Update method call to use model's simple_send_with_retries 2025-02-04 11:37:01 -08:00
Paul Gauthier (aider)
74d5e2b0c1 style: Run linter and fix formatting issues in repo.py 2025-02-04 11:36:16 -08:00
Paul Gauthier (aider)
dd42d24d8a fix: Remove unused import of simple_send_with_retries in repo.py 2025-02-04 11:36:13 -08:00
Paul Gauthier (aider)
5692fb32cd fix: Remove unused imports from repo.py and base_coder.py 2025-02-04 11:35:58 -08:00
Paul Gauthier (aider)
dbf80d564b refactor: Update method calls to use model's instance methods 2025-02-04 11:35:35 -08:00
Paul Gauthier (aider)
72b82a8d19 style: Run linter and fix whitespace issues in models.py and sendchat.py 2025-02-04 11:34:45 -08:00
Paul Gauthier (aider)
c3beaedaa6 chore: remove CACHE logic from sendchat and models files 2025-02-04 11:34:38 -08:00
Paul Gauthier (aider)
db694b20df style: Run linter and fix import order in models.py and sendchat.py 2025-02-04 11:33:49 -08:00
Paul Gauthier (aider)
34227ce738 fix: Remove unused imports from sendchat.py and add hashlib import in models.py 2025-02-04 11:33:43 -08:00
Paul Gauthier (aider)
24b1360eb8 style: Run linter and fix whitespace issues in models.py and sendchat.py 2025-02-04 11:33:05 -08:00
Paul Gauthier (aider)
60aff26d94 refactor: Move send_completion and simple_send_with_retries to Model class 2025-02-04 11:32:58 -08:00
Paul Gauthier
144bdf7dc7 cleanup 2025-02-04 11:28:40 -08:00
Paul Gauthier (aider)
8db4bb298e style: Apply linter fixes to models.py 2025-02-04 11:25:09 -08:00
Paul Gauthier (aider)
028477f34d refactor: Prevent overwriting existing num_ctx for Ollama models 2025-02-04 11:25:04 -08:00
Paul Gauthier
6725c9e3cd feat: Add Ollama model context size configuration in model settings 2025-02-04 11:25:02 -08:00
paul-gauthier
a14dee5b8d Merge pull request #3136 from szepeviktor/typos
Correct a typo
2025-02-04 11:02:35 -08:00
Paul Gauthier
2f8a1fc58f copy 2025-02-04 10:59:14 -08:00
Viktor Szépe
f250c4310e Correct a typo 2025-02-04 18:57:42 +00:00
Paul Gauthier
ad46e8a5e0 feat: Add model-specific configuration settings for various AI models 2025-02-04 10:44:50 -08:00
Paul Gauthier
1e7031e5f4 copy 2025-02-04 09:50:25 -08:00
Paul Gauthier
8c736e979d copy 2025-02-04 09:48:40 -08:00
Paul Gauthier
335742a023 copy 2025-02-04 09:46:26 -08:00
Paul Gauthier
384ff3484c copy 2025-02-04 09:33:56 -08:00
Paul Gauthier (aider)
e17c29c258 style: Fix linter warnings in main.py 2025-02-04 08:04:23 -08:00
Paul Gauthier (aider)
e7d979ca74 feat: Conditionally add .env to .gitignore based on file existence 2025-02-04 08:04:17 -08:00
Paul Gauthier
bc2f38c790 refactor: Simplify gitignore check and error handling logic 2025-02-04 08:04:16 -08:00
Paul Gauthier (aider)
88ee089d86 style: Apply linter formatting to main.py 2025-02-04 07:59:32 -08:00
Paul Gauthier (aider)
d9adaa5020 fix: Handle git errors in check_gitignore function 2025-02-04 07:59:26 -08:00
Paul Gauthier (aider)
4a963adbcb refactor: Simplify check_gitignore function and remove AI comments 2025-02-04 07:58:32 -08:00
Paul Gauthier
56ac57b4cf feat: Enhance gitignore checking with improved repo ignore detection and pattern handling 2025-02-04 07:58:28 -08:00
Paul Gauthier
cdbe2393c4 copy 2025-02-04 07:55:01 -08:00
Paul Gauthier
2f4490d059 fix: Update Dockerfile HOME env to persist container data in host filesystem 2025-02-04 07:51:00 -08:00
Paul Gauthier
447660504c added azure/o3-mini 2025-02-04 07:50:06 -08:00
Paul Gauthier
5e44d18d54 feat: Enhance gitignore prompt with option to skip check 2025-02-03 19:02:51 -08:00
Paul Gauthier
7a9edae227 copy 2025-02-03 18:58:25 -08:00
Paul Gauthier (aider)
81b7bd35f4 fix: Adjust permissions for directories to allow writing with -u switch 2025-02-03 18:53:16 -08:00
Paul Gauthier
4b946a23ca chore: Set HOME environment variable in Dockerfile 2025-02-03 18:53:15 -08:00
Paul Gauthier
5ab92b1833 chat:free -> r1:free 2025-02-03 10:28:07 -08:00
Paul Gauthier
1a6a16e061 chore: Update polyglot leaderboard with new test run data 2025-01-31 15:13:34 -08:00
Paul Gauthier
061b602334 feat: Add OpenRouter O3-Mini and GPT-4O-Mini model configurations 2025-01-31 15:09:40 -08:00
Paul Gauthier
f7deb02560 copy 2025-01-31 14:00:43 -08:00
Paul Gauthier
9dfe85eca3 copy 2025-01-31 14:00:22 -08:00
Paul Gauthier
cd5823d9f6 set version to 0.73.1.dev 2025-01-31 13:48:42 -08:00
Paul Gauthier
1af0a6cc8f version bump to 0.73.0 2025-01-31 13:46:55 -08:00
Paul Gauthier
9ed8ebab78 refactor: Use getattr with default for checking main_model.extra_params 2025-01-31 13:40:54 -08:00
Paul Gauthier
7f82a33bf5 copy 2025-01-31 13:36:04 -08:00
Paul Gauthier
41a7e5c915 copy 2025-01-31 13:32:39 -08:00
Paul Gauthier
8d22c0ba90 add o3mini high 2025-01-31 13:32:30 -08:00
Paul Gauthier (aider)
4636ae7237 feat: Add total cost column to polyglot leaderboard table 2025-01-31 13:24:27 -08:00
Paul Gauthier (aider)
ee9d0c4a99 style: Format code with linter and improve readability 2025-01-31 13:13:10 -08:00
Paul Gauthier (aider)
476a0ad6ad test: Add test for --reasoning-effort CLI option 2025-01-31 13:13:05 -08:00
Paul Gauthier
14612fc116 better arg desc 2025-01-31 13:10:19 -08:00
Paul Gauthier (aider)
5c87787351 style: Apply linter formatting to main.py 2025-01-31 13:07:15 -08:00
Paul Gauthier (aider)
3fa796382e feat: Add --reasoning-effort CLI parameter to control model reasoning effort 2025-01-31 13:07:08 -08:00
Paul Gauthier
f4f4761517 feat: Add CLI parameter for reasoning effort in main model configuration 2025-01-31 13:07:06 -08:00
Paul Gauthier
c78de41ccf copy 2025-01-31 12:51:33 -08:00
Paul Gauthier
b0d58d10bd o3-mini 2025-01-31 12:37:10 -08:00
Paul Gauthier
f778741ee3 added o3-mini 2025-01-31 12:35:49 -08:00
Paul Gauthier
2fb517b293 copy 2025-01-31 09:13:50 -08:00
Paul Gauthier
aecc32fbfb copy 2025-01-31 09:13:36 -08:00
Paul Gauthier
64c8c0590c copy 2025-01-31 09:06:48 -08:00
Paul Gauthier
24dc436122 copy 2025-01-31 09:04:40 -08:00
Paul Gauthier
1e1fef52c4 fix: Improve default input handling and model selection logic 2025-01-31 09:04:27 -08:00
Paul Gauthier (aider)
c8b9e2ff37 fix: Update model name assertion tests to use partial matching 2025-01-31 09:02:00 -08:00
Paul Gauthier (aider)
34a6902986 style: Format test code with consistent line breaks and indentation 2025-01-31 09:01:14 -08:00
Paul Gauthier (aider)
0c47b0eb53 test: Add tests for default model selection and API key precedence 2025-01-31 09:01:09 -08:00
Paul Gauthier (aider)
5d4ef7d009 fix: Remove incorrect self. reference in main() function 2025-01-31 08:59:36 -08:00
Paul Gauthier
31d23bc9a7 feat: Add model and API key validation with documentation link 2025-01-31 08:59:26 -08:00
Paul Gauthier
b4b54d1796 feat: Add support for OpenRouter and GPT-4o model selection with improved model detection 2025-01-31 08:46:16 -08:00
Paul Gauthier (aider)
5023dfeb24 refactor: Replace if/else chain with list of tuples for model selection 2025-01-31 08:42:25 -08:00
Paul Gauthier (aider)
dad3092d8d feat: Add dynamic model selection based on available API keys 2025-01-31 08:42:02 -08:00
Paul Gauthier
ab77c032de feat: Add dynamic model selection based on available API keys 2025-01-31 08:42:00 -08:00
Paul Gauthier
778e54ef32 copy 2025-01-30 08:44:32 -08:00
Paul Gauthier
699db63615 copy 2025-01-30 08:38:38 -08:00
Paul Gauthier
01d0e13884 chore: Update polyglot leaderboard with Qwen Max test results 2025-01-30 08:38:28 -08:00
Paul Gauthier
d743c196be undo 2025-01-30 08:38:19 -08:00
Paul Gauthier (aider)
c60ec18f34 feat: Update leaderboard highlight to extract model from URL query 2025-01-30 08:37:01 -08:00
Paul Gauthier
1be1274d40 fix: Update default highlight model in leaderboard documentation 2025-01-30 08:36:53 -08:00
Paul Gauthier (aider)
a65b49ea30 feat: Use URL query parameter for highlighting models in leaderboard 2025-01-30 08:35:13 -08:00
Paul Gauthier
762d14c5a1 docs: Add comment about potential highlight parameter usage in leaderboard 2025-01-30 08:35:10 -08:00
Paul Gauthier
bd44c52cbb copy 2025-01-30 08:23:43 -08:00
Paul Gauthier
4cbdd27862 Merge branch 'main' of github.com:Aider-AI/aider 2025-01-30 08:22:32 -08:00
Paul Gauthier
62cf42efb4 feat: Add DeepSeek R1 Distill LLaMA 70B model configuration 2025-01-30 08:22:01 -08:00
paul-gauthier
47dc30ea79 Merge pull request #3074 from kennyfrc/fireworks_ai
Add `fireworks_ai/deepseek` models
2025-01-30 08:21:20 -08:00
kennyfrc
55abdff58c feat: Add extra_params with max_tokens to model settings configuration 2025-01-30 21:38:45 +08:00
kennyfrc
27cde532be feat: Add model metadata and settings for fireworks_ai/deepseek 2025-01-30 21:08:51 +08:00
Paul Gauthier
9c2bd58488 refactor: Update OpenRouter model metadata with zero token costs 2025-01-29 13:31:57 -08:00
Paul Gauthier
a3c898fc4f Merge branch 'main' of github.com:Aider-AI/aider 2025-01-29 13:29:50 -08:00
paul-gauthier
da380119ef Merge pull request #3061 from bphd/addingDeepSeekR1Free
Adding deep seek r1 free
2025-01-29 13:29:38 -08:00
Paul Gauthier
db631e3d57 copy 2025-01-29 13:27:52 -08:00
paul-gauthier
fb63f9cc92 Merge pull request #3064 from bphd/addingDirectoriesAutoCreation
Adding directories auto creation
2025-01-29 13:15:37 -08:00
xqyz
31e738a5a3 Merge branch 'Aider-AI:main' into addingDirectoriesAutoCreation 2025-01-29 18:12:57 +00:00
xqyz
f3b1b351e8 Update HISTORY.md: Adding R1 free 2025-01-29 17:41:49 +00:00
xqyz
149ecb380b Update model-metadata.json: Adding R1 free 2025-01-29 17:40:42 +00:00
xqyz
67a43ff549 Update model-settings.yml: Adding R1 free 2025-01-29 17:40:01 +00:00
xqyz
69f29d6fac Update adv-model-settings.md: Adding R1 free 2025-01-29 17:39:11 +00:00
xqyz
51c12ef745 Update infinite-output.md: Adding R1 free 2025-01-29 17:38:19 +00:00
xqyz
d0e89ec72a Update HISTORY.md: R1 free 2025-01-29 17:37:44 +00:00
Paul Gauthier
74c8b381e6 copy 2025-01-29 08:43:53 -08:00
Paul Gauthier
ddbd4236ab Merge branch 'main' of github.com:Aider-AI/aider 2025-01-29 08:43:38 -08:00
Paul Gauthier
c0cbb5c75d copy 2025-01-29 08:43:29 -08:00
paul-gauthier
717d00e64a Merge pull request #3054 from zhyu/patch-1 2025-01-29 05:58:00 -08:00
Yu Zhang
19e9e52c4f remove redundant extra_params 2025-01-29 15:27:32 +09:00
Yu Zhang
1df2465222 Fix docs regarding extra_body 2025-01-29 15:18:59 +09:00
Paul Gauthier (aider)
70883d7fdc refactor: Remove total cost column from markdown table 2025-01-28 19:05:55 -08:00
Paul Gauthier
f3f5f0f896 docs: Remove total cost column from DeepSeek performance table 2025-01-28 19:05:53 -08:00
Paul Gauthier
a7828809e9 copy 2025-01-28 19:05:05 -08:00
Paul Gauthier (aider)
b80a2b0bc2 feat: Add Hyperbolic section with DeepSeek V3 configuration details 2025-01-28 19:01:12 -08:00
Paul Gauthier
88d897eb14 copy 2025-01-28 18:47:17 -08:00
Paul Gauthier
2e9f562329 copy 2025-01-28 18:44:45 -08:00
Paul Gauthier
7aa6a30169 fix: Update Ollama context window handling and input confirmation logic 2025-01-28 18:44:34 -08:00
Paul Gauthier
298f713e9b copy 2025-01-28 16:33:25 -08:00
Paul Gauthier
aa339d0851 refactor: Improve text processing by stripping whitespace after removing reasoning tags 2025-01-28 14:16:02 -08:00
Paul Gauthier
ebb8596f03 move model settings to resources/yml 2025-01-28 13:36:31 -08:00
Paul Gauthier (aider)
fb57d3beef refactor: Sort MODEL_SETTINGS by name in get_model_settings_as_yaml 2025-01-28 13:35:35 -08:00
Paul Gauthier
8488175ee8 refactor: Sort model settings by name in get_model_settings_as_yaml 2025-01-28 13:35:33 -08:00
Paul Gauthier (aider)
e68191dcd9 fix: Move importlib.resources import to top of file 2025-01-28 13:31:49 -08:00
Paul Gauthier (aider)
0019a1f7dc style: Apply linter formatting to models.py 2025-01-28 13:31:38 -08:00
Paul Gauthier (aider)
5095a9e1c3 feat: Load model settings from package resource using importlib.resources 2025-01-28 13:31:32 -08:00
Paul Gauthier
ddbaa8b32b refactor: Move model settings to external YAML configuration file 2025-01-28 13:31:31 -08:00
Paul Gauthier
9f7275eced copy 2025-01-28 13:28:10 -08:00
Paul Gauthier
3d8e6823f7 copy 2025-01-28 13:23:11 -08:00
Paul Gauthier (aider)
1368348cd9 refactor: Optimize model settings YAML generation by omitting default values 2025-01-28 13:20:57 -08:00
Paul Gauthier
b31cf90596 refactor: Optimize model settings YAML generation by skipping default values 2025-01-28 13:20:55 -08:00
Paul Gauthier
66025a06d5 copy 2025-01-28 13:06:40 -08:00
Paul Gauthier
65c8504141 copy 2025-01-28 13:00:35 -08:00
Paul Gauthier
cd16e001f6 verbose 2025-01-28 11:52:07 -08:00
Paul Gauthier
77d2bc58fd copy 2025-01-28 11:30:22 -08:00
Paul Gauthier
bfc57459e1 copy 2025-01-28 11:24:32 -08:00
Paul Gauthier
3422718415 copy 2025-01-28 11:22:09 -08:00
Paul Gauthier
0b5e0a1113 copy 2025-01-28 11:16:48 -08:00
Paul Gauthier (aider)
b6b44e0f2d feat: Add table of contents to DeepSeek V3 providers post 2025-01-28 11:15:35 -08:00
Paul Gauthier
b642543600 docs: Add Ollama model configuration instructions to DeepSeek post 2025-01-28 11:15:31 -08:00
Paul Gauthier (aider)
095a05a8e1 feat: Add Ollama setup instructions for DeepSeek V3 in documentation 2025-01-28 11:13:57 -08:00
Paul Gauthier
4783204f31 docs: Add Ollama configuration details for DeepSeek V3 model 2025-01-28 11:13:55 -08:00
Paul Gauthier
82d819a6c7 copy 2025-01-28 11:04:01 -08:00
Paul Gauthier
10e7875680 copy 2025-01-28 11:03:38 -08:00
Paul Gauthier (aider)
2aad566857 docs: Add Fireworks API key setup instructions for aider 2025-01-28 10:59:52 -08:00
Paul Gauthier
a3e0a3ff1a docs: Update DeepSeek V3 alternative providers article 2025-01-28 10:59:50 -08:00
paul-gauthier
8fe9ad80bb Merge pull request #3043 from andreakeesys/patch-1
Update deepseek.md
2025-01-28 10:55:25 -08:00
Paul Gauthier
531262387d copy 2025-01-28 10:53:18 -08:00
Paul Gauthier
a73cd87b50 copy 2025-01-28 10:50:18 -08:00
Paul Gauthier
4601940f8d copy 2025-01-28 10:49:44 -08:00
Paul Gauthier
6e5b2c7368 cleanup 2025-01-28 10:49:40 -08:00
Paul Gauthier
8a3cc6041d sync model settings 2025-01-28 10:49:21 -08:00
Paul Gauthier
25687c2db1 bump deps 2025-01-28 10:49:09 -08:00
Paul Gauthier (aider)
871229d0c5 style: Remove duplicate import of re module 2025-01-28 10:08:48 -08:00
Paul Gauthier (aider)
74d179e479 refactor: Move re import to top and remove AI comment 2025-01-28 10:08:42 -08:00
Paul Gauthier
910d384ed8 refactor: Move re import comment for clarity 2025-01-28 10:08:38 -08:00
Paul Gauthier (aider)
da89d6ab9c style: Format code with linter and improve readability 2025-01-28 10:06:29 -08:00
Paul Gauthier (aider)
8d2159761f refactor: Implement reasoning removal with regex in base_coder 2025-01-28 10:06:21 -08:00
Paul Gauthier
d434f8641d refactor: Prepare for potential reasoning tag removal in text merging 2025-01-28 10:06:19 -08:00
Paul Gauthier (aider)
f49733d1d2 feat: Add remove_reasoning setting to ModelSettings 2025-01-28 10:04:12 -08:00
Paul Gauthier (aider)
a3726d72f5 fix: Update DeepSeek model name from v3 to chat in documentation 2025-01-28 09:58:50 -08:00
Paul Gauthier (aider)
fe89ae13af docs: Add API key configuration methods for OpenRouter 2025-01-28 09:58:21 -08:00
Paul Gauthier (aider)
6b90cd1277 feat: Add Fireworks configuration example and provider adaptation guidance 2025-01-28 09:54:27 -08:00
Paul Gauthier (aider)
ce64ec5397 docs: Add documentation for configuring model settings and provider selection 2025-01-28 09:53:51 -08:00
Paul Gauthier (aider)
bf6ca2dc78 docs: Update article to address DeepSeek API reliability issues and provide alternatives 2025-01-28 09:52:20 -08:00
Paul Gauthier (aider)
204c68d475 feat: Add blog post template for DeepSeek V3 polyglot benchmark results 2025-01-28 09:51:26 -08:00
Paul Gauthier
5a7e59d833 docs: Add blog post about DeepSeek model downtime 2025-01-28 09:51:24 -08:00
Paul Gauthier (aider)
0336a982ff feat: Add model settings loading and registration to benchmark script 2025-01-28 09:39:39 -08:00
Paul Gauthier (aider)
aa18b63c16 refactor: Simplify model settings loading in benchmark script 2025-01-28 09:38:57 -08:00
Paul Gauthier (aider)
3f890551e7 fix: Add missing read_model_settings parameter to run_test_real function 2025-01-28 09:33:14 -08:00
Paul Gauthier (aider)
823127c87e style: Apply linter formatting to benchmark.py 2025-01-28 09:32:55 -08:00
Paul Gauthier (aider)
cf2c9c6dc7 feat: Add --read-model-settings option to benchmark for loading model settings 2025-01-28 09:32:46 -08:00
Paul Gauthier
9b63b90ec4 refactor: Remove unnecessary blank line in benchmark.py 2025-01-28 09:32:35 -08:00
Paul Gauthier
a0ba140895 copy 2025-01-28 09:27:40 -08:00
Andrea Bergamasco
588f2502ec Update deepseek.md
Added API key instructions
2025-01-28 12:08:55 +01:00
Paul Gauthier
ae7d4592e1 copy 2025-01-27 18:29:52 -08:00
Paul Gauthier
24c7d145ea copy 2025-01-27 17:01:59 -08:00
Paul Gauthier
f1e7d68415 copy 2025-01-27 17:01:44 -08:00
Paul Gauthier
91f1528149 copy 2025-01-27 16:47:14 -08:00
Paul Gauthier (aider)
4f19f89d4c docs: Add link to advanced model settings in OpenRouter documentation 2025-01-27 16:46:03 -08:00
Paul Gauthier (aider)
60b8bccd37 feat: Add documentation for controlling OpenRouter provider selection in model settings 2025-01-27 16:45:00 -08:00
Paul Gauthier
674dcba53c copy 2025-01-27 09:29:49 -08:00
Paul Gauthier
3dec9e531f refactor: improve context window size handling for Ollama models 2025-01-26 19:09:27 -08:00
Paul Gauthier
980197cb05 copy 2025-01-26 19:05:52 -08:00
Paul Gauthier
5d30c71ccf copy 2025-01-26 19:02:55 -08:00
Paul Gauthier
1dcc5ca9f3 proceed unless ollama 2025-01-26 19:01:07 -08:00
Paul Gauthier
1eb24981c6 copy 2025-01-26 18:58:43 -08:00
Paul Gauthier
cb6b8ea5ac refactor: Improve token limit error messages and fix typo in warning method 2025-01-26 18:53:31 -08:00
Paul Gauthier (aider)
546a662a30 refactor: change token limit suggestions from tool_error to tool_output 2025-01-26 18:51:59 -08:00
Paul Gauthier
ef84c4dfad refactor: Add comment for future tool output conversion 2025-01-26 18:51:57 -08:00
Paul Gauthier (aider)
8ca81d0991 fix: handle missing extra_params attribute in Ollama model 2025-01-26 18:50:12 -08:00
Paul Gauthier (aider)
02e8158918 style: fix line wrapping in Ollama context window message 2025-01-26 18:49:28 -08:00
Paul Gauthier (aider)
37cbe6c488 feat: add Ollama context window size warning with documentation link 2025-01-26 18:49:21 -08:00
Paul Gauthier (aider)
58d763f971 feat: add confirmation prompt when token limits are exceeded 2025-01-26 18:47:39 -08:00
Paul Gauthier (aider)
3d2700d29d feat: add token limit check before sending messages to LLM 2025-01-26 18:46:42 -08:00
Paul Gauthier (aider)
e14ea94b0d style: fix line length in keyboard interrupt message handling 2025-01-26 18:46:11 -08:00
Paul Gauthier (aider)
17fde3df0c fix: remove extra bracket causing syntax error in base_coder.py 2025-01-26 18:46:05 -08:00
Paul Gauthier (aider)
162204f28f feat: improve keyboard interrupt message handling 2025-01-26 18:45:51 -08:00
Paul Gauthier
491fb14eaa feat: append keyboard interrupt message to last user message 2025-01-26 18:45:49 -08:00
Paul Gauthier
f4d7fe8850 copy 2025-01-26 13:54:06 -08:00
Paul Gauthier
4af583e5d5 copy 2025-01-26 13:49:22 -08:00
Paul Gauthier
282887368a Merge branch 'main' of github.com:Aider-AI/aider 2025-01-26 08:23:36 -08:00
paul-gauthier
94e372d8f2 Merge pull request #3004 from tao12345666333/fix-ds-link 2025-01-26 07:39:39 -08:00
Jintao Zhang
3cb67939e4 docs: clean DeepSeek Coder v2
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
2025-01-26 23:11:14 +08:00
paul-gauthier
f3197d2618 Merge pull request #3000 from tao12345666333/update-deepseek-doc 2025-01-26 06:28:50 -08:00
Jintao Zhang
3785f7621c docs: update DeepSeek v2 Coder to v3 Chat
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
2025-01-26 15:29:54 +08:00
Paul Gauthier
2b59badde7 copy 2025-01-25 08:46:40 -08:00
Paul Gauthier
54162b43c8 refactor: Reorder model settings and update FAQ token statistics 2025-01-25 08:46:28 -08:00
Paul Gauthier (aider)
1933cdc28c style: Reformat code to comply with linter rules 2025-01-25 08:43:46 -08:00
Paul Gauthier (aider)
f2512d1ff1 refactor: ensure 'name' field appears first in YAML output 2025-01-25 08:43:40 -08:00
Paul Gauthier (aider)
d54b13e80a style: Format code with consistent string quotes 2025-01-25 08:38:28 -08:00
Paul Gauthier (aider)
8ed5e81bdb refactor: order YAML output with name first and add blank lines 2025-01-25 08:38:21 -08:00
Paul Gauthier
f0fc83372b refactor: Reorder YAML output to prioritize "name" field and add spacing 2025-01-25 08:38:19 -08:00
Paul Gauthier
081504edab copy 2025-01-25 08:37:07 -08:00
Paul Gauthier
b939123e84 Merge branch 'main' of github.com:Aider-AI/aider 2025-01-25 08:32:29 -08:00
Paul Gauthier
f008d9dd19 feat: Add Azure O1 model configuration to MODEL_SETTINGS 2025-01-25 08:31:10 -08:00
Paul Gauthier
d2386af523 copy 2025-01-25 08:31:00 -08:00
paul-gauthier
41b9024e28 Merge pull request #2989 from hstoklosa/fix-typo
fix typo in README.md
2025-01-25 08:29:29 -08:00
Paul Gauthier
50c17bd5e4 set version to 0.72.4.dev 2025-01-25 08:15:36 -08:00
Paul Gauthier
1882c43389 version bump to 0.72.3 2025-01-25 08:13:57 -08:00
Paul Gauthier
d7027887cc copy 2025-01-25 08:13:38 -08:00
Paul Gauthier
7d8c9df252 copy 2025-01-25 08:08:44 -08:00
hstoklosa
e1e465dc51 fix typo in README.md 2025-01-25 06:07:31 +00:00
Paul Gauthier
b276d48ecf copy 2025-01-24 18:36:01 -08:00
Paul Gauthier
0c13734f7a copy 2025-01-24 15:50:04 -08:00
Paul Gauthier (aider)
de788266eb style: Format test_sendchat.py with consistent newlines 2025-01-24 09:19:21 -08:00
Paul Gauthier (aider)
eb879a743e test: add tests for ensure_alternating_roles function 2025-01-24 09:19:16 -08:00
Paul Gauthier (aider)
231bceeabb style: Fix whitespace in docstring 2025-01-24 09:14:55 -08:00
Paul Gauthier (aider)
387b7602cf style: Break long lines to comply with flake8 E501 2025-01-24 09:14:51 -08:00
Paul Gauthier
d8c14c04e3 refactor: standardize string quotes and improve model name handling 2025-01-24 09:14:37 -08:00
paul-gauthier
33f981d8f1 Merge pull request #2982 from miradnanali/ensure-alternating-roles-for-deepseek-reasoner
Ensure alternating roles for deepseek-reasoner
2025-01-24 09:11:58 -08:00
Paul Gauthier
6188b89ff0 copy 2025-01-24 09:06:59 -08:00
Paul Gauthier
2d424e078e copy 2025-01-24 09:05:53 -08:00
Paul Gauthier
ee5d72301a copy 2025-01-24 08:47:25 -08:00
Paul Gauthier
ddb02adbb4 copy 2025-01-24 08:35:29 -08:00
Paul Gauthier
b6b05f79a1 copy 2025-01-24 08:32:41 -08:00
Paul Gauthier
4a438e4799 copy 2025-01-24 08:29:40 -08:00
Paul Gauthier
31dc69da42 copy 2025-01-24 08:26:29 -08:00
Paul Gauthier (aider)
35dfd13ddd feat: make chart legend visibility configurable via show_legend assign 2025-01-24 08:24:01 -08:00
Paul Gauthier (aider)
b4535bd29b feat: hide legend in leaderboard chart 2025-01-24 08:23:28 -08:00
Paul Gauthier
5a30ec1806 docs: Add comment to hide legend in leaderboard script 2025-01-24 08:23:26 -08:00
Paul Gauthier
d7bb80468b copy 2025-01-24 08:22:13 -08:00
Mir Adnan ALI
92f6d31f33 Updated patch to avoid KeyError on malformed dict 2025-01-24 05:25:21 -05:00
Mir Adnan ALI
421bc93765 Ensure alternating roles for deepseek-reasoner 2025-01-24 03:58:08 -05:00
Paul Gauthier (aider)
9d6a692054 feat: Show "?" when total cost is 0 in table 2025-01-23 15:31:42 -08:00
Paul Gauthier (aider)
278c7bfc53 fix: Correct currency formatting in table cells using Liquid filters 2025-01-23 15:29:20 -08:00
Paul Gauthier (aider)
ad23c0e03e feat: format total_cost as $x.xx in table display 2025-01-23 15:28:33 -08:00
Paul Gauthier (aider)
ca8274dbe8 feat: Add total_cost column to results table 2025-01-23 15:28:00 -08:00
Paul Gauthier
1234fbf5f4 feat: Add new blog post for January 23, 2025 2025-01-23 15:27:58 -08:00
Andrey Ivanov
afebfe5f4f fix[io.py]: completion menu current item color styling 2025-01-23 23:09:17 +00:00
Paul Gauthier
e64ed4c27f copy 2025-01-23 11:35:11 -08:00
Paul Gauthier (aider)
a4b7236289 refactor: preserve original case in model name matching 2025-01-23 11:34:16 -08:00
Paul Gauthier
16c4374f7a refactor: lowercase model names for fuzzy matching while preserving original case 2025-01-23 11:34:14 -08:00
Paul Gauthier
05a77c7406 copy 2025-01-22 15:32:25 -08:00
Paul Gauthier
fceead7cbe copy 2025-01-22 15:16:02 -08:00
Paul Gauthier
3d81bdd281 copy 2025-01-22 15:08:56 -08:00
Paul Gauthier
56ab8de968 copy 2025-01-22 15:07:58 -08:00
Paul Gauthier
30b150dbfc refactor: Simplify test assertions and remove redundant checks 2025-01-22 10:17:21 -08:00
Paul Gauthier (aider)
40ee3b1b45 style: Reorder imports in test_coder.py 2025-01-22 10:05:02 -08:00
Paul Gauthier (aider)
c79217dd75 fix: Add missing imports for FinishReasonLength and sanity_check_messages 2025-01-22 10:04:58 -08:00
Paul Gauthier (aider)
075d4d4210 test: add tests for message integrity after interrupts and token limits 2025-01-22 10:03:51 -08:00
Paul Gauthier
216b679e4b set version to 0.72.3.dev 2025-01-22 10:01:02 -08:00
Paul Gauthier
c5fe81f4e6 version bump to 0.72.2 2025-01-22 09:59:23 -08:00
Paul Gauthier
0c464d0220 copy 2025-01-22 09:55:18 -08:00
Paul Gauthier
02f28d12e3 fix: Correct condition for adding assistant reply in Coder class 2025-01-22 09:53:32 -08:00
Paul Gauthier
13d24278f2 feat: Add assistant reply for token limit exhaustion in base_coder 2025-01-22 09:30:05 -08:00
Paul Gauthier
42ef4352f4 refactor: Handle KeyboardInterrupt with user-assistant message pair and add env check for sanity_check_messages 2025-01-22 09:03:09 -08:00
Paul Gauthier
843720a671 copy 2025-01-20 17:44:36 -08:00
Paul Gauthier
0884dd88d6 docs: Update usage documentation for config & text files 2025-01-20 17:44:17 -08:00
Paul Gauthier (aider)
4262fa8637 docs: add Jekyll front matter to not-code.md 2025-01-20 17:39:05 -08:00
Paul Gauthier (aider)
29a2db6552 docs: add examples for editing non-code files with aider 2025-01-20 17:35:42 -08:00
Paul Gauthier
06fa0c17a4 docs: Add usage documentation for non-code interactions 2025-01-20 17:35:40 -08:00
Paul Gauthier
cfdca6a894 copy 2025-01-20 17:28:54 -08:00
Paul Gauthier
2873f6c193 copy 2025-01-20 14:25:36 -08:00
Paul Gauthier
8b963ed63c set version to 0.72.2.dev 2025-01-20 14:24:39 -08:00
Paul Gauthier
adb951426a version bump to 0.72.1 2025-01-20 14:23:06 -08:00
Paul Gauthier
9ced96a1c9 copy 2025-01-20 14:23:00 -08:00
Paul Gauthier
7e155dc87b copy 2025-01-20 14:21:05 -08:00
Paul Gauthier
c5e2d80fc0 blame 2025-01-20 14:20:56 -08:00
Paul Gauthier
b0fa646de9 fix litellm_provider 2025-01-20 14:19:30 -08:00
Paul Gauthier
83f08cffee copy 2025-01-20 11:51:32 -08:00
Paul Gauthier
03652a0030 set version to 0.72.1.dev 2025-01-20 11:51:13 -08:00
Paul Gauthier
1c3e0ba656 version bump to 0.72.0 2025-01-20 11:48:46 -08:00
Paul Gauthier
48f80b947b copy 2025-01-20 11:43:38 -08:00
Paul Gauthier
d7873de4e8 Merge branch 'main' of github.com:Aider-AI/aider 2025-01-20 11:42:04 -08:00
Paul Gauthier
32d025bcf2 r1 leaderboard 2025-01-20 11:37:09 -08:00
Paul Gauthier
61ab5d1652 disable sanity check 2025-01-20 11:35:54 -08:00
Paul Gauthier
f5fd6833e2 copy 2025-01-20 11:30:21 -08:00
Paul Gauthier
163e6f56df re-enable summaries 2025-01-20 11:26:19 -08:00
Paul Gauthier
5650697475 no turn errors, with upd_cur_msgs fix and summarizer disabled 2025-01-20 11:10:43 -08:00
Paul Gauthier
2968087d37 more deepseek config 2025-01-20 10:09:48 -08:00
Paul Gauthier
e7ec80f58a Merge branch 'main' into deepseek-reasoner 2025-01-20 09:50:35 -08:00
Paul Gauthier
f0ba699463 copy 2025-01-20 09:49:48 -08:00
Paul Gauthier
06d5b14b86 sanity_check_messages 2025-01-20 09:43:01 -08:00
Paul Gauthier
dff544cd5d refactor: Split summarize method and add model metadata handling 2025-01-20 09:38:45 -08:00
Paul Gauthier (aider)
73bc0f6258 style: Remove trailing whitespace in sendchat.py 2025-01-20 08:35:24 -08:00
Paul Gauthier (aider)
7e5e180000 feat: verify last non-system message is from user in sanity_check_messages 2025-01-20 08:35:21 -08:00
Paul Gauthier (aider)
fc431df2b4 style: Add blank lines for better readability in sendchat.py 2025-01-20 08:34:44 -08:00
Paul Gauthier (aider)
bb61be630a feat: add message role validation function 2025-01-20 08:34:40 -08:00
Paul Gauthier
cdc9ec2854 refactor: Add comment for sanity_check_messages function in sendchat.py 2025-01-20 08:34:38 -08:00
Paul Gauthier
21d3703b69 feat: Add deepseek-reasoner model settings and enable caching for deepseek-chat 2025-01-20 08:14:12 -08:00
paul-gauthier
c395be252e Merge pull request #2895 from pauldw/pwalker/2025-01-17_add_tags_scm_for_kotlin 2025-01-19 09:49:44 -08:00
Paul Walker
293c350fb7 Add tags.scm for Kotlin 2025-01-17 21:18:55 -05:00
Paul Gauthier
a777f336e1 chore: Update polyglot leaderboard test results and metadata 2025-01-17 13:37:02 -08:00
Paul Gauthier
5b6c186125 copy 2025-01-17 13:35:36 -08:00
Paul Gauthier
6451d59deb bump deps 2025-01-16 12:29:12 -08:00
Paul Gauthier (aider)
c912b66a8f ci: Update GitHub Actions workflow to use github.event_name for build conditions 2025-01-16 11:52:34 -08:00
Paul Gauthier (aider)
d62c43bc95 ci: Fix GitHub Actions workflow syntax for secret conditions 2025-01-16 11:51:10 -08:00
Paul Gauthier (aider)
3b7b9b6ed1 ci: Update Docker build workflow to use DockerHub secret conditions 2025-01-16 11:48:59 -08:00
Paul Gauthier (aider)
9822a6ed5d feat: Modify Docker workflow to separate PR and push build steps 2025-01-16 11:47:29 -08:00
Paul Gauthier
a06f4dfad6 copy 2025-01-16 10:30:14 -08:00
Paul Gauthier
b92df87400 publish 2025-01-16 09:03:09 -08:00
Paul Gauthier
d7921c0111 chore: Update GitHub Actions workflow with artifact path and deploy pages version 2025-01-16 09:01:01 -08:00
Paul Gauthier (aider)
af09c3e62a chore: Update artifact upload path in GitHub Pages workflow 2025-01-16 08:57:51 -08:00
Paul Gauthier (aider)
0ed42f657d feat: Add build output listing step to debug artifact upload 2025-01-16 08:54:57 -08:00
Paul Gauthier (aider)
ed7fbabd1c ci: Update pull_request workflow triggers with consistent path ignores 2025-01-16 08:51:24 -08:00
Paul Gauthier (aider)
bd03563fcb ci: Ignore workflow file changes except for self-modification 2025-01-16 08:50:53 -08:00
Paul Gauthier (aider)
05ffc7f8d6 feat: Add trigger for pages.yml workflow file changes 2025-01-16 08:38:38 -08:00
Paul Gauthier (aider)
ebc475d278 feat: Update GitHub Pages artifact upload path 2025-01-16 08:38:19 -08:00
Paul Gauthier
2813437515 chore: Update GitHub Actions upload-pages-artifact to v3 2025-01-16 08:35:13 -08:00
Paul Gauthier
ea2e885505 Revert "chore: Update upload-pages-artifact action to v4"
This reverts commit a7fadc3a45.
2025-01-16 08:32:46 -08:00
Paul Gauthier (aider)
a7fadc3a45 chore: Update upload-pages-artifact action to v4 2025-01-16 08:28:18 -08:00
Paul Gauthier
8040a20f71 add uv article 2025-01-16 08:25:02 -08:00
Paul Gauthier
0e87854819 copy 2025-01-16 08:24:47 -08:00
Paul Gauthier
3bc6c641de copy 2025-01-16 08:24:31 -08:00
Paul Gauthier
4abb6e17ba Merge branch 'main' of github.com:Aider-AI/aider 2025-01-16 08:24:21 -08:00
Paul Gauthier
1986f08cf9 ci: Conditionally push Docker images only on non-pull request events 2025-01-16 08:24:02 -08:00
paul-gauthier
620ae5cf1d Merge pull request #2877 from golergka/docs/file-editing-troubleshooting-architect-mode 2025-01-15 15:55:10 -08:00
Max Yankov (aider)
590ee5a248 docs: Add architect mode section to edit errors troubleshooting guide 2025-01-15 20:50:53 -03:00
Paul Gauthier
a08326ab60 enable all java tests 2025-01-15 15:18:46 -08:00
Paul Gauthier
63cf99361d ensure no loading of any other files 2025-01-15 13:57:54 -08:00
Paul Gauthier
1e54ca82b8 refactor: encapsulate rsync logic in function and add continuous sync loop 2025-01-13 15:47:49 -08:00
Paul Gauthier
2ec576e110 use examples_as_sys_msg=True for 4o models 2025-01-13 15:46:36 -08:00
Paul Gauthier
4251e976b3 copy 2025-01-13 14:28:34 -08:00
Paul Gauthier
d831e2f3a4 copy 2025-01-13 14:26:24 -08:00
Paul Gauthier
21f20417d6 copy 2025-01-13 11:39:22 -08:00
Paul Gauthier
e1c914d9bb chore: Update polyglot leaderboard with new test results for Codestral 25.01 2025-01-13 11:21:34 -08:00
Paul Gauthier
4b03b0a93a Merge branch 'main' of github.com:Aider-AI/aider 2025-01-13 11:18:31 -08:00
Paul Gauthier
bbcde55a9e copy 2025-01-13 10:18:34 -08:00
Paul Gauthier (aider)
0cba898280 fix: Make line endings validation test order-independent 2025-01-13 09:38:36 -08:00
Paul Gauthier (aider)
b9edec069a fix: Update test to match error message format for line endings validation 2025-01-13 09:38:13 -08:00
paul-gauthier
939cb7958a Merge pull request #2857 from titusz/improve-read-errors
refactor: Reorder exception handling in file reading method
2025-01-13 09:37:38 -08:00
Paul Gauthier (aider)
ebb38c6518 style: Format test_io.py to comply with linter rules 2025-01-13 09:36:31 -08:00
Paul Gauthier (aider)
fa80d2f3cc test: add line endings validation tests for InputOutput 2025-01-13 09:36:26 -08:00
Paul Gauthier (aider)
869f37cd89 style: Format code for better readability in io.py 2025-01-13 09:35:07 -08:00
Paul Gauthier (aider)
c22202585d fix: validate line_endings parameter in InputOutput initialization 2025-01-13 09:35:01 -08:00
Titusz Pan
f28c912d5a refactor: Reorder exception handling in file reading method 2025-01-13 18:29:04 +01:00
paul-gauthier
a0e56c5282 Merge pull request #2856 from titusz/configurable-line-endings
feat: Add line endings configuration option for file writing - fixes #1102
2025-01-13 09:26:57 -08:00
Paul Gauthier
de7da1e806 copy 2025-01-13 09:12:56 -08:00
Paul Gauthier
add2f6f669 copy 2025-01-13 09:00:21 -08:00
Paul Gauthier
b06e765e68 copy 2025-01-13 08:58:26 -08:00
Titusz Pan
c3952cb985 feat: Add line endings configuration option for file writing 2025-01-13 17:51:02 +01:00
xqyz
d5469a64d2 Handle new path creation
To handle cases where a path, a file, or both need to be created, you can enhance the `fname.touch()` code as follows:

```python
try:
    # Create parent directories if they don't exist
    fname.parent.mkdir(parents=True, exist_ok=True)
    # Create the file
    fname.touch()
    all_matched_files.add(str(fname))
    self.io.tool_output(f"Created file: {fname}")
except OSError as e:
    self.io.tool_error(f"Error creating file {fname}: {e}")
```

This code ensures that any necessary parent directories are created before attempting to create the file itself.
2025-01-12 07:29:45 +00:00
Paul Gauthier
ac26fc6d5f set version to 0.71.2.dev 2025-01-11 16:07:56 -08:00
Paul Gauthier
122088712d version bump to 0.71.1 2025-01-11 16:06:25 -08:00
Paul Gauthier
9fb09ce14d copy 2025-01-11 16:04:53 -08:00
Paul Gauthier (aider)
392fb21946 fix: ensure integer indices for list slicing in repomap.py 2025-01-11 15:49:58 -08:00
Paul Gauthier (aider)
e94b05851f style: Format test_io.py with consistent string quotes and spacing 2025-01-11 15:48:10 -08:00
Paul Gauthier (aider)
571a5962b7 test: update test to use invalid Unicode that triggers encoding error 2025-01-11 15:48:05 -08:00
Paul Gauthier (aider)
8b6863dc40 style: Format test_io.py with consistent quotes and spacing 2025-01-11 15:46:33 -08:00
Paul Gauthier (aider)
01af629399 test: add test for Unicode to ASCII fallback in tool messages 2025-01-11 15:46:28 -08:00
Paul Gauthier (aider)
4ece6d2a9b fix: handle Text objects properly in io.py for Windows Unicode encoding 2025-01-11 15:40:24 -08:00
Paul Gauthier
18d1d7af33 no chown for COPY 2025-01-11 07:46:23 -08:00
Paul Gauthier
5ada250a66 refactor: Add period to read-only file message in base_coder.py 2025-01-11 07:39:29 -08:00
Paul Gauthier (aider)
308c7ab670 feat: Add read-only file announcements to chat 2025-01-11 07:27:50 -08:00
Paul Gauthier
89d35e020a refactor: Add comment for read-only file message in base_coder.py 2025-01-11 07:27:49 -08:00
Paul Gauthier (aider)
6729570799 refactor: Simplify docker-build-test.yml to mirror release workflow with dev tags 2025-01-11 07:16:02 -08:00
Paul Gauthier (aider)
f72f5f6438 ci: Add dev tag publishing to Docker build test workflow 2025-01-11 07:12:56 -08:00
Paul Gauthier
a02e11e0bc Revert "ci: Add Docker image tests with --yes --exit args"
This reverts commit fdddfc6b1f.
2025-01-11 07:06:08 -08:00
Paul Gauthier
9ff15e1506 copy 2025-01-11 06:53:44 -08:00
Paul Gauthier (aider)
fdddfc6b1f ci: Add Docker image tests with --yes --exit args 2025-01-11 06:52:29 -08:00
Paul Gauthier (aider)
78ebb6295d fix: Restore site-packages permissions in Dockerfile for appuser access 2025-01-11 06:48:26 -08:00
Paul Gauthier
73c89e8c00 copy 2025-01-10 15:53:17 -08:00
Paul Gauthier (aider)
fcc499e401 refactor: normalize deepseek model names to deepseek-chat 2025-01-10 15:51:53 -08:00
Paul Gauthier
6e8efe22aa refactor: Combine deepseek/deepseek-coder into chat AI in model stats 2025-01-10 15:51:52 -08:00
Paul Gauthier
f9c5cb73a2 copy 2025-01-10 15:08:15 -08:00
Paul Gauthier
c939521f5f copy 2025-01-10 15:04:54 -08:00
Paul Gauthier
2640e05307 set version to 0.71.1.dev 2025-01-10 15:01:41 -08:00
Paul Gauthier
c1a371e3d3 version bump to 0.71.0 2025-01-10 15:00:02 -08:00
Paul Gauthier
5a4871155a copy 2025-01-10 14:54:42 -08:00
Paul Gauthier (aider)
d8e6dbf788 docs: clarify dual purpose of /ask, /code, and /architect commands 2025-01-10 14:51:25 -08:00
Paul Gauthier
7ea69ae4b4 refactor: Simplify map_tokens assignment logic in main.py 2025-01-10 14:49:16 -08:00
Paul Gauthier
d238ead451 copy 2025-01-10 14:44:00 -08:00
Paul Gauthier (aider)
e6b449f24d test: add tests for get_repo_map_tokens method 2025-01-10 14:39:50 -08:00
Paul Gauthier (aider)
41018d05a8 fix: remove unused max_tokens variable in get_repo_map_tokens 2025-01-10 14:38:22 -08:00
Paul Gauthier
d48008e13d refactor: Update repo map token handling and improve warning message 2025-01-10 14:38:12 -08:00
Paul Gauthier
a9cf438100 refactor: Update terminal detection message to include pretty output 2025-01-10 14:26:06 -08:00
Paul Gauthier (aider)
6c7a0d21d2 style: Remove trailing whitespace in io.py 2025-01-10 14:25:04 -08:00
Paul Gauthier (aider)
d887db4c18 fix: disable pretty output for dumb terminals 2025-01-10 14:24:59 -08:00
Paul Gauthier (aider)
e6be69ec6d test: add test case for TERM=dumb terminal handling 2025-01-10 14:24:27 -08:00
Paul Gauthier
c1ba7db8a1 refactor: Update placeholder text in cmd_run for better clarity 2025-01-10 14:23:42 -08:00
Paul Gauthier
dc5b5896a9 copy 2025-01-10 14:20:50 -08:00
Paul Gauthier
38678fafc1 refactor: Simplify fence pattern matching in base_coder.py 2025-01-10 14:20:02 -08:00
Paul Gauthier
7611211d1c copy 2025-01-10 14:19:51 -08:00
Paul Gauthier
0d9c2cd902 copy 2025-01-10 14:09:22 -08:00
Paul Gauthier (aider)
1a84c109fc feat: allow /ask, /code, /architect without args to switch modes 2025-01-10 14:07:24 -08:00
Paul Gauthier (aider)
cbedf3f8cc fix: Correct typo in variable name from model_metatdata_files to model_metadata_files 2025-01-10 14:04:54 -08:00
Paul Gauthier
50436e3106 docs: Update model usage statistics and dumb terminal message 2025-01-10 14:04:41 -08:00
Paul Gauthier (aider)
62498ec867 style: Reorder imports and fix whitespace in aider/io.py 2025-01-10 14:03:57 -08:00
Paul Gauthier (aider)
91b94bb16c feat: add dumb terminal detection and fallback handling 2025-01-10 14:03:53 -08:00
Paul Gauthier
c2bbdc503c copy 2025-01-10 13:33:00 -08:00
Paul Gauthier
babae0fa6e refactor: conditionally set stream based on main_model.streaming 2025-01-10 13:31:55 -08:00
Paul Gauthier
f047882ac1 refactor: Add InvalidGitRepositoryError to ANY_GIT_ERROR list 2025-01-09 15:01:36 -08:00
Paul Gauthier
b818d6a921 copy 2025-01-09 12:07:00 -08:00
Paul Gauthier
ba631c8451 copy 2025-01-09 12:03:17 -08:00
Paul Gauthier
2c963b389c include author in history updates 2025-01-09 12:03:05 -08:00
Paul Gauthier
8437fbc314 cleanup 2025-01-09 12:02:48 -08:00
Paul Gauthier (aider)
76404004a4 feat: include author info in git log output for history updates 2025-01-09 11:57:23 -08:00
Paul Gauthier
1b64514c2c copy 2025-01-09 11:44:40 -08:00
Paul Gauthier
6efea7d365 Merge branch 'main' of github.com:Aider-AI/aider 2025-01-09 11:44:19 -08:00
Paul Gauthier (aider)
e1a3b77d67 feat: add rootless container support with dedicated appuser 2025-01-09 11:26:06 -08:00
Paul Gauthier
cfc7ad5627 copy 2025-01-09 09:56:49 -08:00
paul-gauthier
b3cbf14ad6 Merge pull request #2809 from hydai/fix_missing_link 2025-01-09 06:39:40 -08:00
hydai
51cfbe6b00 docs: fix missing link
Signed-off-by: hydai <z54981220@gmail.com>
2025-01-09 18:46:14 +08:00
paul-gauthier
155f397d0b Merge pull request #2798 from schpet/improve-watch-description 2025-01-07 15:02:52 -08:00
Peter Schilling
4b53b8b6a1 2025-01-07 14:00:49 -08:00
Peter Schilling (aider)
dbea4a1787 aider: feat: Update watch.md description for IDE usage 2025-01-07 13:57:39 -08:00
Peter Schilling
5b6da85e68 docs: Update watch.md documentation description and comments 2025-01-07 13:57:38 -08:00
Paul Gauthier
61671e9d3f cleanup 2025-01-07 10:49:21 -08:00
Paul Gauthier
f94e05e04e Merge branch 'main' of github.com:Aider-AI/aider 2025-01-07 10:04:17 -08:00
Paul Gauthier
b5cad9a8cc copy 2025-01-07 09:58:20 -08:00
paul-gauthier
3a97d8cc82 Merge pull request #2795 from nims11/fix-discard
Fix files not being excluded in benchmark.py
2025-01-07 09:57:35 -08:00
Paul Gauthier
3c099465da refactor: Add AssertionError to ANY_GIT_ERROR tuple 2025-01-07 09:50:28 -08:00
Paul Gauthier (aider)
fcdb2591b6 fix: check prompt session is active before interrupting input 2025-01-07 09:46:48 -08:00
Paul Gauthier
b67a16e9af fix: Add AttributeError to ANY_GIT_ERROR tuple 2025-01-07 09:45:53 -08:00
Paul Gauthier (aider)
1d672616be fix: correct file export path in voice format conversion 2025-01-07 09:43:49 -08:00
Nimesh Ghelani
ed9d70903d Fix files not being excluded in benchmark.py
`.discard()` removes an item from the set. `.difference_update()` is the
correct call here.
2025-01-07 17:35:29 +00:00
Paul Gauthier
8a9bab8a46 copy 2025-01-07 09:33:00 -08:00
Paul Gauthier
fdc6a08eb4 copy 2025-01-07 09:28:34 -08:00
Paul Gauthier
154309912d delay renedering md when it gets slow 2025-01-07 06:57:38 -08:00
Paul Gauthier
a84fea86b8 copy 2025-01-07 06:57:20 -08:00
Paul Gauthier (aider)
609998bc18 style: Format floating-point division in mdstream.py 2025-01-07 06:51:59 -08:00
Paul Gauthier (aider)
891868b061 perf: adjust min_delay based on markdown render time for smoother updates 2025-01-07 06:51:56 -08:00
Paul Gauthier
3fc5cf8b9f refactor: Replace hardcoded min_delay with 1./20 for 20fps in MarkdownStream 2025-01-07 06:51:54 -08:00
Paul Gauthier (aider)
6048ed5bc1 style: Remove trailing whitespace from Lorem Ipsum text lines 2025-01-07 06:44:35 -08:00
Paul Gauthier (aider)
a1a007134c style: Break long Lorem Ipsum text into multiple lines to comply with line length limit 2025-01-07 06:44:10 -08:00
Paul Gauthier
d82f9fa432 refactor: Multiply _text by 10 in mdstream.py for testing 2025-01-07 06:44:09 -08:00
Paul Gauthier (aider)
c0074301a3 style: Remove extra blank line in mdstream.py 2025-01-07 06:42:52 -08:00
Paul Gauthier (aider)
9c2c05ad44 refactor: read io.py source file in mdstream.py main block 2025-01-07 06:42:48 -08:00
Paul Gauthier
fad230c02e refactor: Split markdown text into prefix and suffix variables 2025-01-07 06:42:46 -08:00
Paul Gauthier (aider)
ad3c95f273 style: Fix whitespace and formatting in mdstream.py 2025-01-07 06:11:58 -08:00
Paul Gauthier (aider)
684fdb6095 refactor: extract markdown rendering logic into helper method 2025-01-07 06:11:54 -08:00
Paul Gauthier
8e64f171b8 refactor: improve markdown streaming with stable/unstable line handling 2025-01-07 06:11:52 -08:00
Paul Gauthier (aider)
d616c3fed7 style: Remove trailing whitespace in MarkdownStream class docstring 2025-01-07 05:58:45 -08:00
Paul Gauthier (aider)
e07e6cd2a3 docs: Format docstring to comply with line length limits 2025-01-07 05:58:41 -08:00
Paul Gauthier (aider)
f1bd5cdb52 style: Fix whitespace and formatting in MarkdownStream class 2025-01-07 05:57:39 -08:00
Paul Gauthier (aider)
be82b6bed9 docs: add comments to explain MarkdownStream class and methods 2025-01-07 05:57:35 -08:00
Paul Gauthier
37ad4758a1 refactor: Move fname_path assignment inside try block in GitRepo.ignored_file_raw 2025-01-04 12:36:07 -08:00
Paul Gauthier (aider)
e4a238a05c style: Format code with consistent string quotes and remove trailing whitespace 2025-01-04 12:27:11 -08:00
Paul Gauthier (aider)
e5ca922ce8 fix: handle empty paths and dotfiles in get_ident_filename_matches 2025-01-04 12:27:04 -08:00
Paul Gauthier
6a1f4431d0 docs: Update HISTORY.md and FAQ.md with latest changes and model usage stats 2025-01-04 12:22:45 -08:00
Paul Gauthier (aider)
d67eda24d2 style: Remove trailing whitespace and format confirm_ask prompt 2025-01-04 12:09:53 -08:00
Paul Gauthier (aider)
bba0cc8dc5 feat: show token count in command output confirmation prompt 2025-01-04 12:09:48 -08:00
Paul Gauthier
884b52b710 refactor: Add comment for tokenizing command output in Commands class 2025-01-04 12:09:45 -08:00
Paul Gauthier
01ef2351b3 refactor: Use temporary variable for audio format to avoid state mutation 2025-01-04 12:08:05 -08:00
Paul Gauthier
de1d566e9e refactor: Simplify audio file handling and conversion logic 2025-01-04 12:06:07 -08:00
Paul Gauthier (aider)
19114a61ae style: Format print statement in voice.py for better readability 2025-01-04 12:04:13 -08:00
Paul Gauthier (aider)
36e5599ead feat: Add file size logging after audio conversion 2025-01-04 12:04:09 -08:00
Paul Gauthier (aider)
f5a82e575c style: Format print statement in voice.py for better readability 2025-01-04 12:03:32 -08:00
Paul Gauthier (aider)
1851de323d feat: add error handling and feedback for audio conversion 2025-01-04 12:03:25 -08:00
Paul Gauthier
f9408640a3 refactor: Simplify audio file size check and format conversion logic 2025-01-04 12:03:24 -08:00
Paul Gauthier (aider)
73837730fa feat: Add file size check and mp3 conversion for large audio files 2025-01-04 11:59:42 -08:00
Paul Gauthier
9b46991721 refactor: Add comment for handling large file uploads in voice.py 2025-01-04 11:59:40 -08:00
Paul Gauthier
606cd0368f refactor: remove redundant exception handling in GitRepo 2025-01-04 11:09:55 -08:00
Paul Gauthier
d9ef23ad99 Merge branch 'main' of github.com:Aider-AI/aider 2025-01-04 11:09:25 -08:00
Paul Gauthier
48b8f54c12 refactor: Move message and style initialization before try block in InputOutput 2025-01-04 11:04:32 -08:00
Paul Gauthier (aider)
cec9f90c1c style: Standardize string quotes in InputOutput class 2025-01-04 11:03:43 -08:00
Paul Gauthier (aider)
44d36f140a fix: handle UnicodeEncodeError in console output with ASCII fallback 2025-01-04 11:03:38 -08:00
paul-gauthier
f88adcfa85 Merge pull request #2764 from caseymcc/repo_index
Ignore directories in repo that have index errors
2025-01-04 13:59:32 -05:00
Paul Gauthier (aider)
c5919f0c15 refactor: improve cleanup error handling and verbose logging 2025-01-04 10:55:11 -08:00
Paul Gauthier
ac160cac12 chore: Ignore exceptions during Rust target directory cleanup 2025-01-04 10:55:09 -08:00
Paul Gauthier
867aaa5864 copy 2025-01-04 06:36:22 -08:00
Paul Gauthier
0b26505a20 Merge branch 'main' of github.com:Aider-AI/aider 2025-01-04 06:33:49 -08:00
paul-gauthier
98ad513621 Merge pull request #2753 from aweis89/fix-linting-cmd
fix: lint command with nested spaced strings
2025-01-04 09:33:38 -05:00
Paul Gauthier
591edbb003 improve prompts so that switching between ask/code works better with deepseek 2025-01-04 06:28:20 -08:00
Paul Gauthier
a17b1c2ab7 Merge branch 'main' of github.com:Aider-AI/aider 2025-01-04 06:27:42 -08:00
Paul Gauthier
648f14d95b copy 2025-01-04 06:25:19 -08:00
Paul Gauthier (aider)
2e4c2422b1 feat: Add voice format and input device initialization in Commands 2025-01-04 06:21:19 -08:00
Paul Gauthier
463fdb1ed9 refactor: Increase max chat history tokens limit from 4k to 8k 2025-01-04 06:19:38 -08:00
Paul Gauthier (aider)
d6b612a4a3 style: Break long comment line to comply with flake8 E501 2025-01-04 06:18:40 -08:00
Paul Gauthier (aider)
d24376608e refactor: generalize token calculation using division in Model class 2025-01-04 06:18:15 -08:00
Paul Gauthier
ff41f9bd9a refactor: adjust max_chat_history_tokens calculation based on max_input_tokens 2025-01-04 06:18:12 -08:00
paul-gauthier
6d3dd5c484 Merge pull request #2767 from apaz-cli/ap/suppress_streamlit
Disable streamlit email prompt
2025-01-03 16:02:02 -05:00
apaz-cli
f0bc8983b8 Disable streamlit email prompt 2025-01-03 14:43:18 -06:00
Paul Gauthier (aider)
729354b038 chore: Add cleanup for node_modules directories in benchmark tests 2025-01-03 14:19:06 -05:00
Paul Gauthier (aider)
c0be857f37 chore: Add Java build directory cleanup to test runner 2025-01-03 14:16:51 -05:00
Paul Gauthier
98b0e88ace refactor: simplify Rust target directory cleanup logic 2025-01-03 14:16:49 -05:00
Paul Gauthier (aider)
3d501df21f chore: Clean up Rust target/debug directory after all test attempts 2025-01-03 14:14:44 -05:00
Paul Gauthier
1b4abb747d style: Add blank line for readability in benchmark.py 2025-01-03 14:14:42 -05:00
Paul Gauthier
b1d418f7fb copy 2025-01-03 12:26:55 -04:00
Paul Gauthier
a702b4752b copy 2025-01-03 12:25:03 -04:00
Paul Gauthier
684ba7c0cb Merge branch 'main' of github.com:Aider-AI/aider 2025-01-03 12:16:43 -04:00
Krazer
1bcc27d2be little clean up 2025-01-03 09:07:27 -06:00
Krazer
50d3b305d4 make it a warning 2025-01-03 09:01:34 -06:00
Krazer
a341c98ec6 handle repo index errors 2025-01-03 08:58:42 -06:00
paul-gauthier
fa5c8a00e4 Merge pull request #2706 from Hambaobao/polyglot-qwen2.5-coder-32b-instruct-whole-results
Polyglot Qwen2.5-Coder-32B-Instruct Results [Whole]
2025-01-03 09:35:20 -04:00
paul-gauthier
42f6c20ada Merge branch 'main' into polyglot-qwen2.5-coder-32b-instruct-whole-results 2025-01-03 09:35:14 -04:00
paul-gauthier
787738094d Update README.md 2025-01-02 21:50:30 -04:00
Paul Gauthier
a44ebfe99f copy 2025-01-02 17:26:14 -04:00
Paul Gauthier
c5959664e4 Merge branch 'main' of github.com:Aider-AI/aider 2025-01-02 17:23:42 -04:00
Paul Gauthier
9b581268de copy 2025-01-02 17:23:10 -04:00
Aaron Weisberg
acf654c984 fix: lint command with nested spaced strings 2025-01-02 17:27:33 +01:00
paul-gauthier
94f83eb9e3 Merge pull request #2750 from bkowalik/patch-1
Document boto3 install process with aider installed by uv or one-liner
2025-01-02 09:44:22 -04:00
Bartek Kowalik
07c675ed06 Document boto3 install process with uv 2025-01-02 08:39:20 +01:00
Paul Gauthier
f292e01980 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-30 14:37:27 -04:00
Paul Gauthier (aider)
61f9123147 style: Run linter 2024-12-30 14:21:39 -04:00
Paul Gauthier (aider)
60708a7fd7 fix: Remove unused imports in commands.py 2024-12-30 14:21:35 -04:00
Paul Gauthier
761fb93aba refactor: Move test_cmd_load_with_switch_coder to test file 2024-12-30 14:21:28 -04:00
Paul Gauthier (aider)
20bc718bdc style: Format voice init for readability 2024-12-30 14:19:21 -04:00
Paul Gauthier (aider)
07337d2f41 feat: Handle voice-format command line argument 2024-12-30 14:19:14 -04:00
Paul Gauthier (aider)
3d2de00f49 style: Apply linter fixes 2024-12-30 14:17:25 -04:00
Paul Gauthier (aider)
a7242ca846 refactor: Pass voice settings to Commands as params 2024-12-30 14:17:16 -04:00
paul-gauthier
d3298ac5f2 Merge pull request #2725 from joshvera/fix-benchmark-java-ca-pkg
Install ca-certificates before openjdk-21 to resolve cacerts error
2024-12-29 15:07:51 -04:00
Josh Vera
e486243c06 Install ca-certificates before openjdk-21 to resolve cacerts error 2024-12-29 10:55:09 -08:00
Paul Gauthier (aider)
8eaefb57d3 feat: Add RevCumulative column to problem stats 2024-12-28 11:45:41 -04:00
Paul Gauthier
c21f7afdcb Merge branch 'main' of github.com:Aider-AI/aider 2024-12-28 10:24:22 -04:00
Paul Gauthier
d734dee589 copy 2024-12-28 10:24:17 -04:00
Paul Gauthier (aider)
f035c4c01a fix: Remove max_apply_update_errors from threaded call 2024-12-27 16:36:58 -04:00
Paul Gauthier (aider)
8fcdcecf36 refactor: Remove deprecated max_apply_update_errors 2024-12-27 16:36:47 -04:00
Paul Gauthier
3f9ee1ac2e refactor: Remove deprecated max_apply_update_errors 2024-12-27 16:36:46 -04:00
Paul Gauthier
188e1f788d chore: Rename exercism dir to polyglot-benchmark 2024-12-27 16:33:04 -04:00
paul-gauthier
98a0f1cf5b Merge pull request #2698 from paulmaunders/fix-macos-go-tests
Fix Go installation and benchmark tests for Apple Silicon
2024-12-27 12:31:36 -05:00
Paul Gauthier
1467a673b9 style: Remove mobile height override for blame chart 2024-12-26 20:11:14 -04:00
Paul Gauthier
889eb86d89 fix: Correct chart legend position and reverse order 2024-12-26 20:09:09 -04:00
Paul Gauthier (aider)
125da0e2db feat: Move chart legend to top-left 2024-12-26 20:04:37 -04:00
Paul Gauthier
14b274c707 style: Reduce blame chart height on website 2024-12-26 20:04:37 -04:00
Paul Gauthier (aider)
dedbc20ac6 feat: Make charts responsive and taller on mobile 2024-12-26 20:02:11 -04:00
Paul Gauthier (aider)
36cf2348d0 style: Change human bar color to light grey 2024-12-26 19:57:59 -04:00
Paul Gauthier
a19f8996b8 fix: Improve blame chart labels and stacking 2024-12-26 19:57:57 -04:00
Paul Gauthier (aider)
7293263773 fix: Stack x-axis for full width bars 2024-12-26 19:55:33 -04:00
Paul Gauthier (aider)
ed5b07374d fix: Use minus filter for subtraction in liquid template 2024-12-26 19:54:09 -04:00
Paul Gauthier (aider)
07b96bef95 feat: Create stacked bar chart for lines of code by author 2024-12-26 19:50:21 -04:00
Paul Gauthier
5c3cca157d switch to deepseek-chat instead of deepseek-coder 2024-12-26 19:40:06 -04:00
Paul Gauthier
f1f66a9b9d copy 2024-12-26 19:28:14 -04:00
Paul Gauthier
f4007210c1 set version to 0.70.1.dev 2024-12-26 19:19:51 -04:00
Paul Gauthier
77962dbd4c version bump to 0.70.0 2024-12-26 19:18:21 -04:00
Paul Gauthier
419cbae55f copy 2024-12-26 10:55:14 -05:00
Paul Gauthier
5233789c40 docs: Improve watch_code_prompt instructions 2024-12-26 10:54:25 -05:00
Paul Gauthier (aider)
70731719f7 style: Fix formatting in io.py 2024-12-26 10:52:21 -05:00
Paul Gauthier (aider)
cf4aa68f98 refactor: Use shorter abs/rel paths for readonly files 2024-12-26 10:52:16 -05:00
Paul Gauthier
6bfd89074c fix: Display shorter path for readonly files 2024-12-26 10:48:04 -05:00
Paul Gauthier
acc4893a7f fix: Update deepseek-chat max tokens 2024-12-26 10:45:14 -05:00
Paul Gauthier
ab61ae2b36 copy 2024-12-26 10:18:19 -05:00
Paul Gauthier
514b9c1c7d copy 2024-12-26 10:13:56 -05:00
Paul Gauthier
44f2cf2b24 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-26 10:12:36 -05:00
paul-gauthier
9befec5cd1 Merge pull request #2692 from mdklab/fix-issue-1802-unicode-error
Fix issue #1802: Handle UnicodeDecodeError in repo file paths
2024-12-26 10:12:33 -05:00
Paul Gauthier
7efdfe5639 added OR o1 and fix OR deepseek-chat 2024-12-26 10:11:40 -05:00
Paul Gauthier (aider)
be6811b29a fix: Correct import path for Coder in commands.py 2024-12-26 09:59:05 -05:00
Paul Gauthier (aider)
f160b8df04 fix: Move Coder import to avoid circular dependency 2024-12-26 09:58:45 -05:00
Paul Gauthier (aider)
158471b218 style: Reorder imports in aider/commands.py 2024-12-26 09:58:15 -05:00
Paul Gauthier (aider)
a383cece53 fix: Import missing modules for test 2024-12-26 09:58:11 -05:00
Paul Gauthier (aider)
0901e6ab77 fix: Correctly format long error message string 2024-12-26 09:57:56 -05:00
Paul Gauthier (aider)
e1485971d8 test: Add test for cmd_load with SwitchCoder 2024-12-26 09:57:51 -05:00
Paul Gauthier (aider)
91c9b1bfe7 fix: Handle SwitchCoder exception in cmd_load 2024-12-26 09:57:09 -05:00
Paul Gauthier
befe6be86c fix: Catch switchcoder exception in run_commands 2024-12-26 09:57:07 -05:00
Paul Gauthier
79428cf4ed copy 2024-12-26 09:49:02 -05:00
Paul Gauthier
7bde5fe893 copy 2024-12-26 09:48:18 -05:00
Paul Gauthier
2f7e024387 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-26 09:47:16 -05:00
paul-gauthier
9235cfa739 Merge pull request #2695 from gengjiawen/patch-1
add yi-lightning result
2024-12-26 07:05:41 -05:00
paul-gauthier
f1e623ec5a Merge branch 'main' into patch-1 2024-12-26 07:05:33 -05:00
柏枫
7c86dc9ac6 add polyglot-qwen2.5-coder-32b-instruct-whole-results 2024-12-26 15:01:45 +08:00
Paul Gauthier
ec2da0a399 add deepseek v3 2024-12-25 09:01:43 -05:00
Paul Gauthier
dd9b2a872c copy 2024-12-25 08:11:04 -05:00
Paul Gauthier
9767759033 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-25 08:05:55 -05:00
Paul Gauthier
7537d79311 fix: Remove .bash_history from rsync 2024-12-25 08:05:46 -05:00
Paul Maunders
b68f34eb9e feat: Fix Go installation for Apple Silicon and add tmp.benchmarks to gitignore 2024-12-24 17:30:41 +00:00
Paul Gauthier (aider)
0a23c4abd6 feat: Configure bash history to save commands immediately 2024-12-24 08:03:01 -05:00
paul-gauthier
b51768b08e Update 2024-12-21-polyglot.md 2024-12-23 18:01:03 -08:00
Jiawen Geng
4561f0c79e add yi-lightning result 2024-12-23 16:39:25 -08:00
mdk
5c92491bc0 Fix issue #1802: Handle UnicodeDecodeError in repo file paths
Added error handling for UnicodeDecodeError when decoding paths in the Git repository.
This issue arises when paths are encoded in formats other than the expected system encoding.

The error handler now provides a detailed error message, helping users identify potential encoding mismatches.

Closes #1802
2024-12-23 20:01:08 +01:00
paul-gauthier
083605e2d7 Merge pull request #2690 from apaz-cli/ap/rephrase_dirwarning 2024-12-23 08:27:59 -08:00
apaz-cli
d28e2f0f56 Rephrase home dir warning 2024-12-23 08:50:25 -06:00
Paul Gauthier
87a964355b copy 2024-12-23 08:00:25 -05:00
Paul Gauthier
fbc3f0cef5 copy 2024-12-22 21:23:39 -05:00
Paul Gauthier
2b1625e3a8 copy 2024-12-22 18:07:25 -05:00
Paul Gauthier (aider)
6230df749e fix: Create table rows if they don't exist 2024-12-22 18:04:01 -05:00
Paul Gauthier
e62003c0ce copy 2024-12-22 17:52:57 -05:00
Paul Gauthier
d0f092f7ae copy 2024-12-22 17:51:38 -05:00
Paul Gauthier
9e2e07e8a7 copy 2024-12-22 16:58:29 -05:00
Paul Gauthier
4154d47c07 copy 2024-12-22 16:56:38 -05:00
Paul Gauthier
62e0cba7bd copy 2024-12-22 16:52:51 -05:00
Paul Gauthier
39d5c785d5 copy 2024-12-22 16:51:44 -05:00
Paul Gauthier
e5cb81c11f copy 2024-12-22 16:47:58 -05:00
Paul Gauthier
3abb8d38ec copy 2024-12-22 16:46:41 -05:00
Paul Gauthier
7f0860d5d0 copy 2024-12-22 16:41:20 -05:00
Paul Gauthier
8c74c8ab6f add o1-mini 2024-12-22 16:39:18 -05:00
Paul Gauthier
37df899ada copy 2024-12-22 16:17:16 -05:00
Paul Gauthier
f55181e447 copy 2024-12-22 16:14:33 -05:00
Paul Gauthier
b1bc2f8c5c test: Remove user_id check from need_to_ask test 2024-12-22 09:52:45 -05:00
Paul Gauthier (aider)
350df7ca55 fix: Test check_gitignore with and without .env file 2024-12-22 09:51:20 -05:00
Paul Gauthier
8768a8aca6 copy 2024-12-22 09:15:59 -05:00
Paul Gauthier (aider)
0f8bb016f4 fix: Correct misspelled HIGHLIGHT_MODEL in leaderboard.js 2024-12-22 09:07:10 -05:00
Paul Gauthier (aider)
eb30791ff4 feat: Make highlight model configurable via assign 2024-12-22 09:06:05 -05:00
Paul Gauthier
7b37bf0f48 copy 2024-12-22 09:02:01 -05:00
Paul Gauthier
fff67a5917 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-22 09:00:52 -05:00
paul-gauthier
3dbe91577c Merge pull request #2675 from apaz-cli/ap/dotenv_dne
Don't add .env to gitignore when it doesn't exist.
2024-12-22 06:00:47 -08:00
Paul Gauthier
0e05b64ebc copy 2024-12-22 08:59:38 -05:00
Paul Gauthier
c895e99306 copy 2024-12-22 08:43:59 -05:00
Paul Gauthier
6d7e8beaaa other o1 variants 2024-12-21 14:14:21 -08:00
Paul Gauthier
8b62d8a6c5 copy 2024-12-21 14:11:54 -08:00
Paul Gauthier
ec44850646 copy 2024-12-21 14:11:21 -08:00
Paul Gauthier
2ea5a98ee0 rename 2024-12-21 11:53:43 -08:00
Paul Gauthier
80928b90a5 cleanup 2024-12-21 11:52:18 -08:00
Paul Gauthier
b28174aba1 delete refac js 2024-12-21 11:51:23 -08:00
Paul Gauthier (aider)
da170bab3a fix: Use configured pass_rate for graph data in search 2024-12-21 11:49:36 -08:00
Paul Gauthier (aider)
49a2f998dd refactor: Unify leaderboard scripts and use config variables 2024-12-21 11:47:29 -08:00
Paul Gauthier
4efdc8b4f7 refactor: Rename benchmark dir, improve rsync, fix problem stats 2024-12-21 11:09:52 -08:00
Paul Gauthier (aider)
a75507980a fix: Pass stats_languages to summarize_results and show_stats 2024-12-20 16:04:00 -08:00
Paul Gauthier (aider)
8d0decc17a style: Apply linter formatting 2024-12-20 16:03:44 -08:00
Paul Gauthier (aider)
e334cbb5d4 fix: Correct indentation in load_results function 2024-12-20 16:03:40 -08:00
Paul Gauthier (aider)
e3ac8ab19d feat: Add --stats-languages option to filter results 2024-12-20 16:03:19 -08:00
Paul Gauthier
bddf6e9017 fix: Handle missing attributes in show_stats and empty models 2024-12-20 16:03:19 -08:00
apaz-cli
bcdc0217b3 Don't add .env to gitignore when it doesn't exist. 2024-12-20 10:09:07 -06:00
Paul Gauthier
521841b447 fix: Skip redoing tests if results exist 2024-12-19 16:25:54 -08:00
Paul Gauthier (aider)
c53cd336f9 style: Fix linting issues 2024-12-19 15:59:03 -08:00
Paul Gauthier (aider)
a8226989c8 feat: Remove @Disabled annotations from Java test files 2024-12-19 15:58:59 -08:00
Paul Gauthier
114b156d74 fix: Use relative paths for ignored files, remove redundant try 2024-12-19 15:56:16 -08:00
Paul Gauthier (aider)
def2d4bac9 style: Fix string formatting in problem stats 2024-12-19 15:50:14 -08:00
Paul Gauthier (aider)
250e2ab6aa feat: Print never solved exercises with full path 2024-12-19 15:50:11 -08:00
Paul Gauthier
6185ddf76a feat: Print never solved exercises and remove dumps 2024-12-19 15:50:10 -08:00
Paul Gauthier (aider)
dddf192e5a fix: Check for testcase key in results 2024-12-19 15:49:16 -08:00
Paul Gauthier (aider)
2d32f77ed0 feat: Print list of exercises never solved by any model 2024-12-19 15:49:13 -08:00
Paul Gauthier
7eb7533d42 fix: Handle missing testcase in results and bad json 2024-12-19 15:49:12 -08:00
Paul Gauthier (aider)
bb711fe255 style: Run linter 2024-12-19 14:39:23 -08:00
Paul Gauthier (aider)
14a8759b82 feat: Disqualify exercises with >=4 parse errors 2024-12-19 14:39:18 -08:00
Paul Gauthier
5a0d4eff71 fix: Correctly handle zero hard set problems 2024-12-19 14:39:17 -08:00
Paul Gauthier (aider)
805d6bbc8c chore: Create remote ~/aider dir before rsync 2024-12-19 12:03:37 -08:00
Paul Gauthier
a0004ab892 chore: Make rsync.sh executable and add remote dir creation 2024-12-19 12:03:36 -08:00
Paul Gauthier (aider)
46a444dc21 fix: Improve docker group addition and instructions 2024-12-19 11:56:03 -08:00
Paul Gauthier (aider)
aefb5c37fe feat: Add newgrp to apply docker group changes in session 2024-12-19 11:53:44 -08:00
Paul Gauthier (aider)
2216978726 feat: Start and enable docker service after install 2024-12-19 11:52:23 -08:00
Paul Gauthier
3a2d8edb53 chore: Make install-docker-ubuntu.sh executable 2024-12-19 11:52:22 -08:00
Paul Gauthier (aider)
e0d57b7713 feat: Add script to install docker on ubuntu 2024-12-19 11:51:06 -08:00
Paul Gauthier
3a9912c01e feat: Add install docker script for ubuntu 2024-12-19 11:51:05 -08:00
Paul Gauthier (aider)
6cadee31bf feat: Create script to clone exercism repos 2024-12-19 11:47:16 -08:00
Paul Gauthier
678845dfda feat: Add clone-exercism benchmark script 2024-12-19 11:47:15 -08:00
Paul Gauthier (aider)
7f7e218504 feat: Add rsync script to sync repo to remote host 2024-12-19 11:43:51 -08:00
Paul Gauthier
256a9951f5 feat: Add rsync benchmark script 2024-12-19 11:43:50 -08:00
Paul Gauthier (aider)
370b45bb35 feat: Ignore files in .meta and .docs directories 2024-12-19 07:23:28 -08:00
Paul Gauthier
616c4a9a53 chore: Add comment about ignoring meta and docs files 2024-12-19 07:23:27 -08:00
Paul Gauthier
821f7d6694 fix: Use extra_body for reasoning_effort, fix test counts 2024-12-19 07:10:20 -08:00
Paul Gauthier (aider)
bc89be6187 feat: Add OpenJDK 21 and TBB dev packages to Dockerfile 2024-12-19 07:01:01 -08:00
Paul Gauthier (aider)
86b6a4cefd fix: Only create build dir if it doesn't exist 2024-12-19 06:49:18 -08:00
Paul Gauthier
1f9a53a454 feat: Add cpp benchmark test script 2024-12-19 06:49:18 -08:00
Paul Gauthier (aider)
f22d112da2 feat: Add cmake to Dockerfile 2024-12-19 06:46:44 -08:00
Paul Gauthier
c36c06ab99 fix: Retry tests on parse or timeout, add gpt-4o params 2024-12-18 15:56:38 -08:00
Paul Gauthier
a915c60999 feat: Add pass_num to benchmark results, fix hard set percent 2024-12-18 13:36:37 -08:00
Paul Gauthier (aider)
6ddb8a7d88 feat: Add hard set problem counts by language 2024-12-18 13:18:31 -08:00
Paul Gauthier (aider)
50bb2cb1e6 feat: Add total column to unsolved problems table 2024-12-18 13:17:38 -08:00
Paul Gauthier (aider)
e1571dda9b style: Run linter 2024-12-18 13:16:45 -08:00
Paul Gauthier (aider)
7410c6216c feat: Count and display copied exercises per language 2024-12-18 13:16:41 -08:00
Paul Gauthier (aider)
8f84df44ab style: Run linter 2024-12-18 13:16:08 -08:00
Paul Gauthier (aider)
82f21b6734 fix: Copy hard set problems by language and exercise 2024-12-18 13:16:04 -08:00
Paul Gauthier (aider)
892fd5a6ef style: Run linter 2024-12-18 13:13:55 -08:00
Paul Gauthier (aider)
3069db0cfd feat: Add --copy-hard-set switch to copy hard set problems 2024-12-18 13:13:51 -08:00
Paul Gauthier (aider)
b71c9d539e feat: Calculate and display unsolved problem percentages by language 2024-12-18 13:11:20 -08:00
Paul Gauthier (aider)
78e643970d style: Fix linting issues 2024-12-18 13:09:46 -08:00
Paul Gauthier (aider)
34da3dd3d7 feat: Show percent of unsolved problems per language 2024-12-18 13:09:42 -08:00
Paul Gauthier (aider)
817cb0d363 fix: Remove unused List, Optional imports 2024-12-18 13:09:13 -08:00
Paul Gauthier (aider)
01088e214c style: Run linter on problem_stats.py 2024-12-18 13:08:51 -08:00
Paul Gauthier (aider)
3e4500f9fd feat: Print hard set problem counts by language 2024-12-18 13:08:48 -08:00
Paul Gauthier
d4b62608a9 chore: Move HARD_SET_NUM definition 2024-12-18 13:08:47 -08:00
Paul Gauthier (aider)
e6bfc1c2fc refactor: Use constant for hard set threshold 2024-12-18 13:06:03 -08:00
Paul Gauthier
051cabed69 style: Adjust model column width in problem stats 2024-12-18 13:06:02 -08:00
Paul Gauthier (aider)
04916a6e97 style: Run linter on problem_stats.py 2024-12-18 13:03:31 -08:00
Paul Gauthier (aider)
f3be2fa66b feat: Add hard set analysis to problem_stats.py 2024-12-18 13:03:27 -08:00
Paul Gauthier (aider)
c36087cc0c style: Apply linter formatting 2024-12-18 12:55:47 -08:00
Paul Gauthier (aider)
e35909ac7d refactor: Subsort exercises by name when solve rates are equal 2024-12-18 12:55:43 -08:00
Paul Gauthier
e5a693ab94 fix: Correctly format testcase/language in stats 2024-12-18 12:55:42 -08:00
Paul Gauthier (aider)
9e9cfb4600 fix: Calculate max name length after cleaning paths 2024-12-18 12:49:23 -08:00
Paul Gauthier (aider)
5dddaac006 style: Fix linting issues in problem_stats.py 2024-12-18 12:48:44 -08:00
Paul Gauthier (aider)
14af6f1fba fix: Remove duplicate language prefix in problem stats 2024-12-18 12:48:40 -08:00
Paul Gauthier (aider)
e88064fdc9 style: Run linter 2024-12-18 12:47:17 -08:00
Paul Gauthier (aider)
6badf5ea1d feat: Add cumulative sum column to distribution table 2024-12-18 12:47:14 -08:00
Paul Gauthier
20f5f3da24 chore: Remove unused import 2024-12-18 12:47:13 -08:00
Paul Gauthier (aider)
8c1b147705 style: Fix string formatting in problem stats 2024-12-18 12:46:02 -08:00
Paul Gauthier (aider)
366155b828 fix: Correct language lookup in problem_stats.py 2024-12-18 12:45:58 -08:00
Paul Gauthier (aider)
2c7d1897eb style: Fix linting issues in problem_stats.py 2024-12-18 12:43:08 -08:00
Paul Gauthier (aider)
26ccb23402 feat: Add table showing exercise solution distribution 2024-12-18 12:43:04 -08:00
Paul Gauthier
d9e2471fcd refactor: Remove unused dump calls in benchmark script 2024-12-18 12:43:03 -08:00
Paul Gauthier (aider)
8302b351dd style: Fix line length in problem_stats.py 2024-12-18 12:38:45 -08:00
Paul Gauthier (aider)
b8647c0481 feat: Show exercises solved by all and total breakdown 2024-12-18 12:38:41 -08:00
Paul Gauthier
a168403d68 fix: Correctly extract language and testcase from results 2024-12-18 12:38:40 -08:00
Paul Gauthier (aider)
42d8650058 fix: Remove "exercises/" prefix from testcase output 2024-12-18 12:33:41 -08:00
Paul Gauthier (aider)
7ad0d46c11 style: Format problem_stats.py with linter 2024-12-18 12:31:54 -08:00
Paul Gauthier (aider)
58812f7f1f refactor: Sort all exercises by solve rate, not by language 2024-12-18 12:31:50 -08:00
Paul Gauthier (aider)
65133b2aef fix: Handle missing testcase key in problem stats 2024-12-18 12:29:38 -08:00
Paul Gauthier (aider)
291d8cd335 style: Run linter 2024-12-18 12:29:20 -08:00
Paul Gauthier (aider)
7a27e2b94b fix: Handle missing testcase key in problem stats 2024-12-18 12:29:15 -08:00
Paul Gauthier
57a8eab1c3 chore: Add dump for debugging 2024-12-18 12:29:14 -08:00
Paul Gauthier (aider)
236a7f68e9 fix: Handle empty results in problem_stats.py 2024-12-18 12:26:51 -08:00
Paul Gauthier (aider)
81d424f475 fix: Remove unused max_lang_len variable 2024-12-18 12:25:47 -08:00
Paul Gauthier (aider)
687ba8c9a2 style: Apply linter fixes 2024-12-18 12:25:39 -08:00
Paul Gauthier (aider)
6d74a564e6 feat: Handle new exercise dir layout and add language info 2024-12-18 12:25:33 -08:00
Paul Gauthier (aider)
0a3e0665ab style: Apply linter formatting 2024-12-18 12:21:19 -08:00
Paul Gauthier (aider)
a19f1fbc67 feat: Allow specifying dirs on cmd line for problem_stats 2024-12-18 12:21:13 -08:00
Paul Gauthier
2aa4615c78 feat: Add openrouter/openai/o1 model and update prompts 2024-12-18 06:59:14 -08:00
Paul Gauthier (aider)
7dd1346878 fix: Remove stray ] causing syntax error 2024-12-17 20:34:33 -08:00
Paul Gauthier (aider)
31f8c7d9cb fix: Handle JSON decode errors when loading results 2024-12-17 20:34:21 -08:00
Paul Gauthier
914ce0b94d feat: Add total_tests to summary, handle JSON decode errors 2024-12-17 20:34:20 -08:00
Paul Gauthier (aider)
664f09111e feat: Pass original_dname to tests, copy test files 2024-12-17 20:11:58 -08:00
Paul Gauthier (aider)
6141f414fd chore: Remove comment from run_unit_tests 2024-12-17 20:11:29 -08:00
Paul Gauthier
8911f0f217 fix: Correctly find benchmark markdown files 2024-12-17 20:11:29 -08:00
Paul Gauthier (aider)
5af108ccee style: Format benchmark code with black 2024-12-17 20:01:45 -08:00
Paul Gauthier (aider)
94e4169445 fix: Update stats to handle nested exercise directories 2024-12-17 20:01:40 -08:00
Paul Gauthier
479b5b7064 fix: Use shell=True for npm test and fix path 2024-12-17 20:01:39 -08:00
Paul Gauthier (aider)
674e935cf5 fix: Create symlinks only if they don't exist 2024-12-17 19:07:09 -08:00
Paul Gauthier
6b4982d75b chore: Add npm test benchmark script 2024-12-17 19:07:08 -08:00
Paul Gauthier (aider)
4167743a34 feat: Install npm packages in /npm-install directory 2024-12-17 19:01:24 -08:00
Paul Gauthier
ba289f6db4 build: Install nodejs and npm packages in Dockerfile 2024-12-17 19:01:22 -08:00
Paul Gauthier (aider)
422fd11f4d feat: Install all npm dependencies in Dockerfile 2024-12-17 18:50:04 -08:00
Paul Gauthier (aider)
614d9c9b0d feat: Install jest in Dockerfile 2024-12-17 18:40:30 -08:00
Paul Gauthier
f91be86662 build: Use uv for faster pip installs in Dockerfile 2024-12-17 18:40:28 -08:00
Paul Gauthier (aider)
72f05544e8 feat: Install Node.js in Dockerfile 2024-12-17 18:26:16 -08:00
Paul Gauthier (aider)
81f55820be refactor: Use ADD to fetch rustup installer in Dockerfile 2024-12-17 18:24:38 -08:00
Paul Gauthier (aider)
b9c14e1d65 feat: Add Go installation to Dockerfile 2024-12-17 18:22:41 -08:00
Paul Gauthier (aider)
5c55453a0e fix: Correctly calculate and display never solved exercises 2024-12-17 18:14:48 -08:00
Paul Gauthier
12491c4983 wip 2024-12-17 17:47:17 -08:00
Paul Gauthier (aider)
77d379c021 refactor: Use full path for test names in benchmark 2024-12-17 17:43:52 -08:00
Paul Gauthier (aider)
1a12a59e91 chore: Remove comment about test_dnames 2024-12-17 17:41:29 -08:00
Paul Gauthier
0b970dd9c7 fix: Ensure test_dnames include full path 2024-12-17 17:41:27 -08:00
Paul Gauthier (aider)
93ac2bd53e feat: Copy only practice subdirs with exercises 2024-12-17 17:36:03 -08:00
Paul Gauthier (aider)
f9646ac47a chore: Remove comment about practice subdirs 2024-12-17 17:35:17 -08:00
Paul Gauthier
e8ed3b9e23 chore: Add comment about copying practice subdirs 2024-12-17 17:35:16 -08:00
Paul Gauthier (aider)
6238a07c8f style: Run linter on benchmark.py 2024-12-17 17:33:28 -08:00
Paul Gauthier (aider)
1fb33f0c47 feat: Add language filter and multi-lang support 2024-12-17 17:33:23 -08:00
Paul Gauthier (aider)
a842f41627 style: Fix linting issues in benchmark.py 2024-12-17 16:49:50 -08:00
Paul Gauthier (aider)
c4c135e678 refactor: Use dict for test commands based on file extensions 2024-12-17 16:49:46 -08:00
Paul Gauthier (aider)
f36f2fdea2 style: Fix typo in test file extension check 2024-12-17 16:48:37 -08:00
Paul Gauthier (aider)
e3f0a67584 feat: Choose test command based on file extensions 2024-12-17 16:48:32 -08:00
Paul Gauthier
f6f05fa0c6 fix: Use cargo test for rust tests 2024-12-17 16:48:31 -08:00
Paul Gauthier (aider)
54ca7ceac8 feat: Use buildpack-deps, python3.12, and rust in Dockerfile 2024-12-17 16:39:30 -08:00
Paul Gauthier (aider)
cf5b38d4f5 style: Fix linting issues in benchmark.py 2024-12-17 16:35:20 -08:00
Paul Gauthier (aider)
b23669400f fix: Correct syntax error in cleanup_test_output 2024-12-17 16:35:16 -08:00
Paul Gauthier
aaacd00ecf refactor: Use pytest instead of unittest for running tests 2024-12-17 16:35:08 -08:00
Paul Gauthier (aider)
03aa22ba84 feat: Read config.json, copy solution/test files, no fallback 2024-12-17 16:18:10 -08:00
Paul Gauthier
1493b8703f fix: Skip unparseable results files in real test 2024-12-17 16:18:09 -08:00
Paul Gauthier (aider)
59308c20c6 feat: Number exercises in the table 2024-12-17 14:15:40 -08:00
Paul Gauthier (aider)
cac5d8e716 style: Apply linter formatting 2024-12-17 14:15:06 -08:00
Paul Gauthier (aider)
7f16757bbe fix: Handle missing results in topn leaderboard calculation 2024-12-17 14:15:02 -08:00
Paul Gauthier (aider)
674e3846e2 fix: Correctly sort leaderboard by pass rate 2024-12-17 14:13:43 -08:00
Paul Gauthier (aider)
3a0be0cca9 style: Apply linter formatting 2024-12-17 14:13:19 -08:00
Paul Gauthier (aider)
00d7c3a05a feat: Add --topn argument to limit models by pass rate 2024-12-17 14:13:16 -08:00
Paul Gauthier (aider)
91f5fca5e9 feat: Include never solved exercises in stats 2024-12-17 14:10:47 -08:00
Paul Gauthier (aider)
1d7cb0c119 feat: Format problem stats output as a table with percentages 2024-12-17 14:10:00 -08:00
Paul Gauthier (aider)
24599aa64f style: Run linter on problem_stats.py 2024-12-17 14:09:20 -08:00
Paul Gauthier (aider)
54c1553892 refactor: Remove distribution of solutions table 2024-12-17 14:09:17 -08:00
Paul Gauthier (aider)
0ae53ce1a1 feat: Output per-exercise stats, sort by solvers 2024-12-17 14:08:47 -08:00
Paul Gauthier
c69ffe02f8 chore: Make problem_stats.py executable 2024-12-17 14:08:46 -08:00
Paul Gauthier (aider)
7bfc2e0e74 style: Run linter on benchmark script 2024-12-17 14:06:56 -08:00
Paul Gauthier (aider)
9cc674c283 feat: Add script to analyze exercise solution stats 2024-12-17 14:06:53 -08:00
Paul Gauthier
66e597a05c feat: Add problem stats benchmark 2024-12-17 14:06:52 -08:00
Paul Gauthier
074c636e53 copy 2024-12-17 14:03:46 -08:00
Paul Gauthier
4ec44936f6 analytics to 10% 2024-12-17 14:01:13 -08:00
Paul Gauthier
eb9c41f2a0 feat: Enable complete_while_typing in prompt_session 2024-12-17 13:42:59 -08:00
Paul Gauthier (aider)
04afb99c54 fix: Use module-level function in test_is_uuid_in_percentage 2024-12-17 13:33:33 -08:00
Paul Gauthier
2124e7b221 copy 2024-12-17 13:30:30 -08:00
Paul Gauthier
2416a8bf96 fix: Handle empty file content in FileWatcher 2024-12-17 13:30:10 -08:00
Paul Gauthier (aider)
408a40f78b style: Format with linter 2024-12-17 13:24:55 -08:00
Paul Gauthier (aider)
195ae5ce4b feat: Pass cwd as root to FileWatcher when subtree_only 2024-12-17 13:24:50 -08:00
Paul Gauthier
9bebb1e9a9 fix: Pass root to FileWatcher 2024-12-17 13:24:49 -08:00
Paul Gauthier
e7bec5be1d feat: Allow setting root path for file watcher 2024-12-17 13:23:55 -08:00
Paul Gauthier
c708e8ba8e refactor: Move PERCENT constant to top level 2024-12-17 13:02:07 -08:00
Paul Gauthier (aider)
60f26cc067 refactor: Move is_uuid_in_percentage and fix import 2024-12-17 12:55:43 -08:00
Paul Gauthier (aider)
64fa058bc7 style: Apply linter fixes 2024-12-17 12:55:29 -08:00
Paul Gauthier (aider)
9a770eeae9 refactor: Move uuid percentage check to standalone functions 2024-12-17 12:55:26 -08:00
Paul Gauthier
ffc2c5a26e refactor: Move uuid percentage check to function 2024-12-17 12:55:24 -08:00
Paul Gauthier
b6c5bd552e Merge branch 'main' of github.com:Aider-AI/aider 2024-12-17 12:39:07 -08:00
paul-gauthier
05147a3199 Merge pull request #2652 from evannjohnson/docs-code-themes
Document that Pygments styles can be used for --code-theme
2024-12-17 12:39:04 -08:00
Evan Johnson
7f0d08ad77 doc that Pygments styles can be used for --code-theme 2024-12-17 13:18:31 -07:00
Paul Gauthier
64f95af833 copy 2024-12-17 10:56:23 -08:00
Paul Gauthier
7cd2662355 disable website analytics 2024-12-17 08:48:47 -08:00
Paul Gauthier (aider)
154d485c9e feat: Add analytics config and toggle to _config.yml 2024-12-17 08:32:12 -08:00
Paul Gauthier
5f6821c7e2 copy 2024-12-17 08:28:51 -08:00
Paul Gauthier (aider)
59cf823d56 style: Run linter on blame.py 2024-12-17 08:25:08 -08:00
Paul Gauthier (aider)
70312c58be feat: Add exclude_files list and filter in blame script 2024-12-17 08:25:04 -08:00
Paul Gauthier
4942366271 feat: Add exclude_files list to blame script 2024-12-17 08:25:03 -08:00
Paul Gauthier
f237d0f212 copy 2024-12-16 19:57:10 -08:00
Paul Gauthier
9b424e0fe7 copy 2024-12-16 16:29:43 -08:00
Paul Gauthier
81b75d178b copy 2024-12-16 16:27:55 -08:00
Paul Gauthier
410e732eb3 copy 2024-12-16 16:21:55 -08:00
Paul Gauthier
2ca93cd93d copy 2024-12-16 16:18:50 -08:00
Paul Gauthier
50c806286e copy 2024-12-16 16:12:30 -08:00
Paul Gauthier
59de835b42 copy 2024-12-16 16:08:02 -08:00
Paul Gauthier
ecbac76cba copy 2024-12-16 16:06:06 -08:00
Paul Gauthier (aider)
9b16f2139d feat: Install aider-chat using uv after uv install 2024-12-16 16:02:49 -08:00
Paul Gauthier
ef14df5ba2 feat: Add install script for website 2024-12-16 16:02:48 -08:00
Paul Gauthier
b4be9875b2 copy 2024-12-16 15:58:29 -08:00
Paul Gauthier
8d0c962f42 copy 2024-12-16 15:57:13 -08:00
Paul Gauthier
5e0cb8d658 add install.ps1 2024-12-16 15:34:08 -08:00
Paul Gauthier
1869ab94fe copy 2024-12-16 13:01:25 -08:00
Paul Gauthier
2627c5baaf refac leaderboard 2024-12-16 12:57:56 -08:00
Paul Gauthier (aider)
e4e16b8f77 fix: Correctly select table body element 2024-12-16 12:56:49 -08:00
Paul Gauthier
85218d74d4 don't block pre-commit for faq cog 2024-12-16 12:47:06 -08:00
Paul Gauthier
47d5b66986 copy 2024-12-16 12:44:21 -08:00
Paul Gauthier
ecfb133de2 copy 2024-12-16 12:40:29 -08:00
Paul Gauthier
23c95d24f1 copy 2024-12-16 12:38:01 -08:00
Paul Gauthier
b37d89bd08 copy 2024-12-16 12:37:10 -08:00
Paul Gauthier
5c848d59b2 set version to 0.69.2.dev 2024-12-16 12:36:28 -08:00
Paul Gauthier
b1c04dece9 version bump to 0.69.1 2024-12-16 12:34:51 -08:00
Paul Gauthier
b87c7987bb copy 2024-12-16 12:29:10 -08:00
Paul Gauthier
0bef52ae7d fix: Only show AI comment help once per file add 2024-12-16 12:27:19 -08:00
Paul Gauthier (aider)
9ae04cf1ec style: Format tool output message 2024-12-16 12:13:35 -08:00
Paul Gauthier (aider)
0f7c4a8d4f feat: Add help message for first-time AI usage 2024-12-16 12:13:32 -08:00
Paul Gauthier
07353207c0 feat: Output "Use AI!" if no action triggered 2024-12-16 12:13:31 -08:00
Paul Gauthier
d89be83414 copy 2024-12-16 12:10:34 -08:00
Paul Gauthier
01382527f5 cleanup cog of toml 2024-12-16 12:08:08 -08:00
Paul Gauthier
dece2193fc Switch to MANIFEST.in to exclude aider/website/assets/ and other from whl build file 2024-12-16 12:07:02 -08:00
Paul Gauthier
d298f864fa works? 2024-12-16 11:55:24 -08:00
Paul Gauthier (aider)
ff37d8c691 feat: Add include-package-data to pyproject.toml 2024-12-16 08:28:10 -08:00
Paul Gauthier
f7f305a564 fix: Update include pattern for assets 2024-12-16 08:28:09 -08:00
Paul Gauthier (aider)
86f38e11cd feat: Add MANIFEST.in to exclude website assets 2024-12-16 08:27:02 -08:00
Paul Gauthier
0b60c48253 fixed gemini metadata keys 2024-12-15 16:00:40 -08:00
Paul Gauthier
024b9840f0 copy 2024-12-15 09:34:51 -08:00
Paul Gauthier
2f4f59d82f copy 2024-12-15 09:29:21 -08:00
Paul Gauthier
830d5ee763 copy 2024-12-15 09:27:22 -08:00
Paul Gauthier
5bc63f7a33 copy 2024-12-15 09:25:29 -08:00
Paul Gauthier
b54f970e12 copy 2024-12-15 09:16:42 -08:00
Paul Gauthier
0cc8c54152 copy 2024-12-15 09:01:13 -08:00
Paul Gauthier
241e1e27d0 copy 2024-12-15 08:50:28 -08:00
Paul Gauthier
0145e86202 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-15 08:48:12 -08:00
Paul Gauthier
4d50e1e373 copy 2024-12-15 08:46:44 -08:00
Paul Gauthier
4b6ae34800 updated keys config docs 2024-12-15 08:46:20 -08:00
Paul Gauthier
2feb85e831 api keys 2024-12-15 08:40:02 -08:00
Paul Gauthier
a67ac81265 updated install instructions 2024-12-15 08:39:53 -08:00
paul-gauthier
dab536c9e8 Merge pull request #2633 from you-n-g/patch-1 2024-12-15 07:04:51 -08:00
you-n-g
64cf298521 docs: Update watch.md 2024-12-15 13:35:14 +08:00
Paul Gauthier
10b5aaa6a5 copy 2024-12-14 20:52:20 -08:00
Paul Gauthier
8c79e5ccfb copy 2024-12-14 20:09:51 -08:00
Paul Gauthier
2ef536a342 copy 2024-12-14 17:42:22 -08:00
Paul Gauthier
85b1303460 fix: Remove always-true condition for Windows env var message 2024-12-14 09:50:26 -08:00
Paul Gauthier
60aca3a241 Merge branch 'no-git' 2024-12-14 09:49:41 -08:00
Paul Gauthier
db98381a86 refactor: Move git check after env loading 2024-12-14 09:44:42 -08:00
Paul Gauthier
f62ef34715 fix: Handle missing git module gracefully 2024-12-14 09:42:54 -08:00
Paul Gauthier
f95a6c1a5a recommend aider-install 2024-12-14 09:42:32 -08:00
Paul Gauthier
65555b5dd0 copy 2024-12-13 13:43:15 -08:00
Paul Gauthier
9f6331a35e copy 2024-12-13 13:34:18 -08:00
Paul Gauthier (aider)
8c10cb6230 style: Fix linting issues in my_models.py 2024-12-13 13:22:59 -08:00
Paul Gauthier (aider)
c8894bcead feat: Conditionally add redacted model note to script 2024-12-13 13:22:55 -08:00
Paul Gauthier
edc602c33a copy 2024-12-13 12:55:33 -08:00
Paul Gauthier (aider)
abfb2ca810 fix: Correct import path for my_models in faq.md 2024-12-13 12:49:01 -08:00
Paul Gauthier (aider)
9967efe45a fix: Correct import path in cog block for model stats 2024-12-13 12:48:29 -08:00
Paul Gauthier
e77d80bda5 docs: Add FAQ about LLMs used to build aider 2024-12-13 12:48:28 -08:00
Paul Gauthier (aider)
a691d1750a style: Apply linter formatting 2024-12-13 12:34:34 -08:00
Paul Gauthier (aider)
834e2f9304 refactor: Separate data, text, and HTML formatting into functions 2024-12-13 12:34:31 -08:00
Paul Gauthier (aider)
66e5e9c1ce feat: Add percentage column to model token usage summary 2024-12-13 12:33:14 -08:00
Paul Gauthier (aider)
2d5f613984 feat: Process only last 1000 lines of analytics file 2024-12-13 12:32:28 -08:00
Paul Gauthier (aider)
868e7a278f feat: Sort model token usage by count descending 2024-12-13 12:31:38 -08:00
Paul Gauthier
f953d17889 chore: Make my_models.py executable 2024-12-13 12:31:37 -08:00
Paul Gauthier (aider)
3473969aae fix: Remove unused os import in my_models.py 2024-12-13 12:31:09 -08:00
Paul Gauthier (aider)
ec11ae7c40 style: Fix linting issues in my_models.py 2024-12-13 12:31:03 -08:00
Paul Gauthier (aider)
8217ee1bbb feat: Add script to analyze model token usage 2024-12-13 12:30:59 -08:00
Paul Gauthier
1ad3ee0aec feat: Add my_models.py script 2024-12-13 12:30:59 -08:00
Paul Gauthier (aider)
b3e9a2fede feat: Allow version arg for blame script, default to v0.1.0 2024-12-13 11:49:15 -08:00
Paul Gauthier
2f5d6bf909 feat: Take version as optional arg for blame script 2024-12-13 11:49:14 -08:00
Paul Gauthier
cd79f479e9 copy 2024-12-13 11:48:14 -08:00
Paul Gauthier
12c0f675ce copy 2024-12-13 11:46:44 -08:00
Paul Gauthier
29471b8019 set version to 0.69.1.dev 2024-12-13 11:42:00 -08:00
Paul Gauthier
cad661f0c8 version bump to 0.69.0 2024-12-13 11:40:25 -08:00
Paul Gauthier
261d770482 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-13 11:39:41 -08:00
Paul Gauthier
a75c9c74fd copy 2024-12-13 11:39:37 -08:00
paul-gauthier
8b5bdf9a16 Merge pull request #2623 from damms005/patch-1
Update conventions.md to fix url
2024-12-13 10:42:54 -08:00
Damilola Emmanuel Olowookere
e35eba2d51 Update conventions.md to fix url 2024-12-13 18:36:10 +00:00
Paul Gauthier (aider)
df8c88cef4 style: Fix line length in issues.py 2024-12-13 08:46:57 -08:00
Paul Gauthier (aider)
844e12769c feat: Handle "bug" label like "enhancement" for closing 2024-12-13 08:46:53 -08:00
Paul Gauthier (aider)
b982626ac4 style: Fix line length in comment 2024-12-13 08:46:02 -08:00
Paul Gauthier (aider)
517b2b42a6 fix: Fix long lines in closing comment 2024-12-13 08:45:58 -08:00
Paul Gauthier (aider)
6778c33628 style: Apply linter fixes 2024-12-13 08:45:47 -08:00
Paul Gauthier (aider)
bc0b11e1ef feat: Add fixed enhancement issue closing 2024-12-13 08:45:43 -08:00
Paul Gauthier
6b0d4b9c93 copy 2024-12-13 08:23:42 -08:00
Paul Gauthier
7d4e4f029e copy 2024-12-13 08:13:36 -08:00
Paul Gauthier
1fbdb629ff add gemini-2.0-flash-exp metadata 2024-12-13 08:12:06 -08:00
Paul Gauthier
a437237947 copy 2024-12-13 07:37:15 -08:00
Paul Gauthier
910637c549 5% analytics 2024-12-13 06:51:50 -08:00
Paul Gauthier
e8974a3e69 copy 2024-12-12 19:08:21 -08:00
Paul Gauthier
6c98310f7f copy 2024-12-12 19:08:16 -08:00
Paul Gauthier
72aed0d26d fix: Disable complete_while_typing in prompt_session 2024-12-12 12:27:14 -08:00
Paul Gauthier
e10ef8b9e0 feat: Add instructions to /copy-context command 2024-12-12 12:08:29 -08:00
Paul Gauthier
39fa8ba831 copy 2024-12-12 07:54:54 -08:00
Paul Gauthier (aider)
8ee8279044 fix: Correct emacs auto-save gitignore pattern 2024-12-11 20:44:02 -08:00
Paul Gauthier (aider)
c3f85c3bb2 test: Fix gitignore pattern matching and add ai comment test 2024-12-11 20:43:07 -08:00
Paul Gauthier (aider)
ad59c4cbf3 test: Add comprehensive gitignore pattern tests 2024-12-11 20:43:03 -08:00
Paul Gauthier
26bc981981 chore: Add comment about testing gitignore patterns 2024-12-11 20:43:02 -08:00
Paul Gauthier
514c34b242 copy 2024-12-11 20:41:24 -08:00
Paul Gauthier (aider)
6f266c0090 fix: Skip test fixture watch files in blame script 2024-12-11 20:38:11 -08:00
Paul Gauthier
baa7352ca6 chore: Skip test fixture files in blame script 2024-12-11 20:38:11 -08:00
Paul Gauthier (aider)
fdb1c8d99a chore: Remove comment about skipping test files 2024-12-11 20:37:29 -08:00
Paul Gauthier
79f5dba094 chore: Skip test fixture files in blame script 2024-12-11 20:37:28 -08:00
Paul Gauthier
2134965f16 initial 2024-12-11 20:34:00 -08:00
Paul Gauthier
77b7a59a27 copy 2024-12-11 20:33:30 -08:00
Paul Gauthier
365e7126d0 refactor: Remove is_source_file function and check in FileWatcher 2024-12-11 20:30:47 -08:00
Paul Gauthier (aider)
d3daf9d159 feat: Add IDE, env, log, and cache patterns to ignore list 2024-12-11 20:30:17 -08:00
Paul Gauthier
8d59a519a6 chore: Add comment about gitignore patterns 2024-12-11 20:29:28 -08:00
Paul Gauthier (aider)
239262f360 style: Format gitignore patterns for readability 2024-12-11 20:28:07 -08:00
Paul Gauthier (aider)
9eb938fd6f feat: Expand gitignore patterns to include editor temp files 2024-12-11 20:28:03 -08:00
Paul Gauthier
3fcbf1a43f feat: Add text editor temp files to gitignore 2024-12-11 20:28:02 -08:00
Paul Gauthier
2b7ee271df copy 2024-12-11 20:24:08 -08:00
Paul Gauthier
11512c6281 feat: Add support for ! and ? action comments 2024-12-11 20:23:29 -08:00
Paul Gauthier (aider)
b16ba547ab test: Add assertion for line count in test_ai_comment_pattern 2024-12-11 20:21:50 -08:00
Paul Gauthier (aider)
e5b8899b4c fix: Remove extra comment in test_watch.py 2024-12-11 20:21:46 -08:00
Paul Gauthier (aider)
fee3e9e63b feat: Add test for watch_question.js fixture 2024-12-11 20:21:42 -08:00
Paul Gauthier
57a24d30b5 test: Add test for watch_question.js ai comments 2024-12-11 20:21:41 -08:00
Paul Gauthier (aider)
5a83610fb1 refactor: Update ai comment action handling to support '?' 2024-12-11 20:16:10 -08:00
Paul Gauthier
96086f12c6 fix: Correct ai comment regex to match ai? and ai! 2024-12-11 20:16:09 -08:00
Paul Gauthier
a6ee3ce07f cleanup 2024-12-11 20:12:26 -08:00
Paul Gauthier (aider)
5f36ddd425 test: Fix multiline mode tests and add toggle test 2024-12-11 20:10:30 -08:00
Paul Gauthier (aider)
bec67074e0 feat: Add tests for multiline input mode 2024-12-11 20:10:26 -08:00
Paul Gauthier (aider)
895c92cdae fix: Remove unused import buffer_has_focus 2024-12-11 20:05:04 -08:00
Paul Gauthier
7406a5bc26 refactor: Move is_searching filter to top level 2024-12-11 20:05:01 -08:00
Paul Gauthier (aider)
ef97714404 fix: Reorder imports to satisfy linter 2024-12-11 20:00:00 -08:00
Paul Gauthier (aider)
6d6daee511 fix: Use correct filter for custom enter keybinding 2024-12-11 19:59:56 -08:00
Paul Gauthier (aider)
32cd1c2a65 fix: Fix Ctrl-R reverse search enter key selection 2024-12-11 19:55:08 -08:00
Paul Gauthier
abad920a8a feat: Add gemini-2.0-flash-exp model settings 2024-12-11 19:47:44 -08:00
Paul Gauthier
e1ab49e100 copy 2024-12-11 19:43:31 -08:00
Paul Gauthier
df300e89a2 refac prompt out 2024-12-11 19:42:01 -08:00
Paul Gauthier
9a278bed21 feat: Add gemini flash model alias 2024-12-11 16:00:31 -08:00
Paul Gauthier
4a7fc084ce refactor: move watch prompt text to separate module 2024-12-11 15:07:30 -08:00
Paul Gauthier
2649e736fb chore: update model name in leaderboard to include date 2024-12-11 15:00:18 -08:00
Paul Gauthier
42ac891e28 docs: add bash syntax highlighting to code blocks in docs 2024-12-11 14:49:22 -08:00
Paul Gauthier
4dc3b9072e feat: increase retry timeout for benchmarking 2024-12-11 14:26:28 -08:00
Paul Gauthier
ae3235b099 feat: add Gemini 2.0 Flash model leaderboard entry 2024-12-11 13:55:52 -08:00
Paul Gauthier
7cc5e0d577 docs: add Yi Lightning model test results to leaderboard 2024-12-11 13:54:39 -08:00
Paul Gauthier
f6b956dc8e refactor: simplify voice command and improve installation docs 2024-12-11 13:52:33 -08:00
Paul Gauthier (aider)
fcb2bacd1e style: format benchmark.py with black 2024-12-11 13:09:52 -08:00
Paul Gauthier (aider)
a9401e921e feat: add sleep option between tests in single-threaded mode 2024-12-11 13:09:45 -08:00
Paul Gauthier
02e7e315b2 copy 2024-12-11 12:54:50 -08:00
Paul Gauthier
def72a64e0 copy 2024-12-11 12:45:56 -08:00
Paul Gauthier
46e7672197 copy 2024-12-11 12:42:19 -08:00
Paul Gauthier
2f8a5ce935 copy 2024-12-11 12:40:13 -08:00
Paul Gauthier (aider)
730e5bd831 fix: add error handling for clipboard operations in copy_context command 2024-12-11 12:10:12 -08:00
Paul Gauthier
b7984a05af copy 2024-12-11 09:51:51 -08:00
Paul Gauthier
5d4af67186 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-11 07:21:18 -08:00
paul-gauthier
370e08cf4d Merge pull request #2601 from miradnanali/multiline-mode
Implement /multiline-mode, swaps Enter & Meta-Enter
2024-12-11 07:21:09 -08:00
Mir Adnan ALI
aaf7e3f943 Implement multiline-mode, swaps Enter & Meta-Enter 2024-12-11 09:09:58 -05:00
Paul Gauthier
fbde0936e7 revert 2024-12-10 11:20:25 -08:00
Paul Gauthier (aider)
af48f7bab4 fix: update artifact upload path to match Jekyll build directory 2024-12-10 11:12:23 -08:00
Paul Gauthier
61def89878 ci: downgrade upload-pages-artifact action to v3 2024-12-10 11:07:42 -08:00
Paul Gauthier (aider)
88e86cee77 chore: upgrade upload-pages-artifact action to v4 2024-12-10 11:04:46 -08:00
Paul Gauthier
acc1625406 Merge branch 'main' of github.com:Aider-AI/aider 2024-12-10 11:03:20 -08:00
Paul Gauthier
502f448053 copy 2024-12-10 09:59:56 -08:00
paul-gauthier
55b081884c Merge pull request #2592 from JeongJuhyeon/patch-1
Add '?' to set of punctuations to strip for file mentions
2024-12-10 08:41:38 -08:00
Paul Gauthier
fd67171908 copy 2024-12-10 08:21:28 -08:00
Paul Gauthier
16a53aa641 set version to 0.68.1.dev 2024-12-10 08:19:44 -08:00
Paul Gauthier
4aec676950 version bump to 0.68.0 2024-12-10 08:18:06 -08:00
Paul Gauthier
d8fff0e90a copy 2024-12-10 08:01:18 -08:00
Paul Gauthier
57ad6cc3ea Update shell cmd prompt: no multi-line, run from project root 2024-12-10 07:59:24 -08:00
Paul Gauthier
2b46a8b9c9 copy 2024-12-10 07:39:58 -08:00
Paul Gauthier
4d1a2e8c53 copy 2024-12-10 07:19:00 -08:00
Paul Gauthier
58b1409bd2 copy 2024-12-10 07:02:26 -08:00
Paul Gauthier
a2525dbf56 docs: remove deprecated label from DeepSeek model names 2024-12-10 06:59:58 -08:00
Paul Gauthier
36eb2a31b5 docs: add DeepSeek-V2.5-1210 model leaderboard results 2024-12-10 06:57:18 -08:00
Paul Gauthier
0483bfc9cb docs: add Gemini whole file edit experiment results to leaderboard 2024-12-10 06:47:41 -08:00
JeongJuhyeon
3f63a64254 Add '?' to set of punctuations to strip for file mentions 2024-12-10 22:10:00 +09:00
Paul Gauthier
16332b285f copy 2024-12-09 20:27:38 -08:00
Paul Gauthier
f7371f6faf copy 2024-12-09 20:27:32 -08:00
Paul Gauthier
92d29805f1 copy 2024-12-09 20:06:36 -08:00
Paul Gauthier
4a37d07acb fix: skip context copy when using placeholder input 2024-12-09 18:46:44 -08:00
Paul Gauthier
bb4c61e9cc copy 2024-12-09 15:38:40 -08:00
Paul Gauthier
f4e5515c82 docs: clarify read-only command description and behavior 2024-12-09 15:37:48 -08:00
Paul Gauthier (aider)
141a2df19c test: add test for bulk conversion to read-only mode 2024-12-09 15:36:03 -08:00
Paul Gauthier (aider)
e2385b4922 feat: add bulk conversion to read-only mode when no files specified 2024-12-09 15:34:59 -08:00
Paul Gauthier
9974fb50f7 feat: add auto-conversion of /added files to read-only mode 2024-12-09 15:34:57 -08:00
Paul Gauthier
c5d51d62c4 feat: add architect command and improve coder class documentation 2024-12-09 15:30:01 -08:00
Paul Gauthier
4fcbf28f91 Restore interactive shell #2415 2024-12-09 15:23:39 -08:00
Paul Gauthier
f678b664ff refactor: Move website files list to global scope 2024-12-09 15:01:12 -08:00
Paul Gauthier (aider)
4206920a7d style: fix whitespace in blame.py 2024-12-09 15:00:47 -08:00
Paul Gauthier (aider)
ad2e5ead54 refactor: extract website files into dedicated list 2024-12-09 15:00:41 -08:00
Paul Gauthier
eb72719117 chore: add website file to blame script and improve comments 2024-12-09 15:00:40 -08:00
Paul Gauthier (aider)
20b46afbf2 style: update cookie consent box colors to dark grey 2024-12-09 14:41:12 -08:00
Paul Gauthier (aider)
1925e4a7f4 feat: add cookie persistence config to consent banner 2024-12-09 14:39:19 -08:00
Paul Gauthier (aider)
1a12322354 feat: add GDPR-compliant cookie consent for PostHog analytics 2024-12-09 14:33:54 -08:00
Paul Gauthier
73f3f4ec7e feat: add analytics events for copy-paste mode and AI comments 2024-12-09 10:47:30 -08:00
Paul Gauthier (aider)
a8c42f453a style: format FileWatcher instantiation for better readability 2024-12-09 10:32:08 -08:00
Paul Gauthier (aider)
79dd0c5ba6 feat: add analytics events for file watching and AI comments 2024-12-09 10:31:59 -08:00
Paul Gauthier
89bc3b6b16 feat: add analytics event hooks to file watcher 2024-12-09 10:31:57 -08:00
Paul Gauthier (aider)
a997dd6c49 fix: use LiteLLMExceptions class instead of undefined litellm_ex 2024-12-09 07:46:09 -08:00
Paul Gauthier (aider)
6aa80d2a4c feat: handle cost calculation differently for context window vs other errors 2024-12-09 07:45:50 -08:00
Paul Gauthier
f009e8fb14 add pip as a req 2024-12-09 06:51:06 -08:00
Paul Gauthier
a8dde17155 add posthog 2024-12-09 06:50:58 -08:00
Paul Gauthier
cbcbff341b style: format voice.py and suppress syntax warnings 2024-12-08 18:14:30 -08:00
Paul Gauthier (aider)
e50992bb93 style: remove unused shutil import 2024-12-08 18:12:36 -08:00
Paul Gauthier
fa6c3068c0 refactor: simplify pip install command by using sys.executable directly 2024-12-08 18:12:30 -08:00
Paul Gauthier
dd9bdca572 copy 2024-12-08 14:44:51 -08:00
Paul Gauthier
3f7dffe47d copy 2024-12-08 14:30:31 -08:00
Paul Gauthier
c7fde14458 copy 2024-12-08 12:05:41 -08:00
Paul Gauthier
57f4186cad refactor: optimize analytics event tracking with system info as super properties 2024-12-08 11:49:12 -08:00
Paul Gauthier
fa5a6021b1 copy 2024-12-08 11:49:01 -08:00
Paul Gauthier
42ae279b91 fix: update test cases to use Model wrapper class 2024-12-07 15:09:04 -08:00
Paul Gauthier
a74cdbfc28 test: update test_sendchat to use Model class and fix assertion 2024-12-07 15:07:39 -08:00
Paul Gauthier (aider)
a56fa567dd test: update print call count assertions in sendchat tests 2024-12-07 13:44:08 -08:00
Paul Gauthier (aider)
c9c2d5ab6f test: update test assertions to check model objects instead of names 2024-12-07 13:38:57 -08:00
Paul Gauthier (aider)
ccf460c1f7 refactor: update simple_send_with_retries to use model object and handle temperature 2024-12-07 13:37:14 -08:00
Paul Gauthier
2325f542b8 copy 2024-12-07 13:04:06 -08:00
Paul Gauthier (aider)
63fdf3f3f6 style: format git blame command arguments for better readability 2024-12-07 11:54:14 -08:00
Paul Gauthier (aider)
efa83bdf34 feat: add git blame move/copy detection for better attribution 2024-12-07 11:54:10 -08:00
Paul Gauthier
5705bda818 style: Update settings section headings to use lowercase 2024-12-07 11:51:19 -08:00
Paul Gauthier
20042334ff refactor: reorganize command line arguments and improve help messages 2024-12-07 11:45:20 -08:00
Paul Gauthier (aider)
7ae9569816 docs: update deprecated OpenAI args help text to suggest --set-env 2024-12-07 11:23:05 -08:00
Paul Gauthier
cacba526b3 refactor: reorganize API key and environment settings arguments 2024-12-07 11:23:03 -08:00
Paul Gauthier
50f203cc8a cleanup 2024-12-07 11:07:59 -08:00
Paul Gauthier
3efcd154f3 refactor: consolidate API key and environment variable handling 2024-12-07 10:55:29 -08:00
Paul Gauthier (aider)
bdb08d7c78 style: format long lines in main.py 2024-12-07 10:52:27 -08:00
Paul Gauthier (aider)
f3874dd40a feat: add deprecation warnings for legacy API key arguments 2024-12-07 10:52:21 -08:00
Paul Gauthier
935c39e341 refactor: move API key handling earlier in startup sequence 2024-12-07 10:52:19 -08:00
Paul Gauthier (aider)
7ddcc30e8d style: format test_main.py line breaks 2024-12-07 08:23:58 -08:00
Paul Gauthier (aider)
13ff038e58 feat: add --api-key flag to set provider API keys as env vars 2024-12-07 08:23:50 -08:00
Paul Gauthier
1d4918dfbf refactor: Remove analytics event for invalid env var format 2024-12-07 08:11:10 -08:00
Paul Gauthier (aider)
ba14ab96da refactor: update env format test to check return value instead of SystemExit 2024-12-07 08:09:56 -08:00
Paul Gauthier
054e0820b7 refactor: Move --set-env processing after IO initialization 2024-12-07 08:09:52 -08:00
Paul Gauthier (aider)
af3d8dd6a7 style: format test_main.py with black 2024-12-07 08:08:40 -08:00
Paul Gauthier (aider)
e10d06cb47 test: add test coverage for --set-env functionality 2024-12-07 08:08:35 -08:00
Paul Gauthier (aider)
87a1469c1e style: fix string quote consistency in env setting split 2024-12-07 08:07:28 -08:00
Paul Gauthier (aider)
2492f1635c refactor: remove --set-env argument processing from main function 2024-12-07 08:07:23 -08:00
Paul Gauthier (aider)
b3305e6e19 refactor: move env var processing after IO initialization 2024-12-07 08:07:14 -08:00
Paul Gauthier (aider)
491d3e6606 style: fix string quote consistency in env setting split 2024-12-07 08:06:04 -08:00
Paul Gauthier (aider)
e41bf67f73 feat: add --set-env flag to set environment variables from command line 2024-12-07 08:05:57 -08:00
Paul Gauthier
66b99c4fa0 bumped deps to pickup litellm that supports OPENAI_ORGANIZATION 2024-12-07 07:57:29 -08:00
Paul Gauthier (aider)
f2f2645fe6 style: fix linting issues in watch.py 2024-12-07 07:54:24 -08:00
Paul Gauthier (aider)
4c77d0509a feat: add shell dotfile extensions to source file detection 2024-12-07 07:54:20 -08:00
Paul Gauthier
33d77f4355 feat: add shell script file extensions to source file detection 2024-12-07 07:54:18 -08:00
Paul Gauthier
ecf8617246 copy 2024-12-06 17:41:34 -08:00
Paul Gauthier
bec216d72a feat: add experimental Gemini model settings 2024-12-06 17:41:11 -08:00
Paul Gauthier (aider)
374e8c3307 feat: add video file exclusions to linkchecker 2024-12-06 15:12:12 -08:00
Paul Gauthier
b5eff8a9dd copy 2024-12-06 14:52:50 -08:00
Paul Gauthier (aider)
d53002a494 feat: add legend to chart showing diff and whole format patterns 2024-12-06 14:46:43 -08:00
Paul Gauthier (aider)
04662f0875 feat: add y-axis label to leaderboard charts 2024-12-06 14:45:25 -08:00
Paul Gauthier
aec92c7c17 refactor: update highlighted model name to 1206 2024-12-06 14:45:23 -08:00
Paul Gauthier (aider)
f7a7976923 feat: add red striped pattern for highlighted model with whole edit format 2024-12-06 14:43:05 -08:00
Paul Gauthier
1b50d4507f feat: update highlighted model to Qwen in leaderboard 2024-12-06 14:43:02 -08:00
Paul Gauthier (aider)
045cf887df feat: add pattern background for whole edit format bars in chart 2024-12-06 14:39:05 -08:00
Paul Gauthier (aider)
277d7c0e04 perf: cache diagonal pattern and optimize label access in chart rendering 2024-12-06 14:36:34 -08:00
Paul Gauthier (aider)
0e2c703e77 fix: add chart render call to ensure pattern reappears after row selection 2024-12-06 14:33:31 -08:00
Paul Gauthier (aider)
62b3f38f00 feat: add Patternomaly script tags for chart patterns 2024-12-06 14:31:52 -08:00
Paul Gauthier (aider)
422658293d fix: remove redundant pattern initialization and add Patternomaly script 2024-12-06 14:31:29 -08:00
Paul Gauthier (aider)
74cfd05642 feat: add edit format field and striped pattern for whole edits 2024-12-06 14:29:36 -08:00
Paul Gauthier (aider)
80586f1de3 feat: add line breaks for long x-axis labels in leaderboard chart 2024-12-06 14:22:54 -08:00
Paul Gauthier
a933177ac0 copy 2024-12-06 14:19:00 -08:00
Paul Gauthier
ade2db696b add emini-exp-1206 2024-12-06 14:14:07 -08:00
Paul Gauthier
cf266037ff copy 2024-12-06 14:10:11 -08:00
Paul Gauthier
5f14277fbf Remove -i when running shell commands, as it tosses local env 2024-12-06 13:56:57 -08:00
Paul Gauthier
b677349ec9 copy 2024-12-06 13:55:53 -08:00
Paul Gauthier
7f72d2a703 reraise EOFError to fix control-d 2024-12-06 13:55:41 -08:00
Paul Gauthier
779983cb85 feat: add missing dependency hints for Gemini and Bedrock 2024-12-06 13:43:49 -08:00
Paul Gauthier
f2d2ab51b1 copy 2024-12-06 13:27:26 -08:00
Paul Gauthier
0a54f8c4a7 copy 2024-12-06 12:25:45 -08:00
Paul Gauthier
881527ddd0 handle and test for trailing whitespace after ai 2024-12-06 12:23:27 -08:00
Paul Gauthier
cca4f894a8 style: fix indentation and remove redundant comment 2024-12-06 12:20:23 -08:00
Paul Gauthier (aider)
20dae33be5 fix: remove duplicate TreeContext parameters causing syntax error 2024-12-06 12:15:59 -08:00
Paul Gauthier (aider)
fd301c519d feat: add error handling for TreeContext with fallback to raw comments 2024-12-06 12:15:46 -08:00
Paul Gauthier
a96d87814b fix: handle ValueError in TreeContext by including raw comments 2024-12-06 12:15:45 -08:00
Paul Gauthier
2a3eefc5be copy 2024-12-06 12:09:20 -08:00
Paul Gauthier
c5dc10e3cd copy 2024-12-06 11:24:26 -08:00
Paul Gauthier
c251a93609 fix --test to automatically fix errors 2024-12-06 11:23:15 -08:00
Paul Gauthier
2df509effd added llama 3.3 70b 2024-12-06 10:47:40 -08:00
Paul Gauthier
53e0d670b3 copy 2024-12-06 09:45:41 -08:00
Paul Gauthier
ccd19d2c96 copy 2024-12-06 09:24:13 -08:00
Paul Gauthier
b69f084db9 copy 2024-12-06 09:10:35 -08:00
Paul Gauthier
9639395937 feat: improve AI comment handling and documentation 2024-12-06 08:46:52 -08:00
Paul Gauthier
117b7afd81 copy 2024-12-06 07:17:21 -08:00
Paul Gauthier
009c4dc8db copy 2024-12-06 07:02:06 -08:00
Paul Gauthier
0fdf3fc851 Merge branch 'copypaste' 2024-12-06 07:01:40 -08:00
Paul Gauthier
ffc2d91cef copy 2024-12-06 06:44:23 -08:00
Paul Gauthier
99975c8ff7 set version to 0.67.1.dev 2024-12-06 06:33:11 -08:00
Paul Gauthier
d44fd6b46d version bump to 0.67.0 2024-12-06 06:31:40 -08:00
Paul Gauthier
bd0a1426d7 copy 2024-12-06 06:31:30 -08:00
Paul Gauthier
353d144039 copy 2024-12-06 06:26:24 -08:00
Paul Gauthier
6efdf8a7f4 refactor: rename copypaste flag to copy-paste and update help text 2024-12-05 20:43:14 -08:00
Paul Gauthier
623770e24b refactor: move clipboard context functionality to commands.py 2024-12-05 20:41:40 -08:00
Paul Gauthier (aider)
402940a215 fix: store clipboard watcher instance in coder object 2024-12-05 20:36:04 -08:00
Paul Gauthier (aider)
7fea85cdcd style: reorder imports alphabetically 2024-12-05 20:35:51 -08:00
Paul Gauthier (aider)
93b3b7a184 feat: set auto-copy-context based on copypaste argument 2024-12-05 20:35:46 -08:00
Paul Gauthier
8f2a84629a refactor: move ClipboardWatcher import to top level 2024-12-05 20:35:44 -08:00
Paul Gauthier (aider)
7a1c1982f0 feat: implement auto copy context functionality 2024-12-05 20:35:04 -08:00
Paul Gauthier
75d8982b23 feat: add auto copy context feature with empty implementation 2024-12-05 20:35:02 -08:00
Paul Gauthier (aider)
87dbb56d7e style: fix trailing comma in system prompt dictionary 2024-12-05 18:57:50 -08:00
Paul Gauthier (aider)
aa217a3a43 fix: handle system reminder message construction properly 2024-12-05 18:57:47 -08:00
Paul Gauthier (aider)
22fc961dc0 fix: add empty list check before accessing last chat chunk 2024-12-05 18:57:24 -08:00
Paul Gauthier (aider)
8f57186945 style: remove trailing whitespace in editor_editblock_coder.py 2024-12-05 18:55:54 -08:00
Paul Gauthier (aider)
f8277c55a8 feat: add format_chat_markdown method to EditorEditBlockCoder 2024-12-05 18:55:50 -08:00
Paul Gauthier (aider)
6163713e34 style: fix linting issues in clipboard watcher initialization 2024-12-05 18:44:57 -08:00
Paul Gauthier (aider)
d2d5887936 feat: add clipboard watcher with --copypaste flag 2024-12-05 18:44:50 -08:00
Paul Gauthier (aider)
2a1065efc1 style: fix linting issues in copypaste.py 2024-12-05 18:43:16 -08:00
Paul Gauthier (aider)
6f36a97c4a feat: add clipboard watcher to monitor and update IO placeholder 2024-12-05 18:43:12 -08:00
Paul Gauthier
eeed79009a feat: add copypaste module for code manipulation 2024-12-05 18:43:09 -08:00
Paul Gauthier
9930057171 copy 2024-12-05 16:34:58 -08:00
Paul Gauthier (aider)
e14c84f2fb feat: add silent mode to read_text method 2024-12-05 16:22:44 -08:00
Paul Gauthier
a664c3dd47 feat: add silent mode option for read_text function 2024-12-05 16:22:42 -08:00
Paul Gauthier
73205b1f8c refactor: Move charset test to separate method in Spinner class 2024-12-05 14:57:13 -08:00
Paul Gauthier (aider)
3016d7b8f3 style: fix whitespace in utils.py 2024-12-05 14:46:37 -08:00
Paul Gauthier (aider)
beb3ddaa1f feat: add __main__ block to utils.py 2024-12-05 14:46:33 -08:00
Paul Gauthier
8db48fb4f1 refactor: simplify comment in utils.py 2024-12-05 14:46:31 -08:00
Paul Gauthier (aider)
6eb3641c1d feat: add main function with spinner demo 2024-12-05 14:45:50 -08:00
Paul Gauthier
8cfd64a7be chore: add comment for future spinner implementation 2024-12-05 14:45:47 -08:00
Paul Gauthier (aider)
e8d9ef269b style: fix linting issues in base_coder.py 2024-12-05 09:28:28 -08:00
Paul Gauthier (aider)
80f83da9b8 chore: remove debug dump() calls 2024-12-05 09:28:18 -08:00
Paul Gauthier
6b8e235f88 feat: add file watcher support to coder cloning 2024-12-05 09:28:16 -08:00
Paul Gauthier
a1d558a960 copy 2024-12-05 07:21:14 -08:00
Paul Gauthier
071ec80e2a copy 2024-12-05 07:06:43 -08:00
Paul Gauthier
995541db2e test: update GitHub Copilot model temperature test assertions 2024-12-05 07:04:17 -08:00
Paul Gauthier
9121026856 test: reorganize model test cases for better readability 2024-12-05 06:50:49 -08:00
Paul Gauthier (aider)
341419788e fix: update test to use correct temperature attribute name 2024-12-05 06:47:58 -08:00
Paul Gauthier (aider)
f8f69fadc4 style: Remove trailing whitespace in test_models.py 2024-12-05 06:47:33 -08:00
Paul Gauthier (aider)
4830d82a73 test: add temperature validation for GitHub Copilot models 2024-12-05 06:47:28 -08:00
Paul Gauthier
f3a228c79a feat: enable automatic exception capture in Posthog analytics 2024-12-04 19:55:56 -08:00
Paul Gauthier
4bf96aaca0 copy 2024-12-04 15:16:22 -08:00
Paul Gauthier
a8a026d509 copy 2024-12-04 15:10:21 -08:00
Paul Gauthier
e1fd506269 feat: add direct git diff output for pretty mode 2024-12-04 15:09:14 -08:00
Paul Gauthier
63e86b5673 copy 2024-12-04 14:27:53 -08:00
Paul Gauthier
238299c759 Add nova pro to leaderboard 2024-12-04 14:12:05 -08:00
Paul Gauthier
4e9272e31c copy 2024-12-04 14:09:01 -08:00
Paul Gauthier
8f92c32693 bumped deps to pickup litellm that supports bedrock nova 2024-12-04 14:06:27 -08:00
Paul Gauthier (aider)
699e283890 fix: add error handling for logfile writes in Analytics 2024-12-04 13:51:06 -08:00
Paul Gauthier
c51afc952c chore: add comment about ignoring OsErrors in analytics logging 2024-12-04 13:51:05 -08:00
Paul Gauthier
8fc030ba83 copy 2024-12-04 13:25:40 -08:00
Paul Gauthier
b754757c94 copy 2024-12-04 12:38:46 -08:00
Paul Gauthier (aider)
16bb40406a docs: add direct download link for watch demo video 2024-12-04 12:13:26 -08:00
Paul Gauthier (aider)
290ae04988 docs: add video demo of IDE watch mode functionality 2024-12-04 12:13:22 -08:00
Paul Gauthier
5c6f0e4d32 docs: add watch mode documentation 2024-12-04 12:13:20 -08:00
Paul Gauthier
14143243b1 test: remove mixpanel assertions from analytics tests 2024-12-04 11:58:35 -08:00
Paul Gauthier (aider)
0e2c0c78f2 style: fix indentation in analytics test file 2024-12-04 11:57:29 -08:00
Paul Gauthier
2a8e1f41d0 fix: Correct indentation in analytics test file 2024-12-04 11:57:26 -08:00
Paul Gauthier (aider)
4e1d18e206 style: remove unused Mixpanel import 2024-12-04 11:46:35 -08:00
Paul Gauthier
ff5a947a16 refactor: disable Mixpanel and add PostHog error handling 2024-12-04 11:46:27 -08:00
Paul Gauthier
26ddb1e479 prompt 2024-12-04 10:23:29 -08:00
Paul Gauthier
b2ddfd21c1 prompt 2024-12-04 10:20:18 -08:00
Paul Gauthier
efe9268bcb fix: add null check for filename in lint_edited method 2024-12-04 10:03:22 -08:00
Paul Gauthier
974e618541 refactor: remove debug prints and add lazy litellm loading verbosity flag 2024-12-04 09:38:20 -08:00
Paul Gauthier
d09d281a8d fix: update version file path and add debug logging for version checks 2024-12-04 09:09:56 -08:00
Paul Gauthier
43f3f54063 copy 2024-12-04 07:28:45 -08:00
Paul Gauthier
2b303e162c copy 2024-12-04 07:27:11 -08:00
Paul Gauthier
3947a755b1 initial 2024-12-04 07:27:09 -08:00
Paul Gauthier
0b764f4cb8 copy 2024-12-04 07:23:29 -08:00
Paul Gauthier
a0101c14a6 copy 2024-12-04 07:22:09 -08:00
Paul Gauthier
a4dcde2fc2 copy 2024-12-04 07:05:49 -08:00
Paul Gauthier (aider)
f6f5955753 style: fix whitespace in Spinner class 2024-12-04 07:04:04 -08:00
Paul Gauthier (aider)
d87f9fbd79 fix: add fallback to ASCII spinner when Unicode is not supported 2024-12-04 07:03:59 -08:00
Paul Gauthier
4c2bc47bf3 copy 2024-12-04 06:42:18 -08:00
Paul Gauthier
0d983d504b copy 2024-12-04 06:38:38 -08:00
Paul Gauthier (aider)
f26ccfa3e9 fix: preserve plus sign at end of line in chart labels 2024-12-04 06:31:56 -08:00
Paul Gauthier (aider)
1ec6ba35e0 feat: add linebreaks to x-axis labels using callback function 2024-12-04 06:25:32 -08:00
Paul Gauthier (aider)
0378ea40e7 style: fix import order and quote style 2024-12-04 06:20:01 -08:00
Paul Gauthier (aider)
656250dd33 feat: add ctrl-z support for process suspension 2024-12-04 06:19:56 -08:00
Paul Gauthier
b914fa6da8 copy 2024-12-03 19:00:41 -08:00
Paul Gauthier
db77ec43a7 copy 2024-12-03 19:00:28 -08:00
Paul Gauthier
1a9d4bfb1c initial 2024-12-03 18:51:03 -08:00
Paul Gauthier (aider)
7180cb049c feat: add QwQ to solo model color conditions in chart 2024-12-03 18:14:01 -08:00
Paul Gauthier
7e2769d8df fix: Update Qwen2.5 Coder model name in chart 2024-12-03 18:13:59 -08:00
Paul Gauthier (aider)
23faeeb5d0 style: update chart colors to include o1 models in solo category 2024-12-03 17:41:53 -08:00
Paul Gauthier (aider)
1e689a69a8 style: standardize legend text color to match chart defaults 2024-12-03 16:47:18 -08:00
Paul Gauthier (aider)
19004c0bad fix: consolidate datasets and add custom legend to prevent empty columns 2024-12-03 16:33:27 -08:00
Paul Gauthier (aider)
82059bb454 feat: add color-coded legend to chart for model types 2024-12-03 16:32:11 -08:00
Paul Gauthier (aider)
3fc846471e style: unify Qwen and Sonnet chart colors to green 2024-12-03 16:31:14 -08:00
Paul Gauthier (aider)
5379d45184 fix: correct color mapping for Qwen and Sonnet models in chart 2024-12-03 16:30:49 -08:00
Paul Gauthier
65b8bf6834 style: Update QWQ chart colors and font sizes 2024-12-03 16:30:47 -08:00
Paul Gauthier (aider)
107dfcac65 style: update Sonnet bar color to green in chart 2024-12-03 16:14:49 -08:00
Paul Gauthier (aider)
2a29d077ee feat: add distinct color for Qwen2.5 bar in chart 2024-12-03 16:11:54 -08:00
Paul Gauthier
3d7f1f39ce feat: add QWQ chart component for website visualization 2024-12-03 16:11:53 -08:00
Paul Gauthier
51c02da206 feat: add placeholder prompt when command fails with add flag 2024-12-03 08:43:54 -08:00
Paul Gauthier
16250e1b7c fix: Update model name assertion in test case 2024-12-03 08:35:38 -08:00
Paul Gauthier
3e02c5e4a8 copy 2024-12-03 08:28:32 -08:00
Paul Gauthier (aider)
40da942bfe fix: add expanduser() to properly handle tilde in paths 2024-12-03 08:25:58 -08:00
Paul Gauthier
44909912cd refactor: update GPT-4o model name to simpler format 2024-12-03 07:50:19 -08:00
Paul Gauthier
631ee98738 fix: add interactive flag to shell spawn in pexpect command 2024-12-03 07:45:46 -08:00
Paul Gauthier (aider)
0b68eea44a ci: add scheduled workflow to process GitHub issues every 12 hours 2024-12-03 06:53:40 -08:00
Paul Gauthier (aider)
47743e7f90 fix: add missing os import in test_browser.py 2024-12-02 17:56:50 -08:00
Paul Gauthier
b2da3545f9 test: disable analytics in test environment 2024-12-02 17:56:45 -08:00
Paul Gauthier
fb005dd01b fix: improve AI comment detection with case-insensitive matching 2024-12-02 08:57:50 -08:00
Paul Gauthier
5b2bd90071 fix: ensure consistent handling of "ai!" comment detection 2024-12-02 07:26:51 -08:00
Paul Gauthier
25e258e26a copy 2024-12-02 06:54:30 -08:00
Paul Gauthier (aider)
75d24974ec style: fix linting issues in watch.py 2024-12-01 18:25:23 -08:00
Paul Gauthier (aider)
981bd950da feat: add support for -- style comments in file watcher 2024-12-01 18:25:18 -08:00
Paul Gauthier
0ca1886695 refactor: add comment marker for AI-related code section 2024-12-01 18:25:17 -08:00
Paul Gauthier
bf2f9e0f7e add watchfiles dep 2024-12-01 16:44:57 -08:00
Paul Gauthier
d74f1c22ff un-format the py fixture 2024-12-01 16:27:10 -08:00
Paul Gauthier
882e09f253 copy 2024-12-01 15:57:41 -08:00
Paul Gauthier
ce05c0e13d refactor: remove unused FileWatcher import 2024-12-01 15:31:54 -08:00
Paul Gauthier (aider)
45c92f0868 style: add noqa comment to silence unused import warning 2024-12-01 15:31:38 -08:00
Paul Gauthier
e952f90b4c style: remove noqa comment from FileWatcher import 2024-12-01 15:31:28 -08:00
Paul Gauthier
97bf5e8d69 fix: improve AI comment detection accuracy in FileWatcher 2024-12-01 15:26:45 -08:00
Paul Gauthier (aider)
ee7bb71a05 style: fix import order and remove extra blank lines 2024-12-01 15:25:52 -08:00
Paul Gauthier (aider)
791cbab6f6 refactor: use get_ai_comments() instead of duplicating pattern matching 2024-12-01 15:25:47 -08:00
Paul Gauthier
e001b7fb46 fix: improve AI comment regex pattern to match end of line 2024-12-01 15:25:46 -08:00
Paul Gauthier (aider)
d8a75bef48 fix: update test to count unique AI comments instead of raw lines 2024-12-01 10:30:57 -08:00
Paul Gauthier (aider)
cfc4b79a05 style: fix whitespace in test_watch.py 2024-12-01 10:29:35 -08:00
Paul Gauthier (aider)
fb3e5c9aab test: add minimal coder instance for FileWatcher test 2024-12-01 10:29:32 -08:00
Paul Gauthier (aider)
6796d8f124 style: fix linting issues in test_watch.py 2024-12-01 10:28:32 -08:00
Paul Gauthier (aider)
154cb463e5 refactor: update test to use get_ai_comments method 2024-12-01 10:28:29 -08:00
Paul Gauthier (aider)
e9ce04ffe9 style: Fix linting issues in test_watch.py 2024-12-01 10:04:40 -08:00
Paul Gauthier (aider)
7a3fd11b6b refactor: update test to read AI comments from fixture files 2024-12-01 10:04:37 -08:00
Paul Gauthier (aider)
e885f848a6 fix: remove unused Path import from test_watch.py 2024-12-01 10:03:15 -08:00
Paul Gauthier (aider)
8343f074a2 style: fix trailing whitespace in test file 2024-12-01 10:02:57 -08:00
Paul Gauthier (aider)
cbadfd59db test: add JavaScript fixture and update comment pattern tests 2024-12-01 10:02:53 -08:00
Paul Gauthier (aider)
5d5fed62f2 style: Fix linting issues in test_watch.py 2024-12-01 10:01:59 -08:00
Paul Gauthier (aider)
c3d6484f6c test: add test cases for AI comment pattern matching 2024-12-01 10:01:53 -08:00
Paul Gauthier
315abec49c test: add watch module tests and fixtures 2024-12-01 10:01:52 -08:00
Paul Gauthier
221b382e69 refactor: improve AI comment pattern regex for better matching 2024-12-01 09:58:02 -08:00
Paul Gauthier (aider)
5fdbfef028 style: sort imports alphabetically in watch.py 2024-12-01 09:50:54 -08:00
Paul Gauthier (aider)
2cc671df75 refactor: update regex to only match ai comments at end of line 2024-12-01 09:50:50 -08:00
Paul Gauthier
ddbe2853ea refactor: improve AI comment processing in FileWatcher 2024-12-01 09:50:49 -08:00
Paul Gauthier (aider)
2ab1b4b1c2 style: fix linting issues and add missing newline 2024-12-01 09:43:47 -08:00
Paul Gauthier (aider)
c5adc92f8b chore: remove unnecessary comment from io.py 2024-12-01 09:43:43 -08:00
Paul Gauthier
96b6056411 chore: remove unused comment in io.py 2024-12-01 09:43:42 -08:00
Paul Gauthier (aider)
1108566e99 style: fix linting error by adding newline before error handling 2024-12-01 09:41:17 -08:00
Paul Gauthier (aider)
a54a5ee80d chore: remove comment from error handling block 2024-12-01 09:41:12 -08:00
Paul Gauthier
d57bc3ff01 chore: remove unused comment in io.py 2024-12-01 09:41:11 -08:00
Paul Gauthier (aider)
f02dca2dd8 style: fix linting error by adding newline before error handling 2024-12-01 09:40:25 -08:00
Paul Gauthier (aider)
ad186701d3 feat: add traceback printing for better error handling 2024-12-01 09:40:20 -08:00
Paul Gauthier
a04b9ea053 fix: handle file watcher operations only when it exists 2024-12-01 09:40:19 -08:00
Paul Gauthier
41e6fb961b feat: disable watch-files by default and update help text 2024-12-01 09:35:28 -08:00
Paul Gauthier (aider)
b2b43d2bd3 fix: only initialize FileWatcher when watch_files flag is set 2024-12-01 09:34:40 -08:00
Paul Gauthier
90339f9741 refactor: make FileWatcher initialization conditional on --watch-files flag 2024-12-01 09:34:39 -08:00
Paul Gauthier (aider)
260806053b style: fix linting issues and whitespace in args.py 2024-12-01 09:34:03 -08:00
Paul Gauthier (aider)
93c9bdcec7 feat: add --watch-files switch to control FileWatcher 2024-12-01 09:33:58 -08:00
Paul Gauthier
935832028a feat: add --watch-files switch for FileWatcher control 2024-12-01 09:33:56 -08:00
Paul Gauthier
c08f09b06b Merge branch 'main' into watch 2024-12-01 09:24:49 -08:00
Paul Gauthier
16410cf263 copy 2024-12-01 09:23:13 -08:00
Paul Gauthier
c62dde4c9c set version to 0.66.1.dev 2024-12-01 09:15:58 -08:00
Paul Gauthier
3fef1babcb version bump to 0.66.0 2024-12-01 09:14:21 -08:00
Paul Gauthier
59af7ed3bb refactor: improve file path handling and remove debug code 2024-12-01 08:27:15 -08:00
Paul Gauthier (aider)
ee4206099a chore: remove AI comment from watch.py 2024-12-01 08:26:39 -08:00
Paul Gauthier
8c1d9bffcd style: standardize AI comment format in watch.py 2024-12-01 08:26:38 -08:00
Paul Gauthier
a3a510308c style: fix indentation in comment instructions template 2024-12-01 08:26:21 -08:00
Paul Gauthier (aider)
97e292e251 chore: remove AI comment from FileWatcher class 2024-12-01 08:25:39 -08:00
Paul Gauthier
4c5aa6a326 chore: remove unused comment in FileWatcher class 2024-12-01 08:25:37 -08:00
Paul Gauthier (aider)
d1dd40590f feat: use TreeContext to show AI comments in file context 2024-12-01 08:25:06 -08:00
Paul Gauthier
c4764fa4d8 refactor: Add TODO for TreeContext-based comment rendering 2024-12-01 08:25:04 -08:00
Paul Gauthier (aider)
5dedb39048 chore: remove AI comment from FileWatcher class 2024-12-01 08:24:14 -08:00
Paul Gauthier
bc759a32e3 style: improve comment clarity in FileWatcher class 2024-12-01 08:24:13 -08:00
Paul Gauthier (aider)
dcc0841443 style: remove unused exception variable in FileWatcher 2024-12-01 08:23:51 -08:00
Paul Gauthier (aider)
9b0388d00a chore: remove AI-related comments from code 2024-12-01 08:23:36 -08:00
Paul Gauthier
99a1e42381 refactor: improve AI comment detection and file handling 2024-12-01 08:23:35 -08:00
Paul Gauthier
9b4df54432 refactor: simplify file change handling and interrupt logic 2024-12-01 08:14:18 -08:00
Paul Gauthier (aider)
aac0c0f037 feat: extend AI comment regex to match "ai!" suffix 2024-12-01 08:11:08 -08:00
Paul Gauthier
a8f20196b2 feat: extend AI comment regex to match 'ai!' suffix 2024-12-01 08:11:07 -08:00
Paul Gauthier (aider)
a8bae3fb01 style: format gitignore path loading for better readability 2024-12-01 08:09:16 -08:00
Paul Gauthier (aider)
e8ccc030c0 refactor: simplify file watcher filter function implementation 2024-12-01 08:09:13 -08:00
Paul Gauthier
aa6d9779d3 refactor: simplify gitignore filter function creation 2024-12-01 08:08:54 -08:00
Paul Gauthier (aider)
b1dbf340b8 fix: correct undefined filter_func and remove unnecessary f-string 2024-12-01 08:07:48 -08:00
Paul Gauthier (aider)
27540d16ed refactor: remove ignore_func parameter from FileWatcher.start() 2024-12-01 08:07:21 -08:00
Paul Gauthier
2e63f62215 refactor: remove unused ignore_func parameter from FileWatcher.start method 2024-12-01 08:07:20 -08:00
Paul Gauthier (aider)
633ba293a3 style: remove extra whitespace and newlines 2024-12-01 08:06:24 -08:00
Paul Gauthier (aider)
679c960ea1 refactor: move filter_func creation to FileWatcher.__init__ 2024-12-01 08:06:20 -08:00
Paul Gauthier
cf91101a48 refactor: simplify file watcher and improve AI comment handling 2024-12-01 08:06:18 -08:00
Paul Gauthier (aider)
344d90aea0 style: fix whitespace in FileWatcher class 2024-12-01 07:55:43 -08:00
Paul Gauthier (aider)
8b7fa6f845 refactor: move bang checking logic earlier in file processing flow 2024-12-01 07:55:39 -08:00
Paul Gauthier
2eb7f78248 refactor: Move bang check logic to file change detection 2024-12-01 07:55:38 -08:00
Paul Gauthier (aider)
9a5925b1ad refactor: fix has_bangs initialization and use |= operator 2024-12-01 07:54:44 -08:00
Paul Gauthier
60f2da370f fix: correct comment about AI bang operator logic 2024-12-01 07:54:42 -08:00
Paul Gauthier (aider)
7ee69628a3 refactor: update get_ai_comments to return line nums, comments and bang status 2024-12-01 07:54:11 -08:00
Paul Gauthier
a64f14db51 refactor: modify get_ai_comments to return line nums, comments and has_bang 2024-12-01 07:54:09 -08:00
Paul Gauthier (aider)
1c84fc97a1 refactor: remove try/except block and AI comment from watch.py 2024-12-01 07:52:47 -08:00
Paul Gauthier
8b371ead92 refactor: remove unnecessary try/except block in FileWatcher 2024-12-01 07:50:17 -08:00
Paul Gauthier (aider)
14417f70af style: fix linting issue in list comprehension spacing 2024-12-01 07:49:17 -08:00
Paul Gauthier (aider)
96c6d408fb refactor: simplify get_ai_comments to return only line numbers and bang status 2024-12-01 07:49:14 -08:00
Paul Gauthier
cd922e919e refactor: simplify get_ai_comments to return only line numbers and bang status 2024-12-01 07:49:11 -08:00
Paul Gauthier (aider)
c56f06fbcb style: fix string quote consistency in comment parsing 2024-12-01 07:48:39 -08:00
Paul Gauthier (aider)
21dffa26b9 refactor: rename and enhance get_ai_comments to track line numbers and bang status 2024-12-01 07:48:35 -08:00
Paul Gauthier
a131d5ad35 refactor: simplify AI comment detection and improve comment handling 2024-12-01 07:48:33 -08:00
Paul Gauthier (aider)
b5dbb1d39d refactor: simplify file content check using direct io.read_text and regex search 2024-12-01 07:28:37 -08:00
Paul Gauthier
bd3231d8dd refactor: add comment about using io.read_text for AI marker detection 2024-12-01 07:28:35 -08:00
Paul Gauthier (aider)
4d96de3514 refactor: compile regex pattern as class attribute for better performance 2024-12-01 07:26:23 -08:00
Paul Gauthier
c9df6c11c5 refactor: extract regex pattern into compiled class attribute 2024-12-01 07:26:21 -08:00
Paul Gauthier (aider)
56aaa08224 refactor: use get_ai_comment method instead of direct regex matching 2024-12-01 07:25:51 -08:00
Paul Gauthier
014aeccde6 style: add comment to use self.ai_comments() method 2024-12-01 07:25:50 -08:00
Paul Gauthier (aider)
dcfa993806 feat: implement AI comment refresh and processing in FileWatcher 2024-12-01 07:24:55 -08:00
Paul Gauthier
69688cffd6 refactor: Add placeholder for AI comments refresh in FileWatcher 2024-12-01 07:24:53 -08:00
Paul Gauthier (aider)
769a31b7e3 refactor: remove redundant encoding parameter from FileWatcher 2024-12-01 07:22:40 -08:00
Paul Gauthier (aider)
78c20a8c25 style: fix linting issues in watch.py 2024-12-01 07:22:16 -08:00
Paul Gauthier (aider)
bb1b3fdca1 refactor: replace file operations with io.read_text() 2024-12-01 07:22:12 -08:00
Paul Gauthier
f872b20a97 refactor: improve file watcher change detection and comment handling 2024-12-01 07:22:11 -08:00
Paul Gauthier (aider)
f36239712f refactor: replace global VERBOSE with instance variable in FileWatcher 2024-12-01 06:13:01 -08:00
Paul Gauthier
74108dd680 Merge branch 'main' into watch 2024-12-01 06:09:21 -08:00
Paul Gauthier
16af1751a6 copy 2024-12-01 06:09:11 -08:00
Paul Gauthier
b0e138952e libportaudio2 2024-12-01 06:06:42 -08:00
Paul Gauthier (aider)
1271c037ef ci: add PortAudio system dependency for Ubuntu tests 2024-12-01 06:06:03 -08:00
Paul Gauthier
36b59ba617 copy 2024-12-01 06:04:49 -08:00
Paul Gauthier (aider)
b671db7108 fix: correct sounddevice module mocking in voice tests 2024-11-30 19:15:58 -08:00
Paul Gauthier (aider)
9304b80b69 fix: update sounddevice mocking in voice tests 2024-11-30 19:15:40 -08:00
Paul Gauthier (aider)
03c2964364 style: Format code with black and sort imports 2024-11-30 19:15:20 -08:00
Paul Gauthier (aider)
49c78f2797 test: update voice tests to mock audio dependencies properly 2024-11-30 19:15:16 -08:00
Paul Gauthier
1a8d112055 copy 2024-11-30 18:38:40 -08:00
Paul Gauthier (aider)
7b193d693f docs: clarify Control-Up/Down for message history navigation 2024-11-30 18:23:34 -08:00
Paul Gauthier (aider)
e8fa5c36c2 feat: add ctrl-up/down bindings for history navigation 2024-11-30 18:21:47 -08:00
Paul Gauthier
c9a27ba6ac Merge branch 'main' into watch 2024-11-30 15:48:19 -08:00
Paul Gauthier (aider)
a6e162c37a refactor: remove unused Mock import from test_voice.py 2024-11-30 15:43:18 -08:00
Paul Gauthier (aider)
9c55b7a317 style: Remove extra blank line in test_voice.py 2024-11-30 15:43:13 -08:00
Paul Gauthier (aider)
4ef4e8cd72 test: remove test_record_and_transcribe test case 2024-11-30 15:43:10 -08:00
Paul Gauthier (aider)
e9942737c6 style: remove trailing whitespace in test_voice.py 2024-11-30 15:42:45 -08:00
Paul Gauthier (aider)
5c208dba41 fix: improve voice test mocking to handle async prompt behavior 2024-11-30 15:42:42 -08:00
Paul Gauthier (aider)
ba032ce60e fix: update voice tests to match expected behavior 2024-11-30 15:42:12 -08:00
Paul Gauthier (aider)
2fe0dda8af style: remove unused tempfile import from test_voice.py 2024-11-30 15:41:38 -08:00
Paul Gauthier (aider)
97daff4a10 style: format test_voice.py with black and sort imports 2024-11-30 15:41:19 -08:00
Paul Gauthier (aider)
caeceb58a5 test: add voice input device tests with mocked hardware dependencies 2024-11-30 15:41:15 -08:00
Paul Gauthier
3739d48e52 test: add basic voice tests 2024-11-30 15:41:11 -08:00
Paul Gauthier
858fdb02ec copy 2024-11-30 14:05:51 -08:00
Paul Gauthier (aider)
b0cbb071e6 style: fix line wrapping in update-history.py 2024-11-30 14:01:25 -08:00
Paul Gauthier (aider)
f222739b0d fix: preserve older entries when updating HISTORY.md 2024-11-30 14:01:21 -08:00
Paul Gauthier (aider)
a280f5d5b2 style: remove trailing whitespace in update-history.py 2024-11-30 13:59:57 -08:00
Paul Gauthier (aider)
cef333a01c feat: extract history content up to end of base version section 2024-11-30 13:59:51 -08:00
Paul Gauthier (aider)
24bd016a1a style: Fix whitespace in update-history script 2024-11-30 13:59:09 -08:00
Paul Gauthier (aider)
3c44f824cb refactor: optimize HISTORY.md processing to work with relevant portion only 2024-11-30 13:59:05 -08:00
Paul Gauthier
3ee78ef557 skip ph.shutdown for faster exit 2024-11-30 13:29:39 -08:00
Paul Gauthier
d9b1bcbdcc remove no-op vscode detection 2024-11-30 13:25:13 -08:00
Paul Gauthier
283dd0b1f1 test: refactor read-only file path handling in command tests 2024-11-30 13:18:49 -08:00
Paul Gauthier (aider)
56345ddef9 test: add cross-platform test for relative path handling in drop command 2024-11-30 13:15:19 -08:00
Paul Gauthier (aider)
4631008f8c style: fix whitespace in commands.py 2024-11-30 13:12:37 -08:00
Paul Gauthier (aider)
e2ebde75be fix: improve /drop handling of relative paths with samefile check 2024-11-30 13:12:31 -08:00
Paul Gauthier
91613fcbf7 copy 2024-11-30 13:07:58 -08:00
Paul Gauthier
0b279143cc copy 2024-11-30 13:03:28 -08:00
Paul Gauthier
ade4847c61 feat: add timeout configuration for litellm requests 2024-11-30 13:03:20 -08:00
Paul Gauthier (aider)
a3e7203331 refactor: change timeout argument type from float to int 2024-11-30 13:00:24 -08:00
Paul Gauthier (aider)
bbabd38a48 feat: add timeout option for API calls 2024-11-30 12:59:39 -08:00
Paul Gauthier
eb996c1e42 copy 2024-11-30 12:19:55 -08:00
Paul Gauthier
bf0ad4cda1 test: simplify browser flag test by removing analytics flags 2024-11-30 12:18:18 -08:00
Paul Gauthier (aider)
c32af6536a ci: add fetch-depth: 0 to all checkout actions 2024-11-30 12:16:34 -08:00
Paul Gauthier (aider)
2437f9b051 chore: update actions/checkout to v4 in pages workflow 2024-11-30 12:16:07 -08:00
Paul Gauthier
0b781174bd ci: remove redundant AIDER_ANALYTICS_LOG environment variable 2024-11-30 11:37:33 -08:00
Paul Gauthier
f448d3e2db chore: add pytest-env and remove debug dump from tests 2024-11-30 11:35:40 -08:00
Paul Gauthier (aider)
6b4222ec48 test: add verification for pytest.ini environment variables 2024-11-30 11:32:49 -08:00
Paul Gauthier
3f770cc5c0 test: remove analytics env vars and add debug dump 2024-11-30 11:32:48 -08:00
Paul Gauthier (aider)
14902f5b9a ci: add analytics env vars to GitHub Actions workflows 2024-11-30 11:25:39 -08:00
Paul Gauthier (aider)
efdeb13bf5 test: disable analytics during test execution 2024-11-30 11:24:46 -08:00
Paul Gauthier
62558291b6 test: disable analytics in test environment 2024-11-30 10:59:46 -08:00
Paul Gauthier
edb0120bbf test: add analytics flags to browser test 2024-11-30 10:58:06 -08:00
Paul Gauthier
0dbaec553f refactor: Improve version handling and cleanup version-related files 2024-11-30 10:10:03 -08:00
Paul Gauthier
295040c94c feat: add exit event tracking for Control-C and /exit commands 2024-11-30 09:53:44 -08:00
Paul Gauthier
c1c4193b1d feat: add event tracking for message sending lifecycle 2024-11-30 09:49:07 -08:00
Paul Gauthier
d17f0a9e1f copy 2024-11-30 09:45:17 -08:00
Paul Gauthier
871030dadb fix: normalize path in cmd_drop test for cross-platform compatibility 2024-11-30 09:36:21 -08:00
Paul Gauthier
0ee9b74c0f Merge branch 'main' of github.com:Aider-AI/aider 2024-11-30 09:33:06 -08:00
paul-gauthier
82929f650c Merge pull request #2497 from preynal/main
feat: ability to select audio input device
2024-11-30 09:33:00 -08:00
Paul Gauthier
37b31c46bd copy 2024-11-30 09:19:22 -08:00
Paul Gauthier
c682bd858a copy 2024-11-30 09:19:01 -08:00
Paul Gauthier
2439891ee0 better handle __version__ errors 2024-11-30 09:18:17 -08:00
Philippe de Reynal
23825cafe7 fix options diff + missing docs 2024-11-30 11:33:10 +01:00
Philippe de Reynal
a8f6f1fce2 Merge branch 'Aider-AI:main' into main 2024-11-30 11:24:58 +01:00
Philippe de Reynal
e11faadf39 feat: ability to select audio input device 2024-11-30 11:24:34 +01:00
Paul Gauthier
2c7251f4b9 copy 2024-11-29 09:23:57 -08:00
Paul Gauthier
fb9f18fc9c copy 2024-11-29 09:23:14 -08:00
Paul Gauthier (aider)
93cd3d0d8b feat: add git diff output to history update script 2024-11-29 09:23:01 -08:00
Paul Gauthier
ed2479ea82 refactor: consolidate analytics exit events in main function 2024-11-29 09:20:52 -08:00
Paul Gauthier (aider)
accde0bfd0 feat: add analytics events before each return statement in main() 2024-11-29 09:17:16 -08:00
Paul Gauthier
7b34d9e4f4 copy 2024-11-28 15:53:00 -08:00
Paul Gauthier (aider)
6af71951af style: fix whitespace in benchmark.py 2024-11-28 14:01:50 -08:00
Paul Gauthier (aider)
3eed45dc3e fix: improve benchmark directory selection based on latest .md file timestamp 2024-11-28 14:01:45 -08:00
Paul Gauthier (aider)
320b059bc7 perf: optimize benchmark dir search by filtering on timestamp first 2024-11-28 14:00:12 -08:00
Paul Gauthier
a89ce06377 fix: correct glob pattern for finding latest benchmark directory 2024-11-28 14:00:10 -08:00
Paul Gauthier
e4a1d6fe89 copy 2024-11-28 11:21:37 -08:00
Paul Gauthier
93c625bb81 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-28 11:19:19 -08:00
Paul Gauthier
87f84fb82d copy 2024-11-28 11:18:30 -08:00
paul-gauthier
ce9e76a7dc Merge pull request #2489 from itlackey/benchmark/20241127
Benchmark/20241127
2024-11-28 11:01:54 -08:00
Paul Gauthier
4f3f1c5e23 better 2024-11-28 10:51:53 -08:00
itlackey
22076d401f Added ollama/granite3-dense:8b 2024-11-28 10:49:51 -06:00
itlackey
79ea82f147 Updated ollama/qwen2.5-coder:32b, added ollama/tulu3 2024-11-28 10:49:50 -06:00
Paul Gauthier
3785415632 copy 2024-11-27 17:49:35 -08:00
Paul Gauthier
35eda73ad1 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-27 17:49:22 -08:00
Paul Gauthier (aider)
c8282fc8d3 style: fix whitespace in test_commands.py 2024-11-27 17:39:00 -08:00
Paul Gauthier (aider)
5030881934 test: add tests for /drop command with and without glob patterns 2024-11-27 17:38:54 -08:00
Paul Gauthier (aider)
bc1e3a7059 style: format list comprehension to single line 2024-11-27 17:35:11 -08:00
Paul Gauthier (aider)
ba17dceb4d feat: make /drop use substring matching for non-glob patterns 2024-11-27 17:35:05 -08:00
Paul Gauthier (aider)
4e689e20e9 style: add noqa comment to silence flake8 warning for FileWatcher import 2024-11-27 17:32:22 -08:00
Paul Gauthier
2f78b6f7f3 refactor: move FileWatcher initialization to main.py 2024-11-27 17:32:12 -08:00
Paul Gauthier (aider)
920917a47e feat: add .aider* to default gitignore patterns 2024-11-27 17:28:39 -08:00
Paul Gauthier
c1a7784781 fix: update file watcher to use absolute paths for changed files 2024-11-27 17:28:37 -08:00
paul-gauthier
62109f4ab1 Merge pull request #2480 from itlackey/benchmark/ollama-qwen2.5-14b 2024-11-27 16:51:50 -08:00
Paul Gauthier (aider)
c3a9c05455 fix: convert absolute paths to relative paths in file watcher 2024-11-27 16:31:48 -08:00
Paul Gauthier
333e4aa362 fix: update comment about relative filenames in FileWatcher 2024-11-27 16:31:41 -08:00
Paul Gauthier (aider)
59ce26f28a feat: update coder tracked files when AI comments detected 2024-11-27 16:31:19 -08:00
Paul Gauthier
2ff63aaebf refactor: simplify file change handling in FileWatcher 2024-11-27 16:31:18 -08:00
Paul Gauthier (aider)
8cf72a4409 refactor: simplify directory handling in FileWatcher class 2024-11-27 16:29:26 -08:00
Paul Gauthier
496b92536f feat: add input interruption on file changes in FileWatcher 2024-11-27 16:29:24 -08:00
Paul Gauthier (aider)
ac7900ecd7 style: sort imports alphabetically in main.py 2024-11-27 16:23:01 -08:00
Paul Gauthier (aider)
310832f111 feat: add FileWatcher import to fix undefined name error 2024-11-27 16:22:57 -08:00
Paul Gauthier
f69dd0ef8d fix: correct aiderignore path handling for file watching 2024-11-27 16:22:55 -08:00
Paul Gauthier (aider)
4b51bb2334 feat: add aiderignore support to FileWatcher initialization 2024-11-27 16:22:08 -08:00
Paul Gauthier
0d4f9f00ee refactor: Improve FileWatcher initialization with gitignore handling 2024-11-27 16:22:07 -08:00
Paul Gauthier (aider)
4a0100271f refactor: conditionally use git root and gitignore in FileWatcher initialization 2024-11-27 16:19:55 -08:00
Paul Gauthier
52a467806a feat: add gitignore support to FileWatcher initialization 2024-11-27 16:19:53 -08:00
Paul Gauthier (aider)
0fedecff58 refactor: move gitignores from FileWatcher.start() to constructor 2024-11-27 16:16:02 -08:00
Paul Gauthier
da4cb0aa62 refactor: move gitignore handling from start() to FileWatcher constructor 2024-11-27 16:16:00 -08:00
Paul Gauthier
3b8a771909 refactor: Move FileWatcher initialization to __init__ method 2024-11-27 16:15:08 -08:00
Paul Gauthier (aider)
f9bcfa14e0 refactor: update file watcher to use class-based implementation 2024-11-27 16:13:42 -08:00
Paul Gauthier (aider)
11c2eab967 style: fix code formatting and whitespace 2024-11-27 16:13:07 -08:00
Paul Gauthier (aider)
094d2e12a4 refactor: create FileWatcher class to encapsulate file watching logic 2024-11-27 16:13:00 -08:00
Paul Gauthier
af195a610c refactor: consolidate file watching code into dedicated class 2024-11-27 16:12:59 -08:00
Paul Gauthier
f7a05cf077 Merge branch 'main' into watch 2024-11-27 15:55:01 -08:00
Paul Gauthier
d54fbd6592 copy 2024-11-27 15:23:13 -08:00
Paul Gauthier
41b0868165 Merge branch 'main' into watch 2024-11-27 15:04:26 -08:00
Paul Gauthier
a1f5bfb746 copy 2024-11-27 09:36:17 -08:00
Paul Gauthier
3ab1018c66 copy 2024-11-27 09:29:35 -08:00
Paul Gauthier
62e96372fa bumped deps to pickup grep-ast 0.4.1 and disable Dart 2024-11-27 09:29:22 -08:00
Paul Gauthier
945d10f554 add event for repo size 2024-11-27 09:27:23 -08:00
Paul Gauthier
ee837889db Merge branch 'main' into ts-pack 2024-11-27 08:54:03 -08:00
Paul Gauthier
a5f4cba72f wip 2024-11-27 08:53:41 -08:00
Paul Gauthier
f44e5ae5f9 cleanup 2024-11-27 07:46:47 -08:00
Paul Gauthier
a67b665846 copy 2024-11-27 07:37:33 -08:00
Paul Gauthier
8fb23b414c rename 2024-11-27 07:18:21 -08:00
Paul Gauthier (aider)
f5100626a8 refactor: update language file extensions and paths in test code 2024-11-27 07:18:04 -08:00
Paul Gauthier (aider)
9ab46fade7 style: fix linting issues in test_repomap.py 2024-11-27 07:11:49 -08:00
Paul Gauthier (aider)
2ce01b157b refactor: simplify language test map and read from fixture files 2024-11-27 07:11:45 -08:00
itlackey
f714e42e11 Added qwen2.5-coder:14b running via ollama 2024-11-27 09:11:33 -06:00
Paul Gauthier (aider)
447b7af573 refactor: use fixture file for Java test instead of embedded code 2024-11-27 07:10:38 -08:00
Paul Gauthier (aider)
ec2b635a1a refactor: use fixture files for C, C++, and Elixir test content 2024-11-27 07:09:28 -08:00
Paul Gauthier (aider)
7465b4bf91 refactor: move TypeScript and TSX test code to fixture files 2024-11-27 07:06:50 -08:00
Paul Gauthier (aider)
4580fac6fa refactor: move test code samples to fixture files 2024-11-27 07:05:36 -08:00
Paul Gauthier (aider)
8c218e9edc refactor: move remaining language examples to fixture files 2024-11-27 07:05:10 -08:00
Paul Gauthier (aider)
44ceb8f1a0 style: Fix import order and add proper line spacing 2024-11-27 07:04:29 -08:00
Paul Gauthier (aider)
642c1c50fb refactor: move remaining test examples to fixture files 2024-11-27 07:04:23 -08:00
Paul Gauthier (aider)
4de8c25a3f refactor: move language examples to fixture files 2024-11-27 07:03:20 -08:00
Paul Gauthier
565f08a8e9 refactor: clean up test cases and remove redundant language examples 2024-11-27 07:03:18 -08:00
Paul Gauthier (aider)
a85ae206c9 refactor: add initial language test fixtures for C, C++, Elixir and Java 2024-11-27 06:59:58 -08:00
Paul Gauthier (aider)
9e9b5e8d46 feat: enhance language test snippets with comprehensive examples 2024-11-27 06:58:15 -08:00
Paul Gauthier
b623141a8f refactor: reorder test language cases in repomap tests 2024-11-27 06:58:13 -08:00
Paul Gauthier (aider)
631cdc37c4 test: enhance C# test case with more language features and symbols 2024-11-27 06:56:16 -08:00
Paul Gauthier
8d50bc0ef1 fix: correct key symbol in TypeScript test from UserGreeting to UserProps 2024-11-27 06:56:15 -08:00
Paul Gauthier (aider)
ae395fbb8f test: enhance TSX test fixture with more symbols and hooks 2024-11-27 06:54:37 -08:00
Paul Gauthier (aider)
10877a99f1 test: enhance Rust test snippet with trait and struct examples 2024-11-27 06:53:41 -08:00
Paul Gauthier (aider)
0faff91c72 test: enhance Python test case with class and type annotations 2024-11-27 06:52:31 -08:00
Paul Gauthier (aider)
00f79fecd0 test: enhance OCaml test case with module and type definitions 2024-11-27 06:51:53 -08:00
Paul Gauthier (aider)
203128d935 test: enhance Java test case with interface and implementation 2024-11-27 06:51:22 -08:00
Paul Gauthier
4f6e52aed0 test: add assertion for minimum result length in repomap test 2024-11-27 06:51:20 -08:00
Paul Gauthier (aider)
7bc7b2e3da style: Fix line length violations in test_repomap.py 2024-11-27 06:48:17 -08:00
Paul Gauthier (aider)
27f0ca3b08 feat: enhance JavaScript test snippet with class and module exports 2024-11-27 06:48:12 -08:00
Paul Gauthier
2337b2bb3e test: refactor repo map language test to run each language separately 2024-11-27 06:48:10 -08:00
Paul Gauthier (aider)
48ea13e130 style: format code with black and add trailing commas 2024-11-27 06:23:25 -08:00
Paul Gauthier (aider)
5c73ab26c0 test: add key symbol checks for each language parser 2024-11-27 06:23:21 -08:00
Paul Gauthier
947e4ce71d copy 2024-11-26 20:43:09 -08:00
Paul Gauthier (aider)
200295e3ee fix: add error handling for input history file permissions 2024-11-26 20:41:59 -08:00
Paul Gauthier (aider)
ded5fe5ec0 style: remove trailing whitespace in analytics.py 2024-11-26 20:37:34 -08:00
Paul Gauthier (aider)
7dffa943fa fix: handle analytics file access errors gracefully 2024-11-26 20:37:29 -08:00
Paul Gauthier
f702f67e27 copy 2024-11-26 20:28:48 -08:00
Paul Gauthier
a64956406d fix: improve PDF support detection and update model suggestions 2024-11-26 20:26:44 -08:00
Paul Gauthier
9c8bde2cff copy 2024-11-26 20:13:33 -08:00
Paul Gauthier
70a282ebf1 copy 2024-11-26 20:11:12 -08:00
Paul Gauthier (aider)
415652d38e style: reorder subprocess args to keep cwd consistent 2024-11-26 19:55:07 -08:00
Paul Gauthier (aider)
1a745e4fa9 fix: set cwd to repo root for shell commands in cmd_run 2024-11-26 19:53:09 -08:00
Paul Gauthier (aider)
973e86df27 fix: use cwd=root when executing shell commands 2024-11-26 19:52:46 -08:00
Paul Gauthier (aider)
1f2917681f feat: add cwd parameter to run_cmd for directory control 2024-11-26 19:52:06 -08:00
Paul Gauthier (aider)
28d1feacf5 refactor: simplify image file processing to use provided filenames directly 2024-11-26 19:49:53 -08:00
Paul Gauthier (aider)
cf4ef8605d style: remove trailing whitespace in base_coder.py 2024-11-26 19:48:48 -08:00
Paul Gauthier (aider)
4be3728273 feat: add image file support for read-only files 2024-11-26 19:48:42 -08:00
Paul Gauthier (aider)
34b8c3f47c fix: add dummy message to prevent empty cur_messages in test 2024-11-26 19:46:51 -08:00
Paul Gauthier (aider)
309893fd1e test: verify image file presence in LLM messages for read-only command 2024-11-26 19:45:01 -08:00
Paul Gauthier
705eb06e8d copy 2024-11-26 17:28:15 -08:00
Paul Gauthier
5cfcf255e9 fix: override PDF support detection for Claude 3.5 Sonnet 2024-11-26 17:27:05 -08:00
Paul Gauthier
b8f36c8277 feat: add PDF file support and refactor image handling 2024-11-26 17:19:28 -08:00
Paul Gauthier (aider)
73c1dc697f style: remove trailing whitespace in base_coder.py 2024-11-26 17:16:50 -08:00
Paul Gauthier (aider)
a9c4647461 feat: add support for both images and PDFs based on model capabilities 2024-11-26 17:16:43 -08:00
Paul Gauthier
aaeaa24153 feat: add PDF support and improve image handling in chat messages 2024-11-26 17:16:41 -08:00
Paul Gauthier
59a7494770 Merge branch 'main' into watch 2024-11-26 16:03:06 -08:00
Paul Gauthier
b2232cda7b refactor: modify check_for_urls to return modified input string 2024-11-26 15:04:19 -08:00
Paul Gauthier (aider)
3ba4aca268 refactor: improve error handling for .gitignore file operations 2024-11-26 15:01:50 -08:00
Paul Gauthier (aider)
f45533e20b style: fix line length and whitespace in gitignore handling 2024-11-26 15:00:38 -08:00
Paul Gauthier (aider)
2e7c5d6cfa fix: handle permission error when writing to .gitignore 2024-11-26 15:00:33 -08:00
Paul Gauthier
476acc7715 copy 2024-11-26 14:23:18 -08:00
Paul Gauthier
ab3b50296c copy 2024-11-26 14:12:16 -08:00
Paul Gauthier
60c29b2839 copy 2024-11-26 13:36:48 -08:00
Paul Gauthier
7972f5f4bc copy 2024-11-26 12:37:58 -08:00
Paul Gauthier
83a6865eb3 set version to 0.65.2.dev 2024-11-26 12:37:24 -08:00
Paul Gauthier
29a9b650ed version bump to 0.65.1 2024-11-26 12:35:54 -08:00
Paul Gauthier
dd48b740f9 test: update Claude model name tests to use 3.5 version 2024-11-26 12:33:58 -08:00
Paul Gauthier
401ce7a63d copy 2024-11-26 12:32:08 -08:00
Paul Gauthier
8218d085f7 fix: update Claude 3 model aliases to 3.5 versions 2024-11-26 12:31:54 -08:00
Paul Gauthier
abb3c936f7 refactor: simplify input interruption using placeholder variable 2024-11-26 10:58:22 -08:00
Paul Gauthier
0cb5aca81e Merge branch 'main' into watch 2024-11-26 10:47:38 -08:00
Paul Gauthier (aider)
554d274fff style: fix string quote consistency in blame.py 2024-11-26 10:47:04 -08:00
Paul Gauthier (aider)
13318219db feat: add YAML update capability to blame.py for --all-since 2024-11-26 10:46:55 -08:00
Paul Gauthier (aider)
474944fe74 style: fix string quote consistency in blame.py 2024-11-26 10:45:12 -08:00
Paul Gauthier (aider)
d1a49cd9ce feat: add YAML update capability to blame.py for --all-since 2024-11-26 10:45:08 -08:00
Paul Gauthier
139d89d817 Merge branch 'main' into watch 2024-11-26 10:30:25 -08:00
Paul Gauthier
61759f984c copy 2024-11-26 09:16:46 -08:00
Paul Gauthier
a73e77a819 set version to 0.65.1.dev 2024-11-26 08:57:36 -08:00
Paul Gauthier
b5f1659382 version bump to 0.65.0 2024-11-26 08:55:57 -08:00
Paul Gauthier
beb6722f57 copy 2024-11-26 08:04:17 -08:00
Paul Gauthier
a052b89152 copy 2024-11-26 07:42:16 -08:00
Paul Gauthier
95b391350f bumped deps 2024-11-26 07:41:31 -08:00
Paul Gauthier
5773eac03f copy 2024-11-26 07:37:56 -08:00
Paul Gauthier (aider)
da4ace2875 style: Fix string quote consistency in update-history.py 2024-11-26 07:31:36 -08:00
Paul Gauthier (aider)
e507c5b502 feat: add aider contribution percentage to history updates 2024-11-26 07:31:32 -08:00
Paul Gauthier (aider)
722c2c2668 style: fix linting errors in test_repomap.py 2024-11-26 07:28:02 -08:00
Paul Gauthier (aider)
8e7bfef9f1 test: add Dart language support to repo map tests 2024-11-26 07:27:57 -08:00
Paul Gauthier
1811f0d0d5 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-26 07:27:32 -08:00
paul-gauthier
6b9d534fe2 Merge pull request #2236 from malkoG/support-dart
Add dart support
2024-11-26 07:26:43 -08:00
Paul Gauthier (aider)
dc4562a845 feat: add docs update step after aider in update-history script 2024-11-26 07:10:32 -08:00
Paul Gauthier
c15af63bc9 copy 2024-11-26 07:10:03 -08:00
Paul Gauthier
5b68c2c7d9 fix test 2024-11-26 07:09:49 -08:00
Paul Gauthier (aider)
b70e0bd1f6 test: update invalid edit format test to check return code instead of SystemExit 2024-11-26 07:07:11 -08:00
Paul Gauthier (aider)
743f0f5540 test: add test for invalid edit format handling 2024-11-26 07:06:28 -08:00
Paul Gauthier (aider)
e647a5b733 feat: add tests for UnknownEditFormat exception handling 2024-11-26 07:04:43 -08:00
Paul Gauthier (aider)
df1d259e42 style: Fix linting issues in test_coder.py 2024-11-26 07:04:21 -08:00
Paul Gauthier (aider)
e3efab7fbf test: add UnknownEditFormat exception tests 2024-11-26 07:04:15 -08:00
Paul Gauthier (aider)
cd79f7f4b0 fix: import UnknownEditFormat exception from base_coder module 2024-11-26 07:03:26 -08:00
Paul Gauthier (aider)
5d175745bf fix: handle None values in valid_formats list generation 2024-11-26 07:02:34 -08:00
Paul Gauthier (aider)
e648bac74b fix: remove circular import of UnknownEditFormat in base_coder.py 2024-11-26 07:01:55 -08:00
Paul Gauthier (aider)
e5c0ebd0a0 style: fix import order in base_coder.py 2024-11-26 07:01:21 -08:00
Paul Gauthier (aider)
608a43402c refactor: move UnknownEditFormat exception to base_coder.py 2024-11-26 07:01:14 -08:00
Paul Gauthier (aider)
75bc2dd564 feat: add custom UnknownEditFormat exception with documentation link 2024-11-26 07:00:16 -08:00
Paul Gauthier
bbd81c3cf7 copy 2024-11-26 06:56:36 -08:00
Paul Gauthier
301eb7c74d copy 2024-11-26 06:50:18 -08:00
Paul Gauthier
a756039f27 copy 2024-11-26 06:49:28 -08:00
Paul Gauthier (aider)
b4d1b71ee7 test: add test for skipping duplicate basename file mentions 2024-11-26 06:46:53 -08:00
Paul Gauthier (aider)
8d85a4754d style: fix line wrapping in base_coder.py 2024-11-26 06:46:08 -08:00
Paul Gauthier (aider)
a1b48049a9 feat: skip files with duplicate basenames in file mentions 2024-11-26 06:46:01 -08:00
Paul Gauthier
6789844c1f copy 2024-11-26 06:42:42 -08:00
Paul Gauthier
c602a839ca better update history script 2024-11-26 06:42:36 -08:00
Paul Gauthier
01c7793e90 revert changes to get_ident_filename_matches() 2024-11-26 06:41:08 -08:00
Paul Gauthier (aider)
47b013b034 docs: update changelog with recent improvements and features 2024-11-26 06:38:59 -08:00
Paul Gauthier
dc2047804a docs: update changelog with URL detection and model alias features 2024-11-26 06:38:57 -08:00
Paul Gauthier (aider)
885e5cbd7c style: fix whitespace in base_coder.py 2024-11-26 06:33:37 -08:00
Paul Gauthier (aider)
635a5196e8 fix: exclude files with same name as existing chat or read-only files 2024-11-26 06:33:29 -08:00
Paul Gauthier
cbd339190b refactor: simplify file name matching logic in get_all_relative_files 2024-11-26 06:33:28 -08:00
Paul Gauthier (aider)
266093189d style: fix linting issues in get_ident_filename_matches 2024-11-26 06:26:26 -08:00
Paul Gauthier (aider)
62b02d4370 fix: remove incorrect file name filtering in get_ident_filename_matches 2024-11-26 06:25:15 -08:00
Paul Gauthier (aider)
8546a1dc86 docs: add main branch changes to release history 2024-11-26 06:25:00 -08:00
Paul Gauthier
ae98bf237f docs: remove unreleased changes from history file 2024-11-26 06:24:59 -08:00
Paul Gauthier (aider)
0398deb005 test: add tests for filename matching with existing and read-only files 2024-11-26 06:24:11 -08:00
Paul Gauthier (aider)
3a1492977b fix: skip suggesting files with same name as existing chat files 2024-11-26 06:22:57 -08:00
Paul Gauthier (aider)
ef40a456e8 docs: add main branch section with latest changes to history 2024-11-26 06:20:04 -08:00
Paul Gauthier
583b78c0c1 docs: update release history to remove unreleased changes 2024-11-26 06:20:03 -08:00
Paul Gauthier (aider)
c0988de581 docs: update release history with v0.64.1 and v0.64.2 changes 2024-11-26 06:17:06 -08:00
Paul Gauthier
34a190e29b docs: remove v0.64.2 release notes 2024-11-26 06:17:04 -08:00
Paul Gauthier (aider)
0940598708 docs: add v0.64.2 release notes to history 2024-11-26 06:12:13 -08:00
Paul Gauthier (aider)
7e6cbb3efa style: format update-history.py with black 2024-11-26 06:10:07 -08:00
Paul Gauthier (aider)
7dc4e00c75 feat: dynamically determine base version for history updates 2024-11-26 06:10:03 -08:00
Paul Gauthier (aider)
8a598eacaf style: format update-history.py with black 2024-11-26 06:09:44 -08:00
Paul Gauthier (aider)
8592fad9cd feat: add script to automate history updates from git diffs 2024-11-26 06:09:41 -08:00
Paul Gauthier
fa72a89d35 feat: add script to update history file 2024-11-26 06:09:38 -08:00
Paul Gauthier
5e99c51d93 copy 2024-11-26 06:01:46 -08:00
Paul Gauthier (aider)
905976e765 feat: add verbose and trace flags for Jekyll debugging 2024-11-26 05:59:52 -08:00
Paul Gauthier
3ebd47d3db copy 2024-11-25 21:12:01 -08:00
Paul Gauthier
bf4c7c475a copy 2024-11-25 21:08:27 -08:00
Paul Gauthier (aider)
bf38371971 test: add test cases for model name aliases 2024-11-25 21:06:29 -08:00
Paul Gauthier
18460f4f91 copy 2024-11-25 21:05:59 -08:00
Paul Gauthier (aider)
f94e3e6aba feat: add cog script to auto-generate model aliases docs 2024-11-25 21:03:35 -08:00
Paul Gauthier
1647da2942 docs: add frontmatter to model aliases documentation 2024-11-25 21:03:34 -08:00
Paul Gauthier (aider)
86e2cdb1fb docs: add documentation for model aliases configuration 2024-11-25 21:01:11 -08:00
Paul Gauthier
764702a377 docs: add model aliases configuration documentation 2024-11-25 21:01:10 -08:00
Paul Gauthier (aider)
837a97ffdf style: fix string quote consistency in alias split 2024-11-25 20:56:10 -08:00
Paul Gauthier (aider)
217e9b96d8 feat: add command-line model alias support via --alias flag 2024-11-25 20:56:04 -08:00
Paul Gauthier (aider)
524274fcf4 refactor: consolidate model aliases into central dictionary 2024-11-25 20:54:24 -08:00
Paul Gauthier
6d5f576b92 refactor: simplify model aliases to only include Claude-3 variants 2024-11-25 20:54:23 -08:00
Paul Gauthier (aider)
445f9fa7df feat: add model name aliases with canonical mapping 2024-11-25 20:51:37 -08:00
Paul Gauthier (aider)
2ff3a23606 fix: add num_ctx parameter to run_test_real function 2024-11-25 19:21:08 -08:00
Paul Gauthier (aider)
c5ce57ea7f style: fix linting issues in benchmark.py 2024-11-25 19:20:49 -08:00
Paul Gauthier (aider)
351b8e50f0 feat: add --num-ctx flag to override model context window size 2024-11-25 19:20:43 -08:00
Paul Gauthier
68be6c5742 copy 2024-11-25 19:11:18 -08:00
Paul Gauthier
7a34a2dfa9 ask 2.5% of users to opt-in to analytics 2024-11-25 19:09:59 -08:00
Paul Gauthier
49ce9e1209 copy 2024-11-25 18:42:28 -08:00
Paul Gauthier (aider)
c84e192324 style: remove extra blank line in test_coder.py 2024-11-25 18:42:09 -08:00
Paul Gauthier (aider)
d696673f07 test: remove shell command testing from URL detection test 2024-11-25 18:42:03 -08:00
Paul Gauthier (aider)
2957d463c9 test: add assertion for suggest_shell_commands flag 2024-11-25 18:41:21 -08:00
Paul Gauthier (aider)
af48e50898 test: add tests for URL detection functionality in Coder class 2024-11-25 18:39:49 -08:00
Paul Gauthier (aider)
f4b964a4b8 test: add tests for --[no-]detect-urls CLI option 2024-11-25 18:39:10 -08:00
Paul Gauthier
a79ce7a151 fix: remove duplicate detect_urls parameter and add to coder initialization 2024-11-25 18:38:34 -08:00
Paul Gauthier (aider)
21bb83c55a fix: remove duplicate detect_urls parameter in Coder class 2024-11-25 18:36:25 -08:00
Paul Gauthier (aider)
7122ceb16c feat: add --detect-urls flag to control URL detection behavior 2024-11-25 18:34:05 -08:00
Paul Gauthier
f9bcfe341c ignore .gitattributes 2024-11-25 15:09:46 -08:00
Paul Gauthier
13c5bfdd88 copy 2024-11-25 09:05:52 -08:00
Paul Gauthier
bf79c2cb99 copy 2024-11-25 08:28:42 -08:00
Paul Gauthier
325cdfcf57 refactor: Update Ollama model detection and context window documentation 2024-11-24 16:14:34 -08:00
Paul Gauthier
7d14d4ade9 copy 2024-11-24 15:23:47 -08:00
Paul Gauthier
1b7d12194e copy 2024-11-24 15:23:42 -08:00
Paul Gauthier (aider)
91f238aded style: Organize imports and remove unused import 2024-11-24 15:20:47 -08:00
Paul Gauthier (aider)
78ff489995 feat: Add ModelSettings import to main.py 2024-11-24 15:20:43 -08:00
Paul Gauthier (aider)
ff791439e2 fix: Import fields and ModelSettings to resolve flake8 errors 2024-11-24 15:20:35 -08:00
Paul Gauthier
3f8b2d6b99 refactor: Improve model info output with detailed settings display 2024-11-24 15:20:24 -08:00
Paul Gauthier
4dcbce58ed copy 2024-11-24 14:55:02 -08:00
Paul Gauthier
0427deb897 copy 2024-11-24 14:54:19 -08:00
Paul Gauthier
f3eb3409e3 copy 2024-11-24 14:54:12 -08:00
Paul Gauthier
86619052ca copy 2024-11-24 14:52:01 -08:00
Paul Gauthier
0c59d3234e copy 2024-11-24 12:03:21 -08:00
Paul Gauthier
939d7ea3fb copy 2024-11-24 12:02:48 -08:00
Paul Gauthier
dc8761763d copy 2024-11-24 07:56:12 -08:00
Paul Gauthier
4894914db1 copy 2024-11-24 07:50:19 -08:00
Paul Gauthier
aee94a0584 copy 2024-11-24 07:14:09 -08:00
Paul Gauthier (aider)
c550422168 feat: Add x-axis label "Provider: quantization" to chart 2024-11-24 07:13:14 -08:00
Paul Gauthier (aider)
cebd9cabb3 feat: Add real-time filtering to chart based on search input 2024-11-24 07:12:39 -08:00
Paul Gauthier (aider)
3f16652d56 feat: Escape colons in model names with quotes in YAML file 2024-11-24 07:06:41 -08:00
Paul Gauthier
2ebf48ca71 feat: Update quant.yml with refined model descriptions and new test results 2024-11-24 07:06:39 -08:00
Paul Gauthier
c2f184f5bb copy 2024-11-24 06:21:58 -08:00
Paul Gauthier
e56651e5c0 copy 2024-11-23 20:27:43 -08:00
Paul Gauthier
1d09e96127 copy 2024-11-23 20:19:11 -08:00
Paul Gauthier
73de0ea8be copy 2024-11-23 20:18:19 -08:00
Paul Gauthier
757eac0579 copy 2024-11-23 18:39:20 -08:00
Paul Gauthier
bb78e2f57f default Ollama num_ctx to 8k 2024-11-23 18:14:30 -08:00
Paul Gauthier
92579243c5 copy 2024-11-23 18:13:58 -08:00
Paul Gauthier (aider)
8d0ba40d67 feat: Sort chart data by pass rate in descending order 2024-11-23 17:48:34 -08:00
Paul Gauthier
ff8c1aace9 copy 2024-11-23 15:32:09 -08:00
Paul Gauthier
cf74dc9b48 copy 2024-11-23 15:30:28 -08:00
Paul Gauthier (aider)
e63df83091 refactor: Consolidate subprocess.call mock in test_pipe_editor 2024-11-23 14:23:26 -08:00
Paul Gauthier
14522dbbcd copy 2024-11-23 14:20:58 -08:00
Paul Gauthier
91daea9e01 simplify if 2024-11-23 14:15:36 -08:00
Paul Gauthier (aider)
12b789fc4e fix: Handle Mixpanel connection errors by disabling tracking 2024-11-23 14:14:11 -08:00
Paul Gauthier
baa13351a6 refactor: Improve model registration and settings handling 2024-11-23 12:57:24 -08:00
Paul Gauthier
8f83204f0f Merge branch 'main' of github.com:Aider-AI/aider 2024-11-23 12:37:26 -08:00
paul-gauthier
80f5b60e1d Merge pull request #2440 from ivanfioravanti/main
MLX 4bit and 8bit diff added
2024-11-23 12:36:18 -08:00
Paul Gauthier
54525f6696 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-23 12:35:36 -08:00
Ivan Fioravanti
3dc50216b5 Merge branch 'Aider-AI:main' into main 2024-11-23 19:52:23 +01:00
ivanfioravanti
324430a696 quant.yml mlx-community/Qwen2.5-Coder-32B-Instruct-8bit added 2024-11-23 19:51:48 +01:00
paul-gauthier
65d7957610 Update modes.md 2024-11-23 09:36:43 -08:00
paul-gauthier
6ac4993cf2 Update modes.md 2024-11-23 09:36:26 -08:00
ivanfioravanti
100744a952 Article updated to reflect change in mlx test 2024-11-23 17:34:01 +01:00
ivanfioravanti
3a331e55dc mlx 4bit diff 2024-11-23 17:32:08 +01:00
Paul Gauthier
a57f81ba5f copy 2024-11-23 07:02:58 -08:00
Paul Gauthier
ca0b55fbbf copy 2024-11-23 06:53:54 -08:00
Paul Gauthier
38a3cf98dd gemini 2024-11-22 19:45:52 -08:00
Paul Gauthier
1234ad92e5 gemini-exp-1114 2024-11-22 19:43:26 -08:00
Paul Gauthier
488edc24ce gemini-exp-1121 2024-11-22 19:42:11 -08:00
Paul Gauthier
307c23631a copy 2024-11-22 17:20:38 -08:00
Paul Gauthier
83d2241883 copy 2024-11-22 16:40:47 -08:00
Paul Gauthier
f9126416e8 copy 2024-11-22 16:38:02 -08:00
Paul Gauthier
4e9ae16cb3 copy 2024-11-22 15:42:10 -08:00
Paul Gauthier
ef8bfdffa7 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-22 15:41:27 -08:00
paul-gauthier
bfb090331f Merge pull request #2432 from ivanfioravanti/main 2024-11-22 15:40:42 -08:00
Paul Gauthier
5506d0f25b fixed xai docs 2024-11-22 14:21:00 -08:00
Ivan Fioravanti
6ebd2d0883 mlx Qwen2.5-Coder-32B-Instruct-4bit added to quant blog
mlx Qwen2.5-Coder-32B-Instruct-4bit added to quant blog
2024-11-22 22:24:13 +01:00
Paul Gauthier
a16dcaba4e copy 2024-11-22 11:38:14 -08:00
Paul Gauthier
f06452c6c5 copy 2024-11-22 10:56:33 -08:00
Paul Gauthier (aider)
6a0a97cb41 feat: Add host.docker.internal gateway to enable Ollama server access from container 2024-11-22 10:07:47 -08:00
Paul Gauthier
711102b438 copy 2024-11-22 09:39:23 -08:00
Paul Gauthier (aider)
6d53eb0aaa style: Increase canvas height for taller graph aspect ratio 2024-11-22 07:40:46 -08:00
Paul Gauthier
0ccf04a2c5 copy 2024-11-22 07:32:25 -08:00
Paul Gauthier
070ce35b44 copy 2024-11-22 07:32:00 -08:00
Paul Gauthier
a8296e5de5 copy 2024-11-22 07:29:50 -08:00
Paul Gauthier (aider)
d17f25e975 feat: Add interactive table with quantization model performance data 2024-11-22 07:17:23 -08:00
Paul Gauthier
23095ada85 docs: Update Qwen 2.5 Coder 32B Instruct model comparison with Hyperbolic labs API 2024-11-22 07:16:01 -08:00
Paul Gauthier
f9ef161991 copy 2024-11-22 07:07:41 -08:00
Paul Gauthier
28004bae2f copy 2024-11-22 07:06:43 -08:00
Paul Gauthier
17aef7be7d copy 2024-11-22 06:09:32 -08:00
Paul Gauthier
ebba8f5110 fix ollama models included in quant blog 2024-11-22 06:01:01 -08:00
Paul Gauthier
dbd7f51f5c fix ollama models included in quant blog 2024-11-22 05:56:03 -08:00
Paul Gauthier
fbadfcfa7c refactor: Remove unnecessary input logging and history tracking in pipe_editor command 2024-11-21 18:37:51 -08:00
Paul Gauthier
2c12234604 refactor: Update input handling to set and use placeholder text 2024-11-21 18:34:24 -08:00
Paul Gauthier (aider)
13cb6a315c style: Apply linter formatting to io.py 2024-11-21 18:32:03 -08:00
Paul Gauthier (aider)
48e7376002 feat: Add placeholder functionality to input prompts 2024-11-21 18:31:57 -08:00
Paul Gauthier
60d82eddee added Qwen2 72B Instruct to over time 2024-11-21 16:49:24 -08:00
Paul Gauthier (aider)
30ee89c7e9 style: Fix linting issues in over_time.py 2024-11-21 16:45:11 -08:00
Paul Gauthier (aider)
25bcea6aec feat: Add print of model release dates and names in sorted order 2024-11-21 16:45:07 -08:00
Paul Gauthier
488c88da91 update over time graphs 2024-11-21 14:19:31 -08:00
Paul Gauthier (aider)
8fdcd92260 feat: Update plot save paths to website assets directory 2024-11-21 14:19:05 -08:00
Paul Gauthier
781a40df52 fix: Update Gemini Pro legend label to Gemini 1.5 Pro 2024-11-21 14:19:03 -08:00
Paul Gauthier
2412c81d92 copy 2024-11-21 14:09:34 -08:00
Paul Gauthier (aider)
a7fc0f9d2e feat: Add color and legend support for Gemini Pro models 2024-11-21 14:02:27 -08:00
Paul Gauthier
9eab021a50 refactor: Modify offer_url method and release notes handling in main 2024-11-21 14:02:01 -08:00
Paul Gauthier (aider)
c189a52e5e style: Organize imports and apply linter formatting 2024-11-21 14:00:24 -08:00
Paul Gauthier (aider)
6d6d763dd3 refactor: Restructure benchmark plotting script for improved maintainability 2024-11-21 14:00:20 -08:00
Paul Gauthier
3cfbaa0ed6 copy 2024-11-21 13:07:18 -08:00
Paul Gauthier
e1b4571fdf set version to 0.64.2.dev 2024-11-21 12:58:23 -08:00
Paul Gauthier
08027ea9c4 version bump to 0.64.1 2024-11-21 12:56:49 -08:00
Paul Gauthier
d0528a00c1 copy 2024-11-21 12:55:10 -08:00
Paul Gauthier
7ae6a2ba9a disable o1 streaming on openrouter 2024-11-21 12:54:23 -08:00
Paul Gauthier
ad0e5c4770 copy 2024-11-21 12:53:21 -08:00
Paul Gauthier
51b181d5fb set version to 0.64.1.dev 2024-11-21 12:37:05 -08:00
Paul Gauthier
2785b0a857 version bump to 0.64.0 2024-11-21 12:35:35 -08:00
Paul Gauthier
45a113ff9e copy 2024-11-21 12:34:12 -08:00
Paul Gauthier
cee59c2ca3 chore: Ignore .DS_Store files in exclude patterns 2024-11-21 12:32:22 -08:00
Paul Gauthier
5cb9b242e2 debug 2024-11-21 12:25:17 -08:00
Paul Gauthier
1ed48de928 wip 2024-11-21 12:22:55 -08:00
Paul Gauthier
c4e4bc71ed debug 2024-11-21 12:12:18 -08:00
Paul Gauthier
ed0763706b debug 2024-11-21 12:11:28 -08:00
Paul Gauthier
1c79d517fc refactor: Update subprocess.run with text, shell, and encoding parameters 2024-11-21 12:09:28 -08:00
Paul Gauthier
1a7a2f3088 copy 2024-11-21 11:48:29 -08:00
Paul Gauthier
4199789786 copy 2024-11-21 11:47:47 -08:00
Paul Gauthier
c9b0941d1f copy 2024-11-21 11:41:12 -08:00
Paul Gauthier (aider)
3d544136d2 style: Increase font sizes for chart labels and title 2024-11-21 11:40:02 -08:00
Paul Gauthier
8448eff1eb copy 2024-11-21 11:38:41 -08:00
Paul Gauthier (aider)
a3dde4599a refactor: Improve chart label handling by splitting model names on newline 2024-11-21 11:14:01 -08:00
Paul Gauthier
3d7440c673 refactor: Modify chart labels to include additional text 2024-11-21 11:13:48 -08:00
Paul Gauthier
8f41006eba refactor: Simplify model label processing in quant-chart.js 2024-11-21 11:11:22 -08:00
Paul Gauthier (aider)
7d1379fe9f fix: Handle line breaks in x-axis labels for chart rendering 2024-11-21 11:08:23 -08:00
Paul Gauthier (aider)
ced4f9f0d9 feat: Add chart title, y-axis label, and remove legend 2024-11-21 11:06:52 -08:00
Paul Gauthier (aider)
7fba332f58 feat: Add quantization performance chart using Chart.js and quant.yml data 2024-11-21 10:57:03 -08:00
Paul Gauthier
8eda09533d init 2024-11-21 10:55:20 -08:00
Paul Gauthier
6c42ee4edf copy 2024-11-21 10:53:28 -08:00
Paul Gauthier
3053595bfe added qwen models 2024-11-21 10:52:10 -08:00
Paul Gauthier (aider)
6cf78d1a3f feat: Implement case-insensitive search in leaderboard filtering 2024-11-21 10:41:59 -08:00
Paul Gauthier (aider)
6c0ee9d917 feat: Enhance leaderboard search to support multi-word queries 2024-11-21 10:41:35 -08:00
Paul Gauthier
50051dbfd5 copy 2024-11-21 10:34:01 -08:00
Paul Gauthier (aider)
30a8c5e12e feat: Update leaderboard charts to filter bars based on search input 2024-11-21 10:32:32 -08:00
Paul Gauthier
4498549783 refactor: Add .js file extension to blame script file filter 2024-11-21 10:31:59 -08:00
Paul Gauthier (aider)
2ce3fedbfc fix: Correct table selector for refactoring leaderboard search 2024-11-21 10:31:43 -08:00
Paul Gauthier (aider)
8e10be665c fix: Remove raw tags from leaderboard script includes 2024-11-21 10:30:41 -08:00
Paul Gauthier (aider)
80636cb8aa feat: Add raw filter to JavaScript includes in leaderboard index.md 2024-11-21 10:29:18 -08:00
Paul Gauthier (aider)
1b893da07d refactor: Move JavaScript to separate files and use Jekyll includes 2024-11-21 10:28:09 -08:00
Paul Gauthier
2f8aa3471b feat: Add leaderboard JavaScript component 2024-11-21 10:24:56 -08:00
Paul Gauthier (aider)
92a6957f0b refactor: Move refactoring search box above its table 2024-11-21 10:22:57 -08:00
Paul Gauthier (aider)
d7248b11e5 feat: Add live search functionality to leaderboard tables 2024-11-21 10:21:39 -08:00
Paul Gauthier
6f4ed00105 copy 2024-11-21 10:15:28 -08:00
Paul Gauthier (aider)
347b299bbc refactor: Enforce strict parsing of multiline input start with { or {tag} 2024-11-21 10:10:45 -08:00
Paul Gauthier (aider)
614d297f22 fix: Use strip("\r\n") for precise line ending removal 2024-11-21 10:10:14 -08:00
Paul Gauthier (aider)
59d0fe00c3 refactor: Improve multi-line input handling with strict closing tag validation 2024-11-21 10:09:36 -08:00
Paul Gauthier
d6ebdff28f copy 2024-11-21 10:07:53 -08:00
Paul Gauthier
0ec16d0eab copy 2024-11-21 10:07:01 -08:00
Paul Gauthier
3906894fde Merge branch 'main' of github.com:Aider-AI/aider 2024-11-21 10:02:06 -08:00
Paul Gauthier
a43772b21d refactor: Remove unused file_editor function from editor module 2024-11-21 10:01:08 -08:00
Paul Gauthier (aider)
cd81c2619b refactor: Remove unused file_editor import and mock in test_editor.py 2024-11-21 09:58:53 -08:00
Paul Gauthier (aider)
5abadc31a3 style: Remove extra blank lines in test_editor.py 2024-11-21 09:58:39 -08:00
Paul Gauthier (aider)
87654b698b test: Update tests for editor functionality changes 2024-11-21 09:58:35 -08:00
Paul Gauthier (aider)
2a1d2ef294 refactor: Update editor discovery to support custom editor and remove AIDER_EDITOR 2024-11-21 09:55:15 -08:00
Paul Gauthier (aider)
2a387707ef feat: Add --editor switch to specify editor for /editor command 2024-11-21 09:52:14 -08:00
paul-gauthier
ce68062290 Merge pull request #2417 from caetanominuzzo/fix-typo-in-base_coder
fix: Correct typo in base_coder by removing duplicate 'in'
2024-11-21 09:36:34 -08:00
caetanominuzzo
1b9073b085 fix: Correct typo in base_coder by removing duplicate 'in'
This corrects a grammatical error in the system prompt within `base_coder.py`. The `language` variable was previously set as:

    language = "in the same language they are using"

Which resulted in the prompt:

    "Always reply to the user IN IN the same language they are using."
2024-11-21 14:19:39 -03:00
paul-gauthier
e94961a14f Merge pull request #2414 from thehunmonkgroup/editor-doc 2024-11-21 07:37:22 -08:00
Chad Phillips
d4e77b3be4 add documentation for /editor configuration 2024-11-21 09:46:25 -05:00
Paul Gauthier
b96b36d5ea refactor: Remove unnecessary assert_newlines check for updated lines 2024-11-21 06:42:04 -08:00
Paul Gauthier
72d559a92c fix: Remove duplicate assert_newlines call on original lines 2024-11-21 06:39:39 -08:00
Paul Gauthier (aider)
9a7bdcb6db style: Fix linter warnings in test_commands.py 2024-11-21 06:36:11 -08:00
Paul Gauthier (aider)
2e4cf48e7e test: Update cmd_run test to check cur_messages instead of return value 2024-11-21 06:36:05 -08:00
Paul Gauthier
b78f8abeb4 copy 2024-11-21 06:34:08 -08:00
Paul Gauthier (aider)
7aa4e44317 fix: Correct line/lines pluralization in command output messages 2024-11-21 06:30:52 -08:00
Paul Gauthier
2619b92131 fix: Add period to output message for consistency 2024-11-21 06:30:50 -08:00
Paul Gauthier (aider)
28be59582f refactor: Simplify cmd_run to use confirm_ask and add output to cur_messages 2024-11-21 06:28:41 -08:00
Paul Gauthier
f96cc03587 feat: Add opt-in analytics and improve output logging method 2024-11-21 06:25:10 -08:00
Paul Gauthier (aider)
cbd35b0e87 feat: Implement line count for command output in chat 2024-11-21 06:23:34 -08:00
Paul Gauthier
443acbe4b5 fix: Correct command output confirmation logic in base coder 2024-11-21 06:23:32 -08:00
Paul Gauthier
1f0d26e8c7 better over time plot 2024-11-20 20:19:44 -08:00
Paul Gauthier
8302e9d0dd improved over time plot 2024-11-20 20:16:35 -08:00
Paul Gauthier (aider)
c797af020a refactor: Update fontsize to use LABEL_FONT_SIZE constant in over_time.py 2024-11-20 20:13:46 -08:00
Paul Gauthier (aider)
1c85afa320 feat: Add LABEL_FONT_SIZE constant for dot label font size 2024-11-20 20:13:33 -08:00
Paul Gauthier
eb5317f8e5 fix: Adjust annotation vertical offset for brown color in over_time plot 2024-11-20 20:13:30 -08:00
Paul Gauthier (aider)
8b860615b8 style: Increase font size for scatter plot dot labels 2024-11-20 20:10:40 -08:00
Paul Gauthier (aider)
c15ac341e2 refactor: Remove Opus and Llama model variants from legend labels 2024-11-20 20:07:52 -08:00
Paul Gauthier (aider)
c2c7ee1047 feat: Change Opus label to "Opus" in legend 2024-11-20 20:06:48 -08:00
Paul Gauthier (aider)
72c46ccec6 feat: Add labels for Claude 3 Opus, Sonnet, and O1 Preview models 2024-11-20 20:06:04 -08:00
Paul Gauthier (aider)
dd3bfaee01 style: Format code with consistent indentation and line breaks 2024-11-20 20:05:24 -08:00
Paul Gauthier (aider)
03206ad90e feat: Add line labels directly on first points instead of using legend 2024-11-20 20:05:18 -08:00
Paul Gauthier (aider)
2e00307190 feat: Add color and legend label for o1-preview models 2024-11-20 20:03:49 -08:00
Paul Gauthier (aider)
b3e29ab20e style: Apply linter formatting to benchmark code 2024-11-20 20:02:52 -08:00
Paul Gauthier (aider)
5504ac535b feat: Add simplified model names for legend labels 2024-11-20 20:02:48 -08:00
Paul Gauthier (aider)
4b3dd7f4ea style: Apply linter formatting to over_time.py 2024-11-20 19:59:43 -08:00
Paul Gauthier (aider)
8edf9540d5 feat: Add legend to plot and remove point labels 2024-11-20 19:59:38 -08:00
Paul Gauthier
1c62ecd1b5 style: Adjust x-axis label rotation angle for better readability 2024-11-20 19:59:36 -08:00
Paul Gauthier
7cf3d9f3ce style: Increase annotation font size in benchmark plot 2024-11-20 19:45:42 -08:00
Paul Gauthier
9b5a703307 updated models-over-time 2024-11-20 19:40:59 -08:00
Paul Gauthier (aider)
370993cbed style: Rotate point labels by 45 degrees in benchmark plot 2024-11-20 18:47:30 -08:00
Paul Gauthier
ddc538cdfa refactor: Adjust plot figure size and y-axis limits for better visualization 2024-11-20 18:47:28 -08:00
Paul Gauthier (aider)
062dc43c87 style: Make graph aspect ratio square 2024-11-20 18:43:18 -08:00
Paul Gauthier (aider)
7d9b986c04 feat: Add cyan color and line for Mistral models in visualization 2024-11-20 18:38:06 -08:00
Paul Gauthier
bd2b9a12ed style: Change Qwen model color from purple to darkblue 2024-11-20 18:38:04 -08:00
Paul Gauthier (aider)
2b55707738 feat: Add purple color and line for Qwen models in visualization 2024-11-20 18:35:25 -08:00
Paul Gauthier (aider)
093540507e feat: Add pink color and line for Haiku models in benchmark visualization 2024-11-20 18:33:54 -08:00
Paul Gauthier (aider)
8f1dcfda07 feat: Add brown color for DeepSeek models in benchmark visualization 2024-11-20 18:31:46 -08:00
Paul Gauthier
16b319174b refactor: Simplify model color detection logic for Sonnet models 2024-11-20 18:31:44 -08:00
Paul Gauthier (aider)
35115f5707 feat: Add orange color for Claude 3 Sonnet models in benchmark visualization 2024-11-20 18:30:09 -08:00
Paul Gauthier
e9e51db9c7 improve precision, tests 2024-11-20 18:20:18 -08:00
Paul Gauthier (aider)
ec39f018e2 test: Update test_is_uuid_in_percentage with full-length UUIDs 2024-11-20 17:58:52 -08:00
Paul Gauthier
59f4a3bcc7 test: Update UUID percentage threshold test case 2024-11-20 17:58:50 -08:00
Paul Gauthier (aider)
1a8949eea3 fix: Correct UUID percentage calculation in analytics method 2024-11-20 17:58:18 -08:00
Paul Gauthier
fa85bdceed fix: Correct sampling logic by changing <= to < in UUID comparison 2024-11-20 17:58:16 -08:00
Paul Gauthier (aider)
6b703244ec fix: Correct percentage calculation in is_uuid_in_percentage method 2024-11-20 17:56:07 -08:00
Paul Gauthier (aider)
1a1cb0d3f1 fix: Correct percentage calculation in UUID sampling method 2024-11-20 17:55:40 -08:00
Paul Gauthier (aider)
95c9863d0a style: Fix linter formatting in analytics module 2024-11-20 17:54:22 -08:00
Paul Gauthier (aider)
82187f6a71 refactor: Extract UUID percentage testing logic into a separate method with tests 2024-11-20 17:54:16 -08:00
Paul Gauthier (aider)
75f52a1324 refactor: Improve user sampling logic with configurable percentage 2024-11-20 17:52:52 -08:00
Paul Gauthier
6e076a40a9 refactor: Modify analytics sampling logic to use 1% of users 2024-11-20 17:52:50 -08:00
Paul Gauthier
ded60036cb copy 2024-11-20 17:43:51 -08:00
Paul Gauthier
539a6cde63 feat: Enhance analytics opt-in logic with user sampling and explicit control 2024-11-20 16:22:01 -08:00
Paul Gauthier
3a28e74d89 copy 2024-11-20 16:03:51 -08:00
Paul Gauthier
c93f3faed9 cleanup openrouter/qwen/qwen-2.5-coder-32b-instruct in resources 2024-11-20 15:33:00 -08:00
Paul Gauthier
1aaa3d9279 gpt-4o-2024-11-20 2024-11-20 15:31:47 -08:00
Paul Gauthier
a06a9ed7d8 show the /editor message 2024-11-20 15:31:32 -08:00
Paul Gauthier
18a88596a6 Added gpt-4o-2024-11-20 2024-11-20 11:33:16 -08:00
Paul Gauthier (aider)
2ac077603b feat: Update add_to_input_history to immediately update prompt session history 2024-11-20 08:16:55 -08:00
Paul Gauthier (aider)
3bb8b163b8 feat: Update HISTORY.md with new release notes entries 2024-11-20 08:09:53 -08:00
Paul Gauthier (aider)
aac45097ca fix: Save empty dict to cache file on download failure 2024-11-20 07:57:56 -08:00
Paul Gauthier (aider)
788956e86d refactor: Update cache TTL in ModelInfoManager even on download failure 2024-11-20 07:56:28 -08:00
Paul Gauthier
e917424f5d copy 2024-11-20 07:13:15 -08:00
Paul Gauthier
1f6a5d04d9 chore: Update edit leaderboard with new Mistral model performance data 2024-11-20 07:09:38 -08:00
Paul Gauthier (aider)
dba844c7f9 style: Format code with linter 2024-11-19 17:45:44 -08:00
Paul Gauthier (aider)
09c11ef8ad test: Add --yes flag to prevent EOFError in test cases 2024-11-19 17:45:40 -08:00
Paul Gauthier
ff21669bb5 copy 2024-11-19 17:42:34 -08:00
Paul Gauthier
a059ca2537 refactor: Improve release notes display logic and user interaction flow 2024-11-19 17:41:57 -08:00
Paul Gauthier
f4531b9434 docs: Add release notes URL and section in HISTORY.md 2024-11-19 17:38:17 -08:00
Paul Gauthier (aider)
05b350ac4b style: Fix linter formatting in main.py 2024-11-19 17:37:19 -08:00
Paul Gauthier (aider)
cfba315a85 fix: Replace utils.open_url with webbrowser.open to resolve AttributeError 2024-11-19 17:37:14 -08:00
Paul Gauthier
12188b6684 refactor: Simplify release notes display logic in main function 2024-11-19 17:37:13 -08:00
Paul Gauthier (aider)
725b2fc16f style: Apply linter formatting to main.py 2024-11-19 17:33:22 -08:00
Paul Gauthier (aider)
90a28e31e8 feat: Add --show-release-notes option to control release notes display 2024-11-19 17:33:16 -08:00
Paul Gauthier
c057b00e08 refactor: Move release notes offer after announcements in main function 2024-11-19 17:33:13 -08:00
Paul Gauthier (aider)
b0c0104ba3 feat: Implement release notes URL offer on first run 2024-11-19 17:30:30 -08:00
Paul Gauthier
855b184e91 feat: Add TODO for displaying release notes on first run 2024-11-19 17:30:29 -08:00
Paul Gauthier (aider)
bc88242dc0 refactor: Move version check to main and pass to check_and_load_imports 2024-11-19 17:27:02 -08:00
Paul Gauthier (aider)
6357cd623f style: Apply linter formatting to main.py 2024-11-19 17:25:02 -08:00
Paul Gauthier (aider)
d3e7d20e30 refactor: Extract version checking logic into separate function 2024-11-19 17:24:57 -08:00
Paul Gauthier
7b568c2df3 copy 2024-11-19 17:22:08 -08:00
Paul Gauthier
2bff0522e8 refactor: Restructure file mention check and interrupt handling in base coder 2024-11-19 16:37:02 -08:00
Paul Gauthier (aider)
77e180171c style: Break long comment into two lines for flake8 compliance 2024-11-19 14:48:22 -08:00
Paul Gauthier (aider)
1e8fc97ba4 style: Apply linter formatting to test_models.py 2024-11-19 14:48:11 -08:00
Paul Gauthier (aider)
a799851832 fix: Resolve temporary file permission issues in test_models.py 2024-11-19 14:48:06 -08:00
Paul Gauthier
2c81105bfc copy 2024-11-19 14:33:21 -08:00
Paul Gauthier
bf99ac56a0 copy 2024-11-19 12:45:56 -08:00
Paul Gauthier
8bfb47948a copy 2024-11-19 12:45:00 -08:00
Paul Gauthier (aider)
b8c41198a3 docs: Add documentation links to v0.63.3 release notes 2024-11-19 12:43:17 -08:00
Paul Gauthier (aider)
fe138ac05b feat: Update HISTORY.md with v0.63.3 release details 2024-11-19 12:42:44 -08:00
Paul Gauthier
bed62fdcb5 chore: Update HISTORY.md for Aider v0.63.2 release 2024-11-19 12:42:41 -08:00
Paul Gauthier
f068df0297 copy 2024-11-19 12:40:09 -08:00
Paul Gauthier
6a05e34d20 copy 2024-11-19 12:37:16 -08:00
Paul Gauthier (aider)
8b69b9c6a4 docs: Add documentation for new multiline tag input method 2024-11-19 12:36:55 -08:00
Paul Gauthier (aider)
10192296fe style: Format code with linter 2024-11-19 12:34:47 -08:00
Paul Gauthier (aider)
7b98db2f7d fix: Escape f-string brace in multiline input tag handling 2024-11-19 12:34:43 -08:00
Paul Gauthier (aider)
81696c2e7a feat: Add support for optional multiline input tags with matching closing tag 2024-11-19 12:34:25 -08:00
Paul Gauthier
16a4f823bd refactor: Move pipe_editor import and return user input in cmd_editor method 2024-11-19 12:30:41 -08:00
Paul Gauthier
39bbfc56a4 copy 2024-11-19 12:30:30 -08:00
Paul Gauthier (aider)
308c49b2d8 fix: Modify discover_editor to dynamically check platform system 2024-11-19 12:26:37 -08:00
Paul Gauthier (aider)
53e46a9251 refactor: Remove unused platform import from test_editor.py 2024-11-19 12:26:06 -08:00
Paul Gauthier (aider)
6075b3dc33 style: Reorder imports and add whitespace in test_editor.py 2024-11-19 12:25:50 -08:00
Paul Gauthier (aider)
860a828973 test: Add comprehensive tests for editor module functionality 2024-11-19 12:25:46 -08:00
Paul Gauthier
033eaa36c6 test: Add test_editor.py for basic editor functionality 2024-11-19 12:25:44 -08:00
Paul Gauthier
b3566f5449 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-19 12:23:12 -08:00
paul-gauthier
f1306d3301 Merge pull request #2234 from thehunmonkgroup/main
add /editor command
2024-11-19 12:22:37 -08:00
Paul Gauthier
cc18441435 refactor: Update model settings name from "aider/extra" to "aider/extra_params" 2024-11-19 12:15:11 -08:00
Paul Gauthier (aider)
7e787d93e6 docs: Add documentation for aider/extra_params pseudo-model settings 2024-11-19 12:10:28 -08:00
Paul Gauthier
b08f444e74 docs: Remove default and override settings section from documentation 2024-11-19 12:10:26 -08:00
Paul Gauthier (aider)
09c1acdbe2 fix: Update model settings override name to match test configuration 2024-11-19 12:07:42 -08:00
Paul Gauthier (aider)
7a4a956eff fix: Remove unexpected skip_name argument in _copy_fields() method 2024-11-19 12:07:08 -08:00
Paul Gauthier (aider)
aabbf5a72f refactor: Remove unused import and add ANTHROPIC_BETA_HEADER import 2024-11-19 12:06:29 -08:00
Paul Gauthier (aider)
5ed44bb174 style: Format test_models.py with consistent whitespace and trailing commas 2024-11-19 12:06:19 -08:00
Paul Gauthier (aider)
92cf2cbd47 test: Implement TODOs in test_aider_extra_model_settings 2024-11-19 12:06:15 -08:00
Paul Gauthier
34aff6c786 test: Update model settings test to check extra parameters 2024-11-19 12:06:13 -08:00
Paul Gauthier (aider)
11f10e586a fix: Remove unused functools.wraps import 2024-11-19 12:03:14 -08:00
Paul Gauthier (aider)
a31feae2bd style: Apply linter formatting to models.py 2024-11-19 12:02:49 -08:00
Paul Gauthier (aider)
3517d58f01 feat: Implement deep merge for extra model settings with nested dict support 2024-11-19 12:02:44 -08:00
Paul Gauthier
9d13fadd41 refactor: Simplify model settings configuration and remove tracking decorator 2024-11-19 12:02:42 -08:00
Paul Gauthier (aider)
c1febce528 fix: Remove unused imports and add missing register_models import 2024-11-19 11:50:12 -08:00
Paul Gauthier (aider)
e0aadbd961 style: Format code with linter and improve readability 2024-11-19 11:50:01 -08:00
Paul Gauthier (aider)
7b9a76c5ea refactor: Use temporary YAML file for model settings in test_default_and_override_settings 2024-11-19 11:49:57 -08:00
Paul Gauthier
6133fa8384 test: Update test cases with new edit_format value 2024-11-19 11:49:55 -08:00
Paul Gauthier (aider)
67cc215ed3 style: Apply linter formatting to models.py 2024-11-19 11:45:37 -08:00
Paul Gauthier (aider)
ea4ad2ea4d feat: Add track_init_fields decorator to track explicitly set fields in ModelSettings 2024-11-19 11:45:32 -08:00
Paul Gauthier
847454a4f7 fix: Remove debug dump statement in ModelSettings initialization 2024-11-19 11:45:31 -08:00
Paul Gauthier (aider)
8cba1fdd71 feat: Track and copy only explicitly set fields in ModelSettings 2024-11-19 10:11:44 -08:00
Paul Gauthier
e56112739c refactor: Add debug dump calls for edit_format in Model initialization 2024-11-19 10:11:42 -08:00
Paul Gauthier (aider)
76988b746f refactor: Remove unused call import and rename loop variable 2024-11-19 10:05:01 -08:00
Paul Gauthier (aider)
32eb365a0b style: Reorder imports in test_models.py 2024-11-19 10:04:45 -08:00
Paul Gauthier (aider)
2c5feddad5 test: Add imports for ModelSettings and MODEL_SETTINGS 2024-11-19 10:04:41 -08:00
Paul Gauthier (aider)
210500ff3e style: Apply linter formatting to test_models.py 2024-11-19 10:04:23 -08:00
Paul Gauthier (aider)
7c8f10e832 test: Add tests for default and override model settings 2024-11-19 10:04:19 -08:00
Paul Gauthier (aider)
644da2f9e4 docs: Add documentation for aider/default and aider/override model settings 2024-11-19 10:03:26 -08:00
Paul Gauthier (aider)
2a80d9c555 feat: Apply generic model settings when no exact model match found 2024-11-19 10:02:25 -08:00
Paul Gauthier
76f8791f3c refactor: Restructure model settings application with early returns and simplified logic 2024-11-19 10:02:24 -08:00
Paul Gauthier (aider)
c51a013109 refactor: Extract field copying logic into reusable _copy_fields method 2024-11-19 10:00:23 -08:00
Paul Gauthier (aider)
88c2f95ea5 style: Format code with linter 2024-11-19 09:59:27 -08:00
Paul Gauthier (aider)
062fa7de78 refactor: Enhance model settings configuration with default and override handling 2024-11-19 09:59:22 -08:00
Paul Gauthier
d6c1a41e8d feat: Add Timeout exception to handle API provider timeouts 2024-11-19 09:27:16 -08:00
Paul Gauthier
20ab5f9326 copy 2024-11-19 06:52:15 -08:00
Paul Gauthier
ab5a8b24a5 updated blame 2024-11-18 13:56:46 -08:00
Paul Gauthier (aider)
21a28623ca feat: Explicitly include specific markdown files in blame script 2024-11-18 13:46:43 -08:00
Paul Gauthier (aider)
06a5fec612 feat: Include .md files from aider/website/share/ in blame statistics 2024-11-18 13:45:50 -08:00
Paul Gauthier (aider)
46ecb8a663 feat: Enhance share page security with markdown sanitization and error handling 2024-11-18 13:40:15 -08:00
Paul Gauthier (aider)
3c9c6eef6e feat: Add URL validation and Content Security Policy to share page 2024-11-18 13:37:02 -08:00
Paul Gauthier
72734de376 copy 2024-11-18 13:28:47 -08:00
Paul Gauthier
a20ea09a6e refactor: Remove redundant streaming=False from model settings 2024-11-18 13:28:14 -08:00
Paul Gauthier (aider)
4bd7bce232 docs: Add example of using .aiderignore to focus on specific directories in monorepo 2024-11-18 13:22:55 -08:00
Paul Gauthier
8adf42216d copy 2024-11-18 07:47:30 -08:00
Paul Gauthier (aider)
5f40aaabb5 style: Lint and clean up code formatting in issues.py script 2024-11-18 07:46:28 -08:00
Paul Gauthier (aider)
5295abbb83 style: Move #noqa comments to triple-quoted strings in issues.py 2024-11-18 07:46:23 -08:00
Paul Gauthier
201abe1524 refactor: Improve code formatting and add noqa comment in issues.py script 2024-11-18 07:46:00 -08:00
Paul Gauthier (aider)
6d26051d11 style: Reformat long string literals using parentheses 2024-11-18 07:44:54 -08:00
Paul Gauthier (aider)
4613bf78d5 feat: Add BOT_SUFFIX to issue comment templates 2024-11-18 07:44:50 -08:00
Paul Gauthier
1f8fdc6f5c refactor: Update issue script comments and add bot suffix 2024-11-18 07:44:48 -08:00
Paul Gauthier
abf804cf10 set version to 0.63.3.dev 2024-11-18 07:30:21 -08:00
Paul Gauthier
d7a195706f version bump to 0.63.2 2024-11-18 07:29:05 -08:00
Paul Gauthier
569370109a copy 2024-11-18 07:11:46 -08:00
Paul Gauthier
eae3f04c83 copy 2024-11-18 06:57:35 -08:00
Paul Gauthier (aider)
ee0987f331 feat: Update HISTORY.md with recent changes since v0.63.1 2024-11-18 06:57:04 -08:00
Paul Gauthier (aider)
bdafa842bd fix: Add missing time import for time.sleep() in write_text method 2024-11-15 16:23:37 -08:00
Paul Gauthier (aider)
76c7c2562c style: Format code with linter for improved readability 2024-11-15 16:23:26 -08:00
Paul Gauthier (aider)
f7de2234f2 fix: Handle different OSError types in write_text method 2024-11-15 16:23:21 -08:00
Paul Gauthier
c725c45726 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-15 16:22:23 -08:00
paul-gauthier
383bef456d Merge pull request #2381 from mark-asymbl/write_text_file_lock_fix
Added io.py write_text exponential backoff to gracefully handle transient file locks
2024-11-15 16:21:40 -08:00
mw
7f48f3d01d Added write_text exponential backoff to
Discord thread ID: 1306776889762906123

Resolve issue where Aider fails to write multiple, consecutive changes to a single file due to Visual Studio briefly locking a file for writing after it was edited. Presumably VS is doing some sort of processing, such as for IntelliSense, behind the scenes. This solution is applicable to other, similar editor/IDE behaviors.
2024-11-15 15:04:25 -08:00
Paul Gauthier
0bf17a48f7 copy 2024-11-15 07:42:17 -08:00
Paul Gauthier (aider)
c127f8f2f0 chore: Update HISTORY.md with v0.63.1 and v0.63.2 release notes 2024-11-15 07:37:14 -08:00
Paul Gauthier
d4d5d15e18 fix: Handle missing litellm_provider in fuzzy model matching 2024-11-15 06:14:15 -08:00
Paul Gauthier
b254afa498 refactor: Modify model metadata file loading to prioritize resource file 2024-11-15 05:33:59 -08:00
Paul Gauthier
0ce5a94c15 bumped deps 2024-11-15 05:29:29 -08:00
Paul Gauthier
38a5405c65 copy 2024-11-14 15:30:49 -08:00
Paul Gauthier
ecef784686 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-14 15:27:51 -08:00
Paul Gauthier
e82b2c12b4 cleanup 2024-11-14 15:27:40 -08:00
Paul Gauthier (aider)
3c26ced8db style: Apply linter formatting to main.py 2024-11-14 15:18:54 -08:00
Paul Gauthier (aider)
2681a41abb refactor: Expand read-only file paths to include all files in directories 2024-11-14 15:18:47 -08:00
Paul Gauthier
805deb1002 feat: Add comment to expand read-only directory files 2024-11-14 15:18:45 -08:00
Paul Gauthier
6b792de802 copy 2024-11-14 15:15:23 -08:00
paul-gauthier
26f8e34dcb Merge pull request #2369 from josx/fix_contrib_pytest_filename 2024-11-14 07:33:53 -08:00
José Luis Di Biase
e0c1b2458c fix: typo pytest filename 2024-11-14 12:27:12 -03:00
Paul Gauthier
66f94d2141 set version to 0.63.2.dev 2024-11-14 06:56:43 -08:00
Paul Gauthier
503a9a0038 version bump to 0.63.1 2024-11-14 06:55:05 -08:00
Paul Gauthier
d8a5bc3ae9 Revert "Merge branch 'issue2283'"
This reverts commit e1a1e43c3a, reversing
changes made to c538817b61.
2024-11-14 06:53:21 -08:00
Paul Gauthier (aider)
94c3957d92 fix: Add error handling for git.ignored() method 2024-11-14 06:48:35 -08:00
Paul Gauthier
266350b8ce fix: Handle potential git errors in git_ignored_file method 2024-11-14 06:48:33 -08:00
Paul Gauthier
fedaede3b0 Merge branch 'main' into watch 2024-11-14 06:47:58 -08:00
Paul Gauthier (aider)
721d852cc7 feat: Add vertical spacing div to improve FAQ anchor link behavior 2024-11-13 16:23:50 -08:00
Paul Gauthier
ffbf205aba docs: Add explanation for aider code stats computation 2024-11-13 16:20:07 -08:00
Paul Gauthier
e1a1e43c3a Merge branch 'issue2283' 2024-11-13 13:43:30 -08:00
Paul Gauthier
c538817b61 updated blame 2024-11-13 13:43:05 -08:00
Paul Gauthier
71d85d2771 fix: Update Qwen 2.5 Coder 32b model configuration condition 2024-11-13 13:40:35 -08:00
Paul Gauthier
69f4d5fca7 set version to 0.63.1.dev 2024-11-13 13:37:03 -08:00
Paul Gauthier
bb31fc5301 version bump to 0.63.0 2024-11-13 13:35:36 -08:00
Paul Gauthier
87ce51e314 copy 2024-11-13 13:32:20 -08:00
Paul Gauthier
33555ca2ea refactor: Simplify file display logic and label formatting 2024-11-13 13:31:38 -08:00
Paul Gauthier (aider)
6fc3776c0c style: Fix linter warnings in io.py 2024-11-13 13:27:11 -08:00
Paul Gauthier (aider)
8a05f05bd4 refactor: Improve file list display logic with line-based spacing 2024-11-13 13:27:06 -08:00
Paul Gauthier (aider)
0dff51920e feat: Conditionally print blank line between file sections based on file count 2024-11-13 13:26:09 -08:00
Paul Gauthier
262f217d04 style: Shorten file list labels for cleaner display 2024-11-13 13:26:08 -08:00
Paul Gauthier (aider)
8b9154bab0 feat: Add labels to read-only and editable files columns 2024-11-13 13:24:51 -08:00
Paul Gauthier (aider)
533613d92b fix: Remove unused repo variable in test_cmd_add_gitignored_file 2024-11-13 13:22:57 -08:00
Paul Gauthier
20d87e1136 refactor: Remove unnecessary .gitignore commit in test setup 2024-11-13 13:22:45 -08:00
Paul Gauthier (aider)
1450c4194e test: Add test to verify cmd_add respects .gitignore files 2024-11-13 13:20:52 -08:00
Paul Gauthier
bc82baa968 refactor: Reorder git ignored file check to handle non-git repos 2024-11-13 13:18:09 -08:00
Paul Gauthier
218623be28 feat: Add git_ignored_file method to check files against gitignore 2024-11-13 13:12:25 -08:00
Paul Gauthier
ea1a4ecdc6 fix: Handle empty content in reply_completed method 2024-11-13 12:57:45 -08:00
Paul Gauthier
6acbff3c11 fix: Handle empty content in ArchitectCoder reply_completed method 2024-11-13 12:57:38 -08:00
Paul Gauthier
153021efcf fix: Handle OSError in get_rel_repo_dir method for edge cases 2024-11-13 12:51:27 -08:00
Paul Gauthier
fef1b59b42 refactor: Restructure file mention check and interrupt handling in base coder 2024-11-13 12:50:17 -08:00
Paul Gauthier
733b11b7d4 copy 2024-11-13 12:40:43 -08:00
Paul Gauthier
400514ff10 fix: Remove hardcoded reminder and add Qwen 2.5 coder model configuration 2024-11-13 12:36:28 -08:00
Paul Gauthier
bbfac316fc feat: Add model metadata for Qwen 2.5 Coder 32B Instruct model 2024-11-13 12:24:32 -08:00
Paul Gauthier
7d0b67f70e copy 2024-11-12 19:12:19 -08:00
Paul Gauthier
d0f1b38848 feat: Add Qwen 2.5 Coder 32B model settings and improve model loading robustness 2024-11-12 19:10:48 -08:00
Paul Gauthier
4d4b5bc366 chore: Remove model-metadata.json file 2024-11-12 18:38:59 -08:00
Paul Gauthier
1f39c7ef0d refactor: Improve model info retrieval logic in ModelInfoManager 2024-11-12 18:37:33 -08:00
Paul Gauthier (aider)
2e97fcc47f fix: Remove double-counting of cached tokens in token calculation 2024-11-11 17:19:11 -08:00
Paul Gauthier
550c8322c4 copy 2024-11-11 15:54:38 -08:00
Paul Gauthier (aider)
2467e23033 feat: Add vertex_ai/gemini-pro-experimental model with diff-fenced edit mode 2024-11-11 15:53:53 -08:00
Paul Gauthier
0e53198c59 do not swallow litellm.get_model_info() exceptions #2318 2024-11-11 15:15:24 -08:00
Paul Gauthier
94ff9dc0a4 Merge branch 'main' into watch 2024-11-11 14:51:38 -08:00
Paul Gauthier
44063590e2 copy 2024-11-11 10:30:23 -08:00
Paul Gauthier
557f25bf80 copy 2024-11-11 10:30:00 -08:00
paul-gauthier
190531543f Merge pull request #2335 from Hambaobao/qwen2.5-coder-32b-diff-results
Add diff format evaluation results of Qwen2.5-Coder-32B-Instruct.
2024-11-11 10:29:16 -08:00
Paul Gauthier
acfb7c3a89 fix: Handle git repo initialization errors gracefully 2024-11-11 09:56:19 -08:00
Paul Gauthier
94a6d3bc7e fix: Handle case when current working directory is inaccessible in git setup 2024-11-11 09:55:23 -08:00
Paul Gauthier (aider)
5751bcd382 refactor: Move Path.cwd() call to top of setup_git and add OSError handling 2024-11-11 09:54:43 -08:00
Paul Gauthier
21b88c0e65 refactor: Update language reply prompts to use {language} placeholder 2024-11-11 09:38:30 -08:00
Paul Gauthier
f66b916d4b feat: Add language configuration for user communication in prompts 2024-11-11 09:36:23 -08:00
柏枫
bd9c43a48d Add evaluation results for Qwen2.5-Coder-32B-Instruct using the diff format. 2024-11-12 01:23:19 +08:00
Paul Gauthier
352b91f342 copy 2024-11-11 08:46:08 -08:00
Paul Gauthier
be6e3254ea copy 2024-11-11 08:45:42 -08:00
paul-gauthier
dd1ee209ab Merge pull request #2334 from Hambaobao/qwen2.5-coder-series-results
Add Evaluation Results of Qwen2.5-Coder Series.
2024-11-11 08:43:51 -08:00
柏枫
c0b1101a52 Add evaluation results of Qwen2.5-Coder series. 2024-11-11 20:18:30 +08:00
Paul Gauthier
52c49fc8fd feat: Add option to return web scrape content instead of printing 2024-11-08 14:27:59 -08:00
Paul Gauthier
77cb64958e refactor: Modify URL scraping and message handling in commands 2024-11-08 14:23:55 -08:00
Paul Gauthier (aider)
b3d13e44b2 refactor: Modify cmd_web to add scraped content to cur_messages as assistant reply 2024-11-08 14:21:59 -08:00
Paul Gauthier
9dd7b795ca fix: Handle NotFoundError in send chat test with single print call 2024-11-08 14:18:23 -08:00
Paul Gauthier (aider)
7a8399571a fix: Handle non-retryable errors by returning None in simple_send_with_retries 2024-11-08 10:03:49 -08:00
Paul Gauthier (aider)
d0e85d9c2c style: Apply linter formatting to sendchat.py and test_sendchat.py 2024-11-08 10:02:54 -08:00
Paul Gauthier (aider)
14d02bc843 fix: Handle None response and update InvalidRequestError test 2024-11-08 10:02:48 -08:00
Paul Gauthier (aider)
b79c09cf58 refactor: Remove unused CACHE import from test_sendchat.py 2024-11-08 10:01:45 -08:00
Paul Gauthier (aider)
c9dfe5daff style: Organize imports and format code in test_sendchat.py 2024-11-08 10:01:16 -08:00
Paul Gauthier (aider)
092e7f6b3c test: Add comprehensive tests for sendchat module functionality 2024-11-08 10:01:11 -08:00
Paul Gauthier (aider)
203634314c style: Format code with linter 2024-11-08 10:00:33 -08:00
Paul Gauthier (aider)
c472e6e160 fix: Update test_exceptions.py to provide required arguments for litellm exceptions 2024-11-08 10:00:30 -08:00
Paul Gauthier (aider)
86d9275375 refactor: Remove unused pytest import from test_exceptions.py 2024-11-08 09:59:44 -08:00
Paul Gauthier (aider)
9db6780af6 style: Sort imports and add whitespace in test_exceptions.py 2024-11-08 09:59:30 -08:00
Paul Gauthier (aider)
e10205ff69 test: Add comprehensive tests for LiteLLMExceptions module 2024-11-08 09:59:25 -08:00
Paul Gauthier
9f539436b8 test: Add test_exceptions.py to basic test suite 2024-11-08 09:59:23 -08:00
Paul Gauthier
acd75e1083 copy 2024-11-08 09:58:21 -08:00
Paul Gauthier
f30225db90 removing buggy close-stale.yml workflow 2024-11-08 09:58:06 -08:00
Paul Gauthier (aider)
007305962a style: Remove unnecessary line breaks in comment_url assignment 2024-11-08 09:56:20 -08:00
Paul Gauthier (aider)
8065e38797 style: Wrap long comment_url line to fix flake8 line length error 2024-11-08 09:56:15 -08:00
Paul Gauthier (aider)
34dc684867 style: Remove unnecessary line breaks in comment_url assignment 2024-11-08 09:56:06 -08:00
Paul Gauthier (aider)
7edc9603d0 fix: Break long line to resolve flake8 line length error 2024-11-08 09:55:59 -08:00
Paul Gauthier (aider)
479d476878 style: Format code with consistent indentation and line breaks 2024-11-08 09:55:42 -08:00
Paul Gauthier (aider)
92bbec1852 feat: Add function to process and close stale issues after 7 days of inactivity 2024-11-08 09:55:37 -08:00
Paul Gauthier
d406636878 refactor: Improve issue output formatting and message clarity 2024-11-08 09:55:35 -08:00
Paul Gauthier (aider)
6362199363 fix: Reorder stale label and comment operations in handle_stale_issues 2024-11-08 09:25:11 -08:00
Paul Gauthier
22dbcb7590 refactor: Update stale issue comment text for clarity and conciseness 2024-11-08 09:25:09 -08:00
Paul Gauthier (aider)
cefea38ee5 feat: Add issue URL to stale issue output for easier navigation 2024-11-08 09:17:55 -08:00
Paul Gauthier (aider)
d44cd01493 refactor: Add noqa comment to stale comment line to resolve flake8 warning 2024-11-08 09:11:41 -08:00
Paul Gauthier (aider)
e578655653 style: Format Python code with linter 2024-11-08 09:11:24 -08:00
Paul Gauthier (aider)
434dc27557 feat: Add stale issue detection for question-labeled issues with no activity 2024-11-08 09:11:19 -08:00
Paul Gauthier
d4a88d08e4 Merge branch 'main' into watch 2024-11-07 13:44:51 -08:00
Paul Gauthier
79af39bd2c fix: Change tool_output to tool_warning for error message logging 2024-11-07 13:22:28 -08:00
Paul Gauthier (aider)
20d5a9fd4b style: Run linter to clean up whitespace in test_sendchat.py 2024-11-07 13:09:52 -08:00
Paul Gauthier (aider)
80e57ca074 fix: Remove unused import of httpx in test_sendchat.py 2024-11-07 13:09:50 -08:00
Paul Gauthier
8a3c95d8dd feat: Add LiteLLMExceptions loading in test for send chat functionality 2024-11-07 13:09:47 -08:00
Paul Gauthier
4941a360cb fix: Restore import of LiteLLMExceptions in base_coder.py 2024-11-07 13:02:17 -08:00
Paul Gauthier (aider)
9e7219c4d6 style: Run linter to clean up code formatting in sendchat.py 2024-11-07 13:02:10 -08:00
Paul Gauthier (aider)
4d96728709 fix: Remove unused import of 'backoff' in sendchat.py 2024-11-07 13:02:07 -08:00
Paul Gauthier
816fd5e65c refactor: Simplify error handling and remove unused retry exceptions code 2024-11-07 13:02:04 -08:00
Paul Gauthier (aider)
8d4175536f style: fix linting issues and whitespace in exceptions.py 2024-11-07 12:45:32 -08:00
Paul Gauthier (aider)
bba9ca3d5a feat: add get_ex_info method to lookup exception info 2024-11-07 12:45:29 -08:00
Paul Gauthier
8bc9ebf2aa feat: add LiteLLM exception handling with ExInfo dataclass 2024-11-07 12:45:27 -08:00
Paul Gauthier (aider)
dad335b8b6 refactor: remove unused comment from LiteLLMExceptions class 2024-11-07 12:19:45 -08:00
Paul Gauthier
62e93d4002 feat: add custom exceptions module 2024-11-07 12:19:41 -08:00
Paul Gauthier
728f4a0f81 copy 2024-11-07 11:54:53 -08:00
Paul Gauthier
0cafd6ee4b Merge branch 'main' of github.com:Aider-AI/aider 2024-11-07 11:50:28 -08:00
Paul Gauthier
2962e51dac test: Add webbrowser patching to TestCoder and fix argument order in test_sanity_check_repo 2024-11-07 11:48:17 -08:00
Paul Gauthier (aider)
cf5733b237 style: fix import order in test_sanity_check_repo.py 2024-11-07 11:47:39 -08:00
Paul Gauthier (aider)
c96e3326bc fix: update test to check for offer_url instead of confirm_ask 2024-11-07 11:47:35 -08:00
Paul Gauthier
1cd373c0a5 test: fix git index version test to use offer_url instead of confirm_ask 2024-11-07 11:47:33 -08:00
Paul Gauthier
ae970cf2da fix: Update webbrowser patch to use correct module path 2024-11-07 11:35:40 -08:00
Paul Gauthier
d43a01f182 cleanup 2024-11-07 11:29:47 -08:00
Paul Gauthier
42aac55b82 use offer_url 2024-11-07 11:29:05 -08:00
Paul Gauthier
a66f31dc87 bugfix 2024-11-07 11:28:52 -08:00
Paul Gauthier (aider)
64c48f2151 refactor: remove unused webbrowser import 2024-11-07 11:23:02 -08:00
Paul Gauthier (aider)
9eead8a904 style: Fix comment formatting and whitespace 2024-11-07 10:30:45 -08:00
Paul Gauthier (aider)
7761bccffe refactor: replace confirm_ask/webbrowser.open with io.offer_url 2024-11-07 10:30:41 -08:00
Paul Gauthier
a848933875 chore: add TODO comment for refactoring URL handling 2024-11-07 10:30:38 -08:00
Paul Gauthier (aider)
e475f3d752 refactor: move webbrowser import to io.py and remove from base_coder.py 2024-11-07 10:26:54 -08:00
Paul Gauthier (aider)
4d24dbc661 style: fix linting issues in io.py header comment 2024-11-07 10:26:41 -08:00
Paul Gauthier (aider)
0368c3fae9 refactor: extract URL opening functionality into dedicated io.offer_url method 2024-11-07 10:26:33 -08:00
Paul Gauthier
2cf93ccb54 refactor: simplify URL opening confirmation prompt 2024-11-07 10:26:31 -08:00
paul-gauthier
3d72cafea4 Merge pull request #2284 from Mushoz/main 2024-11-07 06:07:47 -08:00
Jaap Buurman
af0466ea83 Added Qwen2.5-7b-coder with the updated weights
The Qwen team still calls it Qwen2.5, but as can be seen from the
benchmarks the difference in performance compared to the old weights
is pretty substantial. The GGUF version of this model made by Bartowski
calls it 2.5.1 to differentiate it from the earlier version of the
same model.
2024-11-07 13:18:24 +01:00
Paul Gauthier
c84f2996ec copy 2024-11-06 20:13:38 -08:00
Paul Gauthier
add9b83d3b copy 2024-11-06 20:13:31 -08:00
Paul Gauthier
5411fb6fd4 Merge branch 'main' of github.com:Aider-AI/aider 2024-11-06 20:13:02 -08:00
paul-gauthier
49fc1b40e5 Merge pull request #2277 from lattwood/lattwood/bedrock_claude_feature_parity
Add Sonnet & Haiku ModelSettings for Bedrock
2024-11-06 09:03:18 -08:00
Logan Attwood
daef2eecdd Add Sonnet & Haiku ModelSettings for Bedrock 2024-11-06 12:28:24 -04:00
Paul Gauthier
1520422cc3 copy 2024-11-05 15:39:17 -08:00
Paul Gauthier
c7530085a6 set version to 0.62.2.dev 2024-11-05 12:41:44 -08:00
Paul Gauthier
bf43c567d8 version bump to 0.62.1 2024-11-05 12:40:17 -08:00
Paul Gauthier
b81f3e4f8d style: reorder chart canvas elements in blame.md 2024-11-05 12:11:14 -08:00
Paul Gauthier
97051b9d40 refactor: Replace GitTemporaryDirectory with ChdirTemporaryDirectory 2024-11-05 11:54:27 -08:00
Paul Gauthier
90730845de style: fix indentation in test_editblock.py 2024-11-05 11:43:04 -08:00
Paul Gauthier (aider)
f7c0c433c3 refactor: add mock for sendchat.simple_send_with_retries in test 2024-11-05 11:42:31 -08:00
Paul Gauthier
538752d0cf test: add mock for sendchat.simple_send_with_retries in editblock test 2024-11-05 11:42:30 -08:00
Paul Gauthier
c71a92ac84 fix: handle empty original content when creating new files 2024-11-05 09:14:01 -08:00
Paul Gauthier
85f23b3408 copy 2024-11-05 09:06:56 -08:00
Paul Gauthier
44cab0a4d7 refactor: update Claude model references to use 3.5-haiku-20241022 2024-11-05 09:01:35 -08:00
Paul Gauthier (aider)
33db8ee0c3 feat: enable repo map for Claude 3.5 Haiku models 2024-11-05 08:49:56 -08:00
Paul Gauthier
da4b3770c0 refactor: set use_repo_map=True for Claude 3.5 Haiku models 2024-11-05 08:49:53 -08:00
Paul Gauthier
12698998b9 feat: add verbose output for file processing in RepoMap 2024-11-05 08:48:06 -08:00
Paul Gauthier
6177856baf refactor: simplify issues script by removing redundant flag 2024-11-05 08:45:48 -08:00
Paul Gauthier (aider)
54b9c46b96 style: Fix whitespace in issues.py script 2024-11-05 07:04:15 -08:00
Paul Gauthier (aider)
2dd83e7dbe feat: exclude pull requests from unlabeled issues search 2024-11-05 07:04:11 -08:00
Paul Gauthier (aider)
17351e8f91 refactor: extract issue handling into dedicated functions 2024-11-05 07:02:24 -08:00
Paul Gauthier
e8c153f72f docs: add refactoring comments for issue handling functions 2024-11-05 07:02:22 -08:00
Paul Gauthier
7fc7ea6aba Merge branch 'main' into watch 2024-11-05 07:01:17 -08:00
Paul Gauthier (aider)
ddfd1276c5 style: Format issues.py with black linter 2024-11-05 06:58:44 -08:00
Paul Gauthier (aider)
46251c6a1c feat: add function to find unlabeled issues with paul-gauthier comments 2024-11-05 06:58:40 -08:00
Paul Gauthier
e699968be5 copy 2024-11-05 06:53:13 -08:00
Paul Gauthier
389b58b75b fix: remove premature return after disabling analytics 2024-11-05 06:52:50 -08:00
Paul Gauthier
a7cf34dea4 copy 2024-11-04 15:40:21 -08:00
Paul Gauthier
e601682706 updated blame 2024-11-04 13:00:42 -08:00
Paul Gauthier
55f16dc0b5 copy 2024-11-04 12:53:10 -08:00
Paul Gauthier
775011033f set version to 0.62.1.dev 2024-11-04 12:50:13 -08:00
Paul Gauthier
8ffe21a2dd version bump to 0.62.0 2024-11-04 12:48:44 -08:00
Paul Gauthier
73d63ef5ce copy 2024-11-04 12:37:21 -08:00
Paul Gauthier
e12b1a9184 copy 2024-11-04 12:36:46 -08:00
Paul Gauthier
d099a95b92 copy 2024-11-04 12:36:38 -08:00
Paul Gauthier
496ed90439 copy 2024-11-04 12:17:02 -08:00
Paul Gauthier (aider)
7883db1834 feat: add --haiku flag for claude-3-5-haiku model selection 2024-11-04 12:14:23 -08:00
Paul Gauthier
0cfc23b1a8 refactor: remove unused haiku formatting option 2024-11-04 12:14:22 -08:00
Paul Gauthier (aider)
d33104aec1 refactor: move haiku flag next to sonnet flag in args 2024-11-04 12:13:27 -08:00
Paul Gauthier
711b2a431c chore: add comment about sonnet flag placement 2024-11-04 12:13:25 -08:00
Paul Gauthier (aider)
09d21b5951 feat: add --haiku flag to format responses as haikus 2024-11-04 12:13:05 -08:00
Paul Gauthier
d9193387cc feat: add haiku command line argument placeholder 2024-11-04 12:13:04 -08:00
Paul Gauthier
d5330ae2f3 refactor: update highlight model constant in leaderboard chart 2024-11-04 12:12:32 -08:00
Paul Gauthier (aider)
571c1b47b5 refactor: extract Haiku model name to constant 2024-11-04 12:11:48 -08:00
Paul Gauthier (aider)
0c9d4dd123 fix: update Chart.js scales config and add null checks for labels 2024-11-04 12:09:47 -08:00
Paul Gauthier (aider)
7d79408683 feat: add distinct color for 3.5 Haiku models in leaderboard chart 2024-11-04 12:08:05 -08:00
Paul Gauthier
e6d4c3558b add 3.5 haiku to leaderboard 2024-11-04 11:40:37 -08:00
Paul Gauthier
3be2109964 fix: update Claude 3.5 Haiku models to use diff mode instead of whole 2024-11-04 11:33:40 -08:00
Paul Gauthier
ce37ff26b5 refactor: remove redundant examples_as_sys_msg flag from Claude 3.5 models 2024-11-04 11:32:41 -08:00
Paul Gauthier
03bbdb010f add haiku metadata 2024-11-04 11:18:55 -08:00
Paul Gauthier (aider)
0bde1da42c feat: add Claude 3.5 Haiku model and provider variants 2024-11-04 10:46:55 -08:00
Paul Gauthier
987cb3bca9 feat: add claude-3-haiku model configuration 2024-11-04 10:46:54 -08:00
Paul Gauthier
0b11024967 copy 2024-11-04 10:35:37 -08:00
Paul Gauthier (aider)
dfaaedb466 style: remove empty line at start of main.py 2024-11-04 10:34:27 -08:00
Paul Gauthier (aider)
8bc0d5544d feat: add --apply-clipboard-edits switch for direct clipboard editing 2024-11-04 10:34:21 -08:00
Paul Gauthier
c67e63bc09 feat: add clipboard edit mode via --apply-clipboard-edits flag 2024-11-04 10:34:19 -08:00
Paul Gauthier
129f5fae76 cleanup 2024-11-04 09:09:45 -08:00
Paul Gauthier
966a613ffe fix: handle non-existent files in EditBlockCoder #2233 2024-11-04 09:08:00 -08:00
Paul Gauthier (aider)
96ad107c19 style: add newline before error message in io.py 2024-11-04 09:05:28 -08:00
Paul Gauthier (aider)
ebdc126b00 feat: add traceback printing for file read errors 2024-11-04 09:05:24 -08:00
Paul Gauthier
5e1be966ed chore: add comment about printing traceback stack in error handling 2024-11-04 09:05:23 -08:00
Chad Phillips
8801fda972 formatting fixes 2024-11-04 10:10:37 -06:00
malkoG
a8a3e2401b Update languages.md for dart support 2024-11-04 13:22:22 +09:00
malkoG
a7f59a2e2b Add tags.scm for dart 2024-11-04 12:38:27 +09:00
Chad Phillips
d8e9da35d6 add /editor command
Opens an editor for constructing a user prompt, using the currently defined chat mode.

The editor is determined as follows:

Look for the following environment variables, in order:

1. AIDER_EDITOR
2. VISUAL
3. EDITOR

If none of these are defined, use the following defaults:

Windows: notepad
OS X: vim
*nix: vi

If an editor is not found, a RuntimeError is raised.

Any arguments passed after the /editor command are inserted as content.

The temporary file used for editing has an .md extension, which can be leveraged for syntax highlighting.

NOTE: The editor used MUST block the process until the editor is closed -- the default editors all do this.
2024-11-03 20:18:57 -05:00
Paul Gauthier
b57ad6929c Merge branch 'main' into watch 2024-11-01 11:27:29 -07:00
Paul Gauthier
0022c1a67e copy 2024-11-01 11:26:39 -07:00
Paul Gauthier
6a0380b8c0 copy 2024-11-01 09:46:27 -07:00
Paul Gauthier
305b4fee87 set version to 0.61.1.dev 2024-11-01 09:40:02 -07:00
Paul Gauthier
9e18fc55d3 version bump to 0.61.0 2024-11-01 09:38:46 -07:00
Paul Gauthier
ebc9a30cc6 copy 2024-11-01 09:23:37 -07:00
Paul Gauthier
f53f5927df Show friendly API error messages 2024-11-01 09:20:31 -07:00
Paul Gauthier (aider)
78a8d19ac5 fix: pass exception objects directly to check_and_open_urls 2024-11-01 09:12:50 -07:00
Paul Gauthier
bfa9dce1e0 refactor: improve API error messages and display format 2024-11-01 09:12:49 -07:00
Paul Gauthier (aider)
3b2f1f1e66 style: format long error messages with line breaks 2024-11-01 09:09:03 -07:00
Paul Gauthier (aider)
b2bcca967f refactor: update check_and_open_urls to handle exceptions with friendly messages 2024-11-01 09:08:57 -07:00
Paul Gauthier
929aeb22bf refactor: Update check_and_open_urls to handle exceptions with user-friendly messages 2024-11-01 09:08:56 -07:00
Paul Gauthier
66ad186edd start /save commands with /drop 2024-11-01 09:04:55 -07:00
Paul Gauthier
c098354a67 copy 2024-11-01 09:03:44 -07:00
Paul Gauthier (aider)
d67d319b31 style: fix whitespace and line spacing issues 2024-11-01 08:12:17 -07:00
Paul Gauthier (aider)
93639039d4 feat: disable spinner when stdout is not a tty 2024-11-01 08:12:13 -07:00
Paul Gauthier
789535cb85 feat: disable spinner animation when stdout is not a tty 2024-11-01 08:12:11 -07:00
Paul Gauthier
d8e1e823e7 update deps with chained constraints 2024-10-31 16:04:37 -07:00
Paul Gauthier (aider)
5b9fe6fee0 refactor: convert pip-compile script to use loop for requirements compilation 2024-10-31 16:03:12 -07:00
Paul Gauthier (aider)
91bc8cddf3 fix: add dependency constraints between requirements files 2024-10-31 16:02:33 -07:00
Paul Gauthier
392162ae84 copy 2024-10-31 15:33:17 -07:00
Paul Gauthier
0c4e4a123a pin pillow<11 to avoid regressing streamlit to ancient 1.22 2024-10-31 15:31:58 -07:00
Paul Gauthier (aider)
27711010a0 refactor: update --gui/--browser to use BooleanOptionalAction 2024-10-31 15:01:29 -07:00
Paul Gauthier
401967c27f refactor: convert browser flag to boolean argument 2024-10-31 15:01:26 -07:00
Paul Gauthier (aider)
d1b25b9a72 fix: remove duplicate test_cmd_read_only_with_image_file method 2024-10-31 15:00:21 -07:00
Paul Gauthier
df478e1f8f copy 2024-10-31 14:59:52 -07:00
Paul Gauthier (aider)
a459f0e130 test: add test for read-only command with image files 2024-10-31 14:59:46 -07:00
Paul Gauthier (aider)
66b6788990 test: add test for image file handling in read command 2024-10-31 14:59:22 -07:00
Paul Gauthier (aider)
624f9122ab style: fix whitespace in commands.py 2024-10-31 14:58:29 -07:00
Paul Gauthier (aider)
704350286c feat: allow /read command to work with images for vision models 2024-10-31 14:58:23 -07:00
Paul Gauthier (aider)
ec40ff5987 feat: prevent adding image files with /read command 2024-10-31 14:57:44 -07:00
Paul Gauthier
af7aaad903 fix: handle RecursionError during tree traversal in linter 2024-10-31 14:55:54 -07:00
Paul Gauthier
3794cf941f feat: add support for claude-3-5-sonnet-latest model 2024-10-31 14:53:50 -07:00
Paul Gauthier
72c1f25005 refactor: Move StringIO import to top of file 2024-10-31 14:49:16 -07:00
Paul Gauthier (aider)
c13536e641 style: move rich.columns import to top of file 2024-10-31 14:48:12 -07:00
Paul Gauthier (aider)
7a9988c060 style: fix linting issues in io.py 2024-10-31 14:45:35 -07:00
Paul Gauthier (aider)
b9939d4bd9 refactor: improve file list display with section headers 2024-10-31 14:45:31 -07:00
Paul Gauthier (aider)
b71a3148cf style: fix import order in io.py 2024-10-31 14:43:29 -07:00
Paul Gauthier (aider)
42abdb0a41 feat: add compact file listing using rich Columns when pretty=True 2024-10-31 14:43:25 -07:00
Paul Gauthier
4c39e92773 copy 2024-10-31 14:39:27 -07:00
Paul Gauthier
b7f7204c4e copy 2024-10-31 14:29:53 -07:00
Paul Gauthier
550d274941 copy 2024-10-31 14:23:18 -07:00
Paul Gauthier
5a974483b9 Merge branch 'main' into watch 2024-10-31 14:19:37 -07:00
Paul Gauthier (aider)
8f73c15f48 feat: skip analytics update in check mode 2024-10-31 14:16:34 -07:00
Paul Gauthier
17330e53c3 refactor: Improve error handling and URL processing in chat functionality 2024-10-31 14:13:36 -07:00
Paul Gauthier (aider)
3fcd79e165 style: fix line length and comment formatting 2024-10-31 14:03:33 -07:00
Paul Gauthier (aider)
750b12282f refactor: strip trailing punctuation from URLs before displaying 2024-10-31 14:03:27 -07:00
Paul Gauthier
94c5ff2fd2 refactor: simplify URL pattern matching and cleanup commented code 2024-10-31 14:03:26 -07:00
Paul Gauthier
85ad2826da test: add debug dump of URL pattern regex 2024-10-31 14:02:05 -07:00
Paul Gauthier
15c62e3e43 fix: improve URL pattern to handle trailing commas in links 2024-10-31 14:01:41 -07:00
Paul Gauthier (aider)
fea7134064 style: fix comment spacing and remove commented code 2024-10-31 14:01:28 -07:00
Paul Gauthier (aider)
da706d9eb8 fix: update URL regex to strip trailing punctuation 2024-10-31 14:01:21 -07:00
Paul Gauthier
9a37c0491d refactor: improve URL handling and error reporting in base coder 2024-10-31 14:01:20 -07:00
Paul Gauthier (aider)
1d3d6a589f style: remove unused Optional import 2024-10-31 13:52:50 -07:00
Paul Gauthier (aider)
c5a439e4e8 style: sort imports alphabetically in base_coder.py 2024-10-31 13:52:41 -07:00
Paul Gauthier (aider)
2b7584b651 refactor: extract URL checking logic into separate method 2024-10-31 13:52:37 -07:00
Paul Gauthier (aider)
1ef60b5a40 refactor: add URL checking function with browser open option 2024-10-31 13:52:24 -07:00
Paul Gauthier
b79321da51 chore: add TODO comments for URL handling refactoring 2024-10-31 13:52:22 -07:00
Paul Gauthier (aider)
6829b29ef4 feat: add error base class hierarchy to retry exception messages 2024-10-31 13:50:12 -07:00
Paul Gauthier
a9c0d20347 chore: add comment about error base class inspection 2024-10-31 13:50:11 -07:00
Paul Gauthier (aider)
25a906950c refactor: move webbrowser import to top of file 2024-10-31 13:48:28 -07:00
Paul Gauthier
740534dcff refactor: Move webbrowser import to top of file 2024-10-31 13:48:27 -07:00
Paul Gauthier (aider)
de65d86122 style: fix string quotes and line wrapping in error URL handling 2024-10-31 13:48:08 -07:00
Paul Gauthier (aider)
98bf9bd26d feat: add URL detection and viewer for error messages 2024-10-31 13:48:01 -07:00
Paul Gauthier
ade615c445 chore: Add TODO comment for URL handling in error messages 2024-10-31 13:48:00 -07:00
Paul Gauthier
d959e1c60d test: fix analytics disable test assertion for better clarity 2024-10-31 13:31:43 -07:00
Paul Gauthier (aider)
8d2f66fe34 test: add temp_data_dir fixture to all analytics tests 2024-10-31 13:28:31 -07:00
Paul Gauthier (aider)
66dc8dbccd style: remove unused MagicMock import 2024-10-31 13:22:59 -07:00
Paul Gauthier (aider)
b228bcab8c style: Fix linting issues in test_analytics.py 2024-10-31 13:22:50 -07:00
Paul Gauthier (aider)
ccbf1482c1 test: add comprehensive test suite for Analytics class 2024-10-31 13:22:47 -07:00
Paul Gauthier
f9a0946472 test: add basic analytics test suite 2024-10-31 13:22:45 -07:00
Paul Gauthier
faa80b7699 updated deps 2024-10-31 13:21:56 -07:00
Paul Gauthier
1eb2c724a5 copy 2024-10-31 13:15:33 -07:00
Paul Gauthier
c43e7f998e copy 2024-10-31 13:11:00 -07:00
Paul Gauthier
3e2454b84b cleanup 2024-10-31 11:49:17 -07:00
Paul Gauthier
2817766cf5 cleanup 2024-10-31 11:44:24 -07:00
Paul Gauthier
ba7656bc1c cleanup 2024-10-31 11:37:18 -07:00
Paul Gauthier
c14392a35a copy 2024-10-31 11:33:27 -07:00
Paul Gauthier
6bfb258473 copy 2024-10-31 11:31:32 -07:00
Paul Gauthier
1e872599fd copy 2024-10-31 11:02:04 -07:00
Paul Gauthier
c08b7f9c22 Merge branch 'main' into mixpanel 2024-10-31 10:09:36 -07:00
Paul Gauthier
6e4ccf8715 copy 2024-10-31 10:09:33 -07:00
Paul Gauthier (aider)
e4913669d4 refactor: simplify event method to use main_model attributes 2024-10-31 10:08:43 -07:00
Paul Gauthier
8e098752bd refactor: Use main_model attributes for weak and editor models in analytics 2024-10-31 10:08:41 -07:00
Paul Gauthier (aider)
6867dab89c style: remove trailing whitespace in analytics.py 2024-10-31 10:06:52 -07:00
Paul Gauthier (aider)
09a9fac91e refactor: extract model redaction logic and add model params 2024-10-31 10:05:10 -07:00
Paul Gauthier
2fd1681fab refactor: add weak_model and editor_model args to analytics event method 2024-10-31 10:05:08 -07:00
Paul Gauthier
ece91dc724 copy 2024-10-31 09:57:22 -07:00
Paul Gauthier
01bf154151 copy 2024-10-31 09:53:04 -07:00
Paul Gauthier
b5916981b3 copy 2024-10-30 20:19:47 -07:00
Paul Gauthier
a68b87272b copy 2024-10-30 20:19:08 -07:00
Paul Gauthier (aider)
88b55df1c6 chore: add privacy policy to update-docs script 2024-10-30 20:18:41 -07:00
Paul Gauthier (aider)
676c017eb1 feat: add git-based last updated date to privacy policy 2024-10-30 20:17:53 -07:00
Paul Gauthier
139b8a2d4a docs: add privacy policy document 2024-10-30 20:17:15 -07:00
Paul Gauthier
24c68928d6 feat: Add analytics tracking for model warnings 2024-10-30 14:34:27 -07:00
Paul Gauthier
f957111141 feat: Add model info manager import to analytics module 2024-10-30 14:30:14 -07:00
Paul Gauthier
e94e60b1d2 refactor: improve model name redaction in analytics and model info handling 2024-10-30 14:29:29 -07:00
Paul Gauthier (aider)
a565a63436 style: Fix import formatting in test_models.py 2024-10-30 13:21:47 -07:00
Paul Gauthier (aider)
a045bda171 refactor: update test to use ModelInfoManager instead of get_model_info 2024-10-30 13:21:43 -07:00
Paul Gauthier (aider)
a3d78e0944 style: split long URL string constant into multiple lines 2024-10-30 13:21:21 -07:00
Paul Gauthier
8082cbed98 refactor: rename get_model_flexible to get_model_from_cached_json_db 2024-10-30 13:21:19 -07:00
Paul Gauthier (aider)
aba8b5d00a style: fix linting issues and whitespace in models.py 2024-10-30 13:17:54 -07:00
Paul Gauthier (aider)
3d5a4d9303 refactor: encapsulate model info functionality into ModelInfoManager class 2024-10-30 13:17:49 -07:00
Paul Gauthier
a899b0e27e refactor: Extract model info handling into a dedicated class 2024-10-30 13:17:47 -07:00
Paul Gauthier
267872b7e4 feat: add opt-in analytics collection with privacy notice 2024-10-30 13:15:57 -07:00
Paul Gauthier (aider)
bd59a8debf refactor: extract analytics disable logic into dedicated method 2024-10-30 12:25:18 -07:00
Paul Gauthier
c0e137889c style: Update analytics refactoring comment with method name 2024-10-30 12:25:17 -07:00
Paul Gauthier
5b84b901b2 chore: add TODO comment for analytics refactoring 2024-10-30 12:24:39 -07:00
Paul Gauthier (aider)
059883abf7 feat: add asked_opt_in tracking to analytics 2024-10-30 12:17:17 -07:00
Paul Gauthier
0b622a6fd7 chore: add comment for analytics opt-in tracking implementation 2024-10-30 12:17:15 -07:00
Paul Gauthier
97989dd51a Merge branch 'main' into mixpanel 2024-10-30 12:06:38 -07:00
Paul Gauthier (aider)
d81c421bfe test: mock webbrowser.open in test setup 2024-10-30 12:04:43 -07:00
Paul Gauthier (aider)
bce586f510 fix: remove unused webbrowser import in test file 2024-10-30 12:00:12 -07:00
Paul Gauthier (aider)
a70b364842 style: fix import order and quote style in test file 2024-10-30 11:59:52 -07:00
Paul Gauthier (aider)
920e8da57c test: mock webbrowser.open in git index version test 2024-10-30 11:59:48 -07:00
Paul Gauthier (aider)
71a8b286dc style: fix linting issues in test_sanity_check_repo.py 2024-10-30 11:59:25 -07:00
Paul Gauthier (aider)
ee4decc50b fix: add missing urls import in test_sanity_check_repo.py 2024-10-30 11:59:21 -07:00
Paul Gauthier (aider)
63330aa833 style: fix line wrapping in test file 2024-10-30 11:59:08 -07:00
Paul Gauthier (aider)
15a0eb976f test: update git index version test to check confirm_ask call 2024-10-30 11:59:04 -07:00
Paul Gauthier
4f52ad385a copy 2024-10-30 11:52:09 -07:00
Paul Gauthier
cd1496f91b copy 2024-10-30 11:51:49 -07:00
Paul Gauthier (aider)
31babf39cd style: fix comment spacing in sanity_check_repo function 2024-10-30 11:42:50 -07:00
Paul Gauthier (aider)
fe3dbba1d9 feat: add browser URL launch with user confirmation prompt 2024-10-30 11:42:46 -07:00
Paul Gauthier
763724ed4e docs: add comment about prompting user for URL opening 2024-10-30 11:42:44 -07:00
Paul Gauthier
9e0e68caf9 copy 2024-10-30 11:41:39 -07:00
Paul Gauthier
52f697e513 style: remove extra blank line before main block 2024-10-30 11:41:11 -07:00
Paul Gauthier (aider)
aeca62bcf6 fix: remove unused import of urls module 2024-10-30 11:41:04 -07:00
Paul Gauthier
7e574bc214 refactor: improve documentation URL handling and error messages 2024-10-30 11:40:56 -07:00
Paul Gauthier (aider)
e9beb1336c style: fix line length in model warnings confirmation prompt 2024-10-30 11:34:24 -07:00
Paul Gauthier (aider)
4ac8386313 feat: add browser launch for model warnings documentation 2024-10-30 11:34:19 -07:00
Paul Gauthier
f0233455d2 feat: update model warning prompt to offer documentation link 2024-10-30 11:34:18 -07:00
Paul Gauthier
5c28dd039c pip compile 2024-10-30 09:41:57 -07:00
Paul Gauthier
26d1ab7a5f copy 2024-10-30 09:40:54 -07:00
Paul Gauthier
068fb38a5d Merge branch 'main' into mixpanel 2024-10-30 09:40:01 -07:00
Paul Gauthier
53e7eba00b copy 2024-10-30 06:39:48 -07:00
Paul Gauthier
854d908fe0 refactor: improve chat history file error handling and messaging 2024-10-30 06:37:59 -07:00
Paul Gauthier
ea3359fb4b test: adjust warning count assertion in model test 2024-10-30 06:33:31 -07:00
Paul Gauthier (aider)
55a2ba4bd6 style: Fix comment formatting in test_models.py 2024-10-30 06:32:22 -07:00
Paul Gauthier (aider)
20ca9c84c7 test: add warning message debug print in model test 2024-10-30 06:32:18 -07:00
Paul Gauthier
0d86124b15 test: add comment about tool warning args inspection 2024-10-30 06:32:17 -07:00
Paul Gauthier
554fa98c48 fix: simplify version check for dev mode 2024-10-30 06:30:11 -07:00
Paul Gauthier (aider)
eb92fa4f88 fix: handle TypeError when checking __version__ for dev mode 2024-10-30 06:26:50 -07:00
Paul Gauthier
0424e4b00a refactor: improve SQLite error handling and logging in tags cache 2024-10-29 15:09:22 -07:00
Paul Gauthier (aider)
adca062081 feat: improve SQLite error handling with original exception details 2024-10-29 15:05:16 -07:00
Paul Gauthier
ef0fcb8f38 refactor: Improve SQLite cache error handling and import organization 2024-10-29 15:04:00 -07:00
Paul Gauthier (aider)
0feed0047c style: fix whitespace and formatting in repomap.py 2024-10-29 14:59:55 -07:00
Paul Gauthier (aider)
7f027ff6e5 feat: add auto-recovery for corrupted tags cache 2024-10-29 14:59:50 -07:00
Paul Gauthier (aider)
e25a46c892 fix: wrap TAGS_CACHE length check in try/except block for SQLite errors 2024-10-29 14:58:00 -07:00
Paul Gauthier (aider)
68916b1186 feat: add error handling for SQLite tags cache operations 2024-10-29 14:55:43 -07:00
Paul Gauthier
e9771588e4 copy 2024-10-29 14:48:39 -07:00
Paul Gauthier
e1d55c82b1 refactor: Improve edit handling with dry run and path resolution 2024-10-29 14:31:12 -07:00
Paul Gauthier (aider)
5b6be29c1c chore: remove obsolete comment about path variable 2024-10-29 14:28:39 -07:00
Paul Gauthier
28d9f6f8da refactor: add dry run mode to apply_edits method 2024-10-29 14:28:38 -07:00
Paul Gauthier (aider)
3ccae4eff7 style: fix line length in test_commands.py 2024-10-29 14:19:53 -07:00
Paul Gauthier (aider)
3ad240a10e fix: normalize path separators in save/load tests for Windows compatibility 2024-10-29 14:19:47 -07:00
Paul Gauthier
87a31a583a refactor: remove unused comment in EditBlockCoder 2024-10-29 14:11:13 -07:00
Paul Gauthier (aider)
7553104433 refactor: handle updated edits array returned from apply_edits 2024-10-29 14:10:21 -07:00
Paul Gauthier
f9604633e6 fix: handle updated edits array in apply_edits return value 2024-10-29 14:10:19 -07:00
Paul Gauthier (aider)
eb9a73bdb0 fix: strip whitespace from file paths before resolving in test commands 2024-10-29 14:04:19 -07:00
Paul Gauthier (aider)
d75e75190d style: Fix regex string formatting in test commands 2024-10-29 14:03:46 -07:00
Paul Gauthier (aider)
94a49e601c refactor: use regex to normalize /add command spaces in tests 2024-10-29 14:03:40 -07:00
Paul Gauthier (aider)
3df3d86295 style: fix linting issues in test_commands.py 2024-10-29 14:02:43 -07:00
Paul Gauthier (aider)
63f8979f2b fix: normalize whitespace in command text assertions 2024-10-29 14:02:37 -07:00
Paul Gauthier
ad94e49ef5 test: fix failing test cases for save and load commands 2024-10-29 14:02:35 -07:00
Paul Gauthier
b40ff2a601 fix: improve o1 model detection with startswith check 2024-10-29 14:00:56 -07:00
Paul Gauthier
a4be01b474 refactor: move --load command execution before message processing 2024-10-29 13:59:41 -07:00
Paul Gauthier
c5dc44a73f style: simplify command execution output message 2024-10-29 13:59:04 -07:00
Paul Gauthier (aider)
358cbc9388 feat: add filename autocompletion to /load and /save commands 2024-10-29 13:58:25 -07:00
Paul Gauthier
2e5fa9dea4 style: align /add commands in history file for better readability 2024-10-29 13:58:23 -07:00
Paul Gauthier
717592463e feat: add --load option to execute commands from file on launch 2024-10-29 13:54:42 -07:00
Paul Gauthier (aider)
347a9f2a6d feat: add --load argument to execute commands from file 2024-10-29 13:53:19 -07:00
Paul Gauthier
d288122fab chore: add comment for load command implementation 2024-10-29 13:53:17 -07:00
Paul Gauthier (aider)
d1cf3d4600 refactor: conditionally set cursor shape only in vi mode 2024-10-29 13:50:40 -07:00
Paul Gauthier
5188872791 style: add comment about vi mode cursor config 2024-10-29 13:50:38 -07:00
Paul Gauthier
a57a06e8c7 Merge branch 'main' of github.com:Aider-AI/aider 2024-10-29 13:49:50 -07:00
Paul Gauthier (aider)
347ad34038 fix: update file path comparison in commands test to handle macOS prefix 2024-10-29 13:48:16 -07:00
Paul Gauthier (aider)
ccdd333ba3 fix: update test to use os.path.samefile for path comparison 2024-10-29 13:45:03 -07:00
Paul Gauthier (aider)
56f3220d4c fix: handle macOS /private/ prefix in file path tests 2024-10-29 13:21:31 -07:00
Paul Gauthier (aider)
26a85c2047 style: fix line length in test_commands.py 2024-10-29 13:20:49 -07:00
Paul Gauthier (aider)
f800ce1e5a test: use os.path.samefile for file path comparison in save/load test 2024-10-29 13:20:44 -07:00
Paul Gauthier
d4103cc271 chore: Remove unused comment in test file 2024-10-29 13:20:42 -07:00
Paul Gauthier (aider)
c3ba3b6f48 style: fix whitespace and comment formatting in test_commands.py 2024-10-29 13:19:15 -07:00
Paul Gauthier (aider)
be54df4084 refactor: improve path comparison in command tests using os.path.samefile 2024-10-29 13:19:09 -07:00
Paul Gauthier
d06c6f8557 style: improve clarity of comment in test_commands.py 2024-10-29 13:18:53 -07:00
Paul Gauthier
a876561ea0 test: add comment about parsing text in session file test 2024-10-29 13:17:50 -07:00
Paul Gauthier (aider)
6dc0b8d853 fix: use absolute paths for read-only files outside repo root 2024-10-29 13:14:37 -07:00
Paul Gauthier (aider)
460311d49e style: fix line continuation formatting in test file 2024-10-29 13:11:50 -07:00
Paul Gauthier (aider)
94396070e8 test: add test for saving and loading multiple external files 2024-10-29 13:11:44 -07:00
Paul Gauthier (aider)
4a3cb8dc95 fix: use platform-agnostic paths in test_commands.py 2024-10-29 13:11:00 -07:00
Paul Gauthier
f9005451fa test: add comment about Windows path separator issue in test_commands.py 2024-10-29 13:10:58 -07:00
paul-gauthier
16e292b1fd Merge pull request #2180 from kAIto47802/fix-o1-system-prompt 2024-10-29 13:03:35 -07:00
Paul Gauthier (aider)
7d37793765 style: fix linting issues by removing extra blank line 2024-10-29 12:54:12 -07:00
Paul Gauthier (aider)
9e9c162a16 style: fix indentation in test_cmd_save_and_load_with_external_file 2024-10-29 12:54:05 -07:00
Paul Gauthier (aider)
8d6db81a40 style: fix linting issues in test_commands.py 2024-10-29 12:53:27 -07:00
Paul Gauthier (aider)
425bd8932b test: add save/load test with external read-only file 2024-10-29 12:53:22 -07:00
Paul Gauthier
38820701be test: add comment for read-only file test case 2024-10-29 12:53:20 -07:00
Paul Gauthier
1bc74676ff copy 2024-10-29 12:49:16 -07:00
Paul Gauthier (aider)
0c37f002c9 style: remove extra newlines and fix trailing comma 2024-10-29 12:48:21 -07:00
Paul Gauthier (aider)
18c41b6128 refactor: move test_cmd_save_and_load to test_commands.py 2024-10-29 12:48:11 -07:00
Paul Gauthier
5876af4e94 test: add test for cmd_save and cmd_load functionality 2024-10-29 12:48:08 -07:00
Paul Gauthier (aider)
e1d145013a style: remove trailing newline in test_commands.py 2024-10-29 12:46:37 -07:00
Paul Gauthier (aider)
143eeff4da test: add tests for cmd_save and cmd_load commands 2024-10-29 12:46:31 -07:00
Paul Gauthier
3a7e4bac34 test: add TODO comment for cmd_save and cmd_load test coverage 2024-10-29 12:46:29 -07:00
Paul Gauthier (aider)
f5ca162576 style: fix whitespace and comment formatting 2024-10-29 12:43:56 -07:00
Paul Gauthier (aider)
dbefa6b010 feat: add /save command to store chat session file list 2024-10-29 12:43:51 -07:00
Paul Gauthier
79cdff6163 feat: add /save command to persist added files for /load 2024-10-29 12:43:49 -07:00
Paul Gauthier (aider)
b111fc357c fix: use IO encoding and handle decode errors in cmd_load 2024-10-29 12:42:33 -07:00
Paul Gauthier
2af48e159c feat: add encoding hint for file loading in commands 2024-10-29 12:42:31 -07:00
Paul Gauthier (aider)
6cec44e402 style: fix string quotes and whitespace in commands.py 2024-10-29 12:41:10 -07:00
Paul Gauthier (aider)
fc6c01a9a5 feat: add command to load and execute commands from file 2024-10-29 12:41:01 -07:00
Paul Gauthier
01439875af feat: add comment for future cmd_load implementation 2024-10-29 12:40:57 -07:00
kAIto47802
fcdf998fac Fix o1 settings 2024-10-29 08:47:24 +09:00
Paul Gauthier
34f34879c9 Merge branch 'main' into watch 2024-10-28 15:13:20 -07:00
Paul Gauthier
ed4ad45e3d copy 2024-10-28 15:12:06 -07:00
Paul Gauthier
907c1dbe2b refactor: split error and retry messages in simple_send_with_retries 2024-10-28 15:10:27 -07:00
Paul Gauthier (aider)
3baad86afd refactor: consolidate error and retry messages into single print statement 2024-10-28 15:09:22 -07:00
Paul Gauthier (aider)
0351924628 test: update print call count assertions in sendchat tests 2024-10-28 15:09:11 -07:00
Paul Gauthier
29250f82ed test: fix print call count assertions in sendchat tests 2024-10-28 15:07:50 -07:00
Paul Gauthier
a819bf1d64 test: fix assertion errors in sendchat retry tests 2024-10-28 15:07:11 -07:00
Paul Gauthier (aider)
bc515cf74a refactor: add retry loop to simple_send_with_retries function 2024-10-28 15:05:07 -07:00
Paul Gauthier
f9c45432e6 refactor: Move retry logic from base_coder to sendchat module 2024-10-28 15:05:06 -07:00
Paul Gauthier
54d55c857b refactor: update retry exceptions to use openai instead of litellm 2024-10-28 14:40:42 -07:00
Paul Gauthier
8e2a4b47d6 fix: update litellm exception imports and error handling 2024-10-28 14:29:42 -07:00
Paul Gauthier (aider)
513f06be46 refactor: move retry_exceptions import to top of test file 2024-10-28 14:28:49 -07:00
Paul Gauthier
0fb79917ff test: add test for retry_exceptions function call 2024-10-28 14:28:48 -07:00
Paul Gauthier (aider)
cd133f95ee style: fix linting issues with whitespace and line breaks 2024-10-28 14:27:26 -07:00
Paul Gauthier (aider)
3d66b53791 test: add basic test for retry_exceptions function 2024-10-28 14:27:20 -07:00
Paul Gauthier
bf63e7045b refactor: simplify litellm exception imports 2024-10-28 14:27:19 -07:00
Paul Gauthier
5c4b75909e refac 2024-10-26 07:31:28 -07:00
Paul Gauthier (aider)
41f126cad7 chore: disable verbose mode in watch.py 2024-10-25 16:23:45 -07:00
Paul Gauthier
c26d7d23b5 fix: improve regex pattern for AI comment detection 2024-10-25 16:23:44 -07:00
Paul Gauthier (aider)
4298ae00a9 style: fix linting issue in watch.py comment spacing 2024-10-25 16:21:25 -07:00
Paul Gauthier (aider)
47296e4294 fix: correct regex pattern for AI comment detection 2024-10-25 16:21:21 -07:00
Paul Gauthier
f6daab0728 feat: add support for inline AI comments in code files 2024-10-25 16:21:20 -07:00
Paul Gauthier (aider)
25dd9f1f35 style: fix linting issues and whitespace in watch.py 2024-10-25 16:20:57 -07:00
Paul Gauthier (aider)
130aedc474 fix: update regex pattern to match standalone "#ai" comments 2024-10-25 16:20:53 -07:00
Paul Gauthier
e958f40bd9 refactor: simplify file change processing and enable verbose mode 2024-10-25 16:20:52 -07:00
Paul Gauthier (aider)
ed2a2d7dc3 style: fix linting issues and format code 2024-10-25 16:10:56 -07:00
Paul Gauthier (aider)
0890b32425 refactor: move file change processing logic from io.py to watch.py 2024-10-25 16:10:49 -07:00
Paul Gauthier
2e5981ecb3 fix: extract AI comment content without prefix in file watcher 2024-10-25 16:10:48 -07:00
Paul Gauthier (aider)
ec00bb988c style: format nested list comprehension for better readability 2024-10-25 16:09:17 -07:00
Paul Gauthier (aider)
14a62586cc feat: add special handling for comments containing exclamation marks 2024-10-25 16:09:13 -07:00
Paul Gauthier
a8fe84acc7 fix: update changed_files handling to use dict keys instead of direct list 2024-10-25 16:09:12 -07:00
Paul Gauthier (aider)
144ba783a8 style: fix linting issues in watch.py 2024-10-25 16:05:55 -07:00
Paul Gauthier (aider)
8d81ef811e refactor: return full match including prefix in get_ai_comment function 2024-10-25 16:05:51 -07:00
Paul Gauthier
3d8ec25a33 fix: update AI comment extraction to include full match 2024-10-25 16:05:50 -07:00
Paul Gauthier (aider)
77f636f949 style: fix linting issues in watch.py 2024-10-25 16:03:42 -07:00
Paul Gauthier (aider)
aa86f02b1a feat: collect all AI comments from files instead of just first one 2024-10-25 16:03:39 -07:00
Paul Gauthier
05daab24a2 fix: update regex pattern for AI comment detection 2024-10-25 16:03:37 -07:00
Paul Gauthier (aider)
0960663811 style: add spacing between functions in watch.py 2024-10-25 16:00:59 -07:00
Paul Gauthier (aider)
150cc56b35 feat: add AI comment extraction from changed files 2024-10-25 16:00:55 -07:00
Paul Gauthier
7a9091fcae refactor: disable verbose mode and add comment for changed_file handling 2024-10-25 16:00:53 -07:00
Paul Gauthier (aider)
e6215d969d style: fix linting issues in watch.py 2024-10-25 15:58:45 -07:00
Paul Gauthier (aider)
9f1b8347f5 refactor: simplify regex pattern for matching AI comments 2024-10-25 15:58:41 -07:00
Paul Gauthier
311e1568d9 feat: improve file watching with verbose debug output and error handling 2024-10-25 15:58:39 -07:00
Paul Gauthier
c2dadd8054 Merge branch 'main' into watch 2024-10-25 15:54:31 -07:00
Paul Gauthier
e2dff0a74b #2120 2024-10-25 15:47:30 -07:00
Paul Gauthier
88bdfd6548 cleanup 2024-10-25 15:11:02 -07:00
Paul Gauthier (aider)
70edb62a6b feat: pass encoding parameter to watch_source_files function 2024-10-25 13:24:06 -07:00
Paul Gauthier
6c2e0ccce5 refactor: remove interrupted_partial_input parameter from InputOutput class 2024-10-25 13:24:05 -07:00
Paul Gauthier (aider)
fc6e0dfa65 style: fix linting issues in watch.py 2024-10-25 13:23:49 -07:00
Paul Gauthier (aider)
54aebb7d98 feat: add encoding param to watch_source_files with error handling 2024-10-25 13:23:46 -07:00
Paul Gauthier (aider)
378c67d51f fix: update regex pattern to use word boundary instead of word character 2024-10-25 13:22:38 -07:00
Paul Gauthier (aider)
d535035bdd style: fix string quotes in regex pattern 2024-10-25 13:22:17 -07:00
Paul Gauthier (aider)
43790db48e feat: add AI marker detection in source file watcher 2024-10-25 13:22:13 -07:00
Paul Gauthier
d957adf062 refactor: remove debug dump() call from watch_source_files function 2024-10-25 13:22:11 -07:00
Paul Gauthier (aider)
ff8f3eb8c2 style: fix linting issues in io.py 2024-10-25 13:17:58 -07:00
Paul Gauthier (aider)
88c54c918c feat: store partial input when interrupting prompt 2024-10-25 13:17:54 -07:00
Paul Gauthier
1261a335f4 refactor: improve file change handling in input loop 2024-10-25 13:17:53 -07:00
Paul Gauthier (aider)
7587d76fd1 refactor: simplify file watcher thread cleanup by removing timeout 2024-10-25 12:59:09 -07:00
Paul Gauthier
8e81300f37 fix: improve error handling in input interruption flow 2024-10-25 12:59:07 -07:00
Paul Gauthier (aider)
a999020038 style: fix line length in watch_files function 2024-10-25 12:56:25 -07:00
Paul Gauthier (aider)
bc4664d62c feat: pass gitignore path to watch_source_files function 2024-10-25 12:56:20 -07:00
Paul Gauthier
6a1754aa6a feat: add file change monitoring with gitignore support 2024-10-25 12:56:19 -07:00
Paul Gauthier (aider)
da7bb312c2 style: remove extra blank lines in io.py 2024-10-25 12:52:45 -07:00
Paul Gauthier (aider)
5b7f813f81 feat: add watch_source_files import to io.py 2024-10-25 12:52:41 -07:00
Paul Gauthier
923d9a0df2 fix: move file watcher cleanup to correct finally block 2024-10-25 12:52:39 -07:00
Paul Gauthier
c16224b37a wip 2024-10-25 12:49:52 -07:00
Paul Gauthier (aider)
01b5bdc829 style: fix indentation in get_input method 2024-10-25 12:48:54 -07:00
Paul Gauthier
5a0d66141f fix: change /edit to /add command for file changes 2024-10-25 12:48:53 -07:00
Paul Gauthier (aider)
8e873e7450 feat: return edit command when input interrupted by file change 2024-10-25 12:47:06 -07:00
Paul Gauthier (aider)
add3fa43c6 style: format watch_source_files function signature 2024-10-25 12:43:37 -07:00
Paul Gauthier (aider)
b985a8d47a feat: add clean shutdown for file watcher thread 2024-10-25 12:43:31 -07:00
Paul Gauthier (aider)
3db3150a7e feat: add input interruption from background threads 2024-10-25 12:33:07 -07:00
Paul Gauthier
17ce2a3cad Merge branch 'main' into watch 2024-10-25 10:59:02 -07:00
Paul Gauthier (aider)
bf60e58d5b fix: use os.path.join for cross-platform path handling in tests 2024-10-25 10:57:04 -07:00
Paul Gauthier
e3a3a55dd5 fix: make file paths portable for Windows compatibility in tests 2024-10-25 10:57:03 -07:00
Paul Gauthier
e239304d89 refactor: simplify file change output format 2024-10-25 10:53:10 -07:00
Paul Gauthier
893f3f343f refactor: optimize file path handling in watch_source_files function 2024-10-25 10:51:09 -07:00
Paul Gauthier
5918a18dee ignore emacs tmp files 2024-10-25 10:50:35 -07:00
Paul Gauthier (aider)
c08dcff56d style: fix linting issues in watch.py 2024-10-25 09:55:54 -07:00
Paul Gauthier (aider)
f33cd4e419 refactor: improve path handling in watch_source_files filter function 2024-10-25 09:55:50 -07:00
Paul Gauthier
a625426a28 fix: improve path handling in file watcher filter function 2024-10-25 09:55:49 -07:00
Paul Gauthier (aider)
24e66337ff style: fix line length in watch.py by wrapping function call 2024-10-25 09:51:55 -07:00
Paul Gauthier (aider)
d06f1ecf19 feat: add optional ignore function to watch_source_files 2024-10-25 09:51:52 -07:00
Paul Gauthier (aider)
9c6831c360 style: format argparse argument for better readability 2024-10-25 09:47:53 -07:00
Paul Gauthier (aider)
64ec0708c4 feat: support multiple gitignore files in file watcher 2024-10-25 09:47:50 -07:00
Paul Gauthier (aider)
34aa1e8de0 fix: handle paths outside watched directory in file watcher 2024-10-25 09:46:59 -07:00
Paul Gauthier (aider)
b0f31d8296 refactor: remove unused sys import from watch.py 2024-10-25 09:43:04 -07:00
Paul Gauthier (aider)
e5fe5199a3 style: fix import order and whitespace per linting rules 2024-10-25 09:42:51 -07:00
Paul Gauthier (aider)
45e95d1d00 feat: add gitignore support to file watcher 2024-10-25 09:42:47 -07:00
Paul Gauthier (aider)
21876e72fe style: Format watch.py with black and add newlines between functions 2024-10-25 09:41:33 -07:00
Paul Gauthier (aider)
81903598a8 feat: add file watcher for source code files with # or // comments 2024-10-25 09:41:30 -07:00
Paul Gauthier
290500ae17 feat: add file watcher module for monitoring changes 2024-10-25 09:41:27 -07:00
Paul Gauthier
1ed2eefff4 copy 2024-10-25 09:38:10 -07:00
Paul Gauthier
df65e87ef3 test: update InputOutput initialization with fancy_input param in tests 2024-10-25 09:24:52 -07:00
Paul Gauthier
ddb876d2fe only glob, not rglob for /read 2024-10-25 09:22:50 -07:00
Paul Gauthier
a080581329 refactor: improve file path handling with glob and rglob 2024-10-25 07:49:19 -07:00
Paul Gauthier (aider)
f70a82791b fix: handle absolute paths and globs in cmd_read_only 2024-10-25 07:43:31 -07:00
Paul Gauthier
5d3a60228c fix: use Path.rglob instead of glob.glob for recursive file matching 2024-10-25 07:43:29 -07:00
Paul Gauthier
fd820dbfe2 Merge branch 'main' of github.com:Aider-AI/aider 2024-10-25 07:41:02 -07:00
paul-gauthier
b911ceaa61 Merge pull request #2126 from webkonstantin/fix-read-only-from-working-dir
fix: Impossible to /read-only from another working directory
2024-10-25 07:40:57 -07:00
Paul Gauthier
9edf9b4186 refactor: extract get_rel_fname function for path resolution 2024-10-25 07:36:29 -07:00
Paul Gauthier
be74259df6 fix: add missing AnthropicError exception to retry list 2024-10-25 07:31:39 -07:00
Paul Gauthier
29293cc8ac fix: update import path for AnthropicError in retry_exceptions 2024-10-25 07:07:36 -07:00
Paul Gauthier
9e7995b730 bump deps 2024-10-25 06:55:47 -07:00
Konstantin L
ba9fdaa755 fix: Impossible to /read-only from another working directory 2024-10-25 10:59:23 +02:00
Paul Gauthier
dde2dee304 fix last test 2024-10-24 14:31:41 -07:00
Paul Gauthier (aider)
55a99143c2 test: set fancy_input=False in all InputOutput() test instances 2024-10-24 14:31:11 -07:00
Paul Gauthier
ba2bee61de test: fix confirm_ask_yes_no test by disabling fancy input 2024-10-24 14:31:09 -07:00
Paul Gauthier (aider)
5fd8fb15b9 fix: add fancy_input=False to all InputOutput test initializations 2024-10-24 14:27:53 -07:00
Paul Gauthier
8908a48b68 copy 2024-10-24 14:25:08 -07:00
Paul Gauthier (aider)
43fbda0faf feat: add --fancy-input flag to control input history and completion 2024-10-24 14:24:09 -07:00
Paul Gauthier (aider)
97a9c65125 feat: add fancy_input parameter to InputOutput class initialization 2024-10-24 14:23:24 -07:00
Paul Gauthier
8a63b1b3ce refactor: rename pretty flag to fancy_input for clarity 2024-10-24 14:23:22 -07:00
Paul Gauthier
3c658ac66f feat: set default reminder to "user" for gpt-4-1106-preview model 2024-10-24 14:08:51 -07:00
Paul Gauthier
055d529947 remove accepts_images 2024-10-24 14:08:06 -07:00
Paul Gauthier (aider)
9507f3c008 refactor: use main_model.info["supports_vision"] instead of accepts_images 2024-10-24 14:05:17 -07:00
Paul Gauthier
e0a1eefe0a copy 2024-10-24 14:01:00 -07:00
Paul Gauthier
ea37ba8346 set version to 0.60.2.dev 2024-10-24 13:59:43 -07:00
Paul Gauthier
8ea789c29d version bump to 0.60.1 2024-10-24 13:58:28 -07:00
Paul Gauthier
901e4397cb copy 2024-10-24 13:49:27 -07:00
Paul Gauthier (aider)
bcf781da73 feat: sort file lists alphabetically in format_files_for_input 2024-10-24 13:48:32 -07:00
Paul Gauthier
a68178fd1b refactor: sort files in format_files_for_input method 2024-10-24 13:48:31 -07:00
Paul Gauthier (aider)
e18b8b0a29 style: fix indentation in commands.py 2024-10-24 13:46:32 -07:00
Paul Gauthier (aider)
62ff822ee8 refactor: collect and sort expanded filenames before processing 2024-10-24 13:46:27 -07:00
Paul Gauthier
c9993dccc8 fix: remove stray comment and add sorting note in cmd_read 2024-10-24 13:46:25 -07:00
Paul Gauthier (aider)
6181fe5efa feat: sort filenames in cmd_read_only for consistent behavior 2024-10-24 13:44:52 -07:00
Paul Gauthier
dd6124fa64 refactor: sort filenames in cmd_read to match cmd_add behavior 2024-10-24 13:44:51 -07:00
Paul Gauthier (aider)
239302a219 feat: sort filenames before adding to chat 2024-10-24 13:43:01 -07:00
Paul Gauthier
e0949bff69 feat: sort filenames before adding them to chat 2024-10-24 13:42:59 -07:00
Paul Gauthier
e0c603c764 copy 2024-10-24 13:38:50 -07:00
Paul Gauthier
8f62f99db7 feat: add image support for Claude 3 models 2024-10-24 13:38:21 -07:00
Paul Gauthier (aider)
b46de7127d style: format Python code with black linter 2024-10-24 12:34:04 -07:00
Paul Gauthier (aider)
e9627cb3c6 feat: add --yes flag to auto-close duplicate issues without prompting 2024-10-24 12:34:01 -07:00
Paul Gauthier
eb8fdf483e feat: add --yes flag to issues script 2024-10-24 12:33:59 -07:00
Paul Gauthier
a6d5fa9cda copy 2024-10-22 14:40:14 -07:00
Paul Gauthier
1bef71f57a copy 2024-10-22 14:40:05 -07:00
Paul Gauthier
63c393e269 copy 2024-10-22 14:23:37 -07:00
Paul Gauthier
1efb0ba53e added new sonnet and o1 models to refac leaderboard 2024-10-22 14:17:36 -07:00
Paul Gauthier
4a3e6ef1e5 update sonnet model names since they are in litellm json now 2024-10-22 12:53:26 -07:00
Paul Gauthier (aider)
a800d219c7 feat: add ModelSettings for Claude 3.5 Sonnet v2 on Vertex AI 2024-10-22 12:51:21 -07:00
Paul Gauthier
7f962b5bb0 feat: add Claude 3.5 Sonnet model settings 2024-10-22 12:51:19 -07:00
Paul Gauthier
57642cf96c copy 2024-10-22 12:21:25 -07:00
Paul Gauthier
c2e49be096 set version to 0.60.1.dev 2024-10-22 11:35:38 -07:00
Paul Gauthier
c26b2e4859 version bump to 0.60.0 2024-10-22 11:34:28 -07:00
Paul Gauthier
9ce0757835 copy 2024-10-22 11:11:22 -07:00
Paul Gauthier
c80a032297 copy 2024-10-22 10:54:34 -07:00
Paul Gauthier
bd28d8f3fb corrected 1022 benchmark results 2024-10-22 10:52:35 -07:00
Paul Gauthier
748fd0cf12 copy 2024-10-22 10:49:29 -07:00
Paul Gauthier
ac6f495377 1022 should use 1022 as editor 2024-10-22 10:48:29 -07:00
Paul Gauthier
3b14eb98a5 copy 2024-10-22 10:43:08 -07:00
Paul Gauthier
914bf3d82b feat: add model metadata for Claude 3.5 Sonnet 2024-10-22 10:42:13 -07:00
Paul Gauthier
949b50bd69 fix 1122->1022 2024-10-22 10:36:30 -07:00
Paul Gauthier (aider)
d234d5e3ec feat: add resource model metadata to search path 2024-10-22 10:34:29 -07:00
Paul Gauthier
1b530f9200 copy 2024-10-22 10:10:09 -07:00
Paul Gauthier
3c4dad7eb4 use sonnet 1022 by default 2024-10-22 10:09:35 -07:00
Paul Gauthier
cfcb6656cb added claude-3-5-sonnet-20241022 benchmarks 2024-10-22 10:05:15 -07:00
Paul Gauthier
ae54ef57ae simplify format_files_for_input 2024-10-22 10:02:42 -07:00
Paul Gauthier
cb306b61cd added model settings for sonnet 1022 2024-10-22 09:38:32 -07:00
Paul Gauthier
46269f2e9b cleanup 2024-10-21 15:31:27 -07:00
Paul Gauthier
7c9f9be7d8 fix: remove trailing slash from index.md URLs in fname_to_url tests 2024-10-21 14:46:53 -07:00
Paul Gauthier (aider)
ef45fe1015 style: format code with black 2024-10-21 14:32:05 -07:00
Paul Gauthier (aider)
eaaf05d964 fix: handle Windows-style paths in fname_to_url function 2024-10-21 14:32:01 -07:00
Paul Gauthier (aider)
3ce1cfb908 refactor: remove unused imports in test_help.py 2024-10-21 14:28:50 -07:00
Paul Gauthier (aider)
9e0a9e919b style: apply linter formatting changes 2024-10-21 14:28:35 -07:00
Paul Gauthier (aider)
671f3078c1 test: add fname_to_url tests for Unix, Windows, and edge cases 2024-10-21 14:28:28 -07:00
Paul Gauthier (aider)
67d538a499 style: format code with linter 2024-10-21 14:23:11 -07:00
Paul Gauthier (aider)
b69d131810 refactor: improve robustness of fname_to_url function 2024-10-21 14:23:07 -07:00
Paul Gauthier
949b7ece36 chore: Add debug logging for filepath and node metadata 2024-10-21 14:23:05 -07:00
Paul Gauthier
d1e35bcdd1 refactor: update stale issue handling and edit block replacement logic 2024-10-21 12:02:29 -07:00
Paul Gauthier
34ec197199 copy 2024-10-21 10:46:15 -07:00
Paul Gauthier (aider)
5a1cf67ea3 ci: add permissions for stale issue workflow 2024-10-21 10:39:45 -07:00
Paul Gauthier
e427e2da05 do not stale prs 2024-10-21 10:37:43 -07:00
Paul Gauthier (aider)
2cfd4d719a feat: add manual trigger for stale issue closure workflow 2024-10-21 10:30:19 -07:00
Paul Gauthier
709633de72 Merge branch 'main' of github.com:Aider-AI/aider 2024-10-21 10:27:26 -07:00
Paul Gauthier
bf46f6dc8b only stale questions 2024-10-21 10:26:55 -07:00
Paul Gauthier (aider)
259a18f3dd chore: update stale workflow to mark issues as stale after 14 days 2024-10-21 10:25:45 -07:00
Paul Gauthier (aider)
4c3aea4bfc feat: add stale issue and PR workflow 2024-10-21 10:04:26 -07:00
Paul Gauthier
6c595c261c chore: add GitHub action to close stale issues and PRs 2024-10-21 10:04:24 -07:00
paul-gauthier
ecaf1e674d Merge pull request #1982 from jbellis/minimal_fileids
add format_files_for_input and compute_minimal_fileids to beautify the shown session context
2024-10-21 09:55:21 -07:00
Paul Gauthier
e76704e261 copy 2024-10-16 10:32:41 -07:00
Paul Gauthier
e092081c56 Merge branch 'main' of github.com:Aider-AI/aider 2024-10-16 10:17:42 -07:00
Paul Gauthier
4d6db0cb09 copy 2024-10-16 10:16:22 -07:00
Paul Gauthier
0729a725ad copy 2024-10-16 10:15:17 -07:00
Paul Gauthier
b7a884d81e feat: add Llama-3.1-Nemotron-70B model to edit leaderboard 2024-10-16 10:14:42 -07:00
Paul Gauthier
90e6941de5 slight tweak to wholefile prompt 2024-10-16 10:13:48 -07:00
paul-gauthier
c7a05d75fd Merge pull request #1927 from mbokinala/update-docs-pipx-boto3
docs: update instructions for AWS Bedrock pipx installation to include boto3 inject step
2024-10-15 13:21:34 -07:00
Manav Bokinala
ce253fec8f move pipx bedrock boto3 instructions to bedrock.md 2024-10-15 12:59:41 -07:00
Paul Gauthier
6bb9b2567f refactor: Centralize retry timeout and use consistent value 2024-10-15 12:25:05 -07:00
Paul Gauthier
26058c89fe fix pages deploy 2024-10-14 12:57:02 -07:00
Paul Gauthier
692f6a7b85 update linkchecker install 2024-10-14 11:22:05 -07:00
Paul Gauthier
163a29b026 copy 2024-10-14 11:01:00 -07:00
Paul Gauthier
06534fa91e copy 2024-10-14 10:59:42 -07:00
Paul Gauthier
bf45a14b30 feat: add Grok-2 and Grok-2-mini model results to leaderboard 2024-10-14 10:58:40 -07:00
Paul Gauthier
0a497b7fd7 copy 2024-10-10 19:19:54 -07:00
Paul Gauthier
e1f85aa19e copy 2024-10-10 15:24:41 -07:00
Paul Gauthier
2f307e46e2 Merge branch 'main' of github.com:Aider-AI/aider 2024-10-10 15:24:04 -07:00
Paul Gauthier
22203124e9 copy 2024-10-10 15:23:46 -07:00
Paul Gauthier
7e881927d6 cleanup 2024-10-10 15:22:06 -07:00
Paul Gauthier
a4e359daf4 cleanup 2024-10-10 15:08:18 -07:00
paul-gauthier
ef2c165399 Merge pull request #2005 from strayer/strayer/add-azure-o1-model-settings 2024-10-10 06:29:00 -07:00
Sven Grunewaldt
deb27f8f27 feat: Add new model settings for azure/o1-preview
Fixes litellm exceptions and incorrect model settings when using
o1-preview on Azure OpenAI.
2024-10-10 12:05:04 +02:00
fry69
e51d8a403f Merge pull request #2002 from fry69/help-cleanup
Cleanup.
2024-10-10 06:49:02 +02:00
fry69
27ddf8aeab fix: remove unreachable return statements 2024-10-10 06:46:10 +02:00
Jonathan Ellis
b915b1834d remove unused imports 2024-10-09 14:37:22 -05:00
fry69
cd3e0ae914 Merge pull request #1990 from fry69/clipboard-fix
Another quick fix
2024-10-09 14:08:00 +02:00
fry69
e820fea289 doc: fix leftover /clipboard mention 2024-10-09 14:06:30 +02:00
fry69
fc63faa737 Merge pull request #1987 from fry69/openrouter-haiku-fix
Quick emergency fix
2024-10-09 13:04:30 +02:00
fry69
65b50cdaee fix: correct weak model names for Sonnet-3.5 on OpenRouter 2024-10-09 12:50:44 +02:00
Jonathan Ellis
464c3e29e1 add format_files_for_input and compute_minimal_fileids 2024-10-08 22:29:46 -05:00
Paul Gauthier
f65bf9aee7 indent 2024-10-08 10:47:44 -07:00
Paul Gauthier
80f7e56785 initial 2024-10-08 10:39:30 -07:00
Paul Gauthier
0cb05dd001 initial 2024-10-08 10:38:36 -07:00
paul-gauthier
0fe5247d4c Merge pull request #1967 from fry69/chat-history-fix-try2
doc: fix wrong encapsulation
2024-10-07 16:33:01 -07:00
fry69
91a013afb3 doc: fix wrong encapsulation 2024-10-08 01:22:50 +02:00
fry69
3bc056a107 doc: fix wrong encapsulation 2024-10-08 01:22:01 +02:00
paul-gauthier
456c163cb9 Merge pull request #1966 from fry69/chat-history-fix 2024-10-07 15:54:19 -07:00
fry69
f3ff24e35a doc: clarify soft limit for chat history tokens 2024-10-08 00:51:04 +02:00
Paul Gauthier
1d2a3f573c fixes #1941 2024-10-07 13:05:40 -07:00
Paul Gauthier
cbdabd3ae9 fixes #1944 2024-10-07 13:05:28 -07:00
Paul Gauthier
c24ec7f230 fix: Handle additional Git errors in repo check 2024-10-07 12:52:38 -07:00
Paul Gauthier
3146d285bf fix gitignore test 2024-10-07 12:29:39 -07:00
Paul Gauthier (aider)
bde93903de feat: add .env to gitignore check and update process 2024-10-07 12:26:45 -07:00
Paul Gauthier
e487351c8d copy 2024-10-05 14:40:05 -07:00
Paul Gauthier
10ecb4b97f copy 2024-10-05 14:38:01 -07:00
Paul Gauthier (aider)
04a2cbb494 refactor: update regex patterns to match complete lines with optional whitespace 2024-10-05 12:31:23 -07:00
Paul Gauthier
7729974253 set version to 0.59.2.dev 2024-10-05 12:30:48 -07:00
Paul Gauthier
27bfb3c662 version bump to 0.59.1 2024-10-05 12:29:27 -07:00
Paul Gauthier
3d5a7dce4f copy 2024-10-05 12:28:10 -07:00
Paul Gauthier
2d0de85976 Merge branch 'main' of github.com:Aider-AI/aider 2024-10-05 11:40:19 -07:00
Paul Gauthier (aider)
ea4e58e509 refactor: improve error message matching flexibility 2024-10-05 11:37:15 -07:00
Paul Gauthier (aider)
48272449bb style: remove unused exception variable 2024-10-05 11:36:11 -07:00
Paul Gauthier
989e7c18fb refactor: Simplify config file check and error handling 2024-10-05 11:36:04 -07:00
Paul Gauthier (aider)
c6d1c45abc style: format code with black and adjust line breaks 2024-10-05 11:32:53 -07:00
Paul Gauthier (aider)
57efba2763 refactor: improve config file error handling and messaging 2024-10-05 11:32:48 -07:00
Paul Gauthier
e56df2391d refactor: Simplify error handling in main function 2024-10-05 11:32:47 -07:00
Paul Gauthier (aider)
28fab9548b style: format long lines in main.py 2024-10-05 11:30:46 -07:00
Paul Gauthier (aider)
7d117d05c5 fix: replace io.tool_output with print for early error handling 2024-10-05 11:30:42 -07:00
Paul Gauthier (aider)
a482ef9bfa feat: add error handling for 'yes:' config issue 2024-10-05 11:29:44 -07:00
Paul Gauthier (aider)
f82ab9cc6e feat: add error handling for 'yes:' config issue 2024-10-05 11:28:00 -07:00
paul-gauthier
13141fc733 Merge pull request #1934 from fry69/openrouter-beta-models-fix
fix: add OpenRouter Sonnet-3.5 beta/self-moderated model
2024-10-05 07:13:29 -07:00
fry69
3c7e285182 fix: add OpenRouter Sonnet-3.5 beta/self-moderated model 2024-10-05 16:12:34 +02:00
Manav Bokinala
30238dbbd5 docs: update instructions for pipx installation to include boto3 inject step 2024-10-04 20:05:33 -07:00
Paul Gauthier
96cdd95988 refactor: Reorganize charts and update HISTORY.md structure 2024-10-04 15:56:28 -07:00
Paul Gauthier
c10442087b copy 2024-10-04 15:40:43 -07:00
Paul Gauthier
06bd2ace69 set version to 0.59.1.dev 2024-10-04 15:28:29 -07:00
Paul Gauthier
3759340eb4 version bump to 0.59.0 2024-10-04 15:27:13 -07:00
Paul Gauthier
46e182004e copy 2024-10-04 15:25:43 -07:00
Paul Gauthier
e84de1fb5a Revert "test: add DummyInput and DummyOutput to TestHelp setup"
This reverts commit d098a4cd80.
2024-10-04 15:25:22 -07:00
Paul Gauthier
3b9af69dec copy 2024-10-04 15:19:19 -07:00
Paul Gauthier
d098a4cd80 test: add DummyInput and DummyOutput to TestHelp setup 2024-10-04 14:04:02 -07:00
Paul Gauthier
501a304d32 copy 2024-10-04 13:53:07 -07:00
Paul Gauthier
19b6e79719 copy 2024-10-04 13:47:43 -07:00
Paul Gauthier
d77ae7c2ac copy 2024-10-04 13:36:25 -07:00
Paul Gauthier
2b4206fd57 paul-gauthier -> Aider-AI 2024-10-04 13:06:38 -07:00
Paul Gauthier
4ef7022343 copy 2024-10-04 13:00:01 -07:00
Paul Gauthier
1c67ddcbff copy 2024-10-04 12:58:48 -07:00
Paul Gauthier
516e637c39 Update docs github.com/paul-gauthier -> github.com/Aider-AI 2024-10-04 12:53:45 -07:00
Paul Gauthier
d17bd6ebcc move import 2024-10-04 12:51:39 -07:00
Paul Gauthier (aider)
cde45d9fdf style: fix linting issues and add newline 2024-10-04 12:50:38 -07:00
Paul Gauthier (aider)
bfba7e8e73 refactor: move git index version URL to urls.py 2024-10-04 12:50:32 -07:00
Paul Gauthier
f8243b3632 refactor: Move reply_completed call before KeyboardInterrupt handling 2024-10-04 11:46:44 -07:00
Paul Gauthier
7ff2dc89b4 refactor: modify command parsing to use last word only 2024-10-04 11:20:55 -07:00
Paul Gauthier (aider)
0c743ce8e8 feat: sort completions in completions_raw_read_only method 2024-10-04 11:17:47 -07:00
Paul Gauthier
50f88a8d28 copy 2024-10-04 09:37:34 -07:00
Paul Gauthier
ff230554ce chore: Update edit leaderboard with latest model performance data 2024-10-04 09:35:28 -07:00
Paul Gauthier
af10953534 refactor: Improve completion matching for 'add' command 2024-10-03 11:00:18 -07:00
Paul Gauthier (aider)
6093a4c2bb feat: add 'add' command completions to /read-only command 2024-10-03 10:54:26 -07:00
Paul Gauthier
33b45b68e2 copy 2024-10-02 12:03:47 -07:00
Paul Gauthier (aider)
e33e9c44bb fix: import ANY from unittest.mock to resolve undefined name error 2024-10-02 11:21:28 -07:00
Paul Gauthier (aider)
b35bd06eb8 style: format code in test_models.py 2024-10-02 11:21:17 -07:00
Paul Gauthier (aider)
875fb3a178 test: update sanity_check_models_bogus_editor to expect two warnings 2024-10-02 11:21:13 -07:00
Paul Gauthier (aider)
97d6b68613 fix: add missing sanity_check_model import 2024-10-02 11:20:01 -07:00
Paul Gauthier (aider)
21adf405a0 fix: correct imports and model usage in test_models.py 2024-10-02 11:19:38 -07:00
Paul Gauthier (aider)
1a355cbf74 style: format code in test_models.py 2024-10-02 11:19:25 -07:00
Paul Gauthier (aider)
1a3e8b3375 test: update sanity check test to use real Model instances 2024-10-02 11:19:22 -07:00
Paul Gauthier (aider)
da9af264f8 fix: import sanity_check_models in test_models.py 2024-10-02 11:17:53 -07:00
Paul Gauthier (aider)
93cb615ffd test: add test for sanity check with bogus editor model 2024-10-02 11:15:27 -07:00
Paul Gauthier (aider)
7e55a8f684 style: Format code in test_models.py to improve readability 2024-10-02 11:15:09 -07:00
Paul Gauthier (aider)
433223a7fc test: add sanity check for bogus editor model 2024-10-02 11:15:05 -07:00
Paul Gauthier (aider)
1b58e1f6ad style: format code with linter 2024-10-02 11:13:49 -07:00
Paul Gauthier (aider)
03faad3110 refactor: improve sanity_check_models to include editor model check 2024-10-02 11:13:44 -07:00
Paul Gauthier
992600fcb7 fixes #1889 2024-10-02 11:06:19 -07:00
Paul Gauthier
99c3a1ec7f feat: Rename --yes to --yes-always and update config file syntax 2024-10-02 10:55:59 -07:00
Paul Gauthier
d4fe0b18ad rename --yes to --yes-always #767 2024-10-02 10:45:11 -07:00
Paul Gauthier
8dfda27151 copy 2024-10-02 09:30:35 -07:00
Paul Gauthier (aider)
70a509bbea style: Format error message assertion in test_commands.py 2024-10-02 09:21:23 -07:00
Paul Gauthier (aider)
8c45e25724 test: update cmd_read_only test with full path for nonexistent glob 2024-10-02 09:21:17 -07:00
Paul Gauthier (aider)
f12682a0c1 style: Format code and remove whitespace 2024-10-02 09:20:45 -07:00
Paul Gauthier (aider)
79350ab195 test: add glob functionality tests for cmd_read_only method 2024-10-02 09:20:39 -07:00
Paul Gauthier (aider)
ff0bacc984 style: reorder imports and remove whitespace 2024-10-02 09:18:58 -07:00
Paul Gauthier (aider)
d76f7a597e fix: handle tilde expansion in cmd_read_only for home directories 2024-10-02 09:18:53 -07:00
Paul Gauthier (aider)
9ad915f40e style: reorder imports alphabetically in commands.py 2024-10-02 09:16:13 -07:00
Paul Gauthier (aider)
e5b27355b7 feat: use glob for flexible file matching in cmd_read_only 2024-10-02 09:16:08 -07:00
Paul Gauthier (aider)
510fa24ade feat: add --skip-sanity-check-repo switch 2024-10-01 17:31:34 -07:00
Paul Gauthier
72cb5db530 refactor: remove debug print statement for commit_system 2024-10-01 14:25:35 -07:00
Paul Gauthier
8b6b558483 refactor: Optimize cache key generation in RepoMap class 2024-10-01 14:25:27 -07:00
Paul Gauthier
90e42045df copy 2024-10-01 14:23:16 -07:00
Paul Gauthier (aider)
1ff9157c95 style: Format code to comply with linter rules 2024-10-01 14:22:49 -07:00
Paul Gauthier (aider)
cf1e6e65c7 feat: add mentioned_fnames and mentioned_idents to cache key 2024-10-01 14:22:44 -07:00
Paul Gauthier
be5012db96 refactor: improve sorting of ranked definitions 2024-10-01 14:22:43 -07:00
Paul Gauthier
aec8550e56 Merge branch 'main' of github.com:paul-gauthier/aider 2024-10-01 14:20:30 -07:00
Paul Gauthier
1a4ef0f532 fix: Handle OSError when resolving config file path 2024-10-01 14:19:09 -07:00
paul-gauthier
20ab8eb90a Merge pull request #1876 from itlackey/benchmark/ollama-models
Benchmark/ollama models
2024-10-01 14:17:17 -07:00
itlackey
d621d16255 - Added hermes3 2024-10-01 16:06:15 -05:00
itlackey
61bc130464 - Added yi-coder:9b-chat-fp16 2024-10-01 16:06:15 -05:00
itlackey
aa911a847d - Added mistral-small 2024-10-01 16:06:15 -05:00
itlackey
268331d5c0 - Added hermes3:8b-llama3.1-fp16 2024-10-01 16:06:15 -05:00
itlackey
8d4dd5c9de - Added llama3.2:3b-instruct-fp16 2024-10-01 16:06:15 -05:00
itlackey
fb34af4362 - Added qwen2.5:32b 2024-10-01 16:06:15 -05:00
itlackey
e381260932 - Added mistral-nemo:12b-instruct-2407-q4_K_M 2024-10-01 16:06:15 -05:00
itlackey
e2d5f15aff - Added wojtek/opencodeinterpreter:6.7b 2024-10-01 16:06:15 -05:00
itlackey
d4cecf9fd0 - Added codegeex4 2024-10-01 16:06:15 -05:00
paul-gauthier
12578c0388 Merge pull request #1852 from fry69/commit-prompt-fix
fix: enhance commit prompt to ensure one-line with Haiku
2024-10-01 12:19:37 -07:00
Paul Gauthier
9b22d6248a fix: Swap the order of settings and announcements in the output 2024-10-01 11:56:01 -07:00
Paul Gauthier (aider)
729cad640f feat: Add announcements to /settings output 2024-10-01 11:54:28 -07:00
fry69
7a56be174e fix: enhance commit prompt to ensure one-line with Haiku 2024-10-01 10:09:20 +02:00
Paul Gauthier
9789668ca4 copy 2024-09-30 21:21:50 -07:00
Paul Gauthier
9f7aada9c5 copy 2024-09-30 21:21:40 -07:00
Paul Gauthier
51f46393c3 copy 2024-09-30 21:18:20 -07:00
Paul Gauthier
e1029a3858 copy 2024-09-30 21:17:27 -07:00
Paul Gauthier (aider)
51ba096916 feat: implement cog to fetch and process model data 2024-09-30 21:15:09 -07:00
Paul Gauthier
d9c159fe7a feat: Add documentation for infinite output 2024-09-30 21:15:08 -07:00
Paul Gauthier
8ebd519615 copy 2024-09-30 14:28:05 -07:00
Paul Gauthier
bfcba012fa set version to 0.58.2.dev 2024-09-30 14:25:39 -07:00
Paul Gauthier
8f48c68fc6 version bump to 0.58.1 2024-09-30 14:24:18 -07:00
Paul Gauthier
f2e1e17741 avoid stomping extra_params[max_tokens]=1 in cache warming, which causes loop of 1 token infinite-output responses with prefill models #1842 #1841 2024-09-30 14:22:11 -07:00
Paul Gauthier
8fb0362b47 copy 2024-09-30 09:37:47 -07:00
Paul Gauthier
a42587b8de copy 2024-09-30 09:31:50 -07:00
Paul Gauthier
474056a068 copy 2024-09-30 09:25:37 -07:00
Paul Gauthier
adde5e08d0 copy 2024-09-30 08:34:40 -07:00
Paul Gauthier
0aaa37f528 copy 2024-09-29 16:05:00 -07:00
Paul Gauthier
e5862ae81e Merge branch 'main' of github.com:paul-gauthier/aider 2024-09-29 15:50:53 -07:00
Paul Gauthier
485bfa2492 copy 2024-09-29 15:46:32 -07:00
paul-gauthier
d5117921cf Merge pull request #1826 from mario7421/typo-fix 2024-09-29 12:43:51 -07:00
mario7421
98b3f5bbdb Fix typo in diff prompt 2024-09-29 21:07:20 +02:00
paul-gauthier
b73c518eb2 Merge pull request #1823 from fry69/architect-hot-fix 2024-09-29 09:33:55 -07:00
fry69
457b627b67 doc: hotfix for Full results table 2024-09-29 18:15:08 +02:00
Paul Gauthier
53ca83beea copy 2024-09-29 08:31:13 -07:00
Paul Gauthier
53a83734ca set version to 0.58.1.dev 2024-09-29 08:19:48 -07:00
Paul Gauthier
2bdd9360ab version bump to 0.58.0 2024-09-29 08:18:38 -07:00
Paul Gauthier
805e46a1df publish architect 2024-09-29 08:13:22 -07:00
Paul Gauthier
291ef5711d architect graphic 2024-09-29 08:12:30 -07:00
Paul Gauthier
00605e67fb copy 2024-09-29 08:10:13 -07:00
Paul Gauthier
6c6c6076eb copy 2024-09-29 08:09:50 -07:00
Paul Gauthier
b8ec4a5291 Merge branch 'main' of github.com:paul-gauthier/aider 2024-09-29 08:09:18 -07:00
Paul Gauthier
387a9434f8 copy 2024-09-29 08:06:17 -07:00
paul-gauthier
cc01313500 Merge pull request #1807 from itlackey/benchmark/ollama-codestral 2024-09-28 15:49:49 -07:00
Paul Gauthier
0091ab004c fix: Update autocomplete test to handle partial file names 2024-09-28 15:29:54 -07:00
Paul Gauthier (aider)
d647ebf058 fix: remove unused import of Completion in test_io.py 2024-09-28 15:28:29 -07:00
Paul Gauthier (aider)
c2b48b5256 style: format code and improve readability in test_io.py 2024-09-28 15:28:14 -07:00
Paul Gauthier (aider)
d5b8a15410 test: add unit tests for AutoCompleter.get_command_completions method 2024-09-28 15:28:11 -07:00
Paul Gauthier
2139de76fb test: remove unused test for command completions in TestInputOutput class 2024-09-28 15:28:10 -07:00
Paul Gauthier (aider)
e832ee8450 style: format code and run linter on test_io.py 2024-09-28 15:24:18 -07:00
Paul Gauthier (aider)
37236aa907 fix: update test_get_command_completions to match new method signature with Document and CompleteEvent parameters 2024-09-28 15:24:14 -07:00
Paul Gauthier (aider)
4ea68efd0e test: Fix confirm_ask test to handle invalid input and verify call count 2024-09-28 15:19:19 -07:00
Paul Gauthier (aider)
843cc9ee4e style: run linter and fix whitespace in test_io.py 2024-09-28 15:16:59 -07:00
Paul Gauthier (aider)
ec10ead0c3 test: add unit tests for allow_never option in confirm_ask method 2024-09-28 15:16:56 -07:00
Paul Gauthier
b78d19c7a5 copy 2024-09-28 15:15:42 -07:00
Paul Gauthier
97ddcb2ae6 feat: Add autocomplete support for /read-only command 2024-09-28 15:14:35 -07:00
Paul Gauthier (aider)
d1ee3644ec style: run linter and format import statements in io.py 2024-09-28 15:02:37 -07:00
Paul Gauthier (aider)
b9fb59dc3e fix: remove unused import of PathCompleter from aider/io.py 2024-09-28 15:02:33 -07:00
Paul Gauthier (aider)
ad0497dfdf style: run linter and fix code formatting in io.py 2024-09-28 15:02:13 -07:00
Paul Gauthier (aider)
c1642b5eca feat: add "Never" option to confirm_ask and store user choices in never_prompts set 2024-09-28 15:02:09 -07:00
Paul Gauthier
f8746feaa1 fix: Improve warning message for unsupported streaming 2024-09-28 14:55:22 -07:00
Paul Gauthier
40588ccffa copy 2024-09-28 14:55:16 -07:00
Paul Gauthier (aider)
9884d838ea style: run linter and format test_commands.py for improved readability 2024-09-28 14:48:23 -07:00
Paul Gauthier (aider)
384391129d test: add unit test for /copy command with cur_messages present 2024-09-28 14:48:18 -07:00
Paul Gauthier
0819258e0f test: add unit test for handling bad glob in command add 2024-09-28 14:48:17 -07:00
Paul Gauthier (aider)
1e776863ac style: format code and improve linter compliance in test_commands.py 2024-09-28 14:44:04 -07:00
Paul Gauthier (aider)
202a219d82 test: add tests for the /copy command including success, no messages, and exception handling 2024-09-28 14:44:00 -07:00
Paul Gauthier
817530ccb7 fixed regression allowing non-repo files to move from /read to /add 2024-09-28 14:42:07 -07:00
Paul Gauthier
ffd7364410 Merge branch 'main' into path-completer 2024-09-28 14:33:58 -07:00
Paul Gauthier
bebffee3dd Merge branch 'main' of github.com:paul-gauthier/aider 2024-09-28 14:33:25 -07:00
Paul Gauthier
8cb3e523a5 copy 2024-09-28 14:31:49 -07:00
itlackey
228ae24834 added ollama/codestral benchmark 2024-09-28 16:08:49 -05:00
paul-gauthier
ffc7d35145 Merge pull request #1796 from fry69/git-doc-fix 2024-09-28 07:21:38 -07:00
fry69
010f921c53 doc: fix /paste entry in commands.html spilling into new line 2024-09-28 15:11:26 +02:00
fry69
d7d87847a6 doc: small fixes 2024-09-28 08:31:50 +02:00
Paul Gauthier
91307ecfc4 fix: Remove unnecessary call to dump() in InputOutput.read_style() 2024-09-27 19:50:45 -07:00
Paul Gauthier (aider)
1a75b79c81 fix: change default values for completion menu arguments to None in InputOutput.__init__ method 2024-09-27 19:49:53 -07:00
Paul Gauthier
3ff5f280bb fix: add dump function call to style dictionary processing in InputOutput class 2024-09-27 19:49:52 -07:00
Paul Gauthier (aider)
e465cda5c8 fix: change default values for completion menu arguments from "default" to None in aider/args.py 2024-09-27 19:49:17 -07:00
Paul Gauthier (aider)
2d5db0dc23 style: format code with linter adjustments 2024-09-27 19:47:45 -07:00
Paul Gauthier (aider)
537f5a1f98 fix: update _get_style method to conditionally add completion menu styles based on non-null values 2024-09-27 19:47:41 -07:00
Paul Gauthier
ede3cbb372 refactor: simplify _get_style method in InputOutput class 2024-09-27 19:47:40 -07:00
Paul Gauthier (aider)
d3908ca971 fix: update style dictionary and simplify style retrieval in get_input method 2024-09-27 19:45:14 -07:00
Paul Gauthier (aider)
725b5f7063 feat: centralize pygments.literal.string style configuration in _get_style method and simplify calling code 2024-09-27 19:45:04 -07:00
Paul Gauthier (aider)
fd9dc9e8d2 style: format linter adjustments in io.py for better readability 2024-09-27 19:44:23 -07:00
Paul Gauthier (aider)
c5fb25eec3 fix: correct SEARCH/REPLACE block in aider/io.py to match existing lines exactly 2024-09-27 19:44:20 -07:00
Paul Gauthier (aider)
d2e0d3c06d refactor: ensure _get_style always returns a dictionary and simplify calling code 2024-09-27 19:44:14 -07:00
Paul Gauthier (aider)
1cd5b11b5c style: fix linter issues in io.py 2024-09-27 19:43:34 -07:00
Paul Gauthier (aider)
b16050211c fix: fix line length issue in _get_style method by breaking long string into multiple lines 2024-09-27 19:43:30 -07:00
Paul Gauthier (aider)
0a558682d8 style: format linter adjustments in io.py for better readability 2024-09-27 19:43:16 -07:00
Paul Gauthier (aider)
bff1b3de9c refactor: centralize completion menu styles in _get_style method to reduce code duplication 2024-09-27 19:43:12 -07:00
Paul Gauthier (aider)
cf46d9cdd0 style: run linter and format completion menu style definitions 2024-09-27 19:41:56 -07:00
Paul Gauthier (aider)
2c084d65d9 refactor: centralize style creation logic by introducing _get_style method in InputOutput class 2024-09-27 19:41:51 -07:00
Paul Gauthier (aider)
41d5b284e3 fix: resolve syntax errors in commands.py and improve file handling logic 2024-09-27 19:31:43 -07:00
Paul Gauthier (aider)
45d94b1c7c fix: handle file status correctly in /add and _add_read_only_file commands 2024-09-27 19:30:20 -07:00
Paul Gauthier (aider)
2509f0704f style: Fix formatting in commands.py 2024-09-27 17:10:10 -07:00
Paul Gauthier (aider)
1f56118c99 feat: Simplify completions_raw_read_only method 2024-09-27 17:10:05 -07:00
Paul Gauthier
38d03bca09 fix: Rename _old_completions_add to completions_add 2024-09-27 17:10:04 -07:00
Paul Gauthier (aider)
731f312731 fix: remove unused import of 'shlex' 2024-09-27 17:06:32 -07:00
Paul Gauthier
635a800032 fix: Quote file names with spaces in completions 2024-09-27 17:06:27 -07:00
Paul Gauthier (aider)
87da3a7132 fix: adjust start_position for quoted filename completions in completions_raw_read_only method 2024-09-27 16:53:15 -07:00
Paul Gauthier
eef97e4938 fix: remove redundant import of shlex in commands.py 2024-09-27 16:53:14 -07:00
Paul Gauthier (aider)
36bc8f90db fix: properly quote filenames with spaces and special characters using shlex.quote() 2024-09-27 16:52:06 -07:00
Paul Gauthier (aider)
c4e766a4c4 style: run linter and reorder import statements in commands.py 2024-09-27 16:51:01 -07:00
Paul Gauthier (aider)
8bb9bbef19 feat: modify PathCompleter to quote filenames with spaces in completions 2024-09-27 16:50:57 -07:00
Paul Gauthier
2a79723336 refactor: rename completions_add method to _old_completions_add for clarity 2024-09-27 16:50:57 -07:00
Paul Gauthier
542afbeb74 fix: Use self.coder.root instead of self.root in get_paths function 2024-09-27 16:48:55 -07:00
Paul Gauthier (aider)
9644546a65 feat: add get_paths function to PathCompleter for starting from self.root if not None 2024-09-27 16:47:47 -07:00
Paul Gauthier
79e0b80f34 Merge branch 'main' into path-completer 2024-09-27 16:46:24 -07:00
Paul Gauthier
7e4e6782d1 fix: set max_tokens to 1 for cache warming 2024-09-27 16:46:03 -07:00
Paul Gauthier (aider)
aab01086a2 style: fix formatting in base_coder.py 2024-09-27 16:43:24 -07:00
Paul Gauthier (aider)
f7818c6994 feat: Use **kwargs for extra_params in warm_cache_worker 2024-09-27 16:43:18 -07:00
Paul Gauthier
22c60cad1a refactor: Replace extra_params with extra_headers in cache warming request 2024-09-27 16:43:17 -07:00
Paul Gauthier
237ee1c5a1 Merge branch 'main' into path-completer 2024-09-27 16:40:53 -07:00
Paul Gauthier (aider)
87e4010b8b style: Run linter 2024-09-27 16:39:42 -07:00
Paul Gauthier (aider)
7830dadccf fix: Remove unused imports in aider/commands.py 2024-09-27 16:39:37 -07:00
Paul Gauthier (aider)
6287bf37e5 feat: Implement partial prefix matching for /read-only command in completions_raw_read_only method 2024-09-27 16:39:26 -07:00
Paul Gauthier
369310a7c3 fix: Remove commented-out code in PathCompleter configuration 2024-09-27 16:39:25 -07:00
Paul Gauthier (aider)
7e1497e114 style: Run linter and fix code formatting issues in commands.py 2024-09-27 16:35:27 -07:00
Paul Gauthier (aider)
57257b7c15 fix: correct indentation error in completions_raw_read_only method in aider/commands.py 2024-09-27 16:35:22 -07:00
Paul Gauthier (aider)
68c4817c14 fix: adjust completions_raw_read_only to process only file path input for correct path completions 2024-09-27 16:34:55 -07:00
Paul Gauthier (aider)
c35a41466b fix: correct completions_raw_read_only method to yield all path completions without unnecessary filtering 2024-09-27 16:25:39 -07:00
Paul Gauthier
bb740f3004 refactor: Replace extra_headers with extra_params in cache warming request 2024-09-27 16:22:17 -07:00
Paul Gauthier
c745d0dc38 wip 2024-09-27 16:21:18 -07:00
Paul Gauthier (aider)
9c5ef0b41a style: run linter 2024-09-27 16:17:41 -07:00
Paul Gauthier (aider)
2d3605156e feat: Implement file path completion for read-only command 2024-09-27 16:17:37 -07:00
Paul Gauthier
8e276939a7 feat: Implement completions_raw_read_only method
diff --git a/aider/commands.py b/aider/commands.py
index 80dd81dd..d4d4d4d1 100644
--- a/aider/commands.py
+++ b/aider/commands.py
@@ -580,7 +580,31 @@ class Commands:
         return fname

     def completions_raw_read_only(self, document, complete_event):
-        pass
+        # Extract the part of the input after the command
+        text = document.text[len("/read-only") :].lstrip()
+
+        # Create a PathCompleter
+        path_completer = PathCompleter(
+            only_directories=False,
+            expanduser=True,
+            get_paths=lambda: [self.coder.root],
+        )
+
+        # Create a new Document object with the modified text
+        new_document = Document(text, cursor_position=len(text))
+
+        # Get completions from the PathCompleter
+        completions = path_completer.get_completions(new_document, complete_event)
+
+        # Yield the completions
+        for completion in completions:
+            # Adjust the start position to account for the command
+            yield Completion(
+                completion.text,
+                start_position=completion.start_position - len(document.text) + len(text),
+                display=completion.display,
+                display_meta=completion.display_meta,
+            )

     def completions_add(self):
         files = set(self.coder.get_all_relative_files())
2024-09-27 16:17:35 -07:00
Paul Gauthier (aider)
c2afdcfdb9 fix: Create new Document object for path completion in completions_raw_read_only 2024-09-27 16:10:16 -07:00
Paul Gauthier
8e02cadfbc fix: Ensure command starts with slash before retrieving raw completions 2024-09-27 16:10:14 -07:00
Paul Gauthier (aider)
0a77b6cfac feat: Add Completion import to aider/commands.py 2024-09-27 16:07:35 -07:00
Paul Gauthier (aider)
f8390a889b style: Ran the linter 2024-09-27 16:06:44 -07:00
Paul Gauthier (aider)
b930a1db40 feat: Add raw completer for cmd_read_only command 2024-09-27 16:06:39 -07:00
Paul Gauthier (aider)
ee4de6bd1c feat: Add get_raw_completions method to Commands class 2024-09-27 16:05:40 -07:00
Paul Gauthier (aider)
6c2c3942bf feat: Add document and complete_event parameters to get_command_completions 2024-09-27 16:04:17 -07:00
Paul Gauthier
3ec0861727 fix: Add support for raw completers in AutoCompleter 2024-09-27 16:04:16 -07:00
Paul Gauthier (aider)
37b512e4fc feat: Update get_command_completions and get_completions methods 2024-09-27 15:59:56 -07:00
Paul Gauthier
01437fa58c copy 2024-09-27 14:29:35 -07:00
Paul Gauthier
927d03cc37 copy 2024-09-27 14:28:53 -07:00
Paul Gauthier (aider)
114fb2a889 style: Improve code formatting and readability 2024-09-27 14:26:56 -07:00
Paul Gauthier (aider)
f95c4626cf fix: Handle clipboard copy errors in cmd_copy 2024-09-27 14:26:50 -07:00
Paul Gauthier (aider)
11db5d95a0 feat: Add /copy command to copy last assistant message 2024-09-27 14:25:22 -07:00
Paul Gauthier (aider)
7d79dd00af style: Improve code formatting and readability 2024-09-27 14:21:43 -07:00
Paul Gauthier (aider)
0c470662bb feat: Add /copy command to copy last assistant message to clipboard 2024-09-27 14:21:37 -07:00
Paul Gauthier
7c1318274e Revert "feat: include non-repo files for completing /read"
This reverts commit d2fbc92507.
2024-09-27 13:17:36 -07:00
Paul Gauthier
a766395651 Merge branch 'main' of github.com:paul-gauthier/aider 2024-09-27 13:16:15 -07:00
paul-gauthier
2dfc47f5c6 Merge pull request #1757 from jbellis/read-nonrepo
feat: include non-repo files for completing /read
2024-09-27 13:15:23 -07:00
Paul Gauthier
48bd616092 copy 2024-09-27 13:10:41 -07:00
Paul Gauthier
810aeccf94 fix: Replace extra_headers and extra_body with extra_params in Coder, ChatSummary, and GitRepo 2024-09-27 13:09:43 -07:00
Paul Gauthier (aider)
c24e947b18 style: Run linter 2024-09-27 13:02:47 -07:00
Paul Gauthier (aider)
74f615bbb4 feat: Consolidate extra parameters in sendchat.py 2024-09-27 13:02:44 -07:00
Paul Gauthier (aider)
eb0331baed feat: wrap max_tokens in extra_params for ModelSettings 2024-09-27 13:01:20 -07:00
Paul Gauthier (aider)
c3e44b498d feat: update ModelSettings in aider/models.py 2024-09-27 12:58:45 -07:00
Paul Gauthier (aider)
58c856505b feat: Add extra_params field to ModelSettings class and update instances 2024-09-27 12:58:21 -07:00
Paul Gauthier
932aaea845 copy 2024-09-27 12:56:47 -07:00
Paul Gauthier
d50d97ab26 Merge branch 'main' of github.com:paul-gauthier/aider 2024-09-27 12:32:09 -07:00
Paul Gauthier
3c8f15f924 copy 2024-09-27 12:32:03 -07:00
paul-gauthier
c2c4dbd2a8 Merge pull request #1595 from jbellis/paste
feat: rename /clipboard to /paste
2024-09-27 12:31:53 -07:00
paul-gauthier
04d6fc5ef4 Merge pull request #1742 from rti/fix-apply-tool-warning-color
fix(InputOutput): apply tool warning color
2024-09-27 12:29:49 -07:00
Paul Gauthier (aider)
b2549a78bd fix: Move imports to top of file 2024-09-27 12:25:10 -07:00
Paul Gauthier
3b9f561956 fix: Refactor code to handle exceptions more gracefully 2024-09-27 12:25:02 -07:00
Paul Gauthier (aider)
6ab1fdfe36 fix: fix indentation error in get_index function in aider/help.py 2024-09-27 12:23:09 -07:00
Paul Gauthier (aider)
8b0314ae77 style: run linter and fix formatting issues in aider/help.py 2024-09-27 12:22:12 -07:00
Paul Gauthier (aider)
cb1f6f2e3a fix: handle exceptions during index loading and recreate cache if necessary in aider/help.py 2024-09-27 12:22:09 -07:00
Paul Gauthier
a230fa10b3 feat: Add option to show announcements only when verbose mode is enabled 2024-09-27 12:12:35 -07:00
Paul Gauthier
1971285345 copy 2024-09-27 11:56:52 -07:00
Paul Gauthier
e1c2dd53cf copy 2024-09-27 11:54:23 -07:00
Paul Gauthier
cfbf943eb1 copy 2024-09-27 11:48:38 -07:00
Paul Gauthier (aider)
57b832fed1 style: add minimal border to table 2024-09-27 11:31:26 -07:00
Paul Gauthier (aider)
da3e0f6ec8 style: Implement responsive table design 2024-09-27 11:28:52 -07:00
Paul Gauthier
9575f4e5ea feat: Increase font size of chart title 2024-09-27 11:28:51 -07:00
Paul Gauthier (aider)
6e0f981689 fix: Update legend colors to match bar colors in chart 2024-09-27 11:23:41 -07:00
Paul Gauthier (aider)
04978a232b feat: Add gpt-4o-mini to chart configuration 2024-09-27 11:22:16 -07:00
Paul Gauthier
44b61fc370 fix: Update label format in architect post 2024-09-27 11:22:15 -07:00
Paul Gauthier
0bd8058589 copy 2024-09-27 11:09:44 -07:00
Paul Gauthier
ad38339f74 Bring commit hashes back from editor_coder, to allow /undo 2024-09-27 11:06:37 -07:00
Paul Gauthier
2f951cde0a copy 2024-09-27 10:54:48 -07:00
Paul Gauthier
84eca42ca8 feat: Add upgrade-strategy option to pip install command 2024-09-27 10:43:55 -07:00
Paul Gauthier
1df67b0650 copy 2024-09-27 10:36:38 -07:00
Paul Gauthier
8eed1b6ca5 fix: Update pip install command to use --upgrade-strategy only-if-needed 2024-09-27 10:34:09 -07:00
Paul Gauthier
0d55a51033 copy 2024-09-27 10:27:33 -07:00
Paul Gauthier
31e33ec8ef Merge branch 'main' of github.com:paul-gauthier/aider 2024-09-27 10:27:18 -07:00
Paul Gauthier
b16027e500 copy 2024-09-27 10:27:01 -07:00
Paul Gauthier
1acb4da8d0 copy 2024-09-27 10:26:48 -07:00
Paul Gauthier (aider)
f38ea0c8e2 feat: Add cmd_architect method to aider/commands.py 2024-09-27 10:25:50 -07:00
paul-gauthier
9d55197cd8 Merge pull request #1776 from fry69/junior-rename 2024-09-27 05:38:01 -07:00
fry69
667a58052e feat: change edit format from "senior" to "architect" 2024-09-27 09:03:42 +02:00
fry69
e3e0d57512 chore: update parameter names in args and benchmark 2024-09-27 08:57:22 +02:00
Paul Gauthier
c742642df2 copy 2024-09-26 19:06:01 -07:00
Paul Gauthier
c063bdb039 copy 2024-09-26 19:03:48 -07:00
Paul Gauthier
6230060d6a feat: Adjust chart settings for different screen sizes 2024-09-26 19:02:46 -07:00
Paul Gauthier (aider)
2b03b58018 feat: Add x-axis label rotation and adjust chart height 2024-09-26 18:58:02 -07:00
Paul Gauthier
f0c55a949c fix: update chart settings based on screen width 2024-09-26 18:58:01 -07:00
Paul Gauthier (aider)
d9e5d66957 feat: Introduce responsive font sizes based on screen width 2024-09-26 18:55:56 -07:00
Paul Gauthier
5ac71d8b6d copy 2024-09-26 17:46:52 -07:00
Paul Gauthier (aider)
1099cda9e4 feat: Add responsive options to the Chart.js configuration 2024-09-26 17:44:50 -07:00
Paul Gauthier
d1dd640577 cleanup 2024-09-26 17:43:05 -07:00
Paul Gauthier (aider)
9bc7c8f3b0 feat: Add title to chart legend 2024-09-26 17:43:01 -07:00
Paul Gauthier
7027b7b724 feat: Add new blog post for 'architect' 2024-09-26 17:40:31 -07:00
Paul Gauthier
87c6c636d1 Merge branch 'main' of github.com:paul-gauthier/aider 2024-09-26 17:39:03 -07:00
Paul Gauthier
0ab5b40f52 copy 2024-09-26 17:29:45 -07:00
Paul Gauthier (aider)
6f8fe44fd6 feat: Move "Previous SOTA" label to the left side of the graph 2024-09-26 17:28:39 -07:00
Paul Gauthier (aider)
7c8f0ea7b6 feat: Reverse order of bars and legend in chart 2024-09-26 17:28:04 -07:00
Paul Gauthier
6c946006e8 rename 2024-09-26 17:27:04 -07:00
Paul Gauthier
edab00064d architect/editor copy 2024-09-26 16:17:24 -07:00
Paul Gauthier
d6cf8377f1 rename files architect/editor 2024-09-26 16:16:05 -07:00
Paul Gauthier
eb21cf2830 architect/editor 2024-09-26 16:10:19 -07:00
paul-gauthier
17108c4328 Merge pull request #1762 from fry69/git-history-tip 2024-09-26 14:44:07 -07:00
fry69
0e9f384732 feat: add section on including git history in aider context 2024-09-26 23:03:13 +02:00
fry69
162afd0cdd doc: Add tips for including git history in Aider chat context 2024-09-26 22:59:46 +02:00
Paul Gauthier
b551e29de3 copy 2024-09-26 13:34:29 -07:00
Paul Gauthier
51bf028860 copy 2024-09-26 13:03:40 -07:00
Paul Gauthier
fadd362dbd copy 2024-09-26 12:54:35 -07:00
Paul Gauthier
7a12ca90d4 copy 2024-09-26 12:53:04 -07:00
Paul Gauthier
0b6c3f1c28 copy 2024-09-26 12:41:00 -07:00
Paul Gauthier
6d5575c705 copy 2024-09-26 12:24:10 -07:00
Paul Gauthier (aider)
857cc787a5 fix: Overlay stripe pattern on existing background color 2024-09-26 12:12:39 -07:00
Paul Gauthier (aider)
6b85e29ea7 fix: Update condition to check for empty item.junior_model 2024-09-26 12:11:53 -07:00
Paul Gauthier (aider)
bb50e1a959 feat: add thin stripes to all the "No Junior" columns in the graph 2024-09-26 12:10:59 -07:00
Paul Gauthier
bb8b0e32f2 feat: Increase font sizes in chart elements 2024-09-26 12:10:06 -07:00
Paul Gauthier (aider)
74a5ef51d4 feat: increase font sizes in graph 2024-09-26 12:04:36 -07:00
Paul Gauthier
f5cdaa06c8 feat: Separate code reasoning and editing 2024-09-26 12:04:35 -07:00
Paul Gauthier
7fe3518c8c copy 2024-09-26 11:57:55 -07:00
Paul Gauthier
e2d5545b48 copy 2024-09-26 11:52:47 -07:00
Paul Gauthier
862968ed20 copy 2024-09-26 11:50:25 -07:00
Paul Gauthier
50fb95c8b1 force pip to install aider's deps 2024-09-26 11:47:05 -07:00
Paul Gauthier
6b6f682a94 pip install -> pip install -U 2024-09-26 11:40:48 -07:00
Paul Gauthier
5e419ef8a6 copy 2024-09-26 11:36:40 -07:00
Paul Gauthier
c3b9d34e24 copy 2024-09-26 11:35:33 -07:00
Paul Gauthier (aider)
5a78e7d1b8 chore: Run the linter 2024-09-26 11:35:13 -07:00
Paul Gauthier (aider)
1c05192b69 fix: Only record junior_model and junior_edit_format in the results array if edit_format is "senior" 2024-09-26 11:35:09 -07:00
Paul Gauthier
068ff01cee restor 2024-09-26 11:34:02 -07:00
Paul Gauthier
7feaccd35a cleanup 2024-09-26 11:29:39 -07:00
Paul Gauthier (aider)
bf015e27d6 feat: Add --senior switch as alias for --edit-format senior 2024-09-26 11:27:55 -07:00
Paul Gauthier (aider)
3fe3e0f700 feat: Add --o1-mini and --o1-preview aliases for model selection 2024-09-26 11:27:14 -07:00
Paul Gauthier
b3e3a5a401 better 2024-09-26 11:21:35 -07:00
Paul Gauthier
d375103b64 data 2024-09-26 11:20:22 -07:00
Paul Gauthier (aider)
b7ddd74631 fix: Remove stripes and dots from color patches in legends 2024-09-26 11:19:02 -07:00
Paul Gauthier (aider)
4b6dd92f73 feat: Add polka dot pattern to Deepseek diff bars 2024-09-26 11:17:45 -07:00
Paul Gauthier
aa7949467c feat: Reduce height of pass rate chart to 300px 2024-09-26 11:17:43 -07:00
Paul Gauthier (aider)
0cb8c891d9 feat: Add striped pattern to Deepseek whole bars 2024-09-26 11:16:39 -07:00
Paul Gauthier
1d454c1729 feat: Increase height of pass rate chart to 400px 2024-09-26 11:16:38 -07:00
Paul Gauthier
b867c04354 feat: Implement Senior/Junior approach for code editing 2024-09-26 11:14:19 -07:00
Paul Gauthier (aider)
b4bd5ffb69 feat: add horizontal dashed line at y=79.7 labeled "Previous SOTA" 2024-09-26 10:21:24 -07:00
Paul Gauthier
337b5f1f7a feat: Add new blog post on senior and junior developers 2024-09-26 10:21:23 -07:00
Paul Gauthier (aider)
2d5962ef2f fix: Properly nest x-axis title within x-axis configuration 2024-09-26 10:19:08 -07:00
Paul Gauthier
4f32da2bf0 feat: Add y-axis title to chart in senior-junior blog post 2024-09-26 10:19:07 -07:00
Paul Gauthier (aider)
5378171ed1 feat: add x-axis label to chart 2024-09-26 10:18:04 -07:00
Paul Gauthier
975f35dfbc feat: Add support for using two models to complete each coding task 2024-09-26 10:18:03 -07:00
Paul Gauthier (aider)
a4df572cfe feat: add legend for senior models 2024-09-26 10:12:19 -07:00
Paul Gauthier (aider)
e83c285d4f feat: color each bar based on the Senior model 2024-09-26 10:11:28 -07:00
Paul Gauthier (aider)
10eb25f5f5 feat: add bar graph of pass rate data 2024-09-26 10:10:32 -07:00
Paul Gauthier
04cc9d03e9 feat: Add senior/junior code editing benchmark chart 2024-09-26 10:07:59 -07:00
Paul Gauthier (aider)
c7e2255570 refactor: Change chart type from stacked to grouped bars 2024-09-26 09:43:14 -07:00
Paul Gauthier (aider)
d699f3025d feat: Increase chart height and improve title and axis label readability 2024-09-26 09:42:01 -07:00
Paul Gauthier (aider)
c33dd0ee7b fix: Avoid declaring dataset variable multiple times 2024-09-26 09:40:04 -07:00
Paul Gauthier (aider)
63a4ce0fe2 feat: Add a graph that displays the Pass Rate for each Senior/Junior/EditFormat 2024-09-26 09:39:16 -07:00
Paul Gauthier
222b9cff09 feat: Add support for using two models to complete coding tasks 2024-09-26 09:39:14 -07:00
Paul Gauthier (aider)
89aa385613 style: right-align cost entries in table 2024-09-26 08:31:26 -07:00
Paul Gauthier
ab8672574a fix: Update formatting for seconds per case and total cost in blog post 2024-09-26 08:31:25 -07:00
Paul Gauthier (aider)
034e65912e style: Format cost column to show two decimal places 2024-09-26 08:29:15 -07:00
Paul Gauthier
40bf3a1e58 feat: Update table formatting in blog post 2024-09-26 08:29:14 -07:00
Jonathan Ellis
d2fbc92507 feat: include non-repo files for completing /read 2024-09-26 10:28:03 -05:00
Paul Gauthier (aider)
fb9ffca9ea style: format cost column with two decimal places 2024-09-26 08:27:47 -07:00
Paul Gauthier
fbe0aa2a7b fix: Update table formatting for total_cost column 2024-09-26 08:27:46 -07:00
Paul Gauthier (aider)
3661c2c08a feat: Display cost with two decimal places 2024-09-26 08:26:41 -07:00
Paul Gauthier (aider)
8d22cadd30 style: format cost column as standard money 2024-09-26 08:26:11 -07:00
Paul Gauthier
f691878390 feat: Add edit format column to senior-junior benchmark table 2024-09-26 08:26:09 -07:00
Paul Gauthier (aider)
50570c4762 fix: Display edit_format if junior_edit_format is not available 2024-09-26 08:24:51 -07:00
Paul Gauthier
8ca92cdec0 fix: Update table styles in blog post 2024-09-26 08:24:51 -07:00
Paul Gauthier (aider)
bc1559fbc9 style: Enhance table styling to improve visual distinction of shaded rows 2024-09-26 08:12:19 -07:00
Paul Gauthier (aider)
ac9d46c1f7 feat: Shade every second group of Seniors 2024-09-26 08:11:07 -07:00
Paul Gauthier
fb2e59cf08 fix: Remove unnecessary horizontal rule from table 2024-09-26 08:11:06 -07:00
Paul Gauthier (aider)
e93744c990 style: replace markdown table with HTML <table> 2024-09-26 08:09:39 -07:00
Paul Gauthier (aider)
2698d80c63 refactor: Simplify sorting and grouping of data in senior-junior.md 2024-09-26 08:08:46 -07:00
Paul Gauthier (aider)
4d7d7ecd2b feat: Generate table from YAML data with dynamic sorting and grouping 2024-09-26 08:07:37 -07:00
Paul Gauthier
46f8b6dfe4 feat: Update benchmark data table in senior-junior blog post 2024-09-26 08:07:36 -07:00
Paul Gauthier (aider)
1676653ffb feat: Add dividers between blocks of same senior model in benchmark data table 2024-09-26 08:02:41 -07:00
Paul Gauthier
98e28642f9 feat: Update benchmark data table in senior-junior blog post 2024-09-26 08:02:28 -07:00
Paul Gauthier (aider)
f21c35c42a feat: Add benchmark data table 2024-09-26 07:58:26 -07:00
Paul Gauthier
3602dc4819 feat: Add new blog post on senior vs junior engineers 2024-09-26 07:58:25 -07:00
rti
6ccb8e3a13 fix(InputOutput): apply tool warning color 2024-09-26 08:41:13 +02:00
Paul Gauthier
e682eb8669 fix: Add junior model and junior edit format to benchmark results 2024-09-25 16:31:40 -07:00
Paul Gauthier (aider)
9f3cd92b18 feat: add junior_edit_format="junior-diff" to gpt-4o model settings 2024-09-25 14:33:20 -07:00
Paul Gauthier
25e833bbd4 fix: Rename JuniorWholeFileCoder and JuniorWholeFilePrompts classes 2024-09-25 14:25:16 -07:00
Paul Gauthier (aider)
3f682ed908 feat: Update 'openai/o1-mini' settings to include junior model information 2024-09-25 14:23:54 -07:00
Paul Gauthier
6568cd71d4 feat: add junior model settings to the model configuration 2024-09-25 14:23:54 -07:00
Paul Gauthier (aider)
c18d6a8960 chore: Run linter 2024-09-25 14:14:48 -07:00
Paul Gauthier (aider)
2ff5e4969e feat: Add JuniorEditBlockCoder and JuniorWholeFileCoder to __init__.py 2024-09-25 14:14:44 -07:00
Paul Gauthier (aider)
b3ae2c878f feat: Update junior_edit_format to use "junior-diff" instead of "diff" 2024-09-25 14:13:54 -07:00
Paul Gauthier
d1d043d924 fix: Simplify junior model assignment logic 2024-09-25 14:09:44 -07:00
Paul Gauthier
839ebe5a7c fix: Add missing attributes to junior coder 2024-09-25 14:03:24 -07:00
Paul Gauthier (aider)
ed7503dbbe feat: optimize find_latest_benchmark_dir to check only .md files and limit to one file per subtree 2024-09-25 12:20:45 -07:00
Paul Gauthier (aider)
e21cdafb15 style: run linter and fix code formatting issues 2024-09-25 12:18:43 -07:00
Paul Gauthier (aider)
8d90df1ebc feat: implement automatic selection of the most recently updated benchmark directory when using --stats without dirnames 2024-09-25 12:18:39 -07:00
Paul Gauthier
e6c938c489 feat: Add default junior edit format if not set 2024-09-25 12:03:25 -07:00
Paul Gauthier (aider)
24c959af2d feat: Add --junior-model and --junior-edit-format flags to the benchmark 2024-09-25 11:44:34 -07:00
Paul Gauthier
15cc709322 feat: Improve senior coder's edit format handling 2024-09-25 11:42:09 -07:00
Paul Gauthier (aider)
856d617610 feat: update all the claude 3.5 sonnet ModelSettings to use the appropriate junior_model_name and junior_edit_format=diff 2024-09-25 11:38:48 -07:00
Paul Gauthier
24c15db8d7 feat: add junior_edit_format parameter to get_junior_model method 2024-09-25 11:37:41 -07:00
Paul Gauthier (aider)
0ded63cd31 feat: Reorder Junior and Weak Model announcements 2024-09-25 11:18:17 -07:00
Paul Gauthier (aider)
f0d02f2c76 style: Improve formatting of long string 2024-09-25 11:17:39 -07:00
Paul Gauthier (aider)
f8cef655f0 feat: Add junior model information to announcement for senior edit format 2024-09-25 11:17:34 -07:00
Paul Gauthier (aider)
0a7e5f313f style: Run linter 2024-09-25 11:10:06 -07:00
Paul Gauthier (aider)
888d60d472 feat: Add --junior-edit-format argument and plumb it into Model() 2024-09-25 11:09:56 -07:00
Paul Gauthier (aider)
6d19abf7ec fix: Remove unused import of Model from aider/coders/senior_coder.py 2024-09-25 11:04:48 -07:00
Paul Gauthier (aider)
e718b43fc8 style: Fix formatting in senior_coder.py 2024-09-25 11:04:39 -07:00
Paul Gauthier (aider)
a4aa88a440 feat: Adapt SeniorCoder to use Model.junior_model 2024-09-25 11:04:34 -07:00
Paul Gauthier (aider)
e74e76e51c style: run linter 2024-09-25 11:03:25 -07:00
Paul Gauthier (aider)
926b3c9240 feat: Add --junior-model argument and plumb it into Model() 2024-09-25 11:03:15 -07:00
Paul Gauthier
11cdc4175f feat: Update model settings for claude-3-5-sonnet-20240620 2024-09-25 11:03:13 -07:00
Paul Gauthier
df8f57b628 feat: create a new junior coder with updated kwargs 2024-09-25 10:55:16 -07:00
Paul Gauthier
7bd1d49f23 feat: update model settings to include junior model and edit format 2024-09-25 10:47:31 -07:00
Paul Gauthier
130c6f7308 fix: Prompt user to confirm file edits before proceeding 2024-09-25 10:29:58 -07:00
Paul Gauthier
26745426ae fix: Update SeniorCoder class to configure and run JuniorCoder with appropriate settings 2024-09-25 10:27:27 -07:00
Paul Gauthier
087dbb40a3 feat: Add SeniorCoder and update prompts 2024-09-25 10:23:31 -07:00
Paul Gauthier (aider)
095bae6513 fix: Remove unused import and fix undefined name in senior_coder.py 2024-09-25 09:54:54 -07:00
Paul Gauthier (aider)
95c70951fd fix: Remove unused import and import correct base class 2024-09-25 09:54:39 -07:00
Paul Gauthier (aider)
58c27e401e style: Fix import order in junior_whole_coder.py 2024-09-25 09:54:27 -07:00
Paul Gauthier (aider)
f2d60528f7 fix: Remove unused import and fix undefined name 2024-09-25 09:54:23 -07:00
Paul Gauthier
65e57df7ea feat: Implement changes to handle files content in Coder and prompts 2024-09-25 09:54:16 -07:00
Paul Gauthier
075bc828f6 stand alone junior message 2024-09-25 08:41:49 -07:00
Paul Gauthier
c912982747 senior-junior 2024-09-25 08:25:11 -07:00
Paul Gauthier
a9e9f9cdbe Merge branch 'main' into ask-plan-simple 2024-09-25 07:46:15 -07:00
Paul Gauthier
75e1d519da fix: Handle all exceptions when loading parser in linter 2024-09-24 16:49:29 -07:00
Paul Gauthier
3c87e3670c copy 2024-09-24 14:05:49 -07:00
Paul Gauthier (aider)
ee3bf2311c fix: Resolve flake8 line length errors in aider/io.py 2024-09-24 14:03:30 -07:00
Paul Gauthier
6c570b1847 feat: Add modal cursor shape configuration 2024-09-24 14:03:20 -07:00
paul-gauthier
bbfafed372 Merge pull request #1634 from smh/customize-completion-menu-colors
style: completion menu colors customizable
2024-09-24 13:19:34 -07:00
paul-gauthier
0adb7e0fd3 Merge pull request #1590 from hypn4/main
feat: add `extra_body`field and use in model settings.
2024-09-24 13:16:38 -07:00
Paul Gauthier
486c5ab224 build: don't login to docker hub for docker build test 2024-09-24 13:02:31 -07:00
Paul Gauthier
99bf23c5ff fix: Set AIDER_CHECK_UPDATE environment variable to false in test setup 2024-09-24 12:42:37 -07:00
Paul Gauthier
82ebb7713a Return True to indicate successful install even if no module 2024-09-24 12:28:54 -07:00
Paul Gauthier
117ff96c76 fix: Properly refactor mdstream from Coder into IO 2024-09-24 11:53:05 -07:00
Paul Gauthier
46ab701782 copy 2024-09-24 09:52:17 -07:00
Paul Gauthier
ba6ef29896 feat: Add new leaderboard entry for gemini/gemini-1.5-flash-8b-exp-0924 model 2024-09-24 09:46:56 -07:00
Paul Gauthier
eff68a669d copy 2024-09-24 09:45:45 -07:00
Paul Gauthier
d8dd7a259b feat: Add new Gemini model configurations 2024-09-24 09:45:36 -07:00
Paul Gauthier
7569dea73c restore dynamic graph 2024-09-24 09:36:16 -07:00
Paul Gauthier
3edcd71a44 fix: move pydub import to avoid warnings 2024-09-24 09:29:00 -07:00
Paul Gauthier (aider)
ab786279e6 style: Fix linter warnings 2024-09-24 09:28:31 -07:00
Paul Gauthier (aider)
e267dc13af fix: Move imports to top of file 2024-09-24 09:28:28 -07:00
Paul Gauthier (aider)
d0e6dc2c1e style: Wrap long lines in voice.py 2024-09-24 09:28:16 -07:00
Paul Gauthier (aider)
da752bb00c fix: Suppress warning about missing ffmpeg or avconv 2024-09-24 09:28:13 -07:00
Paul Gauthier (aider)
6b5fe9bee3 style: Run linter on scripts/issues.py 2024-09-24 08:25:31 -07:00
Paul Gauthier (aider)
8422441f74 fix: Skip processing open issues that have been closed and re-opened 2024-09-24 08:25:28 -07:00
Paul Gauthier
86faaa65ff copy 2024-09-23 12:53:10 -07:00
Paul Gauthier
543437dd28 copy 2024-09-23 12:48:00 -07:00
Paul Gauthier (aider)
3e594877d7 style: Run linter on Python script 2024-09-23 12:27:13 -07:00
Paul Gauthier (aider)
c2a35fef05 refactor: Modify script to only show versions compatible with Python 3.8 or lower 2024-09-23 12:27:10 -07:00
Paul Gauthier (aider)
bbeb4749cb style: Run linter 2024-09-23 12:26:23 -07:00
Paul Gauthier (aider)
00662aef54 feat: Add Python version support information to yank-old-versions.py 2024-09-23 12:26:20 -07:00
Paul Gauthier (aider)
7a0196e039 style: Run linter on Python script 2024-09-23 12:24:55 -07:00
Paul Gauthier (aider)
ee6cbddf65 feat: Add script to enumerate PyPI versions supporting Python 3.8 or lower 2024-09-23 12:24:52 -07:00
Paul Gauthier
7016ccc150 chore: Add script to yank old versions 2024-09-23 12:24:51 -07:00
Paul Gauthier
a4b79127b0 fix: Handle ZeroDivisionError in PageRank calculation 2024-09-23 11:49:44 -07:00
Paul Gauthier (aider)
ed1eb38c5f fix: Split long comment line in aider/repo.py 2024-09-23 11:41:34 -07:00
Paul Gauthier
8f583ca119 fix: Handle ValueError when getting relative path in ignored_file_raw 2024-09-23 11:41:28 -07:00
Paul Gauthier (aider)
1fe2be4633 fix: ignore unicode errors in append_chat_history 2024-09-23 11:38:51 -07:00
Paul Gauthier
d063be23c9 fix: Improve error handling in load_dotenv_files function 2024-09-23 11:36:49 -07:00
Paul Gauthier (aider)
25c3a959dd fix: Handle OSError when loading dotenv files 2024-09-23 11:35:27 -07:00
Paul Gauthier
924eeb43de fix: Update test assertions for API key checks 2024-09-23 11:34:49 -07:00
Paul Gauthier
d518493bb9 fix: Update model sanity check output format 2024-09-23 11:32:52 -07:00
Paul Gauthier
ba0a328196 fix: Disable SSL verification for LiteLLM client sessions 2024-09-23 11:28:17 -07:00
Paul Gauthier
1de8c13974 copy 2024-09-23 10:30:22 -07:00
Paul Gauthier (aider)
f2397bb0cc chore: Reorganize command-line arguments in aider/args.py 2024-09-23 09:08:07 -07:00
Paul Gauthier (aider)
5779006db0 feat: Add Voice Settings section 2024-09-23 09:06:57 -07:00
Paul Gauthier (aider)
39b2f7bdee feat: Add Cache Settings section 2024-09-23 09:06:31 -07:00
Paul Gauthier (aider)
5e9a4e01f9 feat: Move map-tokens, map-refresh and map-multiplier into a new Repomap Setting section 2024-09-23 09:04:46 -07:00
Paul Gauthier
9c47f26052 copy 2024-09-23 09:03:02 -07:00
Paul Gauthier (aider)
b03d5d1099 style: Wrap long help text in args.py 2024-09-23 09:02:49 -07:00
Paul Gauthier (aider)
c9ac01f474 docs: update help message for --map-refresh option 2024-09-23 09:02:45 -07:00
paul-gauthier
c5245d3d8b Merge pull request #1660 from fry69/bad_ver-fix
fix: add missing variable initialization
2024-09-23 07:14:27 -07:00
hypn4
a4044f4175 feat: add .venv directory 2024-09-23 20:37:10 +09:00
hypn4
6dc846d41b fix: added missing parameters.
added missing parameters in `simple_send_with_retries` function.
2024-09-23 20:37:10 +09:00
hypn4
d0bce02c00 feat: add extra_bodyfield and use in model settings.
resolved: #1583

The `extra_body` field is a parameter used by the `openai` provider.

Since `litellm` also uses this field to additionally transmit `request body`, I added a function so that `aider` can also utilize the `extra_body` field.

The `openrouter` provider also supports various functions through the additional field of `request body`, so we added the function.

The following is how to use it in model settings.
```yaml
# .aider.model.settings.yml
- name: "openrouter/<YOUR_MODEL>"
  edit_format: "whole"
  use_repo_map: true
  extra_body:
    provider:
      order:
      - Azure
      allow_fallbacks: false
```
2024-09-23 20:37:10 +09:00
fry69
7a5947fc49 feat: add tests for sanity_check_repo function 2024-09-23 07:55:45 +02:00
fry69
a695c6c46e fix: add missing variable initialization 2024-09-23 07:02:33 +02:00
Paul Gauthier
ca4141564f copy 2024-09-22 17:03:43 -07:00
Paul Gauthier
6cc0f96e33 Merge remote-tracking branch 'refs/remotes/origin/main' 2024-09-22 17:03:04 -07:00
Paul Gauthier
a1bd0c97ee copy 2024-09-22 17:01:47 -07:00
Paul Gauthier (aider)
6a733f8e76 refactor: Rename print_model_settings_as_yaml to get_model_settings_as_yaml 2024-09-22 16:55:58 -07:00
Paul Gauthier (aider)
60082d0d16 style: format code using linter 2024-09-22 16:54:56 -07:00
Paul Gauthier (aider)
ea72ad61fe feat: add function to print model settings as YAML 2024-09-22 16:54:51 -07:00
paul-gauthier
a4f608f3dd Merge pull request #1543 from fry69/ctrl-space-fix 2024-09-22 13:42:34 -07:00
paul-gauthier
737ccdec11 Merge pull request #1639 from curran/patch-1 2024-09-22 13:34:31 -07:00
Paul Gauthier
129afd0396 copy 2024-09-22 13:06:52 -07:00
paul-gauthier
62f4dc2097 Merge pull request #1640 from mbailey/feature-voice-compression
feat: Option to compress audio files by ~90%
2024-09-22 13:05:18 -07:00
Stein Martin Hustad
ef75ba9495 style: completion menu colorization (additional location) 2024-09-22 22:59:57 +04:00
Paul Gauthier
cee0bb7135 add test for hash filenames 2024-09-22 08:24:55 -07:00
Paul Gauthier
54cfbc4142 handle ### filename.ext in whole format 2024-09-22 08:21:15 -07:00
Curran Kelleher
330fa863c8 Add benchmark results for Codestral-22B 2024-09-22 08:26:04 -04:00
Mike Bailey
1cc30a22f9 feat: Option to compress audio files by ~90%
Add option to reduce bandwidth (and potentially latency) by converting
voice recordings (wav) into a compressed audio format (webm or mp3).

Default behaviour is unchanged.

> File uploads are currently limited to 25 MB and the following input file
> types are supported: mp3, mp4, mpeg, mpga, m4a, wav, and webm.
>
> - https://platform.openai.com/docs/guides/speech-to-text
2024-09-22 22:20:07 +10:00
Stein Martin Hustad
a91d3fed01 style: completion menu colors customizable 2024-09-22 10:45:00 +04:00
Paul Gauthier
edf8fc6327 fix: Remove progress bar when closing duplicate issues 2024-09-21 19:06:08 -07:00
Paul Gauthier
12f1bf643a fix: Add ValueError to ANY_GIT_ERROR tuple 2024-09-21 19:02:35 -07:00
Paul Gauthier
2314179b83 fix: Add default encoding to load_dotenv_files function 2024-09-21 19:01:24 -07:00
Paul Gauthier (aider)
516a3a6647 style: Fix formatting in load_dotenv_files function 2024-09-21 18:58:48 -07:00
Paul Gauthier (aider)
07a95deaba fix: Use args.encoding when loading .env files 2024-09-21 18:58:43 -07:00
Paul Gauthier
212e22b2b7 fix: Handle file read errors in linter 2024-09-21 18:55:24 -07:00
Paul Gauthier (aider)
3a96a10d06 style: Format code with black 2024-09-21 18:46:24 -07:00
Paul Gauthier (aider)
3dfc63ce79 feat: Add support for following redirects in httpx-based scraping 2024-09-21 18:46:21 -07:00
Paul Gauthier
a77c8ccfa9 copy 2024-09-21 18:43:02 -07:00
Paul Gauthier (aider)
eff9325f2b style: Fix formatting in issue comment 2024-09-21 18:38:03 -07:00
Paul Gauthier (aider)
0101ae76d1 refactor: Move comment_body to a global multiline string 2024-09-21 18:37:59 -07:00
Paul Gauthier
26f9a10324 fix: Add greeting to comment when closing duplicate issue 2024-09-21 18:36:33 -07:00
Paul Gauthier (aider)
6731815251 style: Fix formatting in issues.py 2024-09-21 18:30:39 -07:00
Paul Gauthier (aider)
b4fdb72a3a fix: Only print Oldest issue #{oldest_issue['number']} left open if it is open 2024-09-21 18:30:35 -07:00
Paul Gauthier
f3ad683d70 set version to 0.57.2.dev 2024-09-21 18:28:55 -07:00
Paul Gauthier
bd398525e0 version bump to 0.57.1 2024-09-21 18:27:31 -07:00
Paul Gauthier
7f156830fe Handle TypeError coming from git ops 2024-09-21 17:09:08 -07:00
Paul Gauthier
739bd07c04 copy 2024-09-21 17:06:31 -07:00
Paul Gauthier
dced6c8052 Revert "feat: switch --deepseek to use model "deepseek-coder""
This reverts commit 925560ac1f.
2024-09-21 17:06:11 -07:00
Paul Gauthier
5c7f35f24b copy 2024-09-21 16:28:10 -07:00
Paul Gauthier
7abfd3236b copy 2024-09-21 16:28:03 -07:00
Paul Gauthier
aca60a9127 no tqdm for groups 2024-09-21 16:26:45 -07:00
Paul Gauthier (aider)
8cc747da3a style: Fix linting issues in scripts/issues.py 2024-09-21 16:05:59 -07:00
Paul Gauthier (aider)
26dcdcc1d2 feat: add total page count to progress bar in get_issues function 2024-09-21 16:05:55 -07:00
Paul Gauthier (aider)
5606791df2 style: Fix import order in scripts/issues.py 2024-09-21 16:05:19 -07:00
Paul Gauthier (aider)
de87418647 feat: add progress bar while collecting issues 2024-09-21 16:05:16 -07:00
Paul Gauthier (aider)
10fee78ddd feat: Add progress bar while collecting the groups 2024-09-21 16:04:26 -07:00
Paul Gauthier
237002f941 fix: Resolve version conflict between requirements-help and requirements-playwright for greenlet 2024-09-21 15:57:41 -07:00
Paul Gauthier (aider)
5d80e11e5b feat: Add Docker full image build to CI workflow 2024-09-21 13:59:50 -07:00
Paul Gauthier
c234df0ff1 copy 2024-09-21 13:55:37 -07:00
Paul Gauthier
ced3336176 updated blame data 2024-09-21 13:55:34 -07:00
Paul Gauthier (aider)
925560ac1f feat: switch --deepseek to use model "deepseek-coder" 2024-09-21 13:56:32 -07:00
Paul Gauthier (aider)
4a9700fcd9 feat: add ModelSettings for plain "deepseek-coder" and "deepseek-chat" 2024-09-21 13:55:49 -07:00
Paul Gauthier
6408a9fbf9 set version to 0.57.1.dev 2024-09-21 13:39:55 -07:00
Paul Gauthier
cf56369410 version bump to 0.57.0 2024-09-21 13:38:42 -07:00
Paul Gauthier
2ca093fb84 Bumping all dependencies 2024-09-21 11:04:57 -07:00
Paul Gauthier
237c4ab323 copy 2024-09-21 10:44:25 -07:00
Paul Gauthier
cfe1d540f1 update fence test to use backticks at start of line 2024-09-21 10:42:58 -07:00
Paul Gauthier
f29825ff22 copy 2024-09-21 10:41:43 -07:00
Paul Gauthier
565c305aa6 update o1-preview leaderboard to diff only 2024-09-21 10:27:50 -07:00
Paul Gauthier
b27738d39a copy 2024-09-21 10:16:51 -07:00
Paul Gauthier
412b8e7c3c copy 2024-09-21 10:09:26 -07:00
Paul Gauthier
5493654981 Merge remote-tracking branch 'refs/remotes/origin/main' 2024-09-21 09:32:51 -07:00
paul-gauthier
167b1ed491 Merge pull request #1586 from anjor/patch-1
Fix broken link
2024-09-21 09:32:27 -07:00
Paul Gauthier (aider)
454a2ebdcf style: format code using linter 2024-09-20 13:44:07 -07:00
Paul Gauthier (aider)
7fa1620f58 feat: Allow flexible matching of 5-9 characters in SEARCH/REPLACE block prefixes 2024-09-20 13:44:02 -07:00
Paul Gauthier (aider)
230ec50209 refactor: Improve choose_fence function to check for fence start in lines 2024-09-20 13:40:44 -07:00
Paul Gauthier
2753ac6b62 feat: Add new benchmark test case for qwen-2.5-72b-instruct-diff model 2024-09-20 13:27:58 -07:00
Paul Gauthier
5139594fa0 copy 2024-09-20 13:19:36 -07:00
Paul Gauthier
d26fca0bca feat: Add new leaderboard entry for qwen-2.5-72b-instruct model 2024-09-20 13:19:26 -07:00
paul-gauthier
d7051ce736 Merge pull request #1610 from youknow04/qwen2.5-7b-8q
Add Qwen2.5-coder:7b-instruct-q8_0 benchmark result to leaderboard
2024-09-20 12:57:25 -07:00
Paul Gauthier
b3e5caf330 fix: Add BufferError to ANY_GIT_ERROR tuple 2024-09-20 12:39:33 -07:00
Paul Gauthier
2a4527a5af fix: Ensure path_in_repo function handles empty path 2024-09-20 12:29:50 -07:00
Paul Gauthier (aider)
243be27eb8 style: Fix formatting in aider/models.py 2024-09-20 12:21:03 -07:00
Paul Gauthier (aider)
671c633d8f fix: handle errors when creating cache directory in get_model_info 2024-09-20 12:20:59 -07:00
Paul Gauthier
d94c1c0e1f fix: Remove redundant message when no changes were made 2024-09-20 12:14:52 -07:00
Paul Gauthier
88eaf8cf1d copy 2024-09-20 11:52:28 -07:00
Paul Gauthier
84ca8dd582 fix unicode errors in run_install 2024-09-20 11:52:24 -07:00
Paul Gauthier
8349cd5c15 fix: Handle FileNotFoundError in get_git_root function 2024-09-20 11:45:48 -07:00
Paul Gauthier (aider)
7d766d53ee style: format code for better readability 2024-09-20 11:40:28 -07:00
Paul Gauthier (aider)
2cabf9718c feat: Add comment count to issue output 2024-09-20 11:40:25 -07:00
Paul Gauthier (aider)
0030d11ac7 style: Improve formatting and readability of issues.py script 2024-09-20 11:38:57 -07:00
Paul Gauthier (aider)
31655889cf feat: List open issues in descending order by number 2024-09-20 11:38:54 -07:00
Paul Gauthier (aider)
851f0653d6 style: Run linter on Python script 2024-09-20 11:32:53 -07:00
Paul Gauthier (aider)
c111e7a30e feat: Add confirmation prompt and logic to comment and close duplicate issues 2024-09-20 11:32:49 -07:00
Paul Gauthier
7dd0a0f348 fix: Handle cases where there are no related issues for a subject 2024-09-20 11:32:30 -07:00
Paul Gauthier (aider)
3d70f88bcc style: Wrap long lines in f-strings 2024-09-20 11:23:53 -07:00
Paul Gauthier (aider)
215833d326 feat: Print issue URLs instead of issue numbers 2024-09-20 11:23:50 -07:00
Paul Gauthier (aider)
ba257d653c fix: Move import re statement to top of file 2024-09-20 11:21:34 -07:00
Paul Gauthier (aider)
99d196d06e style: format code 2024-09-20 11:20:42 -07:00
Paul Gauthier (aider)
619127925d feat: Add filter to only print issues matching "Uncaught xxx in xxx line ###" pattern 2024-09-20 11:20:39 -07:00
Paul Gauthier
86dc25d342 fix: Improve handling of issues with single subject 2024-09-20 11:20:38 -07:00
Paul Gauthier (aider)
dd1ae5bd3a style: Wrap long lines in f-strings 2024-09-20 11:18:13 -07:00
Paul Gauthier (aider)
40202a9cb8 chore: only print out issues with >1 in the group 2024-09-20 11:18:09 -07:00
Paul Gauthier (aider)
08d465c252 refactor: Improve efficiency by fetching all issues once and reusing the data 2024-09-20 11:16:53 -07:00
Paul Gauthier (aider)
81bad77fa9 refactor: Simplify script by hardcoding repository details 2024-09-20 11:12:02 -07:00
Paul Gauthier
ada7b3d7ab fix: make issues.py executable 2024-09-20 11:12:01 -07:00
Paul Gauthier (aider)
04aecbe9a9 chore: add shebang and chmod 2024-09-20 11:10:54 -07:00
Paul Gauthier (aider)
6b9fc86e99 style: Run linter on Python script 2024-09-20 11:09:48 -07:00
Paul Gauthier (aider)
1ede98bc07 feat: Implement GitHub issue analysis script 2024-09-20 11:09:44 -07:00
Paul Gauthier
eb078906b3 feat: Add issues.py script 2024-09-20 11:09:43 -07:00
Paul Gauthier
51017d7a5b copy 2024-09-20 11:05:33 -07:00
youknow
2463cbfd6c add Qwen2.5-7b-8q to leaderboard 2024-09-21 01:25:39 +09:00
Jonathan Ellis
dca9b18871 feat: rename /clipboard to /paste 2024-09-19 09:45:59 -05:00
Anjor Kanekar
c13aadaa0e Fix broken link 2024-09-18 14:54:04 +01:00
fry69
baddc0b63c fix: add keybinding to insert space on Ctrl+Space 2024-09-15 15:18:09 +02:00
paul-gauthier
e6037140be Update 2024-09-12-o1.md 2024-09-12 21:09:15 -07:00
Paul Gauthier
eba845ea51 copy 2024-09-12 20:40:12 -07:00
Paul Gauthier (aider)
d747a3781d feat: add openrouter versions of o1-mini and o1-preview 2024-09-12 19:15:48 -07:00
Paul Gauthier
9768e84fcd feat: Change model settings from 'whole' to 'diff' 2024-09-12 19:15:47 -07:00
Paul Gauthier
8cb83afcc4 ask transient whole, o1-preview deep 2024-09-12 17:21:35 -07:00
Paul Gauthier
83662b7470 Merge branch 'main' into ask-plan-simple 2024-09-12 17:19:14 -07:00
Paul Gauthier
72f52bdef0 copy 2024-09-12 15:41:02 -07:00
Paul Gauthier
c00ac80909 o1-mini diff results 2024-09-12 15:38:40 -07:00
Paul Gauthier
1fbb5079d5 unhack o1 mini 2024-09-12 15:38:28 -07:00
Paul Gauthier (aider)
752e823da8 feat: Dynamically generate legend labels based on unique edit formats 2024-09-12 15:23:33 -07:00
Paul Gauthier (aider)
45474a230e feat: Add distinct colors for edit formats in leaderboard chart 2024-09-12 15:22:28 -07:00
Paul Gauthier
af407c4c8f copy 2024-09-12 15:20:23 -07:00
Paul Gauthier (aider)
b4dad65e9f feat: Add configuration to display all x-axis labels 2024-09-12 15:18:57 -07:00
Paul Gauthier
291d3509eb copy 2024-09-12 15:17:32 -07:00
Paul Gauthier (aider)
84b1c1031a feat: add label to y-axis of leaderboard graph 2024-09-12 15:13:22 -07:00
Paul Gauthier (aider)
71c5fd1372 feat: Add legend to leaderboard chart 2024-09-12 15:12:10 -07:00
Paul Gauthier (aider)
2605d44db6 feat: Add different colors for 'whole' and 'diff' edit formats in leaderboard graph 2024-09-12 15:10:32 -07:00
Paul Gauthier
4598a376fd copy 2024-09-12 15:01:27 -07:00
Paul Gauthier
9f4d9d801e copy 2024-09-12 14:52:27 -07:00
Paul Gauthier (aider)
859fc1f184 fix: Adjust streaming settings before creating Coder object 2024-09-12 14:49:21 -07:00
Paul Gauthier
99a75ac213 feat: Add streaming option to ModelSettings 2024-09-12 14:47:18 -07:00
Paul Gauthier (aider)
94a2bc5ef5 style: Improve formatting of warning message 2024-09-12 14:46:36 -07:00
Paul Gauthier (aider)
efa0c0e292 fix: Disable streaming if main model does not support it 2024-09-12 14:46:32 -07:00
Paul Gauthier
fb420de09e feat: Add new model settings for openai/o1-preview and o1-preview 2024-09-12 14:42:52 -07:00
Paul Gauthier
09cb4c4b09 copy 2024-09-12 14:27:35 -07:00
Paul Gauthier
1755d2e0f4 fix: Use temperature setting from model configuration 2024-09-12 14:24:21 -07:00
Paul Gauthier
8aee4d25ed add ModelSettings.use_system_prompt 2024-09-12 14:19:53 -07:00
Paul Gauthier
71f3f3a22b copy 2024-09-12 14:12:48 -07:00
Paul Gauthier
297b51b997 pct 2024-09-12 14:11:26 -07:00
Paul Gauthier
6eb993999a copy 2024-09-12 14:07:41 -07:00
Paul Gauthier
96587f5f46 o1-mini blog article 2024-09-12 14:07:06 -07:00
Paul Gauthier
291b456a45 hack for o1-mini: no system prompt, no temperature 2024-09-12 13:05:25 -07:00
Paul Gauthier (aider)
d84a9d6df2 fix: update scale configuration in leaderboard_graph.html 2024-09-12 13:04:10 -07:00
Paul Gauthier (aider)
13d3b7c9b3 refactor: Refactor the edit leaderboard graph into a reusable component 2024-09-12 13:01:55 -07:00
Paul Gauthier
94af92c784 feat: Add leaderboard graph component 2024-09-12 13:01:54 -07:00
Paul Gauthier
36fa773376 fix: Simplify get_help_md function in commands.py 2024-09-11 14:38:23 -07:00
Paul Gauthier (aider)
05b3b3df88 fix: Remove f-string prefix from line without placeholders 2024-09-11 14:01:15 -07:00
Paul Gauthier
1603ffa6c2 fix: Update sample.aider.conf.yml and args_formatter.py 2024-09-11 14:01:10 -07:00
Paul Gauthier
615dc5fe4b copy 2024-09-11 13:18:07 -07:00
Paul Gauthier
385f2693c4 copy 2024-09-11 13:14:40 -07:00
Paul Gauthier
35588b6984 fix: Fix formatting of assistant_output assignment in base_coder.py 2024-09-11 09:54:47 -07:00
Paul Gauthier
ca43a37567 copy 2024-09-11 09:53:13 -07:00
Paul Gauthier
5408dcb185 wip 2024-09-11 09:32:14 -07:00
Paul Gauthier
94a609d75e fix: Update model names in edit_leaderboard.yml 2024-09-11 08:56:46 -07:00
Paul Gauthier
13ac0f0968 fix: Update model names and commands in edit_leaderboard.yml 2024-09-11 08:55:25 -07:00
Paul Gauthier
408ecc1bd7 copy 2024-09-11 08:50:35 -07:00
Paul Gauthier
ba54e4a6e0 feat: Add new leaderboard entries for command-r-plus-08-2024 and command-r-08-2024 models 2024-09-11 08:50:28 -07:00
paul-gauthier
b43ed20085 Merge pull request #1492 from jalammar/cohere-model-refresh
Add New Cohere Models
2024-09-11 08:39:42 -07:00
Paul Gauthier
007f841328 copy 2024-09-11 08:18:07 -07:00
Jay Alammar
5cdcbb1a26 Add to docs 2024-09-11 11:04:38 -04:00
Jay Alammar
7315624b98 bugfix 2024-09-11 10:55:45 -04:00
Paul Gauthier
0a3b4147fa test: update main tests to handle None input and add --exit flag 2024-09-10 15:32:43 -07:00
Paul Gauthier (aider)
fa49ab09c4 test: update code_theme tests to check InputOutput initialization 2024-09-10 15:24:11 -07:00
Paul Gauthier
39ae106bb3 wip 2024-09-10 15:21:54 -07:00
paul-gauthier
d1384e9d5f Merge pull request #1402 from caseymcc/io_assistant_output
Modify output from Assistant and Commands to go through InputOutput
2024-09-10 15:08:10 -07:00
Paul Gauthier
33b11d0efb refactor: simplify console initialization and error handling 2024-09-10 14:48:54 -07:00
Paul Gauthier
fd18adb072 refactor: handle prompt toolkit initialization errors gracefully 2024-09-10 14:34:25 -07:00
Paul Gauthier
454c2f4d0e feat: add --exit flag to test cases for controlled termination 2024-09-10 14:30:04 -07:00
Paul Gauthier (aider)
59bdc45728 refactor: Remove unused mock_open import 2024-09-10 14:18:56 -07:00
Paul Gauthier (aider)
645252168c style: sort imports and fix quotation marks 2024-09-10 14:18:37 -07:00
Paul Gauthier (aider)
fb87dd883c test: patch input() to return empty string
This commit patches the `input()` builtin to return an empty string in the test setup, preventing tests from hanging while waiting for user input. It also adds cleanup for the patch in the teardown method.
2024-09-10 14:18:32 -07:00
Paul Gauthier (aider)
8da88eef64 fix: remove unused import of builtins module 2024-09-10 14:09:40 -07:00
Paul Gauthier (aider)
3685f307c7 style: reorder imports in test_io.py 2024-09-10 14:09:33 -07:00
Paul Gauthier (aider)
d5d087123a test: update input mocking in TestInputOutput 2024-09-10 14:09:29 -07:00
Paul Gauthier (aider)
1d312e372d refactor: Remove unused import of 'prompt' from prompt_toolkit 2024-09-10 14:07:32 -07:00
Paul Gauthier (aider)
13fe2036db style: remove trailing whitespace in io.py 2024-09-10 14:06:55 -07:00
Paul Gauthier (aider)
d4e47bc7e7 refactor: update confirm_ask to use prompt_session or input 2024-09-10 14:06:51 -07:00
Paul Gauthier (aider)
79a424bc10 refactor: conditionally initialize and use PromptSession based on pretty flag 2024-09-10 13:49:22 -07:00
Paul Gauthier
ed866d33e4 pip-compiled 2024-09-10 13:40:19 -07:00
Paul Gauthier
04556ef32d Merge remote-tracking branch 'refs/remotes/origin/main' 2024-09-10 13:39:06 -07:00
paul-gauthier
36553d797f Merge pull request #1003 from cclauss/patch-1
Fix typos discovered by codespell
2024-09-10 13:38:59 -07:00
Paul Gauthier
2c08cc47e6 copy 2024-09-10 13:38:25 -07:00
Paul Gauthier (aider)
971fe5017a feat: enable automatic writing of codespell changes in pyproject.toml 2024-09-10 13:38:14 -07:00
Paul Gauthier (aider)
e3e6437dca chore: configure codespell to use pyproject.toml and skip specific files 2024-09-10 13:37:18 -07:00
Paul Gauthier (aider)
c575bae710 feat: add codespell as pre-commit hook 2024-09-10 13:33:27 -07:00
Paul Gauthier (aider)
13f9685f13 style: Format code to comply with linter rules 2024-09-10 13:03:36 -07:00
Paul Gauthier (aider)
00f03d89b9 feat: expand read-only command to handle directories 2024-09-10 13:03:31 -07:00
Paul Gauthier
484fdd7aa3 fix: handle ValueError exception in run_cmd_pexpect function 2024-09-10 12:06:45 -07:00
Paul Gauthier
c152c96fcc copy 2024-09-10 10:05:01 -07:00
Paul Gauthier (aider)
89891efbb8 style: format prompt_session.prompt call to fit on one line 2024-09-10 10:00:05 -07:00
Paul Gauthier (aider)
43eaf91e8d refactor: use pre-initialized PromptSession in prompt_ask function 2024-09-10 10:00:00 -07:00
Paul Gauthier (aider)
bf3a165961 refactor: initialize and reuse PromptSession in InputOutput class 2024-09-10 09:57:09 -07:00
Paul Gauthier
33b69d2ee8 pip-compiled 2024-09-10 09:48:23 -07:00
Paul Gauthier (aider)
766569a278 refactor: Remove unused ctypes import 2024-09-10 09:45:05 -07:00
Paul Gauthier (aider)
cc94b51a0b style: use double quotes for string literals in run_cmd.py 2024-09-10 09:44:57 -07:00
Paul Gauthier (aider)
f1d1d1b37a feat: improve Windows parent process detection using psutil 2024-09-10 09:44:54 -07:00
Paul Gauthier
e84caa48a0 refactor: modify stdout reading chunk size in run_cmd_subprocess 2024-09-10 09:44:52 -07:00
Paul Gauthier (aider)
ab9d9c8429 refactor: improve subprocess output handling for real-time display 2024-09-10 09:34:58 -07:00
Paul Gauthier (aider)
625a49752b refactor: remove psutil dependency and check parent process only on Windows 2024-09-10 09:30:36 -07:00
Paul Gauthier
e5ff5eff75 refactor: rename and simplify parent process name retrieval function 2024-09-10 09:30:35 -07:00
Paul Gauthier (aider)
cb42464676 style: Reorder imports and format code 2024-09-10 09:28:42 -07:00
Paul Gauthier (aider)
5de0a0f7a9 feat: improve shell detection for Windows environments 2024-09-10 09:28:39 -07:00
Paul Gauthier
765ea801b1 refactor: simplify shell command execution logic 2024-09-10 09:25:50 -07:00
Paul Gauthier (aider)
1327c1e893 style: format command string for PowerShell execution 2024-09-10 06:51:43 -07:00
Paul Gauthier (aider)
4605969921 fix: improve PowerShell command execution and output capture on Windows 2024-09-10 06:51:38 -07:00
Paul Gauthier (aider)
e3b7b80280 feat: respect user's shell environment in subprocess execution 2024-09-10 06:40:07 -07:00
Paul Gauthier
b8ce472cb6 copy 2024-09-09 15:20:36 -07:00
Paul Gauthier
6a0ad9629b copy 2024-09-09 15:04:37 -07:00
Paul Gauthier
d99191e07b copy 2024-09-09 15:01:53 -07:00
Paul Gauthier
6cddc800f1 docs: update HISTORY.md and remove git operations from versionbump.py 2024-09-09 15:01:08 -07:00
Paul Gauthier (aider)
de84a08924 style: Apply linter suggestions to versionbump.py 2024-09-09 15:00:41 -07:00
Paul Gauthier (aider)
fb1a9254c7 feat: remove aider/__version__.py after version bump 2024-09-09 15:00:37 -07:00
Paul Gauthier
5420f67b2b copy 2024-09-09 14:56:44 -07:00
Paul Gauthier
fe2e36afda cache ro+repo or just ro if no repo 2024-09-09 14:51:33 -07:00
Paul Gauthier
b216d57107 copy 2024-09-09 14:47:56 -07:00
Paul Gauthier
509c880b68 set version to 0.56.1.dev 2024-09-09 14:46:20 -07:00
Paul Gauthier
6f2b064f53 version bump to 0.56.0 2024-09-09 14:45:11 -07:00
Paul Gauthier
26c2b2e3ed copy 2024-09-09 14:43:35 -07:00
Paul Gauthier
3976d4b8f1 copy 2024-09-09 14:37:18 -07:00
Paul Gauthier
964fe7e2dc fix: handle UnicodeEncodeError in prompt session 2024-09-09 13:56:27 -07:00
Paul Gauthier
eced076602 feat: add IndexError to ANY_GIT_ERROR tuple in repo.py 2024-09-09 13:46:03 -07:00
Paul Gauthier
bd21122e64 refactor: improve error handling for git version check 2024-09-09 13:44:02 -07:00
Paul Gauthier
00f42590c8 feat: add AssertionError to ANY_GIT_ERROR tuple 2024-09-09 13:41:28 -07:00
Paul Gauthier
4e63254704 refactor: Improve error handling in git repository checks 2024-09-09 13:40:56 -07:00
Paul Gauthier
3cd6790d9a fix: handle OSError in git repo operations 2024-09-09 13:37:24 -07:00
Paul Gauthier
d82d21b8c1 refactor: improve error handling for SQLite operations in RepoMap 2024-09-09 13:34:49 -07:00
Paul Gauthier
1a6284cb24 feat: add error handling for parser loading in basic_lint function 2024-09-09 13:28:04 -07:00
Paul Gauthier
abf6a9db2e fix: Handle additional Git-related errors in GitRepo.list_files 2024-09-09 13:26:07 -07:00
Paul Gauthier
73e7d7bd2a fix: handle git errors when listing files in the repository 2024-09-09 12:42:20 -07:00
Paul Gauthier
82f8aa5d6a copy 2024-09-09 10:26:32 -07:00
Paul Gauthier
cee348614e copy 2024-09-08 17:07:25 -07:00
Paul Gauthier
e40a07a8a1 refactor: move import check before API key setup 2024-09-08 09:26:39 -07:00
Paul Gauthier
99dc235a00 Merge remote-tracking branch 'refs/remotes/origin/main' 2024-09-08 09:20:20 -07:00
Paul Gauthier
9982f439e4 feat: improve error handling for import loading 2024-09-08 09:18:20 -07:00
Paul Gauthier (aider)
1e9ff842f3 style: format code with linter 2024-09-08 09:11:08 -07:00
Paul Gauthier (aider)
aeea629d17 feat: add verbose output to check_and_load_imports function 2024-09-08 09:11:03 -07:00
Paul Gauthier
b4389f98fb refactor: Synchronize slow imports and improve error handling 2024-09-08 09:11:00 -07:00
Paul Gauthier (aider)
f54b6860db feat: optimize slow imports loading based on version and executable 2024-09-08 09:07:19 -07:00
Paul Gauthier (aider)
ed7a9c6562 refactor: extract thread launch for load_slow_imports into function 2024-09-08 09:05:55 -07:00
paul-gauthier
ab35e473f3 Merge pull request #1423 from fry69/win-lint-fix
fix: handle OSError when executing lint command
2024-09-08 08:58:14 -07:00
fry69
e526d2890c fix: handle OSError when executing lint command 2024-09-08 13:15:31 +02:00
Paul Gauthier
2eae3738ff Merge remote-tracking branch 'refs/remotes/origin/main' 2024-09-07 07:27:21 -07:00
paul-gauthier
f98b64dd98 Merge pull request #1409 from fry69/fry69-contributing
Update CONTRIBUTING.md
2024-09-07 07:23:15 -07:00
Paul Gauthier
d2379a6d73 feat: add shell command suggestion toggle and related prompts 2024-09-07 07:21:41 -07:00
fry69
84758c6c8d Update CONTRIBUTING.md
fix link to benchmark data folder
2024-09-07 16:11:00 +02:00
Krazer
f4853d166f remove console 2024-09-06 18:08:51 -05:00
Krazer
69b9a4510d remove unused 2024-09-06 17:40:40 -05:00
Krazer
9d4316b1d5 add default empty message 2024-09-06 17:39:22 -05:00
Krazer
11020c8aee send output through InputOutput 2024-09-06 17:35:55 -05:00
Jay Alammar (aider)
df33498cad fix: correct syntax error by removing extra closing parenthesis in ModelSettings definition 2024-09-06 17:07:32 -04:00
Jay Alammar (aider)
d85979e1fb fix: correct syntax error by fixing misplaced parenthesis in ModelSettings entries 2024-09-06 17:07:23 -04:00
Jay Alammar (aider)
74f1ceff93 fix: resolve syntax error by removing extra closing parenthesis in model settings list 2024-09-06 17:07:16 -04:00
Jay Alammar (aider)
68bd2b75c6 refactor: group Cohere models together in the model settings list 2024-09-06 17:06:51 -04:00
Jay Alammar (aider)
5344052aeb feat: add support for new Cohere models command-r-08-2024 and command-r-plus-08-2024 2024-09-06 17:06:11 -04:00
Paul Gauthier
304566a914 added reflection 70b 2024-09-06 13:50:08 -07:00
Paul Gauthier
e9c0c82e03 added reflection 70b 2024-09-06 13:47:14 -07:00
Paul Gauthier
2aef59e624 update name to DeepSeek V2.5 2024-09-06 13:32:15 -07:00
Paul Gauthier
74631eec98 Merge remote-tracking branch 'refs/remotes/origin/main' 2024-09-06 12:02:20 -07:00
Paul Gauthier
abd484bfa7 wip 2024-09-06 12:01:51 -07:00
Paul Gauthier
cc15909629 clean diff edit format 2024-09-06 11:25:20 -07:00
Paul Gauthier
5b584db90c sonnet-sonnet gets 60.2/84.2 2024-09-06 09:49:01 -07:00
paul-gauthier
3a36edb8ec Merge pull request #1397 from fry69/prompt-cache
Enable prompt caching for OpenRouter
2024-09-06 06:04:32 -07:00
fry69
795810ffb8 fix: update model configurations 2024-09-06 13:44:42 +02:00
paul-gauthier
2663233b60 Merge pull request #1388 from cheahjs/docs/cleanup-yi-coder
docs: clean up yi-coder model names
2024-09-05 15:20:29 -07:00
Jun Siang Cheah
8d151a3573 docs: clean up yi-coder model names 2024-09-05 23:04:54 +01:00
Paul Gauthier
1c73e7d43a turn off suggest shell commands during benchmarks 2024-09-05 14:35:34 -07:00
Paul Gauthier
05dcbeecac noop 2024-09-05 14:25:09 -07:00
Paul Gauthier
ff3a75413b sonnet+deep got 60.9/82.0 2024-09-05 13:30:25 -07:00
Paul Gauthier
8cfdcbd976 refactor: remove redundant get_system_info method and update related test 2024-09-05 13:00:32 -07:00
Paul Gauthier (aider)
45855bd96c feat: add get_system_info method to Coder base class 2024-09-05 12:59:12 -07:00
Paul Gauthier (aider)
b57468a963 test: add test for Spanish chat language option 2024-09-05 12:58:18 -07:00
Paul Gauthier
34099408a5 copy 2024-09-05 12:55:09 -07:00
Paul Gauthier (aider)
781996fe84 feat: pass chat language to Coder.create 2024-09-05 12:52:26 -07:00
Paul Gauthier (aider)
3d73fac84c feat: add chat_language parameter to Coder class 2024-09-05 12:49:11 -07:00
Paul Gauthier (aider)
2bcc9a54a9 feat: add --chat-language argument for specifying chat language 2024-09-05 12:47:53 -07:00
Paul Gauthier
e4cbbb1fa8 remove eslint as default linter 2024-09-05 12:45:12 -07:00
Paul Gauthier
a35c532211 refactor: Move json import to top of file and remove unused import 2024-09-05 12:00:44 -07:00
Paul Gauthier (aider)
c2b8522e9a refactor: remove unused json import at top level 2024-09-05 12:00:28 -07:00
Paul Gauthier (aider)
5123d8c5de feat: add json import to main.py 2024-09-05 12:00:13 -07:00
Paul Gauthier (aider)
9b924237b7 style: add newline after json import in main.py 2024-09-05 11:59:56 -07:00
Paul Gauthier (aider)
c04453d282 feat: print model info as formatted JSON in verbose mode 2024-09-05 11:59:50 -07:00
Paul Gauthier
f02da16353 set max_tokens=8192 for deepseek models 2024-09-05 11:58:20 -07:00
Paul Gauthier
6c739d391b refactor: rename --models flag to --list-models 2024-09-05 11:40:31 -07:00
paul-gauthier
e3cd9a8f9a Merge pull request #1383 from fry69/list-models
Add --list-models alias for --models
2024-09-05 10:12:44 -07:00
Paul Gauthier
76bc0e11b8 add deepseek v2.5 to refac bench 2024-09-05 10:07:46 -07:00
fry69 (aider)
485d5487af feat: add --list-models alias for --models option 2024-09-05 18:27:05 +02:00
fry69
246ce318d2 fix: rename --models to --list-models in website docs 2024-09-05 18:23:55 +02:00
Paul Gauthier
6e3d8d90de Add deepseek v2.5 2024-09-05 07:59:32 -07:00
Paul Gauthier
2d866418da feat: add ignore_mentions attribute to cloned Coder instances 2024-09-04 14:40:21 -07:00
Paul Gauthier
ff15bcdb30 copy 2024-09-04 14:34:40 -07:00
Paul Gauthier
e799ada6f5 Merge remote-tracking branch 'refs/remotes/origin/main' 2024-09-04 14:33:59 -07:00
Paul Gauthier (aider)
7c5cad74ab style: Format code to comply with linter rules 2024-09-04 14:32:38 -07:00
Paul Gauthier (aider)
41e8f4401e fix: make test_get_rel_fname compatible with Windows 2024-09-04 14:32:35 -07:00
paul-gauthier
e271941aa2 Merge pull request #1349 from cheahjs/patch-1
docs: add benchmark results for yi-coder 9b
2024-09-04 14:14:36 -07:00
Paul Gauthier (aider)
6152a82513 fix: handle ValueError in os.path.relpath calls 2024-09-04 14:10:56 -07:00
Paul Gauthier
937a1cd847 fix: correct string handling in ESLint file path check 2024-09-04 14:06:30 -07:00
Paul Gauthier
867d19952c fix: handle spaces in ESLint file path for TypeScript linting 2024-09-04 14:05:44 -07:00
Paul Gauthier
7c5d999032 fix: correct eslint path in node_modules directory 2024-09-04 14:02:56 -07:00
Paul Gauthier
6d23b22e6f refactor: Remove redundant TypeScript linter fallback 2024-09-04 14:02:02 -07:00
Paul Gauthier
168598dad4 test: remove redundant Windows-specific ESLint test 2024-09-04 14:01:25 -07:00
Paul Gauthier (aider)
bd7ff9cca4 style: run linter and fix import order 2024-09-04 14:00:33 -07:00
Paul Gauthier (aider)
51f360ab9f fix: update ESLint command assertion in Windows test 2024-09-04 14:00:30 -07:00
Paul Gauthier
66ae9ae079 test: add debug output for linter languages in TestLinter 2024-09-04 14:00:28 -07:00
Paul Gauthier (aider)
65fd6b444c fix: simplify ESLint Windows test mock 2024-09-04 13:58:46 -07:00
Paul Gauthier (aider)
15abe6b921 style: Format long line in test_get_rel_fname method 2024-09-04 13:57:16 -07:00
Paul Gauthier (aider)
d8027030b0 fix: update ESLint check and test expectations 2024-09-04 13:57:09 -07:00
Paul Gauthier (aider)
edd9b44ad3 refactor: Remove unused import of Path from test_linter.py 2024-09-04 13:56:25 -07:00
Paul Gauthier (aider)
14fc3e3ad1 style: format code with black and isort 2024-09-04 13:55:53 -07:00
Paul Gauthier (aider)
cd551dbf63 test: add basic tests for Linter class 2024-09-04 13:55:49 -07:00
Paul Gauthier
ed349b65b5 test: add basic linter tests 2024-09-04 13:55:48 -07:00
Paul Gauthier (aider)
bb5bca5227 feat: support Windows ESLint executables in linter detection 2024-09-04 13:53:18 -07:00
Paul Gauthier (aider)
e98645698b refactor: make ESLint path detection cross-platform compatible 2024-09-04 13:52:41 -07:00
Paul Gauthier (aider)
376e8617f3 style: format eslint paths and remove trailing whitespace 2024-09-04 13:51:57 -07:00
Paul Gauthier (aider)
a3d585a4b4 feat: add ESLint detection for TypeScript linting 2024-09-04 13:51:53 -07:00
Jun Siang Cheah
5853c7fa92 docs: add benchmark results for yi-coder 9b 2024-09-04 18:34:52 +01:00
Paul Gauthier
18bf3a9f36 fixes #1348 2024-09-04 10:27:18 -07:00
Paul Gauthier
e7253d819e copy 2024-09-04 10:16:11 -07:00
Paul Gauthier
75c27a5dfb feat: enhance GitHub issue reporting functionality 2024-09-04 10:14:25 -07:00
Paul Gauthier (aider)
7598f883f5 style: format long line in report command for better readability 2024-09-04 10:09:13 -07:00
Paul Gauthier (aider)
1b5ef76c18 refactor: update cmd_report to use confirm=False and conditional user report prefix 2024-09-04 10:09:07 -07:00
Paul Gauthier (aider)
70994cfc5b feat: add confirm parameter to report_github_issue function 2024-09-04 10:08:16 -07:00
Paul Gauthier
c5ac621da1 docs: Update description of 'report' command 2024-09-04 10:08:08 -07:00
Paul Gauthier (aider)
5c6d4dbbf1 feat: add /report command to submit GitHub issues 2024-09-04 10:05:43 -07:00
Paul Gauthier
9434f99458 copy 2024-09-04 09:27:12 -07:00
Paul Gauthier
9988a3ff79 updated blame 2024-09-04 09:20:40 -07:00
Paul Gauthier
0aad7b46f6 cleaner logic for load/save analytics.json 2024-08-16 11:28:13 -07:00
Paul Gauthier
62d8190733 copy 2024-08-16 11:04:54 -07:00
Paul Gauthier
4759297b67 disabled -> permanently_disabled 2024-08-16 11:03:14 -07:00
Paul Gauthier
607a9a8c86 track -> enable 2024-08-16 10:59:44 -07:00
Paul Gauthier
96b67ab26c copy 2024-08-16 10:45:14 -07:00
Paul Gauthier
93b8cb9cec Merge branch 'main' into mixpanel 2024-08-16 10:42:55 -07:00
Paul Gauthier (aider)
7b6ad16fdb fix: Preserve existing UUID when marking analytics as disabled 2024-08-13 14:22:39 -07:00
Paul Gauthier (aider)
b722572a28 style: format analytics.py file 2024-08-13 13:03:54 -07:00
Paul Gauthier (aider)
46489f1a46 feat: Add PostHog analytics integration 2024-08-13 13:03:51 -07:00
Paul Gauthier
d7a29c42b7 Merge branch 'main' into mixpanel 2024-08-13 13:01:43 -07:00
Paul Gauthier (aider)
1ebe5f8bd5 feat: add edit_format to event() call 2024-08-13 10:04:28 -07:00
Paul Gauthier
26fe63b7ac cleanup 2024-08-13 10:04:05 -07:00
Paul Gauthier
d2435c2e00 copy 2024-08-13 10:02:54 -07:00
Paul Gauthier
4d04a35e73 Merge branch 'main' into mixpanel 2024-08-13 09:52:50 -07:00
Paul Gauthier
cabad84521 tweak 2024-08-13 08:12:23 -07:00
Paul Gauthier
aeadf2f139 fix: Disable analytics by default and provide option to enable 2024-08-13 08:08:05 -07:00
Paul Gauthier
4ebbfa01b7 share last 1k analytics logs 2024-08-13 07:50:28 -07:00
Paul Gauthier
960b456e70 cleanup 2024-08-13 07:50:06 -07:00
Paul Gauthier (aider)
329514289d fix: Initialize Analytics instance with track=False if analytics is None 2024-08-13 07:45:35 -07:00
Paul Gauthier (aider)
03f14dfe47 feat: Create Analytics instance with track=False if analytics is None 2024-08-13 07:45:19 -07:00
Paul Gauthier (aider)
1c321df457 feat: Move analytics arguments to their own section 2024-08-13 07:23:46 -07:00
Paul Gauthier
8a21eb7804 handle new vars that accumulate tokens/costs for infinite output 2024-08-13 07:23:01 -07:00
Paul Gauthier
c1d4adbebf added mixpanel dep 2024-08-13 07:18:26 -07:00
Paul Gauthier
ef933c207b Merge branch 'main' into mixpanel 2024-08-13 07:17:13 -07:00
Paul Gauthier
08aaae4d36 initial 2024-08-13 07:16:35 -07:00
Paul Gauthier
f52265362f Merge branch 'main' into mixpanel 2024-08-13 07:09:34 -07:00
Paul Gauthier (aider)
00aa43d964 fix: Move imports to the top of the file in aider/analytics.py 2024-08-12 20:44:56 -07:00
Paul Gauthier (aider)
84489f16b5 refactor: Refactor data file name and mkdir operations 2024-08-12 20:44:42 -07:00
Paul Gauthier
e07194bbeb fix: Rename uuid_file to data_file for consistency 2024-08-12 20:44:41 -07:00
Paul Gauthier (aider)
1567d3e3d1 fix: Remove duplicate get_or_create_uuid method 2024-08-12 20:41:59 -07:00
Paul Gauthier (aider)
eca7a57138 style: Format code with linter 2024-08-12 20:41:17 -07:00
Paul Gauthier (aider)
64df0ad590 feat: Add --analytics-disable option to disable analytics tracking 2024-08-12 20:41:10 -07:00
Paul Gauthier
5a28d499a8 fix: Update the path for the Mixpanel UUID file 2024-08-12 20:41:09 -07:00
Paul Gauthier
4bad876f66 fix: Add event tracking for interactive help command 2024-08-12 20:36:51 -07:00
Paul Gauthier (aider)
1a8763d989 feat: Add --analytics-log argument and pass it to Analytics 2024-08-12 18:27:40 -07:00
Paul Gauthier (aider)
13eaf5e5ce style: Fix formatting in analytics.py 2024-08-12 18:26:11 -07:00
Paul Gauthier (aider)
82250db8af feat: Add logfile support to Analytics class 2024-08-12 18:26:08 -07:00
Paul Gauthier
85fa78f5a6 fix: Correct command execution logic 2024-08-12 18:23:51 -07:00
Paul Gauthier (aider)
9ed732959e fix: Remove unnecessary slice from event name in Commands.run 2024-08-12 18:22:51 -07:00
Paul Gauthier (aider)
860a36fe6c refactor: Extract command name from matching_commands[0][1:] 2024-08-12 18:22:36 -07:00
Paul Gauthier (aider)
01a9a8ffc4 feat: add event logging for command usage 2024-08-12 18:22:05 -07:00
Paul Gauthier
aa840f0e28 be careful logging main_models that are not in the model db 2024-08-12 18:20:35 -07:00
Paul Gauthier (aider)
a7a626423c fix: Remove properties argument from event method in Analytics class 2024-08-12 18:08:02 -07:00
Paul Gauthier
c2c9b60ea6 feat: Add main_model parameter to event method in analytics.py 2024-08-12 18:08:01 -07:00
Paul Gauthier (aider)
a6282818db fix: Add early return if self.mp is not set 2024-08-12 16:23:12 -07:00
Paul Gauthier (aider)
f563544761 style: Fix linter issues in analytics.py 2024-08-12 16:21:49 -07:00
Paul Gauthier (aider)
48a344bc6d feat: Add system information to all events 2024-08-12 16:21:46 -07:00
Paul Gauthier
f110e8c8db fix: Update Mixpanel project token 2024-08-12 16:21:45 -07:00
Paul Gauthier (aider)
65c0608d5c style: format code 2024-08-12 16:17:17 -07:00
Paul Gauthier (aider)
57ce0dca67 feat: add self.event() to calculate_and_show_tokens_and_cost 2024-08-12 16:17:11 -07:00
Paul Gauthier
4129065d6c fix: Add event attribute to Coder class 2024-08-12 16:17:10 -07:00
Paul Gauthier (aider)
d59fd508c2 style: Apply linter formatting to analytics.py 2024-08-12 16:16:42 -07:00
Paul Gauthier (aider)
62a5cf8dee feat: Handle numeric values in event properties 2024-08-12 16:16:39 -07:00
Paul Gauthier (aider)
6ec4e60058 feat: Add kwargs support to event() method 2024-08-12 16:14:11 -07:00
Paul Gauthier
087b3d4ffb feat: Rename track_event to event in aider/analytics.py 2024-08-12 16:14:10 -07:00
Paul Gauthier (aider)
7d3585bafe style: Fix formatting and linting issues in analytics.py 2024-08-12 16:11:23 -07:00
Paul Gauthier (aider)
1a49974f98 feat: add aider version number to all events 2024-08-12 16:11:20 -07:00
Paul Gauthier
b11c17dbd4 feat: Add optional analytics tracking 2024-08-12 16:10:20 -07:00
Paul Gauthier
474ac62391 feat: Add analytics field to Coder class 2024-08-12 16:08:58 -07:00
Paul Gauthier (aider)
6ee8a74d47 style: format code with linter 2024-08-12 16:07:15 -07:00
Paul Gauthier (aider)
121dd908a6 feat: Add Mixpanel project token to Analytics class 2024-08-12 16:07:12 -07:00
Paul Gauthier
2e1ac25ce2 feat: Add analytics module with Mixpanel integration 2024-08-12 16:07:11 -07:00
Paul Gauthier
b49ee06f23 feat: Add analytics.py module 2024-08-12 16:05:06 -07:00
Christian Clauss
9364ce1f15 Fix typos discovered by codespell 2024-08-05 13:37:28 +02:00
514 changed files with 46179 additions and 5884 deletions

View File

@@ -4,45 +4,82 @@ on:
push:
paths-ignore:
- 'aider/website/**'
- README.md
- HISTORY.md
- 'README.md'
- 'HISTORY.md'
- '.github/workflows/*'
- '!.github/workflows/docker-build-test.yml'
branches:
- main
pull_request:
paths-ignore:
- 'aider/website/**'
- README.md
- 'README.md'
- 'HISTORY.md'
- '.github/workflows/*'
- '!.github/workflows/docker-build-test.yml'
branches:
- main
# copy most of these steps from release.yml, but push: false and no tags:
jobs:
build:
docker_build_and_push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
if: ${{ github.event_name != 'pull_request' }}
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
env:
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
if: ${{ env.dockerhub_username }} && ${{ env.dockerhub_password }}
- name: Build Docker image
- name: Build Docker images (PR)
if: ${{ github.event_name == 'pull_request' }}
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
platforms: linux/amd64,linux/arm64
push: false
target: aider
- name: Build Docker images (Push)
if: ${{ github.event_name != 'pull_request' }}
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/aider:dev
target: aider
- name: Build Docker full image (PR)
if: ${{ github.event_name == 'pull_request' }}
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
platforms: linux/amd64,linux/arm64
push: false
target: aider-full
- name: Build Docker full image (Push)
if: ${{ github.event_name != 'pull_request' }}
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/aider-full:dev
target: aider-full

View File

@@ -12,6 +12,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

29
.github/workflows/issues.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Process GitHub Issues
on:
schedule:
- cron: '0 */12 * * *' # Run every 12 hours
workflow_dispatch: # Allow manual triggers
jobs:
process-issues:
runs-on: ubuntu-latest
permissions:
issues: write # Required to modify issues
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install requests python-dotenv tqdm
- name: Run issues script
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: python scripts/issues.py --yes

View File

@@ -12,6 +12,7 @@ on:
- "main"
paths:
- "aider/website/**"
- ".github/workflows/pages.yml"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -36,7 +37,9 @@ jobs:
working-directory: aider/website
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
@@ -53,10 +56,9 @@ jobs:
env:
JEKYLL_ENV: production
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v1
uses: actions/upload-pages-artifact@v3
with:
path: "aider/website/_site/"
path: "aider/website/_site"
# Deployment job
deploy:
@@ -68,18 +70,18 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: actions/deploy-pages@v4
- name: Set up Python ${{ matrix.python-version }}
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
python-version: '3.12'
- name: Install linkchecker
run: |
python -m pip install --upgrade pip
pip install linkchecker
python -m pip install linkchecker
- name: Run linkchecker
run: |
linkchecker https://aider.chat
linkchecker --ignore-url='.+\.(mp4|mov|avi)' https://aider.chat

View File

@@ -12,6 +12,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5

View File

@@ -4,14 +4,19 @@ on:
push:
paths-ignore:
- 'aider/website/**'
- README.md
- HISTORY.md
- 'README.md'
- 'HISTORY.md'
- '.github/workflows/*'
- '!.github/workflows/ubuntu-tests.yml'
branches:
- main
pull_request:
paths-ignore:
- 'aider/website/**'
- README.md
- 'README.md'
- 'HISTORY.md'
- '.github/workflows/*'
- '!.github/workflows/ubuntu-tests.yml'
branches:
- main
@@ -25,12 +30,19 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libportaudio2
- name: Install dependencies
run: |
python -m pip install --upgrade pip
@@ -38,5 +50,7 @@ jobs:
pip install .
- name: Run tests
env:
AIDER_ANALYTICS: false
run: |
pytest

View File

@@ -4,14 +4,19 @@ on:
push:
paths-ignore:
- 'aider/website/**'
- README.md
- HISTORY.md
- 'README.md'
- 'HISTORY.md'
- '.github/workflows/*'
- '!.github/workflows/windows-tests.yml'
branches:
- main
pull_request:
paths-ignore:
- 'aider/website/**'
- README.md
- 'README.md'
- 'HISTORY.md'
- '.github/workflows/*'
- '!.github/workflows/windows-tests.yml'
branches:
- main
@@ -25,6 +30,8 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
@@ -38,6 +45,8 @@ jobs:
pip install .
- name: Run tests
env:
AIDER_ANALYTICS: false
run: |
pytest

5
.gitignore vendored
View File

@@ -11,3 +11,8 @@ _site
.jekyll-cache/
.jekyll-metadata
aider/__version__.py
aider/_version.py
.venv/
.#*
.gitattributes
tmp.benchmarks/

View File

@@ -14,3 +14,10 @@ repos:
hooks:
- id: flake8
args: ["--show-source"]
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
hooks:
- id: codespell
args: ["--skip", "aider/website/docs/languages.md"]
additional_dependencies:
- tomli

View File

@@ -17,10 +17,10 @@ Contributions of
[LLM benchmark results](https://aider.chat/docs/leaderboards/)
are welcome!
See the
[benchmark README](https://github.com/paul-gauthier/aider/blob/main/benchmark/README.md)
[benchmark README](https://github.com/Aider-AI/aider/blob/main/benchmark/README.md)
for information on running aider's code editing benchmarks.
Submit results by opening a PR with edits to the
[benchmark results data files](https://github.com/paul-gauthier/aider/blob/main/_data/).
[benchmark results data files](https://github.com/Aider-AI/aider/blob/main/aider/website/_data/).
## Pull Requests
@@ -33,19 +33,16 @@ ensure that your contributions can be integrated smoothly.
## Licensing
By contributing to this project, you agree that your contributions
will be licensed under the Apache License 2.0. Additionally, you
understand and agree that contributions may be subject to a different
license, should the project maintainers decide to change the licensing
terms.
Before contributing a PR, please review our
[Individual Contributor License Agreement](https://aider.chat/docs/legal/contributor-agreement.html).
All contributors will be asked to complete the agreement as part of the PR process.
## Setting up a Development Environment
### Clone the Repository
```
git clone https://github.com/paul-gauthier/aider.git
git clone https://github.com/Aider-AI/aider.git
cd aider
```
@@ -59,13 +56,6 @@ It is recommended to create a virtual environment outside of the repository to k
python -m venv /path/to/venv
```
#### Using `virtualenv` (for older Python versions)
```
pip install virtualenv
virtualenv /path/to/venv
```
### Activate the Virtual Environment
#### On Windows
@@ -154,6 +144,10 @@ The project's documentation is built using Jekyll and hosted on GitHub Pages. To
```
bundle exec jekyll build
```
5. Preview the website while editing (optional):
```
bundle exec jekyll serve
```
The built documentation will be available in the `aider/website/_site` directory.
@@ -186,8 +180,8 @@ pytest
You can also run specific test files or test cases by providing the file path or test name:
```
pytest aider/tests/test_coder.py
pytest aider/tests/test_coder.py::TestCoder::test_specific_case
pytest tests/basic/test_coder.py
pytest tests/basic/test_coder.py::TestCoder::test_specific_case
```
#### Continuous Integration

View File

@@ -1,6 +1,534 @@
# Release history
### main branch
- Add the `openrouter/deepseek-chat-v3-0324:free` model.
- OpenRouter OAuth integration:
- Offer to OAuth against OpenRouter if no model and keys are provided.
- Select OpenRouter default model based on free/paid tier status if `OPENROUTER_API_KEY` is set and no model is specified.
- Prioritize `gemini/gemini-2.5-pro-exp-03-25` if `GEMINI_API_KEY` is set, and `vertex_ai/gemini-2.5-pro-exp-03-25` if `VERTEXAI_PROJECT` is set, when no model is specified.
- Validate user-configured color settings on startup and warn/disable invalid ones.
- Warn at startup if `--stream` and `--cache-prompts` are used together, as cost estimates may be inaccurate.
- Boost repomap ranking for files whose path components match identifiers mentioned in the chat.
- Change web scraping timeout from an error to a warning, allowing scraping to continue with potentially incomplete content.
- Left-align markdown headings in the terminal output, by Peter Schilling.
- Update edit format to the new model's default when switching models with `/model`, if the user was using the old model's default format.
- Add `Ctrl-X Ctrl-E` keybinding to edit the current input buffer in an external editor, by Matteo Landi.
- Fix linting errors for filepaths containing shell metacharacters, by Mir Adnan ALI.
- Add repomap support for the Scala language, by Vasil Markoukin.
- Fixed bug in `/run` that was preventing auto-testing.
- Fix bug preventing `UnboundLocalError` during git tree traversal.
- Handle `GitCommandNotFound` error if git is not installed or not in PATH.
- Handle `FileNotFoundError` if the current working directory is deleted while aider is running.
- Fix completion menu current item color styling, by Andrey Ivanov.
- Aider wrote 87% of the code in this release.
### Aider v0.79.2
- Added 'gemini' alias for gemini-2.5-pro model.
- Updated Gemini 2.5 Pro max output tokens to 64k.
- Added support for Lisp-style semicolon comments in file watcher, by Matteo Landi.
- Added OpenRouter API error detection and retries.
- Added openrouter/deepseek-chat-v3-0324 model.
- Aider wrote 93% of the code in this release.
### Aider v0.79.1
- Improved model listing to include all models in fuzzy matching, including those provided by aider (not litellm).
### Aider v0.79.0
- Added support for Gemini 2.5 Pro models.
- Added support for DeepSeek V3 0324 model.
- Added a new `/context` command that automatically identifies which files need to be edited for a given request.
- Added `/edit` as an alias for the `/editor` command.
- Added "overeager" mode for Claude 3.7 Sonnet models to try and keep it working within the requested scope.
- Aider wrote 65% of the code in this release.
### Aider v0.78.0
- Added support for thinking tokens for OpenRouter Sonnet 3.7.
- Added commands to switch between model types: `/editor-model` for Editor Model, and `/weak-model` for Weak Model, by csala.
- Added model setting validation to ignore `--reasoning-effort` and `--thinking-tokens` if the model doesn't support them.
- Added `--check-model-accepts-settings` flag (default: true) to force unsupported model settings.
- Annotated which models support reasoning_effort and thinking_tokens settings in the model settings data.
- Improved code block rendering in markdown output with better padding using NoInsetMarkdown.
- Added `--git-commit-verify` flag (default: False) to control whether git commit hooks are bypassed.
- Fixed autocompletion for `/ask`, `/code`, and `/architect` commands, by shladnik.
- Added vi-like behavior when pressing enter in multiline-mode while in vi normal/navigation-mode, by Marco Mayer.
- Added AWS_PROFILE support for Bedrock models, allowing use of AWS profiles instead of explicit credentials, by lentil32.
- Enhanced `--aiderignore` argument to resolve both absolute and relative paths, by mopemope.
- Improved platform information handling to gracefully handle retrieval errors.
- Aider wrote 92% of the code in this release.
### Aider v0.77.1
- Bumped dependencies to pickup litellm fix for Ollama.
- Added support for `openrouter/google/gemma-3-27b-it` model.
- Updated exclude patterns for help documentation.
### Aider v0.77.0
- Big upgrade in [programming languages supported](https://aider.chat/docs/languages.html) by adopting [tree-sitter-language-pack](https://github.com/Goldziher/tree-sitter-language-pack/).
- 130 new languages with linter support.
- 20 new languages with repo-map support.
- Added `/think-tokens` command to set thinking token budget with support for human-readable formats (8k, 10.5k, 0.5M).
- Added `/reasoning-effort` command to control model reasoning level.
- The `/think-tokens` and `/reasoning-effort` commands display current settings when called without arguments.
- Display of thinking token budget and reasoning effort in model information.
- Changed `--thinking-tokens` argument to accept string values with human-readable formats.
- Added `--auto-accept-architect` flag (default: true) to automatically accept changes from architect coder format without confirmation.
- Added support for `cohere_chat/command-a-03-2025` and `gemini/gemma-3-27b-it`
- The bare `/drop` command now preserves original read-only files provided via args.read.
- Fixed a bug where default model would be set by deprecated `--shortcut` switches even when already specified in the command line.
- Improved AutoCompleter to require 3 characters for autocompletion to reduce noise.
- Aider wrote 72% of the code in this release.
### Aider v0.76.2
- Fixed handling of JSONDecodeError when loading model cache file.
- Fixed handling of GitCommandError when retrieving git user configuration.
- Aider wrote 75% of the code in this release.
### Aider v0.76.1
- Added ignore_permission_denied option to file watcher to prevent errors when accessing restricted files, by Yutaka Matsubara.
- Aider wrote 0% of the code in this release.
### Aider v0.76.0
- Improved support for thinking/reasoningmodels:
- Added `--thinking-tokens` CLI option to control token budget for models that support thinking.
- Display thinking/reasoning content from LLMs which return it.
- Enhanced handling of reasoning tags to better clean up model responses.
- Added deprecation warning for `remove_reasoning` setting, now replaced by `reasoning_tag`.
- Aider will notify you when it's completed the last request and needs your input:
- Added [notifications when LLM responses are ready](https://aider.chat/docs/usage/notifications.html) with `--notifications` flag.
- Specify desktop notification command with `--notifications-command`.
- Added support for QWQ 32B.
- Switch to `tree-sitter-language-pack` for tree sitter support.
- Improved error handling for EOF (Ctrl+D) in user input prompts.
- Added helper function to ensure hex color values have a # prefix.
- Fixed handling of Git errors when reading staged files.
- Improved SSL verification control for model information requests.
- Improved empty LLM response handling with clearer warning messages.
- Fixed Git identity retrieval to respect global configuration, by Akira Komamura.
- Offer to install dependencies for Bedrock and Vertex AI models.
- Deprecated model shortcut args (like --4o, --opus) in favor of the --model flag.
- Aider wrote 85% of the code in this release.
### Aider v0.75.3
- Support for V3 free on OpenRouter: `--model openrouter/deepseek/deepseek-chat:free`.
### Aider v0.75.2
- Added support for Claude 3.7 Sonnet models on OpenRouter, Bedrock and Vertex AI.
- Updated default model to Claude 3.7 Sonnet on OpenRouter.
- Added support for GPT-4.5-preview model.
- Added support for Claude 3.7 Sonnet:beta on OpenRouter.
- Fixed weak_model_name patterns to match main model name patterns for some models.
### Aider v0.75.1
- Added support for `openrouter/anthropic/claude-3.7-sonnet`
### Aider v0.75.0
- Basic support for Claude 3.7 Sonnet
- Use `--model sonnet` to use the new 3.7
- Thinking support coming soon.
- Bugfix to `/editor` command.
- Aider wrote 46% of the code in this release.
### Aider v0.74.3
- Downgrade streamlit dependency to avoid threading bug.
- Added support for tree-sitter language pack.
- Added openrouter/o3-mini-high model configuration.
- Added build.gradle.kts to special files for Kotlin project support, by Lucas Shadler.
### Aider v0.74.2
- Prevent more than one cache warming thread from becoming active.
- Fixed continuation prompt ". " for multiline input.
- Added HCL (Terraform) syntax support, by Warren Krewenki.
### Aider v0.74.1
- Have o1 & o3-mini generate markdown by sending the magic "Formatting re-enabled." string.
- Bugfix for multi-line inputs, which should not include the ". " continuation prompt.
### Aider v0.74.0
- Dynamically changes the Ollama context window to hold the current chat.
- Better support for o3-mini, DeepSeek V3 & R1, o1-mini, o1 especially via third-party API providers.
- Remove `<think>` tags from R1 responses for commit messages (and other weak model uses).
- Can now specify `use_temperature: <float>` in model settings, not just true/false.
- The full docker container now includes `boto3` for Bedrock.
- Docker containers now set `HOME=/app` which is the normal project mount-point, to persist `~/.aider`.
- Bugfix to prevent creating incorrect filenames like `python`, `php`, etc.
- Bugfix for `--timeout`
- Bugfix so that `/model` now correctly reports that the weak model is not changed.
- Bugfix so that multi-line mode persists through ^C at confirmation prompts.
- Watch files now fully ignores top-level directories named in ignore files, to reduce the chance of hitting OS watch limits. Helpful to ignore giant subtrees like `node_modules`.
- Fast startup with more providers and when model metadata provided in local files.
- Improved .gitignore handling:
- Honor ignores already in effect regardless of how they've been configured.
- Check for .env only when the file exists.
- Yes/No prompts now accept All/Skip as alias for Y/N even when not processing a group of confirmations.
- Aider wrote 77% of the code in this release.
### Aider v0.73.0
- Full support for o3-mini: `aider --model o3-mini`
- New `--reasoning-effort` argument: low, medium, high.
- Improved handling of context window size limits, with better messaging and Ollama-specific guidance.
- Added support for removing model-specific reasoning tags from responses with `remove_reasoning: tagname` model setting.
- Auto-create parent directories when creating new files, by xqyz.
- Support for R1 free on OpenRouter: `--model openrouter/deepseek/deepseek-r1:free`
- Aider wrote 69% of the code in this release.
### Aider v0.72.3
- Enforce user/assistant turn order to avoid R1 errors, by miradnanali.
- Case-insensitive model name matching while preserving original case.
### Aider v0.72.2
- Harden against user/assistant turn order problems which cause R1 errors.
### Aider v0.72.1
- Fix model metadata for `openrouter/deepseek/deepseek-r1`
### Aider v0.72.0
- Support for DeepSeek R1.
- Use shortcut: `--model r1`
- Also via OpenRouter: `--model openrouter/deepseek/deepseek-r1`
- Added Kotlin syntax support to repo map, by Paul Walker.
- Added `--line-endings` for file writing, by Titusz Pan.
- Added examples_as_sys_msg=True for GPT-4o models, improves benchmark scores.
- Bumped all dependencies, to pick up litellm support for o1 system messages.
- Bugfix for turn taking when reflecting lint/test errors.
- Aider wrote 52% of the code in this release.
### Aider v0.71.1
- Fix permissions issue in Docker images.
- Added read-only file announcements.
- Bugfix: ASCII fallback for unicode errors.
- Bugfix: integer indices for list slicing in repomap calculations.
### Aider v0.71.0
- Prompts to help DeepSeek work better when alternating between `/ask` and `/code`.
- Streaming pretty LLM responses is smoother and faster for long replies.
- Streaming automatically turns of for model that don't support it
- Can now switch to/from `/model o1` and a streaming model
- Pretty output remains enabled even when editing files with triple-backtick fences
- Bare `/ask`, `/code` and `/architect` commands now switch the chat mode.
- Increased default size of the repomap.
- Increased max chat history tokens limit from 4k to 8k.
- Turn off fancy input and watch files if terminal is dumb.
- Added support for custom voice format and input device settings.
- Disabled Streamlit email prompt, by apaz-cli.
- Docker container runs as non-root user.
- Fixed lint command handling of nested spaced strings, by Aaron Weisberg.
- Added token count feedback when adding command output to chat.
- Improved error handling for large audio files with automatic format conversion.
- Improved handling of git repo index errors, by Krazer.
- Improved unicode handling in console output with ASCII fallback.
- Added AssertionError, AttributeError to git error handling.
- Aider wrote 60% of the code in this release.
### Aider v0.70.0
- Full support for o1 models.
- Watch files now honors `--subtree-only`, and only watches that subtree.
- Improved prompting for watch files, to work more reliably with more models.
- New install methods via uv, including one-liners.
- Support for openrouter/deepseek/deepseek-chat model.
- Better error handling when interactive commands are attempted via `/load` or `--load`.
- Display read-only files with abs path if its shorter than rel path.
- Ask 10% of users to opt-in to analytics.
- Bugfix for auto-suggest.
- Gracefully handle unicode errors in git path names.
- Aider wrote 74% of the code in this release.
### Aider v0.69.1
- Fix for gemini model names in model metadata.
- Show hints about AI! and AI? when user makes AI comments.
- Support for running without git installed.
- Improved environment variable setup messages on Windows.
### Aider v0.69.0
- [Watch files](https://aider.chat/docs/usage/watch.html) improvements:
- Use `# ... AI?` comments to trigger aider and ask questions about your code.
- Now watches *all* files, not just certain source files.
- Use `# AI comments`, `// AI comments`, or `-- AI comments` to give aider instructions in any text file.
- Full support for Gemini Flash 2.0 Exp:
- `aider --model flash` or `aider --model gemini/gemini-2.0-flash-exp`
- [New `--multiline` flag and `/multiline-mode` command](https://aider.chat/docs/usage/commands.html#entering-multi-line-chat-messages) makes ENTER a soft newline and META-ENTER send the message, by @miradnanali.
- `/copy-context <instructions>` now takes optional "instructions" when [copying code context to the clipboard](https://aider.chat/docs/usage/copypaste.html#copy-aiders-code-context-to-your-clipboard-paste-into-the-web-ui).
- Improved clipboard error handling with helpful requirements install info.
- Ask 5% of users if they want to opt-in to analytics.
- `/voice` now lets you edit the transcribed text before sending.
- Disabled auto-complete in Y/N prompts.
- Aider wrote 68% of the code in this release.
### Aider v0.68.0
- [Aider works with LLM web chat UIs](https://aider.chat/docs/usage/copypaste.html).
- New `--copy-paste` mode.
- New `/copy-context` command.
- [Set API keys and other environment variables for all providers from command line or yaml conf file](https://aider.chat/docs/config/aider_conf.html#storing-llm-keys).
- New `--api-key provider=key` setting.
- New `--set-env VAR=value` setting.
- Added bash and zsh support to `--watch-files`.
- Better error messages when missing dependencies for Gemini and Bedrock models.
- Control-D now properly exits the program.
- Don't count token costs when API provider returns a hard error.
- Bugfix so watch files works with files that don't have tree-sitter support.
- Bugfix so o1 models can be used as weak model.
- Updated shell command prompt.
- Added docstrings for all Coders.
- Reorganized command line arguments with improved help messages and grouping.
- Use the exact `sys.python` for self-upgrades.
- Added experimental Gemini models.
- Aider wrote 71% of the code in this release.
### Aider v0.67.0
- [Use aider in your IDE or editor](https://aider.chat/docs/usage/watch.html).
- Run `aider --watch-files` and it will watch for instructions you add to your source files.
- One-liner `# ...` or `// ...` comments that start or end with "AI" are instructions to aider.
- When aider sees "AI!" it reads and follows all the instructions in AI comments.
- Support for new Amazon Bedrock Nova models.
- When `/run` or `/test` have non-zero exit codes, pre-fill "Fix that" into the next message prompt.
- `/diff` now invokes `git diff` to use your preferred diff tool.
- Added Ctrl-Z support for process suspension.
- Spinner now falls back to ASCII art if fancy symbols throw unicode errors.
- `--read` now expands `~` home dirs.
- Enabled exception capture in analytics.
- [Aider wrote 61% of the code in this release.](https://aider.chat/HISTORY.html)
### Aider v0.66.0
- PDF support for Sonnet and Gemini models.
- Added `--voice-input-device` to select audio input device for voice recording, by @preynal.
- Added `--timeout` option to configure API call timeouts.
- Set cwd to repo root when running shell commands.
- Added Ctrl-Up/Down keyboard shortcuts for per-message history navigation.
- Improved error handling for failed .gitignore file operations.
- Improved error handling for input history file permissions.
- Improved error handling for analytics file access.
- Removed spurious warning about disabling pretty in VSCode.
- Removed broken support for Dart.
- Bugfix when scraping URLs found in chat messages.
- Better handling of __version__ import errors.
- Improved `/drop` command to support substring matching for non-glob patterns.
- Aider wrote 82% of the code in this release.
### Aider v0.65.1
- Bugfix to `--alias`.
### Aider v0.65.0
- Added `--alias` config to define [custom model aliases](https://aider.chat/docs/config/model-aliases.html).
- Added `--[no-]detect-urls` flag to disable detecting and offering to scrape URLs found in the chat.
- Ollama models now default to an 8k context window.
- Added [RepoMap support for Dart language](https://aider.chat/docs/languages.html) by @malkoG.
- Ask 2.5% of users if they want to opt-in to [analytics](https://aider.chat/docs/more/analytics.html).
- Skip suggesting files that share names with files already in chat.
- `/editor` returns and prefill the file content into the prompt, so you can use `/editor` to compose messages that start with `/commands`, etc.
- Enhanced error handling for analytics.
- Improved handling of UnknownEditFormat exceptions with helpful documentation links.
- Bumped dependencies to pick up grep-ast 0.4.0 for Dart language support.
- Aider wrote 81% of the code in this release.
### Aider v0.64.1
- Disable streaming for o1 on OpenRouter.
### Aider v0.64.0
- Added [`/editor` command](https://aider.chat/docs/usage/commands.html) to open system editor for writing prompts, by @thehunmonkgroup.
- Full support for `gpt-4o-2024-11-20`.
- Stream o1 models by default.
- `/run` and suggested shell commands are less mysterious and now confirm that they "Added XX lines of output to the chat."
- Ask 1% of users if they want to opt-in to [analytics](https://aider.chat/docs/more/analytics.html).
- Added support for [optional multiline input tags](https://aider.chat/docs/usage/commands.html#entering-multi-line-chat-messages) with matching closing tags.
- Improved [model settings configuration](https://aider.chat/docs/config/adv-model-settings.html#global-extra-params) with support for global `extra_params` for `litellm.completion()`.
- Architect mode now asks to add files suggested by the LLM.
- Fixed bug in fuzzy model name matching.
- Added Timeout exception to handle API provider timeouts.
- Added `--show-release-notes` to control release notes display on first run of new version.
- Save empty dict to cache file on model metadata download failure, to delay retry.
- Improved error handling and code formatting.
- Aider wrote 74% of the code in this release.
### Aider v0.63.2
- Fixed bug in fuzzy model name matching when litellm provider info is missing.
- Modified model metadata file loading to allow override of resource file.
- Allow recursive loading of dirs using `--read`.
- Updated dependency versions to pick up litellm fix for ollama models.
- Added exponential backoff retry when writing files to handle editor file locks.
- Updated Qwen 2.5 Coder 32B model configuration.
### Aider v0.63.1
- Fixed bug in git ignored file handling.
- Improved error handling for git operations.
### Aider v0.63.0
- Support for Qwen 2.5 Coder 32B.
- `/web` command just adds the page to the chat, without triggering an LLM response.
- Improved prompting for the user's preferred chat language.
- Improved handling of LiteLLM exceptions.
- Bugfix for double-counting tokens when reporting cache stats.
- Bugfix for the LLM creating new files.
- Other small bug fixes.
- Aider wrote 55% of the code in this release.
### Aider v0.62.0
- Full support for Claude 3.5 Haiku
- Scored 75% on [aider's code editing leaderboard](https://aider.chat/docs/leaderboards/).
- Almost as good as Sonnet at much lower cost.
- Launch with `--haiku` to use it.
- Easily apply file edits from ChatGPT, Claude or other web apps
- Chat with ChatGPT or Claude via their web app.
- Give it your source files and ask for the changes you want.
- Use the web app's "copy response" button to copy the entire reply from the LLM.
- Run `aider --apply-clipboard-edits file-to-edit.js`.
- Aider will edit your file with the LLM's changes.
- Bugfix for creating new files.
- Aider wrote 84% of the code in this release.
### Aider v0.61.0
- Load and save aider slash-commands to files:
- `/save <fname>` command will make a file of `/add` and `/read-only` commands that recreate the current file context in the chat.
- `/load <fname>` will replay the commands in the file.
- You can use `/load` to run any arbitrary set of slash-commands, not just `/add` and `/read-only`.
- Use `--load <fname>` to run a list of commands on launch, before the interactive chat begins.
- Anonymous, opt-in [analytics](https://aider.chat/docs/more/analytics.html) with no personal data sharing.
- Aider follows litellm's `supports_vision` attribute to enable image support for models.
- Bugfix for when diff mode flexibly handles the model using the wrong filename.
- Displays filenames in sorted order for `/add` and `/read-only`.
- New `--no-fancy-input` switch disables prompt toolkit input, now still available with `--no-pretty`.
- Override browser config with `--no-browser` or `--no-gui`.
- Offer to open documentation URLs when errors occur.
- Properly support all o1 models, regardless of provider.
- Improved layout of filenames above input prompt.
- Better handle corrupted repomap tags cache.
- Improved handling of API errors, especially when accessing the weak model.
- Aider wrote 68% of the code in this release.
### Aider v0.60.1
- Enable image support for Sonnet 10/22.
- Display filenames in sorted order.
### Aider v0.60.0
- Full support for Sonnet 10/22, the new SOTA model on aider's code editing benchmark.
- Aider uses Sonnet 10/22 by default.
- Improved formatting of added and read-only files above chat prompt, by @jbellis.
- Improved support for o1 models by more flexibly parsing their nonconforming code edit replies.
- Corrected diff edit format prompt that only the first match is replaced.
- Stronger whole edit format prompt asking for clean file names.
- Now offers to add `.env` to the `.gitignore` file.
- Ships with a small model metadata json file to handle models not yet updated in litellm.
- Model settings for o1 models on azure.
- Bugfix to properly include URLs in `/help` RAG results.
- Aider wrote 49% of the code in this release.
### Aider v0.59.1
- Check for obsolete `yes: true` in yaml config, show helpful error.
- Model settings for openrouter/anthropic/claude-3.5-sonnet:beta
### Aider v0.59.0
- Improvements to `/read-only`:
- Now supports shell-style auto-complete of the full file system.
- Still auto-completes the full paths of the repo files like `/add`.
- Now supports globs like `src/**/*.py`
- Renamed `--yes` to `--yes-always`.
- Now uses `AIDER_YES_ALWAYS` env var and `yes-always:` yaml key.
- Existing YAML and .env files will need to be updated.
- Can still abbreviate to `--yes` on the command line.
- Config file now uses standard YAML list syntax with ` - list entries`, one per line.
- `/settings` now includes the same announcement lines that would print at launch.
- Sanity checks the `--editor-model` on launch now, same as main and weak models.
- Added `--skip-sanity-check-repo` switch to speedup launch in large repos.
- Bugfix so architect mode handles Control-C properly.
- Repo-map is deterministic now, with improved caching logic.
- Improved commit message prompt.
- Aider wrote 77% of the code in this release.
### Aider v0.58.1
- Fixed bug where cache warming pings caused subsequent user messages to trigger a tight loop of LLM requests.
### Aider v0.58.0
- [Use a pair of Architect/Editor models for improved coding](https://aider.chat/2024/09/26/architect.html)
- Use a strong reasoning model like o1-preview as your Architect.
- Use a cheaper, faster model like gpt-4o as your Editor.
- New `--o1-preview` and `--o1-mini` shortcuts.
- Support for new Gemini 002 models.
- Better support for Qwen 2.5 models.
- Many confirmation questions can be skipped for the rest of the session with "(D)on't ask again" response.
- Autocomplete for `/read-only` supports the entire filesystem.
- New settings for completion menu colors.
- New `/copy` command to copy the last LLM response to the clipboard.
- Renamed `/clipboard` to `/paste`.
- Will now follow HTTP redirects when scraping urls.
- New `--voice-format` switch to send voice audio as wav/mp3/webm, by @mbailey.
- ModelSettings takes `extra_params` dict to specify any extras to pass to `litellm.completion()`.
- Support for cursor shapes when in vim mode.
- Numerous bug fixes.
- Aider wrote 53% of the code in this release.
### Aider v0.57.1
- Fixed dependency conflict between aider-chat[help] and [playwright].
### Aider v0.57.0
- Support for OpenAI o1 models:
- o1-preview now works well with diff edit format.
- o1-preview with diff now matches SOTA leaderboard result with whole edit format.
- `aider --model o1-mini`
- `aider --model o1-preview`
- On Windows, `/run` correctly uses PowerShell or cmd.exe.
- Support for new 08-2024 Cohere models, by @jalammar.
- Can now recursively add directories with `/read-only`.
- User input prompts now fall back to simple `input()` if `--no-pretty` or a Windows console is not available.
- Improved sanity check of git repo on startup.
- Improvements to prompt cache chunking strategy.
- Removed "No changes made to git tracked files".
- Numerous bug fixes for corner case crashes.
- Updated all dependency versions.
- Aider wrote 70% of the code in this release.
### Aider v0.56.0
- Enables prompt caching for Sonnet via OpenRouter by @fry69
- Enables 8k output tokens for Sonnet via VertexAI and DeepSeek V2.5.
- New `/report` command to open your browser with a pre-populated GitHub Issue.
- New `--chat-language` switch to set the spoken language.
- Now `--[no-]suggest-shell-commands` controls both prompting for and offering to execute shell commands.
- Check key imports on launch, provide helpful error message if dependencies aren't available.
- Renamed `--models` to `--list-models` by @fry69.
- Numerous bug fixes for corner case crashes.
- Aider wrote 56% of the code in this release.
### Aider v0.55.0
- Only print the pip command when self updating on Windows, without running it.
@@ -631,7 +1159,7 @@
### Aider v0.14.0
- [Support for Claude2 and other LLMs via OpenRouter](https://aider.chat/docs/faq.html#accessing-other-llms-with-openrouter) by @joshuavial
- Documentation for [running the aider benchmarking suite](https://github.com/paul-gauthier/aider/tree/main/benchmark)
- Documentation for [running the aider benchmarking suite](https://github.com/Aider-AI/aider/tree/main/benchmark)
- Aider now requires Python >= 3.9
@@ -676,7 +1204,7 @@
- Added `/git` command to run git from inside aider chats.
- Use Meta-ENTER (Esc+ENTER in some environments) to enter multiline chat messages.
- Create a `.gitignore` with `.aider*` to prevent users from accidentaly adding aider files to git.
- Create a `.gitignore` with `.aider*` to prevent users from accidentally adding aider files to git.
- Check pypi for newer versions and notify user.
- Updated keyboard interrupt logic so that 2 ^C in 2 seconds always forces aider to exit.
- Provide GPT with detailed error if it makes a bad edit block, ask for a retry.

20
MANIFEST.in Normal file
View File

@@ -0,0 +1,20 @@
# This needs to sync with aider/help_pats.py
global-exclude .DS_Store
recursive-exclude aider/website/examples *
recursive-exclude aider/website/_posts *
exclude aider/website/HISTORY.md
exclude aider/website/docs/benchmarks*.md
exclude aider/website/docs/ctags.md
exclude aider/website/docs/unified-diffs.md
exclude aider/website/install.ps1
exclude aider/website/install.sh
recursive-exclude aider/website/docs/leaderboards *
recursive-exclude aider/website/assets *
recursive-exclude aider/website *.js
recursive-exclude aider/website *.html
recursive-exclude aider/website *.yml

250
README.md
View File

@@ -1,136 +1,172 @@
<p align="center">
<a href="https://aider.chat/"><img src="https://aider.chat/assets/logo.svg" alt="Aider Logo" width="300"></a>
</p>
<!-- Edit README.md, not index.md -->
<h1 align="center">
AI Pair Programming in Your Terminal
</h1>
# Aider is AI pair programming in your terminal
Aider lets you pair program with LLMs,
to edit code in your local git repository.
Start a new project or work with an existing git repo.
Aider works best with GPT-4o & Claude 3.5 Sonnet and can
[connect to almost any LLM](https://aider.chat/docs/llms.html).
<p align="center">
Aider lets you pair program with LLMs to start a new project or build on your existing codebase.
</p>
<!-- SCREENCAST START -->
<p align="center">
<img
src="https://aider.chat/assets/screencast.svg"
alt="aider screencast"
>
</p>
<!-- SCREENCAST END -->
<!-- VIDEO START
<p align="center">
<video style="max-width: 100%; height: auto;" autoplay loop muted playsinline>
<source src="/assets/shell-cmds-small.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</p>
VIDEO END -->
<p align="center">
<a href="https://discord.gg/Tv2uQnR88V">
<img src="https://img.shields.io/badge/Join-Discord-blue.svg"/>
</a>
<a href="https://aider.chat/docs/install.html">
<img src="https://img.shields.io/badge/Read-Docs-green.svg"/>
</a>
</p>
## Getting started
<!--[[[cog
# We can't "include" here.
# Because this page is rendered by GitHub as the repo README
cog.out(open("aider/website/_includes/get-started.md").read())
from scripts.homepage import get_badges_md
text = get_badges_md()
cog.out(text)
]]]-->
You can get started quickly like this:
```
python -m pip install aider-chat
# Change directory into a git repo
cd /to/your/git/repo
# Work with Claude 3.5 Sonnet on your repo
export ANTHROPIC_API_KEY=your-key-goes-here
aider
# Work with GPT-4o on your repo
export OPENAI_API_KEY=your-key-goes-here
aider
```
<!--[[[end]]]-->
See the
[installation instructions](https://aider.chat/docs/install.html)
and other
[documentation](https://aider.chat/docs/usage.html)
for more details.
<a href="https://github.com/Aider-AI/aider/stargazers"><img alt="GitHub Stars" title="Total number of GitHub stars the Aider project has received"
src="https://img.shields.io/github/stars/Aider-AI/aider?style=flat-square&logo=github&color=f1c40f&labelColor=555555"/></a>
<a href="https://pypi.org/project/aider-chat/"><img alt="PyPI Downloads" title="Total number of installations via pip from PyPI"
src="https://img.shields.io/badge/📦%20Installs-1.7M-2ecc71?style=flat-square&labelColor=555555"/></a>
<img alt="Tokens per week" title="Number of tokens processed weekly by Aider users"
src="https://img.shields.io/badge/📈%20Tokens%2Fweek-15B-3498db?style=flat-square&labelColor=555555"/>
<a href="https://openrouter.ai/"><img alt="OpenRouter Ranking" title="Aider's ranking among applications on the OpenRouter platform"
src="https://img.shields.io/badge/🏆%20OpenRouter-Top%2020-9b59b6?style=flat-square&labelColor=555555"/></a>
<a href="https://aider.chat/HISTORY.html"><img alt="Singularity" title="Percentage of the new code in Aider's last release written by Aider itself"
src="https://img.shields.io/badge/🔄%20Singularity-65%25-e74c3c?style=flat-square&labelColor=555555"/></a>
<!--[[[end]]]-->
</p>
## Features
- Run aider with the files you want to edit: `aider <file1> <file2> ...`
- Ask for changes:
- Add new features or test cases.
- Describe a bug.
- Paste in an error message or or GitHub issue URL.
- Refactor code.
- Update docs.
- Aider will edit your files to complete your request.
- Aider [automatically git commits](https://aider.chat/docs/git.html) changes with a sensible commit message.
- Aider works with [most popular languages](https://aider.chat/docs/languages.html): python, javascript, typescript, php, html, css, and more...
- Aider works best with GPT-4o & Claude 3.5 Sonnet and can [connect to almost any LLM](https://aider.chat/docs/llms.html).
- Aider can edit multiple files at once for complex requests.
- Aider uses a [map of your entire git repo](https://aider.chat/docs/repomap.html), which helps it work well in larger codebases.
- Edit files in your editor while chatting with aider,
and it will always use the latest version.
Pair program with AI.
- [Add images to the chat](https://aider.chat/docs/usage/images-urls.html) (GPT-4o, Claude 3.5 Sonnet, etc).
- [Add URLs to the chat](https://aider.chat/docs/usage/images-urls.html) and aider will read their content.
- [Code with your voice](https://aider.chat/docs/usage/voice.html).
### [Cloud and local LLMs](https://aider.chat/docs/llms.html)
<a href="https://aider.chat/docs/llms.html"><img src="https://aider.chat/assets/icons/brain.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Aider works best with Claude 3.7 Sonnet, DeepSeek R1 & Chat V3, OpenAI o1, o3-mini & GPT-4o, but can connect to almost any LLM, including local models.
## Top tier performance
<br>
[Aider has one of the top scores on SWE Bench](https://aider.chat/2024/06/02/main-swe-bench.html).
SWE Bench is a challenging software engineering benchmark where aider
solved *real* GitHub issues from popular open source
projects like django, scikitlearn, matplotlib, etc.
### [Maps your codebase](https://aider.chat/docs/repomap.html)
## More info
<a href="https://aider.chat/docs/repomap.html"><img src="https://aider.chat/assets/icons/map-outline.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Aider makes a map of your entire codebase, which helps it work well in larger projects.
- [Documentation](https://aider.chat/)
- [Installation](https://aider.chat/docs/install.html)
- [Usage](https://aider.chat/docs/usage.html)
- [Tutorial videos](https://aider.chat/docs/usage/tutorials.html)
<br>
### [100+ code languages](https://aider.chat/docs/languages.html)
<a href="https://aider.chat/docs/languages.html"><img src="https://aider.chat/assets/icons/code-tags.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Aider works with most popular programming languages: python, javascript, rust, ruby, go, cpp, php, html, css, and dozens more.
<br>
### [Git integration](https://aider.chat/docs/git.html)
<a href="https://aider.chat/docs/git.html"><img src="https://aider.chat/assets/icons/source-branch.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Aider automatically commits changes with sensible commit messages. Use familiar git tools to easily diff, manage and undo AI changes.
<br>
### [Use in your IDE](https://aider.chat/docs/usage/watch.html)
<a href="https://aider.chat/docs/usage/watch.html"><img src="https://aider.chat/assets/icons/monitor.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Use aider from within your favorite IDE or editor. Ask for changes by adding comments to your code and aider will get to work.
<br>
### [Images & web pages](https://aider.chat/docs/usage/images-urls.html)
<a href="https://aider.chat/docs/usage/images-urls.html"><img src="https://aider.chat/assets/icons/image-multiple.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Add images and web pages to the chat to provide visual context, screenshots, reference docs, etc.
<br>
### [Voice-to-code](https://aider.chat/docs/usage/voice.html)
<a href="https://aider.chat/docs/usage/voice.html"><img src="https://aider.chat/assets/icons/microphone.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Speak with aider about your code! Request new features, test cases or bug fixes using your voice and let aider implement the changes.
<br>
### [Linting & testing](https://aider.chat/docs/usage/lint-test.html)
<a href="https://aider.chat/docs/usage/lint-test.html"><img src="https://aider.chat/assets/icons/check-all.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Automatically lint and test your code every time aider makes changes. Aider can fix problems detected by your linters and test suites.
<br>
### [Copy/paste to web chat](https://aider.chat/docs/usage/copypaste.html)
<a href="https://aider.chat/docs/usage/copypaste.html"><img src="https://aider.chat/assets/icons/content-copy.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
Work with any LLM via its web chat interface. Aider streamlines copy/pasting code context and edits back and forth with a browser.
## Getting Started
```bash
python -m pip install aider-install
aider-install
# Change directory into your codebase
cd /to/your/project
# DeepSeek
aider --model deepseek --api-key deepseek=<key>
# Claude 3.7 Sonnet
aider --model sonnet --api-key anthropic=<key>
# o3-mini
aider --model o3-mini --api-key openai=<key>
```
See the [installation instructions](https://aider.chat/docs/install.html) and [usage documentation](https://aider.chat/docs/usage.html) for more details.
## More Information
### Documentation
- [Installation Guide](https://aider.chat/docs/install.html)
- [Usage Guide](https://aider.chat/docs/usage.html)
- [Tutorial Videos](https://aider.chat/docs/usage/tutorials.html)
- [Connecting to LLMs](https://aider.chat/docs/llms.html)
- [Configuration](https://aider.chat/docs/config.html)
- [Configuration Options](https://aider.chat/docs/config.html)
- [Troubleshooting](https://aider.chat/docs/troubleshooting.html)
- [FAQ](https://aider.chat/docs/faq.html)
### Community & Resources
- [LLM Leaderboards](https://aider.chat/docs/leaderboards/)
- [GitHub](https://github.com/paul-gauthier/aider)
- [Discord](https://discord.gg/Tv2uQnR88V)
- [GitHub Repository](https://github.com/Aider-AI/aider)
- [Discord Community](https://discord.gg/Tv2uQnR88V)
- [Blog](https://aider.chat/blog/)
## Kind Words From Users
## Kind words from users
- *"The best free open source AI coding assistant."* — [IndyDevDan](https://youtu.be/YALpX8oOn78)
- *"The best AI coding assistant so far."* — [Matthew Berman](https://www.youtube.com/watch?v=df8afeb1FY8)
- *"Aider ... has easily quadrupled my coding productivity."* — [SOLAR_FIELDS](https://news.ycombinator.com/item?id=36212100)
- *"It's a cool workflow... Aider's ergonomics are perfect for me."* — [qup](https://news.ycombinator.com/item?id=38185326)
- *"It's really like having your senior developer live right in your Git repo - truly amazing!"* — [rappster](https://github.com/Aider-AI/aider/issues/124)
- *"What an amazing tool. It's incredible."* — [valyagolev](https://github.com/Aider-AI/aider/issues/6#issue-1722897858)
- *"Aider is such an astounding thing!"* — [cgrothaus](https://github.com/Aider-AI/aider/issues/82#issuecomment-1631876700)
- *"It was WAY faster than I would be getting off the ground and making the first few working versions."* — [Daniel Feldman](https://twitter.com/d_feldman/status/1662295077387923456)
- *"THANK YOU for Aider! It really feels like a glimpse into the future of coding."* — [derwiki](https://news.ycombinator.com/item?id=38205643)
- *"It's just amazing. It is freeing me to do things I felt were out my comfort zone before."* — [Dougie](https://discord.com/channels/1131200896827654144/1174002618058678323/1174084556257775656)
- *"This project is stellar."* — [funkytaco](https://github.com/Aider-AI/aider/issues/112#issuecomment-1637429008)
- *"Amazing project, definitely the best AI coding assistant I've used."* — [joshuavial](https://github.com/Aider-AI/aider/issues/84)
- *"I absolutely love using Aider ... It makes software development feel so much lighter as an experience."* — [principalideal0](https://discord.com/channels/1131200896827654144/1133421607499595858/1229689636012691468)
- *"I have been recovering from multiple shoulder surgeries ... and have used aider extensively. It has allowed me to continue productivity."* — [codeninja](https://www.reddit.com/r/OpenAI/s/nmNwkHy1zG)
- *"I am an aider addict. I'm getting so much more work done, but in less time."* — [dandandan](https://discord.com/channels/1131200896827654144/1131200896827654149/1135913253483069470)
- *"After wasting $100 on tokens trying to find something better, I'm back to Aider. It blows everything else out of the water hands down, there's no competition whatsoever."* — [SystemSculpt](https://discord.com/channels/1131200896827654144/1131200896827654149/1178736602797846548)
- *"Aider is amazing, coupled with Sonnet 3.5 it's quite mind blowing."* — [Josh Dingus](https://discord.com/channels/1131200896827654144/1133060684540813372/1262374225298198548)
- *"Hands down, this is the best AI coding assistant tool so far."* — [IndyDevDan](https://www.youtube.com/watch?v=MPYFPvxfGZs)
- *"[Aider] changed my daily coding workflows. It's mind-blowing how a single Python application can change your life."* — [maledorak](https://discord.com/channels/1131200896827654144/1131200896827654149/1258453375620747264)
- *"Best agent for actual dev work in existing codebases."* — [Nick Dobos](https://twitter.com/NickADobos/status/1690408967963652097?s=20)
- *"One of my favorite pieces of software. Blazing trails on new paradigms!"* — [Chris Wall](https://x.com/chris65536/status/1905053299251798432)
- *"Aider has been revolutionary for me and my work."* — [Starry Hope](https://x.com/starryhopeblog/status/1904985812137132056)
- *"Try aider! One of the best ways to vibe code."* — [Chris Wall](https://x.com/Chris65536/status/1905053418961391929)
- *"Aider is hands down the best. And it's free and opensource."* — [AriyaSavakaLurker](https://www.reddit.com/r/ChatGPTCoding/comments/1ik16y6/whats_your_take_on_aider/mbip39n/)
- *"Aider is also my best friend."* — [jzn21](https://www.reddit.com/r/ChatGPTCoding/comments/1heuvuo/aider_vs_cline_vs_windsurf_vs_cursor/m27dcnb/)
- *"Try Aider, it's worth it."* — [jorgejhms](https://www.reddit.com/r/ChatGPTCoding/comments/1heuvuo/aider_vs_cline_vs_windsurf_vs_cursor/m27cp99/)
- *"I like aider :)"* — [Chenwei Cui](https://x.com/ccui42/status/1904965344999145698)
- *"Aider is the precision tool of LLM code gen. It is minimal, thoughtful and capable of surgical changes to your codebase all while keeping the developer in control."* — [Reilly Sweetland](https://x.com/rsweetland/status/1904963807237259586)
- *"Cannot believe aider vibe coded a 650 LOC feature across service and cli today in 1 shot."* - [autopoietist](https://discord.com/channels/1131200896827654144/1131200896827654149/1355675042259796101)
- *The best free open source AI coding assistant.* -- [IndyDevDan](https://youtu.be/YALpX8oOn78)
- *The best AI coding assistant so far.* -- [Matthew Berman](https://www.youtube.com/watch?v=df8afeb1FY8)
- *Aider ... has easily quadrupled my coding productivity.* -- [SOLAR_FIELDS](https://news.ycombinator.com/item?id=36212100)
- *It's a cool workflow... Aider's ergonomics are perfect for me.* -- [qup](https://news.ycombinator.com/item?id=38185326)
- *It's really like having your senior developer live right in your Git repo - truly amazing!* -- [rappster](https://github.com/paul-gauthier/aider/issues/124)
- *What an amazing tool. It's incredible.* -- [valyagolev](https://github.com/paul-gauthier/aider/issues/6#issue-1722897858)
- *Aider is such an astounding thing!* -- [cgrothaus](https://github.com/paul-gauthier/aider/issues/82#issuecomment-1631876700)
- *It was WAY faster than I would be getting off the ground and making the first few working versions.* -- [Daniel Feldman](https://twitter.com/d_feldman/status/1662295077387923456)
- *THANK YOU for Aider! It really feels like a glimpse into the future of coding.* -- [derwiki](https://news.ycombinator.com/item?id=38205643)
- *It's just amazing. It is freeing me to do things I felt were out my comfort zone before.* -- [Dougie](https://discord.com/channels/1131200896827654144/1174002618058678323/1174084556257775656)
- *This project is stellar.* -- [funkytaco](https://github.com/paul-gauthier/aider/issues/112#issuecomment-1637429008)
- *Amazing project, definitely the best AI coding assistant I've used.* -- [joshuavial](https://github.com/paul-gauthier/aider/issues/84)
- *I absolutely love using Aider ... It makes software development feel so much lighter as an experience.* -- [principalideal0](https://discord.com/channels/1131200896827654144/1133421607499595858/1229689636012691468)
- *I have been recovering from multiple shoulder surgeries ... and have used aider extensively. It has allowed me to continue productivity.* -- [codeninja](https://www.reddit.com/r/OpenAI/s/nmNwkHy1zG)
- *I am an aider addict. I'm getting so much more work done, but in less time.* -- [dandandan](https://discord.com/channels/1131200896827654144/1131200896827654149/1135913253483069470)
- *After wasting $100 on tokens trying to find something better, I'm back to Aider. It blows everything else out of the water hands down, there's no competition whatsoever.* -- [SystemSculpt](https://discord.com/channels/1131200896827654144/1131200896827654149/1178736602797846548)
- *Aider is amazing, coupled with Sonnet 3.5 its quite mind blowing.* -- [Josh Dingus](https://discord.com/channels/1131200896827654144/1133060684540813372/1262374225298198548)
- *Hands down, this is the best AI coding assistant tool so far.* -- [IndyDevDan](https://www.youtube.com/watch?v=MPYFPvxfGZs)
- *[Aider] changed my daily coding workflows. It's mind-blowing how a single Python application can change your life.* -- [maledorak](https://discord.com/channels/1131200896827654144/1131200896827654149/1258453375620747264)
- *Best agent for actual dev work in existing codebases.* -- [Nick Dobos](https://twitter.com/NickADobos/status/1690408967963652097?s=20)

View File

@@ -1,6 +1,20 @@
from packaging import version
__version__ = "0.80.1.dev"
safe_version = __version__
try:
from aider.__version__ import __version__
from aider._version import __version__
except Exception:
__version__ = "0.55.1.dev"
__version__ = safe_version + "+import"
if type(__version__) is not str:
__version__ = safe_version + "+type"
else:
try:
if version.parse(__version__) < version.parse(safe_version):
__version__ = safe_version + "+less"
except Exception:
__version__ = safe_version + "+parse"
__all__ = [__version__]

250
aider/analytics.py Normal file
View File

@@ -0,0 +1,250 @@
import json
import platform
import sys
import time
import uuid
from pathlib import Path
from mixpanel import MixpanelException
from posthog import Posthog
from aider import __version__
from aider.dump import dump # noqa: F401
from aider.models import model_info_manager
PERCENT = 10
def compute_hex_threshold(percent):
"""Convert percentage to 6-digit hex threshold.
Args:
percent: Percentage threshold (0-100)
Returns:
str: 6-digit hex threshold
"""
return format(int(0xFFFFFF * percent / 100), "06x")
def is_uuid_in_percentage(uuid_str, percent):
"""Check if a UUID string falls within the first X percent of the UUID space.
Args:
uuid_str: UUID string to test
percent: Percentage threshold (0-100)
Returns:
bool: True if UUID falls within the first X percent
"""
if not (0 <= percent <= 100):
raise ValueError("Percentage must be between 0 and 100")
if not uuid_str:
return False
# Convert percentage to hex threshold (1% = "04...", 10% = "1a...", etc)
# Using first 6 hex digits
if percent == 0:
return False
threshold = compute_hex_threshold(percent)
return uuid_str[:6] <= threshold
mixpanel_project_token = "6da9a43058a5d1b9f3353153921fb04d"
posthog_project_api_key = "phc_99T7muzafUMMZX15H8XePbMSreEUzahHbtWjy3l5Qbv"
posthog_host = "https://us.i.posthog.com"
class Analytics:
# providers
mp = None
ph = None
# saved
user_id = None
permanently_disable = None
asked_opt_in = None
# ephemeral
logfile = None
def __init__(self, logfile=None, permanently_disable=False):
self.logfile = logfile
self.get_or_create_uuid()
if self.permanently_disable or permanently_disable or not self.asked_opt_in:
self.disable(permanently_disable)
def enable(self):
if not self.user_id:
self.disable(False)
return
if self.permanently_disable:
self.disable(True)
return
if not self.asked_opt_in:
self.disable(False)
return
# self.mp = Mixpanel(mixpanel_project_token)
self.ph = Posthog(
project_api_key=posthog_project_api_key,
host=posthog_host,
on_error=self.posthog_error,
enable_exception_autocapture=True,
super_properties=self.get_system_info(), # Add system info to all events
)
def disable(self, permanently):
self.mp = None
self.ph = None
if permanently:
self.asked_opt_in = True
self.permanently_disable = True
self.save_data()
def need_to_ask(self, args_analytics):
if args_analytics is False:
return False
could_ask = not self.asked_opt_in and not self.permanently_disable
if not could_ask:
return False
if args_analytics is True:
return True
assert args_analytics is None, args_analytics
if not self.user_id:
return False
return is_uuid_in_percentage(self.user_id, PERCENT)
def get_data_file_path(self):
try:
data_file = Path.home() / ".aider" / "analytics.json"
data_file.parent.mkdir(parents=True, exist_ok=True)
return data_file
except OSError:
# If we can't create/access the directory, just disable analytics
self.disable(permanently=False)
return None
def get_or_create_uuid(self):
self.load_data()
if self.user_id:
return
self.user_id = str(uuid.uuid4())
self.save_data()
def load_data(self):
data_file = self.get_data_file_path()
if not data_file:
return
if data_file.exists():
try:
data = json.loads(data_file.read_text())
self.permanently_disable = data.get("permanently_disable")
self.user_id = data.get("uuid")
self.asked_opt_in = data.get("asked_opt_in", False)
except (json.decoder.JSONDecodeError, OSError):
self.disable(permanently=False)
def save_data(self):
data_file = self.get_data_file_path()
if not data_file:
return
data = dict(
uuid=self.user_id,
permanently_disable=self.permanently_disable,
asked_opt_in=self.asked_opt_in,
)
try:
data_file.write_text(json.dumps(data, indent=4))
except OSError:
# If we can't write the file, just disable analytics
self.disable(permanently=False)
def get_system_info(self):
return {
"python_version": sys.version.split()[0],
"os_platform": platform.system(),
"os_release": platform.release(),
"machine": platform.machine(),
"aider_version": __version__,
}
def _redact_model_name(self, model):
if not model:
return None
info = model_info_manager.get_model_from_cached_json_db(model.name)
if info:
return model.name
elif "/" in model.name:
return model.name.split("/")[0] + "/REDACTED"
return None
def posthog_error(self):
"""disable posthog if we get an error"""
print("X" * 100)
# https://github.com/PostHog/posthog-python/blob/9e1bb8c58afaa229da24c4fb576c08bb88a75752/posthog/consumer.py#L86
# https://github.com/Aider-AI/aider/issues/2532
self.ph = None
def event(self, event_name, main_model=None, **kwargs):
if not self.mp and not self.ph and not self.logfile:
return
properties = {}
if main_model:
properties["main_model"] = self._redact_model_name(main_model)
properties["weak_model"] = self._redact_model_name(main_model.weak_model)
properties["editor_model"] = self._redact_model_name(main_model.editor_model)
properties.update(kwargs)
# Handle numeric values
for key, value in properties.items():
if isinstance(value, (int, float)):
properties[key] = value
else:
properties[key] = str(value)
if self.mp:
try:
self.mp.track(self.user_id, event_name, dict(properties))
except MixpanelException:
self.mp = None # Disable mixpanel on connection errors
if self.ph:
self.ph.capture(self.user_id, event_name, dict(properties))
if self.logfile:
log_entry = {
"event": event_name,
"properties": properties,
"user_id": self.user_id,
"time": int(time.time()),
}
try:
with open(self.logfile, "a") as f:
json.dump(log_entry, f)
f.write("\n")
except OSError:
pass # Ignore OS errors when writing to logfile
if __name__ == "__main__":
dump(compute_hex_threshold(PERCENT))

View File

@@ -3,6 +3,7 @@
import argparse
import os
import sys
from pathlib import Path
import configargparse
@@ -12,10 +13,20 @@ from aider.args_formatter import (
MarkdownHelpFormatter,
YamlHelpFormatter,
)
from aider.deprecated import add_deprecated_model_args
from .dump import dump # noqa: F401
def resolve_aiderignore_path(path_str, git_root=None):
path = Path(path_str)
if path.is_absolute():
return str(path)
elif git_root:
return str(Path(git_root) / path)
return str(path)
def default_env_file(git_root):
return os.path.join(git_root, ".env") if git_root else ".env"
@@ -25,135 +36,73 @@ def get_parser(default_config_files, git_root):
description="aider is AI pair programming in your terminal",
add_config_file_help=True,
default_config_files=default_config_files,
config_file_parser_class=configargparse.YAMLConfigFileParser,
auto_env_var_prefix="AIDER_",
)
group = parser.add_argument_group("Main")
group = parser.add_argument_group("Main model")
group.add_argument(
"files", metavar="FILE", nargs="*", help="files to edit with an LLM (optional)"
)
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(
"--model",
metavar="MODEL",
default=None,
help="Specify the model to use for the main chat",
)
opus_model = "claude-3-opus-20240229"
group.add_argument(
"--opus",
action="store_const",
dest="model",
const=opus_model,
help=f"Use {opus_model} model for the main chat",
)
sonnet_model = "claude-3-5-sonnet-20240620"
group.add_argument(
"--sonnet",
action="store_const",
dest="model",
const=sonnet_model,
help=f"Use {sonnet_model} model for the main chat",
)
gpt_4_model = "gpt-4-0613"
group.add_argument(
"--4",
"-4",
action="store_const",
dest="model",
const=gpt_4_model,
help=f"Use {gpt_4_model} model for the main chat",
)
gpt_4o_model = "gpt-4o-2024-08-06"
group.add_argument(
"--4o",
action="store_const",
dest="model",
const=gpt_4o_model,
help=f"Use {gpt_4o_model} model for the main chat",
)
gpt_4o_mini_model = "gpt-4o-mini"
group.add_argument(
"--mini",
action="store_const",
dest="model",
const=gpt_4o_mini_model,
help=f"Use {gpt_4o_mini_model} model for the main chat",
)
gpt_4_turbo_model = "gpt-4-1106-preview"
group.add_argument(
"--4-turbo",
action="store_const",
dest="model",
const=gpt_4_turbo_model,
help=f"Use {gpt_4_turbo_model} model for the main chat",
)
gpt_3_model_name = "gpt-3.5-turbo"
group.add_argument(
"--35turbo",
"--35-turbo",
"--3",
"-3",
action="store_const",
dest="model",
const=gpt_3_model_name,
help=f"Use {gpt_3_model_name} model for the main chat",
)
deepseek_model = "deepseek/deepseek-coder"
group.add_argument(
"--deepseek",
action="store_const",
dest="model",
const=deepseek_model,
help=f"Use {deepseek_model} model for the main chat",
)
##########
group = parser.add_argument_group("Model Settings")
group = parser.add_argument_group("API Keys and settings")
group.add_argument(
"--models",
metavar="MODEL",
help="List known models which match the (partial) MODEL name",
"--openai-api-key",
help="Specify the OpenAI API key",
)
group.add_argument(
"--anthropic-api-key",
help="Specify the Anthropic API key",
)
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",
help="(deprecated, use --set-env OPENAI_API_TYPE=<value>)",
)
group.add_argument(
"--openai-api-version",
metavar="OPENAI_API_VERSION",
env_var="OPENAI_API_VERSION",
help="Specify the api_version",
help="(deprecated, use --set-env OPENAI_API_VERSION=<value>)",
)
group.add_argument(
"--openai-api-deployment-id",
metavar="OPENAI_API_DEPLOYMENT_ID",
env_var="OPENAI_API_DEPLOYMENT_ID",
help="Specify the deployment_id",
help="(deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=<value>)",
)
group.add_argument(
"--openai-organization-id",
metavar="OPENAI_ORGANIZATION_ID",
env_var="OPENAI_ORGANIZATION_ID",
help="Specify the OpenAI organization ID",
help="(deprecated, use --set-env OPENAI_ORGANIZATION=<value>)",
)
group.add_argument(
"--set-env",
action="append",
metavar="ENV_VAR_NAME=value",
help="Set an environment variable (to control API settings, can be used multiple times)",
default=[],
)
group.add_argument(
"--api-key",
action="append",
metavar="PROVIDER=KEY",
help=(
"Set an API key for a provider (eg: --api-key provider=<key> sets"
" PROVIDER_API_KEY=<key>)"
),
default=[],
)
group = parser.add_argument_group("Model settings")
group.add_argument(
"--list-models",
"--models",
metavar="MODEL",
help="List known models which match the (partial) MODEL name",
)
group.add_argument(
"--model-settings-file",
@@ -167,12 +116,34 @@ def get_parser(default_config_files, git_root):
default=".aider.model.metadata.json",
help="Specify a file with context window and costs for unknown models",
)
group.add_argument(
"--alias",
action="append",
metavar="ALIAS:MODEL",
help="Add a model alias (can be used multiple times)",
)
group.add_argument(
"--reasoning-effort",
type=str,
help="Set the reasoning_effort API parameter (default: not set)",
)
group.add_argument(
"--thinking-tokens",
type=str,
help="Set the thinking token budget for models that support it (default: not set)",
)
group.add_argument(
"--verify-ssl",
action=argparse.BooleanOptionalAction,
default=True,
help="Verify the SSL cert when connecting to models (default: True)",
)
group.add_argument(
"--timeout",
type=float,
default=None,
help="Timeout in seconds for API calls (default: None)",
)
group.add_argument(
"--edit-format",
"--chat-mode",
@@ -180,6 +151,19 @@ def get_parser(default_config_files, git_root):
default=None,
help="Specify what edit format the LLM should use (default depends on model)",
)
group.add_argument(
"--architect",
action="store_const",
dest="edit_format",
const="architect",
help="Use architect edit format for the main chat",
)
group.add_argument(
"--auto-accept-architect",
action=argparse.BooleanOptionalAction,
default=True,
help="Enable/disable automatic acceptance of architect changes (default: True)",
)
group.add_argument(
"--weak-model",
metavar="WEAK_MODEL",
@@ -189,6 +173,18 @@ def get_parser(default_config_files, git_root):
" depends on --model)"
),
)
group.add_argument(
"--editor-model",
metavar="EDITOR_MODEL",
default=None,
help="Specify the model to use for editor tasks (default depends on --model)",
)
group.add_argument(
"--editor-edit-format",
metavar="EDITOR_EDIT_FORMAT",
default=None,
help="Specify the edit format for the editor model (default: depends on editor model)",
)
group.add_argument(
"--show-model-warnings",
action=argparse.BooleanOptionalAction,
@@ -196,17 +192,25 @@ def get_parser(default_config_files, git_root):
help="Only work with models that have meta-data available (default: True)",
)
group.add_argument(
"--map-tokens",
type=int,
default=None,
help="Suggested number of tokens to use for repo map, use 0 to disable (default: 1024)",
"--check-model-accepts-settings",
action=argparse.BooleanOptionalAction,
default=True,
help=(
"Check if model accepts settings like reasoning_effort/thinking_tokens (default: True)"
),
)
group.add_argument(
"--map-refresh",
choices=["auto", "always", "files", "manual"],
default="auto",
help="Control how often the repo map is refreshed (default: auto)",
"--max-chat-history-tokens",
type=int,
default=None,
help=(
"Soft limit on tokens for chat history, after which summarization begins."
" If unspecified, defaults to the model's max_chat_history_tokens."
),
)
##########
group = parser.add_argument_group("Cache settings")
group.add_argument(
"--cache-prompts",
action=argparse.BooleanOptionalAction,
@@ -219,29 +223,30 @@ def get_parser(default_config_files, git_root):
default=0,
help="Number of times to ping at 5min intervals to keep prompt cache warm (default: 0)",
)
##########
group = parser.add_argument_group("Repomap settings")
group.add_argument(
"--map-tokens",
type=int,
default=None,
help="Suggested number of tokens to use for repo map, use 0 to disable",
)
group.add_argument(
"--map-refresh",
choices=["auto", "always", "files", "manual"],
default="auto",
help=(
"Control how often the repo map is refreshed. Options: auto, always, files, manual"
" (default: auto)"
),
)
group.add_argument(
"--map-multiplier-no-files",
type=float,
default=2,
help="Multiplier for map tokens when no files are specified (default: 2)",
)
group.add_argument(
"--max-chat-history-tokens",
type=int,
default=None,
help=(
"Maximum number of tokens to use for chat history. If not specified, uses the model's"
" max_chat_history_tokens."
),
)
# This is a duplicate of the argument in the preparser and is a no-op by this time of
# argument parsing, but it's here so that the help is displayed as expected.
group.add_argument(
"--env-file",
metavar="ENV_FILE",
default=default_env_file(git_root),
help="Specify the .env file to load (default: .env in git root)",
)
##########
group = parser.add_argument_group("History Files")
@@ -277,7 +282,7 @@ def get_parser(default_config_files, git_root):
)
##########
group = parser.add_argument_group("Output Settings")
group = parser.add_argument_group("Output settings")
group.add_argument(
"--dark-mode",
action="store_true",
@@ -327,12 +332,46 @@ def get_parser(default_config_files, git_root):
default="#0088ff",
help="Set the color for assistant output (default: #0088ff)",
)
group.add_argument(
"--completion-menu-color",
metavar="COLOR",
default=None,
help="Set the color for the completion menu (default: terminal's default text color)",
)
group.add_argument(
"--completion-menu-bg-color",
metavar="COLOR",
default=None,
help=(
"Set the background color for the completion menu (default: terminal's default"
" background color)"
),
)
group.add_argument(
"--completion-menu-current-color",
metavar="COLOR",
default=None,
help=(
"Set the color for the current item in the completion menu (default: terminal's default"
" background color)"
),
)
group.add_argument(
"--completion-menu-current-bg-color",
metavar="COLOR",
default=None,
help=(
"Set the background color for the current item in the completion menu (default:"
" terminal's default text color)"
),
)
group.add_argument(
"--code-theme",
default="default",
help=(
"Set the markdown code theme (default: default, other options include monokai,"
" solarized-dark, solarized-light)"
" solarized-dark, solarized-light, or a Pygments builtin style,"
" see https://pygments.org/styles for available themes)"
),
)
group.add_argument(
@@ -343,7 +382,7 @@ def get_parser(default_config_files, git_root):
)
##########
group = parser.add_argument_group("Git Settings")
group = parser.add_argument_group("Git settings")
group.add_argument(
"--git",
action=argparse.BooleanOptionalAction,
@@ -359,9 +398,11 @@ def get_parser(default_config_files, git_root):
default_aiderignore_file = (
os.path.join(git_root, ".aiderignore") if git_root else ".aiderignore"
)
group.add_argument(
"--aiderignore",
metavar="AIDERIGNORE",
type=lambda path_str: resolve_aiderignore_path(path_str, git_root),
default=default_aiderignore_file,
help="Specify the aider ignore file (default: .aiderignore in git root)",
)
@@ -407,6 +448,12 @@ def get_parser(default_config_files, git_root):
default=False,
help="Prefix all commit messages with 'aider: ' (default: False)",
)
group.add_argument(
"--git-commit-verify",
action=argparse.BooleanOptionalAction,
default=False,
help="Enable/disable git pre-commit hooks with --no-verify (default: False)",
)
group.add_argument(
"--commit",
action="store_true",
@@ -424,6 +471,18 @@ def get_parser(default_config_files, git_root):
default=False,
help="Perform a dry run without modifying files (default: False)",
)
group.add_argument(
"--skip-sanity-check-repo",
action="store_true",
help="Skip the sanity check for the git repository (default: False)",
default=False,
)
group.add_argument(
"--watch-files",
action=argparse.BooleanOptionalAction,
default=False,
help="Enable/disable watching files for ai coding comments (default: False)",
)
group = parser.add_argument_group("Fixing and committing")
group.add_argument(
"--lint",
@@ -460,42 +519,32 @@ def get_parser(default_config_files, git_root):
group.add_argument(
"--test",
action="store_true",
help="Run tests and fix problems found",
help="Run tests, fix problems found and then exit",
default=False,
)
##########
group = parser.add_argument_group("Other Settings")
group = parser.add_argument_group("Analytics")
group.add_argument(
"--file",
action="append",
metavar="FILE",
help="specify a file to edit (can be used multiple times)",
"--analytics",
action=argparse.BooleanOptionalAction,
default=None,
help="Enable/disable analytics for current session (default: random)",
)
group.add_argument(
"--read",
action="append",
metavar="FILE",
help="specify a read-only file (can be used multiple times)",
"--analytics-log",
metavar="ANALYTICS_LOG_FILE",
help="Specify a file to log analytics events",
)
group.add_argument(
"--vim",
"--analytics-disable",
action="store_true",
help="Use VI editing mode in the terminal (default: False)",
help="Permanently disable analytics",
default=False,
)
group.add_argument(
"--voice-language",
metavar="VOICE_LANGUAGE",
default="en",
help="Specify the language for voice using ISO 639-1 code (default: auto)",
)
group.add_argument(
"--version",
action="version",
version=f"%(prog)s {__version__}",
help="Show the version number and exit",
)
#########
group = parser.add_argument_group("Upgrading")
group.add_argument(
"--just-check-update",
action="store_true",
@@ -508,6 +557,12 @@ def get_parser(default_config_files, git_root):
help="Check for new aider versions on launch",
default=True,
)
group.add_argument(
"--show-release-notes",
action=argparse.BooleanOptionalAction,
help="Show release notes on first run of new version (default: None, ask user)",
default=None,
)
group.add_argument(
"--install-main-branch",
action="store_true",
@@ -522,41 +577,14 @@ def get_parser(default_config_files, git_root):
default=False,
)
group.add_argument(
"--apply",
metavar="FILE",
help="Apply the changes from the given file instead of running the chat (debug)",
)
group.add_argument(
"--yes",
action="store_true",
help="Always say yes to every confirmation",
default=None,
)
group.add_argument(
"-v",
"--verbose",
action="store_true",
help="Enable verbose output",
default=False,
)
group.add_argument(
"--show-repo-map",
action="store_true",
help="Print the repo map and exit (debug)",
default=False,
)
group.add_argument(
"--show-prompts",
action="store_true",
help="Print the system prompts and exit (debug)",
default=False,
)
group.add_argument(
"--exit",
action="store_true",
help="Do all startup activities then exit before accepting user input (debug)",
default=False,
"--version",
action="version",
version=f"%(prog)s {__version__}",
help="Show the version number and exit",
)
##########
group = parser.add_argument_group("Modes")
group.add_argument(
"--message",
"--msg",
@@ -575,11 +603,126 @@ def get_parser(default_config_files, git_root):
" (disables chat mode)"
),
)
group.add_argument(
"--gui",
"--browser",
action=argparse.BooleanOptionalAction,
help="Run aider in your browser (default: False)",
default=False,
)
group.add_argument(
"--copy-paste",
action=argparse.BooleanOptionalAction,
default=False,
help="Enable automatic copy/paste of chat between aider and web UI (default: False)",
)
group.add_argument(
"--apply",
metavar="FILE",
help="Apply the changes from the given file instead of running the chat (debug)",
)
group.add_argument(
"--apply-clipboard-edits",
action="store_true",
help="Apply clipboard contents as edits using the main model's editor format",
default=False,
)
group.add_argument(
"--exit",
action="store_true",
help="Do all startup activities then exit before accepting user input (debug)",
default=False,
)
group.add_argument(
"--show-repo-map",
action="store_true",
help="Print the repo map and exit (debug)",
default=False,
)
group.add_argument(
"--show-prompts",
action="store_true",
help="Print the system prompts and exit (debug)",
default=False,
)
##########
group = parser.add_argument_group("Voice settings")
group.add_argument(
"--voice-format",
metavar="VOICE_FORMAT",
default="wav",
choices=["wav", "mp3", "webm"],
help="Audio format for voice recording (default: wav). webm and mp3 require ffmpeg",
)
group.add_argument(
"--voice-language",
metavar="VOICE_LANGUAGE",
default="en",
help="Specify the language for voice using ISO 639-1 code (default: auto)",
)
group.add_argument(
"--voice-input-device",
metavar="VOICE_INPUT_DEVICE",
default=None,
help="Specify the input device name for voice recording",
)
######
group = parser.add_argument_group("Other settings")
group.add_argument(
"--file",
action="append",
metavar="FILE",
help="specify a file to edit (can be used multiple times)",
)
group.add_argument(
"--read",
action="append",
metavar="FILE",
help="specify a read-only file (can be used multiple times)",
)
group.add_argument(
"--vim",
action="store_true",
help="Use VI editing mode in the terminal (default: False)",
default=False,
)
group.add_argument(
"--chat-language",
metavar="CHAT_LANGUAGE",
default=None,
help="Specify the language to use in the chat (default: None, uses system settings)",
)
group.add_argument(
"--yes-always",
action="store_true",
help="Always say yes to every confirmation",
default=None,
)
group.add_argument(
"-v",
"--verbose",
action="store_true",
help="Enable verbose output",
default=False,
)
group.add_argument(
"--load",
metavar="LOAD_FILE",
help="Load and execute /commands from a file on launch",
)
group.add_argument(
"--encoding",
default="utf-8",
help="Specify the encoding for input and output (default: utf-8)",
)
group.add_argument(
"--line-endings",
choices=["platform", "lf", "crlf"],
default="platform",
help="Line endings to use when writing files (default: platform)",
)
group.add_argument(
"-c",
"--config",
@@ -590,12 +733,13 @@ def get_parser(default_config_files, git_root):
" or home directory)"
),
)
# This is a duplicate of the argument in the preparser and is a no-op by this time of
# argument parsing, but it's here so that the help is displayed as expected.
group.add_argument(
"--gui",
"--browser",
action="store_true",
help="Run aider in your browser",
default=False,
"--env-file",
metavar="ENV_FILE",
default=default_env_file(git_root),
help="Specify the .env file to load (default: .env in git root)",
)
group.add_argument(
"--suggest-shell-commands",
@@ -603,6 +747,51 @@ def get_parser(default_config_files, git_root):
default=True,
help="Enable/disable suggesting shell commands (default: True)",
)
group.add_argument(
"--fancy-input",
action=argparse.BooleanOptionalAction,
default=True,
help="Enable/disable fancy input with history and completion (default: True)",
)
group.add_argument(
"--multiline",
action=argparse.BooleanOptionalAction,
default=False,
help="Enable/disable multi-line input mode with Meta-Enter to submit (default: False)",
)
group.add_argument(
"--notifications",
action=argparse.BooleanOptionalAction,
default=False,
help=(
"Enable/disable terminal bell notifications when LLM responses are ready (default:"
" False)"
),
)
group.add_argument(
"--notifications-command",
metavar="COMMAND",
default=None,
help=(
"Specify a command to run for notifications instead of the terminal bell. If not"
" specified, a default command for your OS may be used."
),
)
group.add_argument(
"--detect-urls",
action=argparse.BooleanOptionalAction,
default=True,
help="Enable/disable detection and offering to add URLs to chat (default: True)",
)
group.add_argument(
"--editor",
help="Specify which editor to use for the /editor command",
)
##########
group = parser.add_argument_group("Deprecated model settings")
# Add deprecated model shortcut arguments
add_deprecated_model_args(parser, group)
return parser
@@ -618,7 +807,6 @@ def get_md_help():
parser.formatter_class = MarkdownHelpFormatter
return argparse.ArgumentParser.format_help(parser)
return parser.format_help()
def get_sample_yaml():
@@ -632,7 +820,6 @@ def get_sample_yaml():
parser.formatter_class = YamlHelpFormatter
return argparse.ArgumentParser.format_help(parser)
return parser.format_help()
def get_sample_dotenv():
@@ -646,7 +833,6 @@ def get_sample_dotenv():
parser.formatter_class = DotEnvFormatter
return argparse.ArgumentParser.format_help(parser)
return parser.format_help()
def main():

View File

@@ -144,8 +144,18 @@ class YamlHelpFormatter(argparse.HelpFormatter):
if default:
parts.append(f"#{switch}: {default}\n")
elif action.nargs in ("*", "+") or isinstance(action, argparse._AppendAction):
parts.append(f"#{switch}: xxx")
parts.append("## Specify multiple values like this:")
parts.append(f"#{switch}:")
parts.append("# - xxx")
parts.append("# - yyy")
parts.append("# - zzz")
else:
parts.append(f"#{switch}:\n")
if switch.endswith("color"):
parts.append(f'#{switch}: "xxx"\n')
else:
parts.append(f"#{switch}: xxx\n")
###
# parts.append(str(action))

View File

@@ -1,13 +1,17 @@
from .architect_coder import ArchitectCoder
from .ask_coder import AskCoder
from .base_coder import Coder
from .context_coder import ContextCoder
from .editblock_coder import EditBlockCoder
from .editblock_fenced_coder import EditBlockFencedCoder
from .editor_editblock_coder import EditorEditBlockCoder
from .editor_whole_coder import EditorWholeFileCoder
from .help_coder import HelpCoder
# from .single_wholefile_func_coder import SingleWholeFileFunctionCoder
from .udiff_coder import UnifiedDiffCoder
from .wholefile_coder import WholeFileCoder
# from .single_wholefile_func_coder import SingleWholeFileFunctionCoder
__all__ = [
HelpCoder,
AskCoder,
@@ -17,4 +21,8 @@ __all__ = [
WholeFileCoder,
UnifiedDiffCoder,
# SingleWholeFileFunctionCoder,
ArchitectCoder,
EditorEditBlockCoder,
EditorWholeFileCoder,
ContextCoder,
]

View File

@@ -0,0 +1,48 @@
from .architect_prompts import ArchitectPrompts
from .ask_coder import AskCoder
from .base_coder import Coder
class ArchitectCoder(AskCoder):
edit_format = "architect"
gpt_prompts = ArchitectPrompts()
auto_accept_architect = False
def reply_completed(self):
content = self.partial_response_content
if not content or not content.strip():
return
if not self.auto_accept_architect and not self.io.confirm_ask("Edit the files?"):
return
kwargs = dict()
# Use the editor_model from the main_model if it exists, otherwise use the main_model itself
editor_model = self.main_model.editor_model or self.main_model
kwargs["main_model"] = editor_model
kwargs["edit_format"] = self.main_model.editor_edit_format
kwargs["suggest_shell_commands"] = False
kwargs["map_tokens"] = 0
kwargs["total_cost"] = self.total_cost
kwargs["cache_prompts"] = False
kwargs["num_cache_warming_pings"] = 0
kwargs["summarize_from_coder"] = False
new_kwargs = dict(io=self.io, from_coder=self)
new_kwargs.update(kwargs)
editor_coder = Coder.create(**new_kwargs)
editor_coder.cur_messages = []
editor_coder.done_messages = []
if self.verbose:
editor_coder.show_announcements()
editor_coder.run(with_message=content, preproc=False)
self.move_back_cur_messages("I made those changes to the files.")
self.total_cost = editor_coder.total_cost
self.aider_commit_hashes = editor_coder.aider_commit_hashes

View File

@@ -0,0 +1,40 @@
# flake8: noqa: E501
from .base_prompts import CoderPrompts
class ArchitectPrompts(CoderPrompts):
main_system = """Act as an expert architect engineer and provide direction to your editor engineer.
Study the change request and the current code.
Describe how to modify the code to complete the request.
The editor engineer will rely solely on your instructions, so make them unambiguous and complete.
Explain all needed code changes clearly and completely, but concisely.
Just show the changes needed.
DO NOT show the entire updated function/file/etc!
Always reply to the user in {language}.
"""
example_messages = []
files_content_prefix = """I have *added these files to the chat* so you see all of their contents.
*Trust this message as the true contents of the files!*
Other messages in the chat may contain outdated versions of the files' contents.
""" # noqa: E501
files_content_assistant_reply = (
"Ok, I will use that as the true, current contents of the files."
)
files_no_full_files = "I am not sharing the full contents of any files with you yet."
files_no_full_files_with_repo_map = ""
files_no_full_files_with_repo_map_reply = ""
repo_content_prefix = """I am working with you on code in a git repository.
Here are summaries of some files present in my git repo.
If you need to see the full contents of any files to answer my questions, ask me to *add them to the chat*.
"""
system_reminder = ""

View File

@@ -6,8 +6,9 @@ from .base_prompts import CoderPrompts
class AskPrompts(CoderPrompts):
main_system = """Act as an expert code analyst.
Answer questions about the supplied code.
Always reply to the user in {language}.
Always reply to the user in the same language they are using.
Describe code changes however you like. Don't use SEARCH/REPLACE blocks!
"""
example_messages = []
@@ -17,6 +18,10 @@ Always reply to the user in the same language they are using.
Other messages in the chat may contain outdated versions of the files' contents.
""" # noqa: E501
files_content_assistant_reply = (
"Ok, I will use that as the true, current contents of the files."
)
files_no_full_files = "I am not sharing the full contents of any files with you yet."
files_no_full_files_with_repo_map = ""

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,9 @@ You NEVER leave comments describing code without implementing it!
You always COMPLETELY IMPLEMENT the needed code!
"""
overeager_prompt = """Pay careful attention to the scope of the user's request.
Do what they ask, but no more."""
example_messages = []
files_content_prefix = """I have *added these files to the chat* so you can go ahead and edit them.
@@ -22,6 +25,8 @@ You always COMPLETELY IMPLEMENT the needed code!
Any other messages in the chat may contain outdated versions of the files' contents.
""" # noqa: E501
files_content_assistant_reply = "Ok, any changes I propose will be to those files."
files_no_full_files = "I am not sharing any files that you can edit yet."
files_no_full_files_with_repo_map = """Don't try and edit any existing code without asking me to add the files to the chat!
@@ -43,3 +48,8 @@ If you need to edit any of these files, ask me to *add them to the chat* first.
read_only_files_prefix = """Here are some READ ONLY files, provided for your reference.
Do not edit these files!
"""
shell_cmd_prompt = ""
shell_cmd_reminder = ""
no_shell_cmd_prompt = ""
no_shell_cmd_reminder = ""

View File

@@ -31,10 +31,12 @@ class ChatChunks:
else:
self.add_cache_control(self.system)
if self.readonly_files:
self.add_cache_control(self.readonly_files)
else:
if self.repo:
# this will mark both the readonly_files and repomap chunk as cacheable
self.add_cache_control(self.repo)
else:
# otherwise, just cache readonly_files if there are any
self.add_cache_control(self.readonly_files)
self.add_cache_control(self.chat_files)

View File

@@ -0,0 +1,53 @@
from .base_coder import Coder
from .context_prompts import ContextPrompts
class ContextCoder(Coder):
"""Identify which files need to be edited for a given request."""
edit_format = "context"
gpt_prompts = ContextPrompts()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if not self.repo_map:
return
self.repo_map.refresh = "always"
self.repo_map.max_map_tokens *= self.repo_map.map_mul_no_files
self.repo_map.map_mul_no_files = 1.0
def reply_completed(self):
content = self.partial_response_content
if not content or not content.strip():
return True
# dump(repr(content))
current_rel_fnames = set(self.get_inchat_relative_files())
mentioned_rel_fnames = set(self.get_file_mentions(content, ignore_current=True))
# dump(current_rel_fnames)
# dump(mentioned_rel_fnames)
# dump(current_rel_fnames == mentioned_rel_fnames)
if mentioned_rel_fnames == current_rel_fnames:
return True
if self.num_reflections >= self.max_reflections - 1:
return True
self.abs_fnames = set()
for fname in mentioned_rel_fnames:
self.add_rel_fname(fname)
# dump(self.get_inchat_relative_files())
self.reflected_message = self.gpt_prompts.try_again
# mentioned_idents = self.get_ident_mentions(cur_msg_text)
# if mentioned_idents:
return True
def check_for_file_mentions(self, content):
pass

View File

@@ -0,0 +1,75 @@
# flake8: noqa: E501
from .base_prompts import CoderPrompts
class ContextPrompts(CoderPrompts):
main_system = """Act as an expert code analyst.
Understand the user's question or request, solely to determine ALL the existing sources files which will need to be modified.
Return the *complete* list of files which will need to be modified based on the user's request.
Explain why each file is needed, including names of key classes/functions/methods/variables.
Be sure to include or omit the names of files already added to the chat, based on whether they are actually needed or not.
The user will use every file you mention, regardless of your commentary.
So *ONLY* mention the names of relevant files.
If a file is not relevant DO NOT mention it.
Only return files that will need to be modified, not files that contain useful/relevant functions.
You are only to discuss EXISTING files and symbols.
Only return existing files, don't suggest the names of new files or functions that we will need to create.
Always reply to the user in {language}.
Be concise in your replies.
Return:
1. A bulleted list of files the will need to be edited, and symbols that are highly relevant to the user's request.
2. A list of classes/functions/methods/variables that are located OUTSIDE those files which will need to be understood. Just the symbols names, *NOT* file names.
# Your response *MUST* use this format:
## ALL files we need to modify, with their relevant symbols:
- alarms/buzz.py
- `Buzzer` class which can make the needed sound
- `Buzzer.buzz_buzz()` method triggers the sound
- alarms/time.py
- `Time.set_alarm(hour, minute)` to set the alarm
## Relevant symbols from OTHER files:
- AlarmManager class for setup/teardown of alarms
- SoundFactory will be used to create a Buzzer
"""
example_messages = []
files_content_prefix = """These files have been *added these files to the chat* so we can see all of their contents.
*Trust this message as the true contents of the files!*
Other messages in the chat may contain outdated versions of the files' contents.
""" # noqa: E501
files_content_assistant_reply = (
"Ok, I will use that as the true, current contents of the files."
)
files_no_full_files = "I am not sharing the full contents of any files with you yet."
files_no_full_files_with_repo_map = ""
files_no_full_files_with_repo_map_reply = ""
repo_content_prefix = """I am working with you on code in a git repository.
Here are summaries of some files present in my git repo.
If you need to see the full contents of any files to answer my questions, ask me to *add them to the chat*.
"""
system_reminder = """
NEVER RETURN CODE!
"""
try_again = """I have updated the set of files added to the chat.
Review them to decide if this is the correct set of files or if we need to add more or remove files.
If this is the right set, just return the current list of files.
Or return a smaller or larger set of files which need to be edited, with symbols that are highly relevant to the user's request.
"""

View File

@@ -35,29 +35,47 @@ class EditBlockCoder(Coder):
return edits
def apply_edits(self, edits):
def apply_edits_dry_run(self, edits):
return self.apply_edits(edits, dry_run=True)
def apply_edits(self, edits, dry_run=False):
failed = []
passed = []
updated_edits = []
for edit in edits:
path, original, updated = edit
full_path = self.abs_root_path(path)
content = self.io.read_text(full_path)
new_content = do_replace(full_path, content, original, updated, self.fence)
if not new_content:
new_content = None
if Path(full_path).exists():
content = self.io.read_text(full_path)
new_content = do_replace(full_path, content, original, updated, self.fence)
# If the edit failed, and
# this is not a "create a new file" with an empty original...
# https://github.com/Aider-AI/aider/issues/2258
if not new_content and original.strip():
# try patching any of the other files in the chat
for full_path in self.abs_fnames:
content = self.io.read_text(full_path)
new_content = do_replace(full_path, content, original, updated, self.fence)
if new_content:
path = self.get_rel_fname(full_path)
break
updated_edits.append((path, original, updated))
if new_content:
self.io.write_text(full_path, new_content)
if not dry_run:
self.io.write_text(full_path, new_content)
passed.append(edit)
else:
failed.append(edit)
if dry_run:
return updated_edits
if not failed:
return
@@ -365,9 +383,13 @@ def do_replace(fname, content, before_text, after_text, fence=None):
return new_content
HEAD = "<<<<<<< SEARCH"
DIVIDER = "======="
UPDATED = ">>>>>>> REPLACE"
HEAD = r"^<{5,9} SEARCH\s*$"
DIVIDER = r"^={5,9}\s*$"
UPDATED = r"^>{5,9} REPLACE\s*$"
HEAD_ERR = "<<<<<<< SEARCH"
DIVIDER_ERR = "======="
UPDATED_ERR = ">>>>>>> REPLACE"
separators = "|".join([HEAD, DIVIDER, UPDATED])
@@ -379,6 +401,9 @@ missing_filename_err = (
" {fence[0]}"
)
# Always be willing to treat triple-backticks as a fence when searching for filenames
triple_backticks = "`" * 3
def strip_filename(filename, fence):
filename = filename.strip()
@@ -387,7 +412,7 @@ def strip_filename(filename, fence):
return
start_fence = fence[0]
if filename.startswith(start_fence):
if filename.startswith(start_fence) or filename.startswith(triple_backticks):
return
filename = filename.rstrip(":")
@@ -396,7 +421,7 @@ def strip_filename(filename, fence):
filename = filename.strip("`")
filename = filename.strip("*")
# https://github.com/paul-gauthier/aider/issues/1158
# https://github.com/Aider-AI/aider/issues/1158
# filename = filename.replace("\\_", "_")
return filename
@@ -407,6 +432,10 @@ def find_original_update_blocks(content, fence=DEFAULT_FENCE, valid_fnames=None)
i = 0
current_filename = None
head_pattern = re.compile(HEAD)
divider_pattern = re.compile(DIVIDER)
updated_pattern = re.compile(UPDATED)
while i < len(lines):
line = lines[i]
@@ -425,7 +454,7 @@ def find_original_update_blocks(content, fence=DEFAULT_FENCE, valid_fnames=None)
"```csh",
"```tcsh",
]
next_is_editblock = i + 1 < len(lines) and lines[i + 1].rstrip() == HEAD
next_is_editblock = i + 1 < len(lines) and head_pattern.match(lines[i + 1].strip())
if any(line.strip().startswith(start) for start in shell_starts) and not next_is_editblock:
shell_content = []
@@ -440,15 +469,13 @@ def find_original_update_blocks(content, fence=DEFAULT_FENCE, valid_fnames=None)
continue
# Check for SEARCH/REPLACE blocks
if line.strip() == HEAD:
if head_pattern.match(line.strip()):
try:
# if next line after HEAD exists and is DIVIDER, it's a new file
if i + 1 < len(lines) and lines[i + 1].strip() == DIVIDER:
if i + 1 < len(lines) and divider_pattern.match(lines[i + 1].strip()):
filename = find_filename(lines[max(0, i - 3) : i], fence, None)
else:
filename = find_filename(
lines[max(0, i - 3) : i], fence, valid_fnames
)
filename = find_filename(lines[max(0, i - 3) : i], fence, valid_fnames)
if not filename:
if current_filename:
@@ -460,21 +487,27 @@ def find_original_update_blocks(content, fence=DEFAULT_FENCE, valid_fnames=None)
original_text = []
i += 1
while i < len(lines) and not lines[i].strip() == DIVIDER:
while i < len(lines) and not divider_pattern.match(lines[i].strip()):
original_text.append(lines[i])
i += 1
if i >= len(lines) or lines[i].strip() != DIVIDER:
raise ValueError(f"Expected `{DIVIDER}`")
if i >= len(lines) or not divider_pattern.match(lines[i].strip()):
raise ValueError(f"Expected `{DIVIDER_ERR}`")
updated_text = []
i += 1
while i < len(lines) and not lines[i].strip() in (UPDATED, DIVIDER):
while i < len(lines) and not (
updated_pattern.match(lines[i].strip())
or divider_pattern.match(lines[i].strip())
):
updated_text.append(lines[i])
i += 1
if i >= len(lines) or lines[i].strip() not in (UPDATED, DIVIDER):
raise ValueError(f"Expected `{UPDATED}` or `{DIVIDER}`")
if i >= len(lines) or not (
updated_pattern.match(lines[i].strip())
or divider_pattern.match(lines[i].strip())
):
raise ValueError(f"Expected `{UPDATED_ERR}` or `{DIVIDER_ERR}`")
yield filename, "".join(original_text), "".join(updated_text)
@@ -516,7 +549,7 @@ def find_filename(lines, fence, valid_fnames):
filenames.append(filename)
# Only continue as long as we keep seeing fences
if not line.startswith(fence[0]):
if not line.startswith(fence[0]) and not line.startswith(triple_backticks):
break
if not filenames:

View File

@@ -11,7 +11,7 @@ Respect and use existing conventions, libraries, etc that are already present in
Take requests for changes to the supplied code.
If the request is ambiguous, ask questions.
Always reply to the user in the same language they are using.
Always reply to the user in {language}.
Once you understand the request you MUST:
@@ -27,16 +27,20 @@ You can keep asking if you then decide you need to edit more files.
All changes to files must use this *SEARCH/REPLACE block* format.
ONLY EVER RETURN CODE IN A *SEARCH/REPLACE BLOCK*!
{shell_cmd_prompt}
"""
shell_cmd_prompt = """
4. *Concisely* suggest any shell commands the user might want to run in ```bash blocks.
Just suggest shell commands this way, not example code.
Only suggest complete shell commands that area ready to execute, without placeholders.
Only suggest at most a few shell commands at a time, not more than 1-3.
Only suggest complete shell commands that are ready to execute, without placeholders.
Only suggest at most a few shell commands at a time, not more than 1-3, one per line.
Do not suggest multi-line shell commands.
All shell commands will run from the root directory of the user's project.
Use the appropriate shell based on the user's system info:
{platform}
Examples of when to suggest shell commands:
- If you changed a self-contained html file, suggest an OS-appropriate command to open a browser to view it to see the updated content.
@@ -47,6 +51,10 @@ Examples of when to suggest shell commands:
- Etc.
"""
no_shell_cmd_prompt = """
Keep in mind these details about the user's platform and environment:
{platform}
"""
example_messages = [
dict(
role="user",
@@ -149,12 +157,13 @@ Every *SEARCH/REPLACE block* must use this format:
8. The closing fence: {fence[1]}
Use the *FULL* file path, as shown to you by the user.
{quad_backtick_reminder}
Every *SEARCH* section must *EXACTLY MATCH* the existing file content, character for character, including all comments, docstrings, etc.
If the file contains code or other data wrapped/escaped in json/xml/quotes or other containers, you need to propose edits to the literal contents of the file, including the container markup.
*SEARCH/REPLACE* blocks will replace *all* matching occurrences.
Include enough lines to make the SEARCH blocks uniquely match the lines to change.
*SEARCH/REPLACE* blocks will *only* replace the first match occurrence.
Including multiple unique *SEARCH/REPLACE* blocks if needed.
Include enough lines in each SEARCH section to uniquely match each set of lines that need to change.
Keep *SEARCH/REPLACE* blocks concise.
Break large *SEARCH/REPLACE* blocks into a series of smaller blocks that each change a small portion of the file.
@@ -174,9 +183,15 @@ If you want to put code in a new file, use a *SEARCH/REPLACE block* with:
To rename files which have been added to the chat, use shell commands at the end of your response.
If the user just says something like "ok" or "go ahead" or "do that" they probably want you to make SEARCH/REPLACE blocks for the code changes you just proposed.
The user will say when they've applied your edits. If they haven't explicitly confirmed the edits have been applied, they probably want proper SEARCH/REPLACE blocks.
{lazy_prompt}
ONLY EVER RETURN CODE IN A *SEARCH/REPLACE BLOCK*!
{shell_cmd_reminder}
"""
shell_cmd_reminder = """
Examples of when to suggest shell commands:
- If you changed a self-contained html file, suggest an OS-appropriate command to open a browser to view it to see the updated content.

View File

@@ -0,0 +1,8 @@
from .editblock_coder import EditBlockCoder
from .editor_editblock_prompts import EditorEditBlockPrompts
class EditorEditBlockCoder(EditBlockCoder):
"A coder that uses search/replace blocks, focused purely on editing files."
edit_format = "editor-diff"
gpt_prompts = EditorEditBlockPrompts()

View File

@@ -0,0 +1,16 @@
# flake8: noqa: E501
from .editblock_prompts import EditBlockPrompts
class EditorEditBlockPrompts(EditBlockPrompts):
main_system = """Act as an expert software developer who edits source code.
{lazy_prompt}
Describe each change with a *SEARCH/REPLACE block* per the examples below.
All changes to files must use this *SEARCH/REPLACE block* format.
ONLY EVER RETURN CODE IN A *SEARCH/REPLACE BLOCK*!
"""
shell_cmd_prompt = ""
no_shell_cmd_prompt = ""
shell_cmd_reminder = ""

View File

@@ -0,0 +1,8 @@
from .editor_whole_prompts import EditorWholeFilePrompts
from .wholefile_coder import WholeFileCoder
class EditorWholeFileCoder(WholeFileCoder):
"A coder that operates on entire files, focused purely on editing files."
edit_format = "editor-whole"
gpt_prompts = EditorWholeFilePrompts()

View File

@@ -0,0 +1,10 @@
# flake8: noqa: E501
from .wholefile_prompts import WholeFilePrompts
class EditorWholeFilePrompts(WholeFilePrompts):
main_system = """Act as an expert software developer and make changes to source code.
{lazy_prompt}
Output a copy of each file that needs changes.
"""

View File

@@ -3,7 +3,11 @@
import sys
from pathlib import Path
import git
try:
import git
except ImportError:
git = None
from diff_match_patch import diff_match_patch
from tqdm import tqdm

View File

@@ -38,7 +38,7 @@ class SingleWholeFileFunctionCoder(Coder):
self.gpt_prompts = SingleWholeFileFunctionPrompts()
super().__init__(*args, **kwargs)
def update_cur_messages(self, edited):
def add_assistant_reply_to_cur_messages(self, edited):
if edited:
self.cur_messages += [
dict(role="assistant", content=self.gpt_prompts.redacted_edit_message)

View File

@@ -12,7 +12,7 @@ Respect and use existing conventions, libraries, etc that are already present in
Take requests for changes to the supplied code.
If the request is ambiguous, ask questions.
Always reply to the user in the same language they are using.
Always reply to the user in {language}.
For each file that needs to be changed, write out the changes similar to a unified diff like `diff -U0` would produce.
"""

View File

@@ -17,10 +17,10 @@ class WholeFileCoder(Coder):
try:
return self.get_edits(mode="diff")
except ValueError:
return self.get_multi_response_content()
return self.get_multi_response_content_in_progress()
def get_edits(self, mode="update"):
content = self.get_multi_response_content()
content = self.get_multi_response_content_in_progress()
chat_files = self.get_inchat_relative_files()
@@ -58,6 +58,8 @@ class WholeFileCoder(Coder):
fname = fname.strip("*") # handle **filename.py**
fname = fname.rstrip(":")
fname = fname.strip("`")
fname = fname.lstrip("#")
fname = fname.strip()
# Issue #1232
if len(fname) > 250:

View File

@@ -49,7 +49,7 @@ class WholeFileFunctionCoder(Coder):
self.gpt_prompts = WholeFileFunctionPrompts()
super().__init__(*args, **kwargs)
def update_cur_messages(self, edited):
def add_assistant_reply_to_cur_messages(self, edited):
if edited:
self.cur_messages += [
dict(role="assistant", content=self.gpt_prompts.redacted_edit_message)

View File

@@ -8,7 +8,7 @@ class WholeFilePrompts(CoderPrompts):
Take requests for changes to the supplied code.
If the request is ambiguous, ask questions.
Always reply to the user in the same language they are using.
Always reply to the user in {language}.
{lazy_prompt}
Once you understand the request you MUST:
@@ -52,7 +52,7 @@ path/to/filename.js
{fence[1]}
Every *file listing* MUST use this format:
- First line: the filename with any originally provided path
- First line: the filename with any originally provided path; no extra markup, punctuation, comments, etc. **JUST** the filename with path.
- Second line: opening {fence[0]}
- ... entire content of the file ...
- Final line: closing {fence[1]}

View File

@@ -1,17 +1,23 @@
import glob
import os
import re
import subprocess
import sys
import tempfile
from collections import OrderedDict
from os.path import expanduser
from pathlib import Path
import pyperclip
from PIL import Image, ImageGrab
from prompt_toolkit.completion import Completion, PathCompleter
from prompt_toolkit.document import Document
from aider import models, prompts, voice
from aider.editor import pipe_editor
from aider.format_settings import format_settings
from aider.help import Help, install_help_extra
from aider.io import CommandCompletionException
from aider.llm import litellm
from aider.repo import ANY_GIT_ERROR
from aider.run_cmd import run_cmd
@@ -22,8 +28,9 @@ from .dump import dump # noqa: F401
class SwitchCoder(Exception):
def __init__(self, **kwargs):
def __init__(self, placeholder=None, **kwargs):
self.kwargs = kwargs
self.placeholder = placeholder
class Commands:
@@ -38,10 +45,23 @@ class Commands:
verify_ssl=self.verify_ssl,
args=self.args,
parser=self.parser,
verbose=self.verbose,
editor=self.editor,
)
def __init__(
self, io, coder, voice_language=None, verify_ssl=True, args=None, parser=None, verbose=False
self,
io,
coder,
voice_language=None,
voice_input_device=None,
voice_format=None,
verify_ssl=True,
args=None,
parser=None,
verbose=False,
editor=None,
original_read_only_fnames=None,
):
self.io = io
self.coder = coder
@@ -54,14 +74,58 @@ class Commands:
voice_language = None
self.voice_language = voice_language
self.voice_format = voice_format
self.voice_input_device = voice_input_device
self.help = None
self.editor = editor
# Store the original read-only filenames provided via args.read
self.original_read_only_fnames = set(original_read_only_fnames or [])
def cmd_model(self, args):
"Switch to a new LLM"
"Switch the Main Model to a new LLM"
model_name = args.strip()
model = models.Model(model_name)
model = models.Model(
model_name,
editor_model=self.coder.main_model.editor_model.name,
weak_model=self.coder.main_model.weak_model.name,
)
models.sanity_check_models(self.io, model)
# Check if the current edit format is the default for the old model
old_model_edit_format = self.coder.main_model.edit_format
current_edit_format = self.coder.edit_format
new_edit_format = current_edit_format
if current_edit_format == old_model_edit_format:
# If the user was using the old model's default, switch to the new model's default
new_edit_format = model.edit_format
raise SwitchCoder(main_model=model, edit_format=new_edit_format)
def cmd_editor_model(self, args):
"Switch the Editor Model to a new LLM"
model_name = args.strip()
model = models.Model(
self.coder.main_model.name,
editor_model=model_name,
weak_model=self.coder.main_model.weak_model.name,
)
models.sanity_check_models(self.io, model)
raise SwitchCoder(main_model=model)
def cmd_weak_model(self, args):
"Switch the Weak Model to a new LLM"
model_name = args.strip()
model = models.Model(
self.coder.main_model.name,
editor_model=self.coder.main_model.editor_model.name,
weak_model=model_name,
)
models.sanity_check_models(self.io, model)
raise SwitchCoder(main_model=model)
@@ -87,6 +151,17 @@ class Commands:
("help", "Get help about using aider (usage, config, troubleshoot)."),
("ask", "Ask questions about your code without making any changes."),
("code", "Ask for changes to your code (using the best edit format)."),
(
"architect",
(
"Work with an architect model to design code changes, and an editor to make"
" them."
),
),
(
"context",
"Automatically identify which files will need to be edited.",
),
]
)
@@ -135,7 +210,7 @@ class Commands:
else:
self.io.tool_output("Please provide a partial model name to search for.")
def cmd_web(self, args):
def cmd_web(self, args, return_content=False):
"Scrape a webpage, convert to markdown and send in a message"
url = args.strip()
@@ -154,15 +229,28 @@ class Commands:
)
content = self.scraper.scrape(url) or ""
content = f"{url}:\n\n" + content
content = f"Here is the content of {url}:\n\n" + content
if return_content:
return content
self.io.tool_output("... done.")
self.io.tool_output("... added to chat.")
return content
self.coder.cur_messages += [
dict(role="user", content=content),
dict(role="assistant", content="Ok."),
]
def is_command(self, inp):
return inp[0] in "/!"
def get_raw_completions(self, cmd):
assert cmd.startswith("/")
cmd = cmd[1:]
cmd = cmd.replace("-", "_")
raw_completer = getattr(self, f"completions_raw_{cmd}", None)
return raw_completer
def get_completions(self, cmd):
assert cmd.startswith("/")
cmd = cmd[1:]
@@ -211,6 +299,7 @@ class Commands:
def run(self, inp):
if inp.startswith("!"):
self.coder.event("command_run")
return self.do_run("run", inp[1:])
res = self.matching_commands(inp)
@@ -218,9 +307,13 @@ class Commands:
return
matching_commands, first_word, rest_inp = res
if len(matching_commands) == 1:
return self.do_run(matching_commands[0][1:], rest_inp)
command = matching_commands[0][1:]
self.coder.event(f"command_{command}")
return self.do_run(command, rest_inp)
elif first_word in matching_commands:
return self.do_run(first_word[1:], rest_inp)
command = first_word[1:]
self.coder.event(f"command_{command}")
return self.do_run(command, rest_inp)
elif len(matching_commands) > 1:
self.io.tool_error(f"Ambiguous command: {', '.join(matching_commands)}")
else:
@@ -310,7 +403,21 @@ class Commands:
def _drop_all_files(self):
self.coder.abs_fnames = set()
self.coder.abs_read_only_fnames = set()
# When dropping all files, keep those that were originally provided via args.read
if self.original_read_only_fnames:
# Keep only the original read-only files
to_keep = set()
for abs_fname in self.coder.abs_read_only_fnames:
rel_fname = self.coder.get_rel_fname(abs_fname)
if (
abs_fname in self.original_read_only_fnames
or rel_fname in self.original_read_only_fnames
):
to_keep.add(abs_fname)
self.coder.abs_read_only_fnames = to_keep
else:
self.coder.abs_read_only_fnames = set()
def _clear_chat_history(self):
self.coder.done_messages = []
@@ -359,6 +466,7 @@ class Commands:
fence = "`" * 3
file_res = []
# files
for fname in self.coder.abs_fnames:
relative_fname = self.coder.get_rel_fname(fname)
@@ -369,7 +477,7 @@ class Commands:
# approximate
content = f"{relative_fname}\n{fence}\n" + content + "{fence}\n"
tokens = self.coder.main_model.token_count(content)
res.append((tokens, f"{relative_fname}", "/drop to remove"))
file_res.append((tokens, f"{relative_fname}", "/drop to remove"))
# read-only files
for fname in self.coder.abs_read_only_fnames:
@@ -379,7 +487,10 @@ class Commands:
# approximate
content = f"{relative_fname}\n{fence}\n" + content + "{fence}\n"
tokens = self.coder.main_model.token_count(content)
res.append((tokens, f"{relative_fname} (read-only)", "/drop to remove"))
file_res.append((tokens, f"{relative_fname} (read-only)", "/drop to remove"))
file_res.sort()
res.extend(file_res)
self.io.tool_output(
f"Approximate context window usage for {self.coder.main_model.name}, in tokens:"
@@ -556,22 +667,79 @@ class Commands:
self.io.tool_output(f"Diff since {commit_before_message[:7]}...")
if self.coder.pretty:
run_cmd(f"git diff {commit_before_message}")
return
diff = self.coder.repo.diff_commits(
self.coder.pretty,
commit_before_message,
"HEAD",
)
# don't use io.tool_output() because we don't want to log or further colorize
print(diff)
self.io.print(diff)
def quote_fname(self, fname):
if " " in fname and '"' not in fname:
fname = f'"{fname}"'
return fname
def completions_read_only(self):
return self.completions_add()
def completions_raw_read_only(self, document, complete_event):
# Get the text before the cursor
text = document.text_before_cursor
# Skip the first word and the space after it
after_command = text.split()[-1]
# Create a new Document object with the text after the command
new_document = Document(after_command, cursor_position=len(after_command))
def get_paths():
return [self.coder.root] if self.coder.root else None
path_completer = PathCompleter(
get_paths=get_paths,
only_directories=False,
expanduser=True,
)
# Adjust the start_position to replace all of 'after_command'
adjusted_start_position = -len(after_command)
# Collect all completions
all_completions = []
# Iterate over the completions and modify them
for completion in path_completer.get_completions(new_document, complete_event):
quoted_text = self.quote_fname(after_command + completion.text)
all_completions.append(
Completion(
text=quoted_text,
start_position=adjusted_start_position,
display=completion.display,
style=completion.style,
selected_style=completion.selected_style,
)
)
# Add completions from the 'add' command
add_completions = self.completions_add()
for completion in add_completions:
if after_command in completion:
all_completions.append(
Completion(
text=completion,
start_position=adjusted_start_position,
display=completion,
)
)
# Sort all completions based on their text
sorted_completions = sorted(all_completions, key=lambda c: c.text)
# Yield the sorted completions
for completion in sorted_completions:
yield completion
def completions_add(self):
files = set(self.coder.get_all_relative_files())
@@ -589,7 +757,7 @@ class Commands:
else:
try:
raw_matched_files = list(Path(self.coder.root).glob(pattern))
except IndexError:
except (IndexError, AttributeError):
raw_matched_files = []
except ValueError as err:
self.io.tool_error(f"Error matching {pattern}: {err}")
@@ -654,12 +822,13 @@ class Commands:
if self.io.confirm_ask(f"No files matched '{word}'. Do you want to create {fname}?"):
try:
fname.parent.mkdir(parents=True, exist_ok=True)
fname.touch()
all_matched_files.add(str(fname))
except OSError as e:
self.io.tool_error(f"Error creating file {fname}: {e}")
for matched_file in all_matched_files:
for matched_file in sorted(all_matched_files):
abs_file_path = self.coder.abs_root_path(matched_file)
if not abs_file_path.startswith(self.coder.root) and not is_image_file(matched_file):
@@ -668,8 +837,13 @@ class Commands:
)
continue
if self.coder.repo and self.coder.repo.git_ignored_file(matched_file):
self.io.tool_error(f"Can't add {matched_file} which is in gitignore")
continue
if abs_file_path in self.coder.abs_fnames:
self.io.tool_warning(f"{matched_file} is already in the chat")
self.io.tool_error(f"{matched_file} is already in the chat as an editable file")
continue
elif abs_file_path in self.coder.abs_read_only_fnames:
if self.coder.repo and self.coder.repo.path_in_repo(matched_file):
self.coder.abs_read_only_fnames.remove(abs_file_path)
@@ -682,7 +856,9 @@ class Commands:
f"Cannot add {matched_file} as it's not part of the repository"
)
else:
if is_image_file(matched_file) and not self.coder.main_model.accepts_images:
if is_image_file(matched_file) and not self.coder.main_model.info.get(
"supports_vision"
):
self.io.tool_error(
f"Cannot add image file {matched_file} as the"
f" {self.coder.main_model.name} does not support images."
@@ -693,7 +869,8 @@ class Commands:
self.io.tool_error(f"Unable to read {matched_file}")
else:
self.coder.abs_fnames.add(abs_file_path)
self.io.tool_output(f"Added {matched_file} to the chat")
fname = self.coder.get_rel_fname(abs_file_path)
self.io.tool_output(f"Added {fname} to the chat")
self.coder.check_added_files()
def completions_drop(self):
@@ -707,7 +884,12 @@ class Commands:
"Remove files from the chat session to free up context space"
if not args.strip():
self.io.tool_output("Dropping all files from the chat session.")
if self.original_read_only_fnames:
self.io.tool_output(
"Dropping all files from the chat session except originally read-only files."
)
else:
self.io.tool_output("Dropping all files from the chat session.")
self._drop_all_files()
return
@@ -716,15 +898,33 @@ class Commands:
# Expand tilde in the path
expanded_word = os.path.expanduser(word)
# Handle read-only files separately, without glob_filtered_to_repo
read_only_matched = [f for f in self.coder.abs_read_only_fnames if expanded_word in f]
# Handle read-only files with substring matching and samefile check
read_only_matched = []
for f in self.coder.abs_read_only_fnames:
if expanded_word in f:
read_only_matched.append(f)
continue
if read_only_matched:
for matched_file in read_only_matched:
self.coder.abs_read_only_fnames.remove(matched_file)
self.io.tool_output(f"Removed read-only file {matched_file} from the chat")
# Try samefile comparison for relative paths
try:
abs_word = os.path.abspath(expanded_word)
if os.path.samefile(abs_word, f):
read_only_matched.append(f)
except (FileNotFoundError, OSError):
continue
matched_files = self.glob_filtered_to_repo(expanded_word)
for matched_file in read_only_matched:
self.coder.abs_read_only_fnames.remove(matched_file)
self.io.tool_output(f"Removed read-only file {matched_file} from the chat")
# For editable files, use glob if word contains glob chars, otherwise use substring
if any(c in expanded_word for c in "*?[]"):
matched_files = self.glob_filtered_to_repo(expanded_word)
else:
# Use substring matching like we do for read-only files
matched_files = [
self.coder.get_rel_fname(f) for f in self.coder.abs_fnames if expanded_word in f
]
if not matched_files:
matched_files.append(expanded_word)
@@ -736,7 +936,7 @@ class Commands:
self.io.tool_output(f"Removed {matched_file} from the chat")
def cmd_git(self, args):
"Run a git command"
"Run a git command (output excluded from chat)"
combined_output = None
try:
args = "git " + args
@@ -784,54 +984,53 @@ class Commands:
def cmd_run(self, args, add_on_nonzero_exit=False):
"Run a shell command and optionally add the output to the chat (alias: !)"
exit_status, combined_output = run_cmd(
args, verbose=self.verbose, error_print=self.io.tool_error
args, verbose=self.verbose, error_print=self.io.tool_error, cwd=self.coder.root
)
instructions = None
if combined_output is None:
return
# Calculate token count of output
token_count = self.coder.main_model.token_count(combined_output)
k_tokens = token_count / 1000
if add_on_nonzero_exit:
add = exit_status != 0
else:
self.io.tool_output()
response = self.io.prompt_ask(
"Add the output to the chat?\n(Y)es/(n)o/message with instructions:",
).strip()
self.io.tool_output()
if response.lower() in ["yes", "y"]:
add = True
elif response.lower() in ["no", "n"]:
add = False
else:
add = True
instructions = response
if response.strip():
self.io.user_input(response, log_only=True)
self.io.add_to_input_history(response)
add = self.io.confirm_ask(f"Add {k_tokens:.1f}k tokens of command output to the chat?")
if add:
for line in combined_output.splitlines():
self.io.tool_output(line, log_only=True)
num_lines = len(combined_output.strip().splitlines())
line_plural = "line" if num_lines == 1 else "lines"
self.io.tool_output(f"Added {num_lines} {line_plural} of output to the chat.")
msg = prompts.run_output.format(
command=args,
output=combined_output,
)
if instructions:
msg = instructions + "\n\n" + msg
self.coder.cur_messages += [
dict(role="user", content=msg),
dict(role="assistant", content="Ok."),
]
return msg
if add_on_nonzero_exit and exit_status != 0:
# Return the formatted output message for test failures
return msg
elif add and exit_status != 0:
self.io.placeholder = "What's wrong? Fix"
# Return None if output wasn't added or command succeeded
return None
def cmd_exit(self, args):
"Exit the application"
self.coder.event("exit", reason="/exit")
sys.exit()
def cmd_quit(self, args):
"Exit the application"
sys.exit()
self.cmd_exit(args)
def cmd_ls(self, args):
"List all known files and indicate which are included in the chat session"
@@ -895,7 +1094,8 @@ class Commands:
self.basic_help()
return
from aider.coders import Coder
self.coder.event("interactive help")
from aider.coders.base_coder import Coder
if not self.help:
res = install_help_extra(self.io)
@@ -938,20 +1138,40 @@ class Commands:
show_announcements=False,
)
def completions_ask(self):
raise CommandCompletionException()
def completions_code(self):
raise CommandCompletionException()
def completions_architect(self):
raise CommandCompletionException()
def completions_context(self):
raise CommandCompletionException()
def cmd_ask(self, args):
"Ask questions about the code base without editing any files"
"""Ask questions about the code base without editing any files. If no prompt provided, switches to ask mode.""" # noqa
return self._generic_chat_command(args, "ask")
def cmd_code(self, args):
"Ask for changes to your code"
"""Ask for changes to your code. If no prompt provided, switches to code mode.""" # noqa
return self._generic_chat_command(args, self.coder.main_model.edit_format)
def _generic_chat_command(self, args, edit_format):
if not args.strip():
self.io.tool_error(f"Please provide a question or topic for the {edit_format} chat.")
return
def cmd_architect(self, args):
"""Enter architect/editor mode using 2 different models. If no prompt provided, switches to architect/editor mode.""" # noqa
return self._generic_chat_command(args, "architect")
from aider.coders import Coder
def cmd_context(self, args):
"""Enter context mode to see surrounding code context. If no prompt provided, switches to context mode.""" # noqa
return self._generic_chat_command(args, "context", placeholder=args.strip() or None)
def _generic_chat_command(self, args, edit_format, placeholder=None):
if not args.strip():
# Switch to the corresponding chat mode if no args provided
return self.cmd_chat_mode(edit_format)
from aider.coders.base_coder import Coder
coder = Coder.create(
io=self.io,
@@ -963,11 +1183,13 @@ class Commands:
user_msg = args
coder.run(user_msg)
# Use the provided placeholder if any
raise SwitchCoder(
edit_format=self.coder.edit_format,
summarize_from_coder=False,
from_coder=coder,
show_announcements=False,
placeholder=placeholder,
)
def get_help_md(self):
@@ -998,46 +1220,27 @@ class Commands:
self.io.tool_error("To use /voice you must provide an OpenAI API key.")
return
try:
self.voice = voice.Voice()
self.voice = voice.Voice(
audio_format=self.voice_format or "wav", device_name=self.voice_input_device
)
except voice.SoundDeviceError:
self.io.tool_error(
"Unable to import `sounddevice` and/or `soundfile`, is portaudio installed?"
)
return
history_iter = self.io.get_input_history()
history = []
size = 0
for line in history_iter:
if line.startswith("/"):
continue
if line in history:
continue
if size + len(line) > 1024:
break
size += len(line)
history.append(line)
history.reverse()
history = "\n".join(history)
try:
text = self.voice.record_and_transcribe(history, language=self.voice_language)
text = self.voice.record_and_transcribe(None, language=self.voice_language)
except litellm.OpenAIError as err:
self.io.tool_error(f"Unable to use OpenAI whisper model: {err}")
return
if text:
self.io.add_to_input_history(text)
print()
self.io.user_input(text, log_only=False)
print()
self.io.placeholder = text
return text
def cmd_clipboard(self, args):
"Add image/text from the clipboard to the chat (optionally provide a name for the image)"
def cmd_paste(self, args):
"""Paste image/text from the clipboard into the chat.\
Optionally provide a name for the image."""
try:
# Check for image first
image = ImageGrab.grabclipboard()
@@ -1086,35 +1289,83 @@ class Commands:
self.io.tool_error(f"Error processing clipboard content: {e}")
def cmd_read_only(self, args):
"Add files to the chat that are for reference, not to be edited"
"Add files to the chat that are for reference only, or turn added files to read-only"
if not args.strip():
self.io.tool_error("Please provide filenames to read.")
# Convert all files in chat to read-only
for fname in list(self.coder.abs_fnames):
self.coder.abs_fnames.remove(fname)
self.coder.abs_read_only_fnames.add(fname)
rel_fname = self.coder.get_rel_fname(fname)
self.io.tool_output(f"Converted {rel_fname} to read-only")
return
filenames = parse_quoted_filenames(args)
for word in filenames:
# Expand the home directory if the path starts with "~"
expanded_path = os.path.expanduser(word)
abs_path = self.coder.abs_root_path(expanded_path)
all_paths = []
if not os.path.exists(abs_path):
self.io.tool_error(f"File not found: {abs_path}")
continue
# First collect all expanded paths
for pattern in filenames:
expanded_pattern = expanduser(pattern)
if os.path.isabs(expanded_pattern):
# For absolute paths, glob it
matches = list(glob.glob(expanded_pattern))
else:
# For relative paths and globs, use glob from the root directory
matches = list(Path(self.coder.root).glob(expanded_pattern))
if not os.path.isfile(abs_path):
self.io.tool_error(f"Not a file: {abs_path}")
continue
if not matches:
self.io.tool_error(f"No matches found for: {pattern}")
else:
all_paths.extend(matches)
if abs_path in self.coder.abs_fnames:
self.io.tool_error(f"{word} is already in the chat as an editable file")
continue
# Then process them in sorted order
for path in sorted(all_paths):
abs_path = self.coder.abs_root_path(path)
if os.path.isfile(abs_path):
self._add_read_only_file(abs_path, path)
elif os.path.isdir(abs_path):
self._add_read_only_directory(abs_path, path)
else:
self.io.tool_error(f"Not a file or directory: {abs_path}")
if abs_path in self.coder.abs_read_only_fnames:
self.io.tool_error(f"{word} is already in the chat as a read-only file")
continue
def _add_read_only_file(self, abs_path, original_name):
if is_image_file(original_name) and not self.coder.main_model.info.get("supports_vision"):
self.io.tool_error(
f"Cannot add image file {original_name} as the"
f" {self.coder.main_model.name} does not support images."
)
return
if abs_path in self.coder.abs_read_only_fnames:
self.io.tool_error(f"{original_name} is already in the chat as a read-only file")
return
elif abs_path in self.coder.abs_fnames:
self.coder.abs_fnames.remove(abs_path)
self.coder.abs_read_only_fnames.add(abs_path)
self.io.tool_output(f"Added {word} to read-only files.")
self.io.tool_output(
f"Moved {original_name} from editable to read-only files in the chat"
)
else:
self.coder.abs_read_only_fnames.add(abs_path)
self.io.tool_output(f"Added {original_name} to read-only files.")
def _add_read_only_directory(self, abs_path, original_name):
added_files = 0
for root, _, files in os.walk(abs_path):
for file in files:
file_path = os.path.join(root, file)
if (
file_path not in self.coder.abs_fnames
and file_path not in self.coder.abs_read_only_fnames
):
self.coder.abs_read_only_fnames.add(file_path)
added_files += 1
if added_files > 0:
self.io.tool_output(
f"Added {added_files} files from directory {original_name} to read-only files."
)
else:
self.io.tool_output(f"No new files added from directory {original_name}.")
def cmd_map(self, args):
"Print out the current repository map"
@@ -1133,7 +1384,223 @@ class Commands:
def cmd_settings(self, args):
"Print out the current settings"
settings = format_settings(self.parser, self.args)
self.io.tool_output(settings)
announcements = "\n".join(self.coder.get_announcements())
output = f"{announcements}\n{settings}"
self.io.tool_output(output)
def completions_raw_load(self, document, complete_event):
return self.completions_raw_read_only(document, complete_event)
def cmd_load(self, args):
"Load and execute commands from a file"
if not args.strip():
self.io.tool_error("Please provide a filename containing commands to load.")
return
try:
with open(args.strip(), "r", encoding=self.io.encoding, errors="replace") as f:
commands = f.readlines()
except FileNotFoundError:
self.io.tool_error(f"File not found: {args}")
return
except Exception as e:
self.io.tool_error(f"Error reading file: {e}")
return
for cmd in commands:
cmd = cmd.strip()
if not cmd or cmd.startswith("#"):
continue
self.io.tool_output(f"\nExecuting: {cmd}")
try:
self.run(cmd)
except SwitchCoder:
self.io.tool_error(
f"Command '{cmd}' is only supported in interactive mode, skipping."
)
def completions_raw_save(self, document, complete_event):
return self.completions_raw_read_only(document, complete_event)
def cmd_save(self, args):
"Save commands to a file that can reconstruct the current chat session's files"
if not args.strip():
self.io.tool_error("Please provide a filename to save the commands to.")
return
try:
with open(args.strip(), "w", encoding=self.io.encoding) as f:
f.write("/drop\n")
# Write commands to add editable files
for fname in sorted(self.coder.abs_fnames):
rel_fname = self.coder.get_rel_fname(fname)
f.write(f"/add {rel_fname}\n")
# Write commands to add read-only files
for fname in sorted(self.coder.abs_read_only_fnames):
# Use absolute path for files outside repo root, relative path for files inside
if Path(fname).is_relative_to(self.coder.root):
rel_fname = self.coder.get_rel_fname(fname)
f.write(f"/read-only {rel_fname}\n")
else:
f.write(f"/read-only {fname}\n")
self.io.tool_output(f"Saved commands to {args.strip()}")
except Exception as e:
self.io.tool_error(f"Error saving commands to file: {e}")
def cmd_multiline_mode(self, args):
"Toggle multiline mode (swaps behavior of Enter and Meta+Enter)"
self.io.toggle_multiline_mode()
def cmd_copy(self, args):
"Copy the last assistant message to the clipboard"
all_messages = self.coder.done_messages + self.coder.cur_messages
assistant_messages = [msg for msg in reversed(all_messages) if msg["role"] == "assistant"]
if not assistant_messages:
self.io.tool_error("No assistant messages found to copy.")
return
last_assistant_message = assistant_messages[0]["content"]
try:
pyperclip.copy(last_assistant_message)
preview = (
last_assistant_message[:50] + "..."
if len(last_assistant_message) > 50
else last_assistant_message
)
self.io.tool_output(f"Copied last assistant message to clipboard. Preview: {preview}")
except pyperclip.PyperclipException as e:
self.io.tool_error(f"Failed to copy to clipboard: {str(e)}")
self.io.tool_output(
"You may need to install xclip or xsel on Linux, or pbcopy on macOS."
)
except Exception as e:
self.io.tool_error(f"An unexpected error occurred while copying to clipboard: {str(e)}")
def cmd_report(self, args):
"Report a problem by opening a GitHub Issue"
from aider.report import report_github_issue
announcements = "\n".join(self.coder.get_announcements())
issue_text = announcements
if args.strip():
title = args.strip()
else:
title = None
report_github_issue(issue_text, title=title, confirm=False)
def cmd_editor(self, initial_content=""):
"Open an editor to write a prompt"
user_input = pipe_editor(initial_content, suffix="md", editor=self.editor)
if user_input.strip():
self.io.set_placeholder(user_input.rstrip())
def cmd_edit(self, args=""):
"Alias for /editor: Open an editor to write a prompt"
return self.cmd_editor(args)
def cmd_think_tokens(self, args):
"Set the thinking token budget (supports formats like 8096, 8k, 10.5k, 0.5M)"
model = self.coder.main_model
if not args.strip():
# Display current value if no args are provided
formatted_budget = model.get_thinking_tokens()
if formatted_budget is None:
self.io.tool_output("Thinking tokens are not currently set.")
else:
budget = model.get_raw_thinking_tokens()
self.io.tool_output(
f"Current thinking token budget: {budget:,} tokens ({formatted_budget})."
)
return
value = args.strip()
model.set_thinking_tokens(value)
formatted_budget = model.get_thinking_tokens()
budget = model.get_raw_thinking_tokens()
self.io.tool_output(f"Set thinking token budget to {budget:,} tokens ({formatted_budget}).")
self.io.tool_output()
# Output announcements
announcements = "\n".join(self.coder.get_announcements())
self.io.tool_output(announcements)
def cmd_reasoning_effort(self, args):
"Set the reasoning effort level (values: number or low/medium/high depending on model)"
model = self.coder.main_model
if not args.strip():
# Display current value if no args are provided
reasoning_value = model.get_reasoning_effort()
if reasoning_value is None:
self.io.tool_output("Reasoning effort is not currently set.")
else:
self.io.tool_output(f"Current reasoning effort: {reasoning_value}")
return
value = args.strip()
model.set_reasoning_effort(value)
reasoning_value = model.get_reasoning_effort()
self.io.tool_output(f"Set reasoning effort to {reasoning_value}")
self.io.tool_output()
# Output announcements
announcements = "\n".join(self.coder.get_announcements())
self.io.tool_output(announcements)
def cmd_copy_context(self, args=None):
"""Copy the current chat context as markdown, suitable to paste into a web UI"""
chunks = self.coder.format_chat_chunks()
markdown = ""
# Only include specified chunks in order
for messages in [chunks.repo, chunks.readonly_files, chunks.chat_files]:
for msg in messages:
# Only include user messages
if msg["role"] != "user":
continue
content = msg["content"]
# Handle image/multipart content
if isinstance(content, list):
for part in content:
if part.get("type") == "text":
markdown += part["text"] + "\n\n"
else:
markdown += content + "\n\n"
args = args or ""
markdown += f"""
Just tell me how to edit the files to make the changes.
Don't give me back entire files.
Just show me the edits I need to make.
{args}
"""
try:
pyperclip.copy(markdown)
self.io.tool_output("Copied code context to clipboard.")
except pyperclip.PyperclipException as e:
self.io.tool_error(f"Failed to copy to clipboard: {str(e)}")
self.io.tool_output(
"You may need to install xclip or xsel on Linux, or pbcopy on macOS."
)
except Exception as e:
self.io.tool_error(f"An unexpected error occurred while copying to clipboard: {str(e)}")
def expand_subdir(file_path):
@@ -1154,11 +1621,7 @@ def parse_quoted_filenames(args):
def get_help_md():
from aider.coders import Coder
from aider.models import Model
coder = Coder(Model("gpt-3.5-turbo"), None)
md = coder.commands.get_help_md()
md = Commands(None, None).get_help_md()
return md

72
aider/copypaste.py Normal file
View File

@@ -0,0 +1,72 @@
import threading
import time
import pyperclip
class ClipboardWatcher:
"""Watches clipboard for changes and updates IO placeholder"""
def __init__(self, io, verbose=False):
self.io = io
self.verbose = verbose
self.stop_event = None
self.watcher_thread = None
self.last_clipboard = None
self.io.clipboard_watcher = self
def start(self):
"""Start watching clipboard for changes"""
self.stop_event = threading.Event()
self.last_clipboard = pyperclip.paste()
def watch_clipboard():
while not self.stop_event.is_set():
try:
current = pyperclip.paste()
if current != self.last_clipboard:
self.last_clipboard = current
self.io.interrupt_input()
self.io.placeholder = current
if len(current.splitlines()) > 1:
self.io.placeholder = "\n" + self.io.placeholder + "\n"
time.sleep(0.5)
except Exception as e:
if self.verbose:
from aider.dump import dump
dump(f"Clipboard watcher error: {e}")
continue
self.watcher_thread = threading.Thread(target=watch_clipboard, daemon=True)
self.watcher_thread.start()
def stop(self):
"""Stop watching clipboard for changes"""
if self.stop_event:
self.stop_event.set()
if self.watcher_thread:
self.watcher_thread.join()
self.watcher_thread = None
self.stop_event = None
def main():
"""Example usage of the clipboard watcher"""
from aider.io import InputOutput
io = InputOutput()
watcher = ClipboardWatcher(io, verbose=True)
try:
watcher.start()
while True:
time.sleep(1)
except KeyboardInterrupt:
print("\nStopped watching clipboard")
watcher.stop()
if __name__ == "__main__":
main()

126
aider/deprecated.py Normal file
View File

@@ -0,0 +1,126 @@
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)",
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)",
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)",
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)",
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)",
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)",
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)",
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)",
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)",
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)",
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)",
default=False,
)
def handle_deprecated_model_args(args, io):
"""Handle deprecated model shortcut arguments and provide appropriate warnings."""
# Define model mapping
model_map = {
"opus": "claude-3-opus-20240229",
"sonnet": "anthropic/claude-3-7-sonnet-20250219",
"haiku": "claude-3-5-haiku-20241022",
"4": "gpt-4-0613",
"4o": "gpt-4o",
"mini": "gpt-4o-mini",
"4_turbo": "gpt-4-1106-preview",
"35turbo": "gpt-3.5-turbo",
"deepseek": "deepseek/deepseek-chat",
"o1_mini": "o1-mini",
"o1_preview": "o1-preview",
}
# Check if any deprecated args are used
for arg_name, model_name in model_map.items():
arg_name_clean = arg_name.replace("-", "_")
if hasattr(args, arg_name_clean) and getattr(args, arg_name_clean):
# Find preferred name to display in warning
from aider.models import MODEL_ALIASES
display_name = model_name
# Check if there's a shorter alias for this model
for alias, full_name in MODEL_ALIASES.items():
if full_name == model_name:
display_name = alias
break
# Show the warning
io.tool_warning(
f"The --{arg_name.replace('_', '-')} flag is deprecated and will be removed in a"
f" future version. Please use --model {display_name} instead."
)
# Set the model
if not args.model:
args.model = model_name
break

View File

@@ -50,7 +50,6 @@ def diff_partial_update(lines_orig, lines_updated, final=False, fname=None):
# dump(lines_orig)
# dump(lines_updated)
assert_newlines(lines_orig)
assert_newlines(lines_orig)
num_orig_lines = len(lines_orig)

147
aider/editor.py Normal file
View File

@@ -0,0 +1,147 @@
"""
Editor module for handling system text editor interactions.
This module provides functionality to:
- Discover and launch the system's configured text editor
- Create and manage temporary files for editing
- Handle editor preferences from environment variables
- Support cross-platform editor operations
"""
import os
import platform
import subprocess
import tempfile
from rich.console import Console
from aider.dump import dump # noqa
DEFAULT_EDITOR_NIX = "vi"
DEFAULT_EDITOR_OS_X = "vim"
DEFAULT_EDITOR_WINDOWS = "notepad"
console = Console()
def print_status_message(success, message, style=None):
"""
Print a status message with appropriate styling.
:param success: Whether the operation was successful
:param message: The message to display
:param style: Optional style override. If None, uses green for success and red for failure
"""
if style is None:
style = "bold green" if success else "bold red"
console.print(message, style=style)
print("")
def write_temp_file(
input_data="",
suffix=None,
prefix=None,
dir=None,
):
"""
Create a temporary file with the given input data.
:param input_data: Content to write to the temporary file
:param suffix: Optional file extension (without the dot)
:param prefix: Optional prefix for the temporary filename
:param dir: Optional directory to create the file in
:return: Path to the created temporary file
:raises: OSError if file creation or writing fails
"""
kwargs = {"prefix": prefix, "dir": dir}
if suffix:
kwargs["suffix"] = f".{suffix}"
fd, filepath = tempfile.mkstemp(**kwargs)
try:
with os.fdopen(fd, "w") as f:
f.write(input_data)
except Exception:
os.close(fd)
raise
return filepath
def get_environment_editor(default=None):
"""
Fetches the preferred editor from the environment variables.
This function checks the following environment variables in order to
determine the user's preferred editor:
- VISUAL
- EDITOR
:param default: The default editor to return if no environment variable is set.
:type default: str or None
:return: The preferred editor as specified by environment variables or the default value.
:rtype: str or None
"""
editor = os.environ.get("VISUAL", os.environ.get("EDITOR", default))
return editor
def discover_editor(editor_override=None):
"""
Discovers and returns the appropriate editor command.
Handles cases where the editor command includes arguments, including quoted arguments
with spaces (e.g. 'vim -c "set noswapfile"').
:return: The editor command as a string
:rtype: str
"""
system = platform.system()
if system == "Windows":
default_editor = DEFAULT_EDITOR_WINDOWS
elif system == "Darwin":
default_editor = DEFAULT_EDITOR_OS_X
else:
default_editor = DEFAULT_EDITOR_NIX
if editor_override:
editor = editor_override
else:
editor = get_environment_editor(default_editor)
return editor
def pipe_editor(input_data="", suffix=None, editor=None):
"""
Opens the system editor with optional input data and returns the edited content.
This function creates a temporary file with the provided input data, opens it in
the system editor, waits for the user to make changes and close the editor, then
reads and returns the modified content. The temporary file is deleted afterwards.
:param input_data: Initial content to populate the editor with
:type input_data: str
:param suffix: Optional file extension for the temporary file (e.g. '.txt', '.md')
:type suffix: str or None
:return: The edited content after the editor is closed
:rtype: str
"""
filepath = write_temp_file(input_data, suffix)
command_str = discover_editor(editor)
command_str += " " + filepath
subprocess.call(command_str, shell=True)
with open(filepath, "r") as f:
output_data = f.read()
try:
os.remove(filepath)
except PermissionError:
print_status_message(
False,
(
f"WARNING: Unable to delete temporary file {filepath!r}. You may need to delete it"
" manually."
),
)
return output_data

90
aider/exceptions.py Normal file
View File

@@ -0,0 +1,90 @@
from dataclasses import dataclass
from aider.dump import dump # noqa: F401
@dataclass
class ExInfo:
name: str
retry: bool
description: str
EXCEPTIONS = [
ExInfo("APIConnectionError", True, None),
ExInfo("APIError", True, None),
ExInfo("APIResponseValidationError", True, None),
ExInfo(
"AuthenticationError",
False,
"The API provider is not able to authenticate you. Check your API key.",
),
ExInfo("AzureOpenAIError", True, None),
ExInfo("BadRequestError", False, None),
ExInfo("BudgetExceededError", True, None),
ExInfo(
"ContentPolicyViolationError",
True,
"The API provider has refused the request due to a safety policy about the content.",
),
ExInfo("ContextWindowExceededError", False, None), # special case handled in base_coder
ExInfo("InternalServerError", True, "The API provider's servers are down or overloaded."),
ExInfo("InvalidRequestError", True, None),
ExInfo("JSONSchemaValidationError", True, None),
ExInfo("NotFoundError", False, None),
ExInfo("OpenAIError", True, None),
ExInfo(
"RateLimitError",
True,
"The API provider has rate limited you. Try again later or check your quotas.",
),
ExInfo("RouterRateLimitError", True, None),
ExInfo("ServiceUnavailableError", True, "The API provider's servers are down or overloaded."),
ExInfo("UnprocessableEntityError", True, None),
ExInfo("UnsupportedParamsError", True, None),
ExInfo(
"Timeout",
True,
"The API provider timed out without returning a response. They may be down or overloaded.",
),
]
class LiteLLMExceptions:
exceptions = dict()
exception_info = {exi.name: exi for exi in EXCEPTIONS}
def __init__(self):
self._load()
def _load(self, strict=False):
import litellm
for var in dir(litellm):
if var.endswith("Error"):
if var not in self.exception_info:
raise ValueError(f"{var} is in litellm but not in aider's exceptions list")
for var in self.exception_info:
ex = getattr(litellm, var)
self.exceptions[ex] = self.exception_info[var]
def exceptions_tuple(self):
return tuple(self.exceptions)
def get_ex_info(self, ex):
"""Return the ExInfo for a given exception instance"""
import litellm
if ex.__class__ is litellm.APIConnectionError:
if "google.auth" in str(ex):
return ExInfo(
"APIConnectionError", False, "You need to: pip install google-generativeai"
)
if "boto3" in str(ex):
return ExInfo("APIConnectionError", False, "You need to: pip install boto3")
if "OpenrouterException" in str(ex) and "'choices'" in str(ex):
return ExInfo(
"APIConnectionError", True, "The OpenRouter API provider is down or overloaded."
)
return self.exceptions.get(ex.__class__, ExInfo(None, None, None))

View File

@@ -160,7 +160,7 @@ class GUI:
st.warning(
"This browser version of aider is experimental. Please share feedback in [GitHub"
" issues](https://github.com/paul-gauthier/aider/issues)."
" issues](https://github.com/Aider-AI/aider/issues)."
)
def do_settings_tab(self):
@@ -528,7 +528,7 @@ def gui_main():
page_icon=urls.favicon,
menu_items={
"Get Help": urls.website,
"Report a bug": "https://github.com/paul-gauthier/aider/issues",
"Report a bug": "https://github.com/Aider-AI/aider/issues",
"About": "# Aider\nAI pair programming in your browser.",
},
)

View File

@@ -1,6 +1,8 @@
#!/usr/bin/env python
import json
import os
import shutil
import warnings
from pathlib import Path
@@ -38,24 +40,45 @@ def get_package_files():
def fname_to_url(filepath):
website = "website/"
index = "/index.md"
website = "website"
index = "index.md"
md = ".md"
docid = ""
if filepath.startswith("website/_includes/"):
pass
elif filepath.startswith(website):
docid = filepath[len(website) :]
# Convert backslashes to forward slashes for consistency
filepath = filepath.replace("\\", "/")
if filepath.endswith(index):
filepath = filepath[: -len(index)] + "/"
elif filepath.endswith(md):
filepath = filepath[: -len(md)] + ".html"
# Convert to Path object for easier manipulation
path = Path(filepath)
docid = "https://aider.chat/" + filepath
# Split the path into parts
parts = path.parts
return docid
# Find the 'website' part in the path
try:
website_index = [p.lower() for p in parts].index(website.lower())
except ValueError:
return "" # 'website' not found in the path
# Extract the part of the path starting from 'website'
relevant_parts = parts[website_index + 1 :]
# Handle _includes directory
if relevant_parts and relevant_parts[0].lower() == "_includes":
return ""
# Join the remaining parts
url_path = "/".join(relevant_parts)
# Handle index.md and other .md files
if url_path.lower().endswith(index.lower()):
url_path = url_path[: -len(index)]
elif url_path.lower().endswith(md.lower()):
url_path = url_path[: -len(md)] + ".html"
# Ensure the URL starts and ends with '/'
url_path = url_path.strip("/")
return f"https://aider.chat/{url_path}"
def get_index():
@@ -69,12 +92,17 @@ def get_index():
dname = Path.home() / ".aider" / "caches" / ("help." + __version__)
if dname.exists():
storage_context = StorageContext.from_defaults(
persist_dir=dname,
)
index = load_index_from_storage(storage_context)
else:
index = None
try:
if dname.exists():
storage_context = StorageContext.from_defaults(
persist_dir=dname,
)
index = load_index_from_storage(storage_context)
except (OSError, json.JSONDecodeError):
shutil.rmtree(dname)
if index is None:
parser = MarkdownNodeParser()
nodes = []

View File

@@ -1,4 +1,7 @@
# This needs to sync with MANIFEST.in
exclude_website_pats = [
"**/.DS_Store",
"examples/**",
"_posts/**",
"HISTORY.md",
@@ -7,4 +10,10 @@ exclude_website_pats = [
"docs/unified-diffs.md",
"docs/leaderboards/index.md",
"assets/**",
".jekyll-metadata",
"Gemfile.lock",
"Gemfile",
"_config.yml",
"**/OLD/**",
"OLD/**",
]

View File

@@ -2,7 +2,6 @@ import argparse
from aider import models, prompts
from aider.dump import dump # noqa: F401
from aider.sendchat import simple_send_with_retries
class ChatSummary:
@@ -26,6 +25,12 @@ class ChatSummary:
return sized
def summarize(self, messages, depth=0):
messages = self.summarize_real(messages)
if messages and messages[-1]["role"] != "assistant":
messages.append(dict(role="assistant", content="Ok."))
return messages
def summarize_real(self, messages, depth=0):
if not self.models:
raise ValueError("No models available for summarization")
@@ -88,7 +93,7 @@ class ChatSummary:
if summary_tokens + tail_tokens < self.max_tokens:
return result
return self.summarize(result, depth + 1)
return self.summarize_real(result, depth + 1)
def summarize_all(self, messages):
content = ""
@@ -108,9 +113,7 @@ class ChatSummary:
for model in self.models:
try:
summary = simple_send_with_retries(
model.name, summarize_messages, extra_headers=model.extra_headers
)
summary = model.simple_send_with_retries(summarize_messages)
if summary is not None:
summary = prompts.summary_prefix + summary
return [dict(role="user", content=summary)]

File diff suppressed because it is too large Load Diff

View File

@@ -4,13 +4,15 @@ import subprocess
import sys
import traceback
import warnings
import shlex
from dataclasses import dataclass
from pathlib import Path
from grep_ast import TreeContext, filename_to_lang
from tree_sitter_languages import get_parser # noqa: E402
from grep_ast.tsl import get_parser # noqa: E402
from aider.dump import dump # noqa: F401
from aider.run_cmd import run_cmd_subprocess # noqa: F401
# tree_sitter is throwing a FutureWarning
warnings.simplefilter("ignore", category=FutureWarning)
@@ -35,28 +37,31 @@ class Linter:
def get_rel_fname(self, fname):
if self.root:
return os.path.relpath(fname, self.root)
try:
return os.path.relpath(fname, self.root)
except ValueError:
return fname
else:
return fname
def run_cmd(self, cmd, rel_fname, code):
cmd += " " + rel_fname
cmd = cmd.split()
cmd += " " + shlex.quote(rel_fname)
process = subprocess.Popen(
cmd,
cwd=self.root,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
encoding=self.encoding,
errors="replace",
)
stdout, _ = process.communicate()
returncode = 0
stdout = ""
try:
returncode, stdout = run_cmd_subprocess(
cmd,
cwd=self.root,
encoding=self.encoding,
)
except OSError as err:
print(f"Unable to execute lint command: {err}")
return
errors = stdout
if process.returncode == 0:
if returncode == 0:
return # zero exit status
cmd = " ".join(cmd)
res = f"## Running: {cmd}\n\n"
res += errors
@@ -76,7 +81,11 @@ class Linter:
def lint(self, fname, cmd=None):
rel_fname = self.get_rel_fname(fname)
code = Path(fname).read_text(encoding=self.encoding, errors="replace")
try:
code = Path(fname).read_text(encoding=self.encoding, errors="replace")
except OSError as err:
print(f"Unable to read {fname}: {err}")
return
if cmd:
cmd = cmd.strip()
@@ -141,12 +150,12 @@ class Linter:
try:
result = subprocess.run(
flake8_cmd,
cwd=self.root,
capture_output=True,
text=True,
check=False,
encoding=self.encoding,
errors="replace",
cwd=self.root,
)
errors = result.stdout + result.stderr
except Exception as e:
@@ -202,10 +211,20 @@ def basic_lint(fname, code):
if lang == "typescript":
return
parser = get_parser(lang)
try:
parser = get_parser(lang)
except Exception as err:
print(f"Unable to load parser: {err}")
return
tree = parser.parse(bytes(code, "utf-8"))
errors = traverse_tree(tree.root_node)
try:
errors = traverse_tree(tree.root_node)
except RecursionError:
print(f"Unable to lint {fname} due to RecursionError")
return
if not errors:
return

View File

@@ -2,6 +2,8 @@ import importlib
import os
import warnings
from aider.dump import dump # noqa: F401
warnings.filterwarnings("ignore", category=UserWarning, module="pydantic")
AIDER_SITE_URL = "https://aider.chat"
@@ -13,6 +15,8 @@ os.environ["LITELLM_MODE"] = "PRODUCTION"
# `import litellm` takes 1.5 seconds, defer it!
VERBOSE = False
class LazyLiteLLM:
_lazy_module = None
@@ -27,6 +31,9 @@ class LazyLiteLLM:
if self._lazy_module is not None:
return
if VERBOSE:
print("Loading litellm...")
self._lazy_module = importlib.import_module("litellm")
self._lazy_module.suppress_debug_info = True

File diff suppressed because it is too large Load Diff

View File

@@ -3,17 +3,27 @@
import io
import time
from rich import box
from rich.console import Console
from rich.live import Live
from rich.markdown import Markdown
from rich.markdown import CodeBlock, Heading, Markdown
from rich.panel import Panel
from rich.syntax import Syntax
from rich.text import Text
from aider.dump import dump # noqa: F401
_text = """
_text_prefix = """
# Header
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and scrambled it to make a type
specimen book. It has survived not only five centuries, but also the leap into
electronic typesetting, remaining essentially unchanged. It was popularised in
the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,
and more recently with desktop publishing software like Aldus PageMaker
including versions of Lorem Ipsum.
@@ -27,10 +37,9 @@ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem
```python
import sys
"""
def greeting():
print("Hello world!")
_text_suffix = """
```
## Sub header too
@@ -40,82 +49,188 @@ The end.
""" # noqa: E501
class NoInsetCodeBlock(CodeBlock):
"""A code block with syntax highlighting and no padding."""
def __rich_console__(self, console, options):
code = str(self.text).rstrip()
syntax = Syntax(code, self.lexer_name, theme=self.theme, word_wrap=True, padding=(1, 0))
yield syntax
class LeftHeading(Heading):
"""A heading class that renders left-justified."""
def __rich_console__(self, console, options):
text = self.text
text.justify = "left" # Override justification
if self.tag == "h1":
# Draw a border around h1s, but keep text left-aligned
yield Panel(
text,
box=box.HEAVY,
style="markdown.h1.border",
)
else:
# Styled text for h2 and beyond
if self.tag == "h2":
yield Text("") # Keep the blank line before h2
yield text
class NoInsetMarkdown(Markdown):
"""Markdown with code blocks that have no padding and left-justified headings."""
elements = {
**Markdown.elements,
"fence": NoInsetCodeBlock,
"code_block": NoInsetCodeBlock,
"heading_open": LeftHeading,
}
class MarkdownStream:
live = None
when = 0
min_delay = 0.050
live_window = 6
"""Streaming markdown renderer that progressively displays content with a live updating window.
Uses rich.console and rich.live to render markdown content with smooth scrolling
and partial updates. Maintains a sliding window of visible content while streaming
in new markdown text.
"""
live = None # Rich Live display instance
when = 0 # Timestamp of last update
min_delay = 1.0 / 20 # Minimum time between updates (20fps)
live_window = 6 # Number of lines to keep visible at bottom during streaming
def __init__(self, mdargs=None):
self.printed = []
"""Initialize the markdown stream.
Args:
mdargs (dict, optional): Additional arguments to pass to rich Markdown renderer
"""
self.printed = [] # Stores lines that have already been printed
if mdargs:
self.mdargs = mdargs
else:
self.mdargs = dict()
# Initialize rich Live display with empty text
self.live = Live(Text(""), refresh_per_second=1.0 / self.min_delay)
self.live.start()
def _render_markdown_to_lines(self, text):
"""Render markdown text to a list of lines.
Args:
text (str): Markdown text to render
Returns:
list: List of rendered lines with line endings preserved
"""
# Render the markdown to a string buffer
string_io = io.StringIO()
console = Console(file=string_io, force_terminal=True)
markdown = NoInsetMarkdown(text, **self.mdargs)
console.print(markdown)
output = string_io.getvalue()
# Split rendered output into lines
return output.splitlines(keepends=True)
def __del__(self):
"""Destructor to ensure Live display is properly cleaned up."""
if self.live:
try:
self.live.stop()
except Exception:
pass
pass # Ignore any errors during cleanup
def update(self, text, final=False):
"""Update the displayed markdown content.
Args:
text (str): The markdown text received so far
final (bool): If True, this is the final update and we should clean up
Splits the output into "stable" older lines and the "last few" lines
which aren't considered stable. They may shift around as new chunks
are appended to the markdown text.
The stable lines emit to the console above the Live window.
The unstable lines emit into the Live window so they can be repainted.
Markdown going to the console works better in terminal scrollback buffers.
The live window doesn't play nice with terminal scrollback.
"""
now = time.time()
# Throttle updates to maintain smooth rendering
if not final and now - self.when < self.min_delay:
return
self.when = now
string_io = io.StringIO()
console = Console(file=string_io, force_terminal=True)
# Measure render time and adjust min_delay to maintain smooth rendering
start = time.time()
lines = self._render_markdown_to_lines(text)
render_time = time.time() - start
markdown = Markdown(text, **self.mdargs)
# Set min_delay to render time plus a small buffer
self.min_delay = min(max(render_time * 10, 1.0 / 20), 2)
console.print(markdown)
output = string_io.getvalue()
lines = output.splitlines(keepends=True)
num_lines = len(lines)
# How many lines have "left" the live window and are now considered stable?
# Or if final, consider all lines to be stable.
if not final:
num_lines -= self.live_window
# If we have stable content to display...
if final or num_lines > 0:
# How many stable lines do we need to newly show above the live window?
num_printed = len(self.printed)
show = num_lines - num_printed
# Skip if no new lines to show above live window
if show <= 0:
return
# Get the new lines and display them
show = lines[num_printed:num_lines]
show = "".join(show)
show = Text.from_ansi(show)
self.live.console.print(show)
self.live.console.print(show) # to the console above the live area
# Update our record of printed lines
self.printed = lines[:num_lines]
# Handle final update cleanup
if final:
self.live.update(Text(""))
self.live.stop()
self.live = None
else:
rest = lines[num_lines:]
rest = "".join(rest)
# rest = '...\n' + rest
rest = Text.from_ansi(rest)
self.live.update(rest)
return
# Update the live window with remaining lines
rest = lines[num_lines:]
rest = "".join(rest)
rest = Text.from_ansi(rest)
self.live.update(rest)
def find_minimal_suffix(self, text, match_lines=50):
"""
Splits text into chunks on blank lines "\n\n".
"""
if __name__ == "__main__":
_text = 5 * _text
with open("aider/io.py", "r") as f:
code = f.read()
_text = _text_prefix + code + _text_suffix
_text = _text * 10
pm = MarkdownStream()
for i in range(6, len(_text)):
print("Using NoInsetMarkdown for code blocks with padding=0")
for i in range(6, len(_text), 5):
pm.update(_text[:i])
time.sleep(0.01)

File diff suppressed because it is too large Load Diff

433
aider/onboarding.py Normal file
View File

@@ -0,0 +1,433 @@
import base64
import hashlib
import http.server
import os
import secrets
import socketserver
import threading
import time
import webbrowser
from urllib.parse import parse_qs, urlparse
import requests
from aider import urls
from aider.io import InputOutput
from aider.utils import check_pip_install_extra
def check_openrouter_tier(api_key):
"""
Checks if the user is on a free tier for OpenRouter.
Args:
api_key: The OpenRouter API key to check.
Returns:
A boolean indicating if the user is on a free tier (True) or paid tier (False).
Returns True if the check fails.
"""
try:
response = requests.get(
"https://openrouter.ai/api/v1/auth/key",
headers={"Authorization": f"Bearer {api_key}"},
timeout=5, # Add a reasonable timeout
)
response.raise_for_status()
data = response.json()
# According to the documentation, 'is_free_tier' will be true if the user has never paid
return data.get("data", {}).get("is_free_tier", True) # Default to True if not found
except Exception:
# If there's any error, we'll default to assuming free tier
return True
def try_to_select_default_model():
"""
Attempts to select a default model based on available API keys.
Checks OpenRouter tier status to select appropriate model.
Returns:
The name of the selected model, or None if no suitable default is found.
"""
# Special handling for OpenRouter
openrouter_key = os.environ.get("OPENROUTER_API_KEY")
if openrouter_key:
# Check if the user is on a free tier
is_free_tier = check_openrouter_tier(openrouter_key)
if is_free_tier:
return "openrouter/google/gemini-2.5-pro-exp-03-25:free"
else:
return "openrouter/anthropic/claude-3.7-sonnet"
# Select model based on other available API keys
model_key_pairs = [
("ANTHROPIC_API_KEY", "sonnet"),
("DEEPSEEK_API_KEY", "deepseek"),
("OPENAI_API_KEY", "gpt-4o"),
("GEMINI_API_KEY", "gemini/gemini-2.5-pro-exp-03-25"),
("VERTEXAI_PROJECT", "vertex_ai/gemini-2.5-pro-exp-03-25"),
]
for env_key, model_name in model_key_pairs:
api_key_value = os.environ.get(env_key)
if api_key_value:
return model_name
return None
def offer_openrouter_oauth(io, analytics):
"""
Offers OpenRouter OAuth flow to the user if no API keys are found.
Args:
io: The InputOutput object for user interaction.
analytics: The Analytics object for tracking events.
Returns:
True if authentication was successful, False otherwise.
"""
# No API keys found - Offer OpenRouter OAuth
io.tool_output("OpenRouter provides free and paid access to many LLMs.")
# Use confirm_ask which handles non-interactive cases
if io.confirm_ask(
"Login to OpenRouter or create a free account?",
default="y",
):
analytics.event("oauth_flow_initiated", provider="openrouter")
openrouter_key = start_openrouter_oauth_flow(io, analytics)
if openrouter_key:
# Successfully got key via OAuth, use the default OpenRouter model
# Ensure OPENROUTER_API_KEY is now set in the environment for later use
os.environ["OPENROUTER_API_KEY"] = openrouter_key
# Track OAuth success leading to model selection
analytics.event("oauth_flow_success")
return True
# OAuth failed or was cancelled by user implicitly (e.g., closing browser)
# Error messages are handled within start_openrouter_oauth_flow
analytics.event("oauth_flow_failure")
io.tool_error("OpenRouter authentication did not complete successfully.")
# Fall through to the final error message
return False
def select_default_model(args, io, analytics):
"""
Selects a default model based on available API keys if no model is specified.
Offers OAuth flow for OpenRouter if no keys are found.
Args:
args: The command line arguments object.
io: The InputOutput object for user interaction.
analytics: The Analytics object for tracking events.
Returns:
The name of the selected model, or None if no suitable default is found.
"""
if args.model:
return args.model # Model already specified
model = try_to_select_default_model()
if model:
io.tool_warning(f"Using {model} model with API key from environment.")
analytics.event("auto_model_selection", model=model)
return model
no_model_msg = "No LLM model was specified and no API keys were provided."
io.tool_warning(no_model_msg)
# Try OAuth if no model was detected
offer_openrouter_oauth(io, analytics)
# Check again after potential OAuth success
model = try_to_select_default_model()
if model:
return model
io.offer_url(urls.models_and_keys, "Open documentation URL for more info?")
# Helper function to find an available port
def find_available_port(start_port=8484, end_port=8584):
for port in range(start_port, end_port + 1):
try:
# Check if the port is available by trying to bind to it
with socketserver.TCPServer(("localhost", port), None):
return port
except OSError:
# Port is likely already in use
continue
return None
# PKCE code generation
def generate_pkce_codes():
code_verifier = secrets.token_urlsafe(64)
hasher = hashlib.sha256()
hasher.update(code_verifier.encode("utf-8"))
code_challenge = base64.urlsafe_b64encode(hasher.digest()).rstrip(b"=").decode("utf-8")
return code_verifier, code_challenge
# Function to exchange the authorization code for an API key
def exchange_code_for_key(code, code_verifier, io):
try:
response = requests.post(
"https://openrouter.ai/api/v1/auth/keys",
headers={"Content-Type": "application/json"},
json={
"code": code,
"code_verifier": code_verifier,
"code_challenge_method": "S256",
},
timeout=30, # Add a timeout
)
response.raise_for_status() # Raise exception for bad status codes (4xx or 5xx)
data = response.json()
api_key = data.get("key")
if not api_key:
io.tool_error("Error: 'key' not found in OpenRouter response.")
io.tool_error(f"Response: {response.text}")
return None
return api_key
except requests.exceptions.Timeout:
io.tool_error("Error: Request to OpenRouter timed out during code exchange.")
return None
except requests.exceptions.HTTPError as e:
io.tool_error(
"Error exchanging code for OpenRouter key:"
f" {e.response.status_code} {e.response.reason}"
)
io.tool_error(f"Response: {e.response.text}")
return None
except requests.exceptions.RequestException as e:
io.tool_error(f"Error exchanging code for OpenRouter key: {e}")
return None
except Exception as e:
io.tool_error(f"Unexpected error during code exchange: {e}")
return None
# Function to start the OAuth flow
def start_openrouter_oauth_flow(io, analytics):
"""Initiates the OpenRouter OAuth PKCE flow using a local server."""
# Check for requests library
if not check_pip_install_extra(io, "requests", "OpenRouter OAuth", "aider[oauth]"):
return None
port = find_available_port()
if not port:
io.tool_error("Could not find an available port between 8484 and 8584.")
io.tool_error("Please ensure a port in this range is free, or configure manually.")
return None
callback_url = f"http://localhost:{port}/callback/aider"
auth_code = None
server_error = None
server_started = threading.Event()
shutdown_server = threading.Event()
class OAuthCallbackHandler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
nonlocal auth_code, server_error
parsed_path = urlparse(self.path)
if parsed_path.path == "/callback/aider":
query_params = parse_qs(parsed_path.query)
if "code" in query_params:
auth_code = query_params["code"][0]
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
self.wfile.write(
b"<html><body><h1>Success!</h1>"
b"<p>Aider has received the authentication code. "
b"You can close this browser tab.</p></body></html>"
)
# Signal the main thread to shut down the server
# Signal the main thread to shut down the server
shutdown_server.set()
else:
# Redirect to aider website if 'code' is missing (e.g., user visited manually)
self.send_response(302) # Found (temporary redirect)
self.send_header("Location", urls.website)
self.end_headers()
# No need to set server_error, just redirect.
# Do NOT shut down the server here; wait for timeout or success.
else:
# Redirect anything else (e.g., favicon.ico) to the main website as well
self.send_response(302)
self.send_header("Location", urls.website)
self.end_headers()
self.wfile.write(b"Not Found")
def log_message(self, format, *args):
# Suppress server logging to keep terminal clean
pass
def run_server():
nonlocal server_error
try:
with socketserver.TCPServer(("localhost", port), OAuthCallbackHandler) as httpd:
io.tool_output(f"Temporary server listening on {callback_url}", log_only=True)
server_started.set() # Signal that the server is ready
# Wait until shutdown is requested or timeout occurs (handled by main thread)
while not shutdown_server.is_set():
httpd.handle_request() # Handle one request at a time
# Add a small sleep to prevent busy-waiting if needed,
# though handle_request should block appropriately.
time.sleep(0.1)
io.tool_output("Shutting down temporary server.", log_only=True)
except Exception as e:
server_error = f"Failed to start or run temporary server: {e}"
server_started.set() # Signal even if failed, error will be checked
shutdown_server.set() # Ensure shutdown logic proceeds
server_thread = threading.Thread(target=run_server, daemon=True)
server_thread.start()
# Wait briefly for the server to start, or for an error
if not server_started.wait(timeout=5):
io.tool_error("Temporary authentication server failed to start in time.")
shutdown_server.set() # Ensure thread exits if it eventually starts
server_thread.join(timeout=1)
return None
# Check if server failed during startup
if server_error:
io.tool_error(server_error)
shutdown_server.set() # Ensure thread exits
server_thread.join(timeout=1)
return None
# Generate codes and URL
code_verifier, code_challenge = generate_pkce_codes()
auth_url_base = "https://openrouter.ai/auth"
auth_params = {
"callback_url": callback_url,
"code_challenge": code_challenge,
"code_challenge_method": "S256",
}
auth_url = f"{auth_url_base}?{'&'.join(f'{k}={v}' for k, v in auth_params.items())}"
io.tool_output("\nPlease open this URL in your browser to connect Aider with OpenRouter:")
io.tool_output()
print(auth_url)
MINUTES = 5
io.tool_output(f"\nWaiting up to {MINUTES} minutes for you to finish in the browser...")
io.tool_output("Use Control-C to interrupt.")
try:
webbrowser.open(auth_url)
except Exception:
pass
# Wait for the callback to set the auth_code or for timeout/error
interrupted = False
try:
shutdown_server.wait(timeout=MINUTES * 60) # Convert minutes to seconds
except KeyboardInterrupt:
io.tool_warning("\nOAuth flow interrupted.")
analytics.event("oauth_flow_failed", provider="openrouter", reason="user_interrupt")
interrupted = True
# Ensure the server thread is signaled to shut down
shutdown_server.set()
# Join the server thread to ensure it's cleaned up
server_thread.join(timeout=1)
if interrupted:
return None # Return None if interrupted by user
if server_error:
io.tool_error(f"Authentication failed: {server_error}")
analytics.event("oauth_flow_failed", provider="openrouter", reason=server_error)
return None
if not auth_code:
io.tool_error("Authentication with OpenRouter failed.")
analytics.event("oauth_flow_failed", provider="openrouter")
return None
io.tool_output("Completing authentication...")
analytics.event("oauth_flow_code_received", provider="openrouter")
# Exchange code for key
api_key = exchange_code_for_key(auth_code, code_verifier, io)
if api_key:
# Set env var for the current session immediately
os.environ["OPENROUTER_API_KEY"] = api_key
# Save the key to the oauth-keys.env file
try:
config_dir = os.path.expanduser("~/.aider")
os.makedirs(config_dir, exist_ok=True)
key_file = os.path.join(config_dir, "oauth-keys.env")
with open(key_file, "a", encoding="utf-8") as f:
f.write(f'OPENROUTER_API_KEY="{api_key}"\n')
io.tool_warning("Aider will load the OpenRouter key automatically in future sessions.")
io.tool_output()
analytics.event("oauth_flow_success", provider="openrouter")
return api_key
except Exception as e:
io.tool_error(f"Successfully obtained key, but failed to save it to file: {e}")
io.tool_warning("Set OPENROUTER_API_KEY environment variable for this session only.")
# Still return the key for the current session even if saving failed
analytics.event("oauth_flow_save_failed", provider="openrouter", reason=str(e))
return api_key
else:
io.tool_error("Authentication with OpenRouter failed.")
analytics.event("oauth_flow_failed", provider="openrouter", reason="code_exchange_failed")
return None
# Dummy Analytics class for testing
class DummyAnalytics:
def event(self, *args, **kwargs):
# print(f"Analytics Event: {args} {kwargs}") # Optional: print events
pass
def main():
"""Main function to test the OpenRouter OAuth flow."""
print("Starting OpenRouter OAuth flow test...")
# Use a real IO object for interaction
io = InputOutput(
pretty=True,
yes=False,
input_history_file=None,
chat_history_file=None,
tool_output_color="BLUE",
tool_error_color="RED",
)
# Use a dummy analytics object
analytics = DummyAnalytics()
# Ensure OPENROUTER_API_KEY is not set, to trigger the flow naturally
# (though start_openrouter_oauth_flow doesn't check this itself)
if "OPENROUTER_API_KEY" in os.environ:
print("Warning: OPENROUTER_API_KEY is already set in environment.")
# del os.environ["OPENROUTER_API_KEY"] # Optionally unset it for testing
api_key = start_openrouter_oauth_flow(io, analytics)
if api_key:
print("\nOAuth flow completed successfully!")
print(f"Obtained API Key (first 5 chars): {api_key[:5]}...")
# Be careful printing the key, even partially
else:
print("\nOAuth flow failed or was cancelled.")
print("\nOpenRouter OAuth flow test finished.")
if __name__ == "__main__":
main()

View File

@@ -5,15 +5,21 @@
# Conventional Commits text adapted from:
# https://www.conventionalcommits.org/en/v1.0.0/#summary
commit_system = """You are an expert software engineer.
commit_system = """You are an expert software engineer that generates concise, \
one-line Git commit messages based on the provided diffs.
Review the provided context and diffs which are about to be committed to a git repo.
Review the diffs carefully.
Generate a commit message for those changes.
The commit message MUST use the imperative tense.
Generate a one-line commit message for those changes.
The commit message should be structured as follows: <type>: <description>
Use these for <type>: fix, feat, build, chore, ci, docs, style, refactor, perf, test
Reply with JUST the commit message, without quotes, comments, questions, etc!
Reply with one line only!
Ensure the commit message:
- Starts with the appropriate prefix.
- Is in the imperative mood (e.g., \"Add feature\" not \"Added feature\" or \"Adding feature\").
- Does not exceed 72 characters.
Reply only with the one-line commit message, without any additional text, explanations, \
or line breaks.
"""
# COMMANDS

View File

@@ -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/

View File

@@ -0,0 +1,5 @@
(function_declarator
declarator: (identifier) @name.definition.function) @definition.function
(call_expression
function: (identifier) @name.reference.call) @reference.call

View File

@@ -0,0 +1,16 @@
; Definitions
(intent_def
(intent) @name.definition.intent) @definition.intent
(slot_def
(slot) @name.definition.slot) @definition.slot
(alias_def
(alias) @name.definition.alias) @definition.alias
; References
(slot_ref
(slot) @name.reference.slot) @reference.slot
(alias_ref
(alias) @name.reference.alias) @reference.alias

View File

@@ -0,0 +1,122 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Function Definitions ;;;;;;;;;;;;;;;;;;;;;;;
(defun_header
function_name: (sym_lit) @name.definition.function) @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.reference.call
. (list_lit (list_lit . [(sym_lit) (package_lit)] @ignore))
(#match? @name.reference.call
"(?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) @reference.call
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; classes
(list_lit . [(sym_lit) (package_lit)] @ignore
. [(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.reference.class)
(#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"))

View File

@@ -0,0 +1,15 @@
(struct_specifier name: (type_identifier) @name.definition.class body:(_)) @definition.class
(declaration type: (union_specifier name: (type_identifier) @name.definition.class)) @definition.class
(function_declarator declarator: (identifier) @name.definition.function) @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)) @definition.method
(type_definition declarator: (type_identifier) @name.definition.type) @definition.type
(enum_specifier name: (type_identifier) @name.definition.type) @definition.type
(class_specifier name: (type_identifier) @name.definition.class) @definition.class

View File

@@ -0,0 +1,26 @@
; Based on https://github.com/tree-sitter/tree-sitter-c-sharp/blob/master/queries/tags.scm
; MIT License.
(class_declaration name: (identifier) @name.definition.class) @definition.class
(class_declaration (base_list (_) @name.reference.class)) @reference.class
(interface_declaration name: (identifier) @name.definition.interface) @definition.interface
(interface_declaration (base_list (_) @name.reference.interface)) @reference.interface
(method_declaration name: (identifier) @name.definition.method) @definition.method
(object_creation_expression type: (identifier) @name.reference.class) @reference.class
(type_parameter_constraints_clause (identifier) @name.reference.class) @reference.class
(type_parameter_constraint (type type: (identifier) @name.reference.class)) @reference.class
(variable_declaration type: (identifier) @name.reference.class) @reference.class
(invocation_expression function: (member_access_expression name: (identifier) @name.reference.send)) @reference.send
(namespace_declaration name: (identifier) @name.definition.module) @definition.module
(namespace_declaration name: (identifier) @name.definition.module) @module

View File

@@ -0,0 +1,26 @@
(module_def (module_declaration (module_fqn) @name.definition.module)) @definition.module
(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) @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) @definition.type
(function_declaration (identifier) @name.definition.function) @definition.function
(union_declaration (union) . (identifier) @name.definition.type) @definition.type
(anonymous_enum_declaration (enum_member . (identifier) @name.definition.constant)) @definition.constant
(enum_declaration (enum_member . (identifier) @name.definition.constant)) @definition.constant
(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) @reference.class (declarator))

View File

@@ -0,0 +1,92 @@
(class_definition
name: (identifier) @name.definition.class) @definition.class
(method_signature
(function_signature)) @definition.method
(type_alias
(type_identifier) @name.definition.type) @definition.type
(method_signature
(getter_signature
name: (identifier) @name.definition.method)) @definition.method
(method_signature
(setter_signature
name: (identifier) @name.definition.method)) @definition.method
(method_signature
(function_signature
name: (identifier) @name.definition.method)) @definition.method
(method_signature
(factory_constructor_signature
(identifier) @name.definition.method)) @definition.method
(method_signature
(constructor_signature
name: (identifier) @name.definition.method)) @definition.method
(method_signature
(operator_signature)) @definition.method
(method_signature) @definition.method
(mixin_declaration
(mixin)
(identifier) @name.definition.mixin) @definition.mixin
(extension_declaration
name: (identifier) @name.definition.extension) @definition.extension
(new_expression
(type_identifier) @name.reference.class) @reference.class
(enum_declaration
name: (identifier) @name.definition.enum) @definition.enum
(function_signature
name: (identifier) @name.definition.function) @definition.function
(initialized_variable_definition
name: (identifier)
value: (identifier) @name.reference.class
value: (selector
"!"?
(argument_part
(arguments
(argument)*))?)?) @reference.class
(assignment_expression
left: (assignable_expression
(identifier)
(unconditional_assignable_selector
"."
(identifier) @name.reference.send))) @reference.call
(assignment_expression
left: (assignable_expression
(identifier)
(conditional_assignable_selector
"?."
(identifier) @name.reference.send))) @reference.call
((identifier) @name.reference.send
(selector
"!"?
(conditional_assignable_selector
"?." (identifier) @name.reference.send)?
(unconditional_assignable_selector
"."? (identifier) @name.reference.send)?
(argument_part
(arguments
(argument)*))?)*
(cascade_section
(cascade_selector
(identifier)) @name.reference.send
(argument_part
(arguments
(argument)*))?)?) @reference.call

View File

@@ -0,0 +1,5 @@
;; defun/defsubst
(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) @definition.function

View File

@@ -0,0 +1,54 @@
; Definitions
; * modules and protocols
(call
target: (identifier) @ignore
(arguments (alias) @name.definition.module)
(#any-of? @ignore "defmodule" "defprotocol")) @definition.module
; * functions/macros
(call
target: (identifier) @ignore
(arguments
[
; zero-arity functions with no parentheses
(identifier) @name.definition.function
; regular function clause
(call target: (identifier) @name.definition.function)
; function clause with a guard clause
(binary_operator
left: (call target: (identifier) @name.definition.function)
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.reference.call
; remote
(dot
right: (identifier) @name.reference.call)
]) @reference.call
; * pipe into function call
(binary_operator
operator: "|>"
right: (identifier) @name.reference.call) @reference.call
; * modules
(alias) @name.reference.module @reference.module

View File

@@ -0,0 +1,19 @@
(value_declaration (function_declaration_left (lower_case_identifier) @name.definition.function)) @definition.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) ) @definition.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)) @definition.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
) @definition.module

View File

@@ -0,0 +1,41 @@
; Modules
(module) @name.reference.module @reference.module
(import alias: (identifier) @name.reference.module) @reference.module
(remote_type_identifier
module: (identifier) @name.reference.module) @reference.module
((field_access
record: (identifier) @name.reference.module)
(#is-not? local)) @reference.module
; Functions
(function
name: (identifier) @name.definition.function) @definition.function
(external_function
name: (identifier) @name.definition.function) @definition.function
(unqualified_import (identifier) @name.reference.function) @reference.function
((function_call
function: (identifier) @name.reference.function) @reference.function
(#is-not? local))
((field_access
record: (identifier) @ignore
field: (label) @name.reference.function)
(#is-not? local)) @reference.function
((binary_expression
operator: "|>"
right: (identifier) @name.reference.function)
(#is-not? local)) @reference.function
; Types
(type_definition
(type_name
name: (type_identifier) @name.definition.type)) @definition.type
(type_definition
(data_constructors
(data_constructor
name: (constructor_name) @name.definition.constructor))) @definition.constructor
(external_type
(type_name
name: (type_identifier) @name.definition.type)) @definition.type
(type_identifier) @name.reference.type @reference.type
(constructor_name) @name.reference.constructor @reference.constructor

View File

@@ -0,0 +1,42 @@
(
(comment)* @doc
.
(function_declaration
name: (identifier) @name.definition.function) @definition.function
(#strip! @doc "^//\\s*")
(#set-adjacent! @doc @definition.function)
)
(
(comment)* @doc
.
(method_declaration
name: (field_identifier) @name.definition.method) @definition.method
(#strip! @doc "^//\\s*")
(#set-adjacent! @doc @definition.method)
)
(call_expression
function: [
(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) @definition.type
(type_identifier) @name.reference.type @reference.type
(package_clause "package" (package_identifier) @name.definition.module)
(type_declaration (type_spec name: (type_identifier) @name.definition.interface type: (interface_type)))
(type_declaration (type_spec name: (type_identifier) @name.definition.class type: (struct_type)))
(import_declaration (import_spec) @name.reference.module)
(var_declaration (var_spec name: (identifier) @name.definition.variable))
(const_declaration (const_spec name: (identifier) @name.definition.constant))

View File

@@ -0,0 +1,20 @@
(class_declaration
name: (identifier) @name.definition.class) @definition.class
(method_declaration
name: (identifier) @name.definition.method) @definition.method
(method_invocation
name: (identifier) @name.reference.method
arguments: (argument_list) @reference.call)
(interface_declaration
name: (identifier) @name.definition.interface) @definition.interface
(type_list
(type_identifier) @name.reference.interface) @reference.implementation
(object_creation_expression
type: (type_identifier) @name.reference.class) @reference.class
(superclass (type_identifier) @name.reference.class) @reference.class

View File

@@ -0,0 +1,88 @@
(
(comment)* @doc
.
(method_definition
name: (property_identifier) @name.definition.method) @definition.method
(#not-eq? @name.definition.method "constructor")
(#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
(#select-adjacent! @doc @definition.method)
)
(
(comment)* @doc
.
[
(class
name: (_) @name.definition.class)
(class_declaration
name: (_) @name.definition.class)
] @definition.class
(#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
(#select-adjacent! @doc @definition.class)
)
(
(comment)* @doc
.
[
(function_expression
name: (identifier) @name.definition.function)
(function_declaration
name: (identifier) @name.definition.function)
(generator_function
name: (identifier) @name.definition.function)
(generator_function_declaration
name: (identifier) @name.definition.function)
] @definition.function
(#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
(#select-adjacent! @doc @definition.function)
)
(
(comment)* @doc
.
(lexical_declaration
(variable_declarator
name: (identifier) @name.definition.function
value: [(arrow_function) (function_expression)]) @definition.function)
(#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
(#select-adjacent! @doc @definition.function)
)
(
(comment)* @doc
.
(variable_declaration
(variable_declarator
name: (identifier) @name.definition.function
value: [(arrow_function) (function_expression)]) @definition.function)
(#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
(#select-adjacent! @doc @definition.function)
)
(assignment_expression
left: [
(identifier) @name.definition.function
(member_expression
property: (property_identifier) @name.definition.function)
]
right: [(arrow_function) (function_expression)]
) @definition.function
(pair
key: (property_identifier) @name.definition.function
value: [(arrow_function) (function_expression)]) @definition.function
(
(call_expression
function: (identifier) @name.reference.call) @reference.call
(#not-match? @name.reference.call "^(require)$")
)
(call_expression
function: (member_expression
property: (property_identifier) @name.reference.call)
arguments: (_) @reference.call)
(new_expression
constructor: (_) @name.reference.class) @reference.class

View File

@@ -0,0 +1,34 @@
(function_declaration
name: [
(identifier) @name.definition.function
(dot_index_expression
field: (identifier) @name.definition.function)
]) @definition.function
(function_declaration
name: (method_index_expression
method: (identifier) @name.definition.method)) @definition.method
(assignment_statement
(variable_list .
name: [
(identifier) @name.definition.function
(dot_index_expression
field: (identifier) @name.definition.function)
])
(expression_list .
value: (function_definition))) @definition.function
(table_constructor
(field
name: (identifier) @name.definition.function
value: (function_definition))) @definition.function
(function_call
name: [
(identifier) @name.reference.call
(dot_index_expression
field: (identifier) @name.reference.call)
(method_index_expression
method: (identifier) @name.reference.method)
]) @reference.call

View File

@@ -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) @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) @definition.interface
(interface_definition (identifier) @name.definition.interface) @definition.interface
(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) @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) @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

View File

@@ -0,0 +1,5 @@
(property
(key) @name.definition.property) @definition.property
(substitution
(key) @name.reference.property) @reference.property

View File

@@ -0,0 +1,14 @@
(module (expression_statement (assignment left: (identifier) @name.definition.constant) @definition.constant))
(class_definition
name: (identifier) @name.definition.class) @definition.class
(function_definition
name: (identifier) @name.definition.function) @definition.function
(call
function: [
(identifier) @name.reference.call
(attribute
attribute: (identifier) @name.reference.call)
]) @reference.call

View File

@@ -0,0 +1,21 @@
(binary_operator
lhs: (identifier) @name.definition.function
operator: "<-"
rhs: (function_definition)
) @definition.function
(binary_operator
lhs: (identifier) @name.definition.function
operator: "="
rhs: (function_definition)
) @definition.function
(call
function: (identifier) @name.reference.call
) @reference.call
(call
function: (namespace_operator
rhs: (identifier) @name.reference.call
)
) @reference.call

View File

@@ -0,0 +1,12 @@
(list
.
(symbol) @reference._define
(#match? @reference._define "^(define|define/contract)$")
.
(list
.
(symbol) @name.definition.function) @definition.function)
(list
.
(symbol) @name.reference.call)

View File

@@ -0,0 +1,60 @@
; ADT definitions
(struct_item
name: (type_identifier) @name.definition.class) @definition.class
(enum_item
name: (type_identifier) @name.definition.class) @definition.class
(union_item
name: (type_identifier) @name.definition.class) @definition.class
; type aliases
(type_item
name: (type_identifier) @name.definition.class) @definition.class
; method definitions
(declaration_list
(function_item
name: (identifier) @name.definition.method) @definition.method)
; function definitions
(function_item
name: (identifier) @name.definition.function) @definition.function
; trait definitions
(trait_item
name: (type_identifier) @name.definition.interface) @definition.interface
; module definitions
(mod_item
name: (identifier) @name.definition.module) @definition.module
; macro definitions
(macro_definition
name: (identifier) @name.definition.macro) @definition.macro
; references
(call_expression
function: (identifier) @name.reference.call) @reference.call
(call_expression
function: (field_expression
field: (field_identifier) @name.reference.call)) @reference.call
(macro_invocation
macro: (identifier) @name.reference.call) @reference.call
; implementations
(impl_item
trait: (type_identifier) @name.reference.implementation) @reference.implementation
(impl_item
type: (type_identifier) @name.reference.implementation
!trait) @reference.implementation

View File

@@ -0,0 +1,43 @@
;; Method and Function declarations
(contract_declaration (_
(function_definition
name: (identifier) @name.definition.function) @definition.method))
(source_file
(function_definition
name: (identifier) @name.definition.function) @definition.function)
;; Contract, struct, enum and interface declarations
(contract_declaration
name: (identifier) @name.definition.class) @definition.class
(interface_declaration
name: (identifier) @name.definition.interface) @definition.interface
(library_declaration
name: (identifier) @name.definition.class) @definition.interface
(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 ) @reference.call
(call_expression
(expression (member_expression
property: (_) @name.reference.method ))) @reference.call
;; Log emit
(emit_statement name: (_) @name.reference.class) @reference.class
;; Inheritance
(inheritance_specifier
ancestor: (user_defined_type (_) @name.reference.class . )) @reference.class
;; Imports ( note that unknown is not standardised )
(import_directive
import_name: (_) @name.reference.module ) @reference.unknown

View File

@@ -0,0 +1,51 @@
(class_declaration
name: (type_identifier) @name.definition.class) @definition.class
(protocol_declaration
name: (type_identifier) @name.definition.interface) @definition.interface
(class_declaration
(class_body
[
(function_declaration
name: (simple_identifier) @name.definition.method
)
(subscript_declaration
(parameter (simple_identifier) @name.definition.method)
)
(init_declaration "init" @name.definition.method)
(deinit_declaration "deinit" @name.definition.method)
]
)
) @definition.method
(protocol_declaration
(protocol_body
[
(protocol_function_declaration
name: (simple_identifier) @name.definition.method
)
(subscript_declaration
(parameter (simple_identifier) @name.definition.method)
)
(init_declaration "init" @name.definition.method)
]
)
) @definition.method
(class_declaration
(class_body
[
(property_declaration
(pattern (simple_identifier) @name.definition.property)
)
]
)
) @definition.property
(property_declaration
(pattern (simple_identifier) @name.definition.property)
) @definition.property
(function_declaration
name: (simple_identifier) @name.definition.function) @definition.function

View File

@@ -0,0 +1,20 @@
(assignment
key: "LABEL"
(value
(content) @name.definition.label)) @definition.label
(assignment
key: "GOTO"
(value
(content) @name.reference.label)) @reference.label
(assignment
key: "ENV"
(env_var) @name.definition.variable) @definition.variable
(match
key: "ENV"
(env_var) @name.reference.variable) @reference.variable
(var_sub
(env_var) @name.reference.variable) @reference.variable

View File

@@ -0,0 +1,9 @@
(struct_specifier name: (type_identifier) @name.definition.class body:(_)) @definition.class
(declaration type: (union_specifier name: (type_identifier) @name.definition.class)) @definition.class
(function_declarator declarator: (identifier) @name.definition.function) @definition.function
(type_definition declarator: (type_identifier) @name.definition.type) @definition.type
(enum_specifier name: (type_identifier) @name.definition.type) @definition.type

View File

@@ -0,0 +1,91 @@
(class_definition
name: (identifier) @name.definition.class) @definition.class
(method_signature
(function_signature)) @definition.method
(type_alias
(type_identifier) @name.definition.type) @definition.type
(method_signature
(getter_signature
name: (identifier) @name.definition.method)) @definition.method
(method_signature
(setter_signature
name: (identifier) @name.definition.method)) @definition.method
(method_signature
(function_signature
name: (identifier) @name.definition.method)) @definition.method
(method_signature
(factory_constructor_signature
(identifier) @name.definition.method)) @definition.method
(method_signature
(constructor_signature
name: (identifier) @name.definition.method)) @definition.method
(method_signature
(operator_signature)) @definition.method
(method_signature) @definition.method
(mixin_declaration
(mixin)
(identifier) @name.definition.mixin) @definition.mixin
(extension_declaration
name: (identifier) @name.definition.extension) @definition.extension
(enum_declaration
name: (identifier) @name.definition.enum) @definition.enum
(function_signature
name: (identifier) @name.definition.function) @definition.function
(new_expression
(type_identifier) @name.reference.class) @reference.class
(initialized_variable_definition
name: (identifier)
value: (identifier) @name.reference.class
value: (selector
"!"?
(argument_part
(arguments
(argument)*))?)?) @reference.class
(assignment_expression
left: (assignable_expression
(identifier)
(unconditional_assignable_selector
"."
(identifier) @name.reference.call))) @reference.call
(assignment_expression
left: (assignable_expression
(identifier)
(conditional_assignable_selector
"?."
(identifier) @name.reference.call))) @reference.call
((identifier) @name
(selector
"!"?
(conditional_assignable_selector
"?." (identifier) @name.reference.call)?
(unconditional_assignable_selector
"."? (identifier) @name.reference.call)?
(argument_part
(arguments
(argument)*))?)*
(cascade_section
(cascade_selector
(identifier)) @name.reference.call
(argument_part
(arguments
(argument)*))?)?) @reference.call

View File

@@ -0,0 +1,77 @@
;; Based on https://github.com/tree-sitter-grammars/tree-sitter-hcl/blob/main/make_grammar.js
;; Which has Apache 2.0 License
;; tags.scm for Terraform (tree-sitter-hcl)
; === Definitions: Terraform Blocks ===
(block
(identifier) @block_type
(string_lit (template_literal) @resource_type)
(string_lit (template_literal) @name.definition.resource)
(body) @definition.resource
) (#eq? @block_type "resource")
(block
(identifier) @block_type
(string_lit (template_literal) @name.definition.module)
(body) @definition.module
) (#eq? @block_type "module")
(block
(identifier) @block_type
(string_lit (template_literal) @name.definition.variable)
(body) @definition.variable
) (#eq? @block_type "variable")
(block
(identifier) @block_type
(string_lit (template_literal) @name.definition.output)
(body) @definition.output
) (#eq? @block_type "output")
(block
(identifier) @block_type
(string_lit (template_literal) @name.definition.provider)
(body) @definition.provider
) (#eq? @block_type "provider")
(block
(identifier) @block_type
(body
(attribute
(identifier) @name.definition.local
(expression) @definition.local
)+
)
) (#eq? @block_type "locals")
; === References: Variables, Locals, Modules, Data, Resources ===
((variable_expr) @ref_type
(get_attr (identifier) @name.reference.variable)
) @reference.variable
(#eq? @ref_type "var")
((variable_expr) @ref_type
(get_attr (identifier) @name.reference.local)
) @reference.local
(#eq? @ref_type "local")
((variable_expr) @ref_type
(get_attr (identifier) @name.reference.module)
) @reference.module
(#eq? @ref_type "module")
((variable_expr) @ref_type
(get_attr (identifier) @data_source_type)
(get_attr (identifier) @name.reference.data)
) @reference.data
(#eq? @ref_type "data")
((variable_expr) @resource_type
(get_attr (identifier) @name.reference.resource)
) @reference.resource
(#not-eq? @resource_type "var")
(#not-eq? @resource_type "local")
(#not-eq? @resource_type "module")
(#not-eq? @resource_type "data")
(#not-eq? @resource_type "provider")
(#not-eq? @resource_type "output")

View File

@@ -0,0 +1,27 @@
; Definitions
(class_declaration
(type_identifier) @name.definition.class) @definition.class
(function_declaration
(simple_identifier) @name.definition.function) @definition.function
(object_declaration
(type_identifier) @name.definition.object) @definition.object
; References
(call_expression
[
(simple_identifier) @name.reference.call
(navigation_expression
(navigation_suffix
(simple_identifier) @name.reference.call))
]) @reference.call
(delegation_specifier
[
(user_type) @name.reference.type
(constructor_invocation
(user_type) @name.reference.type)
]) @reference.type

Some files were not shown because too many files have changed in this diff Show More