cecli-dev 0.96.7__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 (574) hide show
  1. cecli_dev-0.96.7/.dockerignore +29 -0
  2. cecli_dev-0.96.7/.flake8 +3 -0
  3. cecli_dev-0.96.7/.gitattributes +1 -0
  4. cecli_dev-0.96.7/.github/ISSUE_TEMPLATE/issue.yml +21 -0
  5. cecli_dev-0.96.7/.github/workflows/check_pypi_version.yml +82 -0
  6. cecli_dev-0.96.7/.github/workflows/docker-build-test.yml +66 -0
  7. cecli_dev-0.96.7/.github/workflows/docker-release.yml +43 -0
  8. cecli_dev-0.96.7/.github/workflows/issues.yml +29 -0
  9. cecli_dev-0.96.7/.github/workflows/pages.yml +87 -0
  10. cecli_dev-0.96.7/.github/workflows/pre-commit.yml +48 -0
  11. cecli_dev-0.96.7/.github/workflows/release.yml +99 -0
  12. cecli_dev-0.96.7/.github/workflows/ubuntu-tests.yml +63 -0
  13. cecli_dev-0.96.7/.github/workflows/windows-tests.yml +51 -0
  14. cecli_dev-0.96.7/.github/workflows/windows_check_pypi_version.yml +86 -0
  15. cecli_dev-0.96.7/.gitignore +42 -0
  16. cecli_dev-0.96.7/.pre-commit-config.yaml +32 -0
  17. cecli_dev-0.96.7/CHANGELOG.md +32 -0
  18. cecli_dev-0.96.7/CNAME +1 -0
  19. cecli_dev-0.96.7/CONTRIBUTING.md +162 -0
  20. cecli_dev-0.96.7/HISTORY.md +1510 -0
  21. cecli_dev-0.96.7/LICENSE.txt +202 -0
  22. cecli_dev-0.96.7/MANIFEST.in +25 -0
  23. cecli_dev-0.96.7/PKG-INFO +560 -0
  24. cecli_dev-0.96.7/README.md +476 -0
  25. cecli_dev-0.96.7/benchmark/Dockerfile +64 -0
  26. cecli_dev-0.96.7/benchmark/README.md +180 -0
  27. cecli_dev-0.96.7/benchmark/__init__.py +0 -0
  28. cecli_dev-0.96.7/benchmark/benchmark.py +1251 -0
  29. cecli_dev-0.96.7/benchmark/benchmark_classic.py +1265 -0
  30. cecli_dev-0.96.7/benchmark/clone-exercism.sh +20 -0
  31. cecli_dev-0.96.7/benchmark/cpp-test.sh +11 -0
  32. cecli_dev-0.96.7/benchmark/docker.sh +20 -0
  33. cecli_dev-0.96.7/benchmark/docker_build.sh +8 -0
  34. cecli_dev-0.96.7/benchmark/install-docker-ubuntu.sh +63 -0
  35. cecli_dev-0.96.7/benchmark/npm-test.sh +13 -0
  36. cecli_dev-0.96.7/benchmark/over_time.py +168 -0
  37. cecli_dev-0.96.7/benchmark/plot.sh +29 -0
  38. cecli_dev-0.96.7/benchmark/plots.py +417 -0
  39. cecli_dev-0.96.7/benchmark/problem_stats.py +355 -0
  40. cecli_dev-0.96.7/benchmark/prompts.py +16 -0
  41. cecli_dev-0.96.7/benchmark/refactor_tools.py +209 -0
  42. cecli_dev-0.96.7/benchmark/rsync.sh +45 -0
  43. cecli_dev-0.96.7/benchmark/rungrid.py +61 -0
  44. cecli_dev-0.96.7/benchmark/swe-bench-lite.txt +7 -0
  45. cecli_dev-0.96.7/benchmark/swe-bench.txt +7 -0
  46. cecli_dev-0.96.7/benchmark/swe_bench.py +131 -0
  47. cecli_dev-0.96.7/benchmark/test_benchmark.py +45 -0
  48. cecli_dev-0.96.7/cecli/__init__.py +20 -0
  49. cecli_dev-0.96.7/cecli/__main__.py +4 -0
  50. cecli_dev-0.96.7/cecli/_version.py +34 -0
  51. cecli_dev-0.96.7/cecli/args.py +1119 -0
  52. cecli_dev-0.96.7/cecli/args_formatter.py +228 -0
  53. cecli_dev-0.96.7/cecli/change_tracker.py +133 -0
  54. cecli_dev-0.96.7/cecli/coders/__init__.py +38 -0
  55. cecli_dev-0.96.7/cecli/coders/agent_coder.py +1752 -0
  56. cecli_dev-0.96.7/cecli/coders/architect_coder.py +95 -0
  57. cecli_dev-0.96.7/cecli/coders/ask_coder.py +8 -0
  58. cecli_dev-0.96.7/cecli/coders/base_coder.py +3917 -0
  59. cecli_dev-0.96.7/cecli/coders/chat_chunks.py +116 -0
  60. cecli_dev-0.96.7/cecli/coders/context_coder.py +52 -0
  61. cecli_dev-0.96.7/cecli/coders/copypaste_coder.py +269 -0
  62. cecli_dev-0.96.7/cecli/coders/editblock_coder.py +656 -0
  63. cecli_dev-0.96.7/cecli/coders/editblock_fenced_coder.py +9 -0
  64. cecli_dev-0.96.7/cecli/coders/editblock_func_coder.py +140 -0
  65. cecli_dev-0.96.7/cecli/coders/editor_diff_fenced_coder.py +8 -0
  66. cecli_dev-0.96.7/cecli/coders/editor_editblock_coder.py +8 -0
  67. cecli_dev-0.96.7/cecli/coders/editor_whole_coder.py +8 -0
  68. cecli_dev-0.96.7/cecli/coders/help_coder.py +15 -0
  69. cecli_dev-0.96.7/cecli/coders/patch_coder.py +705 -0
  70. cecli_dev-0.96.7/cecli/coders/search_replace.py +757 -0
  71. cecli_dev-0.96.7/cecli/coders/shell.py +37 -0
  72. cecli_dev-0.96.7/cecli/coders/single_wholefile_func_coder.py +108 -0
  73. cecli_dev-0.96.7/cecli/coders/udiff_coder.py +428 -0
  74. cecli_dev-0.96.7/cecli/coders/udiff_simple.py +12 -0
  75. cecli_dev-0.96.7/cecli/coders/wholefile_coder.py +143 -0
  76. cecli_dev-0.96.7/cecli/coders/wholefile_func_coder.py +140 -0
  77. cecli_dev-0.96.7/cecli/commands/__init__.py +205 -0
  78. cecli_dev-0.96.7/cecli/commands/add.py +241 -0
  79. cecli_dev-0.96.7/cecli/commands/agent.py +51 -0
  80. cecli_dev-0.96.7/cecli/commands/architect.py +46 -0
  81. cecli_dev-0.96.7/cecli/commands/ask.py +44 -0
  82. cecli_dev-0.96.7/cecli/commands/chat_mode.py +0 -0
  83. cecli_dev-0.96.7/cecli/commands/clear.py +39 -0
  84. cecli_dev-0.96.7/cecli/commands/code.py +46 -0
  85. cecli_dev-0.96.7/cecli/commands/command_prefix.py +44 -0
  86. cecli_dev-0.96.7/cecli/commands/commit.py +52 -0
  87. cecli_dev-0.96.7/cecli/commands/compact.py +16 -0
  88. cecli_dev-0.96.7/cecli/commands/context.py +47 -0
  89. cecli_dev-0.96.7/cecli/commands/context_blocks.py +124 -0
  90. cecli_dev-0.96.7/cecli/commands/context_management.py +51 -0
  91. cecli_dev-0.96.7/cecli/commands/copy.py +64 -0
  92. cecli_dev-0.96.7/cecli/commands/copy_context.py +81 -0
  93. cecli_dev-0.96.7/cecli/commands/core.py +290 -0
  94. cecli_dev-0.96.7/cecli/commands/diff.py +68 -0
  95. cecli_dev-0.96.7/cecli/commands/drop.py +217 -0
  96. cecli_dev-0.96.7/cecli/commands/editor.py +78 -0
  97. cecli_dev-0.96.7/cecli/commands/editor_model.py +142 -0
  98. cecli_dev-0.96.7/cecli/commands/exit.py +47 -0
  99. cecli_dev-0.96.7/cecli/commands/git.py +57 -0
  100. cecli_dev-0.96.7/cecli/commands/help.py +140 -0
  101. cecli_dev-0.96.7/cecli/commands/history_search.py +112 -0
  102. cecli_dev-0.96.7/cecli/commands/lint.py +109 -0
  103. cecli_dev-0.96.7/cecli/commands/list_sessions.py +56 -0
  104. cecli_dev-0.96.7/cecli/commands/load.py +85 -0
  105. cecli_dev-0.96.7/cecli/commands/load_mcp.py +77 -0
  106. cecli_dev-0.96.7/cecli/commands/load_session.py +48 -0
  107. cecli_dev-0.96.7/cecli/commands/load_skill.py +68 -0
  108. cecli_dev-0.96.7/cecli/commands/ls.py +75 -0
  109. cecli_dev-0.96.7/cecli/commands/map.py +39 -0
  110. cecli_dev-0.96.7/cecli/commands/map_refresh.py +46 -0
  111. cecli_dev-0.96.7/cecli/commands/model.py +139 -0
  112. cecli_dev-0.96.7/cecli/commands/models.py +41 -0
  113. cecli_dev-0.96.7/cecli/commands/multiline_mode.py +38 -0
  114. cecli_dev-0.96.7/cecli/commands/paste.py +95 -0
  115. cecli_dev-0.96.7/cecli/commands/quit.py +32 -0
  116. cecli_dev-0.96.7/cecli/commands/read_only.py +247 -0
  117. cecli_dev-0.96.7/cecli/commands/read_only_stub.py +250 -0
  118. cecli_dev-0.96.7/cecli/commands/reasoning_effort.py +70 -0
  119. cecli_dev-0.96.7/cecli/commands/remove_mcp.py +65 -0
  120. cecli_dev-0.96.7/cecli/commands/remove_skill.py +68 -0
  121. cecli_dev-0.96.7/cecli/commands/report.py +40 -0
  122. cecli_dev-0.96.7/cecli/commands/reset.py +93 -0
  123. cecli_dev-0.96.7/cecli/commands/run.py +100 -0
  124. cecli_dev-0.96.7/cecli/commands/save.py +49 -0
  125. cecli_dev-0.96.7/cecli/commands/save_session.py +43 -0
  126. cecli_dev-0.96.7/cecli/commands/settings.py +69 -0
  127. cecli_dev-0.96.7/cecli/commands/terminal_data/linux.keytab +136 -0
  128. cecli_dev-0.96.7/cecli/commands/terminal_setup.py +833 -0
  129. cecli_dev-0.96.7/cecli/commands/test.py +58 -0
  130. cecli_dev-0.96.7/cecli/commands/think_tokens.py +74 -0
  131. cecli_dev-0.96.7/cecli/commands/tokens.py +235 -0
  132. cecli_dev-0.96.7/cecli/commands/undo.py +145 -0
  133. cecli_dev-0.96.7/cecli/commands/utils/__init__.py +0 -0
  134. cecli_dev-0.96.7/cecli/commands/utils/base_command.py +175 -0
  135. cecli_dev-0.96.7/cecli/commands/utils/helpers.py +237 -0
  136. cecli_dev-0.96.7/cecli/commands/utils/registry.py +69 -0
  137. cecli_dev-0.96.7/cecli/commands/utils/save_load_manager.py +98 -0
  138. cecli_dev-0.96.7/cecli/commands/voice.py +78 -0
  139. cecli_dev-0.96.7/cecli/commands/weak_model.py +142 -0
  140. cecli_dev-0.96.7/cecli/commands/web.py +88 -0
  141. cecli_dev-0.96.7/cecli/deprecated_args.py +185 -0
  142. cecli_dev-0.96.7/cecli/diffs.py +129 -0
  143. cecli_dev-0.96.7/cecli/dump.py +29 -0
  144. cecli_dev-0.96.7/cecli/editor.py +147 -0
  145. cecli_dev-0.96.7/cecli/exceptions.py +115 -0
  146. cecli_dev-0.96.7/cecli/format_settings.py +26 -0
  147. cecli_dev-0.96.7/cecli/help.py +123 -0
  148. cecli_dev-0.96.7/cecli/help_pats.py +19 -0
  149. cecli_dev-0.96.7/cecli/helpers/__init__.py +9 -0
  150. cecli_dev-0.96.7/cecli/helpers/background_commands.py +430 -0
  151. cecli_dev-0.96.7/cecli/helpers/command_parser.py +179 -0
  152. cecli_dev-0.96.7/cecli/helpers/conversation/__init__.py +20 -0
  153. cecli_dev-0.96.7/cecli/helpers/conversation/base_message.py +141 -0
  154. cecli_dev-0.96.7/cecli/helpers/conversation/files.py +398 -0
  155. cecli_dev-0.96.7/cecli/helpers/conversation/integration.py +743 -0
  156. cecli_dev-0.96.7/cecli/helpers/conversation/manager.py +763 -0
  157. cecli_dev-0.96.7/cecli/helpers/conversation/tags.py +87 -0
  158. cecli_dev-0.96.7/cecli/helpers/conversation/utils.py +160 -0
  159. cecli_dev-0.96.7/cecli/helpers/copypaste.py +123 -0
  160. cecli_dev-0.96.7/cecli/helpers/coroutines.py +8 -0
  161. cecli_dev-0.96.7/cecli/helpers/file_searcher.py +142 -0
  162. cecli_dev-0.96.7/cecli/helpers/model_providers.py +613 -0
  163. cecli_dev-0.96.7/cecli/helpers/nested.py +83 -0
  164. cecli_dev-0.96.7/cecli/helpers/plugin_manager.py +81 -0
  165. cecli_dev-0.96.7/cecli/helpers/profiler.py +162 -0
  166. cecli_dev-0.96.7/cecli/helpers/requests.py +139 -0
  167. cecli_dev-0.96.7/cecli/helpers/similarity.py +98 -0
  168. cecli_dev-0.96.7/cecli/helpers/skills.py +577 -0
  169. cecli_dev-0.96.7/cecli/history.py +186 -0
  170. cecli_dev-0.96.7/cecli/io.py +1821 -0
  171. cecli_dev-0.96.7/cecli/linter.py +304 -0
  172. cecli_dev-0.96.7/cecli/llm.py +102 -0
  173. cecli_dev-0.96.7/cecli/main.py +1327 -0
  174. cecli_dev-0.96.7/cecli/mcp/__init__.py +14 -0
  175. cecli_dev-0.96.7/cecli/mcp/manager.py +294 -0
  176. cecli_dev-0.96.7/cecli/mcp/oauth.py +225 -0
  177. cecli_dev-0.96.7/cecli/mcp/server.py +313 -0
  178. cecli_dev-0.96.7/cecli/mcp/utils.py +184 -0
  179. cecli_dev-0.96.7/cecli/mdstream.py +243 -0
  180. cecli_dev-0.96.7/cecli/models.py +1367 -0
  181. cecli_dev-0.96.7/cecli/onboarding.py +301 -0
  182. cecli_dev-0.96.7/cecli/prompts/__init__.py +0 -0
  183. cecli_dev-0.96.7/cecli/prompts/agent.yml +72 -0
  184. cecli_dev-0.96.7/cecli/prompts/architect.yml +35 -0
  185. cecli_dev-0.96.7/cecli/prompts/ask.yml +31 -0
  186. cecli_dev-0.96.7/cecli/prompts/base.yml +100 -0
  187. cecli_dev-0.96.7/cecli/prompts/context.yml +60 -0
  188. cecli_dev-0.96.7/cecli/prompts/copypaste.yml +5 -0
  189. cecli_dev-0.96.7/cecli/prompts/editblock.yml +143 -0
  190. cecli_dev-0.96.7/cecli/prompts/editblock_fenced.yml +106 -0
  191. cecli_dev-0.96.7/cecli/prompts/editblock_func.yml +25 -0
  192. cecli_dev-0.96.7/cecli/prompts/editor_diff_fenced.yml +115 -0
  193. cecli_dev-0.96.7/cecli/prompts/editor_editblock.yml +121 -0
  194. cecli_dev-0.96.7/cecli/prompts/editor_whole.yml +46 -0
  195. cecli_dev-0.96.7/cecli/prompts/help.yml +37 -0
  196. cecli_dev-0.96.7/cecli/prompts/patch.yml +110 -0
  197. cecli_dev-0.96.7/cecli/prompts/single_wholefile_func.yml +24 -0
  198. cecli_dev-0.96.7/cecli/prompts/udiff.yml +106 -0
  199. cecli_dev-0.96.7/cecli/prompts/udiff_simple.yml +13 -0
  200. cecli_dev-0.96.7/cecli/prompts/utils/__init__.py +0 -0
  201. cecli_dev-0.96.7/cecli/prompts/utils/registry.py +203 -0
  202. cecli_dev-0.96.7/cecli/prompts/utils/system.py +56 -0
  203. cecli_dev-0.96.7/cecli/prompts/wholefile.yml +50 -0
  204. cecli_dev-0.96.7/cecli/prompts/wholefile_func.yml +24 -0
  205. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/README.md +7 -0
  206. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
  207. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/c-tags.scm +12 -0
  208. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
  209. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +12 -0
  210. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +127 -0
  211. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +18 -0
  212. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +32 -0
  213. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/d-tags.scm +26 -0
  214. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/dart-tags.scm +97 -0
  215. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
  216. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +59 -0
  217. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/elm-tags.scm +22 -0
  218. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
  219. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/go-tags.scm +49 -0
  220. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/java-tags.scm +26 -0
  221. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +96 -0
  222. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/lua-tags.scm +39 -0
  223. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +10 -0
  224. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
  225. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +101 -0
  226. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
  227. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
  228. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/python-tags.scm +24 -0
  229. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/r-tags.scm +27 -0
  230. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
  231. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +69 -0
  232. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/rust-tags.scm +63 -0
  233. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
  234. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/swift-tags.scm +54 -0
  235. cecli_dev-0.96.7/cecli/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
  236. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/README.md +24 -0
  237. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/c-tags.scm +12 -0
  238. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +52 -0
  239. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/cpp-tags.scm +18 -0
  240. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/dart-tags.scm +92 -0
  241. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/elisp-tags.scm +8 -0
  242. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/elixir-tags.scm +59 -0
  243. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/elm-tags.scm +22 -0
  244. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/fortran-tags.scm +18 -0
  245. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/go-tags.scm +36 -0
  246. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/haskell-tags.scm +5 -0
  247. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/hcl-tags.scm +77 -0
  248. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/java-tags.scm +26 -0
  249. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/javascript-tags.scm +96 -0
  250. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/julia-tags.scm +60 -0
  251. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/kotlin-tags.scm +30 -0
  252. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/matlab-tags.scm +10 -0
  253. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
  254. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +104 -0
  255. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/php-tags.scm +32 -0
  256. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/python-tags.scm +22 -0
  257. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/ql-tags.scm +26 -0
  258. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/ruby-tags.scm +69 -0
  259. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/rust-tags.scm +63 -0
  260. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/scala-tags.scm +64 -0
  261. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/typescript-tags.scm +44 -0
  262. cecli_dev-0.96.7/cecli/queries/tree-sitter-languages/zig-tags.scm +20 -0
  263. cecli_dev-0.96.7/cecli/reasoning_tags.py +82 -0
  264. cecli_dev-0.96.7/cecli/repo.py +626 -0
  265. cecli_dev-0.96.7/cecli/repomap.py +1434 -0
  266. cecli_dev-0.96.7/cecli/report.py +278 -0
  267. cecli_dev-0.96.7/cecli/resources/__init__.py +3 -0
  268. cecli_dev-0.96.7/cecli/resources/model-metadata.json +25751 -0
  269. cecli_dev-0.96.7/cecli/resources/model-settings.yml +2394 -0
  270. cecli_dev-0.96.7/cecli/resources/providers.json +76 -0
  271. cecli_dev-0.96.7/cecli/run_cmd.py +143 -0
  272. cecli_dev-0.96.7/cecli/scrape.py +295 -0
  273. cecli_dev-0.96.7/cecli/sendchat.py +250 -0
  274. cecli_dev-0.96.7/cecli/sessions.py +307 -0
  275. cecli_dev-0.96.7/cecli/special.py +203 -0
  276. cecli_dev-0.96.7/cecli/tools/__init__.py +66 -0
  277. cecli_dev-0.96.7/cecli/tools/command.py +158 -0
  278. cecli_dev-0.96.7/cecli/tools/command_interactive.py +113 -0
  279. cecli_dev-0.96.7/cecli/tools/context_manager.py +175 -0
  280. cecli_dev-0.96.7/cecli/tools/delete_block.py +151 -0
  281. cecli_dev-0.96.7/cecli/tools/delete_line.py +114 -0
  282. cecli_dev-0.96.7/cecli/tools/delete_lines.py +140 -0
  283. cecli_dev-0.96.7/cecli/tools/extract_lines.py +282 -0
  284. cecli_dev-0.96.7/cecli/tools/finished.py +35 -0
  285. cecli_dev-0.96.7/cecli/tools/git_branch.py +133 -0
  286. cecli_dev-0.96.7/cecli/tools/git_diff.py +49 -0
  287. cecli_dev-0.96.7/cecli/tools/git_log.py +43 -0
  288. cecli_dev-0.96.7/cecli/tools/git_remote.py +39 -0
  289. cecli_dev-0.96.7/cecli/tools/git_show.py +37 -0
  290. cecli_dev-0.96.7/cecli/tools/git_status.py +32 -0
  291. cecli_dev-0.96.7/cecli/tools/grep.py +243 -0
  292. cecli_dev-0.96.7/cecli/tools/indent_lines.py +192 -0
  293. cecli_dev-0.96.7/cecli/tools/insert_block.py +264 -0
  294. cecli_dev-0.96.7/cecli/tools/list_changes.py +71 -0
  295. cecli_dev-0.96.7/cecli/tools/load_skill.py +51 -0
  296. cecli_dev-0.96.7/cecli/tools/ls.py +77 -0
  297. cecli_dev-0.96.7/cecli/tools/remove_skill.py +51 -0
  298. cecli_dev-0.96.7/cecli/tools/replace_text.py +459 -0
  299. cecli_dev-0.96.7/cecli/tools/show_numbered_context.py +199 -0
  300. cecli_dev-0.96.7/cecli/tools/thinking.py +52 -0
  301. cecli_dev-0.96.7/cecli/tools/undo_change.py +82 -0
  302. cecli_dev-0.96.7/cecli/tools/update_todo_list.py +132 -0
  303. cecli_dev-0.96.7/cecli/tools/utils/base_tool.py +64 -0
  304. cecli_dev-0.96.7/cecli/tools/utils/helpers.py +359 -0
  305. cecli_dev-0.96.7/cecli/tools/utils/output.py +119 -0
  306. cecli_dev-0.96.7/cecli/tools/utils/registry.py +145 -0
  307. cecli_dev-0.96.7/cecli/tools/view_files_matching.py +138 -0
  308. cecli_dev-0.96.7/cecli/tools/view_files_with_symbol.py +117 -0
  309. cecli_dev-0.96.7/cecli/tui/__init__.py +83 -0
  310. cecli_dev-0.96.7/cecli/tui/app.py +1133 -0
  311. cecli_dev-0.96.7/cecli/tui/io.py +558 -0
  312. cecli_dev-0.96.7/cecli/tui/styles.tcss +129 -0
  313. cecli_dev-0.96.7/cecli/tui/widgets/__init__.py +21 -0
  314. cecli_dev-0.96.7/cecli/tui/widgets/completion_bar.py +332 -0
  315. cecli_dev-0.96.7/cecli/tui/widgets/file_list.py +76 -0
  316. cecli_dev-0.96.7/cecli/tui/widgets/footer.py +167 -0
  317. cecli_dev-0.96.7/cecli/tui/widgets/input_area.py +332 -0
  318. cecli_dev-0.96.7/cecli/tui/widgets/input_container.py +19 -0
  319. cecli_dev-0.96.7/cecli/tui/widgets/key_hints.py +52 -0
  320. cecli_dev-0.96.7/cecli/tui/widgets/output.py +370 -0
  321. cecli_dev-0.96.7/cecli/tui/widgets/status_bar.py +279 -0
  322. cecli_dev-0.96.7/cecli/tui/worker.py +165 -0
  323. cecli_dev-0.96.7/cecli/urls.py +16 -0
  324. cecli_dev-0.96.7/cecli/utils.py +502 -0
  325. cecli_dev-0.96.7/cecli/versioncheck.py +94 -0
  326. cecli_dev-0.96.7/cecli/voice.py +90 -0
  327. cecli_dev-0.96.7/cecli/waiting.py +38 -0
  328. cecli_dev-0.96.7/cecli/watch.py +316 -0
  329. cecli_dev-0.96.7/cecli/watch_prompts.py +12 -0
  330. cecli_dev-0.96.7/cecli/website/Gemfile +8 -0
  331. cecli_dev-0.96.7/cecli/website/_includes/blame.md +162 -0
  332. cecli_dev-0.96.7/cecli/website/_includes/get-started.md +22 -0
  333. cecli_dev-0.96.7/cecli/website/_includes/help-tip.md +5 -0
  334. cecli_dev-0.96.7/cecli/website/_includes/help.md +24 -0
  335. cecli_dev-0.96.7/cecli/website/_includes/install.md +4 -0
  336. cecli_dev-0.96.7/cecli/website/_includes/keys.md +4 -0
  337. cecli_dev-0.96.7/cecli/website/_includes/model-warnings.md +67 -0
  338. cecli_dev-0.96.7/cecli/website/_includes/multi-line.md +22 -0
  339. cecli_dev-0.96.7/cecli/website/_includes/python-m-aider.md +5 -0
  340. cecli_dev-0.96.7/cecli/website/_includes/recording.css +228 -0
  341. cecli_dev-0.96.7/cecli/website/_includes/recording.md +34 -0
  342. cecli_dev-0.96.7/cecli/website/_includes/replit-pipx.md +9 -0
  343. cecli_dev-0.96.7/cecli/website/_includes/works-best.md +1 -0
  344. cecli_dev-0.96.7/cecli/website/_sass/custom/custom.scss +103 -0
  345. cecli_dev-0.96.7/cecli/website/docs/config/adv-model-settings.md +2498 -0
  346. cecli_dev-0.96.7/cecli/website/docs/config/agent-mode.md +320 -0
  347. cecli_dev-0.96.7/cecli/website/docs/config/aider_conf.md +548 -0
  348. cecli_dev-0.96.7/cecli/website/docs/config/api-keys.md +90 -0
  349. cecli_dev-0.96.7/cecli/website/docs/config/custom-commands.md +189 -0
  350. cecli_dev-0.96.7/cecli/website/docs/config/custom-system-prompts.md +162 -0
  351. cecli_dev-0.96.7/cecli/website/docs/config/dotenv.md +493 -0
  352. cecli_dev-0.96.7/cecli/website/docs/config/editor.md +127 -0
  353. cecli_dev-0.96.7/cecli/website/docs/config/mcp.md +214 -0
  354. cecli_dev-0.96.7/cecli/website/docs/config/model-aliases.md +173 -0
  355. cecli_dev-0.96.7/cecli/website/docs/config/options.md +890 -0
  356. cecli_dev-0.96.7/cecli/website/docs/config/reasoning.md +210 -0
  357. cecli_dev-0.96.7/cecli/website/docs/config/skills.md +172 -0
  358. cecli_dev-0.96.7/cecli/website/docs/config/tui.md +134 -0
  359. cecli_dev-0.96.7/cecli/website/docs/config.md +74 -0
  360. cecli_dev-0.96.7/cecli/website/docs/faq.md +379 -0
  361. cecli_dev-0.96.7/cecli/website/docs/git.md +76 -0
  362. cecli_dev-0.96.7/cecli/website/docs/index.md +47 -0
  363. cecli_dev-0.96.7/cecli/website/docs/install/codespaces.md +39 -0
  364. cecli_dev-0.96.7/cecli/website/docs/install/docker.md +48 -0
  365. cecli_dev-0.96.7/cecli/website/docs/install/optional.md +100 -0
  366. cecli_dev-0.96.7/cecli/website/docs/install/replit.md +8 -0
  367. cecli_dev-0.96.7/cecli/website/docs/install.md +115 -0
  368. cecli_dev-0.96.7/cecli/website/docs/languages.md +264 -0
  369. cecli_dev-0.96.7/cecli/website/docs/legal/contributor-agreement.md +111 -0
  370. cecli_dev-0.96.7/cecli/website/docs/legal/privacy.md +104 -0
  371. cecli_dev-0.96.7/cecli/website/docs/llms/anthropic.md +77 -0
  372. cecli_dev-0.96.7/cecli/website/docs/llms/azure.md +48 -0
  373. cecli_dev-0.96.7/cecli/website/docs/llms/bedrock.md +132 -0
  374. cecli_dev-0.96.7/cecli/website/docs/llms/cohere.md +34 -0
  375. cecli_dev-0.96.7/cecli/website/docs/llms/deepseek.md +32 -0
  376. cecli_dev-0.96.7/cecli/website/docs/llms/gemini.md +49 -0
  377. cecli_dev-0.96.7/cecli/website/docs/llms/github.md +111 -0
  378. cecli_dev-0.96.7/cecli/website/docs/llms/groq.md +36 -0
  379. cecli_dev-0.96.7/cecli/website/docs/llms/lm-studio.md +39 -0
  380. cecli_dev-0.96.7/cecli/website/docs/llms/ollama.md +75 -0
  381. cecli_dev-0.96.7/cecli/website/docs/llms/openai-compat.md +39 -0
  382. cecli_dev-0.96.7/cecli/website/docs/llms/openai.md +58 -0
  383. cecli_dev-0.96.7/cecli/website/docs/llms/openrouter.md +78 -0
  384. cecli_dev-0.96.7/cecli/website/docs/llms/other.md +117 -0
  385. cecli_dev-0.96.7/cecli/website/docs/llms/vertex.md +50 -0
  386. cecli_dev-0.96.7/cecli/website/docs/llms/warnings.md +10 -0
  387. cecli_dev-0.96.7/cecli/website/docs/llms/xai.md +53 -0
  388. cecli_dev-0.96.7/cecli/website/docs/llms.md +54 -0
  389. cecli_dev-0.96.7/cecli/website/docs/more/analytics.md +127 -0
  390. cecli_dev-0.96.7/cecli/website/docs/more/edit-formats.md +116 -0
  391. cecli_dev-0.96.7/cecli/website/docs/more/infinite-output.md +192 -0
  392. cecli_dev-0.96.7/cecli/website/docs/more-info.md +8 -0
  393. cecli_dev-0.96.7/cecli/website/docs/recordings/auto-accept-architect.md +31 -0
  394. cecli_dev-0.96.7/cecli/website/docs/recordings/dont-drop-original-read-files.md +35 -0
  395. cecli_dev-0.96.7/cecli/website/docs/recordings/index.md +21 -0
  396. cecli_dev-0.96.7/cecli/website/docs/recordings/model-accepts-settings.md +69 -0
  397. cecli_dev-0.96.7/cecli/website/docs/recordings/tree-sitter-language-pack.md +80 -0
  398. cecli_dev-0.96.7/cecli/website/docs/repomap.md +112 -0
  399. cecli_dev-0.96.7/cecli/website/docs/scripting.md +100 -0
  400. cecli_dev-0.96.7/cecli/website/docs/sessions.md +213 -0
  401. cecli_dev-0.96.7/cecli/website/docs/troubleshooting/cecli-not-found.md +24 -0
  402. cecli_dev-0.96.7/cecli/website/docs/troubleshooting/edit-errors.md +76 -0
  403. cecli_dev-0.96.7/cecli/website/docs/troubleshooting/imports.md +62 -0
  404. cecli_dev-0.96.7/cecli/website/docs/troubleshooting/models-and-keys.md +54 -0
  405. cecli_dev-0.96.7/cecli/website/docs/troubleshooting/support.md +79 -0
  406. cecli_dev-0.96.7/cecli/website/docs/troubleshooting/token-limits.md +96 -0
  407. cecli_dev-0.96.7/cecli/website/docs/troubleshooting/warnings.md +12 -0
  408. cecli_dev-0.96.7/cecli/website/docs/troubleshooting.md +11 -0
  409. cecli_dev-0.96.7/cecli/website/docs/usage/browser.md +57 -0
  410. cecli_dev-0.96.7/cecli/website/docs/usage/caching.md +49 -0
  411. cecli_dev-0.96.7/cecli/website/docs/usage/commands.md +135 -0
  412. cecli_dev-0.96.7/cecli/website/docs/usage/conventions.md +119 -0
  413. cecli_dev-0.96.7/cecli/website/docs/usage/copypaste.md +136 -0
  414. cecli_dev-0.96.7/cecli/website/docs/usage/images-urls.md +48 -0
  415. cecli_dev-0.96.7/cecli/website/docs/usage/lint-test.md +118 -0
  416. cecli_dev-0.96.7/cecli/website/docs/usage/modes.md +211 -0
  417. cecli_dev-0.96.7/cecli/website/docs/usage/not-code.md +179 -0
  418. cecli_dev-0.96.7/cecli/website/docs/usage/notifications.md +87 -0
  419. cecli_dev-0.96.7/cecli/website/docs/usage/tips.md +79 -0
  420. cecli_dev-0.96.7/cecli/website/docs/usage/tutorials.md +30 -0
  421. cecli_dev-0.96.7/cecli/website/docs/usage/voice.md +121 -0
  422. cecli_dev-0.96.7/cecli/website/docs/usage/watch.md +294 -0
  423. cecli_dev-0.96.7/cecli/website/docs/usage.md +102 -0
  424. cecli_dev-0.96.7/cecli/website/share/index.md +101 -0
  425. cecli_dev-0.96.7/cecli_dev.egg-info/PKG-INFO +560 -0
  426. cecli_dev-0.96.7/cecli_dev.egg-info/SOURCES.txt +572 -0
  427. cecli_dev-0.96.7/cecli_dev.egg-info/dependency_links.txt +1 -0
  428. cecli_dev-0.96.7/cecli_dev.egg-info/entry_points.txt +4 -0
  429. cecli_dev-0.96.7/cecli_dev.egg-info/requires.txt +72 -0
  430. cecli_dev-0.96.7/cecli_dev.egg-info/top_level.txt +1 -0
  431. cecli_dev-0.96.7/docker/Dockerfile +73 -0
  432. cecli_dev-0.96.7/docker/Dockerfile.local.nvidia.cuda.ubuntu +90 -0
  433. cecli_dev-0.96.7/pyproject.toml +55 -0
  434. cecli_dev-0.96.7/pytest.ini +14 -0
  435. cecli_dev-0.96.7/requirements/common-constraints.txt +641 -0
  436. cecli_dev-0.96.7/requirements/requirements-dev.in +16 -0
  437. cecli_dev-0.96.7/requirements/requirements-dev.txt +302 -0
  438. cecli_dev-0.96.7/requirements/requirements-help.in +11 -0
  439. cecli_dev-0.96.7/requirements/requirements-help.txt +419 -0
  440. cecli_dev-0.96.7/requirements/requirements-playwright.in +1 -0
  441. cecli_dev-0.96.7/requirements/requirements-playwright.txt +18 -0
  442. cecli_dev-0.96.7/requirements/requirements.in +48 -0
  443. cecli_dev-0.96.7/requirements/tree-sitter.in +3 -0
  444. cecli_dev-0.96.7/requirements.txt +508 -0
  445. cecli_dev-0.96.7/scripts/30k-image.py +235 -0
  446. cecli_dev-0.96.7/scripts/Dockerfile.jekyll +20 -0
  447. cecli_dev-0.96.7/scripts/__init__.py +0 -0
  448. cecli_dev-0.96.7/scripts/blame.py +296 -0
  449. cecli_dev-0.96.7/scripts/clean_metadata.py +258 -0
  450. cecli_dev-0.96.7/scripts/cost_analyzer.py +144 -0
  451. cecli_dev-0.96.7/scripts/dl_icons.py +59 -0
  452. cecli_dev-0.96.7/scripts/filter-chat-mode.js +105 -0
  453. cecli_dev-0.96.7/scripts/generate_providers.py +224 -0
  454. cecli_dev-0.96.7/scripts/get_contributor_list.js +38 -0
  455. cecli_dev-0.96.7/scripts/history_prompts.py +26 -0
  456. cecli_dev-0.96.7/scripts/homepage.py +590 -0
  457. cecli_dev-0.96.7/scripts/issues.py +458 -0
  458. cecli_dev-0.96.7/scripts/jekyll_build.sh +4 -0
  459. cecli_dev-0.96.7/scripts/jekyll_run.sh +16 -0
  460. cecli_dev-0.96.7/scripts/logo_svg.py +174 -0
  461. cecli_dev-0.96.7/scripts/pip-compile.sh +43 -0
  462. cecli_dev-0.96.7/scripts/recording_audio.py +338 -0
  463. cecli_dev-0.96.7/scripts/redact-cast.py +62 -0
  464. cecli_dev-0.96.7/scripts/rename_to_cecli.py +863 -0
  465. cecli_dev-0.96.7/scripts/tmux_record.sh +18 -0
  466. cecli_dev-0.96.7/scripts/tsl_pack_langs.py +145 -0
  467. cecli_dev-0.96.7/scripts/update-blame.sh +8 -0
  468. cecli_dev-0.96.7/scripts/update-docs.sh +34 -0
  469. cecli_dev-0.96.7/scripts/update-history.py +162 -0
  470. cecli_dev-0.96.7/scripts/versionbump.py +175 -0
  471. cecli_dev-0.96.7/scripts/yank-old-versions.py +51 -0
  472. cecli_dev-0.96.7/setup.cfg +4 -0
  473. cecli_dev-0.96.7/shim.pyproject.toml +50 -0
  474. cecli_dev-0.96.7/tests/__init__.py +0 -0
  475. cecli_dev-0.96.7/tests/basic/__init__.py +0 -0
  476. cecli_dev-0.96.7/tests/basic/test_aws_credentials.py +169 -0
  477. cecli_dev-0.96.7/tests/basic/test_background_commands.py +181 -0
  478. cecli_dev-0.96.7/tests/basic/test_coder.py +1839 -0
  479. cecli_dev-0.96.7/tests/basic/test_commands.py +2326 -0
  480. cecli_dev-0.96.7/tests/basic/test_custom_commands.py +64 -0
  481. cecli_dev-0.96.7/tests/basic/test_deprecated.py +140 -0
  482. cecli_dev-0.96.7/tests/basic/test_editblock.py +593 -0
  483. cecli_dev-0.96.7/tests/basic/test_editor.py +159 -0
  484. cecli_dev-0.96.7/tests/basic/test_exceptions.py +95 -0
  485. cecli_dev-0.96.7/tests/basic/test_find_or_blocks.py +114 -0
  486. cecli_dev-0.96.7/tests/basic/test_history.py +118 -0
  487. cecli_dev-0.96.7/tests/basic/test_io.py +645 -0
  488. cecli_dev-0.96.7/tests/basic/test_linter.py +92 -0
  489. cecli_dev-0.96.7/tests/basic/test_main.py +1383 -0
  490. cecli_dev-0.96.7/tests/basic/test_model_info_manager.py +80 -0
  491. cecli_dev-0.96.7/tests/basic/test_model_provider_manager.py +563 -0
  492. cecli_dev-0.96.7/tests/basic/test_models.py +792 -0
  493. cecli_dev-0.96.7/tests/basic/test_onboarding.py +410 -0
  494. cecli_dev-0.96.7/tests/basic/test_plugin_manager.py +325 -0
  495. cecli_dev-0.96.7/tests/basic/test_prompts.py +486 -0
  496. cecli_dev-0.96.7/tests/basic/test_reasoning.py +626 -0
  497. cecli_dev-0.96.7/tests/basic/test_repo.py +712 -0
  498. cecli_dev-0.96.7/tests/basic/test_repomap.py +651 -0
  499. cecli_dev-0.96.7/tests/basic/test_run_cmd.py +11 -0
  500. cecli_dev-0.96.7/tests/basic/test_sanity_check_repo.py +190 -0
  501. cecli_dev-0.96.7/tests/basic/test_scripting.py +35 -0
  502. cecli_dev-0.96.7/tests/basic/test_sendchat.py +179 -0
  503. cecli_dev-0.96.7/tests/basic/test_sessions.py +196 -0
  504. cecli_dev-0.96.7/tests/basic/test_skills.py +531 -0
  505. cecli_dev-0.96.7/tests/basic/test_special.py +76 -0
  506. cecli_dev-0.96.7/tests/basic/test_ssl_verification.py +84 -0
  507. cecli_dev-0.96.7/tests/basic/test_udiff.py +113 -0
  508. cecli_dev-0.96.7/tests/basic/test_urls.py +15 -0
  509. cecli_dev-0.96.7/tests/basic/test_voice.py +238 -0
  510. cecli_dev-0.96.7/tests/basic/test_watch.py +166 -0
  511. cecli_dev-0.96.7/tests/basic/test_wholefile.py +380 -0
  512. cecli_dev-0.96.7/tests/coders/test_copypaste_coder.py +170 -0
  513. cecli_dev-0.96.7/tests/conftest.py +16 -0
  514. cecli_dev-0.96.7/tests/fixtures/chat-history-search-replace-gold.txt +27810 -0
  515. cecli_dev-0.96.7/tests/fixtures/chat-history.md +99961 -0
  516. cecli_dev-0.96.7/tests/fixtures/languages/arduino/test.ino +21 -0
  517. cecli_dev-0.96.7/tests/fixtures/languages/c/test.c +21 -0
  518. cecli_dev-0.96.7/tests/fixtures/languages/chatito/test.chatito +20 -0
  519. cecli_dev-0.96.7/tests/fixtures/languages/clojure/test.clj +6 -0
  520. cecli_dev-0.96.7/tests/fixtures/languages/commonlisp/test.lisp +17 -0
  521. cecli_dev-0.96.7/tests/fixtures/languages/cpp/test.cpp +6 -0
  522. cecli_dev-0.96.7/tests/fixtures/languages/csharp/test.cs +39 -0
  523. cecli_dev-0.96.7/tests/fixtures/languages/d/test.d +26 -0
  524. cecli_dev-0.96.7/tests/fixtures/languages/dart/test.dart +21 -0
  525. cecli_dev-0.96.7/tests/fixtures/languages/elisp/test.el +25 -0
  526. cecli_dev-0.96.7/tests/fixtures/languages/elixir/test.ex +5 -0
  527. cecli_dev-0.96.7/tests/fixtures/languages/elm/test.elm +59 -0
  528. cecli_dev-0.96.7/tests/fixtures/languages/gleam/test.gleam +10 -0
  529. cecli_dev-0.96.7/tests/fixtures/languages/go/test.go +42 -0
  530. cecli_dev-0.96.7/tests/fixtures/languages/haskell/test.hs +7 -0
  531. cecli_dev-0.96.7/tests/fixtures/languages/hcl/test.tf +52 -0
  532. cecli_dev-0.96.7/tests/fixtures/languages/java/test.java +16 -0
  533. cecli_dev-0.96.7/tests/fixtures/languages/javascript/test.js +26 -0
  534. cecli_dev-0.96.7/tests/fixtures/languages/kotlin/test.kt +16 -0
  535. cecli_dev-0.96.7/tests/fixtures/languages/lua/test.lua +25 -0
  536. cecli_dev-0.96.7/tests/fixtures/languages/matlab/test.m +42 -0
  537. cecli_dev-0.96.7/tests/fixtures/languages/ocaml/test.ml +19 -0
  538. cecli_dev-0.96.7/tests/fixtures/languages/ocaml_interface/test.mli +14 -0
  539. cecli_dev-0.96.7/tests/fixtures/languages/php/test.php +5 -0
  540. cecli_dev-0.96.7/tests/fixtures/languages/pony/test.pony +8 -0
  541. cecli_dev-0.96.7/tests/fixtures/languages/properties/test.properties +14 -0
  542. cecli_dev-0.96.7/tests/fixtures/languages/python/test.py +28 -0
  543. cecli_dev-0.96.7/tests/fixtures/languages/ql/test.ql +3 -0
  544. cecli_dev-0.96.7/tests/fixtures/languages/r/test.r +17 -0
  545. cecli_dev-0.96.7/tests/fixtures/languages/racket/test.rkt +8 -0
  546. cecli_dev-0.96.7/tests/fixtures/languages/ruby/test.rb +3 -0
  547. cecli_dev-0.96.7/tests/fixtures/languages/rust/test.rs +33 -0
  548. cecli_dev-0.96.7/tests/fixtures/languages/scala/test.scala +61 -0
  549. cecli_dev-0.96.7/tests/fixtures/languages/solidity/test.sol +21 -0
  550. cecli_dev-0.96.7/tests/fixtures/languages/swift/test.swift +18 -0
  551. cecli_dev-0.96.7/tests/fixtures/languages/tsx/test.tsx +30 -0
  552. cecli_dev-0.96.7/tests/fixtures/languages/typescript/test.ts +3 -0
  553. cecli_dev-0.96.7/tests/fixtures/languages/udev/test.rules +22 -0
  554. cecli_dev-0.96.7/tests/fixtures/languages/zig/test.zig +10 -0
  555. cecli_dev-0.96.7/tests/fixtures/sample-code-base/sample.js +50 -0
  556. cecli_dev-0.96.7/tests/fixtures/sample-code-base/sample.py +68 -0
  557. cecli_dev-0.96.7/tests/fixtures/sample-code-base-repo-map.txt +55 -0
  558. cecli_dev-0.96.7/tests/fixtures/watch.js +38 -0
  559. cecli_dev-0.96.7/tests/fixtures/watch.lisp +19 -0
  560. cecli_dev-0.96.7/tests/fixtures/watch.py +21 -0
  561. cecli_dev-0.96.7/tests/fixtures/watch_question.js +11 -0
  562. cecli_dev-0.96.7/tests/help/test_help.py +154 -0
  563. cecli_dev-0.96.7/tests/mcp/__init__.py +0 -0
  564. cecli_dev-0.96.7/tests/mcp/test_manager.py +319 -0
  565. cecli_dev-0.96.7/tests/scrape/test_playwright_disable.py +139 -0
  566. cecli_dev-0.96.7/tests/scrape/test_scrape.py +198 -0
  567. cecli_dev-0.96.7/tests/test_conversation_integration.py +89 -0
  568. cecli_dev-0.96.7/tests/test_conversation_system.py +710 -0
  569. cecli_dev-0.96.7/tests/tools/test_git_branch.py +51 -0
  570. cecli_dev-0.96.7/tests/tools/test_git_diff.py +29 -0
  571. cecli_dev-0.96.7/tests/tools/test_grep.py +52 -0
  572. cecli_dev-0.96.7/tests/tools/test_insert_block.py +149 -0
  573. cecli_dev-0.96.7/tests/tools/test_registry.py +187 -0
  574. cecli_dev-0.96.7/tests/tools/test_show_numbered_context.py +118 -0
@@ -0,0 +1,29 @@
1
+ # Ignore everything
2
+ *
3
+
4
+ # But descend into directories
5
+ !*/
6
+
7
+ # Recursively allow files under subtree
8
+ !/.github/**
9
+ !/cecli/**
10
+ !/benchmark/**
11
+ !/docker/**
12
+ !/requirements/**
13
+ !/scripts/**
14
+ !/tests/**
15
+
16
+ # Specific Files
17
+ !/.dockerignore
18
+ !/.flake8
19
+ !/.gitignore
20
+ !/.pre-commit-config.yaml
21
+ !/CNAME
22
+ !/CONTRIBUTING.metadata
23
+ !/HISTORY.md
24
+ !/LICENSE.txt
25
+ !/MANIFEST.in
26
+ !/pyproject.toml
27
+ !/pytest.ini
28
+ !/README.md
29
+ !/requirements.txt
@@ -0,0 +1,3 @@
1
+ [flake8]
2
+ ignore = E203,W503
3
+ max-line-length = 120
@@ -0,0 +1 @@
1
+ * text=auto eol=lf
@@ -0,0 +1,21 @@
1
+ name: Question or bug report
2
+ description: Submit a question or bug report to help us improve cecli
3
+ labels: []
4
+ body:
5
+ - type: textarea
6
+ attributes:
7
+ label: Issue
8
+ description: Please describe your problem or question.
9
+ validations:
10
+ required: true
11
+ - type: textarea
12
+ attributes:
13
+ label: Version and model info
14
+ description: Please include cecli version, model being used (`gemini-3-xxx`, etc) and any other switches or config settings that are active.
15
+ placeholder: |
16
+ cecli v0.XX.Y
17
+ Model: gpt-N-... using ???? edit format
18
+ Git repo: .git with ### files
19
+ Repo-map: using #### tokens
20
+ validations:
21
+ required: false
@@ -0,0 +1,82 @@
1
+ name: Check PyPI Version
2
+
3
+ on:
4
+ schedule:
5
+ # Run once a day at midnight UTC
6
+ - cron: '0 0 * * *'
7
+ workflow_dispatch: # Allows manual triggering
8
+
9
+ jobs:
10
+ check_version:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.14", "3.13", "3.12", "3.11", "3.10"]
15
+
16
+ steps:
17
+ - name: Set up Python ${{ matrix.python-version }}
18
+ uses: actions/setup-python@v5
19
+ with:
20
+ python-version: ${{ matrix.python-version }}
21
+
22
+ - name: Install aider-ce
23
+ run: pip install aider-ce
24
+
25
+ - name: Get installed cecli version
26
+ id: installed_version
27
+ run: |
28
+ set -x # Enable debugging output
29
+ cecli_version_output=$(aider-ce --version)
30
+ if [ $? -ne 0 ]; then
31
+ echo "Error: 'cecli --version' command failed."
32
+ exit 1
33
+ fi
34
+ echo "Raw cecli --version output: $cecli_version_output"
35
+
36
+ # Extract version number (format X.Y.Z)
37
+ version_num=$(echo "$cecli_version_output" | grep -oP '\d+\.\d+\.\d+')
38
+
39
+ # Check if grep found anything
40
+ if [ -z "$version_num" ]; then
41
+ echo "Error: Could not extract version number using grep -oP '\d+\.\d+\.\d+' from output: $cecli_version_output"
42
+ exit 1
43
+ fi
44
+
45
+ echo "Extracted version number: $version_num"
46
+ echo "version=$version_num" >> $GITHUB_OUTPUT
47
+
48
+ - name: Check out code
49
+ uses: actions/checkout@v4
50
+ with:
51
+ fetch-depth: 0 # Fetch all history for all tags
52
+
53
+ - name: Get latest tag
54
+ id: latest_tag
55
+ run: |
56
+ set -x # Enable debugging output
57
+ # Fetch all tags from remote just in case
58
+ git fetch --tags origin main
59
+ # Get the latest tag that strictly matches vX.Y.Z (no suffixes like .dev)
60
+ # List all tags, sort by version descending, filter for exact pattern, take the first one
61
+ latest_tag=$(git tag --sort=-v:refname | grep -P '^v\d+\.\d+\.\d+$' | head -n 1)
62
+
63
+ if [ -z "$latest_tag" ]; then
64
+ echo "Error: Could not find any tags matching the pattern '^v\d+\.\d+\.\d+$'"
65
+ exit 1
66
+ fi
67
+
68
+ echo "Latest non-dev tag: $latest_tag"
69
+ # Remove 'v' prefix for comparison
70
+ tag_num=${latest_tag#v}
71
+ echo "Extracted tag number: $tag_num"
72
+ echo "tag=$tag_num" >> $GITHUB_OUTPUT
73
+
74
+ - name: Compare versions
75
+ run: |
76
+ echo "Installed version: ${{ steps.installed_version.outputs.version }}"
77
+ echo "Latest tag version: ${{ steps.latest_tag.outputs.tag }}"
78
+ if [ "${{ steps.installed_version.outputs.version }}" != "${{ steps.latest_tag.outputs.tag }}" ]; then
79
+ echo "Error: Installed cecli version (${{ steps.installed_version.outputs.version }}) does not match the latest tag (${{ steps.latest_tag.outputs.tag }})."
80
+ exit 1
81
+ fi
82
+ echo "Versions match."
@@ -0,0 +1,66 @@
1
+ name: Docker Build Test
2
+
3
+ on:
4
+ push:
5
+ paths-ignore:
6
+ - 'cecli/website/**'
7
+ - 'README.md'
8
+ - 'HISTORY.md'
9
+ - '.github/workflows/*'
10
+ - '!.github/workflows/docker-build-test.yml'
11
+ branches:
12
+ - main
13
+ pull_request:
14
+ paths-ignore:
15
+ - 'cecli/website/**'
16
+ - 'README.md'
17
+ - 'HISTORY.md'
18
+ - '.github/workflows/*'
19
+ - '!.github/workflows/docker-build-test.yml'
20
+ branches:
21
+ - main
22
+
23
+ jobs:
24
+ docker_build_and_push:
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - name: Checkout code
28
+ uses: actions/checkout@v4
29
+ with:
30
+ fetch-depth: 0
31
+
32
+ - name: Set up QEMU
33
+ uses: docker/setup-qemu-action@v3
34
+
35
+ - name: Set up Docker Buildx
36
+ uses: docker/setup-buildx-action@v3
37
+
38
+ - name: Login to DockerHub
39
+ if: ${{ github.event_name != 'pull_request' }}
40
+ uses: docker/login-action@v3
41
+ with:
42
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
43
+ password: ${{ secrets.DOCKERHUB_PASSWORD }}
44
+
45
+ - name: Build Docker images (PR)
46
+ if: ${{ github.event_name == 'pull_request' }}
47
+ uses: docker/build-push-action@v5
48
+ with:
49
+ context: .
50
+ file: ./docker/Dockerfile
51
+ platforms: linux/amd64,linux/arm64
52
+ push: false
53
+ target: aider-ce
54
+ cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/aider-ce:latest-bc
55
+
56
+ - name: Build Docker images (Push)
57
+ if: ${{ github.event_name != 'pull_request' }}
58
+ uses: docker/build-push-action@v5
59
+ with:
60
+ context: .
61
+ file: ./docker/Dockerfile
62
+ platforms: linux/amd64,linux/arm64
63
+ push: true
64
+ tags: ${{ secrets.DOCKERHUB_USERNAME }}/aider-ce:dev
65
+ target: aider-ce
66
+ cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/aider-ce:latest-bc
@@ -0,0 +1,43 @@
1
+ name: Docker Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ tags:
7
+ - 'v[0-9]+.[0-9]+.[0-9]+'
8
+
9
+ jobs:
10
+ docker_build_and_push:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v4
15
+ with:
16
+ fetch-depth: 0
17
+
18
+ - name: Set up QEMU
19
+ uses: docker/setup-qemu-action@v3
20
+
21
+ - name: Set up Docker Buildx
22
+ uses: docker/setup-buildx-action@v3
23
+
24
+ - name: Login to DockerHub
25
+ uses: docker/login-action@v3
26
+ with:
27
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
28
+ password: ${{ secrets.DOCKERHUB_PASSWORD }}
29
+
30
+ - name: Build and push Docker images
31
+ uses: docker/build-push-action@v5
32
+ with:
33
+ context: .
34
+ file: ./docker/Dockerfile
35
+ platforms: linux/amd64,linux/arm64
36
+ push: true
37
+ tags: |
38
+ ${{ secrets.DOCKERHUB_USERNAME }}/aider-ce:${{ github.ref_name }}
39
+ ${{ secrets.DOCKERHUB_USERNAME }}/aider-ce:latest
40
+ target: aider-ce
41
+ cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/aider-ce:latest-bc
42
+ cache-to: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/aider-ce:latest-bc,mode=max
43
+
@@ -0,0 +1,29 @@
1
+ name: Process GitHub Issues
2
+ on:
3
+ schedule:
4
+ - cron: '0 */12 * * *' # Run every 12 hours
5
+ workflow_dispatch: # Allow manual triggers
6
+
7
+ jobs:
8
+ process-issues:
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ issues: write # Required to modify issues
12
+
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+
16
+ - name: Set up Python
17
+ uses: actions/setup-python@v4
18
+ with:
19
+ python-version: '3.x'
20
+
21
+ - name: Install dependencies
22
+ run: |
23
+ python -m pip install --upgrade pip
24
+ pip install requests python-dotenv tqdm
25
+
26
+ - name: Run issues script
27
+ env:
28
+ GITHUB_TOKEN: ${{ secrets.REPO_GITHUB_TOKEN }}
29
+ run: python scripts/issues.py --yes
@@ -0,0 +1,87 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+
6
+ # Sample workflow for building and deploying a Jekyll site to GitHub Pages
7
+ name: Deploy Jekyll site to Pages
8
+
9
+ on:
10
+ push:
11
+ branches:
12
+ - "main"
13
+ paths:
14
+ - "cecli/website/**"
15
+ - ".github/workflows/pages.yml"
16
+
17
+ # Allows you to run this workflow manually from the Actions tab
18
+ workflow_dispatch:
19
+
20
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
21
+ permissions:
22
+ contents: read
23
+ pages: write
24
+ id-token: write
25
+
26
+ # Allow one concurrent deployment
27
+ concurrency:
28
+ group: "pages"
29
+ cancel-in-progress: true
30
+
31
+ jobs:
32
+ # Build job
33
+ build:
34
+ runs-on: ubuntu-latest
35
+ defaults:
36
+ run:
37
+ working-directory: cecli/website
38
+ steps:
39
+ - name: Checkout
40
+ uses: actions/checkout@v4
41
+ with:
42
+ fetch-depth: 0
43
+ - name: Setup Ruby
44
+ uses: ruby/setup-ruby@v1
45
+ with:
46
+ ruby-version: '3.3' # Not needed with a .ruby-version file
47
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
48
+ cache-version: 0 # Increment this number if you need to re-download cached gems
49
+ working-directory: '${{ github.workspace }}/cecli/website'
50
+ - name: Setup Pages
51
+ id: pages
52
+ uses: actions/configure-pages@v3
53
+ - name: Build with Jekyll
54
+ # Outputs to the './_site' directory by default
55
+ run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
56
+ env:
57
+ JEKYLL_ENV: production
58
+ - name: Upload artifact
59
+ uses: actions/upload-pages-artifact@v3
60
+ with:
61
+ path: "cecli/website/_site"
62
+
63
+ # Deployment job
64
+ deploy:
65
+ environment:
66
+ name: github-pages
67
+ url: ${{ steps.deployment.outputs.page_url }}
68
+ runs-on: ubuntu-latest
69
+ needs: build
70
+ steps:
71
+ - name: Deploy to GitHub Pages
72
+ id: deployment
73
+ uses: actions/deploy-pages@v4
74
+
75
+ - name: Set up Python 3.12
76
+ uses: actions/setup-python@v5
77
+ with:
78
+ python-version: '3.12'
79
+
80
+ - name: Install linkchecker
81
+ run: |
82
+ python -m pip install --upgrade pip
83
+ python -m pip install linkchecker
84
+
85
+ - name: Run linkchecker
86
+ run: |
87
+ linkchecker --ignore-url='.+\.(mp4|mov|avi)' https://cecli.dev
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: pre-commit
3
+ on:
4
+ pull_request:
5
+ push:
6
+ workflow_dispatch:
7
+ jobs:
8
+ pre-commit:
9
+ runs-on: ubuntu-latest
10
+ env:
11
+ RAW_LOG: pre-commit.log
12
+ CS_XML: pre-commit.xml
13
+ steps:
14
+ - run: sudo apt-get update && sudo apt-get install cppcheck uncrustify
15
+ if: false
16
+ - uses: actions/checkout@v4
17
+ - run: python -m pip install pre-commit
18
+ - uses: actions/cache/restore@v4
19
+ with:
20
+ path: ~/.cache/pre-commit/
21
+ key: pre-commit-4|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}
22
+ - name: Run pre-commit hooks
23
+ env:
24
+ SKIP: no-commit-to-branch
25
+ run: |
26
+ set -o pipefail
27
+ pre-commit gc
28
+ pre-commit run --show-diff-on-failure --color=always --all-files | tee ${RAW_LOG}
29
+ - name: Convert Raw Log to Checkstyle format (launch action)
30
+ uses: mdeweerd/logToCheckStyle@v2025.1.1
31
+ if: ${{ failure() }}
32
+ with:
33
+ in: ${{ env.RAW_LOG }}
34
+ # out: ${{ env.CS_XML }}
35
+ - uses: actions/cache/save@v4
36
+ if: ${{ ! cancelled() }}
37
+ with:
38
+ path: ~/.cache/pre-commit/
39
+ key: pre-commit-4|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}
40
+ - name: Provide log as artifact
41
+ uses: actions/upload-artifact@v4
42
+ if: ${{ ! cancelled() }}
43
+ with:
44
+ name: precommit-logs
45
+ path: |
46
+ ${{ env.RAW_LOG }}
47
+ ${{ env.CS_XML }}
48
+ retention-days: 2
@@ -0,0 +1,99 @@
1
+ name: PyPI Release (cecli + aider-ce)
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ tags:
7
+ - 'v[0-9]+.[0-9]+.[0-9]+'
8
+
9
+ jobs:
10
+ publish_cecli:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v4
15
+ with:
16
+ fetch-depth: 0
17
+ ref: ${{ github.ref }}
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: 3.x
23
+
24
+ - name: Verify pyproject.toml is cecli-dev package
25
+ run: |
26
+ # Check that pyproject.toml has name = "cecli-dev"
27
+ if ! grep -q 'name = "cecli-dev"' pyproject.toml; then
28
+ echo "ERROR: pyproject.toml does not have name = 'cecli-dev'"
29
+ exit 1
30
+ fi
31
+
32
+ - name: Install dependencies
33
+ run: |
34
+ python -m pip install --upgrade pip
35
+ pip install build setuptools wheel twine importlib-metadata==7.2.1
36
+
37
+ - name: Build and publish cecli
38
+ env:
39
+ TWINE_USERNAME: __token__
40
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
41
+ run: |
42
+ python -m build
43
+ twine upload dist/*
44
+
45
+
46
+
47
+ publish_aider_ce:
48
+ runs-on: ubuntu-latest
49
+ needs: publish_cecli
50
+ steps:
51
+ - name: Clean workspace
52
+ run: |
53
+ # Clean any previous workspace state
54
+ rm -rf ./*
55
+ rm -rf .[!.]* || true
56
+
57
+ - name: Checkout code with explicit tag
58
+ uses: actions/checkout@v4
59
+ with:
60
+ fetch-depth: 0
61
+ ref: ${{ github.ref }}
62
+
63
+ - name: Set up Python
64
+ uses: actions/setup-python@v5
65
+ with:
66
+ python-version: 3.x
67
+
68
+ - name: Copy shim.pyproject.toml for aider-ce build
69
+ run: |
70
+ # Backup current pyproject.toml (which is cecli)
71
+ if [ -f "pyproject.toml" ]; then
72
+ mv pyproject.toml pyproject.toml.backup
73
+ fi
74
+ # Copy shim.pyproject.toml to pyproject.toml
75
+ cp shim.pyproject.toml pyproject.toml
76
+
77
+ - name: Install dependencies
78
+ run: |
79
+ python -m pip install --upgrade pip
80
+ pip install build setuptools wheel twine importlib-metadata==7.2.1
81
+
82
+ - name: Build and publish aider-ce (shim package)
83
+ env:
84
+ TWINE_USERNAME: __token__
85
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
86
+ run: |
87
+ # Extract version from tag (remove 'v' prefix)
88
+ export SETUPTOOLS_SCM_PRETEND_VERSION="${GITHUB_REF#refs/tags/v}"
89
+ echo "Forcing version: $SETUPTOOLS_SCM_PRETEND_VERSION"
90
+
91
+ python -m build
92
+ twine upload dist/*
93
+
94
+ - name: Restore original pyproject.toml
95
+ run: |
96
+ # Restore original pyproject.toml (cecli) if it was backed up
97
+ if [ -f "pyproject.toml.backup" ]; then
98
+ mv pyproject.toml.backup pyproject.toml
99
+ fi
@@ -0,0 +1,63 @@
1
+ name: Ubuntu Python Tests
2
+
3
+ on:
4
+ push:
5
+ paths-ignore:
6
+ - 'cecli/website/**'
7
+ - 'README.md'
8
+ - 'HISTORY.md'
9
+ - '.github/workflows/*'
10
+ - '!.github/workflows/ubuntu-tests.yml'
11
+ branches:
12
+ - main
13
+ pull_request:
14
+ paths-ignore:
15
+ - 'cecli/website/**'
16
+ - 'README.md'
17
+ - 'HISTORY.md'
18
+ - '.github/workflows/*'
19
+ - '!.github/workflows/ubuntu-tests.yml'
20
+ branches:
21
+ - main
22
+
23
+ jobs:
24
+ build:
25
+ runs-on: ubuntu-latest
26
+ strategy:
27
+ matrix:
28
+ python-version: ["3.14", "3.13", "3.12", "3.11", "3.10"]
29
+
30
+ steps:
31
+ - name: Check out repository
32
+ uses: actions/checkout@v4
33
+ with:
34
+ fetch-depth: 0
35
+
36
+ - name: Set up Python ${{ matrix.python-version }}
37
+ uses: actions/setup-python@v5
38
+ with:
39
+ python-version: ${{ matrix.python-version }}
40
+
41
+ - name: Install system dependencies
42
+ run: |
43
+ sudo apt-get update
44
+ sudo apt-get install -y libportaudio2
45
+
46
+ - name: Install dependencies
47
+ run: |
48
+ python -m pip install --upgrade pip
49
+ pip install uv
50
+ uv pip install --system \
51
+ pytest \
52
+ pytest-asyncio \
53
+ pytest-mock \
54
+ -r requirements/requirements.in \
55
+ -r requirements/requirements-help.in \
56
+ -r requirements/requirements-playwright.in \
57
+ ".[help,playwright]"
58
+
59
+ - name: Run tests
60
+ run: |
61
+ pytest
62
+ env:
63
+ CECLI_TUI: "false"
@@ -0,0 +1,51 @@
1
+ name: Windows Python Tests
2
+
3
+ on:
4
+ push:
5
+ paths-ignore:
6
+ - 'cecli/website/**'
7
+ - 'README.md'
8
+ - 'HISTORY.md'
9
+ - '.github/workflows/*'
10
+ - '!.github/workflows/windows-tests.yml'
11
+ branches:
12
+ - main
13
+ pull_request:
14
+ paths-ignore:
15
+ - 'cecli/website/**'
16
+ - 'README.md'
17
+ - 'HISTORY.md'
18
+ - '.github/workflows/*'
19
+ - '!.github/workflows/windows-tests.yml'
20
+ branches:
21
+ - main
22
+
23
+ jobs:
24
+ build:
25
+ runs-on: windows-latest
26
+ strategy:
27
+ matrix:
28
+ python-version: ["3.14", "3.13", "3.12", "3.11", "3.10"]
29
+
30
+ steps:
31
+ - name: Check out repository
32
+ uses: actions/checkout@v4
33
+ with:
34
+ fetch-depth: 0
35
+
36
+ - name: Set up Python ${{ matrix.python-version }}
37
+ uses: actions/setup-python@v5
38
+ with:
39
+ python-version: ${{ matrix.python-version }}
40
+
41
+ - name: Install dependencies
42
+ run: |
43
+ python -m pip install --upgrade pip
44
+ pip install uv
45
+ uv pip install --system pytest pytest-asyncio pytest-mock -r requirements/requirements.in -r requirements/requirements-help.in -r requirements/requirements-playwright.in '.[help,playwright]'
46
+
47
+ - name: Run tests
48
+ run: |
49
+ pytest
50
+ env:
51
+ CECLI_TUI: "false"