cecli-dev 0.97.2__tar.gz → 0.97.3__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 (605) hide show
  1. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/PKG-INFO +1 -1
  2. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/benchmark.py +1 -0
  3. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/__init__.py +1 -1
  4. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/_version.py +3 -3
  5. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/args.py +6 -0
  6. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/agent_coder.py +39 -23
  7. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/base_coder.py +13 -3
  8. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/save_session.py +10 -3
  9. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/integration.py +2 -0
  10. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/nested.py +15 -0
  11. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/skills.py +5 -0
  12. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/main.py +5 -1
  13. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/models.py +4 -0
  14. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/resources/model-metadata.json +8301 -2218
  15. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/update_todo_list.py +0 -3
  16. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/output.py +4 -3
  17. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/agent-mode.md +1 -0
  18. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/PKG-INFO +1 -1
  19. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.dockerignore +0 -0
  20. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.flake8 +0 -0
  21. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.gitattributes +0 -0
  22. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  23. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/check_pypi_version.yml +0 -0
  24. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/docker-build-test.yml +0 -0
  25. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/docker-release.yml +0 -0
  26. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/issues.yml +0 -0
  27. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/pages.yml +0 -0
  28. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/pre-commit.yml +0 -0
  29. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/release.yml +0 -0
  30. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/ubuntu-tests.yml +0 -0
  31. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/windows-tests.yml +0 -0
  32. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/windows_check_pypi_version.yml +0 -0
  33. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.gitignore +0 -0
  34. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.pre-commit-config.yaml +0 -0
  35. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/CHANGELOG.md +0 -0
  36. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/CNAME +0 -0
  37. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/CONTRIBUTING.md +0 -0
  38. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/HISTORY.md +0 -0
  39. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/LICENSE.txt +0 -0
  40. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/MANIFEST.in +0 -0
  41. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/README.md +0 -0
  42. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/Dockerfile +0 -0
  43. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/README.md +0 -0
  44. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/__init__.py +0 -0
  45. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/benchmark_classic.py +0 -0
  46. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/clone-exercism.sh +0 -0
  47. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/cpp-test.sh +0 -0
  48. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/docker.sh +0 -0
  49. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/docker_build.sh +0 -0
  50. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/install-docker-ubuntu.sh +0 -0
  51. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/npm-test.sh +0 -0
  52. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/over_time.py +0 -0
  53. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/plot.sh +0 -0
  54. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/plots.py +0 -0
  55. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/primary_variations.sh +0 -0
  56. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/problem_stats.py +0 -0
  57. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/prompts.py +0 -0
  58. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/refactor_tools.py +0 -0
  59. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/rsync.sh +0 -0
  60. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/rungrid.py +0 -0
  61. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/swe-bench-lite.txt +0 -0
  62. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/swe-bench.txt +0 -0
  63. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/swe_bench.py +0 -0
  64. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/test_benchmark.py +0 -0
  65. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/__main__.py +0 -0
  66. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/args_formatter.py +0 -0
  67. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/change_tracker.py +0 -0
  68. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/__init__.py +0 -0
  69. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/architect_coder.py +0 -0
  70. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/ask_coder.py +0 -0
  71. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/chat_chunks.py +0 -0
  72. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/context_coder.py +0 -0
  73. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/copypaste_coder.py +0 -0
  74. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editblock_coder.py +0 -0
  75. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editblock_fenced_coder.py +0 -0
  76. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editblock_func_coder.py +0 -0
  77. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  78. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editor_editblock_coder.py +0 -0
  79. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editor_whole_coder.py +0 -0
  80. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/hashline_coder.py +0 -0
  81. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/help_coder.py +0 -0
  82. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/patch_coder.py +0 -0
  83. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/search_replace.py +0 -0
  84. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/shell.py +0 -0
  85. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/single_wholefile_func_coder.py +0 -0
  86. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/udiff_coder.py +0 -0
  87. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/udiff_simple.py +0 -0
  88. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/wholefile_coder.py +0 -0
  89. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/wholefile_func_coder.py +0 -0
  90. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/__init__.py +0 -0
  91. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/add.py +0 -0
  92. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/agent.py +0 -0
  93. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/agent_model.py +0 -0
  94. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/architect.py +0 -0
  95. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/ask.py +0 -0
  96. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/chat_mode.py +0 -0
  97. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/clear.py +0 -0
  98. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/code.py +0 -0
  99. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/command_prefix.py +0 -0
  100. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/commit.py +0 -0
  101. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/compact.py +0 -0
  102. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/context.py +0 -0
  103. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/context_blocks.py +0 -0
  104. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/context_management.py +0 -0
  105. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/copy.py +0 -0
  106. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/copy_context.py +0 -0
  107. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/core.py +0 -0
  108. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/diff.py +0 -0
  109. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/drop.py +0 -0
  110. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/editor.py +0 -0
  111. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/editor_model.py +0 -0
  112. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/exit.py +0 -0
  113. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/git.py +0 -0
  114. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/hashline.py +0 -0
  115. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/help.py +0 -0
  116. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/history_search.py +0 -0
  117. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/hooks.py +0 -0
  118. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/lint.py +0 -0
  119. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/list_sessions.py +0 -0
  120. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load.py +0 -0
  121. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load_hook.py +0 -0
  122. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load_mcp.py +0 -0
  123. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load_session.py +0 -0
  124. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load_skill.py +0 -0
  125. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/ls.py +0 -0
  126. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/map.py +0 -0
  127. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/map_refresh.py +0 -0
  128. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/model.py +0 -0
  129. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/models.py +0 -0
  130. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/multiline_mode.py +0 -0
  131. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/paste.py +0 -0
  132. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/quit.py +0 -0
  133. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/read_only.py +0 -0
  134. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/read_only_stub.py +0 -0
  135. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/reasoning_effort.py +0 -0
  136. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/remove_hook.py +0 -0
  137. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/remove_mcp.py +0 -0
  138. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/remove_skill.py +0 -0
  139. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/report.py +0 -0
  140. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/reset.py +0 -0
  141. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/run.py +0 -0
  142. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/save.py +0 -0
  143. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/settings.py +0 -0
  144. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/terminal_data/linux.keytab +0 -0
  145. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/terminal_setup.py +0 -0
  146. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/test.py +0 -0
  147. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/think_tokens.py +0 -0
  148. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/tokens.py +0 -0
  149. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/undo.py +0 -0
  150. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/__init__.py +0 -0
  151. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/base_command.py +0 -0
  152. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/helpers.py +0 -0
  153. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/registry.py +0 -0
  154. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/save_load_manager.py +0 -0
  155. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/voice.py +0 -0
  156. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/weak_model.py +0 -0
  157. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/web.py +0 -0
  158. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/deprecated_args.py +0 -0
  159. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/diffs.py +0 -0
  160. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/dump.py +0 -0
  161. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/editor.py +0 -0
  162. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/exceptions.py +0 -0
  163. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/format_settings.py +0 -0
  164. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/help.py +0 -0
  165. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/help_pats.py +0 -0
  166. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/__init__.py +0 -0
  167. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/background_commands.py +0 -0
  168. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/command_parser.py +0 -0
  169. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/__init__.py +0 -0
  170. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/base_message.py +0 -0
  171. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/files.py +0 -0
  172. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/manager.py +0 -0
  173. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/tags.py +0 -0
  174. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/utils.py +0 -0
  175. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/copypaste.py +0 -0
  176. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/coroutines.py +0 -0
  177. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/file_searcher.py +0 -0
  178. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/hashline.py +0 -0
  179. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/model_providers.py +0 -0
  180. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/plugin_manager.py +0 -0
  181. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/profiler.py +0 -0
  182. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/requests.py +0 -0
  183. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/responses.py +0 -0
  184. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/similarity.py +0 -0
  185. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/history.py +0 -0
  186. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/__init__.py +0 -0
  187. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/base.py +0 -0
  188. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/integration.py +0 -0
  189. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/manager.py +0 -0
  190. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/registry.py +0 -0
  191. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/types.py +0 -0
  192. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/interruptible_input.py +0 -0
  193. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/io.py +0 -0
  194. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/linter.py +0 -0
  195. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/llm.py +0 -0
  196. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/__init__.py +0 -0
  197. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/manager.py +0 -0
  198. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/oauth.py +0 -0
  199. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/server.py +0 -0
  200. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/utils.py +0 -0
  201. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mdstream.py +0 -0
  202. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/onboarding.py +0 -0
  203. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/__init__.py +0 -0
  204. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/agent.yml +0 -0
  205. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/architect.yml +0 -0
  206. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/ask.yml +0 -0
  207. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/base.yml +0 -0
  208. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/context.yml +0 -0
  209. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/copypaste.yml +0 -0
  210. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editblock.yml +0 -0
  211. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editblock_fenced.yml +0 -0
  212. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editblock_func.yml +0 -0
  213. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editor_diff_fenced.yml +0 -0
  214. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editor_editblock.yml +0 -0
  215. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editor_whole.yml +0 -0
  216. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/hashline.yml +0 -0
  217. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/help.yml +0 -0
  218. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/patch.yml +0 -0
  219. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/single_wholefile_func.yml +0 -0
  220. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/udiff.yml +0 -0
  221. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/udiff_simple.yml +0 -0
  222. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/utils/__init__.py +0 -0
  223. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/utils/registry.py +0 -0
  224. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/utils/system.py +0 -0
  225. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/wholefile.yml +0 -0
  226. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/wholefile_func.yml +0 -0
  227. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  228. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  229. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  230. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  231. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  232. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  233. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  234. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  235. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  236. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  237. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  238. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  239. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  240. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  241. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  242. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  243. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  244. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  245. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  246. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  247. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  248. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  249. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  250. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  251. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  252. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  253. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  254. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  255. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  256. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  257. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  258. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/README.md +0 -0
  259. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  260. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  261. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  262. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  263. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  264. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  265. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  266. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  267. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  268. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  269. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  270. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  271. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  272. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  273. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  274. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  275. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  276. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  277. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  278. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  279. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  280. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  281. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  282. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  283. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  284. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  285. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/reasoning_tags.py +0 -0
  286. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/repo.py +0 -0
  287. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/repomap.py +0 -0
  288. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/report.py +0 -0
  289. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/resources/__init__.py +0 -0
  290. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/resources/model-settings.yml +0 -0
  291. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/resources/providers.json +0 -0
  292. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/run_cmd.py +0 -0
  293. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/scrape.py +0 -0
  294. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/sendchat.py +0 -0
  295. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/sessions.py +0 -0
  296. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/special.py +0 -0
  297. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/__init__.py +0 -0
  298. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/command.py +0 -0
  299. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/command_interactive.py +0 -0
  300. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/context_manager.py +0 -0
  301. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/delete_text.py +0 -0
  302. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/finished.py +0 -0
  303. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_branch.py +0 -0
  304. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_diff.py +0 -0
  305. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_log.py +0 -0
  306. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_remote.py +0 -0
  307. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_show.py +0 -0
  308. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_status.py +0 -0
  309. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/grep.py +0 -0
  310. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/indent_text.py +0 -0
  311. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/insert_text.py +0 -0
  312. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/list_changes.py +0 -0
  313. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/load_skill.py +0 -0
  314. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/ls.py +0 -0
  315. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/remove_skill.py +0 -0
  316. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/replace_text.py +0 -0
  317. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/show_numbered_context.py +0 -0
  318. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/thinking.py +0 -0
  319. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/undo_change.py +0 -0
  320. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/utils/base_tool.py +0 -0
  321. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/utils/helpers.py +0 -0
  322. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/utils/output.py +0 -0
  323. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/utils/registry.py +0 -0
  324. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/view_files_matching.py +0 -0
  325. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/view_files_with_symbol.py +0 -0
  326. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/__init__.py +0 -0
  327. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/app.py +0 -0
  328. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/io.py +0 -0
  329. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/styles.tcss +0 -0
  330. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/__init__.py +0 -0
  331. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/completion_bar.py +0 -0
  332. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/file_list.py +0 -0
  333. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/footer.py +0 -0
  334. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/input_area.py +0 -0
  335. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/input_container.py +0 -0
  336. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/key_hints.py +0 -0
  337. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/status_bar.py +0 -0
  338. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/worker.py +0 -0
  339. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/urls.py +0 -0
  340. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/utils.py +0 -0
  341. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/versioncheck.py +0 -0
  342. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/voice.py +0 -0
  343. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/waiting.py +0 -0
  344. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/watch.py +0 -0
  345. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/watch_prompts.py +0 -0
  346. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/Gemfile +0 -0
  347. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/blame.md +0 -0
  348. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/get-started.md +0 -0
  349. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/help-tip.md +0 -0
  350. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/help.md +0 -0
  351. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/install.md +0 -0
  352. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/keys.md +0 -0
  353. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/model-warnings.md +0 -0
  354. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/multi-line.md +0 -0
  355. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/python-m-aider.md +0 -0
  356. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/recording.css +0 -0
  357. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/recording.md +0 -0
  358. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/works-best.md +0 -0
  359. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_features.scss +0 -0
  360. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_footer.scss +0 -0
  361. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_hero.scss +0 -0
  362. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_info.scss +0 -0
  363. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_layout.scss +0 -0
  364. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_reset.scss +0 -0
  365. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_testimonials.scss +0 -0
  366. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_typography.scss +0 -0
  367. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_variables.scss +0 -0
  368. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/custom/custom.scss +0 -0
  369. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/global-overrides.scss +0 -0
  370. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/adv-model-settings.md +0 -0
  371. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/aider_conf.md +0 -0
  372. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/api-keys.md +0 -0
  373. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/custom-commands.md +0 -0
  374. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  375. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/dotenv.md +0 -0
  376. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/editor.md +0 -0
  377. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/hooks.md +0 -0
  378. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/mcp.md +0 -0
  379. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/model-aliases.md +0 -0
  380. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/options.md +0 -0
  381. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/reasoning.md +0 -0
  382. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/security.md +0 -0
  383. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/skills.md +0 -0
  384. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/tui.md +0 -0
  385. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config.md +0 -0
  386. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/faq.md +0 -0
  387. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/git.md +0 -0
  388. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/index.md +0 -0
  389. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install/codespaces.md +0 -0
  390. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install/docker.md +0 -0
  391. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install/optional.md +0 -0
  392. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install/replit.md +0 -0
  393. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install.md +0 -0
  394. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/languages.md +0 -0
  395. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  396. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/legal/privacy.md +0 -0
  397. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/anthropic.md +0 -0
  398. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/azure.md +0 -0
  399. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/bedrock.md +0 -0
  400. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/cohere.md +0 -0
  401. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/deepseek.md +0 -0
  402. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/gemini.md +0 -0
  403. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/github.md +0 -0
  404. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/groq.md +0 -0
  405. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/lm-studio.md +0 -0
  406. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/ollama.md +0 -0
  407. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/openai-compat.md +0 -0
  408. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/openai.md +0 -0
  409. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/openrouter.md +0 -0
  410. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/other.md +0 -0
  411. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/vertex.md +0 -0
  412. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/warnings.md +0 -0
  413. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/xai.md +0 -0
  414. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms.md +0 -0
  415. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/more/analytics.md +0 -0
  416. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/more/edit-formats.md +0 -0
  417. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/more/infinite-output.md +0 -0
  418. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/more-info.md +0 -0
  419. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/auto-accept-architect.md +0 -0
  420. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/dont-drop-original-read-files.md +0 -0
  421. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/index.md +0 -0
  422. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/model-accepts-settings.md +0 -0
  423. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/tree-sitter-language-pack.md +0 -0
  424. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/repomap.md +0 -0
  425. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/scripting.md +0 -0
  426. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/sessions.md +0 -0
  427. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  428. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  429. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/imports.md +0 -0
  430. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  431. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/support.md +0 -0
  432. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  433. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  434. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting.md +0 -0
  435. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/browser.md +0 -0
  436. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/caching.md +0 -0
  437. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/commands.md +0 -0
  438. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/conventions.md +0 -0
  439. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/copypaste.md +0 -0
  440. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/images-urls.md +0 -0
  441. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/lint-test.md +0 -0
  442. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/modes.md +0 -0
  443. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/not-code.md +0 -0
  444. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/notifications.md +0 -0
  445. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/tips.md +0 -0
  446. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/tutorials.md +0 -0
  447. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/voice.md +0 -0
  448. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/watch.md +0 -0
  449. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage.md +0 -0
  450. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/share/index.md +0 -0
  451. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/SOURCES.txt +0 -0
  452. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/dependency_links.txt +0 -0
  453. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/entry_points.txt +0 -0
  454. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/requires.txt +0 -0
  455. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/top_level.txt +0 -0
  456. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/docker/Dockerfile +0 -0
  457. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  458. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/pyproject.toml +0 -0
  459. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/pytest.ini +0 -0
  460. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/common-constraints.txt +0 -0
  461. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-dev.in +0 -0
  462. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-dev.txt +0 -0
  463. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-help.in +0 -0
  464. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-help.txt +0 -0
  465. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-playwright.in +0 -0
  466. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-playwright.txt +0 -0
  467. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements.in +0 -0
  468. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/tree-sitter.in +0 -0
  469. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements.txt +0 -0
  470. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/30k-image.py +0 -0
  471. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/Dockerfile.jekyll +0 -0
  472. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/__init__.py +0 -0
  473. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/blame.py +0 -0
  474. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/clean_metadata.py +0 -0
  475. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/cost_analyzer.py +0 -0
  476. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/dl_icons.py +0 -0
  477. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/filter-chat-mode.js +0 -0
  478. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/generate_providers.py +0 -0
  479. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/get_contributor_list.js +0 -0
  480. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/get_hashline.py +0 -0
  481. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/history_prompts.py +0 -0
  482. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/homepage.py +0 -0
  483. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/issues.py +0 -0
  484. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/jekyll_build.sh +0 -0
  485. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/jekyll_run.sh +0 -0
  486. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/logo_svg.py +0 -0
  487. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/pip-compile.sh +0 -0
  488. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/recording_audio.py +0 -0
  489. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/redact-cast.py +0 -0
  490. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/rename_to_cecli.py +0 -0
  491. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/tmux_record.sh +0 -0
  492. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/tsl_pack_langs.py +0 -0
  493. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/update-blame.sh +0 -0
  494. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/update-docs.sh +0 -0
  495. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/update-history.py +0 -0
  496. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/versionbump.py +0 -0
  497. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/yank-old-versions.py +0 -0
  498. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/setup.cfg +0 -0
  499. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/shim.pyproject.toml +0 -0
  500. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/__init__.py +0 -0
  501. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/__init__.py +0 -0
  502. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_aws_credentials.py +0 -0
  503. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_background_commands.py +0 -0
  504. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_coder.py +0 -0
  505. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_commands.py +0 -0
  506. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_custom_commands.py +0 -0
  507. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_deprecated.py +0 -0
  508. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_editblock.py +0 -0
  509. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_editor.py +0 -0
  510. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_exceptions.py +0 -0
  511. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_find_or_blocks.py +0 -0
  512. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_hashline.py +0 -0
  513. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_history.py +0 -0
  514. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_io.py +0 -0
  515. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_linter.py +0 -0
  516. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_main.py +0 -0
  517. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_model_info_manager.py +0 -0
  518. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_model_provider_manager.py +0 -0
  519. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_models.py +0 -0
  520. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_onboarding.py +0 -0
  521. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_plugin_manager.py +0 -0
  522. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_prompts.py +0 -0
  523. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_reasoning.py +0 -0
  524. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_repo.py +0 -0
  525. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_repomap.py +0 -0
  526. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_run_cmd.py +0 -0
  527. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_sanity_check_repo.py +0 -0
  528. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_scripting.py +0 -0
  529. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_sendchat.py +0 -0
  530. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_sessions.py +0 -0
  531. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_skills.py +0 -0
  532. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_special.py +0 -0
  533. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_ssl_verification.py +0 -0
  534. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_udiff.py +0 -0
  535. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_urls.py +0 -0
  536. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_voice.py +0 -0
  537. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_watch.py +0 -0
  538. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_wholefile.py +0 -0
  539. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/coders/test_copypaste_coder.py +0 -0
  540. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/conftest.py +0 -0
  541. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  542. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/chat-history.md +0 -0
  543. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/arduino/test.ino +0 -0
  544. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/c/test.c +0 -0
  545. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/chatito/test.chatito +0 -0
  546. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/clojure/test.clj +0 -0
  547. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  548. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/cpp/test.cpp +0 -0
  549. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/csharp/test.cs +0 -0
  550. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/d/test.d +0 -0
  551. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/dart/test.dart +0 -0
  552. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/elisp/test.el +0 -0
  553. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/elixir/test.ex +0 -0
  554. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/elm/test.elm +0 -0
  555. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/gleam/test.gleam +0 -0
  556. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/go/test.go +0 -0
  557. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/haskell/test.hs +0 -0
  558. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/hcl/test.tf +0 -0
  559. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/java/test.java +0 -0
  560. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/javascript/test.js +0 -0
  561. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/kotlin/test.kt +0 -0
  562. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/lua/test.lua +0 -0
  563. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/matlab/test.m +0 -0
  564. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/ocaml/test.ml +0 -0
  565. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  566. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/php/test.php +0 -0
  567. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/pony/test.pony +0 -0
  568. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/properties/test.properties +0 -0
  569. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/python/test.py +0 -0
  570. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/ql/test.ql +0 -0
  571. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/r/test.r +0 -0
  572. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/racket/test.rkt +0 -0
  573. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/ruby/test.rb +0 -0
  574. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/rust/test.rs +0 -0
  575. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/scala/test.scala +0 -0
  576. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/solidity/test.sol +0 -0
  577. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/swift/test.swift +0 -0
  578. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/tsx/test.tsx +0 -0
  579. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/typescript/test.ts +0 -0
  580. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/udev/test.rules +0 -0
  581. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/zig/test.zig +0 -0
  582. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/sample-code-base/sample.js +0 -0
  583. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/sample-code-base/sample.py +0 -0
  584. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  585. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/watch.js +0 -0
  586. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/watch.lisp +0 -0
  587. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/watch.py +0 -0
  588. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/watch_question.js +0 -0
  589. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/help/test_help.py +0 -0
  590. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/hooks/__init__.py +0 -0
  591. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/hooks/test_base.py +0 -0
  592. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/hooks/test_manager.py +0 -0
  593. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/hooks/test_registry.py +0 -0
  594. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/mcp/__init__.py +0 -0
  595. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/mcp/test_manager.py +0 -0
  596. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/scrape/test_playwright_disable.py +0 -0
  597. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/scrape/test_scrape.py +0 -0
  598. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/test_conversation_integration.py +0 -0
  599. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/test_conversation_system.py +0 -0
  600. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_git_branch.py +0 -0
  601. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_git_diff.py +0 -0
  602. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_grep.py +0 -0
  603. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_insert_block.py +0 -0
  604. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_registry.py +0 -0
  605. {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_show_numbered_context.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 0.97.2
3
+ Version: 0.97.3
4
4
  Summary: we also can't pronounce cecli
5
5
  Project-URL: Homepage, https://github.com/dwash96/cecli
6
6
  Project-URL: Documentation, https://github.com/dwash96/cecli
@@ -1155,6 +1155,7 @@ async def run_test_real(
1155
1155
  use_enhanced_map=True,
1156
1156
  verbose=verbose,
1157
1157
  yes_always_commands=True,
1158
+ max_reflections=0,
1158
1159
  ),
1159
1160
  map_mul_no_files=4,
1160
1161
  mcp_manager=None,
@@ -1,6 +1,6 @@
1
1
  from packaging import version
2
2
 
3
- __version__ = "0.97.1.dev"
3
+ __version__ = "0.97.3.dev"
4
4
  safe_version = __version__
5
5
 
6
6
  try:
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.97.2'
32
- __version_tuple__ = version_tuple = (0, 97, 2)
31
+ __version__ = version = '0.97.3'
32
+ __version_tuple__ = version_tuple = (0, 97, 3)
33
33
 
34
- __commit_id__ = commit_id = 'g49fc44517'
34
+ __commit_id__ = commit_id = 'gebd79a406'
@@ -254,6 +254,12 @@ def get_parser(default_config_files, git_root):
254
254
  " If unspecified, defaults to the model's max_chat_history_tokens."
255
255
  ),
256
256
  )
257
+ group.add_argument(
258
+ "--max-reflections",
259
+ type=int,
260
+ default=3,
261
+ help="Maximum number of retries a model gets on malformed outputs (default: 3)",
262
+ )
257
263
  group.add_argument(
258
264
  "--file-diffs",
259
265
  action=argparse.BooleanOptionalAction,
@@ -7,7 +7,7 @@ import platform
7
7
  import random
8
8
  import time
9
9
  import traceback
10
- from collections import Counter, defaultdict
10
+ from collections import defaultdict
11
11
  from datetime import datetime
12
12
  from pathlib import Path
13
13
 
@@ -85,6 +85,7 @@ class AgentCoder(Coder):
85
85
  self.allowed_context_blocks = set()
86
86
  self.context_block_tokens = {}
87
87
  self.context_blocks_cache = {}
88
+ self.hot_reload_enabled = False
88
89
  self.tokens_calculated = False
89
90
  self.skip_cli_confirmations = False
90
91
  self.agent_finished = False
@@ -119,6 +120,7 @@ class AgentCoder(Coder):
119
120
  config, "skip_cli_confirmations", nested.getter(config, "yolo", [])
120
121
  )
121
122
  config["command_timeout"] = nested.getter(config, "command_timeout", 30)
123
+ config["hot_reload"] = nested.getter(config, "hot_reload", False)
122
124
 
123
125
  config["tools_paths"] = nested.getter(config, "tools_paths", [])
124
126
  config["tools_includelist"] = nested.getter(
@@ -147,7 +149,7 @@ class AgentCoder(Coder):
147
149
 
148
150
  self.large_file_token_threshold = config["large_file_token_threshold"]
149
151
  self.skip_cli_confirmations = config["skip_cli_confirmations"]
150
-
152
+ self.hot_reload_enabled = config["hot_reload"]
151
153
  self.allowed_context_blocks = config["include_context_blocks"]
152
154
 
153
155
  for context_block in config["exclude_context_blocks"]:
@@ -259,6 +261,7 @@ class AgentCoder(Coder):
259
261
  try:
260
262
  parsed_args_list.append(json.loads(chunk))
261
263
  except json.JSONDecodeError as e:
264
+ self.model_kwargs = {}
262
265
  self.io.tool_warning(
263
266
  f"Could not parse JSON chunk for tool {tool_name}: {chunk}"
264
267
  )
@@ -320,6 +323,7 @@ class AgentCoder(Coder):
320
323
 
321
324
  result_message = "\n\n".join(all_results_content)
322
325
  except Exception as e:
326
+ self.model_kwargs = {}
323
327
  result_message = f"Error executing {tool_name}: {e}"
324
328
  self.io.tool_error(f"""Error during {tool_name} execution: {e}
325
329
  {traceback.format_exc()}""")
@@ -843,6 +847,10 @@ I will proceed based on the tool results and updated context.""")
843
847
  self.files_edited_by_tools = set()
844
848
  return False
845
849
 
850
+ async def hot_reload(self):
851
+ if self.hot_reload_enabled:
852
+ self.skills_manager.hot_reload()
853
+
846
854
  async def _execute_tool_with_registry(self, norm_tool_name, params):
847
855
  """
848
856
  Execute a tool using the tool registry.
@@ -879,12 +887,9 @@ I will proceed based on the tool results and updated context.""")
879
887
  """
880
888
  Identifies repetitive tool usage patterns from rounds of tool calls.
881
889
 
882
- This method combines count-based and similarity-based detection:
890
+ This method uses similarity-based detection:
883
891
  1. If the last round contained a write tool, it assumes progress and returns no repetitive tools.
884
- 2. It checks for any read tool that has been used 2 or more times across rounds.
885
- 3. If no tools are repeated, but all tools in the history are read tools,
886
- it flags all of them as potentially repetitive.
887
- 4. It checks for similarity-based repetition using cosine similarity on tool call strings.
892
+ 2. It checks for similarity-based repetition using cosine similarity on tool call strings.
888
893
 
889
894
  It avoids flagging repetition if a "write" tool was used recently,
890
895
  as that suggests progress is being made.
@@ -893,9 +898,6 @@ I will proceed based on the tool results and updated context.""")
893
898
  if history_len < 5:
894
899
  return set()
895
900
  similarity_repetitive_tools = self._get_repetitive_tools_by_similarity()
896
- all_tools = []
897
- for round_tools in self.tool_usage_history:
898
- all_tools.extend(round_tools)
899
901
  if self.last_round_tools:
900
902
  last_round_has_write = any(
901
903
  tool.lower() in self.write_tools for tool in self.last_round_tools
@@ -909,24 +911,14 @@ I will proceed based on the tool results and updated context.""")
909
911
  if tool.lower() in self.read_tools or tool.lower() in self.write_tools
910
912
  }
911
913
  return filtered_similarity_tools if len(filtered_similarity_tools) else set()
912
- if all(tool.lower() in self.read_tools for tool in all_tools):
913
- # Only return tools that are in read_tools
914
- return {tool for tool in all_tools if tool.lower() in self.read_tools}
915
- tool_counts = Counter(all_tools)
916
- count_repetitive_tools = {
917
- tool
918
- for tool, count in tool_counts.items()
919
- if count >= 5 and tool.lower() in self.read_tools
920
- }
921
914
  # Filter similarity_repetitive_tools to only include tools in read_tools or write_tools
922
915
  filtered_similarity_tools = {
923
916
  tool
924
917
  for tool in similarity_repetitive_tools
925
918
  if tool.lower() in self.read_tools or tool.lower() in self.write_tools
926
919
  }
927
- repetitive_tools = count_repetitive_tools.union(filtered_similarity_tools)
928
- if repetitive_tools:
929
- return repetitive_tools
920
+ if filtered_similarity_tools:
921
+ return filtered_similarity_tools
930
922
  return set()
931
923
 
932
924
  def _get_repetitive_tools_by_similarity(self):
@@ -983,6 +975,27 @@ I will proceed based on the tool results and updated context.""")
983
975
 
984
976
  context_parts.append("\n\n")
985
977
  if repetitive_tools:
978
+ if not self.model_kwargs:
979
+ self.model_kwargs = {
980
+ "temperature": (self.main_model.use_temperature or 1) + 0.1,
981
+ "frequency_penalty": 0.2,
982
+ "presence_penalty": 0.1,
983
+ }
984
+ else:
985
+ temperature = nested.getter(self.model_kwargs, "temperature")
986
+ freq_penalty = nested.getter(self.model_kwargs, "frequency_penalty")
987
+ if temperature and freq_penalty:
988
+ self.model_kwargs["temperature"] = min(temperature + 0.1, 2)
989
+ self.model_kwargs["frequency_penalty"] = min(freq_penalty + 0.1, 1)
990
+
991
+ if random.random() < 0.25:
992
+ self.model_kwargs["temperature"] = max(temperature - 0.2, 1)
993
+ self.model_kwargs["frequency_penalty"] = max(freq_penalty - 0.2, 0)
994
+
995
+ # One tenth of the time, just straight reset the randomness
996
+ if random.random() < 0.1:
997
+ self.model_kwargs = {}
998
+
986
999
  if self.turn_count - self._last_repetitive_warning_turn > 2:
987
1000
  self._last_repetitive_warning_turn = self.turn_count
988
1001
  self._last_repetitive_warning_severity += 1
@@ -1040,7 +1053,7 @@ I have detected repetitive usage of the following tools: {', '.join([f'`{t}`' fo
1040
1053
 
1041
1054
  repetition_warning += f"""
1042
1055
  ### CRITICAL: Execution Loop Detected
1043
- You are currently "spinning." To break the logic trap, you must:
1056
+ You are currently "spinning gears". To break the exploration loop, you must:
1044
1057
  1. **Analyze**: Use the `Thinking` tool to summarize exactly what you have found so far and why you were stuck.
1045
1058
  2. **Pivot**: Abandon or modify your current exploration strategy. Try focusing on different files or running tests.
1046
1059
  3. **Reframe**: To ensure your logic reset, include a 2-sentence story about {animal} {verb} {fruit} in your thoughts.
@@ -1049,6 +1062,9 @@ Prioritize editing or verification over further exploration.
1049
1062
  """
1050
1063
 
1051
1064
  context_parts.append(repetition_warning)
1065
+ else:
1066
+ self.model_kwargs = {}
1067
+
1052
1068
  context_parts.append("</context>")
1053
1069
  return "\n".join(context_parts)
1054
1070
 
@@ -156,6 +156,7 @@ class Coder:
156
156
  tool_reflection = False
157
157
  last_user_message = ""
158
158
  uuid = ""
159
+ model_kwargs = {}
159
160
 
160
161
  # Task coordination state variables
161
162
  input_running = False
@@ -380,6 +381,9 @@ class Coder:
380
381
 
381
382
  self.context_compaction_max_tokens = context_compaction_max_tokens
382
383
  self.context_compaction_summary_tokens = context_compaction_summary_tokens
384
+ self.max_reflections = (
385
+ 3 if self.edit_format == "agent" else nested.getter(self.args, "max_reflections", 3)
386
+ )
383
387
 
384
388
  if not fnames:
385
389
  fnames = []
@@ -1615,6 +1619,8 @@ class Coder:
1615
1619
  async for _ in self.send_message(message):
1616
1620
  pass
1617
1621
 
1622
+ await self.hot_reload()
1623
+
1618
1624
  if not self.reflected_message:
1619
1625
  await self.auto_save_session(force=True)
1620
1626
  break
@@ -2750,6 +2756,9 @@ class Coder:
2750
2756
  async def reply_completed(self):
2751
2757
  pass
2752
2758
 
2759
+ async def hot_reload(self):
2760
+ pass
2761
+
2753
2762
  async def show_exhausted_error(self):
2754
2763
  output_tokens = 0
2755
2764
  if self.partial_response_content:
@@ -2995,6 +3004,7 @@ class Coder:
2995
3004
  self.temperature,
2996
3005
  # This could include any tools, but for now it is just MCP tools
2997
3006
  tools=tools,
3007
+ override_kwargs=self.model_kwargs,
2998
3008
  )
2999
3009
  self.chat_completion_call_hashes.append(hash_object.hexdigest())
3000
3010
 
@@ -3166,7 +3176,7 @@ class Coder:
3166
3176
  reasoning_content = None
3167
3177
 
3168
3178
  if reasoning_content:
3169
- if nested.getter(self, "args.show_thinking"):
3179
+ if nested.getter(self.args, "show_thinking"):
3170
3180
  if not self.got_reasoning_content:
3171
3181
  text += f"<{REASONING_TAG}>\n\n"
3172
3182
  text += reasoning_content
@@ -3202,7 +3212,7 @@ class Coder:
3202
3212
  self.stream_wrapper(content_to_show, final=False)
3203
3213
  elif text:
3204
3214
  # Apply reasoning tag formatting for non-pretty output
3205
- if nested.getter(self, "args.show_thinking"):
3215
+ if nested.getter(self.args, "show_thinking"):
3206
3216
  text = replace_reasoning_tags(text, self.reasoning_tag_name)
3207
3217
  try:
3208
3218
  self.stream_wrapper(text, final=False)
@@ -3405,7 +3415,7 @@ class Coder:
3405
3415
  def live_incremental_response(self, final):
3406
3416
  show_resp = self.render_incremental_response(final)
3407
3417
  # Apply any reasoning tag formatting
3408
- if nested.getter(self, "args.show_thinking"):
3418
+ if nested.getter(self.args, "show_thinking"):
3409
3419
  show_resp = replace_reasoning_tags(show_resp, self.reasoning_tag_name)
3410
3420
 
3411
3421
  # Track streaming state to avoid repetitive output
@@ -25,9 +25,12 @@ class SaveSessionCommand(BaseCommand):
25
25
  @classmethod
26
26
  def get_completions(cls, io, coder, args) -> List[str]:
27
27
  """Get completion options for save-session command."""
28
- # For save-session, we could return existing session names for completion
29
- # For now, return empty list
30
- return []
28
+ # Return existing session names for completion to prevent accidental overwrites
29
+ from cecli import sessions
30
+
31
+ session_manager = sessions.SessionManager(coder, io)
32
+ sessions_list = session_manager.list_sessions()
33
+ return [session_info["name"] for session_info in sessions_list]
31
34
 
32
35
  @classmethod
33
36
  def get_help(cls) -> str:
@@ -40,4 +43,8 @@ class SaveSessionCommand(BaseCommand):
40
43
  help_text += " /save-session bug-fix # Save session as 'bug-fix'\n"
41
44
  help_text += "\nSessions are saved in the .cecli/sessions/ directory as JSON files.\n"
42
45
  help_text += "Use /list-sessions to see saved sessions and /load-session to load them.\n"
46
+ help_text += (
47
+ "\nNote: Existing session names will be shown for tab completion to help prevent"
48
+ " accidental overwrites.\n"
49
+ )
43
50
  return help_text
@@ -750,6 +750,7 @@ class ConversationChunks:
750
750
  message_dict={"role": "user", "content": block_content},
751
751
  tag=MessageTag.STATIC,
752
752
  hash_key=("static", block_type),
753
+ force=True,
753
754
  )
754
755
 
755
756
  @classmethod
@@ -793,6 +794,7 @@ class ConversationChunks:
793
794
  tag=MessageTag.STATIC, # Use STATIC tag but with different priority
794
795
  priority=125, # Between REPO (100) and READONLY_FILES (200)
795
796
  hash_key=("pre_message", block_type),
797
+ force=True,
796
798
  )
797
799
 
798
800
  @classmethod
@@ -81,3 +81,18 @@ def getter(
81
81
  return current
82
82
 
83
83
  return default
84
+
85
+
86
+ def deep_merge(dict1, dict2):
87
+ """
88
+ Recursively merges dict2 into dict1.
89
+ If a key exists in both and both values are dicts, it merges the sub-dicts.
90
+ Otherwise, the value from dict2 overwrites the value from dict1.
91
+ """
92
+ merged = dict1.copy() # Create a copy to avoid modifying original dict1 in place
93
+ for key, value in dict2.items():
94
+ if key in merged and isinstance(merged[key], dict) and isinstance(value, dict):
95
+ merged[key] = deep_merge(merged[key], value)
96
+ else:
97
+ merged[key] = value
98
+ return merged
@@ -119,6 +119,11 @@ class SkillsManager:
119
119
  self._skills_find_cache = skills
120
120
  return skills
121
121
 
122
+ def hot_reload(self):
123
+ self._skills_cache = {}
124
+ self._skill_metadata_cache = {}
125
+ self.find_skills(reload=True)
126
+
122
127
  def _parse_skill_metadata(self, skill_md_path: Path) -> SkillMetadata:
123
128
  """
124
129
  Parse the metadata from a SKILL.md file.
@@ -645,7 +645,9 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
645
645
  input_queue = None
646
646
  pre_init_io = get_io(args.pretty)
647
647
  # Check if we're in "send message and exit" mode to skip non-essential initialization
648
- suppress_pre_init = args.message or args.message_file or args.apply_clipboard_edits
648
+ suppress_pre_init = (
649
+ args.message or args.message_file or args.apply_clipboard_edits or args.terminal_setup
650
+ )
649
651
  supress_tui = True
650
652
 
651
653
  if not suppress_pre_init:
@@ -1158,6 +1160,8 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
1158
1160
  await coder.commands.execute("terminal-setup", "dry_run")
1159
1161
  else:
1160
1162
  await coder.commands.execute("terminal-setup", "")
1163
+ return await graceful_exit(coder)
1164
+
1161
1165
  if args.lint or args.test or args.commit:
1162
1166
  return await graceful_exit(coder)
1163
1167
  if args.show_repo_map:
@@ -22,6 +22,7 @@ from cecli.exceptions import LiteLLMExceptions
22
22
  from cecli.helpers import nested
23
23
  from cecli.helpers.file_searcher import handle_core_files
24
24
  from cecli.helpers.model_providers import ModelProviderManager
25
+ from cecli.helpers.nested import deep_merge
25
26
  from cecli.helpers.requests import model_request_parser
26
27
  from cecli.llm import litellm
27
28
  from cecli.sendchat import sanity_check_messages
@@ -955,6 +956,7 @@ class Model(ModelSettings):
955
956
  max_tokens=None,
956
957
  min_wait=0,
957
958
  max_wait=2,
959
+ override_kwargs={},
958
960
  ):
959
961
  if os.environ.get("CECLI_SANITY_CHECK_TURNS"):
960
962
  sanity_check_messages(messages)
@@ -1053,6 +1055,8 @@ class Model(ModelSettings):
1053
1055
  if random.random() < 0.25:
1054
1056
  await asyncio.sleep(random.uniform(min_wait, max_wait))
1055
1057
 
1058
+ if override_kwargs:
1059
+ kwargs = deep_merge(kwargs, override_kwargs)
1056
1060
  res = await litellm.acompletion(**kwargs)
1057
1061
  return hash_object, res
1058
1062
  except litellm.ContextWindowExceededError as err: