aider-vision-core 0.90.8.dev0__tar.gz → 0.90.9.dev1__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.
Files changed (426) hide show
  1. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/PKG-INFO +1 -1
  2. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/_version.py +3 -3
  3. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/event_io.py +24 -3
  4. aider_vision_core-0.90.9.dev1/aider_vision_core/gui_progress.py +94 -0
  5. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/http_api.py +2 -2
  6. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/repomap.py +32 -25
  7. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/session.py +7 -0
  8. aider_vision_core-0.90.9.dev1/aider_vision_core/vision_runtime.py +127 -0
  9. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/vision_serve.py +3 -3
  10. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/waiting.py +8 -1
  11. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core.egg-info/PKG-INFO +1 -1
  12. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core.egg-info/SOURCES.txt +4 -0
  13. aider_vision_core-0.90.9.dev1/scripts/audit_rename_compat.py +89 -0
  14. aider_vision_core-0.90.9.dev1/tests/basic/test_vision_runtime.py +43 -0
  15. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.dockerignore +0 -0
  16. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.flake8 +0 -0
  17. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  18. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/check_pypi_version.yml +0 -0
  19. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/docker-build-test.yml +0 -0
  20. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/docker-release.yml +0 -0
  21. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/issues.yml +0 -0
  22. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/pages.yml +0 -0
  23. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/pre-commit.yml +0 -0
  24. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/release.yml +0 -0
  25. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/ubuntu-tests.yml +0 -0
  26. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/windows-tests.yml +0 -0
  27. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.github/workflows/windows_check_pypi_version.yml +0 -0
  28. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.gitignore +0 -0
  29. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/.pre-commit-config.yaml +0 -0
  30. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/CNAME +0 -0
  31. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/CONTRIBUTING.md +0 -0
  32. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/HISTORY.md +0 -0
  33. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/LICENSE.txt +0 -0
  34. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/MANIFEST.in +0 -0
  35. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/README.md +0 -0
  36. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/__init__.py +0 -0
  37. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/__main__.py +0 -0
  38. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/analytics.py +0 -0
  39. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/args.py +0 -0
  40. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/args_formatter.py +0 -0
  41. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/cli_serve.py +0 -0
  42. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/__init__.py +0 -0
  43. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/architect_coder.py +0 -0
  44. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/architect_prompts.py +0 -0
  45. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/ask_coder.py +0 -0
  46. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/ask_prompts.py +0 -0
  47. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/base_coder.py +0 -0
  48. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/base_prompts.py +0 -0
  49. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/chat_chunks.py +0 -0
  50. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/context_coder.py +0 -0
  51. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/context_prompts.py +0 -0
  52. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editblock_coder.py +0 -0
  53. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editblock_fenced_coder.py +0 -0
  54. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editblock_fenced_prompts.py +0 -0
  55. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editblock_func_coder.py +0 -0
  56. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editblock_func_prompts.py +0 -0
  57. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editblock_prompts.py +0 -0
  58. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editor_diff_fenced_coder.py +0 -0
  59. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editor_diff_fenced_prompts.py +0 -0
  60. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editor_editblock_coder.py +0 -0
  61. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editor_editblock_prompts.py +0 -0
  62. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editor_whole_coder.py +0 -0
  63. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/editor_whole_prompts.py +0 -0
  64. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/help_coder.py +0 -0
  65. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/help_prompts.py +0 -0
  66. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/patch_coder.py +0 -0
  67. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/patch_prompts.py +0 -0
  68. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/search_replace.py +0 -0
  69. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/shell.py +0 -0
  70. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/single_wholefile_func_coder.py +0 -0
  71. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/single_wholefile_func_prompts.py +0 -0
  72. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/udiff_coder.py +0 -0
  73. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/udiff_prompts.py +0 -0
  74. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/udiff_simple.py +0 -0
  75. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/udiff_simple_prompts.py +0 -0
  76. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/wholefile_coder.py +0 -0
  77. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/wholefile_func_coder.py +0 -0
  78. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/wholefile_func_prompts.py +0 -0
  79. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/coders/wholefile_prompts.py +0 -0
  80. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/commands.py +0 -0
  81. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/copypaste.py +0 -0
  82. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/deprecated.py +0 -0
  83. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/diffs.py +0 -0
  84. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/dump.py +0 -0
  85. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/editor.py +0 -0
  86. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/exceptions.py +0 -0
  87. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/format_settings.py +0 -0
  88. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/git_undo.py +0 -0
  89. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/git_workspace.py +0 -0
  90. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/gui.py +0 -0
  91. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/headless_stdio.py +0 -0
  92. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/help.py +0 -0
  93. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/help_pats.py +0 -0
  94. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/history.py +0 -0
  95. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/http_auth.py +0 -0
  96. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/io.py +0 -0
  97. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/linter.py +0 -0
  98. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/llm.py +0 -0
  99. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/main.py +0 -0
  100. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/mdstream.py +0 -0
  101. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/models.py +0 -0
  102. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/onboarding.py +0 -0
  103. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/openrouter.py +0 -0
  104. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/prompts.py +0 -0
  105. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/README.md +0 -0
  106. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  107. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  108. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  109. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  110. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  111. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  112. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  113. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  114. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  115. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  116. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  117. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  118. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  119. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  120. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  121. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  122. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  123. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  124. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  125. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  126. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  127. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  128. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  129. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  130. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  131. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  132. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  133. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  134. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  135. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  136. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  137. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/README.md +0 -0
  138. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/bash-tags.scm +0 -0
  139. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/c-tags.scm +0 -0
  140. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  141. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  142. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/dart-tags.scm +0 -0
  143. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  144. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  145. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/elm-tags.scm +0 -0
  146. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  147. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/go-tags.scm +0 -0
  148. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  149. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  150. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/java-tags.scm +0 -0
  151. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  152. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/julia-tags.scm +0 -0
  153. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  154. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  155. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  156. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  157. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/php-tags.scm +0 -0
  158. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/python-tags.scm +0 -0
  159. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/ql-tags.scm +0 -0
  160. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  161. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/rust-tags.scm +0 -0
  162. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/scala-tags.scm +0 -0
  163. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  164. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/queries/tree-sitter-languages/zig-tags.scm +0 -0
  165. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/reasoning_tags.py +0 -0
  166. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/repo.py +0 -0
  167. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/report.py +0 -0
  168. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/resources/__init__.py +0 -0
  169. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/resources/model-metadata.json +0 -0
  170. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/resources/model-settings.yml +0 -0
  171. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/run_cmd.py +0 -0
  172. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/scrape.py +0 -0
  173. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/sendchat.py +0 -0
  174. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/special.py +0 -0
  175. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/urls.py +0 -0
  176. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/utils.py +0 -0
  177. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/versioncheck.py +0 -0
  178. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/voice.py +0 -0
  179. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/watch.py +0 -0
  180. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/watch_prompts.py +0 -0
  181. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/Gemfile +0 -0
  182. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/blame.md +0 -0
  183. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/get-started.md +0 -0
  184. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/help-tip.md +0 -0
  185. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/help.md +0 -0
  186. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/install.md +0 -0
  187. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/keys.md +0 -0
  188. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/model-warnings.md +0 -0
  189. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/multi-line.md +0 -0
  190. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/python-m-aider.md +0 -0
  191. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/recording.css +0 -0
  192. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/recording.md +0 -0
  193. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/replit-pipx.md +0 -0
  194. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_includes/works-best.md +0 -0
  195. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/_sass/custom/custom.scss +0 -0
  196. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config/adv-model-settings.md +0 -0
  197. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config/aider_conf.md +0 -0
  198. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config/api-keys.md +0 -0
  199. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config/dotenv.md +0 -0
  200. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config/editor.md +0 -0
  201. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config/model-aliases.md +0 -0
  202. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config/options.md +0 -0
  203. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config/reasoning.md +0 -0
  204. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/config.md +0 -0
  205. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/faq.md +0 -0
  206. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/git.md +0 -0
  207. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/index.md +0 -0
  208. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/install/codespaces.md +0 -0
  209. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/install/docker.md +0 -0
  210. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/install/optional.md +0 -0
  211. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/install/replit.md +0 -0
  212. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/install.md +0 -0
  213. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/languages.md +0 -0
  214. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/legal/contributor-agreement.md +0 -0
  215. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/legal/privacy.md +0 -0
  216. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/anthropic.md +0 -0
  217. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/azure.md +0 -0
  218. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/bedrock.md +0 -0
  219. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/cohere.md +0 -0
  220. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/deepseek.md +0 -0
  221. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/gemini.md +0 -0
  222. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/github.md +0 -0
  223. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/groq.md +0 -0
  224. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/lm-studio.md +0 -0
  225. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/ollama.md +0 -0
  226. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/openai-compat.md +0 -0
  227. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/openai.md +0 -0
  228. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/openrouter.md +0 -0
  229. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/other.md +0 -0
  230. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/vertex.md +0 -0
  231. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/warnings.md +0 -0
  232. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms/xai.md +0 -0
  233. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/llms.md +0 -0
  234. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/more/analytics.md +0 -0
  235. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/more/edit-formats.md +0 -0
  236. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/more/infinite-output.md +0 -0
  237. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/more-info.md +0 -0
  238. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/recordings/auto-accept-architect.md +0 -0
  239. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/recordings/dont-drop-original-read-files.md +0 -0
  240. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/recordings/index.md +0 -0
  241. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/recordings/model-accepts-settings.md +0 -0
  242. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/recordings/tree-sitter-language-pack.md +0 -0
  243. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/repomap.md +0 -0
  244. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/scripting.md +0 -0
  245. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/troubleshooting/aider-not-found.md +0 -0
  246. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/troubleshooting/edit-errors.md +0 -0
  247. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/troubleshooting/imports.md +0 -0
  248. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/troubleshooting/models-and-keys.md +0 -0
  249. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/troubleshooting/support.md +0 -0
  250. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/troubleshooting/token-limits.md +0 -0
  251. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/troubleshooting/warnings.md +0 -0
  252. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/troubleshooting.md +0 -0
  253. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/browser.md +0 -0
  254. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/caching.md +0 -0
  255. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/commands.md +0 -0
  256. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/conventions.md +0 -0
  257. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/copypaste.md +0 -0
  258. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/images-urls.md +0 -0
  259. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/lint-test.md +0 -0
  260. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/modes.md +0 -0
  261. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/not-code.md +0 -0
  262. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/notifications.md +0 -0
  263. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/tips.md +0 -0
  264. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/tutorials.md +0 -0
  265. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/voice.md +0 -0
  266. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage/watch.md +0 -0
  267. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/docs/usage.md +0 -0
  268. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core/website/share/index.md +0 -0
  269. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core.egg-info/dependency_links.txt +0 -0
  270. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core.egg-info/entry_points.txt +0 -0
  271. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core.egg-info/requires.txt +0 -0
  272. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/aider_vision_core.egg-info/top_level.txt +0 -0
  273. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/Dockerfile +0 -0
  274. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/README.md +0 -0
  275. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/__init__.py +0 -0
  276. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/benchmark.py +0 -0
  277. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/clone-exercism.sh +0 -0
  278. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/cpp-test.sh +0 -0
  279. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/docker.sh +0 -0
  280. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/docker_build.sh +0 -0
  281. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/install-docker-ubuntu.sh +0 -0
  282. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/npm-test.sh +0 -0
  283. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/over_time.py +0 -0
  284. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/plot.sh +0 -0
  285. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/plots.py +0 -0
  286. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/problem_stats.py +0 -0
  287. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/prompts.py +0 -0
  288. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/refactor_tools.py +0 -0
  289. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/rsync.sh +0 -0
  290. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/rungrid.py +0 -0
  291. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/swe-bench-lite.txt +0 -0
  292. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/swe-bench.txt +0 -0
  293. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/swe_bench.py +0 -0
  294. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/benchmark/test_benchmark.py +0 -0
  295. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/docker/Dockerfile +0 -0
  296. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/pyproject.toml +0 -0
  297. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/pytest.ini +0 -0
  298. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/common-constraints.txt +0 -0
  299. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/pydub.in +0 -0
  300. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/python-compat.in +0 -0
  301. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements-browser.in +0 -0
  302. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements-browser.txt +0 -0
  303. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements-dev.in +0 -0
  304. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements-dev.txt +0 -0
  305. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements-help.in +0 -0
  306. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements-help.txt +0 -0
  307. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements-playwright.in +0 -0
  308. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements-playwright.txt +0 -0
  309. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/requirements.in +0 -0
  310. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements/tree-sitter.in +0 -0
  311. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/requirements.txt +0 -0
  312. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/30k-image.py +0 -0
  313. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/Dockerfile.jekyll +0 -0
  314. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/__init__.py +0 -0
  315. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/blame.py +0 -0
  316. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/clean_metadata.py +0 -0
  317. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/dl_icons.py +0 -0
  318. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/history_prompts.py +0 -0
  319. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/homepage.py +0 -0
  320. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/issues.py +0 -0
  321. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/jekyll_build.sh +0 -0
  322. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/jekyll_run.sh +0 -0
  323. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/logo_svg.py +0 -0
  324. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/my_models.py +0 -0
  325. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/pip-compile.sh +0 -0
  326. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/recording_audio.py +0 -0
  327. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/redact-cast.py +0 -0
  328. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/tmux_record.sh +0 -0
  329. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/tsl_pack_langs.py +0 -0
  330. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/update-blame.sh +0 -0
  331. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/update-docs.sh +0 -0
  332. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/update-history.py +0 -0
  333. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/versionbump.py +0 -0
  334. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/vision_jsonl.py +0 -0
  335. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/vision_serve.py +0 -0
  336. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/scripts/yank-old-versions.py +0 -0
  337. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/setup.cfg +0 -0
  338. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/__init__.py +0 -0
  339. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/__init__.py +0 -0
  340. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_analytics.py +0 -0
  341. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_aws_credentials.py +0 -0
  342. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_coder.py +0 -0
  343. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_commands.py +0 -0
  344. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_deprecated.py +0 -0
  345. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_editblock.py +0 -0
  346. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_editor.py +0 -0
  347. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_exceptions.py +0 -0
  348. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_find_or_blocks.py +0 -0
  349. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_git_workspace.py +0 -0
  350. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_history.py +0 -0
  351. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_http_api.py +0 -0
  352. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_io.py +0 -0
  353. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_linter.py +0 -0
  354. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_main.py +0 -0
  355. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_model_info_manager.py +0 -0
  356. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_models.py +0 -0
  357. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_onboarding.py +0 -0
  358. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_openrouter.py +0 -0
  359. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_reasoning.py +0 -0
  360. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_repo.py +0 -0
  361. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_repomap.py +0 -0
  362. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_run_cmd.py +0 -0
  363. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_sanity_check_repo.py +0 -0
  364. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_scripting.py +0 -0
  365. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_sendchat.py +0 -0
  366. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_special.py +0 -0
  367. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_ssl_verification.py +0 -0
  368. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_udiff.py +0 -0
  369. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_urls.py +0 -0
  370. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_utils.py +0 -0
  371. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_voice.py +0 -0
  372. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_watch.py +0 -0
  373. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/basic/test_wholefile.py +0 -0
  374. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/browser/test_browser.py +0 -0
  375. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  376. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/chat-history.md +0 -0
  377. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/arduino/test.ino +0 -0
  378. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/bash/test.sh +0 -0
  379. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/c/test.c +0 -0
  380. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/chatito/test.chatito +0 -0
  381. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/clojure/test.clj +0 -0
  382. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  383. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/cpp/test.cpp +0 -0
  384. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/csharp/test.cs +0 -0
  385. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/d/test.d +0 -0
  386. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/dart/test.dart +0 -0
  387. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/elisp/test.el +0 -0
  388. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/elixir/test.ex +0 -0
  389. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/elm/test.elm +0 -0
  390. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/gleam/test.gleam +0 -0
  391. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/go/test.go +0 -0
  392. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/haskell/test.hs +0 -0
  393. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/hcl/test.tf +0 -0
  394. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/java/test.java +0 -0
  395. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/javascript/test.js +0 -0
  396. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/kotlin/test.kt +0 -0
  397. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/lua/test.lua +0 -0
  398. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/matlab/test.m +0 -0
  399. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/ocaml/test.ml +0 -0
  400. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  401. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/php/test.php +0 -0
  402. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/pony/test.pony +0 -0
  403. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/properties/test.properties +0 -0
  404. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/python/test.py +0 -0
  405. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/ql/test.ql +0 -0
  406. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/r/test.r +0 -0
  407. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/racket/test.rkt +0 -0
  408. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/ruby/test.rb +0 -0
  409. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/rust/test.rs +0 -0
  410. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/scala/test.scala +0 -0
  411. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/solidity/test.sol +0 -0
  412. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/swift/test.swift +0 -0
  413. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/tsx/test.tsx +0 -0
  414. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/typescript/test.ts +0 -0
  415. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/udev/test.rules +0 -0
  416. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/languages/zig/test.zig +0 -0
  417. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/sample-code-base/sample.js +0 -0
  418. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/sample-code-base/sample.py +0 -0
  419. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  420. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/watch.js +0 -0
  421. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/watch.lisp +0 -0
  422. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/watch.py +0 -0
  423. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/fixtures/watch_question.js +0 -0
  424. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/help/test_help.py +0 -0
  425. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/scrape/test_playwright_disable.py +0 -0
  426. {aider_vision_core-0.90.8.dev0 → aider_vision_core-0.90.9.dev1}/tests/scrape/test_scrape.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aider-vision-core
3
- Version: 0.90.8.dev0
3
+ Version: 0.90.9.dev1
4
4
  Summary: aider-vision-core: Aider fork with headless API, submodule git, and web integration
5
5
  Project-URL: Homepage, https://github.com/Digital-Defiance/aider-vision-core
6
6
  Classifier: Development Status :: 4 - Beta
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.90.8.dev0'
22
- __version_tuple__ = version_tuple = (0, 90, 8, 'dev0')
21
+ __version__ = version = '0.90.9.dev1'
22
+ __version_tuple__ = version_tuple = (0, 90, 9, 'dev1')
23
23
 
24
- __commit_id__ = commit_id = 'g3b5ad9f66'
24
+ __commit_id__ = commit_id = 'g9eda8d7c6'
@@ -29,6 +29,9 @@ class EventIO(InputOutput):
29
29
  ):
30
30
  kwargs.setdefault("fancy_input", False)
31
31
  kwargs.setdefault("pretty", False)
32
+ self.on_event = on_event
33
+ self.echo_to_console = echo_to_console
34
+ self.events: list[dict[str, Any]] = []
32
35
  self._null_sink: TextIO | None = None
33
36
  if not echo_to_console and kwargs.get("output") is None:
34
37
  self._null_sink = open(os.devnull, "w", encoding="utf-8")
@@ -42,9 +45,6 @@ class EventIO(InputOutput):
42
45
  # InputOutput attaches Console to stdout; when the desktop app spawns core with
43
46
  # stdout closed, Rich writes raise BrokenPipeError.
44
47
  self.console = Console(file=sink, force_terminal=False, no_color=True)
45
- self.on_event = on_event
46
- self.echo_to_console = echo_to_console
47
- self.events: list[dict[str, Any]] = []
48
48
 
49
49
  def emit(self, event_type: str, **payload: Any) -> dict[str, Any]:
50
50
  event = {"type": event_type, **payload}
@@ -53,6 +53,27 @@ class EventIO(InputOutput):
53
53
  self.on_event(event)
54
54
  return event
55
55
 
56
+ def emit_progress(
57
+ self,
58
+ *,
59
+ label: str,
60
+ current: int | None = None,
61
+ total: int | None = None,
62
+ message: str | None = None,
63
+ fraction: float | None = None,
64
+ ) -> dict[str, Any]:
65
+ from aider_vision_core.gui_progress import emit_progress
66
+
67
+ emit_progress(
68
+ self,
69
+ label=label,
70
+ current=current,
71
+ total=total,
72
+ message=message,
73
+ fraction=fraction,
74
+ )
75
+ return self.events[-1] if self.events else {"type": "progress", "label": label}
76
+
56
77
  def drain_events(self) -> list[dict[str, Any]]:
57
78
  events = self.events
58
79
  self.events = []
@@ -0,0 +1,94 @@
1
+ """
2
+ Progress reporting for Aider Vision (headless / GUI).
3
+
4
+ Replaces terminal tqdm bars with structured ``progress`` events on EventIO.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import os
10
+ from typing import Any, Callable, Iterable, Iterator, TypeVar
11
+
12
+ T = TypeVar("T")
13
+
14
+
15
+ def headless_enabled() -> bool:
16
+ from aider_vision_core.headless_stdio import headless_enabled as _headless_enabled
17
+
18
+ return _headless_enabled()
19
+
20
+
21
+ def emit_progress(
22
+ io: Any,
23
+ *,
24
+ label: str,
25
+ current: int | None = None,
26
+ total: int | None = None,
27
+ message: str | None = None,
28
+ fraction: float | None = None,
29
+ ) -> None:
30
+ if io is None:
31
+ return
32
+ emit = getattr(io, "emit", None)
33
+ if not callable(emit):
34
+ return
35
+ if fraction is None and current is not None and total:
36
+ fraction = max(0.0, min(1.0, current / total))
37
+ payload: dict[str, Any] = {"label": label}
38
+ if current is not None:
39
+ payload["current"] = current
40
+ if total is not None:
41
+ payload["total"] = total
42
+ if fraction is not None:
43
+ payload["fraction"] = fraction
44
+ if message is not None:
45
+ payload["message"] = message
46
+ elif current is not None and total is not None:
47
+ payload["message"] = f"{current}/{total}"
48
+ emit("progress", **payload)
49
+
50
+
51
+ def should_use_gui_progress(io: Any) -> bool:
52
+ if io is None:
53
+ return headless_enabled()
54
+ if headless_enabled():
55
+ return True
56
+ return callable(getattr(io, "emit", None))
57
+
58
+
59
+ def progress_iter(
60
+ iterable: Iterable[T],
61
+ *,
62
+ desc: str = "Working",
63
+ io: Any = None,
64
+ total: int | None = None,
65
+ min_items_for_bar: int = 100,
66
+ ) -> Iterator[T]:
67
+ """
68
+ Iterate with tqdm in the CLI, or ``progress`` events for Vision / EventIO.
69
+ """
70
+ if total is None:
71
+ try:
72
+ total = len(iterable) # type: ignore[arg-type]
73
+ except TypeError:
74
+ total = None
75
+
76
+ use_gui = should_use_gui_progress(io)
77
+
78
+ if use_gui and io is not None:
79
+ throttle = max(1, (total or 1) // 80)
80
+ for i, item in enumerate(iterable, start=1):
81
+ if total is None or i == 1 or i >= total or i % throttle == 0:
82
+ emit_progress(io, label=desc, current=i, total=total)
83
+ yield item
84
+ if total is not None:
85
+ emit_progress(io, label=desc, current=total, total=total)
86
+ return
87
+
88
+ if not use_gui and total is not None and total > min_items_for_bar:
89
+ from tqdm import tqdm
90
+
91
+ yield from tqdm(iterable, desc=desc, total=total)
92
+ return
93
+
94
+ yield from iterable
@@ -25,9 +25,9 @@ from pydantic import BaseModel, Field
25
25
  from starlette.middleware.base import BaseHTTPMiddleware
26
26
  from starlette.requests import Request
27
27
 
28
- from aider_vision_core.headless_stdio import install_headless_stdio
28
+ from aider_vision_core.vision_runtime import configure_vision_runtime
29
29
 
30
- install_headless_stdio()
30
+ configure_vision_runtime()
31
31
 
32
32
  from aider_vision_core.git_undo import undo_last_aider_commit_for_coder
33
33
  from aider_vision_core.http_auth import auth_enabled, configure_auth, get_token_from_env, verify_bearer
@@ -15,11 +15,18 @@ from diskcache import Cache
15
15
  from grep_ast import TreeContext, filename_to_lang
16
16
  from pygments.lexers import guess_lexer_for_filename
17
17
  from pygments.token import Token
18
- from tqdm import tqdm
19
18
  from tree_sitter import Query
20
19
 
21
20
  from aider_vision_core.dump import dump
21
+ from aider_vision_core.gui_progress import progress_iter
22
22
  from aider_vision_core.special import filter_important_files
23
+ from aider_vision_core.vision_runtime import (
24
+ CACHE_LOAD_ERRORS,
25
+ REPO_MAP_CACHE_DIRNAME,
26
+ REPO_MAP_CACHE_VERSION,
27
+ purge_legacy_tag_caches,
28
+ safe_cache_len,
29
+ )
23
30
  from aider_vision_core.waiting import Spinner
24
31
 
25
32
  # tree_sitter is throwing a FutureWarning
@@ -30,17 +37,14 @@ Tag = namedtuple("Tag", "rel_fname fname line name kind".split())
30
37
 
31
38
 
32
39
  SQLITE_ERRORS = (sqlite3.OperationalError, sqlite3.DatabaseError, OSError)
33
-
34
-
35
- CACHE_VERSION = 3
36
- if USING_TSL_PACK:
37
- CACHE_VERSION = 4
40
+ # Re-export for tests / callers
41
+ CACHE_VERSION = REPO_MAP_CACHE_VERSION
38
42
 
39
43
  UPDATING_REPO_MAP_MESSAGE = "Updating repo map"
40
44
 
41
45
 
42
46
  class RepoMap:
43
- TAGS_CACHE_DIR = f".aider.tags.cache.v{CACHE_VERSION}"
47
+ TAGS_CACHE_DIR = REPO_MAP_CACHE_DIRNAME
44
48
 
45
49
  warned_files = set()
46
50
 
@@ -215,6 +219,7 @@ class RepoMap:
215
219
  self.TAGS_CACHE = dict()
216
220
 
217
221
  def load_tags_cache(self):
222
+ purge_legacy_tag_caches(self.root)
218
223
  path = Path(self.root) / self.TAGS_CACHE_DIR
219
224
  try:
220
225
  self.TAGS_CACHE = Cache(path)
@@ -239,14 +244,14 @@ class RepoMap:
239
244
  cache_key = fname
240
245
  try:
241
246
  val = self.TAGS_CACHE.get(cache_key) # Issue #1308
242
- except SQLITE_ERRORS as e:
247
+ except CACHE_LOAD_ERRORS as e:
243
248
  self.tags_cache_error(e)
244
249
  val = self.TAGS_CACHE.get(cache_key)
245
250
 
246
251
  if val is not None and val.get("mtime") == file_mtime:
247
252
  try:
248
253
  return self.TAGS_CACHE[cache_key]["data"]
249
- except SQLITE_ERRORS as e:
254
+ except CACHE_LOAD_ERRORS as e:
250
255
  self.tags_cache_error(e)
251
256
  return self.TAGS_CACHE[cache_key]["data"]
252
257
 
@@ -289,7 +294,7 @@ class RepoMap:
289
294
  return
290
295
 
291
296
  query_scm = get_scm_fname(lang)
292
- if not query_scm.exists():
297
+ if not query_scm or not query_scm.exists():
293
298
  return
294
299
  query_scm = query_scm.read_text()
295
300
 
@@ -382,22 +387,24 @@ class RepoMap:
382
387
  # https://networkx.org/documentation/stable/_modules/networkx/algorithms/link_analysis/pagerank_alg.html#pagerank
383
388
  personalize = 100 / len(fnames)
384
389
 
385
- try:
386
- cache_size = len(self.TAGS_CACHE)
387
- except SQLITE_ERRORS as e:
388
- self.tags_cache_error(e)
389
- cache_size = len(self.TAGS_CACHE)
390
+ cache_size = safe_cache_len(self.TAGS_CACHE)
391
+ if cache_size < 0:
392
+ self.tags_cache_error()
393
+ cache_size = safe_cache_len(self.TAGS_CACHE)
390
394
 
391
395
  if len(fnames) - cache_size > 100:
392
396
  self.io.tool_output(
393
397
  "Initial repo scan can be slow in larger repos, but only happens once."
394
398
  )
395
- fnames = tqdm(fnames, desc="Scanning repo")
399
+ fname_source = progress_iter(
400
+ fnames, desc="Scanning repo", io=self.io, total=len(fnames)
401
+ )
396
402
  showing_bar = True
397
403
  else:
404
+ fname_source = fnames
398
405
  showing_bar = False
399
406
 
400
- for fname in fnames:
407
+ for fname in fname_source:
401
408
  if self.verbose:
402
409
  self.io.tool_output(f"Processing {fname}")
403
410
  if progress and not showing_bar:
@@ -643,7 +650,7 @@ class RepoMap:
643
650
  if not mentioned_idents:
644
651
  mentioned_idents = set()
645
652
 
646
- spin = Spinner(UPDATING_REPO_MAP_MESSAGE)
653
+ spin = Spinner(UPDATING_REPO_MAP_MESSAGE, io=self.io)
647
654
 
648
655
  ranked_tags = self.get_ranked_tags(
649
656
  chat_fnames,
@@ -803,30 +810,30 @@ def get_random_color():
803
810
 
804
811
 
805
812
  def get_scm_fname(lang):
806
- # Load the tags queries
813
+ # Load tags queries from the aider_vision_core package root (not this submodule).
814
+ pkg = __package__.split(".")[0] if __package__ else "aider_vision_core"
807
815
  if USING_TSL_PACK:
808
816
  subdir = "tree-sitter-language-pack"
809
817
  try:
810
- path = resources.files(__package__).joinpath(
818
+ path = resources.files(pkg).joinpath(
811
819
  "queries",
812
820
  subdir,
813
821
  f"{lang}-tags.scm",
814
822
  )
815
823
  if path.exists():
816
824
  return path
817
- except KeyError:
825
+ except (KeyError, ModuleNotFoundError, TypeError):
818
826
  pass
819
827
 
820
- # Fall back to tree-sitter-languages
821
828
  subdir = "tree-sitter-languages"
822
829
  try:
823
- return resources.files(__package__).joinpath(
830
+ return resources.files(pkg).joinpath(
824
831
  "queries",
825
832
  subdir,
826
833
  f"{lang}-tags.scm",
827
834
  )
828
- except KeyError:
829
- return
835
+ except (KeyError, ModuleNotFoundError, TypeError):
836
+ return None
830
837
 
831
838
 
832
839
  def get_supported_languages_md():
@@ -52,6 +52,11 @@ class Session:
52
52
  if not workspace.is_dir():
53
53
  raise FileNotFoundError(f"Workspace not found: {workspace}")
54
54
 
55
+ from aider_vision_core.vision_runtime import configure_vision_runtime, purge_legacy_tag_caches
56
+
57
+ configure_vision_runtime()
58
+ purge_legacy_tag_caches(workspace)
59
+
55
60
  prev_cwd = os.getcwd()
56
61
  os.chdir(workspace)
57
62
  try:
@@ -119,6 +124,8 @@ class Session:
119
124
  return
120
125
 
121
126
  for chunk in self.coder.send_message(user_msg):
127
+ for event in self.io.drain_events():
128
+ yield event
122
129
  if chunk:
123
130
  assistant_text.append(chunk)
124
131
  event = self.io.emit("token", text=chunk)
@@ -0,0 +1,127 @@
1
+ """
2
+ Vision / headless runtime setup and guards against legacy ``aider`` rename issues.
3
+
4
+ Call :func:`configure_vision_runtime` when starting the HTTP API or any headless
5
+ session so TUI output and stale on-disk caches do not leak into the desktop GUI.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import os
11
+ import pickle
12
+ import re
13
+ import shutil
14
+ import sqlite3
15
+ from pathlib import Path
16
+ from typing import Any
17
+
18
+ # Bump when repo-map tag cache schema or Python package name changes.
19
+ REPO_MAP_CACHE_VERSION = 5
20
+ REPO_MAP_CACHE_DIRNAME = f".aider.tags.cache.v{REPO_MAP_CACHE_VERSION}"
21
+ LEGACY_PYTHON_PACKAGE = "aider"
22
+ LEGACY_TAG_CACHE_PATTERN = re.compile(r"^\.aider\.tags\.cache\.v(\d+)$")
23
+
24
+ SQLITE_ERRORS = (sqlite3.OperationalError, sqlite3.DatabaseError, OSError)
25
+ CACHE_LOAD_ERRORS = SQLITE_ERRORS + (
26
+ ModuleNotFoundError,
27
+ AttributeError,
28
+ pickle.UnpicklingError,
29
+ )
30
+
31
+ _tqdm_patched = False
32
+ _runtime_configured = False
33
+
34
+
35
+ def headless_enabled() -> bool:
36
+ from aider_vision_core.headless_stdio import headless_enabled as _he
37
+
38
+ return _he()
39
+
40
+
41
+ def purge_legacy_tag_caches(root: str | Path) -> list[str]:
42
+ """
43
+ Remove repo-map cache dirs from older package names / cache versions.
44
+
45
+ Pickled entries may reference the pre-rename ``aider`` module and raise
46
+ ``ModuleNotFoundError`` when loaded under ``aider_vision_core``.
47
+ """
48
+ root = Path(root)
49
+ removed: list[str] = []
50
+ if not root.is_dir():
51
+ return removed
52
+ for path in sorted(root.iterdir()):
53
+ if not path.is_dir():
54
+ continue
55
+ m = LEGACY_TAG_CACHE_PATTERN.match(path.name)
56
+ if not m:
57
+ continue
58
+ if path.name == REPO_MAP_CACHE_DIRNAME:
59
+ continue
60
+ try:
61
+ shutil.rmtree(path)
62
+ removed.append(str(path))
63
+ except OSError:
64
+ pass
65
+ return removed
66
+
67
+
68
+ def safe_cache_len(cache: Any) -> int:
69
+ """``len(diskcache.Cache)`` can unpickle entries; treat failures as empty."""
70
+ try:
71
+ return len(cache)
72
+ except CACHE_LOAD_ERRORS:
73
+ return -1
74
+
75
+
76
+ def configure_vision_runtime(*, force: bool = False) -> None:
77
+ """
78
+ One-time setup for Aider Vision desktop / API child processes.
79
+
80
+ - Redirect stdio (headless)
81
+ - Disable tqdm terminal bars
82
+ - Patch tqdm → GUI progress when still invoked from legacy call sites
83
+ """
84
+ global _runtime_configured, _tqdm_patched
85
+ if _runtime_configured and not force:
86
+ return
87
+ _runtime_configured = True
88
+
89
+ if not headless_enabled():
90
+ return
91
+
92
+ os.environ.setdefault("TQDM_DISABLE", "1")
93
+
94
+ from aider_vision_core.headless_stdio import install_headless_stdio
95
+
96
+ install_headless_stdio()
97
+ _patch_tqdm_for_headless()
98
+
99
+
100
+ def _patch_tqdm_for_headless() -> None:
101
+ global _tqdm_patched
102
+ if _tqdm_patched:
103
+ return
104
+ try:
105
+ import tqdm as tqdm_mod
106
+ except ImportError:
107
+ return
108
+
109
+ _orig = tqdm_mod.tqdm
110
+
111
+ def _vision_tqdm(iterable=None, *args, **kwargs):
112
+ if iterable is None:
113
+ return _orig(*args, **kwargs)
114
+ from aider_vision_core.gui_progress import progress_iter
115
+
116
+ desc = kwargs.get("desc")
117
+ if desc is None and args and isinstance(args[0], str):
118
+ desc = args[0]
119
+ return progress_iter(
120
+ iterable,
121
+ desc=str(desc or "Working"),
122
+ io=kwargs.get("io"),
123
+ total=kwargs.get("total"),
124
+ )
125
+
126
+ tqdm_mod.tqdm = _vision_tqdm
127
+ _tqdm_patched = True
@@ -33,10 +33,10 @@ def run(argv: list[str] | None = None) -> None:
33
33
  validate_listen_address(args.host)
34
34
  configure_auth(args.host)
35
35
 
36
- if os.environ.get("AIDER_VISION_HEADLESS") == "1":
37
- from aider_vision_core.headless_stdio import install_headless_stdio
36
+ from aider_vision_core.vision_runtime import configure_vision_runtime
38
37
 
39
- install_headless_stdio()
38
+ if os.environ.get("AIDER_VISION_HEADLESS") == "1":
39
+ configure_vision_runtime()
40
40
  else:
41
41
  print(startup_message(args.host))
42
42
 
@@ -35,8 +35,9 @@ class Spinner:
35
35
 
36
36
  last_frame_idx = 0 # Class variable to store the last frame index
37
37
 
38
- def __init__(self, text: str, width: int = 7):
38
+ def __init__(self, text: str, width: int = 7, io=None):
39
39
  self.text = text
40
+ self.io = io
40
41
  self.start_time = time.time()
41
42
  self.last_update = 0.0
42
43
  self.visible = False
@@ -111,6 +112,12 @@ class Spinner:
111
112
  if text is not None:
112
113
  self.text = text
113
114
 
115
+ if _headless() and self.io is not None:
116
+ from aider_vision_core.gui_progress import emit_progress
117
+
118
+ emit_progress(self.io, label=self.text, message=text or self.text, fraction=None)
119
+ return
120
+
114
121
  if not self.is_tty:
115
122
  return
116
123
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aider-vision-core
3
- Version: 0.90.8.dev0
3
+ Version: 0.90.9.dev1
4
4
  Summary: aider-vision-core: Aider fork with headless API, submodule git, and web integration
5
5
  Project-URL: Homepage, https://github.com/Digital-Defiance/aider-vision-core
6
6
  Classifier: Development Status :: 4 - Beta
@@ -41,6 +41,7 @@ aider_vision_core/format_settings.py
41
41
  aider_vision_core/git_undo.py
42
42
  aider_vision_core/git_workspace.py
43
43
  aider_vision_core/gui.py
44
+ aider_vision_core/gui_progress.py
44
45
  aider_vision_core/headless_stdio.py
45
46
  aider_vision_core/help.py
46
47
  aider_vision_core/help_pats.py
@@ -68,6 +69,7 @@ aider_vision_core/special.py
68
69
  aider_vision_core/urls.py
69
70
  aider_vision_core/utils.py
70
71
  aider_vision_core/versioncheck.py
72
+ aider_vision_core/vision_runtime.py
71
73
  aider_vision_core/vision_serve.py
72
74
  aider_vision_core/voice.py
73
75
  aider_vision_core/waiting.py
@@ -307,6 +309,7 @@ requirements/tree-sitter.in
307
309
  scripts/30k-image.py
308
310
  scripts/Dockerfile.jekyll
309
311
  scripts/__init__.py
312
+ scripts/audit_rename_compat.py
310
313
  scripts/blame.py
311
314
  scripts/clean_metadata.py
312
315
  scripts/dl_icons.py
@@ -362,6 +365,7 @@ tests/basic/test_ssl_verification.py
362
365
  tests/basic/test_udiff.py
363
366
  tests/basic/test_urls.py
364
367
  tests/basic/test_utils.py
368
+ tests/basic/test_vision_runtime.py
365
369
  tests/basic/test_voice.py
366
370
  tests/basic/test_watch.py
367
371
  tests/basic/test_wholefile.py
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ CI / dev audit: catch regressions from the aider → aider_vision_core rename.
4
+
5
+ Usage:
6
+ python scripts/audit_rename_compat.py
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ import re
12
+ import sys
13
+ from pathlib import Path
14
+
15
+ ROOT = Path(__file__).resolve().parents[1]
16
+ PKG = ROOT / "aider_vision_core"
17
+ SKIP_DIRS = {
18
+ "website",
19
+ "__pycache__",
20
+ ".git",
21
+ }
22
+ SKIP_FILES = {
23
+ "audit_rename_compat.py",
24
+ }
25
+
26
+ # `from aider.` / `import aider` but not aider_vision_core / aiderignore / …
27
+ BAD_IMPORT = re.compile(
28
+ r"^\s*(?:from|import)\s+aider(?!_vision_core|ignore|_edited|_commit|@)",
29
+ )
30
+ # tqdm( in production code — allow gui_progress + search_replace __main__
31
+ BAD_TQDM = re.compile(r"\btqdm\s*\(")
32
+ ALLOW_TQDM = {
33
+ PKG / "gui_progress.py",
34
+ PKG / "coders" / "search_replace.py",
35
+ }
36
+ # resources.files(__package__) under repomap breaks query paths
37
+ BAD_RESOURCES = re.compile(r"resources\.files\(\s*__package__\s*\)")
38
+
39
+
40
+ def iter_py_files() -> list[Path]:
41
+ out: list[Path] = []
42
+ for path in PKG.rglob("*.py"):
43
+ if any(part in SKIP_DIRS for part in path.parts):
44
+ continue
45
+ if path.name in SKIP_FILES:
46
+ continue
47
+ out.append(path)
48
+ return sorted(out)
49
+
50
+
51
+ def audit() -> list[str]:
52
+ errors: list[str] = []
53
+ for path in iter_py_files():
54
+ rel = path.relative_to(ROOT)
55
+ text = path.read_text(encoding="utf-8", errors="replace")
56
+ for i, line in enumerate(text.splitlines(), start=1):
57
+ if BAD_IMPORT.search(line):
58
+ errors.append(f"{rel}:{i}: legacy import of package 'aider': {line.strip()}")
59
+ if BAD_RESOURCES.search(line):
60
+ errors.append(f"{rel}:{i}: use resources.files('aider_vision_core'), not __package__")
61
+ if path in ALLOW_TQDM:
62
+ continue
63
+ if path.name == "repomap.py":
64
+ continue # uses progress_iter
65
+ for i, line in enumerate(text.splitlines(), start=1):
66
+ if BAD_TQDM.search(line) and "progress_iter" not in line:
67
+ errors.append(f"{rel}:{i}: use progress_iter() or gui_progress in headless paths: {line.strip()}")
68
+
69
+ repomap = PKG / "repomap.py"
70
+ body = repomap.read_text(encoding="utf-8")
71
+ if "vision_runtime" not in body or "REPO_MAP_CACHE_VERSION" not in body:
72
+ errors.append("repomap.py: must use vision_runtime.REPO_MAP_CACHE_VERSION and purge_legacy_tag_caches")
73
+
74
+ return errors
75
+
76
+
77
+ def main() -> int:
78
+ errors = audit()
79
+ if errors:
80
+ print("audit_rename_compat FAILED:\n", file=sys.stderr)
81
+ for err in errors:
82
+ print(f" - {err}", file=sys.stderr)
83
+ return 1
84
+ print("audit_rename_compat OK")
85
+ return 0
86
+
87
+
88
+ if __name__ == "__main__":
89
+ raise SystemExit(main())
@@ -0,0 +1,43 @@
1
+ import pickle
2
+ import shutil
3
+ import tempfile
4
+ import unittest
5
+ from pathlib import Path
6
+
7
+ from aider_vision_core.vision_runtime import (
8
+ CACHE_LOAD_ERRORS,
9
+ LEGACY_PYTHON_PACKAGE,
10
+ REPO_MAP_CACHE_DIRNAME,
11
+ purge_legacy_tag_caches,
12
+ safe_cache_len,
13
+ )
14
+
15
+
16
+ class TestVisionRuntime(unittest.TestCase):
17
+ def test_purge_legacy_tag_caches(self):
18
+ root = Path(tempfile.mkdtemp())
19
+ try:
20
+ (root / ".aider.tags.cache.v3").mkdir()
21
+ (root / ".aider.tags.cache.v4").mkdir()
22
+ (root / REPO_MAP_CACHE_DIRNAME).mkdir()
23
+ (root / "src").mkdir()
24
+ removed = purge_legacy_tag_caches(root)
25
+ self.assertEqual(len(removed), 2)
26
+ self.assertFalse((root / ".aider.tags.cache.v3").exists())
27
+ self.assertTrue((root / REPO_MAP_CACHE_DIRNAME).exists())
28
+ finally:
29
+ shutil.rmtree(root, ignore_errors=True)
30
+
31
+ def test_safe_cache_len_on_bad_pickle(self):
32
+ class BadCache:
33
+ def __len__(self):
34
+ raise ModuleNotFoundError(f"No module named '{LEGACY_PYTHON_PACKAGE}'")
35
+
36
+ self.assertEqual(safe_cache_len(BadCache()), -1)
37
+
38
+ def test_cache_load_errors_includes_unpickle(self):
39
+ self.assertIn(pickle.UnpicklingError, CACHE_LOAD_ERRORS)
40
+
41
+
42
+ if __name__ == "__main__":
43
+ unittest.main()