@@ -118,7 +118,9 @@ async def prepare_prompt(self, request: ReviewPendingChangesRequest) -> str:
118
118
all_diffs = []
119
119
repo_summaries = []
120
120
total_tokens = 0
121
- max_tokens = MAX_CONTEXT_TOKENS - 50000 # Reserve tokens for prompt and response
121
+ max_tokens = (
122
+ MAX_CONTEXT_TOKENS - 50000
123
+ ) # Reserve tokens for prompt and response
122
124
123
125
for repo_path in repositories :
124
126
repo_name = os .path .basename (repo_path ) or "root"
@@ -151,9 +153,7 @@ async def prepare_prompt(self, request: ReviewPendingChangesRequest) -> str:
151
153
["diff" , "--name-only" , f"{ request .compare_to } ...HEAD" ],
152
154
)
153
155
if success and files_output .strip ():
154
- changed_files = [
155
- f for f in files_output .strip ().split ("\n " ) if f
156
- ]
156
+ changed_files = [f for f in files_output .strip ().split ("\n " ) if f ]
157
157
158
158
# Generate per-file diffs
159
159
for file_path in changed_files :
@@ -170,9 +170,11 @@ async def prepare_prompt(self, request: ReviewPendingChangesRequest) -> str:
170
170
# Format diff with file header
171
171
safe_file_name = self ._sanitize_filename (file_path )
172
172
diff_header = f"\n --- BEGIN DIFF: { repo_name } / { file_path } (compare to { request .compare_to } ) ---\n "
173
- diff_footer = f"\n --- END DIFF: { repo_name } / { file_path } ---\n "
173
+ diff_footer = (
174
+ f"\n --- END DIFF: { repo_name } / { file_path } ---\n "
175
+ )
174
176
formatted_diff = diff_header + diff + diff_footer
175
-
177
+
176
178
# Check token limit
177
179
diff_tokens = estimate_tokens (formatted_diff )
178
180
if total_tokens + diff_tokens <= max_tokens :
@@ -200,11 +202,14 @@ async def prepare_prompt(self, request: ReviewPendingChangesRequest) -> str:
200
202
if success and diff .strip ():
201
203
safe_file_name = self ._sanitize_filename (file_path )
202
204
diff_header = f"\n --- BEGIN DIFF: { repo_name } / { file_path } (staged) ---\n "
203
- diff_footer = f"\n --- END DIFF: { repo_name } / { file_path } ---\n "
205
+ diff_footer = (
206
+ f"\n --- END DIFF: { repo_name } / { file_path } ---\n "
207
+ )
204
208
formatted_diff = diff_header + diff + diff_footer
205
-
209
+
206
210
# Check token limit
207
211
from utils import estimate_tokens
212
+
208
213
diff_tokens = estimate_tokens (formatted_diff )
209
214
if total_tokens + diff_tokens <= max_tokens :
210
215
all_diffs .append (formatted_diff )
@@ -227,11 +232,14 @@ async def prepare_prompt(self, request: ReviewPendingChangesRequest) -> str:
227
232
if success and diff .strip ():
228
233
safe_file_name = self ._sanitize_filename (file_path )
229
234
diff_header = f"\n --- BEGIN DIFF: { repo_name } / { file_path } (unstaged) ---\n "
230
- diff_footer = f"\n --- END DIFF: { repo_name } / { file_path } ---\n "
235
+ diff_footer = (
236
+ f"\n --- END DIFF: { repo_name } / { file_path } ---\n "
237
+ )
231
238
formatted_diff = diff_header + diff + diff_footer
232
-
239
+
233
240
# Check token limit
234
241
from utils import estimate_tokens
242
+
235
243
diff_tokens = estimate_tokens (formatted_diff )
236
244
if total_tokens + diff_tokens <= max_tokens :
237
245
all_diffs .append (formatted_diff )
@@ -281,15 +289,11 @@ async def prepare_prompt(self, request: ReviewPendingChangesRequest) -> str:
281
289
review_scope .append ("staged" )
282
290
if request .include_unstaged :
283
291
review_scope .append ("unstaged" )
284
- prompt_parts .append (
285
- f"- Reviewing: { ' and ' .join (review_scope )} changes"
286
- )
292
+ prompt_parts .append (f"- Reviewing: { ' and ' .join (review_scope )} changes" )
287
293
288
294
# Add repository summary
289
295
prompt_parts .append (f"\n ## Repository Changes Summary\n " )
290
- prompt_parts .append (
291
- f"Found { len (repo_summaries )} repositories with changes:\n "
292
- )
296
+ prompt_parts .append (f"Found { len (repo_summaries )} repositories with changes:\n " )
293
297
294
298
for idx , summary in enumerate (repo_summaries , 1 ):
295
299
prompt_parts .append (f"\n ### Repository { idx } : { summary ['path' ]} " )
0 commit comments