aider-ce 0.88.3__tar.gz → 0.88.4__tar.gz

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.

Files changed (435) hide show
  1. {aider_ce-0.88.3/aider_ce.egg-info → aider_ce-0.88.4}/PKG-INFO +1 -1
  2. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/__init__.py +1 -1
  3. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/_version.py +3 -3
  4. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/base_coder.py +91 -49
  5. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/io.py +88 -59
  6. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/main.py +1 -0
  7. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/urls.py +1 -1
  8. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/versioncheck.py +1 -1
  9. {aider_ce-0.88.3 → aider_ce-0.88.4/aider_ce.egg-info}/PKG-INFO +1 -1
  10. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_io.py +5 -2
  11. {aider_ce-0.88.3 → aider_ce-0.88.4}/.dockerignore +0 -0
  12. {aider_ce-0.88.3 → aider_ce-0.88.4}/.flake8 +0 -0
  13. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  14. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/check_pypi_version.yml +0 -0
  15. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/docker-build-test.yml +0 -0
  16. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/docker-release.yml +0 -0
  17. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/issues.yml +0 -0
  18. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/pages.yml +0 -0
  19. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/pre-commit.yml +0 -0
  20. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/release.yml +0 -0
  21. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/ubuntu-tests.yml +0 -0
  22. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/windows-tests.yml +0 -0
  23. {aider_ce-0.88.3 → aider_ce-0.88.4}/.github/workflows/windows_check_pypi_version.yml +0 -0
  24. {aider_ce-0.88.3 → aider_ce-0.88.4}/.gitignore +0 -0
  25. {aider_ce-0.88.3 → aider_ce-0.88.4}/.pre-commit-config.yaml +0 -0
  26. {aider_ce-0.88.3 → aider_ce-0.88.4}/CNAME +0 -0
  27. {aider_ce-0.88.3 → aider_ce-0.88.4}/CONTRIBUTING.md +0 -0
  28. {aider_ce-0.88.3 → aider_ce-0.88.4}/HISTORY.md +0 -0
  29. {aider_ce-0.88.3 → aider_ce-0.88.4}/LICENSE.txt +0 -0
  30. {aider_ce-0.88.3 → aider_ce-0.88.4}/MANIFEST.in +0 -0
  31. {aider_ce-0.88.3 → aider_ce-0.88.4}/README.md +0 -0
  32. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/__main__.py +0 -0
  33. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/analytics.py +0 -0
  34. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/args.py +0 -0
  35. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/args_formatter.py +0 -0
  36. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/change_tracker.py +0 -0
  37. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/__init__.py +0 -0
  38. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/architect_coder.py +0 -0
  39. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/architect_prompts.py +0 -0
  40. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/ask_coder.py +0 -0
  41. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/ask_prompts.py +0 -0
  42. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/base_prompts.py +0 -0
  43. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/chat_chunks.py +0 -0
  44. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/context_coder.py +0 -0
  45. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/context_prompts.py +0 -0
  46. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editblock_coder.py +0 -0
  47. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editblock_fenced_coder.py +0 -0
  48. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editblock_fenced_prompts.py +0 -0
  49. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editblock_func_coder.py +0 -0
  50. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editblock_func_prompts.py +0 -0
  51. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editblock_prompts.py +0 -0
  52. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editor_diff_fenced_coder.py +0 -0
  53. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editor_diff_fenced_prompts.py +0 -0
  54. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editor_editblock_coder.py +0 -0
  55. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editor_editblock_prompts.py +0 -0
  56. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editor_whole_coder.py +0 -0
  57. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/editor_whole_prompts.py +0 -0
  58. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/help_coder.py +0 -0
  59. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/help_prompts.py +0 -0
  60. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/navigator_coder.py +0 -0
  61. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/navigator_legacy_prompts.py +0 -0
  62. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/navigator_prompts.py +0 -0
  63. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/patch_coder.py +0 -0
  64. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/patch_prompts.py +0 -0
  65. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/search_replace.py +0 -0
  66. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/shell.py +0 -0
  67. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/single_wholefile_func_coder.py +0 -0
  68. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/single_wholefile_func_prompts.py +0 -0
  69. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/udiff_coder.py +0 -0
  70. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/udiff_prompts.py +0 -0
  71. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/udiff_simple.py +0 -0
  72. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/udiff_simple_prompts.py +0 -0
  73. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/wholefile_coder.py +0 -0
  74. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/wholefile_func_coder.py +0 -0
  75. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/wholefile_func_prompts.py +0 -0
  76. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/coders/wholefile_prompts.py +0 -0
  77. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/commands.py +0 -0
  78. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/copypaste.py +0 -0
  79. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/deprecated.py +0 -0
  80. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/diffs.py +0 -0
  81. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/dump.py +0 -0
  82. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/editor.py +0 -0
  83. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/exceptions.py +0 -0
  84. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/format_settings.py +0 -0
  85. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/gui.py +0 -0
  86. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/help.py +0 -0
  87. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/help_pats.py +0 -0
  88. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/history.py +0 -0
  89. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/linter.py +0 -0
  90. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/llm.py +0 -0
  91. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/mcp/__init__.py +0 -0
  92. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/mcp/server.py +0 -0
  93. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/mdstream.py +0 -0
  94. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/models.py +0 -0
  95. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/onboarding.py +0 -0
  96. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/openrouter.py +0 -0
  97. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/prompts.py +0 -0
  98. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/README.md +0 -0
  99. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  100. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  101. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  102. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  103. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  104. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  105. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  106. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  107. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  108. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  109. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  110. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  111. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  112. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  113. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  114. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  115. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  116. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  117. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  118. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  119. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  120. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  121. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  122. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  123. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  124. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  125. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  126. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  127. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  128. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  129. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/README.md +0 -0
  130. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/c-tags.scm +0 -0
  131. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  132. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  133. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/dart-tags.scm +0 -0
  134. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  135. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  136. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/elm-tags.scm +0 -0
  137. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  138. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/go-tags.scm +0 -0
  139. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  140. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/java-tags.scm +0 -0
  141. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  142. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/julia-tags.scm +0 -0
  143. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  144. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  145. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  146. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  147. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/php-tags.scm +0 -0
  148. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/python-tags.scm +0 -0
  149. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/ql-tags.scm +0 -0
  150. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  151. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/rust-tags.scm +0 -0
  152. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/scala-tags.scm +0 -0
  153. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  154. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/reasoning_tags.py +0 -0
  155. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/repo.py +0 -0
  156. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/repomap.py +0 -0
  157. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/report.py +0 -0
  158. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/resources/__init__.py +0 -0
  159. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/resources/model-metadata.json +0 -0
  160. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/resources/model-settings.yml +0 -0
  161. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/run_cmd.py +0 -0
  162. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/scrape.py +0 -0
  163. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/sendchat.py +0 -0
  164. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/special.py +0 -0
  165. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/__init__.py +0 -0
  166. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/command.py +0 -0
  167. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/command_interactive.py +0 -0
  168. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/delete_block.py +0 -0
  169. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/delete_line.py +0 -0
  170. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/delete_lines.py +0 -0
  171. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/extract_lines.py +0 -0
  172. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/git.py +0 -0
  173. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/grep.py +0 -0
  174. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/indent_lines.py +0 -0
  175. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/insert_block.py +0 -0
  176. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/list_changes.py +0 -0
  177. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/ls.py +0 -0
  178. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/make_editable.py +0 -0
  179. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/make_readonly.py +0 -0
  180. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/remove.py +0 -0
  181. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/replace_all.py +0 -0
  182. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/replace_line.py +0 -0
  183. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/replace_lines.py +0 -0
  184. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/replace_text.py +0 -0
  185. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/show_numbered_context.py +0 -0
  186. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/tool_utils.py +0 -0
  187. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/undo_change.py +0 -0
  188. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/update_todo_list.py +0 -0
  189. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/view.py +0 -0
  190. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/view_files_at_glob.py +0 -0
  191. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/view_files_matching.py +0 -0
  192. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/view_files_with_symbol.py +0 -0
  193. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/tools/view_todo_list.py +0 -0
  194. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/utils.py +0 -0
  195. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/voice.py +0 -0
  196. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/waiting.py +0 -0
  197. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/watch.py +0 -0
  198. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/watch_prompts.py +0 -0
  199. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/Gemfile +0 -0
  200. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/blame.md +0 -0
  201. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/get-started.md +0 -0
  202. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/help-tip.md +0 -0
  203. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/help.md +0 -0
  204. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/install.md +0 -0
  205. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/keys.md +0 -0
  206. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/model-warnings.md +0 -0
  207. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/multi-line.md +0 -0
  208. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/python-m-aider.md +0 -0
  209. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/recording.css +0 -0
  210. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/recording.md +0 -0
  211. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/replit-pipx.md +0 -0
  212. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_includes/works-best.md +0 -0
  213. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/_sass/custom/custom.scss +0 -0
  214. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/adv-model-settings.md +0 -0
  215. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/aider_conf.md +0 -0
  216. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/api-keys.md +0 -0
  217. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/dotenv.md +0 -0
  218. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/editor.md +0 -0
  219. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/mcp.md +0 -0
  220. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/model-aliases.md +0 -0
  221. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/options.md +0 -0
  222. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config/reasoning.md +0 -0
  223. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/config.md +0 -0
  224. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/faq.md +0 -0
  225. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/git.md +0 -0
  226. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/index.md +0 -0
  227. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/install/codespaces.md +0 -0
  228. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/install/docker.md +0 -0
  229. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/install/optional.md +0 -0
  230. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/install/replit.md +0 -0
  231. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/install.md +0 -0
  232. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/languages.md +0 -0
  233. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/legal/contributor-agreement.md +0 -0
  234. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/legal/privacy.md +0 -0
  235. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/anthropic.md +0 -0
  236. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/azure.md +0 -0
  237. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/bedrock.md +0 -0
  238. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/cohere.md +0 -0
  239. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/deepseek.md +0 -0
  240. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/gemini.md +0 -0
  241. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/github.md +0 -0
  242. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/groq.md +0 -0
  243. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/lm-studio.md +0 -0
  244. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/ollama.md +0 -0
  245. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/openai-compat.md +0 -0
  246. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/openai.md +0 -0
  247. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/openrouter.md +0 -0
  248. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/other.md +0 -0
  249. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/vertex.md +0 -0
  250. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/warnings.md +0 -0
  251. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms/xai.md +0 -0
  252. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/llms.md +0 -0
  253. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/more/analytics.md +0 -0
  254. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/more/edit-formats.md +0 -0
  255. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/more/infinite-output.md +0 -0
  256. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/more-info.md +0 -0
  257. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/recordings/auto-accept-architect.md +0 -0
  258. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/recordings/dont-drop-original-read-files.md +0 -0
  259. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/recordings/index.md +0 -0
  260. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/recordings/model-accepts-settings.md +0 -0
  261. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/recordings/tree-sitter-language-pack.md +0 -0
  262. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/repomap.md +0 -0
  263. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/scripting.md +0 -0
  264. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/troubleshooting/aider-not-found.md +0 -0
  265. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/troubleshooting/edit-errors.md +0 -0
  266. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/troubleshooting/imports.md +0 -0
  267. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/troubleshooting/models-and-keys.md +0 -0
  268. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/troubleshooting/support.md +0 -0
  269. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/troubleshooting/token-limits.md +0 -0
  270. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/troubleshooting/warnings.md +0 -0
  271. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/troubleshooting.md +0 -0
  272. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/browser.md +0 -0
  273. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/caching.md +0 -0
  274. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/commands.md +0 -0
  275. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/conventions.md +0 -0
  276. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/copypaste.md +0 -0
  277. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/images-urls.md +0 -0
  278. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/lint-test.md +0 -0
  279. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/modes.md +0 -0
  280. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/not-code.md +0 -0
  281. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/notifications.md +0 -0
  282. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/tips.md +0 -0
  283. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/tutorials.md +0 -0
  284. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/voice.md +0 -0
  285. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage/watch.md +0 -0
  286. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/docs/usage.md +0 -0
  287. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider/website/share/index.md +0 -0
  288. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider_ce.egg-info/SOURCES.txt +0 -0
  289. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider_ce.egg-info/dependency_links.txt +0 -0
  290. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider_ce.egg-info/entry_points.txt +0 -0
  291. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider_ce.egg-info/requires.txt +0 -0
  292. {aider_ce-0.88.3 → aider_ce-0.88.4}/aider_ce.egg-info/top_level.txt +0 -0
  293. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/Dockerfile +0 -0
  294. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/README.md +0 -0
  295. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/__init__.py +0 -0
  296. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/benchmark.py +0 -0
  297. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/clone-exercism.sh +0 -0
  298. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/cpp-test.sh +0 -0
  299. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/docker.sh +0 -0
  300. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/docker_build.sh +0 -0
  301. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/install-docker-ubuntu.sh +0 -0
  302. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/npm-test.sh +0 -0
  303. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/over_time.py +0 -0
  304. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/plot.sh +0 -0
  305. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/plots.py +0 -0
  306. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/problem_stats.py +0 -0
  307. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/prompts.py +0 -0
  308. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/refactor_tools.py +0 -0
  309. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/rsync.sh +0 -0
  310. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/rungrid.py +0 -0
  311. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/swe-bench-lite.txt +0 -0
  312. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/swe-bench.txt +0 -0
  313. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/swe_bench.py +0 -0
  314. {aider_ce-0.88.3 → aider_ce-0.88.4}/benchmark/test_benchmark.py +0 -0
  315. {aider_ce-0.88.3 → aider_ce-0.88.4}/docker/Dockerfile +0 -0
  316. {aider_ce-0.88.3 → aider_ce-0.88.4}/pyproject.toml +0 -0
  317. {aider_ce-0.88.3 → aider_ce-0.88.4}/pytest.ini +0 -0
  318. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/common-constraints.txt +0 -0
  319. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements-browser.in +0 -0
  320. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements-browser.txt +0 -0
  321. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements-dev.in +0 -0
  322. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements-dev.txt +0 -0
  323. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements-help.in +0 -0
  324. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements-help.txt +0 -0
  325. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements-playwright.in +0 -0
  326. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements-playwright.txt +0 -0
  327. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/requirements.in +0 -0
  328. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements/tree-sitter.in +0 -0
  329. {aider_ce-0.88.3 → aider_ce-0.88.4}/requirements.txt +0 -0
  330. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/30k-image.py +0 -0
  331. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/Dockerfile.jekyll +0 -0
  332. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/__init__.py +0 -0
  333. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/blame.py +0 -0
  334. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/clean_metadata.py +0 -0
  335. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/dl_icons.py +0 -0
  336. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/history_prompts.py +0 -0
  337. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/homepage.py +0 -0
  338. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/issues.py +0 -0
  339. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/jekyll_build.sh +0 -0
  340. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/jekyll_run.sh +0 -0
  341. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/logo_svg.py +0 -0
  342. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/my_models.py +0 -0
  343. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/pip-compile.sh +0 -0
  344. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/recording_audio.py +0 -0
  345. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/redact-cast.py +0 -0
  346. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/tmux_record.sh +0 -0
  347. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/tsl_pack_langs.py +0 -0
  348. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/update-blame.sh +0 -0
  349. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/update-docs.sh +0 -0
  350. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/update-history.py +0 -0
  351. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/versionbump.py +0 -0
  352. {aider_ce-0.88.3 → aider_ce-0.88.4}/scripts/yank-old-versions.py +0 -0
  353. {aider_ce-0.88.3 → aider_ce-0.88.4}/setup.cfg +0 -0
  354. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/__init__.py +0 -0
  355. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/__init__.py +0 -0
  356. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_analytics.py +0 -0
  357. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_aws_credentials.py +0 -0
  358. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_coder.py +0 -0
  359. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_commands.py +0 -0
  360. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_deprecated.py +0 -0
  361. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_editblock.py +0 -0
  362. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_editor.py +0 -0
  363. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_exceptions.py +0 -0
  364. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_find_or_blocks.py +0 -0
  365. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_history.py +0 -0
  366. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_linter.py +0 -0
  367. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_main.py +0 -0
  368. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_model_info_manager.py +0 -0
  369. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_models.py +0 -0
  370. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_onboarding.py +0 -0
  371. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_openrouter.py +0 -0
  372. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_reasoning.py +0 -0
  373. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_repo.py +0 -0
  374. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_repomap.py +0 -0
  375. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_run_cmd.py +0 -0
  376. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_sanity_check_repo.py +0 -0
  377. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_scripting.py +0 -0
  378. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_sendchat.py +0 -0
  379. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_special.py +0 -0
  380. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_ssl_verification.py +0 -0
  381. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_udiff.py +0 -0
  382. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_urls.py +0 -0
  383. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_voice.py +0 -0
  384. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_watch.py +0 -0
  385. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/basic/test_wholefile.py +0 -0
  386. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/browser/test_browser.py +0 -0
  387. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  388. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/chat-history.md +0 -0
  389. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/arduino/test.ino +0 -0
  390. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/c/test.c +0 -0
  391. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/chatito/test.chatito +0 -0
  392. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/clojure/test.clj +0 -0
  393. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  394. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/cpp/test.cpp +0 -0
  395. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/csharp/test.cs +0 -0
  396. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/d/test.d +0 -0
  397. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/dart/test.dart +0 -0
  398. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/elisp/test.el +0 -0
  399. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/elixir/test.ex +0 -0
  400. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/elm/test.elm +0 -0
  401. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/gleam/test.gleam +0 -0
  402. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/go/test.go +0 -0
  403. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/hcl/test.tf +0 -0
  404. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/java/test.java +0 -0
  405. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/javascript/test.js +0 -0
  406. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/kotlin/test.kt +0 -0
  407. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/lua/test.lua +0 -0
  408. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/matlab/test.m +0 -0
  409. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/ocaml/test.ml +0 -0
  410. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  411. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/php/test.php +0 -0
  412. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/pony/test.pony +0 -0
  413. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/properties/test.properties +0 -0
  414. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/python/test.py +0 -0
  415. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/ql/test.ql +0 -0
  416. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/r/test.r +0 -0
  417. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/racket/test.rkt +0 -0
  418. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/ruby/test.rb +0 -0
  419. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/rust/test.rs +0 -0
  420. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/scala/test.scala +0 -0
  421. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/solidity/test.sol +0 -0
  422. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/swift/test.swift +0 -0
  423. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/tsx/test.tsx +0 -0
  424. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/typescript/test.ts +0 -0
  425. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/languages/udev/test.rules +0 -0
  426. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/sample-code-base/sample.js +0 -0
  427. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/sample-code-base/sample.py +0 -0
  428. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  429. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/watch.js +0 -0
  430. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/watch.lisp +0 -0
  431. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/watch.py +0 -0
  432. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/fixtures/watch_question.js +0 -0
  433. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/help/test_help.py +0 -0
  434. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/scrape/test_playwright_disable.py +0 -0
  435. {aider_ce-0.88.3 → aider_ce-0.88.4}/tests/scrape/test_scrape.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aider-ce
3
- Version: 0.88.3
3
+ Version: 0.88.4
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
@@ -1,6 +1,6 @@
1
1
  from packaging import version
2
2
 
3
- __version__ = "0.88.3.dev"
3
+ __version__ = "0.88.4.dev"
4
4
  safe_version = __version__
5
5
 
6
6
  try:
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.88.3'
32
- __version_tuple__ = version_tuple = (0, 88, 3)
31
+ __version__ = version = '0.88.4'
32
+ __version_tuple__ = version_tuple = (0, 88, 4)
33
33
 
34
- __commit_id__ = commit_id = 'g61386525b'
34
+ __commit_id__ = commit_id = 'g6752d1123'
@@ -42,7 +42,7 @@ from rich.console import Console
42
42
 
43
43
  from aider import __version__, models, prompts, urls, utils
44
44
  from aider.analytics import Analytics
45
- from aider.commands import Commands
45
+ from aider.commands import Commands, SwitchCoder
46
46
  from aider.exceptions import LiteLLMExceptions
47
47
  from aider.history import ChatSummary
48
48
  from aider.io import ConfirmGroup, InputOutput
@@ -585,8 +585,6 @@ class Coder:
585
585
  self.summarizer_thread = None
586
586
  self.summarized_done_messages = []
587
587
  self.summarizing_messages = None
588
- self.input_task = None
589
- self.confirmation_in_progress = False
590
588
 
591
589
  self.files_edited_by_tools = set()
592
590
 
@@ -1057,7 +1055,7 @@ class Coder:
1057
1055
  self.commit_before_message.append(self.repo.get_head_commit_sha())
1058
1056
 
1059
1057
  async def run(self, with_message=None, preproc=True):
1060
- while self.confirmation_in_progress:
1058
+ while self.io.confirmation_in_progress:
1061
1059
  await asyncio.sleep(0.1) # Yield control and wait briefly
1062
1060
 
1063
1061
  if self.io.prompt_session:
@@ -1067,8 +1065,6 @@ class Coder:
1067
1065
  return await self._run_patched(with_message, preproc)
1068
1066
 
1069
1067
  async def _run_patched(self, with_message=None, preproc=True):
1070
- input_task = None
1071
- processing_task = None
1072
1068
  try:
1073
1069
  if with_message:
1074
1070
  self.io.user_input(with_message)
@@ -1076,91 +1072,134 @@ class Coder:
1076
1072
  return self.partial_response_content
1077
1073
 
1078
1074
  user_message = None
1075
+ await self.io.cancel_input_task()
1076
+ await self.io.cancel_processing_task()
1079
1077
 
1080
1078
  while True:
1081
1079
  try:
1082
1080
  if (
1083
- not self.confirmation_in_progress
1084
- and not input_task
1081
+ not self.io.confirmation_in_progress
1085
1082
  and not user_message
1086
- and (not processing_task or not self.io.placeholder)
1083
+ and (
1084
+ not self.io.input_task
1085
+ or self.io.input_task.done()
1086
+ or self.io.input_task.cancelled()
1087
+ )
1088
+ and (not self.io.processing_task or not self.io.placeholder)
1087
1089
  ):
1088
1090
  if not self.suppress_announcements_for_next_prompt:
1089
1091
  self.show_announcements()
1090
- self.suppress_announcements_for_next_prompt = False
1092
+ self.suppress_announcements_for_next_prompt = True
1091
1093
 
1092
1094
  # Stop spinner before showing announcements or getting input
1093
1095
  self.io.stop_spinner()
1094
-
1095
1096
  self.copy_context()
1096
- self.input_task = asyncio.create_task(self.get_input())
1097
- input_task = self.input_task
1097
+ self.io.input_task = asyncio.create_task(self.get_input())
1098
+
1099
+ # Yield Control so input can actually get properly set up
1100
+ await asyncio.sleep(0)
1098
1101
 
1099
1102
  tasks = set()
1100
- if processing_task:
1101
- tasks.add(processing_task)
1102
- if input_task:
1103
- tasks.add(input_task)
1103
+
1104
+ if self.io.processing_task:
1105
+ if self.io.processing_task.done():
1106
+ exception = self.io.processing_task.exception()
1107
+ if exception:
1108
+ if isinstance(exception, SwitchCoder):
1109
+ await self.io.processing_task
1110
+ elif (
1111
+ not self.io.processing_task.done()
1112
+ and not self.io.processing_task.cancelled()
1113
+ ):
1114
+ tasks.add(self.io.processing_task)
1115
+
1116
+ if (
1117
+ self.io.input_task
1118
+ and not self.io.input_task.done()
1119
+ and not self.io.input_task.cancelled()
1120
+ ):
1121
+ tasks.add(self.io.input_task)
1104
1122
 
1105
1123
  if tasks:
1106
1124
  done, pending = await asyncio.wait(
1107
1125
  tasks, return_when=asyncio.FIRST_COMPLETED
1108
1126
  )
1109
1127
 
1110
- if input_task and input_task in done:
1111
- if processing_task:
1112
- if not self.confirmation_in_progress:
1113
- processing_task.cancel()
1114
- try:
1115
- await processing_task
1116
- except asyncio.CancelledError:
1117
- pass
1128
+ if self.io.input_task and self.io.input_task in done:
1129
+ if self.io.processing_task:
1130
+ if not self.io.confirmation_in_progress:
1131
+ await self.io.cancel_processing_task()
1118
1132
  self.io.stop_spinner()
1119
- processing_task = None
1120
1133
 
1121
1134
  try:
1122
- user_message = input_task.result()
1135
+ user_message = self.io.input_task.result()
1136
+ await self.io.cancel_input_task()
1123
1137
  except (asyncio.CancelledError, KeyboardInterrupt):
1124
1138
  user_message = None
1125
- input_task = None
1126
- self.input_task = None
1127
- if user_message is None:
1139
+
1140
+ if not user_message:
1141
+ await self.io.cancel_input_task()
1128
1142
  continue
1129
1143
 
1130
- if processing_task and processing_task in done:
1144
+ if self.io.processing_task and self.io.processing_task in pending:
1131
1145
  try:
1132
- await processing_task
1146
+ tasks = set()
1147
+ tasks.add(self.io.processing_task)
1148
+
1149
+ # We just did a confirmation so add a new input task
1150
+ if (
1151
+ not self.io.input_task
1152
+ and self.io.get_confirmation_acknowledgement()
1153
+ ):
1154
+ self.io.input_task = asyncio.create_task(self.get_input())
1155
+ tasks.add(self.io.input_task)
1156
+
1157
+ done, pending = await asyncio.wait(
1158
+ tasks, return_when=asyncio.FIRST_COMPLETED
1159
+ )
1160
+
1161
+ if self.io.input_task and self.io.input_task in done:
1162
+ await self.io.cancel_processing_task()
1163
+ self.io.stop_spinner()
1164
+ self.io.acknowledge_confirmation()
1165
+
1166
+ try:
1167
+ user_message = self.io.input_task.result()
1168
+ await self.io.cancel_input_task()
1169
+ except (asyncio.CancelledError, KeyboardInterrupt):
1170
+ user_message = None
1171
+
1133
1172
  except (asyncio.CancelledError, KeyboardInterrupt):
1173
+ print("error of some sort")
1134
1174
  pass
1135
- processing_task = None
1175
+
1136
1176
  # Stop spinner when processing task completes
1137
1177
  self.io.stop_spinner()
1138
1178
 
1139
- if user_message and self.run_one_completed and self.compact_context_completed:
1140
- processing_task = asyncio.create_task(
1179
+ if user_message and not self.io.acknowledge_confirmation():
1180
+ self.io.processing_task = asyncio.create_task(
1141
1181
  self._processing_logic(user_message, preproc)
1142
1182
  )
1143
1183
  # Start spinner for processing task
1144
1184
  self.io.start_spinner("Processing...")
1145
- user_message = None # Clear message after starting task
1185
+
1186
+ self.io.ring_bell()
1187
+ user_message = None
1146
1188
  except KeyboardInterrupt:
1147
- if processing_task:
1148
- processing_task.cancel()
1149
- processing_task = None
1150
- # Stop spinner when processing task is cancelled
1151
- self.io.stop_spinner()
1152
- if input_task:
1189
+ if self.io.input_task:
1153
1190
  self.io.set_placeholder("")
1154
- input_task.cancel()
1155
- input_task = None
1191
+ await self.io.cancel_input_task()
1192
+
1193
+ if self.io.processing_task:
1194
+ await self.io.cancel_processing_task()
1195
+ self.io.stop_spinner()
1196
+
1156
1197
  self.keyboard_interrupt()
1157
1198
  except EOFError:
1158
1199
  return
1159
1200
  finally:
1160
- if input_task:
1161
- input_task.cancel()
1162
- if processing_task:
1163
- processing_task.cancel()
1201
+ await self.io.cancel_input_task()
1202
+ await self.io.cancel_processing_task()
1164
1203
 
1165
1204
  async def _processing_logic(self, user_message, preproc):
1166
1205
  try:
@@ -1188,6 +1227,7 @@ class Coder:
1188
1227
  all_read_only_files = [self.get_rel_fname(fname) for fname in all_read_only_fnames]
1189
1228
  all_files = sorted(set(inchat_files + all_read_only_files))
1190
1229
  edit_format = "" if self.edit_format == self.main_model.edit_format else self.edit_format
1230
+
1191
1231
  return await self.io.get_input(
1192
1232
  self.root,
1193
1233
  all_files,
@@ -1214,6 +1254,8 @@ class Coder:
1214
1254
  self.init_before_message()
1215
1255
 
1216
1256
  if preproc:
1257
+ if user_message[0] in "!":
1258
+ user_message = f"/run {user_message[1:]}"
1217
1259
  message = await self.preproc_user_input(user_message)
1218
1260
  else:
1219
1261
  message = user_message
@@ -2704,7 +2746,7 @@ class Coder:
2704
2746
 
2705
2747
  async for chunk in completion:
2706
2748
  # Check if confirmation is in progress and wait if needed
2707
- while self.confirmation_in_progress:
2749
+ while self.io.confirmation_in_progress:
2708
2750
  await asyncio.sleep(0.1) # Yield control and wait briefly
2709
2751
 
2710
2752
  if isinstance(chunk, str):
@@ -320,6 +320,7 @@ class InputOutput:
320
320
  root=".",
321
321
  notifications=False,
322
322
  notifications_command=None,
323
+ verbose=False,
323
324
  ):
324
325
  self.console = Console()
325
326
  self.pretty = pretty
@@ -337,6 +338,8 @@ class InputOutput:
337
338
  self.multiline_mode = multiline_mode
338
339
  self.bell_on_next_input = False
339
340
  self.notifications = notifications
341
+ self.verbose = verbose
342
+
340
343
  if notifications and notifications_command is None:
341
344
  self.notifications_command = self.get_default_notification_command()
342
345
  else:
@@ -363,7 +366,7 @@ class InputOutput:
363
366
  )
364
367
 
365
368
  self.fzf_available = shutil.which("fzf")
366
- if not self.fzf_available:
369
+ if not self.fzf_available and self.verbose:
367
370
  self.tool_warning(
368
371
  "fzf not found, fuzzy finder features will be disabled. Install it for enhanced"
369
372
  " file/history search."
@@ -460,7 +463,18 @@ class InputOutput:
460
463
  self.file_watcher = file_watcher
461
464
  self.root = root
462
465
  self.outstanding_confirmations = []
466
+
467
+ # Variables used to interface with base_coder
463
468
  self.coder = None
469
+ self.input_task = None
470
+ self.processing_task = None
471
+ self.confirmation_in_progress = False
472
+ self.confirmation_acknowledgement = False
473
+
474
+ # State tracking for confirmation input
475
+ self.confirmation_input_active = False
476
+ self.saved_input_text = ""
477
+ self.confirmation_future = None
464
478
 
465
479
  # Validate color settings after console is initialized
466
480
  self._validate_color_settings()
@@ -657,16 +671,8 @@ class InputOutput:
657
671
  print()
658
672
 
659
673
  def interrupt_input(self):
660
- coder = self.coder() if self.coder else None
661
- # interrupted_for_confirmation = False
662
-
663
- if (
664
- coder
665
- and hasattr(coder, "input_task")
666
- and coder.input_task
667
- and not coder.input_task.done()
668
- ):
669
- coder.input_task.cancel()
674
+ if self.input_task and not self.input_task.done():
675
+ self.input_task.cancel()
670
676
 
671
677
  if self.prompt_session and self.prompt_session.app:
672
678
  # Store any partial input before interrupting
@@ -698,9 +704,6 @@ class InputOutput:
698
704
  self.reject_outstanding_confirmations()
699
705
  self.rule()
700
706
 
701
- # Ring the bell if needed
702
- self.ring_bell()
703
-
704
707
  rel_fnames = list(rel_fnames)
705
708
  show = ""
706
709
  if rel_fnames:
@@ -879,6 +882,11 @@ class InputOutput:
879
882
  self.tool_error(str(err))
880
883
  return ""
881
884
  except Exception as err:
885
+ try:
886
+ self.prompt_session.app.exit()
887
+ except Exception:
888
+ pass
889
+
882
890
  import traceback
883
891
 
884
892
  self.tool_error(str(err))
@@ -931,6 +939,26 @@ class InputOutput:
931
939
  self.user_input(inp)
932
940
  return inp
933
941
 
942
+ async def cancel_input_task(self):
943
+ if self.input_task:
944
+ input_task = self.input_task
945
+ self.input_task = None
946
+ try:
947
+ input_task.cancel()
948
+ await input_task
949
+ except asyncio.CancelledError:
950
+ pass
951
+
952
+ async def cancel_processing_task(self):
953
+ if self.processing_task:
954
+ processing_task = self.processing_task
955
+ self.processing_task = None
956
+ try:
957
+ processing_task.cancel()
958
+ await processing_task
959
+ except asyncio.CancelledError:
960
+ pass
961
+
934
962
  def add_to_input_history(self, inp):
935
963
  if not self.input_history_file:
936
964
  return
@@ -1001,32 +1029,33 @@ class InputOutput:
1001
1029
  return True
1002
1030
  return False
1003
1031
 
1032
+ def set_confirmation_acknowledgement(self):
1033
+ self.confirmation_acknowledgement = True
1034
+
1035
+ def get_confirmation_acknowledgement(self):
1036
+ return self.confirmation_acknowledgement
1037
+
1038
+ def acknowledge_confirmation(self):
1039
+ outstanding_confirmation = self.confirmation_acknowledgement
1040
+ self.confirmation_acknowledgement = False
1041
+ return outstanding_confirmation
1042
+
1004
1043
  @restore_multiline_async
1005
1044
  async def confirm_ask(
1006
1045
  self,
1007
1046
  *args,
1008
1047
  **kwargs,
1009
1048
  ):
1010
- coder = self.coder() if self.coder else None
1011
- interrupted_for_confirmation = False
1012
- if (
1013
- coder
1014
- and hasattr(coder, "input_task")
1015
- and coder.input_task
1016
- and not coder.input_task.done()
1017
- ):
1018
- coder.confirmation_in_progress = True
1019
- interrupted_for_confirmation = True
1020
- # self.interrupt_input()
1049
+ self.confirmation_in_progress = True
1021
1050
 
1022
1051
  try:
1052
+ self.set_confirmation_acknowledgement()
1023
1053
  return await asyncio.create_task(self._confirm_ask(*args, **kwargs))
1024
1054
  except KeyboardInterrupt:
1025
1055
  # Re-raise KeyboardInterrupt to allow it to propagate
1026
1056
  raise
1027
1057
  finally:
1028
- if interrupted_for_confirmation:
1029
- coder.confirmation_in_progress = False
1058
+ self.confirmation_in_progress = False
1030
1059
 
1031
1060
  async def _confirm_ask(
1032
1061
  self,
@@ -1039,9 +1068,6 @@ class InputOutput:
1039
1068
  ):
1040
1069
  self.num_user_asks += 1
1041
1070
 
1042
- # Ring the bell if needed
1043
- self.ring_bell()
1044
-
1045
1071
  question_id = (question, subject)
1046
1072
 
1047
1073
  confirmation_future = asyncio.get_running_loop().create_future()
@@ -1086,47 +1112,45 @@ class InputOutput:
1086
1112
  else:
1087
1113
  self.tool_output(subject, bold=True)
1088
1114
 
1089
- style = self._get_style()
1090
-
1091
1115
  if self.yes is True:
1092
1116
  res = "n" if explicit_yes_required else "y"
1117
+ self.acknowledge_confirmation()
1093
1118
  elif self.yes is False:
1094
1119
  res = "n"
1120
+ self.acknowledge_confirmation()
1095
1121
  elif group and group.preference:
1096
1122
  res = group.preference
1097
1123
  self.user_input(f"{question}{res}", log_only=False)
1124
+ self.acknowledge_confirmation()
1098
1125
  else:
1126
+ # Ring the bell if needed
1127
+ self.ring_bell()
1128
+
1099
1129
  while True:
1100
1130
  try:
1101
1131
  if self.prompt_session:
1102
- coder = self.coder() if self.coder else None
1103
1132
  if (
1104
- coder
1105
- and hasattr(coder, "input_task")
1106
- and coder.input_task
1107
- and not coder.input_task.done()
1133
+ not self.input_task
1134
+ or self.input_task.done()
1135
+ or self.input_task.cancelled()
1136
+ ):
1137
+ coder = self.coder() if self.coder else None
1138
+
1139
+ if coder:
1140
+ self.input_task = asyncio.create_task(coder.get_input())
1141
+ await asyncio.sleep(0)
1142
+
1143
+ if (
1144
+ self.input_task
1145
+ and not self.input_task.done()
1146
+ and not self.input_task.cancelled()
1108
1147
  ):
1109
1148
  self.prompt_session.message = question
1110
1149
  self.prompt_session.app.invalidate()
1111
- res = await coder.input_task
1112
1150
  else:
1113
- prompt_task = asyncio.create_task(
1114
- self.prompt_session.prompt_async(
1115
- question,
1116
- style=style,
1117
- complete_while_typing=False,
1118
- )
1119
- )
1120
- done, pending = await asyncio.wait(
1121
- {prompt_task, confirmation_future},
1122
- return_when=asyncio.FIRST_COMPLETED,
1123
- )
1124
-
1125
- if confirmation_future in done:
1126
- prompt_task.cancel()
1127
- return await confirmation_future
1128
-
1129
- res = await prompt_task
1151
+ continue
1152
+
1153
+ res = await self.input_task
1130
1154
  else:
1131
1155
  res = await asyncio.get_event_loop().run_in_executor(
1132
1156
  None, input, question
@@ -1241,17 +1265,22 @@ class InputOutput:
1241
1265
 
1242
1266
  if not isinstance(message, Text):
1243
1267
  message = Text(message)
1244
- color = ensure_hash_prefix(color) if color else None
1245
- style = dict(style=color) if self.pretty and color else dict()
1268
+
1269
+ style = dict()
1270
+
1271
+ if self.pretty:
1272
+ color = ensure_hash_prefix(color) if color else None
1273
+ if color:
1274
+ style["color"] = color
1246
1275
 
1247
1276
  try:
1248
- self.stream_print(message, **style)
1277
+ self.stream_print(message, style=RichStyle(**style))
1249
1278
  except UnicodeEncodeError:
1250
1279
  # Fallback to ASCII-safe output
1251
1280
  if isinstance(message, Text):
1252
1281
  message = message.plain
1253
1282
  message = str(message).encode("ascii", errors="replace").decode("ascii")
1254
- self.stream_print(message, **style)
1283
+ self.stream_print(message, style=RichStyle(**style))
1255
1284
 
1256
1285
  if self.prompt_session and self.prompt_session.app:
1257
1286
  self.prompt_session.app.invalidate()
@@ -601,6 +601,7 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
601
601
  multiline_mode=args.multiline,
602
602
  notifications=args.notifications,
603
603
  notifications_command=args.notifications_command,
604
+ verbose=args.verbose,
604
605
  )
605
606
 
606
607
  io = get_io(args.pretty)
@@ -8,7 +8,7 @@ model_warnings = "https://aider.chat/docs/llms/warnings.html"
8
8
  token_limits = "https://aider.chat/docs/troubleshooting/token-limits.html"
9
9
  llms = "https://aider.chat/docs/llms.html"
10
10
  large_repos = "https://aider.chat/docs/faq.html#can-i-use-aider-in-a-large-mono-repo"
11
- github_issues = "https://github.com/Aider-AI/aider/issues/new"
11
+ github_issues = "https://github.com/dwash96/aider-ce/issues/new"
12
12
  git_index_version = "https://github.com/Aider-AI/aider/issues/211"
13
13
  install_properly = "https://aider.chat/docs/troubleshooting/imports.html"
14
14
  analytics = "https://aider.chat/docs/more/analytics.html"
@@ -21,7 +21,7 @@ def install_from_main_branch(io):
21
21
  io,
22
22
  None,
23
23
  "Install the development version of aider from the main branch?",
24
- ["git+https://github.com/Aider-AI/aider.git"],
24
+ ["git+https://github.com/dwash96/aider-ce.git"],
25
25
  self_update=True,
26
26
  )
27
27
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aider-ce
3
- Version: 0.88.3
3
+ Version: 0.88.4
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
@@ -7,6 +7,7 @@ from unittest.mock import AsyncMock, MagicMock, patch
7
7
  from prompt_toolkit.completion import CompleteEvent
8
8
  from prompt_toolkit.document import Document
9
9
 
10
+ from aider.coders import Coder
10
11
  from aider.dump import dump # noqa: F401
11
12
  from aider.io import AutoCompleter, ConfirmGroup, InputOutput
12
13
  from aider.utils import ChdirTemporaryDirectory
@@ -389,10 +390,11 @@ class TestInputOutputMultilineMode(unittest.TestCase):
389
390
  # The invalid Unicode should be replaced with '?'
390
391
  self.assertEqual(converted_message, "Hello ?World")
391
392
 
392
- def test_multiline_mode_restored_after_interrupt(self):
393
+ async def test_multiline_mode_restored_after_interrupt(self):
393
394
  """Test that multiline mode is restored after KeyboardInterrupt"""
394
395
  io = InputOutput(fancy_input=True)
395
396
  io.prompt_session = MagicMock()
397
+ await Coder.create(self.GPT35, None, io)
396
398
 
397
399
  # Use AsyncMock for prompt_async (for confirm_ask)
398
400
  io.prompt_session.prompt_async = AsyncMock(side_effect=KeyboardInterrupt)
@@ -413,10 +415,11 @@ class TestInputOutputMultilineMode(unittest.TestCase):
413
415
  io.prompt_ask("Test prompt?")
414
416
  self.assertTrue(io.multiline_mode) # Should be restored
415
417
 
416
- def test_multiline_mode_restored_after_normal_exit(self):
418
+ async def test_multiline_mode_restored_after_normal_exit(self):
417
419
  """Test that multiline mode is restored after normal exit"""
418
420
  io = InputOutput(fancy_input=True)
419
421
  io.prompt_session = MagicMock()
422
+ await Coder.create(self.GPT35, None, io)
420
423
 
421
424
  # Use AsyncMock for prompt_async that returns "y"
422
425
  io.prompt_session.prompt_async = AsyncMock(return_value="y")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes