cecli-dev 0.100.2__tar.gz → 0.100.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (666) hide show
  1. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/PKG-INFO +4 -1
  2. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/__init__.py +1 -1
  3. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/_version.py +3 -3
  4. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/base_coder.py +19 -36
  5. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/agent.py +1 -0
  6. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/agent_model.py +1 -1
  7. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/architect.py +1 -0
  8. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/ask.py +1 -0
  9. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/code.py +1 -0
  10. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/command_prefix.py +1 -0
  11. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/commit.py +1 -0
  12. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/compact.py +1 -0
  13. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/context.py +1 -0
  14. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/drop.py +1 -1
  15. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/editor.py +2 -1
  16. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/editor_model.py +0 -1
  17. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/exclude_skill.py +0 -1
  18. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/exit.py +0 -1
  19. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/git.py +1 -0
  20. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/hashline.py +1 -0
  21. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/help.py +1 -0
  22. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/history_search.py +1 -0
  23. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/hooks.py +0 -1
  24. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/include_skill.py +0 -1
  25. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/lint.py +1 -0
  26. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/list_sessions.py +0 -1
  27. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/list_skills.py +0 -1
  28. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/load.py +0 -1
  29. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/load_hook.py +0 -1
  30. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/load_mcp.py +0 -1
  31. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/load_session.py +0 -1
  32. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/load_skill.py +0 -1
  33. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/ls.py +0 -1
  34. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/map.py +0 -1
  35. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/map_refresh.py +1 -0
  36. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/merge.py +0 -1
  37. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/model.py +0 -1
  38. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/models.py +0 -1
  39. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/multiline_mode.py +1 -0
  40. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/paste.py +0 -1
  41. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/read_only.py +0 -1
  42. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/read_only_stub.py +0 -1
  43. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/reap_agent.py +0 -1
  44. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/reasoning_effort.py +1 -0
  45. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/remove_hook.py +0 -1
  46. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/remove_mcp.py +0 -1
  47. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/remove_skill.py +0 -1
  48. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/report.py +1 -0
  49. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/reset.py +0 -1
  50. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/rules.py +1 -0
  51. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/run.py +1 -0
  52. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/save.py +0 -1
  53. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/save_session.py +0 -1
  54. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/settings.py +0 -1
  55. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/terminal_setup.py +1 -0
  56. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/test.py +1 -0
  57. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/think_tokens.py +0 -1
  58. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/tokens.py +0 -1
  59. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/undo.py +0 -1
  60. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/utils/base_command.py +1 -1
  61. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/utils/helpers.py +22 -5
  62. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/voice.py +0 -1
  63. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/weak_model.py +0 -1
  64. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/web.py +1 -0
  65. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/workspace.py +1 -0
  66. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/agents/service.py +31 -21
  67. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/conversation/integration.py +11 -1
  68. cecli_dev-0.100.4/cecli/helpers/file_system/__init__.py +3 -0
  69. cecli_dev-0.100.4/cecli/helpers/file_system/builders.py +172 -0
  70. cecli_dev-0.100.4/cecli/helpers/file_system/ignore.py +80 -0
  71. cecli_dev-0.100.4/cecli/helpers/file_system/ngram_index.py +170 -0
  72. cecli_dev-0.100.4/cecli/helpers/file_system/service.py +320 -0
  73. cecli_dev-0.100.4/cecli/helpers/file_system/trie_index.py +125 -0
  74. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/io_proxy.py +2 -0
  75. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/responses.py +10 -9
  76. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/io.py +1 -0
  77. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/models.py +3 -0
  78. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/agent.yml +3 -3
  79. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/subagent.yml +3 -3
  80. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/repo.py +48 -0
  81. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/read_range.py +37 -13
  82. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/app.py +84 -20
  83. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/io.py +0 -28
  84. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli_dev.egg-info/PKG-INFO +4 -1
  85. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli_dev.egg-info/SOURCES.txt +6 -0
  86. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli_dev.egg-info/requires.txt +3 -0
  87. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/common-constraints.txt +6 -0
  88. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/requirements.in +5 -0
  89. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements.txt +12 -0
  90. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_coder.py +43 -6
  91. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_models.py +7 -0
  92. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/help/test_help.py +8 -6
  93. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/test_finished.py +3 -0
  94. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/test_service.py +6 -2
  95. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tui/test_app.py +42 -5
  96. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.dockerignore +0 -0
  97. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.flake8 +0 -0
  98. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.gitattributes +0 -0
  99. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  100. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/check_pypi_version.yml +0 -0
  101. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/docker-build-test.yml +0 -0
  102. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/docker-release.yml +0 -0
  103. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/issues.yml +0 -0
  104. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/pages.yml +0 -0
  105. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/pre-commit.yml +0 -0
  106. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/release.yml +0 -0
  107. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/ubuntu-tests.yml +0 -0
  108. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/windows-tests.yml +0 -0
  109. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.github/workflows/windows_check_pypi_version.yml +0 -0
  110. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.gitignore +0 -0
  111. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/.pre-commit-config.yaml +0 -0
  112. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/CHANGELOG.md +0 -0
  113. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/CNAME +0 -0
  114. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/CONTRIBUTING.md +0 -0
  115. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/HISTORY.md +0 -0
  116. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/LICENSE.txt +0 -0
  117. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/MANIFEST.in +0 -0
  118. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/README.md +0 -0
  119. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/Dockerfile +0 -0
  120. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/README.md +0 -0
  121. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/__init__.py +0 -0
  122. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/benchmark.py +0 -0
  123. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/benchmark_classic.py +0 -0
  124. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/clone-exercism.sh +0 -0
  125. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/cpp-test.sh +0 -0
  126. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/docker.sh +0 -0
  127. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/docker_build.sh +0 -0
  128. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/install-docker-ubuntu.sh +0 -0
  129. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/npm-test.sh +0 -0
  130. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/over_time.py +0 -0
  131. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/plot.sh +0 -0
  132. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/plots.py +0 -0
  133. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/problem_stats.py +0 -0
  134. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/prompts.py +0 -0
  135. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/refactor_tools.py +0 -0
  136. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/rsync.sh +0 -0
  137. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/rungrid.py +0 -0
  138. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/swe-bench-lite.txt +0 -0
  139. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/swe-bench.txt +0 -0
  140. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/swe_bench.py +0 -0
  141. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/test_benchmark.py +0 -0
  142. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/variations.1.sh +0 -0
  143. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/variations.2.sh +0 -0
  144. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/variations.3.sh +0 -0
  145. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/benchmark/variations.4.sh +0 -0
  146. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/__main__.py +0 -0
  147. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/args.py +0 -0
  148. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/args_formatter.py +0 -0
  149. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/change_tracker.py +0 -0
  150. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/__init__.py +0 -0
  151. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/agent_coder.py +0 -0
  152. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/architect_coder.py +0 -0
  153. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/ask_coder.py +0 -0
  154. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/chat_chunks.py +0 -0
  155. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/context_coder.py +0 -0
  156. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/copypaste_coder.py +0 -0
  157. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/editblock_coder.py +0 -0
  158. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/editblock_fenced_coder.py +0 -0
  159. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/editblock_func_coder.py +0 -0
  160. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  161. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/editor_editblock_coder.py +0 -0
  162. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/editor_whole_coder.py +0 -0
  163. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/hashline_coder.py +0 -0
  164. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/help_coder.py +0 -0
  165. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/patch_coder.py +0 -0
  166. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/search_replace.py +0 -0
  167. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/shell.py +0 -0
  168. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/single_wholefile_func_coder.py +0 -0
  169. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/sub_agent_coder.py +0 -0
  170. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/udiff_coder.py +0 -0
  171. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/udiff_simple.py +0 -0
  172. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/wholefile_coder.py +0 -0
  173. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/coders/wholefile_func_coder.py +0 -0
  174. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/__init__.py +0 -0
  175. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/add.py +0 -0
  176. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/chat_mode.py +0 -0
  177. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/clear.py +0 -0
  178. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/context_blocks.py +0 -0
  179. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/context_management.py +0 -0
  180. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/copy.py +0 -0
  181. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/copy_context.py +0 -0
  182. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/core.py +0 -0
  183. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/diff.py +0 -0
  184. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/quit.py +0 -0
  185. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/spawn_agent.py +0 -0
  186. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/switch_agent.py +0 -0
  187. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/terminal_data/linux.keytab +0 -0
  188. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/utils/__init__.py +0 -0
  189. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/utils/registry.py +0 -0
  190. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/commands/utils/save_load_manager.py +0 -0
  191. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/deprecated_args.py +0 -0
  192. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/diffs.py +0 -0
  193. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/dump.py +0 -0
  194. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/editor.py +0 -0
  195. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/exceptions.py +0 -0
  196. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/format_settings.py +0 -0
  197. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/help.py +0 -0
  198. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/help_pats.py +0 -0
  199. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/__init__.py +0 -0
  200. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/agents/__init__.py +0 -0
  201. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/agents/config.py +0 -0
  202. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/background_commands.py +0 -0
  203. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/command_parser.py +0 -0
  204. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/conversation/__init__.py +0 -0
  205. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/conversation/base_message.py +0 -0
  206. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/conversation/files.py +0 -0
  207. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/conversation/manager.py +0 -0
  208. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/conversation/service.py +0 -0
  209. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/conversation/tags.py +0 -0
  210. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/conversation/utils.py +0 -0
  211. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/copypaste.py +0 -0
  212. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/coroutines.py +0 -0
  213. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/crypto.py +0 -0
  214. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/file_searcher.py +0 -0
  215. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/grep_ast/__init__.py +0 -0
  216. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/grep_ast/dump.py +0 -0
  217. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  218. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/grep_ast/main.py +0 -0
  219. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/grep_ast/parsers.py +0 -0
  220. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/grep_ast/tsl.py +0 -0
  221. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/hashline.py +0 -0
  222. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/hashpos/__init__.py +0 -0
  223. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/hashpos/hashpos.py +0 -0
  224. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/leak_detect.py +0 -0
  225. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/model_providers.py +0 -0
  226. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/monorepo/__init__.py +0 -0
  227. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/monorepo/config.py +0 -0
  228. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/monorepo/project.py +0 -0
  229. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/monorepo/workspace.py +0 -0
  230. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/monorepo/worktree.py +0 -0
  231. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/nested.py +0 -0
  232. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/observations/__init__.py +0 -0
  233. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/observations/service.py +0 -0
  234. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/plugin_manager.py +0 -0
  235. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/profiler.py +0 -0
  236. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/requests.py +0 -0
  237. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/similarity.py +0 -0
  238. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/helpers/skills.py +0 -0
  239. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/history.py +0 -0
  240. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/hooks/__init__.py +0 -0
  241. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/hooks/base.py +0 -0
  242. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/hooks/integration.py +0 -0
  243. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/hooks/manager.py +0 -0
  244. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/hooks/registry.py +0 -0
  245. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/hooks/service.py +0 -0
  246. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/hooks/types.py +0 -0
  247. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/interruptible_input.py +0 -0
  248. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/linter.py +0 -0
  249. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/llm.py +0 -0
  250. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/main.py +0 -0
  251. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/mcp/__init__.py +0 -0
  252. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/mcp/manager.py +0 -0
  253. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/mcp/oauth.py +0 -0
  254. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/mcp/server.py +0 -0
  255. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/mcp/utils.py +0 -0
  256. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/mdstream.py +0 -0
  257. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/onboarding.py +0 -0
  258. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/__init__.py +0 -0
  259. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/architect.yml +0 -0
  260. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/ask.yml +0 -0
  261. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/base.yml +0 -0
  262. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/context.yml +0 -0
  263. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/copypaste.yml +0 -0
  264. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/editblock.yml +0 -0
  265. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/editblock_fenced.yml +0 -0
  266. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/editblock_func.yml +0 -0
  267. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/editor_diff_fenced.yml +0 -0
  268. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/editor_editblock.yml +0 -0
  269. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/editor_whole.yml +0 -0
  270. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/hashline.yml +0 -0
  271. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/help.yml +0 -0
  272. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/patch.yml +0 -0
  273. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/single_wholefile_func.yml +0 -0
  274. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/udiff.yml +0 -0
  275. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/udiff_simple.yml +0 -0
  276. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/utils/__init__.py +0 -0
  277. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/utils/registry.py +0 -0
  278. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/utils/system.py +0 -0
  279. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/wholefile.yml +0 -0
  280. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/prompts/wholefile_func.yml +0 -0
  281. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  282. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  283. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  284. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  285. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  286. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  287. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  288. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  289. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  290. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  291. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  292. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  293. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  294. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  295. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  296. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  297. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  298. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  299. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  300. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  301. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  302. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  303. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  304. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  305. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  306. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  307. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  308. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  309. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  310. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  311. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  312. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  313. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/README.md +0 -0
  314. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  315. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  316. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  317. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  318. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  319. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  320. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  321. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  322. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  323. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  324. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  325. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  326. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  327. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  328. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  329. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  330. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  331. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  332. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  333. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  334. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  335. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  336. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  337. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  338. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  339. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  340. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  341. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/reasoning_tags.py +0 -0
  342. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/repomap.py +0 -0
  343. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/report.py +0 -0
  344. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/resources/__init__.py +0 -0
  345. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/resources/model-metadata.json +0 -0
  346. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/resources/model-settings.yml +0 -0
  347. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/resources/providers.json +0 -0
  348. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/run_cmd.py +0 -0
  349. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/scrape.py +0 -0
  350. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/sendchat.py +0 -0
  351. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/sessions.py +0 -0
  352. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/special.py +0 -0
  353. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/__init__.py +0 -0
  354. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/_yield.py +0 -0
  355. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/command.py +0 -0
  356. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/command_interactive.py +0 -0
  357. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/context_manager.py +0 -0
  358. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/delegate.py +0 -0
  359. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/edit_text.py +0 -0
  360. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/explore_code.py +0 -0
  361. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/git_branch.py +0 -0
  362. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/git_diff.py +0 -0
  363. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/git_log.py +0 -0
  364. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/git_remote.py +0 -0
  365. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/git_show.py +0 -0
  366. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/git_status.py +0 -0
  367. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/grep.py +0 -0
  368. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/load_skill.py +0 -0
  369. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/ls.py +0 -0
  370. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/remove_skill.py +0 -0
  371. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/thinking.py +0 -0
  372. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/undo_change.py +0 -0
  373. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/update_todo_list.py +0 -0
  374. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/utils/base_tool.py +0 -0
  375. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/utils/helpers.py +0 -0
  376. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/utils/output.py +0 -0
  377. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tools/utils/registry.py +0 -0
  378. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/__init__.py +0 -0
  379. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/styles.tcss +0 -0
  380. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/__init__.py +0 -0
  381. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/completion_bar.py +0 -0
  382. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/file_list.py +0 -0
  383. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/footer.py +0 -0
  384. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/input_area.py +0 -0
  385. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/input_container.py +0 -0
  386. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/key_hints.py +0 -0
  387. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/output.py +0 -0
  388. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/status_bar.py +0 -0
  389. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/widgets/subagent_pills.py +0 -0
  390. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/tui/worker.py +0 -0
  391. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/urls.py +0 -0
  392. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/utils.py +0 -0
  393. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/versioncheck.py +0 -0
  394. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/voice.py +0 -0
  395. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/waiting.py +0 -0
  396. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/watch.py +0 -0
  397. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/watch_prompts.py +0 -0
  398. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/Gemfile +0 -0
  399. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/blame.md +0 -0
  400. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/get-started.md +0 -0
  401. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/help-tip.md +0 -0
  402. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/help.md +0 -0
  403. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/install.md +0 -0
  404. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/keys.md +0 -0
  405. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/model-warnings.md +0 -0
  406. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/multi-line.md +0 -0
  407. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/python-m-aider.md +0 -0
  408. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/recording.css +0 -0
  409. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/recording.md +0 -0
  410. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_includes/works-best.md +0 -0
  411. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_features.scss +0 -0
  412. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_footer.scss +0 -0
  413. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_hero.scss +0 -0
  414. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_info.scss +0 -0
  415. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_layout.scss +0 -0
  416. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_reset.scss +0 -0
  417. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_testimonials.scss +0 -0
  418. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_typography.scss +0 -0
  419. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/_variables.scss +0 -0
  420. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/custom/custom.scss +0 -0
  421. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/_sass/global-overrides.scss +0 -0
  422. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/adv-model-settings.md +0 -0
  423. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/agent-mode.md +0 -0
  424. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/aider_conf.md +0 -0
  425. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/api-keys.md +0 -0
  426. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/custom-commands.md +0 -0
  427. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  428. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/dotenv.md +0 -0
  429. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/editor.md +0 -0
  430. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/hooks.md +0 -0
  431. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/mcp.md +0 -0
  432. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/model-aliases.md +0 -0
  433. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/options.md +0 -0
  434. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/reasoning.md +0 -0
  435. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/security.md +0 -0
  436. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/skills.md +0 -0
  437. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/subagents.md +0 -0
  438. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/tui.md +0 -0
  439. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config/workspaces.md +0 -0
  440. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/config.md +0 -0
  441. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/faq.md +0 -0
  442. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/git.md +0 -0
  443. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/index.md +0 -0
  444. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/install/docker.md +0 -0
  445. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/install/optional.md +0 -0
  446. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/install.md +0 -0
  447. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/languages.md +0 -0
  448. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  449. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/legal/privacy.md +0 -0
  450. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/anthropic.md +0 -0
  451. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/azure.md +0 -0
  452. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/bedrock.md +0 -0
  453. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/cohere.md +0 -0
  454. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/deepseek.md +0 -0
  455. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/gemini.md +0 -0
  456. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/github.md +0 -0
  457. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/groq.md +0 -0
  458. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/lm-studio.md +0 -0
  459. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/ollama.md +0 -0
  460. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/openai-compat.md +0 -0
  461. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/openai.md +0 -0
  462. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/openrouter.md +0 -0
  463. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/other.md +0 -0
  464. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/vertex.md +0 -0
  465. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/warnings.md +0 -0
  466. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms/xai.md +0 -0
  467. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/llms.md +0 -0
  468. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/more/analytics.md +0 -0
  469. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/more/edit-formats.md +0 -0
  470. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/more/infinite-output.md +0 -0
  471. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/more-info.md +0 -0
  472. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/repomap.md +0 -0
  473. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/scripting.md +0 -0
  474. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  475. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  476. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/troubleshooting/imports.md +0 -0
  477. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  478. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/troubleshooting/support.md +0 -0
  479. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  480. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  481. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/troubleshooting.md +0 -0
  482. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/commands.md +0 -0
  483. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/conventions.md +0 -0
  484. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/copypaste.md +0 -0
  485. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/images-urls.md +0 -0
  486. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/lint-test.md +0 -0
  487. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/modes.md +0 -0
  488. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/not-code.md +0 -0
  489. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/notifications.md +0 -0
  490. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/sessions.md +0 -0
  491. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/tips.md +0 -0
  492. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/voice.md +0 -0
  493. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage/watch.md +0 -0
  494. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/docs/usage.md +0 -0
  495. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli/website/share/index.md +0 -0
  496. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli_dev.egg-info/dependency_links.txt +0 -0
  497. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli_dev.egg-info/entry_points.txt +0 -0
  498. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/cecli_dev.egg-info/top_level.txt +0 -0
  499. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/docker/Dockerfile +0 -0
  500. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  501. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/pyproject.toml +0 -0
  502. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/pytest.ini +0 -0
  503. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/requirements-dev.in +0 -0
  504. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/requirements-dev.txt +0 -0
  505. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/requirements-help.in +0 -0
  506. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/requirements-help.txt +0 -0
  507. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/requirements-playwright.in +0 -0
  508. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/requirements-playwright.txt +0 -0
  509. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/requirements/tree-sitter.in +0 -0
  510. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/30k-image.py +0 -0
  511. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/Dockerfile.jekyll +0 -0
  512. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/__init__.py +0 -0
  513. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/blame.py +0 -0
  514. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/clean_metadata.py +0 -0
  515. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/cost_analyzer.py +0 -0
  516. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/cost_calculator.py +0 -0
  517. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/dl_icons.py +0 -0
  518. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/filter-chat-mode.js +0 -0
  519. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/generate_providers.py +0 -0
  520. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/get_contributor_list.js +0 -0
  521. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/get_hashline.py +0 -0
  522. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/history_prompts.py +0 -0
  523. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/homepage.py +0 -0
  524. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/issues.py +0 -0
  525. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/jekyll_build.sh +0 -0
  526. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/jekyll_run.sh +0 -0
  527. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/logo_svg.py +0 -0
  528. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/pip-compile.sh +0 -0
  529. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/recording_audio.py +0 -0
  530. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/redact-cast.py +0 -0
  531. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/rename_to_cecli.py +0 -0
  532. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/tmux_record.sh +0 -0
  533. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/tsl_pack_langs.py +0 -0
  534. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/update-blame.sh +0 -0
  535. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/update-docs.sh +0 -0
  536. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/update-history.py +0 -0
  537. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/versionbump.py +0 -0
  538. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/scripts/yank-old-versions.py +0 -0
  539. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/setup.cfg +0 -0
  540. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/shim.pyproject.toml +0 -0
  541. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/__init__.py +0 -0
  542. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/__init__.py +0 -0
  543. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/conftest.py +0 -0
  544. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_aws_credentials.py +0 -0
  545. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_background_commands.py +0 -0
  546. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_commands.py +0 -0
  547. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_custom_commands.py +0 -0
  548. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_deprecated.py +0 -0
  549. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_editblock.py +0 -0
  550. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_editor.py +0 -0
  551. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_exceptions.py +0 -0
  552. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_find_or_blocks.py +0 -0
  553. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_hashline.py +0 -0
  554. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_history.py +0 -0
  555. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_io.py +0 -0
  556. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_linter.py +0 -0
  557. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_main.py +0 -0
  558. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_model_info_manager.py +0 -0
  559. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_model_provider_manager.py +0 -0
  560. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_onboarding.py +0 -0
  561. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_plugin_manager.py +0 -0
  562. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_prompts.py +0 -0
  563. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_reasoning.py +0 -0
  564. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_repo.py +0 -0
  565. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_repomap.py +0 -0
  566. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_run_cmd.py +0 -0
  567. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_sanity_check_repo.py +0 -0
  568. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_scripting.py +0 -0
  569. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_sendchat.py +0 -0
  570. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_session_args.py +0 -0
  571. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_session_crypto.py +0 -0
  572. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_sessions.py +0 -0
  573. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_sessions_manager.py +0 -0
  574. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_skills.py +0 -0
  575. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_special.py +0 -0
  576. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_ssl_verification.py +0 -0
  577. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_udiff.py +0 -0
  578. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_urls.py +0 -0
  579. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_voice.py +0 -0
  580. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_watch.py +0 -0
  581. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/basic/test_wholefile.py +0 -0
  582. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/coders/test_coder_switching.py +0 -0
  583. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/coders/test_copypaste_coder.py +0 -0
  584. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/commands/test_compaction.py +0 -0
  585. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/commands/test_switch_agent.py +0 -0
  586. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/conftest.py +0 -0
  587. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/conversations/test_conversation_integration.py +0 -0
  588. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/conversations/test_conversation_system.py +0 -0
  589. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  590. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/chat-history.md +0 -0
  591. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/arduino/test.ino +0 -0
  592. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/bash/test.sh +0 -0
  593. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/c/test.c +0 -0
  594. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/chatito/test.chatito +0 -0
  595. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/clojure/test.clj +0 -0
  596. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  597. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/cpp/test.cpp +0 -0
  598. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/csharp/test.cs +0 -0
  599. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/d/test.d +0 -0
  600. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/dart/test.dart +0 -0
  601. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/elisp/test.el +0 -0
  602. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/elixir/test.ex +0 -0
  603. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/elm/test.elm +0 -0
  604. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/gleam/test.gleam +0 -0
  605. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/go/test.go +0 -0
  606. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/haskell/test.hs +0 -0
  607. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/hcl/test.tf +0 -0
  608. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/java/test.java +0 -0
  609. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/javascript/test.js +0 -0
  610. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/kotlin/test.kt +0 -0
  611. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/lua/test.lua +0 -0
  612. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/matlab/test.m +0 -0
  613. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/ocaml/test.ml +0 -0
  614. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  615. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/php/test.php +0 -0
  616. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/pony/test.pony +0 -0
  617. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/properties/test.properties +0 -0
  618. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/python/test.py +0 -0
  619. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/ql/test.ql +0 -0
  620. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/r/test.r +0 -0
  621. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/racket/test.rkt +0 -0
  622. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/ruby/test.rb +0 -0
  623. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/rust/test.rs +0 -0
  624. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/scala/test.scala +0 -0
  625. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/solidity/test.sol +0 -0
  626. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/swift/test.swift +0 -0
  627. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/tsx/test.tsx +0 -0
  628. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/typescript/test.ts +0 -0
  629. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/udev/test.rules +0 -0
  630. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/languages/zig/test.zig +0 -0
  631. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/sample-code-base/sample.js +0 -0
  632. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/sample-code-base/sample.py +0 -0
  633. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  634. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/watch.js +0 -0
  635. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/watch.lisp +0 -0
  636. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/watch.py +0 -0
  637. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/fixtures/watch_question.js +0 -0
  638. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/helpers/monorepo/test_config.py +0 -0
  639. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/helpers/monorepo/test_config_active.py +0 -0
  640. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/helpers/monorepo/test_ignore_logic.py +0 -0
  641. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/helpers/monorepo/test_repomap_workspace.py +0 -0
  642. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/helpers/monorepo/test_workspace.py +0 -0
  643. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/helpers/observations/test_observation_service.py +0 -0
  644. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/hooks/__init__.py +0 -0
  645. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/hooks/test_base.py +0 -0
  646. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/hooks/test_manager.py +0 -0
  647. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/hooks/test_registry.py +0 -0
  648. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/mcp/__init__.py +0 -0
  649. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/mcp/test_manager.py +0 -0
  650. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/scrape/test_playwright_disable.py +0 -0
  651. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/scrape/test_scrape.py +0 -0
  652. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/__init__.py +0 -0
  653. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/conftest.py +0 -0
  654. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/test_commands.py +0 -0
  655. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/test_config.py +0 -0
  656. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/test_delegate.py +0 -0
  657. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/test_io_proxy.py +0 -0
  658. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/subagents/test_sub_agent_coder.py +0 -0
  659. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tools/test_extractions.py +0 -0
  660. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tools/test_get_lines.py +0 -0
  661. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tools/test_git_branch.py +0 -0
  662. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tools/test_git_diff.py +0 -0
  663. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tools/test_grep.py +0 -0
  664. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tools/test_insert_block.py +0 -0
  665. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tools/test_registry.py +0 -0
  666. {cecli_dev-0.100.2 → cecli_dev-0.100.4}/tests/tools/test_tool_arguments.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 0.100.2
3
+ Version: 0.100.4
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
@@ -53,6 +53,9 @@ Requires-Dist: truststore
53
53
  Requires-Dist: xxhash>=3.6.0
54
54
  Requires-Dist: py-cymbal>=0.1.24
55
55
  Requires-Dist: cryptography>=42.0.0
56
+ Requires-Dist: marisa-trie>=1.0
57
+ Requires-Dist: rapidfuzz>=3.0
58
+ Requires-Dist: ngram>=4.0.3
56
59
  Requires-Dist: rustworkx>=0.15.0
57
60
  Requires-Dist: scipy>=1.15.3
58
61
  Requires-Dist: importlib-metadata>=7.2.1
@@ -1,6 +1,6 @@
1
1
  from packaging import version
2
2
 
3
- __version__ = "0.100.2.dev"
3
+ __version__ = "0.100.4.dev"
4
4
  safe_version = __version__
5
5
 
6
6
  try:
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.100.2'
22
- __version_tuple__ = version_tuple = (0, 100, 2)
21
+ __version__ = version = '0.100.4'
22
+ __version_tuple__ = version_tuple = (0, 100, 4)
23
23
 
24
- __commit_id__ = commit_id = 'gb0fcce1f4'
24
+ __commit_id__ = commit_id = 'gcce336f00'
@@ -42,6 +42,7 @@ from cecli.commands import Commands, SwitchCoderSignal
42
42
  from cecli.exceptions import LiteLLMExceptions
43
43
  from cecli.helpers import command_parser, coroutines, nested, responses
44
44
  from cecli.helpers.conversation import ConversationService, MessageTag
45
+ from cecli.helpers.file_system import FileSystemService
45
46
  from cecli.helpers.io_proxy import IOProxy
46
47
  from cecli.helpers.observations.service import ObservationService
47
48
  from cecli.helpers.profiler import TokenProfiler
@@ -459,9 +460,7 @@ class Coder(metaclass=UsageMeta):
459
460
 
460
461
  self.context_compaction_max_tokens = context_compaction_max_tokens
461
462
  self.context_compaction_summary_tokens = context_compaction_summary_tokens
462
- self.max_reflections = (
463
- 3 if self.edit_format == "agent" else nested.getter(self.args, "max_reflections", 3)
464
- )
463
+ self.max_reflections = nested.getter(self.args, "max_reflections", 3)
465
464
 
466
465
  if not fnames:
467
466
  fnames = []
@@ -547,7 +546,6 @@ class Coder(metaclass=UsageMeta):
547
546
 
548
547
  self.data_cache = {
549
548
  "repo": {"last_key": "", "read_only_count": None},
550
- "relative_files": None,
551
549
  }
552
550
 
553
551
  self.repo = repo
@@ -594,6 +592,12 @@ class Coder(metaclass=UsageMeta):
594
592
  if not self.repo:
595
593
  self.root = utils.find_common_root(self.abs_fnames)
596
594
 
595
+ # Initialize the FileSystemService singleton for all agents
596
+ FileSystemService.get_instance(
597
+ root=self.root if hasattr(self, "root") else ".",
598
+ repo=self.repo if hasattr(self, "repo") else None,
599
+ )
600
+
597
601
  if read_only_fnames:
598
602
  self.abs_read_only_fnames = set()
599
603
  for fname in read_only_fnames:
@@ -3226,7 +3230,7 @@ class Coder(metaclass=UsageMeta):
3226
3230
  group = ConfirmGroup(new_mentions)
3227
3231
  for rel_fname in sorted(new_mentions):
3228
3232
  message = "Add file to the chat?"
3229
- if self.args.tui:
3233
+ if self.args and self.args.tui:
3230
3234
  message = f"Add file to the chat? ({rel_fname})"
3231
3235
 
3232
3236
  if await self.io.confirm_ask(
@@ -3909,37 +3913,16 @@ class Coder(metaclass=UsageMeta):
3909
3913
  return
3910
3914
 
3911
3915
  def get_all_relative_files(self):
3912
- if self.repo_map and self.repo:
3913
- try:
3914
- staged_files_hash = hash(
3915
- str([item.a_path for item in self.repo.repo.index.diff("HEAD")])
3916
- )
3917
- if (
3918
- staged_files_hash == self.data_cache["repo"]["last_key"]
3919
- and self.data_cache["relative_files"]
3920
- ):
3921
- return self.data_cache["relative_files"]
3922
- except ANY_GIT_ERROR as err:
3923
- # Handle git errors gracefully - fall back to getting tracked files
3924
- if self.verbose:
3925
- self.io.tool_warning(f"Git error while checking staged files: {err}")
3926
- # Continue to get tracked files normally
3927
-
3928
- if self.repo:
3929
- if hasattr(self.repo, "workspace_path") and self.repo.workspace_path:
3930
- files = self.repo.get_workspace_files()
3931
- elif not self.repo.cecli_ignore_file or not self.repo.cecli_ignore_file.is_file():
3932
- files = self.repo.get_tracked_files()
3933
- else:
3934
- files = self.repo.get_non_ignored_files_from_root()
3935
- else:
3936
- files = self.get_inchat_relative_files()
3937
- # This is quite slow in large repos
3938
- # files = [fname for fname in files if self.is_file_safe(fname)]
3939
-
3940
- self.data_cache["relative_files"] = sorted(set(files))
3941
-
3942
- return self.data_cache["relative_files"]
3916
+ """Get all files known to the file service singleton."""
3917
+ fs = FileSystemService.get_instance()
3918
+ if fs.trie:
3919
+ # Auto-rebuild if the repository state has changed
3920
+ # (e.g., new commits, staged files, or HEAD change)
3921
+ if fs.needs_rebuild():
3922
+ fs.rebuild()
3923
+ files = fs.list_all()
3924
+ return files
3925
+ return self.get_inchat_relative_files()
3943
3926
 
3944
3927
  def get_all_abs_files(self):
3945
3928
  files = self.get_all_relative_files()
@@ -9,6 +9,7 @@ class AgentCommand(BaseCommand):
9
9
  "Enter agent mode to autonomously discover and manage relevant files. If no prompt"
10
10
  " provided, switches to agent mode."
11
11
  )
12
+ show_completion_notification = True
12
13
 
13
14
  @classmethod
14
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,7 +9,7 @@ from cecli.helpers.conversation import ConversationService
9
9
  class AgentModelCommand(BaseCommand):
10
10
  NORM_NAME = "agent-model"
11
11
  DESCRIPTION = "Switch the Agent Model to a new LLM"
12
- show_completion_notification = False
12
+ show_completion_notification = True
13
13
 
14
14
  @classmethod
15
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,6 +9,7 @@ class ArchitectCommand(BaseCommand):
9
9
  "Enter architect/editor mode using 2 different models. If no prompt provided, switches to"
10
10
  " architect/editor mode."
11
11
  )
12
+ show_completion_notification = True
12
13
 
13
14
  @classmethod
14
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,6 +9,7 @@ class AskCommand(BaseCommand):
9
9
  "Ask questions about the code base without editing any files. If no prompt provided,"
10
10
  " switches to ask mode."
11
11
  )
12
+ show_completion_notification = True
12
13
 
13
14
  @classmethod
14
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -6,6 +6,7 @@ from cecli.commands.utils.base_command import BaseCommand
6
6
  class CodeCommand(BaseCommand):
7
7
  NORM_NAME = "code"
8
8
  DESCRIPTION = "Ask for changes to your code. If no prompt provided, switches to code mode."
9
+ show_completion_notification = True
9
10
 
10
11
  @classmethod
11
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,6 +7,7 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class CommandPrefixCommand(BaseCommand):
8
8
  NORM_NAME = "command-prefix"
9
9
  DESCRIPTION = "Change command prefix for all running commands"
10
+ show_completion_notification = True
10
11
 
11
12
  @classmethod
12
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,6 +8,7 @@ from cecli.repo import ANY_GIT_ERROR
8
8
  class CommitCommand(BaseCommand):
9
9
  NORM_NAME = "commit"
10
10
  DESCRIPTION = "Commit edits to the repo made outside the chat (commit message optional)"
11
+ show_completion_notification = True
11
12
 
12
13
  @classmethod
13
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -4,6 +4,7 @@ from .utils.base_command import BaseCommand
4
4
  class CompactCommand(BaseCommand):
5
5
  NORM_NAME = "compact"
6
6
  DESCRIPTION = "Force compaction of the chat history context"
7
+ show_completion_notification = True
7
8
 
8
9
  @classmethod
9
10
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,6 +9,7 @@ class ContextCommand(BaseCommand):
9
9
  "Enter context mode to see surrounding code context. If no prompt provided, switches to"
10
10
  " context mode."
11
11
  )
12
+ show_completion_notification = True
12
13
 
13
14
  @classmethod
14
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -13,7 +13,7 @@ from cecli.commands.utils.helpers import (
13
13
  class DropCommand(BaseCommand):
14
14
  NORM_NAME = "drop"
15
15
  DESCRIPTION = "Remove files from the chat session to free up context space"
16
- show_completion_notification = False
16
+ show_completion_notification = True
17
17
 
18
18
  @classmethod
19
19
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,7 +8,7 @@ from cecli.editor import pipe_editor
8
8
  class EditorCommand(BaseCommand):
9
9
  NORM_NAME = "editor"
10
10
  DESCRIPTION = "Open an editor to write a prompt"
11
- show_completion_notification = False
11
+ show_completion_notification = True
12
12
 
13
13
  @classmethod
14
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -49,6 +49,7 @@ class EditorCommand(BaseCommand):
49
49
  class EditCommand(BaseCommand):
50
50
  NORM_NAME = "edit"
51
51
  DESCRIPTION = "Alias for /editor: Open an editor to write a prompt"
52
+ show_completion_notification = True
52
53
 
53
54
  @classmethod
54
55
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,7 +9,6 @@ from cecli.helpers.conversation import ConversationService
9
9
  class EditorModelCommand(BaseCommand):
10
10
  NORM_NAME = "editor-model"
11
11
  DESCRIPTION = "Switch the Editor Model to a new LLM"
12
- show_completion_notification = False
13
12
 
14
13
  @classmethod
15
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class ExcludeSkillCommand(BaseCommand):
8
8
  NORM_NAME = "exclude-skill"
9
9
  DESCRIPTION = "Exclude a skill by name (agent mode only)"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -10,7 +10,6 @@ from cecli.commands.utils.helpers import format_command_result
10
10
  class ExitCommand(BaseCommand):
11
11
  NORM_NAME = "exit"
12
12
  DESCRIPTION = "Exit the application"
13
- show_completion_notification = False
14
13
 
15
14
  @classmethod
16
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,6 +8,7 @@ from cecli.commands.utils.helpers import format_command_result
8
8
  class GitCommand(BaseCommand):
9
9
  NORM_NAME = "git"
10
10
  DESCRIPTION = "Run a git command (output excluded from chat)"
11
+ show_completion_notification = True
11
12
 
12
13
  @classmethod
13
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,6 +9,7 @@ class HashlineCommand(BaseCommand):
9
9
  "Enter agent mode to autonomously discover and manage relevant files. If no prompt"
10
10
  " provided, switches to hashline mode."
11
11
  )
12
+ show_completion_notification = True
12
13
 
13
14
  @classmethod
14
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,6 +8,7 @@ from cecli.commands.utils.registry import CommandRegistry
8
8
  class HelpCommand(BaseCommand):
9
9
  NORM_NAME = "help"
10
10
  DESCRIPTION = "Ask questions about cecli"
11
+ show_completion_notification = True
11
12
 
12
13
  @classmethod
13
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,6 +9,7 @@ from cecli.utils import run_fzf
9
9
  class HistorySearchCommand(BaseCommand):
10
10
  NORM_NAME = "history-search"
11
11
  DESCRIPTION = "Fuzzy search in history and paste it in the prompt"
12
+ show_completion_notification = True
12
13
 
13
14
  @classmethod
14
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,7 +9,6 @@ from cecli.hooks.types import HookType
9
9
  class HooksCommand(BaseCommand):
10
10
  NORM_NAME = "hooks"
11
11
  DESCRIPTION = "List all registered hooks by type with their current state"
12
- show_completion_notification = False
13
12
 
14
13
  @classmethod
15
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class IncludeSkillCommand(BaseCommand):
8
8
  NORM_NAME = "include-skill"
9
9
  DESCRIPTION = "Include a skill by name (agent mode only)"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,6 +8,7 @@ from cecli.utils import expand_glob_patterns
8
8
  class LintCommand(BaseCommand):
9
9
  NORM_NAME = "lint"
10
10
  DESCRIPTION = "Lint and fix in-chat files or all dirty files if none in chat"
11
+ show_completion_notification = True
11
12
 
12
13
  @classmethod
13
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class ListSessionsCommand(BaseCommand):
8
8
  NORM_NAME = "list-sessions"
9
9
  DESCRIPTION = "List all saved sessions in .cecli/sessions/"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class ListSkillsCommand(BaseCommand):
8
8
  NORM_NAME = "list-skills"
9
9
  DESCRIPTION = "List all available skills with their states and file paths"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,7 +8,6 @@ from cecli.commands.utils.save_load_manager import SaveLoadManager
8
8
  class LoadCommand(BaseCommand):
9
9
  NORM_NAME = "load"
10
10
  DESCRIPTION = "Load and execute commands from a file"
11
- show_completion_notification = False
12
11
 
13
12
  @classmethod
14
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.hooks.service import HookService
7
7
  class LoadHookCommand(BaseCommand):
8
8
  NORM_NAME = "load-hook"
9
9
  DESCRIPTION = "Enable a specific hook by name"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class LoadMcpCommand(BaseCommand):
8
8
  NORM_NAME = "load-mcp"
9
9
  DESCRIPTION = "Load MCP server(s) by name, or use '*' to load all enabled servers"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class LoadSessionCommand(BaseCommand):
8
8
  NORM_NAME = "load-session"
9
9
  DESCRIPTION = "Load a saved session by name or file path"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class LoadSkillCommand(BaseCommand):
8
8
  NORM_NAME = "load-skill"
9
9
  DESCRIPTION = "Load a skill by name (agent mode only)"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class LsCommand(BaseCommand):
8
8
  NORM_NAME = "ls"
9
9
  DESCRIPTION = "List all known files and indicate which are included in the chat session"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,7 +8,6 @@ from cecli.helpers.conversation import ConversationService
8
8
  class MapCommand(BaseCommand):
9
9
  NORM_NAME = "map"
10
10
  DESCRIPTION = "Print out the current repository map"
11
- show_completion_notification = False
12
11
 
13
12
  @classmethod
14
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,6 +8,7 @@ from cecli.helpers.conversation import ConversationService, MessageTag
8
8
  class MapRefreshCommand(BaseCommand):
9
9
  NORM_NAME = "map-refresh"
10
10
  DESCRIPTION = "Force a refresh of the repository map"
11
+ show_completion_notification = True
11
12
 
12
13
  @classmethod
13
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -11,7 +11,6 @@ from cecli.helpers.agents.service import (
11
11
  class MergeCommand(BaseCommand):
12
12
  NORM_NAME = "merge"
13
13
  DESCRIPTION = "Merge the current sub-agent's summary into a target agent's conversation"
14
- show_completion_notification = False
15
14
 
16
15
  @classmethod
17
16
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,7 +9,6 @@ from cecli.helpers.conversation import ConversationService
9
9
  class ModelCommand(BaseCommand):
10
10
  NORM_NAME = "model"
11
11
  DESCRIPTION = "Switch the Main Model to a new LLM"
12
- show_completion_notification = False
13
12
 
14
13
  @classmethod
15
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,7 +8,6 @@ from cecli.commands.utils.helpers import format_command_result
8
8
  class ModelsCommand(BaseCommand):
9
9
  NORM_NAME = "models"
10
10
  DESCRIPTION = "Search the list of available models"
11
- show_completion_notification = False
12
11
 
13
12
  @classmethod
14
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,6 +7,7 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class MultilineModeCommand(BaseCommand):
8
8
  NORM_NAME = "multiline-mode"
9
9
  DESCRIPTION = "Toggle multiline mode (swaps behavior of Enter and Meta+Enter)"
10
+ show_completion_notification = True
10
11
 
11
12
  @classmethod
12
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -16,7 +16,6 @@ class PasteCommand(BaseCommand):
16
16
  "Paste image/text from the clipboard into the chat. Optionally provide a name for the"
17
17
  " image."
18
18
  )
19
- show_completion_notification = False
20
19
 
21
20
  @classmethod
22
21
  async def execute(cls, io, coder, args, **kwargs):
@@ -19,7 +19,6 @@ class ReadOnlyCommand(BaseCommand):
19
19
  DESCRIPTION = (
20
20
  "Add files to the chat that are for reference only, or turn added files to read-only"
21
21
  )
22
- show_completion_notification = False
23
22
 
24
23
  @classmethod
25
24
  async def execute(cls, io, coder, args, **kwargs):
@@ -19,7 +19,6 @@ class ReadOnlyStubCommand(BaseCommand):
19
19
  DESCRIPTION = (
20
20
  "Add files to the chat as read-only stubs, or turn added files to read-only (stubs)"
21
21
  )
22
- show_completion_notification = False
23
22
 
24
23
  @classmethod
25
24
  async def execute(cls, io, coder, args, **kwargs):
@@ -11,7 +11,6 @@ from .utils.base_command import BaseCommand
11
11
  class ReapAgentCommand(BaseCommand):
12
12
  NORM_NAME = "reap-agent"
13
13
  DESCRIPTION = "Force destroy the active sub-agent"
14
- show_completion_notification = False
15
14
 
16
15
  @classmethod
17
16
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,6 +9,7 @@ class ReasoningEffortCommand(BaseCommand):
9
9
  DESCRIPTION = (
10
10
  "Set the reasoning effort level (values: number or low/medium/high depending on model)"
11
11
  )
12
+ show_completion_notification = True
12
13
 
13
14
  @classmethod
14
15
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.hooks.service import HookService
7
7
  class RemoveHookCommand(BaseCommand):
8
8
  NORM_NAME = "remove-hook"
9
9
  DESCRIPTION = "Disable a specific hook by name"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class RemoveMcpCommand(BaseCommand):
8
8
  NORM_NAME = "remove-mcp"
9
9
  DESCRIPTION = "Remove a MCP server by name, or use '*' to remove all"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class RemoveSkillCommand(BaseCommand):
8
8
  NORM_NAME = "remove-skill"
9
9
  DESCRIPTION = "Remove a skill by name (agent mode only)"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,6 +7,7 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class ReportCommand(BaseCommand):
8
8
  NORM_NAME = "report"
9
9
  DESCRIPTION = "Report a problem by opening a GitHub Issue"
10
+ show_completion_notification = True
10
11
 
11
12
  @classmethod
12
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -9,7 +9,6 @@ from cecli.helpers.observations.service import ObservationService
9
9
  class ResetCommand(BaseCommand):
10
10
  NORM_NAME = "reset"
11
11
  DESCRIPTION = "Drop all files and clear the chat history"
12
- show_completion_notification = False
13
12
 
14
13
  @classmethod
15
14
  async def execute(cls, io, coder, args, **kwargs):
@@ -16,6 +16,7 @@ from cecli.utils import run_fzf
16
16
  class RulesCommand(BaseCommand):
17
17
  NORM_NAME = "rules"
18
18
  DESCRIPTION = "Add rule files to the chat for reference"
19
+ show_completion_notification = True
19
20
 
20
21
  @classmethod
21
22
  async def execute(cls, io, coder, args, **kwargs):
@@ -10,6 +10,7 @@ from cecli.run_cmd import run_cmd_async
10
10
  class RunCommand(BaseCommand):
11
11
  NORM_NAME = "run"
12
12
  DESCRIPTION = "Run a shell command and optionally add the output to the chat (alias: !)"
13
+ show_completion_notification = True
13
14
 
14
15
  @classmethod
15
16
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,7 +8,6 @@ from cecli.commands.utils.save_load_manager import SaveLoadManager
8
8
  class SaveCommand(BaseCommand):
9
9
  NORM_NAME = "save"
10
10
  DESCRIPTION = "Save commands to a file that can reconstruct the current chat session's files"
11
- show_completion_notification = False
12
11
 
13
12
  @classmethod
14
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class SaveSessionCommand(BaseCommand):
8
8
  NORM_NAME = "save-session"
9
9
  DESCRIPTION = "Save the current chat session to a named file in .cecli/sessions/"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):
@@ -8,7 +8,6 @@ from cecli.format_settings import format_settings
8
8
  class SettingsCommand(BaseCommand):
9
9
  NORM_NAME = "settings"
10
10
  DESCRIPTION = "Print out the current settings"
11
- show_completion_notification = False
12
11
 
13
12
  @classmethod
14
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -17,6 +17,7 @@ from cecli.commands.utils.helpers import format_command_result
17
17
  class TerminalSetupCommand(BaseCommand):
18
18
  NORM_NAME = "terminal-setup"
19
19
  DESCRIPTION = "Configure terminal config files to support shift+enter for newline"
20
+ show_completion_notification = True
20
21
 
21
22
  KITTY_BINDING = "\n# Added by cecli terminal-setup command\nmap shift+enter send_text all \\n\n"
22
23
 
@@ -7,6 +7,7 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class TestCommand(BaseCommand):
8
8
  NORM_NAME = "test"
9
9
  DESCRIPTION = "Run a shell command and add the output to the chat on non-zero exit code"
10
+ show_completion_notification = True
10
11
 
11
12
  @classmethod
12
13
  async def execute(cls, io, coder, args, **kwargs):
@@ -7,7 +7,6 @@ from cecli.commands.utils.helpers import format_command_result
7
7
  class ThinkTokensCommand(BaseCommand):
8
8
  NORM_NAME = "think-tokens"
9
9
  DESCRIPTION = "Set the thinking token budget, eg: 8096, 8k, 10.5k, 0.5M, or 0 to disable"
10
- show_completion_notification = False
11
10
 
12
11
  @classmethod
13
12
  async def execute(cls, io, coder, args, **kwargs):