aider-ce 0.87.13.dev3__py3-none-any.whl → 0.88.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aider-ce might be problematic. Click here for more details.
- aider/__init__.py +1 -1
- aider/_version.py +2 -2
- aider/args.py +6 -0
- aider/coders/architect_coder.py +3 -3
- aider/coders/base_coder.py +511 -190
- aider/coders/context_coder.py +1 -1
- aider/coders/editblock_func_coder.py +2 -2
- aider/coders/navigator_coder.py +451 -649
- aider/coders/navigator_legacy_prompts.py +49 -284
- aider/coders/navigator_prompts.py +46 -473
- aider/coders/search_replace.py +0 -0
- aider/coders/wholefile_func_coder.py +2 -2
- aider/commands.py +56 -44
- aider/exceptions.py +1 -0
- aider/history.py +14 -12
- aider/io.py +354 -117
- aider/llm.py +12 -4
- aider/main.py +32 -29
- aider/mcp/__init__.py +65 -2
- aider/mcp/server.py +37 -11
- aider/models.py +45 -20
- aider/onboarding.py +5 -5
- aider/repo.py +7 -7
- aider/resources/model-metadata.json +8 -8
- aider/scrape.py +2 -2
- aider/sendchat.py +185 -15
- aider/tools/__init__.py +44 -23
- aider/tools/command.py +18 -0
- aider/tools/command_interactive.py +18 -0
- aider/tools/delete_block.py +23 -0
- aider/tools/delete_line.py +19 -1
- aider/tools/delete_lines.py +20 -1
- aider/tools/extract_lines.py +25 -2
- aider/tools/git.py +142 -0
- aider/tools/grep.py +47 -2
- aider/tools/indent_lines.py +25 -0
- aider/tools/insert_block.py +26 -0
- aider/tools/list_changes.py +15 -0
- aider/tools/ls.py +24 -1
- aider/tools/make_editable.py +18 -0
- aider/tools/make_readonly.py +19 -0
- aider/tools/remove.py +22 -0
- aider/tools/replace_all.py +21 -0
- aider/tools/replace_line.py +20 -1
- aider/tools/replace_lines.py +21 -1
- aider/tools/replace_text.py +22 -0
- aider/tools/show_numbered_context.py +18 -0
- aider/tools/undo_change.py +15 -0
- aider/tools/update_todo_list.py +131 -0
- aider/tools/view.py +23 -0
- aider/tools/view_files_at_glob.py +32 -27
- aider/tools/view_files_matching.py +51 -37
- aider/tools/view_files_with_symbol.py +41 -54
- aider/tools/view_todo_list.py +57 -0
- aider/waiting.py +20 -203
- {aider_ce-0.87.13.dev3.dist-info → aider_ce-0.88.1.dist-info}/METADATA +21 -5
- {aider_ce-0.87.13.dev3.dist-info → aider_ce-0.88.1.dist-info}/RECORD +60 -57
- {aider_ce-0.87.13.dev3.dist-info → aider_ce-0.88.1.dist-info}/WHEEL +0 -0
- {aider_ce-0.87.13.dev3.dist-info → aider_ce-0.88.1.dist-info}/entry_points.txt +0 -0
- {aider_ce-0.87.13.dev3.dist-info → aider_ce-0.88.1.dist-info}/licenses/LICENSE.txt +0 -0
- {aider_ce-0.87.13.dev3.dist-info → aider_ce-0.88.1.dist-info}/top_level.txt +0 -0
aider/waiting.py
CHANGED
|
@@ -1,221 +1,38 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
Use it like:
|
|
7
|
-
|
|
8
|
-
from aider.waiting import WaitingSpinner
|
|
9
|
-
|
|
10
|
-
spinner = WaitingSpinner("Waiting for LLM")
|
|
11
|
-
spinner.start()
|
|
12
|
-
... # long task
|
|
13
|
-
spinner.stop()
|
|
4
|
+
A simple wrapper for rich.status to provide a spinner.
|
|
14
5
|
"""
|
|
15
6
|
|
|
16
|
-
import sys
|
|
17
|
-
import threading
|
|
18
|
-
import time
|
|
19
|
-
|
|
20
7
|
from rich.console import Console
|
|
21
8
|
|
|
22
9
|
|
|
23
10
|
class Spinner:
|
|
24
|
-
"""
|
|
25
|
-
Minimal spinner that scans a single marker back and forth across a line.
|
|
26
|
-
|
|
27
|
-
The animation is pre-rendered into a list of frames. If the terminal
|
|
28
|
-
cannot display unicode the frames are converted to plain ASCII.
|
|
29
|
-
"""
|
|
11
|
+
"""A wrapper around rich.status.Status for displaying a spinner."""
|
|
30
12
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def __init__(self, text: str, width: int = 7):
|
|
13
|
+
def __init__(self, text: str = "Waiting..."):
|
|
34
14
|
self.text = text
|
|
35
|
-
self.start_time = time.time()
|
|
36
|
-
self.last_update = 0.0
|
|
37
|
-
self.visible = False
|
|
38
|
-
self.is_tty = sys.stdout.isatty()
|
|
39
15
|
self.console = Console()
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
" #= ", # space(7) C1 C2 space(1)
|
|
56
|
-
" #= ", # space(6) C1 C2 space(2)
|
|
57
|
-
" #= ", # space(5) C1 C2 space(3)
|
|
58
|
-
" #= ", # space(4) C1 C2 space(4)
|
|
59
|
-
" #= ", # space(3) C1 C2 space(5)
|
|
60
|
-
" #= ", # space(2) C1 C2 space(6)
|
|
61
|
-
" #= ", # space(1) C1 C2 space(7)
|
|
62
|
-
]
|
|
63
|
-
|
|
64
|
-
self.unicode_palette = "░█"
|
|
65
|
-
xlate_from, xlate_to = ("=#", self.unicode_palette)
|
|
66
|
-
|
|
67
|
-
# If unicode is supported, swap the ASCII chars for nicer glyphs.
|
|
68
|
-
if self._supports_unicode():
|
|
69
|
-
translation_table = str.maketrans(xlate_from, xlate_to)
|
|
70
|
-
frames = [f.translate(translation_table) for f in ascii_frames]
|
|
71
|
-
self.scan_char = xlate_to[xlate_from.find("#")]
|
|
72
|
-
else:
|
|
73
|
-
frames = ascii_frames
|
|
74
|
-
self.scan_char = "#"
|
|
75
|
-
|
|
76
|
-
# Bounce the scanner back and forth.
|
|
77
|
-
self.frames = frames
|
|
78
|
-
self.frame_idx = Spinner.last_frame_idx # Initialize from class variable
|
|
79
|
-
self.width = len(frames[0]) - 2 # number of chars between the brackets
|
|
80
|
-
self.animation_len = len(frames[0])
|
|
81
|
-
self.last_display_len = 0 # Length of the last spinner line (frame + text)
|
|
82
|
-
|
|
83
|
-
def _supports_unicode(self) -> bool:
|
|
84
|
-
if not self.is_tty:
|
|
85
|
-
return False
|
|
86
|
-
try:
|
|
87
|
-
out = self.unicode_palette
|
|
88
|
-
out += "\b" * len(self.unicode_palette)
|
|
89
|
-
out += " " * len(self.unicode_palette)
|
|
90
|
-
out += "\b" * len(self.unicode_palette)
|
|
91
|
-
sys.stdout.write(out)
|
|
92
|
-
sys.stdout.flush()
|
|
93
|
-
return True
|
|
94
|
-
except UnicodeEncodeError:
|
|
95
|
-
return False
|
|
96
|
-
except Exception:
|
|
97
|
-
return False
|
|
98
|
-
|
|
99
|
-
def _next_frame(self) -> str:
|
|
100
|
-
frame = self.frames[self.frame_idx]
|
|
101
|
-
self.frame_idx = (self.frame_idx + 1) % len(self.frames)
|
|
102
|
-
Spinner.last_frame_idx = self.frame_idx # Update class variable
|
|
103
|
-
return frame
|
|
104
|
-
|
|
105
|
-
def step(self, text: str = None) -> None:
|
|
106
|
-
if text is not None:
|
|
107
|
-
self.text = text
|
|
108
|
-
|
|
109
|
-
if not self.is_tty:
|
|
110
|
-
return
|
|
111
|
-
|
|
112
|
-
now = time.time()
|
|
113
|
-
if not self.visible and now - self.start_time >= 0.5:
|
|
114
|
-
self.visible = True
|
|
115
|
-
self.last_update = 0.0
|
|
116
|
-
if self.is_tty:
|
|
117
|
-
self.console.show_cursor(False)
|
|
118
|
-
|
|
119
|
-
if not self.visible or now - self.last_update < 0.1:
|
|
120
|
-
return
|
|
121
|
-
|
|
122
|
-
self.last_update = now
|
|
123
|
-
frame_str = self._next_frame()
|
|
124
|
-
|
|
125
|
-
# Determine the maximum width for the spinner line
|
|
126
|
-
# Subtract 2 as requested, to leave a margin or prevent cursor wrapping issues
|
|
127
|
-
max_spinner_width = self.console.width - 2
|
|
128
|
-
if max_spinner_width < 0: # Handle extremely narrow terminals
|
|
129
|
-
max_spinner_width = 0
|
|
130
|
-
|
|
131
|
-
current_text_payload = f" {self.text}"
|
|
132
|
-
line_to_display = f"{frame_str}{current_text_payload}"
|
|
133
|
-
|
|
134
|
-
# Truncate the line if it's too long for the console width
|
|
135
|
-
if len(line_to_display) > max_spinner_width:
|
|
136
|
-
line_to_display = line_to_display[:max_spinner_width]
|
|
137
|
-
|
|
138
|
-
len_line_to_display = len(line_to_display)
|
|
139
|
-
|
|
140
|
-
# Calculate padding to clear any remnants from a longer previous line
|
|
141
|
-
padding_to_clear = " " * max(0, self.last_display_len - len_line_to_display)
|
|
142
|
-
|
|
143
|
-
# Write the spinner frame, text, and any necessary clearing spaces
|
|
144
|
-
sys.stdout.write(f"\r{line_to_display}{padding_to_clear}")
|
|
145
|
-
self.last_display_len = len_line_to_display
|
|
146
|
-
|
|
147
|
-
# Calculate number of backspaces to position cursor at the scanner character
|
|
148
|
-
scan_char_abs_pos = frame_str.find(self.scan_char)
|
|
149
|
-
|
|
150
|
-
# Total characters written to the line (frame + text + padding)
|
|
151
|
-
total_chars_written_on_line = len_line_to_display + len(padding_to_clear)
|
|
152
|
-
|
|
153
|
-
# num_backspaces will be non-positive if scan_char_abs_pos is beyond
|
|
154
|
-
# total_chars_written_on_line (e.g., if the scan char itself was truncated).
|
|
155
|
-
# (e.g., if the scan char itself was truncated).
|
|
156
|
-
# In such cases, (effectively) 0 backspaces are written,
|
|
157
|
-
# and the cursor stays at the end of the line.
|
|
158
|
-
num_backspaces = total_chars_written_on_line - scan_char_abs_pos
|
|
159
|
-
sys.stdout.write("\b" * num_backspaces)
|
|
160
|
-
sys.stdout.flush()
|
|
161
|
-
|
|
162
|
-
def end(self) -> None:
|
|
163
|
-
if self.visible and self.is_tty:
|
|
164
|
-
clear_len = self.last_display_len # Use the length of the last displayed content
|
|
165
|
-
sys.stdout.write("\r" + " " * clear_len + "\r")
|
|
166
|
-
sys.stdout.flush()
|
|
167
|
-
self.console.show_cursor(True)
|
|
168
|
-
self.visible = False
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
class WaitingSpinner:
|
|
172
|
-
"""Background spinner that can be started/stopped safely."""
|
|
173
|
-
|
|
174
|
-
def __init__(self, text: str = "Waiting for LLM", delay: float = 0.15):
|
|
175
|
-
self.spinner = Spinner(text)
|
|
176
|
-
self.delay = delay
|
|
177
|
-
self._stop_event = threading.Event()
|
|
178
|
-
self._thread = threading.Thread(target=self._spin, daemon=True)
|
|
179
|
-
|
|
180
|
-
def _spin(self):
|
|
181
|
-
while not self._stop_event.is_set():
|
|
182
|
-
self.spinner.step()
|
|
183
|
-
time.sleep(self.delay)
|
|
184
|
-
self.spinner.end()
|
|
185
|
-
|
|
186
|
-
def start(self):
|
|
187
|
-
"""Start the spinner in a background thread."""
|
|
188
|
-
if not self._thread.is_alive():
|
|
189
|
-
self._thread.start()
|
|
190
|
-
|
|
191
|
-
def stop(self):
|
|
192
|
-
"""Request the spinner to stop and wait briefly for the thread to exit."""
|
|
193
|
-
self._stop_event.set()
|
|
194
|
-
if self._thread.is_alive():
|
|
195
|
-
self._thread.join(timeout=self.delay)
|
|
196
|
-
self.spinner.end()
|
|
16
|
+
self.status = None
|
|
17
|
+
|
|
18
|
+
def step(self, message=None):
|
|
19
|
+
"""Start the spinner or update its text."""
|
|
20
|
+
if self.status is None:
|
|
21
|
+
self.status = self.console.status(self.text, spinner="dots2")
|
|
22
|
+
self.status.start()
|
|
23
|
+
elif message:
|
|
24
|
+
self.status.update(message)
|
|
25
|
+
|
|
26
|
+
def end(self):
|
|
27
|
+
"""Stop the spinner."""
|
|
28
|
+
if self.status:
|
|
29
|
+
self.status.stop()
|
|
30
|
+
self.status = None
|
|
197
31
|
|
|
198
32
|
# Allow use as a context-manager
|
|
199
33
|
def __enter__(self):
|
|
200
|
-
self.
|
|
34
|
+
self.step()
|
|
201
35
|
return self
|
|
202
36
|
|
|
203
37
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
204
|
-
self.
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
def main():
|
|
208
|
-
spinner = Spinner("Running spinner...")
|
|
209
|
-
try:
|
|
210
|
-
for _ in range(100):
|
|
211
|
-
time.sleep(0.15)
|
|
212
|
-
spinner.step()
|
|
213
|
-
print("Success!")
|
|
214
|
-
except KeyboardInterrupt:
|
|
215
|
-
print("\nInterrupted by user.")
|
|
216
|
-
finally:
|
|
217
|
-
spinner.end()
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
if __name__ == "__main__":
|
|
221
|
-
main()
|
|
38
|
+
self.end()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aider-ce
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.88.1
|
|
4
4
|
Summary: Aider is AI pair programming in your terminal
|
|
5
5
|
Project-URL: Homepage, https://github.com/dwash96/aider-ce
|
|
6
6
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -56,6 +56,7 @@ Requires-Dist: tree-sitter==0.23.2; python_version < "3.10"
|
|
|
56
56
|
Requires-Dist: tree-sitter>=0.25.1; python_version >= "3.10"
|
|
57
57
|
Provides-Extra: dev
|
|
58
58
|
Requires-Dist: pytest; extra == "dev"
|
|
59
|
+
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
59
60
|
Requires-Dist: pytest-env; extra == "dev"
|
|
60
61
|
Requires-Dist: pip-tools; extra == "dev"
|
|
61
62
|
Requires-Dist: lox; extra == "dev"
|
|
@@ -103,7 +104,7 @@ The current priorities are to improve core capabilities and user experience of t
|
|
|
103
104
|
|
|
104
105
|
5. **TUI Experience** - [Discussion](https://github.com/dwash96/aider-ce/issues/48)
|
|
105
106
|
* [ ] Add a full TUI (probably using textual) to have a visual interface competitive with the other coding agent terminal programs
|
|
106
|
-
* [
|
|
107
|
+
* [x] Re-integrate pretty output formatting
|
|
107
108
|
* [ ] Implement a response area, a prompt area with current auto completion capabilities, and a helper area for management utility commands
|
|
108
109
|
|
|
109
110
|
## Fork Additions
|
|
@@ -116,6 +117,7 @@ This project aims to be compatible with upstream Aider, but with priority commit
|
|
|
116
117
|
* [MCP Multi Tool Response](https://github.com/quinlanjager/aider/pull/1)
|
|
117
118
|
* [Navigator Mode: #3781](https://github.com/Aider-AI/aider/pull/3781)
|
|
118
119
|
* [Navigator Mode Large File Count](https://github.com/Aider-AI/aider/commit/b88a7bda649931798209945d9687718316c7427f)
|
|
120
|
+
* [Fix navigator mode auto commit](https://github.com/dwash96/aider-ce/issues/38)
|
|
119
121
|
* [Qwen 3: #4383](https://github.com/Aider-AI/aider/pull/4383)
|
|
120
122
|
* [Fuzzy Search: #4366](https://github.com/Aider-AI/aider/pull/4366)
|
|
121
123
|
* [Map Cache Location Config: #2911](https://github.com/Aider-AI/aider/pull/2911)
|
|
@@ -146,20 +148,34 @@ This project aims to be compatible with upstream Aider, but with priority commit
|
|
|
146
148
|
* [MCP Configuration](https://github.com/dwash96/aider-ce/blob/main/aider/website/docs/config/mcp.md)
|
|
147
149
|
|
|
148
150
|
### Installation Instructions
|
|
149
|
-
This project
|
|
151
|
+
This project can be installed using several methods:
|
|
150
152
|
|
|
151
|
-
|
|
153
|
+
### Package Installation
|
|
154
|
+
```bash
|
|
152
155
|
pip install aider-ce
|
|
153
156
|
```
|
|
154
157
|
|
|
155
158
|
or
|
|
156
159
|
|
|
157
|
-
```
|
|
160
|
+
```bash
|
|
158
161
|
uv pip install aider-ce
|
|
159
162
|
```
|
|
160
163
|
|
|
161
164
|
The package exports an `aider-ce` command that accepts all of Aider's configuration options
|
|
162
165
|
|
|
166
|
+
### Tool Installation
|
|
167
|
+
```bash
|
|
168
|
+
uv tool install --python python3.12 aider-ce
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Use the tool installation so aider doesn't interfere with your development environment
|
|
172
|
+
|
|
173
|
+
### All Contributors (Both Aider Main and Aider-CE)
|
|
174
|
+
|
|
175
|
+
<a href="https://github.com/dwash96/aider-ce/graphs/contributors">
|
|
176
|
+
<img src="https://contrib.rocks/image?repo=dwash96/aider-ce" />
|
|
177
|
+
</a>
|
|
178
|
+
|
|
163
179
|
<p align="center">
|
|
164
180
|
<a href="https://aider.chat/"><img src="https://aider.chat/assets/logo.svg" alt="Aider Logo" width="300"></a>
|
|
165
181
|
</p>
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
aider/__init__.py,sha256=
|
|
1
|
+
aider/__init__.py,sha256=uLgefX9T20Pa_79q2BxTxhGYgUgMd0bxHBr1BMDVUvM,496
|
|
2
2
|
aider/__main__.py,sha256=Vdhw8YA1K3wPMlbJQYL5WqvRzAKVeZ16mZQFO9VRmCo,62
|
|
3
|
-
aider/_version.py,sha256=
|
|
3
|
+
aider/_version.py,sha256=RTS3LOu5_z44owvzPaBz4n8oN6zJiBEfSJVG7R6sc08,706
|
|
4
4
|
aider/analytics.py,sha256=c5ujaCcMc3yG-9rz_0oSsqBwmVQRxJnui6iE_yDyY_M,7507
|
|
5
|
-
aider/args.py,sha256=
|
|
5
|
+
aider/args.py,sha256=lC64t3gp-SJ1Sv51LDHpTAsiU2ZwiFWerYf3iu9mtWY,32742
|
|
6
6
|
aider/args_formatter.py,sha256=CBRnzHyZk-fFCK0ekAzb6C4PPJOU-VTpWIIsJe3qUhk,6369
|
|
7
7
|
aider/change_tracker.py,sha256=djUlUuewhwRAlC0x6jIUZNpn6_PK1YyiNTMYvlvDeTE,4884
|
|
8
|
-
aider/commands.py,sha256=
|
|
8
|
+
aider/commands.py,sha256=TFQPjSy7y_BgU2WUB5cTQM2eCHFbd2UO86KGyNhLUVI,80529
|
|
9
9
|
aider/copypaste.py,sha256=J99QrXILUED_GPdEqxt7WjGZ5if8sfy0VQTzsV2jBrE,2095
|
|
10
10
|
aider/deprecated.py,sha256=SNeAWR7ih87F5AyFpC4pxRoJAaw8measBW583w0EUT8,4277
|
|
11
11
|
aider/diffs.py,sha256=y6_rxIKe3FPCIsVy_RRkHdofguYOhYBr2Oytr5AqjHI,3028
|
|
12
12
|
aider/dump.py,sha256=-naWnGTc0-lAe_93WxBTpunPRfzNlUK7Q5zgXOprHfA,653
|
|
13
13
|
aider/editor.py,sha256=_WAipJYEOx-q69mPp_hHAQ2yfeoZklBYjS0rTLxCHEA,4364
|
|
14
|
-
aider/exceptions.py,sha256=
|
|
14
|
+
aider/exceptions.py,sha256=RfGohVQ5Z6dw_hxqRukabsEtSaZOd_uFxiFT_arpvKc,3957
|
|
15
15
|
aider/format_settings.py,sha256=wHW4bLTKwqUKDGX4onxirC4cNgeJ-lHPuS1H04_R444,1041
|
|
16
16
|
aider/gui.py,sha256=JnHvli1JTCGHAgsOZ8HkAWOKAFxmngbyviZIJeYvjsw,17573
|
|
17
17
|
aider/help.py,sha256=wExA1E9vuJccKBH1VvKmH-zJqFi-vhNc0n3CD3Y-8fI,4432
|
|
18
18
|
aider/help_pats.py,sha256=syn7pSVJdcf8uMKTxnZUZBQu-r8JMAi-rrC-k2er1Fk,376
|
|
19
|
-
aider/history.py,sha256=
|
|
20
|
-
aider/io.py,sha256=
|
|
19
|
+
aider/history.py,sha256=083Gm7KxNo1PXMFHYiChigxCbRzmLkfNlesODdCC-eY,6067
|
|
20
|
+
aider/io.py,sha256=ZvkXA_GKQMK1MeCiduyRCw7OES4lbYrRTAv2ZtshhPM,56858
|
|
21
21
|
aider/linter.py,sha256=t5jwWZ1dvIzRtig1kTSjzl6u1LRfw0e19qwNIen2jAg,7998
|
|
22
|
-
aider/llm.py,sha256=
|
|
23
|
-
aider/main.py,sha256=
|
|
22
|
+
aider/llm.py,sha256=dtT0mavXP1SyR0Zu_ysZXKdbs3y53q2PevvDKBUrs6s,1505
|
|
23
|
+
aider/main.py,sha256=2Pk5nJhUf-aoa2cbs6VPQA0lfneRYgw-dCbkFO8r8WY,46331
|
|
24
24
|
aider/mdstream.py,sha256=fS9iQUQmIJPEMo7o1psPGE2yYj31MI3m3msdN-jEzUw,7594
|
|
25
|
-
aider/models.py,sha256=
|
|
26
|
-
aider/onboarding.py,sha256=
|
|
25
|
+
aider/models.py,sha256=yflYZ64oza4QH04vIPI2n7rcsdSw2Np4BRwRKlb3STQ,45455
|
|
26
|
+
aider/onboarding.py,sha256=pMWl--NOH_hb4w1wVxLmv8W0akcrilo1Pxf9XUSqBXs,16135
|
|
27
27
|
aider/openrouter.py,sha256=FAdv7L8xgILXgmC_b1gnuYJStmpaPyiZMp-7nSdInlQ,4642
|
|
28
28
|
aider/prompts.py,sha256=Qv-JS8BzGjusEPmR3-qmjjvN3S9mb7W4KpWiGui-Jk0,1954
|
|
29
29
|
aider/reasoning_tags.py,sha256=VOg5wM7JSrMo47OyS1FFuLrr2cp2KyutEC4_zsUsCbY,2288
|
|
30
|
-
aider/repo.py,sha256=
|
|
30
|
+
aider/repo.py,sha256=gjIEkpLNqymOSooWT3BYZ9f9ukLwd6QCd3wmN1hR1WU,22934
|
|
31
31
|
aider/repomap.py,sha256=KA-ucbHNiLqHQ-iaCyPX5otJdugqexRUY0bwyaLPBlE,35082
|
|
32
32
|
aider/report.py,sha256=WobVDEK6YxB0GpHrF5twTfUYH5dsNWFIHFsB9lds7E8,5899
|
|
33
33
|
aider/run_cmd.py,sha256=9-NpSL4hlqIndf_EN1jnmWfjX7vIPbDgKgGPGRAr2Rw,4223
|
|
34
|
-
aider/scrape.py,sha256=
|
|
35
|
-
aider/sendchat.py,sha256=
|
|
34
|
+
aider/scrape.py,sha256=1d5RTtHLJ8JersGoQWm0mDVk_rQfsY4Xm-0jTK8xEPw,8346
|
|
35
|
+
aider/sendchat.py,sha256=fY9scUSGdcLUDrD3PWUEyp6njRZZ138l79oXz_bks8o,7700
|
|
36
36
|
aider/special.py,sha256=OhsBWWM-DWwjWbi6kE7EqR4CiUfyJ6qJuCgcmywZSAc,4415
|
|
37
37
|
aider/urls.py,sha256=W0OL4pahSIZAaSUHPvn9KPN1aIkXE5nAKcizMKy4EKg,1122
|
|
38
38
|
aider/utils.py,sha256=wkT43yJx59Q0OfIlzNX2n9rPyEEo7WLKXdXoxNJzdz4,12231
|
|
39
39
|
aider/versioncheck.py,sha256=R9R1gUJYgOtmUycpJ4YqxCkCOylQBSiZ_p_BAnHJ8H4,2977
|
|
40
40
|
aider/voice.py,sha256=hNQCMCWhljcROJhzsvnkwgzzgQQbFORkpROhKeqICig,6797
|
|
41
|
-
aider/waiting.py,sha256=
|
|
41
|
+
aider/waiting.py,sha256=QbDnh1U6oJPqkUrRM3DC8iA5-djbKRW5iJh6Q3VOnrI,944
|
|
42
42
|
aider/watch.py,sha256=znCZhHCBlcMm-4SRJP-B0mWfsl5q26DAd-zlk2zykQ8,10641
|
|
43
43
|
aider/watch_prompts.py,sha256=JHmXPZUKm1b1og22QolboU-Xie6bJWhmlbKBi2StkdI,556
|
|
44
44
|
aider/coders/__init__.py,sha256=iB0SkjLra5cb5byPx-bzrmlH6Ud7GnpdOG3pWMhysLs,1102
|
|
45
|
-
aider/coders/architect_coder.py,sha256=
|
|
45
|
+
aider/coders/architect_coder.py,sha256=725D5ze2nWCEQeUrYpQjYTwnLPVITpSSvRi-243HYIQ,1640
|
|
46
46
|
aider/coders/architect_prompts.py,sha256=R0_KxZjo-km_yNaeDAquDP9qfp3IdWgrdMirCWe0RIE,1658
|
|
47
47
|
aider/coders/ask_coder.py,sha256=Omk4Ih8-prefkMZ_jnRS3faoW5CQUakHOvZ-s7piM3U,210
|
|
48
48
|
aider/coders/ask_prompts.py,sha256=W6HwDUfzfOLt9q8sl6rw7fN7b5ND90FkxCZrtrWl5vY,1171
|
|
49
|
-
aider/coders/base_coder.py,sha256
|
|
49
|
+
aider/coders/base_coder.py,sha256=QvHRbROeeibccCTv_SXLvLKL4mU9wItTFCYm6cyqZMM,128069
|
|
50
50
|
aider/coders/base_prompts.py,sha256=O3bBjhf0hgvtKbQ9QyOMnRy8LrmfLyT9dVAcXxHS_3k,3659
|
|
51
51
|
aider/coders/chat_chunks.py,sha256=8HPet6cmQdgWvaA_tGpinO4ASMst53uTcSEtNVTYDXE,1981
|
|
52
|
-
aider/coders/context_coder.py,sha256=
|
|
52
|
+
aider/coders/context_coder.py,sha256=_RSzu6ptHo2lkTN7-e9TpcZKzqbQF2eNX5MkyswGm3s,1577
|
|
53
53
|
aider/coders/context_prompts.py,sha256=lnHZal1daOWsyImJO8qk9Kqii4iFNxTRd_CuHV-llJ0,3082
|
|
54
54
|
aider/coders/editblock_coder.py,sha256=JE3wj1zNGZKLzawZAa5ZGnp4bRKm9w0xQAuq77WhNqM,19616
|
|
55
55
|
aider/coders/editblock_fenced_coder.py,sha256=ZaU43k4w4jH1oQAKq-LJ3OpLSyLvT2t9apwspYjjqvg,346
|
|
56
56
|
aider/coders/editblock_fenced_prompts.py,sha256=2YyHKt9RaN1KpCiW9n8kGBp8oRxP1nU7KLdguM2cCbU,4415
|
|
57
|
-
aider/coders/editblock_func_coder.py,sha256=
|
|
57
|
+
aider/coders/editblock_func_coder.py,sha256=3ZiGfmIzZMqR7dESjtjNqVDLUGPFq-ZLz5nijMOyvB8,5329
|
|
58
58
|
aider/coders/editblock_func_prompts.py,sha256=t5NLHkggCxZPLOAwo35fml0hYtIDn-nmIU7nRpBBlnQ,886
|
|
59
59
|
aider/coders/editblock_prompts.py,sha256=9ItTxPlr4QsAMd0JB893x6VE4zR_4XB6fmCyNiPWH7c,5897
|
|
60
60
|
aider/coders/editor_diff_fenced_coder.py,sha256=xrv0bCCBXwdmy1CpWmqi1frlSYsnpA0TQv29M7hgT94,338
|
|
@@ -65,9 +65,9 @@ aider/coders/editor_whole_coder.py,sha256=PvF4giX0sUWji5qRQDhxsNkve1tzi8txZAT9Mi
|
|
|
65
65
|
aider/coders/editor_whole_prompts.py,sha256=J6uUa89ZLoWJlbmwzXzvjVwdRgBbRmwfs9K3czZoJ7A,474
|
|
66
66
|
aider/coders/help_coder.py,sha256=aQH7WTTCDUVNIOhA5-aSU00kaX6s6KaA1nAUoqlM2LU,355
|
|
67
67
|
aider/coders/help_prompts.py,sha256=V4TWmubkM0vQt4M1luVSjGHXNw0Fw1tTPPUh7HzOpRM,1524
|
|
68
|
-
aider/coders/navigator_coder.py,sha256=
|
|
69
|
-
aider/coders/navigator_legacy_prompts.py,sha256=
|
|
70
|
-
aider/coders/navigator_prompts.py,sha256=
|
|
68
|
+
aider/coders/navigator_coder.py,sha256=uYOQIeoZRItkMMy8qBXmSx8NwHKsmnSjTMp7S2R3AHY,111998
|
|
69
|
+
aider/coders/navigator_legacy_prompts.py,sha256=fazr0QzE-7m9-foVLWUONh0iOhPC8GalyDQ6zbd-L-4,5632
|
|
70
|
+
aider/coders/navigator_prompts.py,sha256=hMYxMX60d-I5BOHvPgKHdTnQ34Z9YkcBmWrMUsVnjlY,5635
|
|
71
71
|
aider/coders/patch_coder.py,sha256=f6-7VilMaMeYcZFQgIVWFycePo6IfZ6r9DQT5DpShBE,30288
|
|
72
72
|
aider/coders/patch_prompts.py,sha256=dSOs7FPnglFJIKIu7FlMB1gL21N4z-Zwv6sMucQCXUU,6012
|
|
73
73
|
aider/coders/search_replace.py,sha256=5Qzib7g4bt82sI2yyCf7hpl599wkobxZgVGnrCCgEkc,19813
|
|
@@ -79,11 +79,11 @@ aider/coders/udiff_prompts.py,sha256=2IwzHuLkE0sPEbQub0fnzjgrdJ5hRrH_1qS1RHK8Jgs
|
|
|
79
79
|
aider/coders/udiff_simple.py,sha256=UjovEM-j51gLRZOpEL_dFxVTPs0CMwTJJNfUIaMKiE8,452
|
|
80
80
|
aider/coders/udiff_simple_prompts.py,sha256=t6k8nFDQaKjdxXKwMiSNSe1BL6kAaUrgaTIPPOEr4_M,888
|
|
81
81
|
aider/coders/wholefile_coder.py,sha256=uPoNNeSia1wrl4oiPjwnYrtVej7hXa2OepGsJC9t1S8,5131
|
|
82
|
-
aider/coders/wholefile_func_coder.py,sha256=
|
|
82
|
+
aider/coders/wholefile_func_coder.py,sha256=pyQHy-VP1gFb4-4EHmYLxRkCP0Ss4nlA4-aQdBVAPQU,4261
|
|
83
83
|
aider/coders/wholefile_func_prompts.py,sha256=M5-d6qRYUeRTelK5w2mQYkVfFV_caPc-qGfNHlmbmJs,868
|
|
84
84
|
aider/coders/wholefile_prompts.py,sha256=9un0j4lH0mKh39wZaRA1Md9gQBQ_kdAzexbeEmqf8wo,2015
|
|
85
|
-
aider/mcp/__init__.py,sha256=
|
|
86
|
-
aider/mcp/server.py,sha256=
|
|
85
|
+
aider/mcp/__init__.py,sha256=MXjxSCDxcxOGTpVEi67HgMk_OHH11Ba_FxLJk09JkqQ,5821
|
|
86
|
+
aider/mcp/server.py,sha256=sGlmgDMZ8LBgUikSq0I1y48OoTIhHMc4_Y1ST-amK1Q,5253
|
|
87
87
|
aider/queries/tree-sitter-language-pack/README.md,sha256=ivZSEuWqYfUVLZl2AZZGRlm0bQsaG-VTBKBwACyM07k,291
|
|
88
88
|
aider/queries/tree-sitter-language-pack/arduino-tags.scm,sha256=HbgdothT9Jjk56COXTtUkVAdZ14rZNnqzLbWVLeRs5U,177
|
|
89
89
|
aider/queries/tree-sitter-language-pack/c-tags.scm,sha256=EIz45o5hBh8yEuck5ZR_4IpcGyWSeNrzxFmtkKZGt2k,461
|
|
@@ -141,34 +141,37 @@ aider/queries/tree-sitter-languages/rust-tags.scm,sha256=9ljM1nzhfPs_ZTRw7cr2P9T
|
|
|
141
141
|
aider/queries/tree-sitter-languages/scala-tags.scm,sha256=UxQjz80JIrrJ7Pm56uUnQyThfmQNvwk7aQzPNypB-Ao,1761
|
|
142
142
|
aider/queries/tree-sitter-languages/typescript-tags.scm,sha256=OMdCeedPiA24ky82DpgTMKXK_l2ySTuF2zrQ2fJAi9E,1253
|
|
143
143
|
aider/resources/__init__.py,sha256=09npmZFptj6XR6ZeEuekpcK2stecKEjI59zR0Vz2JU8,142
|
|
144
|
-
aider/resources/model-metadata.json,sha256=
|
|
144
|
+
aider/resources/model-metadata.json,sha256=fFBW3iBFAZlhEPXyM-5_8qYEEOCx6tFqMu2Yh-5oBLI,28667
|
|
145
145
|
aider/resources/model-settings.yml,sha256=bqpgKJRNZUcSlXyuZgTKFybf61kW5NRuoIVyOMZztwc,58325
|
|
146
|
-
aider/tools/__init__.py,sha256=
|
|
147
|
-
aider/tools/command.py,sha256=
|
|
148
|
-
aider/tools/command_interactive.py,sha256=
|
|
149
|
-
aider/tools/delete_block.py,sha256=
|
|
150
|
-
aider/tools/delete_line.py,sha256=
|
|
151
|
-
aider/tools/delete_lines.py,sha256=
|
|
152
|
-
aider/tools/extract_lines.py,sha256=
|
|
153
|
-
aider/tools/
|
|
154
|
-
aider/tools/
|
|
155
|
-
aider/tools/
|
|
156
|
-
aider/tools/
|
|
157
|
-
aider/tools/
|
|
158
|
-
aider/tools/
|
|
159
|
-
aider/tools/
|
|
160
|
-
aider/tools/
|
|
161
|
-
aider/tools/
|
|
162
|
-
aider/tools/
|
|
163
|
-
aider/tools/
|
|
164
|
-
aider/tools/
|
|
165
|
-
aider/tools/
|
|
146
|
+
aider/tools/__init__.py,sha256=JGSFRiFm5ki5mfojkZqPsAQRZ6ZRsuI3Qq-b-dPlz5s,2056
|
|
147
|
+
aider/tools/command.py,sha256=SjCvNL7vaZ_mKpp8IlRs0gEERT4mbQ-TqZueHjVjWsU,3066
|
|
148
|
+
aider/tools/command_interactive.py,sha256=U5Ztgk_RmbvVuaBPDbmJsU_nD25PUBCqH4FYi5VG8Ns,2646
|
|
149
|
+
aider/tools/delete_block.py,sha256=_TQ3ytK3gjSltMh3ndegwi-RxMyeZzTq07IKpr6kX3A,5099
|
|
150
|
+
aider/tools/delete_line.py,sha256=Lq7gHCt1a6kyEbjRpYftJAiWFH4-PuYoYXR1GJxydug,4442
|
|
151
|
+
aider/tools/delete_lines.py,sha256=mDHHM8TJW3Nc4529OjvCmBsuju6XSS2mglw5BVBF_JE,5448
|
|
152
|
+
aider/tools/extract_lines.py,sha256=Pzf1E7X3i0emH2AZe_yiL5xk9Zlk-xeso05ICg3Ix8o,13323
|
|
153
|
+
aider/tools/git.py,sha256=ookrcYteYpksCf7m-azlp3D17b6XvRUQUT8avYumBFg,3769
|
|
154
|
+
aider/tools/grep.py,sha256=qUBINkRucivSz1E-O1Nvqw6_9vvc8iEfGYuy9ihi2cI,8799
|
|
155
|
+
aider/tools/indent_lines.py,sha256=7WpRTWDfavLl-FVJ69_tfcCxI7oMF88YAbhUoa40TRE,6886
|
|
156
|
+
aider/tools/insert_block.py,sha256=7Y6wCr670wWNUuc2esRMcOAaQ4r9co811psSBnzzklw,8897
|
|
157
|
+
aider/tools/list_changes.py,sha256=4wi8cE1NvC-Ae0XkeRDKdDd0noeQpCQErPTuaXcrjKM,2032
|
|
158
|
+
aider/tools/ls.py,sha256=GKqNHg4njklt4bUlr20ZnZdJcPF-s0-5iHOxwvEeFJU,2467
|
|
159
|
+
aider/tools/make_editable.py,sha256=5NcGq1MjgME66isaegv_9AW2Fxbd9YG9-Q95KyIgvI4,2355
|
|
160
|
+
aider/tools/make_readonly.py,sha256=V-oGBmDoA0gpip7FbboZkfYWmMffCqS1249iaDNs5aU,1627
|
|
161
|
+
aider/tools/remove.py,sha256=23v21rS3-2cbd8_o-jBkNWlsV6OtguPFl2F21jIGchc,2645
|
|
162
|
+
aider/tools/replace_all.py,sha256=ZkBPZztOXWkBxa1o5QSay-iv2EsbghNu7gxMyEueMqw,3372
|
|
163
|
+
aider/tools/replace_line.py,sha256=sOdGr5CIKehhYYygq-aM1OeHbEMHTFQsNJTlDNLQUug,5368
|
|
164
|
+
aider/tools/replace_lines.py,sha256=S3k1S01KA6heaemfS5wR_sXHRp_aX171X1hRsCEEqmA,6232
|
|
165
|
+
aider/tools/replace_text.py,sha256=AsnqAIRjbUEyWyzhiNdYB6RpQBa5psneo7pxdqVBC20,5223
|
|
166
|
+
aider/tools/show_numbered_context.py,sha256=8zbKJBPDcXos4kzrXnmXmjUGZp5qP0g6kKtbLvr8SAk,4708
|
|
166
167
|
aider/tools/tool_utils.py,sha256=iPDqRVG8UFksMeEiZZo_zd4-3NWKLdndBwEc-2uDkM0,11653
|
|
167
|
-
aider/tools/undo_change.py,sha256=
|
|
168
|
-
aider/tools/
|
|
169
|
-
aider/tools/
|
|
170
|
-
aider/tools/
|
|
171
|
-
aider/tools/
|
|
168
|
+
aider/tools/undo_change.py,sha256=nS7Q67ZDsf96x4NgzTyZeJFzneyNztOAIJ6MXt-G2js,2997
|
|
169
|
+
aider/tools/update_todo_list.py,sha256=n2Nj5FbKuhpcHxPqXwL0BkH5shbs1e6SgGEdEqGnLDw,4520
|
|
170
|
+
aider/tools/view.py,sha256=odwSlXtjuWHNOXdgLzIAlB4uNKEJIXb7eaxZSUHS3dM,1127
|
|
171
|
+
aider/tools/view_files_at_glob.py,sha256=9N8ChkZ-D3v3UmOwyNd4S6Ik8zL0mMliGgBPzOLN1Q8,2428
|
|
172
|
+
aider/tools/view_files_matching.py,sha256=PjiW6AUJmoMioYnUSYa6wBAcQBlybStr5GyX0F1ecLw,4712
|
|
173
|
+
aider/tools/view_files_with_symbol.py,sha256=KQn2NtMIUNLKnOIL0khJVvZlRMkxRn_aXfyjuk0XBbA,4510
|
|
174
|
+
aider/tools/view_todo_list.py,sha256=5Ekd5ZW9OQRjKFGJcRt_Sj45Z6MxqDwrEhn6PyISlNc,1968
|
|
172
175
|
aider/website/Gemfile,sha256=TERjHg_DN8PeMwdyY8xqy55IR-Pqc47ffRHoneo64QU,196
|
|
173
176
|
aider/website/_includes/blame.md,sha256=rfN9EpmSW4cytdifOd2B-G7gcfY-SgtXntkyvay8pXY,5377
|
|
174
177
|
aider/website/_includes/get-started.md,sha256=IxIQCMownQNDouRbDkHHzsl6q7wfh2e-zKLEK3RpKfw,435
|
|
@@ -258,9 +261,9 @@ aider/website/docs/usage/tutorials.md,sha256=ZKBztbUtucHOiv9h8gvWiWTP6MTSsFyz4mA
|
|
|
258
261
|
aider/website/docs/usage/voice.md,sha256=BtX7pHRgHRWUmrNbS4JssC-SO8RrJ_OetBCtIYpO0pU,3452
|
|
259
262
|
aider/website/docs/usage/watch.md,sha256=OVF14lGtv1vhSXRE8PpxQ3YW-uXSifarUbmLBjmLRyA,7940
|
|
260
263
|
aider/website/share/index.md,sha256=P51aDw9AT8AVbsU7v6g1tWuMjly7y_plM_ZI1ScaT8Y,3172
|
|
261
|
-
aider_ce-0.
|
|
262
|
-
aider_ce-0.
|
|
263
|
-
aider_ce-0.
|
|
264
|
-
aider_ce-0.
|
|
265
|
-
aider_ce-0.
|
|
266
|
-
aider_ce-0.
|
|
264
|
+
aider_ce-0.88.1.dist-info/licenses/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
265
|
+
aider_ce-0.88.1.dist-info/METADATA,sha256=3Bl3Ayxcg5RkIKkU8bU0IBq6K6xwk2e3UXkzJVU5Lq0,20820
|
|
266
|
+
aider_ce-0.88.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
267
|
+
aider_ce-0.88.1.dist-info/entry_points.txt,sha256=OxI0JxfyJrc24nTmsdvpaWUx8Flz2huOij_-ifp-48w,69
|
|
268
|
+
aider_ce-0.88.1.dist-info/top_level.txt,sha256=uwOA6ycgSiRLrBsaRBcIeN_eBKAX78U01_KDEHR8mBk,6
|
|
269
|
+
aider_ce-0.88.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|