cecli-dev 0.100.6rc7__tar.gz → 0.100.6rc8__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 (676) hide show
  1. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/PKG-INFO +1 -1
  2. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/_version.py +3 -3
  3. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/agent_coder.py +26 -12
  4. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/base_coder.py +2 -2
  5. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/utils/helpers.py +1 -1
  6. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/conversation/files.py +5 -2
  7. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/conversation/integration.py +29 -2
  8. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/hashline.py +13 -13
  9. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/requests.py +25 -0
  10. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/io.py +1 -0
  11. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/agent.yml +19 -19
  12. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/subagent.yml +20 -20
  13. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/reasoning_tags.py +2 -2
  14. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/command.py +9 -6
  15. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/command_interactive.py +15 -7
  16. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/context_manager.py +22 -11
  17. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/delegate.py +2 -2
  18. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/edit_text.py +3 -3
  19. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/explore_code.py +1 -1
  20. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/grep.py +13 -11
  21. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/ls.py +5 -3
  22. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/read_range.py +47 -20
  23. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/thinking.py +1 -1
  24. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/undo_change.py +3 -1
  25. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/update_todo_list.py +22 -10
  26. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/utils/helpers.py +1 -1
  27. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/io.py +3 -1
  28. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli_dev.egg-info/PKG-INFO +1 -1
  29. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_grep.py +1 -1
  30. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.dockerignore +0 -0
  31. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.flake8 +0 -0
  32. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.gitattributes +0 -0
  33. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  34. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/check_pypi_version.yml +0 -0
  35. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/docker-build-test.yml +0 -0
  36. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/docker-release.yml +0 -0
  37. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/issues.yml +0 -0
  38. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/pages.yml +0 -0
  39. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/pre-commit.yml +0 -0
  40. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/release.yml +0 -0
  41. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/ubuntu-tests.yml +0 -0
  42. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/windows-tests.yml +0 -0
  43. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.github/workflows/windows_check_pypi_version.yml +0 -0
  44. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.gitignore +0 -0
  45. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/.pre-commit-config.yaml +0 -0
  46. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/CHANGELOG.md +0 -0
  47. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/CNAME +0 -0
  48. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/CONTRIBUTING.md +0 -0
  49. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/HISTORY.md +0 -0
  50. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/LICENSE.txt +0 -0
  51. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/MANIFEST.in +0 -0
  52. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/README.md +0 -0
  53. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/Dockerfile +0 -0
  54. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/README.md +0 -0
  55. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/__init__.py +0 -0
  56. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/benchmark.py +0 -0
  57. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/benchmark_classic.py +0 -0
  58. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/clone-exercism.sh +0 -0
  59. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/cpp-test.sh +0 -0
  60. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/docker.sh +0 -0
  61. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/docker_build.sh +0 -0
  62. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/install-docker-ubuntu.sh +0 -0
  63. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/npm-test.sh +0 -0
  64. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/over_time.py +0 -0
  65. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/plot.sh +0 -0
  66. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/plots.py +0 -0
  67. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/problem_stats.py +0 -0
  68. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/prompts.py +0 -0
  69. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/refactor_tools.py +0 -0
  70. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/rsync.sh +0 -0
  71. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/rungrid.py +0 -0
  72. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/swe-bench-lite.txt +0 -0
  73. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/swe-bench.txt +0 -0
  74. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/swe_bench.py +0 -0
  75. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/test_benchmark.py +0 -0
  76. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/variations.1.sh +0 -0
  77. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/variations.2.sh +0 -0
  78. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/variations.3.sh +0 -0
  79. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/benchmark/variations.4.sh +0 -0
  80. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/__init__.py +0 -0
  81. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/__main__.py +0 -0
  82. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/args.py +0 -0
  83. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/args_formatter.py +0 -0
  84. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/change_tracker.py +0 -0
  85. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/__init__.py +0 -0
  86. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/architect_coder.py +0 -0
  87. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/ask_coder.py +0 -0
  88. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/chat_chunks.py +0 -0
  89. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/context_coder.py +0 -0
  90. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/copypaste_coder.py +0 -0
  91. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/editblock_coder.py +0 -0
  92. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/editblock_fenced_coder.py +0 -0
  93. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/editblock_func_coder.py +0 -0
  94. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  95. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/editor_editblock_coder.py +0 -0
  96. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/editor_whole_coder.py +0 -0
  97. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/hashline_coder.py +0 -0
  98. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/help_coder.py +0 -0
  99. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/patch_coder.py +0 -0
  100. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/search_replace.py +0 -0
  101. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/shell.py +0 -0
  102. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/single_wholefile_func_coder.py +0 -0
  103. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/sub_agent_coder.py +0 -0
  104. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/udiff_coder.py +0 -0
  105. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/udiff_simple.py +0 -0
  106. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/wholefile_coder.py +0 -0
  107. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/coders/wholefile_func_coder.py +0 -0
  108. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/__init__.py +0 -0
  109. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/add.py +0 -0
  110. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/agent.py +0 -0
  111. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/agent_model.py +0 -0
  112. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/architect.py +0 -0
  113. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/ask.py +0 -0
  114. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/chat_mode.py +0 -0
  115. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/clear.py +0 -0
  116. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/code.py +0 -0
  117. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/command_prefix.py +0 -0
  118. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/commit.py +0 -0
  119. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/compact.py +0 -0
  120. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/context.py +0 -0
  121. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/context_blocks.py +0 -0
  122. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/context_management.py +0 -0
  123. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/copy.py +0 -0
  124. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/copy_context.py +0 -0
  125. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/core.py +0 -0
  126. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/diff.py +0 -0
  127. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/drop.py +0 -0
  128. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/editor.py +0 -0
  129. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/editor_model.py +0 -0
  130. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/exclude_skill.py +0 -0
  131. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/exit.py +0 -0
  132. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/git.py +0 -0
  133. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/hashline.py +0 -0
  134. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/help.py +0 -0
  135. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/history_search.py +0 -0
  136. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/hooks.py +0 -0
  137. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/include_skill.py +0 -0
  138. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/lint.py +0 -0
  139. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/list_sessions.py +0 -0
  140. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/list_skills.py +0 -0
  141. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/load.py +0 -0
  142. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/load_hook.py +0 -0
  143. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/load_mcp.py +0 -0
  144. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/load_session.py +0 -0
  145. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/load_skill.py +0 -0
  146. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/ls.py +0 -0
  147. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/map.py +0 -0
  148. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/map_refresh.py +0 -0
  149. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/merge.py +0 -0
  150. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/model.py +0 -0
  151. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/models.py +0 -0
  152. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/multiline_mode.py +0 -0
  153. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/paste.py +0 -0
  154. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/quit.py +0 -0
  155. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/read_only.py +0 -0
  156. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/read_only_stub.py +0 -0
  157. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/reap_agent.py +0 -0
  158. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/reasoning_effort.py +0 -0
  159. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/remove_hook.py +0 -0
  160. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/remove_mcp.py +0 -0
  161. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/remove_skill.py +0 -0
  162. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/report.py +0 -0
  163. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/reset.py +0 -0
  164. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/rules.py +0 -0
  165. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/run.py +0 -0
  166. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/save.py +0 -0
  167. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/save_session.py +0 -0
  168. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/settings.py +0 -0
  169. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/spawn_agent.py +0 -0
  170. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/switch_agent.py +0 -0
  171. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/terminal_data/linux.keytab +0 -0
  172. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/terminal_setup.py +0 -0
  173. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/test.py +0 -0
  174. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/think_tokens.py +0 -0
  175. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/tokens.py +0 -0
  176. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/undo.py +0 -0
  177. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/utils/__init__.py +0 -0
  178. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/utils/base_command.py +0 -0
  179. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/utils/registry.py +0 -0
  180. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/utils/save_load_manager.py +0 -0
  181. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/voice.py +0 -0
  182. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/weak_model.py +0 -0
  183. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/web.py +0 -0
  184. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/commands/workspace.py +0 -0
  185. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/deprecated_args.py +0 -0
  186. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/diffs.py +0 -0
  187. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/dump.py +0 -0
  188. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/editor.py +0 -0
  189. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/exceptions.py +0 -0
  190. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/format_settings.py +0 -0
  191. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/help.py +0 -0
  192. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/help_pats.py +0 -0
  193. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/__init__.py +0 -0
  194. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/agents/__init__.py +0 -0
  195. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/agents/config.py +0 -0
  196. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/agents/service.py +0 -0
  197. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/background_commands.py +0 -0
  198. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/command_parser.py +0 -0
  199. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/conversation/__init__.py +0 -0
  200. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/conversation/base_message.py +0 -0
  201. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/conversation/manager.py +0 -0
  202. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/conversation/service.py +0 -0
  203. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/conversation/tags.py +0 -0
  204. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/conversation/utils.py +0 -0
  205. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/copypaste.py +0 -0
  206. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/coroutines.py +0 -0
  207. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/crypto.py +0 -0
  208. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/file_searcher.py +0 -0
  209. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/file_system/__init__.py +0 -0
  210. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/file_system/builders.py +0 -0
  211. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/file_system/ignore.py +0 -0
  212. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/file_system/ngram_index.py +0 -0
  213. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/file_system/service.py +0 -0
  214. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/file_system/trie_index.py +0 -0
  215. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/grep_ast/__init__.py +0 -0
  216. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/grep_ast/dump.py +0 -0
  217. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  218. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/grep_ast/main.py +0 -0
  219. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/grep_ast/parsers.py +0 -0
  220. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/grep_ast/tsl.py +0 -0
  221. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/hashpos/__init__.py +0 -0
  222. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/hashpos/hashpos.py +0 -0
  223. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  224. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/io_proxy.py +0 -0
  225. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/leak_detect.py +0 -0
  226. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/model_providers.py +0 -0
  227. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/monorepo/__init__.py +0 -0
  228. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/monorepo/config.py +0 -0
  229. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/monorepo/local_workspace.py +0 -0
  230. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/monorepo/project.py +0 -0
  231. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/monorepo/workspace.py +0 -0
  232. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/monorepo/worktree.py +0 -0
  233. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/nested.py +0 -0
  234. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/observations/__init__.py +0 -0
  235. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/observations/service.py +0 -0
  236. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/plugin_manager.py +0 -0
  237. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/profiler.py +0 -0
  238. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/responses.py +0 -0
  239. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/similarity.py +0 -0
  240. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/skills.py +0 -0
  241. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/helpers/threading.py +0 -0
  242. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/history.py +0 -0
  243. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/hooks/__init__.py +0 -0
  244. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/hooks/base.py +0 -0
  245. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/hooks/integration.py +0 -0
  246. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/hooks/manager.py +0 -0
  247. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/hooks/registry.py +0 -0
  248. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/hooks/service.py +0 -0
  249. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/hooks/types.py +0 -0
  250. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/interruptible_input.py +0 -0
  251. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/linter.py +0 -0
  252. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/llm.py +0 -0
  253. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/main.py +0 -0
  254. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/mcp/__init__.py +0 -0
  255. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/mcp/manager.py +0 -0
  256. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/mcp/oauth.py +0 -0
  257. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/mcp/server.py +0 -0
  258. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/mcp/utils.py +0 -0
  259. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/mdstream.py +0 -0
  260. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/models.py +0 -0
  261. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/onboarding.py +0 -0
  262. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/__init__.py +0 -0
  263. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/architect.yml +0 -0
  264. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/ask.yml +0 -0
  265. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/base.yml +0 -0
  266. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/context.yml +0 -0
  267. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/copypaste.yml +0 -0
  268. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/editblock.yml +0 -0
  269. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/editblock_fenced.yml +0 -0
  270. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/editblock_func.yml +0 -0
  271. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/editor_diff_fenced.yml +0 -0
  272. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/editor_editblock.yml +0 -0
  273. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/editor_whole.yml +0 -0
  274. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/hashline.yml +0 -0
  275. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/help.yml +0 -0
  276. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/patch.yml +0 -0
  277. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/single_wholefile_func.yml +0 -0
  278. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/udiff.yml +0 -0
  279. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/udiff_simple.yml +0 -0
  280. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/utils/__init__.py +0 -0
  281. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/utils/registry.py +0 -0
  282. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/utils/system.py +0 -0
  283. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/wholefile.yml +0 -0
  284. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/prompts/wholefile_func.yml +0 -0
  285. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  286. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  287. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  288. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  289. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  290. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  291. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  292. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  293. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  294. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  295. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  296. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  297. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  298. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  299. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  300. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  301. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  302. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  303. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  304. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  305. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  306. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  307. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  308. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  309. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  310. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  311. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  312. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  313. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  314. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  315. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  316. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  317. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/README.md +0 -0
  318. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  319. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  320. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  321. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  322. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  323. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  324. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  325. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  326. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  327. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  328. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  329. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  330. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  331. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  332. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  333. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  334. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  335. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  336. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  337. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  338. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  339. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  340. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  341. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  342. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  343. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  344. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  345. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/repo.py +0 -0
  346. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/repomap.py +0 -0
  347. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/report.py +0 -0
  348. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/resources/__init__.py +0 -0
  349. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/resources/model-metadata.json +0 -0
  350. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/resources/model-settings.yml +0 -0
  351. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/resources/providers.json +0 -0
  352. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/run_cmd.py +0 -0
  353. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/scrape.py +0 -0
  354. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/sendchat.py +0 -0
  355. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/sessions.py +0 -0
  356. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/special.py +0 -0
  357. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/__init__.py +0 -0
  358. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/_yield.py +0 -0
  359. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/git_branch.py +0 -0
  360. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/git_diff.py +0 -0
  361. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/git_log.py +0 -0
  362. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/git_remote.py +0 -0
  363. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/git_show.py +0 -0
  364. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/git_status.py +0 -0
  365. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/load_skill.py +0 -0
  366. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/remove_skill.py +0 -0
  367. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/utils/base_tool.py +0 -0
  368. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/utils/output.py +0 -0
  369. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/utils/registry.py +0 -0
  370. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/validations/__init__.py +0 -0
  371. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tools/validations/validations.py +0 -0
  372. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/__init__.py +0 -0
  373. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/app.py +0 -0
  374. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/styles.tcss +0 -0
  375. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/__init__.py +0 -0
  376. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/completion_bar.py +0 -0
  377. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/file_list.py +0 -0
  378. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/footer.py +0 -0
  379. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/input_area.py +0 -0
  380. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/input_container.py +0 -0
  381. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/key_hints.py +0 -0
  382. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/output.py +0 -0
  383. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/status_bar.py +0 -0
  384. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/widgets/subagent_pills.py +0 -0
  385. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/tui/worker.py +0 -0
  386. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/urls.py +0 -0
  387. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/utils.py +0 -0
  388. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/versioncheck.py +0 -0
  389. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/voice.py +0 -0
  390. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/waiting.py +0 -0
  391. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/watch.py +0 -0
  392. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/watch_prompts.py +0 -0
  393. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/Gemfile +0 -0
  394. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/blame.md +0 -0
  395. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/get-started.md +0 -0
  396. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/help-tip.md +0 -0
  397. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/help.md +0 -0
  398. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/install.md +0 -0
  399. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/keys.md +0 -0
  400. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/model-warnings.md +0 -0
  401. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/multi-line.md +0 -0
  402. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/python-m-aider.md +0 -0
  403. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/recording.css +0 -0
  404. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/recording.md +0 -0
  405. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_includes/works-best.md +0 -0
  406. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_features.scss +0 -0
  407. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_footer.scss +0 -0
  408. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_hero.scss +0 -0
  409. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_info.scss +0 -0
  410. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_layout.scss +0 -0
  411. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_reset.scss +0 -0
  412. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_testimonials.scss +0 -0
  413. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_typography.scss +0 -0
  414. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/_variables.scss +0 -0
  415. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/custom/custom.scss +0 -0
  416. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/_sass/global-overrides.scss +0 -0
  417. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/adv-model-settings.md +0 -0
  418. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/agent-mode.md +0 -0
  419. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/aider_conf.md +0 -0
  420. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/api-keys.md +0 -0
  421. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/custom-commands.md +0 -0
  422. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  423. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/dotenv.md +0 -0
  424. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/editor.md +0 -0
  425. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/hooks.md +0 -0
  426. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/mcp.md +0 -0
  427. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/model-aliases.md +0 -0
  428. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/model-configuration.md +0 -0
  429. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/options.md +0 -0
  430. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/reasoning.md +0 -0
  431. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/security.md +0 -0
  432. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/skills.md +0 -0
  433. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/subagents.md +0 -0
  434. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/tui.md +0 -0
  435. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config/workspaces.md +0 -0
  436. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/config.md +0 -0
  437. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/faq.md +0 -0
  438. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/git.md +0 -0
  439. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/index.md +0 -0
  440. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/install/docker.md +0 -0
  441. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/install/optional.md +0 -0
  442. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/install.md +0 -0
  443. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/languages.md +0 -0
  444. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  445. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/legal/privacy.md +0 -0
  446. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/anthropic.md +0 -0
  447. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/azure.md +0 -0
  448. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/bedrock.md +0 -0
  449. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/cohere.md +0 -0
  450. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/deepseek.md +0 -0
  451. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/gemini.md +0 -0
  452. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/github.md +0 -0
  453. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/groq.md +0 -0
  454. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/lm-studio.md +0 -0
  455. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/ollama.md +0 -0
  456. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/openai-compat.md +0 -0
  457. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/openai.md +0 -0
  458. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/openrouter.md +0 -0
  459. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/other.md +0 -0
  460. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/vertex.md +0 -0
  461. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/warnings.md +0 -0
  462. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms/xai.md +0 -0
  463. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/llms.md +0 -0
  464. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/more/analytics.md +0 -0
  465. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/more/edit-formats.md +0 -0
  466. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/more/infinite-output.md +0 -0
  467. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/more-info.md +0 -0
  468. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/repomap.md +0 -0
  469. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/scripting.md +0 -0
  470. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  471. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  472. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/troubleshooting/imports.md +0 -0
  473. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  474. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/troubleshooting/support.md +0 -0
  475. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  476. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  477. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/troubleshooting.md +0 -0
  478. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/commands.md +0 -0
  479. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/conventions.md +0 -0
  480. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/copypaste.md +0 -0
  481. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/images-urls.md +0 -0
  482. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/lint-test.md +0 -0
  483. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/modes.md +0 -0
  484. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/not-code.md +0 -0
  485. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/notifications.md +0 -0
  486. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/sessions.md +0 -0
  487. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/tips.md +0 -0
  488. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/voice.md +0 -0
  489. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage/watch.md +0 -0
  490. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/docs/usage.md +0 -0
  491. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli/website/share/index.md +0 -0
  492. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli_dev.egg-info/SOURCES.txt +0 -0
  493. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli_dev.egg-info/dependency_links.txt +0 -0
  494. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli_dev.egg-info/entry_points.txt +0 -0
  495. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli_dev.egg-info/requires.txt +0 -0
  496. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/cecli_dev.egg-info/top_level.txt +0 -0
  497. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/docker/Dockerfile +0 -0
  498. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  499. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/pyproject.toml +0 -0
  500. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/pytest.ini +0 -0
  501. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/common-constraints.txt +0 -0
  502. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/requirements-dev.in +0 -0
  503. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/requirements-dev.txt +0 -0
  504. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/requirements-help.in +0 -0
  505. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/requirements-help.txt +0 -0
  506. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/requirements-playwright.in +0 -0
  507. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/requirements-playwright.txt +0 -0
  508. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/requirements.in +0 -0
  509. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements/tree-sitter.in +0 -0
  510. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/requirements.txt +0 -0
  511. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/30k-image.py +0 -0
  512. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/Dockerfile.jekyll +0 -0
  513. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/__init__.py +0 -0
  514. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/blame.py +0 -0
  515. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/clean_metadata.py +0 -0
  516. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/cost_analyzer.py +0 -0
  517. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/cost_calculator.py +0 -0
  518. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/dl_icons.py +0 -0
  519. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/filter-chat-mode.js +0 -0
  520. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/generate_providers.py +0 -0
  521. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/get_contributor_list.js +0 -0
  522. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/get_hashline.py +0 -0
  523. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/history_prompts.py +0 -0
  524. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/homepage.py +0 -0
  525. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/issues.py +0 -0
  526. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/jekyll_build.sh +0 -0
  527. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/jekyll_run.sh +0 -0
  528. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/logo_svg.py +0 -0
  529. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/pip-compile.sh +0 -0
  530. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/recording_audio.py +0 -0
  531. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/redact-cast.py +0 -0
  532. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/rename_to_cecli.py +0 -0
  533. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/tmux_record.sh +0 -0
  534. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/tsl_pack_langs.py +0 -0
  535. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/update-blame.sh +0 -0
  536. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/update-docs.sh +0 -0
  537. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/update-history.py +0 -0
  538. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/versionbump.py +0 -0
  539. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/scripts/yank-old-versions.py +0 -0
  540. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/setup.cfg +0 -0
  541. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/shim.pyproject.toml +0 -0
  542. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/__init__.py +0 -0
  543. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/__init__.py +0 -0
  544. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/conftest.py +0 -0
  545. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_aws_credentials.py +0 -0
  546. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_background_commands.py +0 -0
  547. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_coder.py +0 -0
  548. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_commands.py +0 -0
  549. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_custom_commands.py +0 -0
  550. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_deprecated.py +0 -0
  551. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_editblock.py +0 -0
  552. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_editor.py +0 -0
  553. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_exceptions.py +0 -0
  554. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_find_or_blocks.py +0 -0
  555. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_hashline.py +0 -0
  556. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_history.py +0 -0
  557. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_io.py +0 -0
  558. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_linter.py +0 -0
  559. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_main.py +0 -0
  560. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_model_info_manager.py +0 -0
  561. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_model_provider_manager.py +0 -0
  562. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_models.py +0 -0
  563. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_onboarding.py +0 -0
  564. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_plugin_manager.py +0 -0
  565. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_prompts.py +0 -0
  566. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_reasoning.py +0 -0
  567. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_repo.py +0 -0
  568. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_repomap.py +0 -0
  569. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_run_cmd.py +0 -0
  570. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_sanity_check_repo.py +0 -0
  571. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_scripting.py +0 -0
  572. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_sendchat.py +0 -0
  573. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_session_args.py +0 -0
  574. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_session_crypto.py +0 -0
  575. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_sessions.py +0 -0
  576. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_sessions_manager.py +0 -0
  577. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_skills.py +0 -0
  578. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_special.py +0 -0
  579. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_ssl_verification.py +0 -0
  580. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_udiff.py +0 -0
  581. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_urls.py +0 -0
  582. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_voice.py +0 -0
  583. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_watch.py +0 -0
  584. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/basic/test_wholefile.py +0 -0
  585. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/coders/test_coder_switching.py +0 -0
  586. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/coders/test_copypaste_coder.py +0 -0
  587. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/commands/test_compaction.py +0 -0
  588. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/commands/test_switch_agent.py +0 -0
  589. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/conftest.py +0 -0
  590. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/conversations/test_conversation_integration.py +0 -0
  591. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/conversations/test_conversation_system.py +0 -0
  592. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  593. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/chat-history.md +0 -0
  594. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/arduino/test.ino +0 -0
  595. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/bash/test.sh +0 -0
  596. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/c/test.c +0 -0
  597. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/chatito/test.chatito +0 -0
  598. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/clojure/test.clj +0 -0
  599. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  600. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/cpp/test.cpp +0 -0
  601. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/csharp/test.cs +0 -0
  602. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/d/test.d +0 -0
  603. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/dart/test.dart +0 -0
  604. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/elisp/test.el +0 -0
  605. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/elixir/test.ex +0 -0
  606. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/elm/test.elm +0 -0
  607. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/gleam/test.gleam +0 -0
  608. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/go/test.go +0 -0
  609. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/haskell/test.hs +0 -0
  610. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/hcl/test.tf +0 -0
  611. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/java/test.java +0 -0
  612. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/javascript/test.js +0 -0
  613. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/kotlin/test.kt +0 -0
  614. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/lua/test.lua +0 -0
  615. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/matlab/test.m +0 -0
  616. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/ocaml/test.ml +0 -0
  617. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  618. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/php/test.php +0 -0
  619. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/pony/test.pony +0 -0
  620. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/properties/test.properties +0 -0
  621. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/python/test.py +0 -0
  622. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/ql/test.ql +0 -0
  623. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/r/test.r +0 -0
  624. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/racket/test.rkt +0 -0
  625. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/ruby/test.rb +0 -0
  626. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/rust/test.rs +0 -0
  627. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/scala/test.scala +0 -0
  628. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/solidity/test.sol +0 -0
  629. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/swift/test.swift +0 -0
  630. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/tsx/test.tsx +0 -0
  631. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/typescript/test.ts +0 -0
  632. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/udev/test.rules +0 -0
  633. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/languages/zig/test.zig +0 -0
  634. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/sample-code-base/sample.js +0 -0
  635. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/sample-code-base/sample.py +0 -0
  636. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  637. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/watch.js +0 -0
  638. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/watch.lisp +0 -0
  639. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/watch.py +0 -0
  640. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/fixtures/watch_question.js +0 -0
  641. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/help/test_help.py +0 -0
  642. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/helpers/monorepo/LOCAL_WORKSPACE.md +0 -0
  643. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/helpers/monorepo/test_config.py +0 -0
  644. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/helpers/monorepo/test_config_active.py +0 -0
  645. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/helpers/monorepo/test_ignore_logic.py +0 -0
  646. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/helpers/monorepo/test_local_workspace.py +0 -0
  647. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/helpers/monorepo/test_repomap_workspace.py +0 -0
  648. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/helpers/monorepo/test_workspace.py +0 -0
  649. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/helpers/observations/test_observation_service.py +0 -0
  650. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/hooks/__init__.py +0 -0
  651. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/hooks/test_base.py +0 -0
  652. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/hooks/test_manager.py +0 -0
  653. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/hooks/test_registry.py +0 -0
  654. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/mcp/__init__.py +0 -0
  655. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/mcp/test_manager.py +0 -0
  656. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/scrape/test_playwright_disable.py +0 -0
  657. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/scrape/test_scrape.py +0 -0
  658. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/__init__.py +0 -0
  659. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/conftest.py +0 -0
  660. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/test_commands.py +0 -0
  661. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/test_config.py +0 -0
  662. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/test_delegate.py +0 -0
  663. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/test_finished.py +0 -0
  664. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/test_io_proxy.py +0 -0
  665. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/test_service.py +0 -0
  666. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/subagents/test_sub_agent_coder.py +0 -0
  667. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_extractions.py +0 -0
  668. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_get_lines.py +0 -0
  669. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_git_branch.py +0 -0
  670. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_git_diff.py +0 -0
  671. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_insert_block.py +0 -0
  672. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_read_range_execute.py +0 -0
  673. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_registry.py +0 -0
  674. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/test_tool_arguments.py +0 -0
  675. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tools/validations.py +0 -0
  676. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.6rc8}/tests/tui/test_app.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 0.100.6rc7
3
+ Version: 0.100.6rc8
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
@@ -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.6rc7'
22
- __version_tuple__ = version_tuple = (0, 100, 6, 'rc7')
21
+ __version__ = version = '0.100.6rc8'
22
+ __version_tuple__ = version_tuple = (0, 100, 6, 'rc8')
23
23
 
24
- __commit_id__ = commit_id = 'g7f1d0176c'
24
+ __commit_id__ = commit_id = 'g2da275a7a'
@@ -91,6 +91,7 @@ class AgentCoder(Coder):
91
91
  self.allowed_context_blocks = set()
92
92
  self.context_block_tokens = {}
93
93
  self.context_blocks_cache = {}
94
+ self.current_tasks = []
94
95
  self.hot_reload_enabled = False
95
96
  self.tokens_calculated = False
96
97
  self.skip_cli_confirmations = False
@@ -160,7 +161,9 @@ class AgentCoder(Coder):
160
161
  config, ["tools_includelist", "tools_whitelist"], []
161
162
  )
162
163
  config["tools_excludelist"] = nested.getter(
163
- config, ["tools_excludelist", "tools_blacklist"], []
164
+ config,
165
+ ["tools_excludelist", "tools_blacklist"],
166
+ ["gitbranch", "gitdiff", "gitlog", "gitremote", "gitshow", "gitstatus"],
164
167
  )
165
168
 
166
169
  config["servers_includelist"] = nested.getter(
@@ -174,7 +177,7 @@ class AgentCoder(Coder):
174
177
  config,
175
178
  "include_context_blocks",
176
179
  {
177
- "context_summary",
180
+ # "context_summary",
178
181
  # "directory_structure",
179
182
  "environment_info",
180
183
  # "git_status",
@@ -611,7 +614,7 @@ class AgentCoder(Coder):
611
614
  percentage = total_tokens / max_input_tokens * 100
612
615
  result += f" ({percentage:.1f}% of limit)"
613
616
  if percentage > 80:
614
- result += "\n\n⚠️ **Context is getting full!**\n"
617
+ result += "\n\n **Context is getting full!**\n"
615
618
  result += "- Remove non-essential files via the `ContextManager` tool.\n"
616
619
  result += "- Keep only essential files in context for best performance"
617
620
  result += "\n</context>"
@@ -808,6 +811,9 @@ class AgentCoder(Coder):
808
811
  "# Fix any linting errors below, if possible and then continue with your task.",
809
812
  1,
810
813
  )
814
+ ConversationService.get_manager(self).remove_message_by_hash_key(
815
+ ("lint_errors", "agent")
816
+ )
811
817
  ConversationService.get_manager(self).add_message(
812
818
  message_dict=dict(role="user", content=lint_errors),
813
819
  tag=MessageTag.CUR,
@@ -1265,16 +1271,20 @@ class AgentCoder(Coder):
1265
1271
  abs_path = self.abs_root_path(file_path)
1266
1272
  rel_path = self.get_rel_fname(abs_path)
1267
1273
  if not os.path.isfile(abs_path):
1268
- self.io.tool_output(f"⚠️ File '{file_path}' not found")
1274
+ self.io.tool_output(f" File '{file_path}' not found", type="tool-result")
1269
1275
  return "File not found"
1270
1276
  if abs_path in self.abs_fnames:
1271
1277
  if explicit:
1272
- self.io.tool_output(f"📎 File '{file_path}' already in context as editable")
1278
+ self.io.tool_output(
1279
+ f"🗀 File '{file_path}' already in context as editable", type="tool-result"
1280
+ )
1273
1281
  return "File already in context as editable"
1274
1282
  return "File already in context as editable"
1275
1283
  if abs_path in self.abs_read_only_fnames:
1276
1284
  if explicit:
1277
- self.io.tool_output(f"📎 File '{file_path}' already in context as read-only")
1285
+ self.io.tool_output(
1286
+ f"🗀 File '{file_path}' already in context as read-only", type="tool-result"
1287
+ )
1278
1288
  return "File already in context as read-only"
1279
1289
  return "File already in context as read-only"
1280
1290
  try:
@@ -1285,13 +1295,18 @@ class AgentCoder(Coder):
1285
1295
  file_tokens = self.get_active_model().token_count(content)
1286
1296
  if file_tokens > self.large_file_token_threshold:
1287
1297
  self.io.tool_output(
1288
- f"⚠️ '{file_path}' is very large ({file_tokens} tokens). Use"
1289
- " /context-management to toggle truncation off if needed."
1298
+ (
1299
+ f" '{file_path}' is very large ({file_tokens} tokens). Use"
1300
+ " /context-management to toggle truncation off if needed."
1301
+ ),
1302
+ type="tool-result",
1290
1303
  )
1291
1304
  self.abs_read_only_fnames.add(abs_path)
1292
1305
  self.files_added_in_exploration.add(rel_path)
1293
1306
  if explicit:
1294
- self.io.tool_output(f"📎 Viewed '{file_path}' (added to context as read-only)")
1307
+ self.io.tool_output(
1308
+ f"🗀 Viewed '{file_path}' (added to context as read-only)", type="tool-result"
1309
+ )
1295
1310
  return "Viewed file (added to context as read-only)"
1296
1311
  else:
1297
1312
  return "Added file to context as read-only"
@@ -1419,9 +1434,8 @@ Todo list does not exist. Please update it with the `UpdateTodoList` tool.</cont
1419
1434
  if content is None or not content.strip():
1420
1435
  return None
1421
1436
  result = '<context name="todo_list" from="agent">\n'
1422
- result += "## Current Todo List\n\n"
1423
- result += "Below is the current todo list managed via the `UpdateTodoList` tool:\n\n"
1424
- result += f"```\n{content}\n```\n"
1437
+ result += "## Current Active Tasks\n\n"
1438
+ result += f"```{"\n".join(self.current_tasks)}```\n"
1425
1439
  result += "</context>"
1426
1440
  return result
1427
1441
  except Exception as e:
@@ -1107,7 +1107,7 @@ class Coder(metaclass=UsageMeta):
1107
1107
 
1108
1108
  # Add message about showing definitions instead of full content
1109
1109
  # self.io.tool_output(
1110
- # f"⚠️ '{relative_fname}' is very large ({file_tokens} tokens). "
1110
+ # f" '{relative_fname}' is very large ({file_tokens} tokens). "
1111
1111
  # "Use /context-management to toggle truncation off if needed."
1112
1112
  # )
1113
1113
 
@@ -1175,7 +1175,7 @@ class Coder(metaclass=UsageMeta):
1175
1175
 
1176
1176
  # Add message about showing definitions instead of full content
1177
1177
  # self.io.tool_output(
1178
- # f"⚠️ '{relative_fname}' is very large ({file_tokens} tokens). "
1178
+ # f" '{relative_fname}' is very large ({file_tokens} tokens). "
1179
1179
  # "Use /context-management to toggle truncation off if needed."
1180
1180
  # )
1181
1181
 
@@ -273,7 +273,7 @@ def format_command_result(
273
273
  io.tool_error(f"Error in {command_name}: {str(error)}")
274
274
  return f"Error: {str(error)}"
275
275
  else:
276
- io.tool_output(f" {success_message}")
276
+ io.tool_output(f" {success_message}")
277
277
  return f"Successfully executed {command_name}."
278
278
 
279
279
 
@@ -272,16 +272,19 @@ class ConversationFiles:
272
272
  self._file_diffs[abs_fname] = diff
273
273
 
274
274
  rel_fname = fname
275
+ prefix_str = ""
275
276
 
276
277
  if coder:
277
278
  rel_fname = coder.get_rel_fname(fname)
279
+ prefix_str = "content ID prefixed " if getattr(coder, "hashlines") else ""
278
280
 
279
281
  # Add diff message to conversation
280
282
  content_hash = xxhash.xxh3_128_hexdigest(diff.encode("utf-8"))
283
+
281
284
  diff_message = {
282
285
  "role": "user",
283
286
  "content": (
284
- f"{rel_fname} has been updated. Review this diff of the changes to"
287
+ f"{rel_fname} has been updated. Review this {prefix_str}diff of the changes to"
285
288
  f" ensure all modifications are appropriate:\n\n{diff}"
286
289
  ),
287
290
  }
@@ -289,7 +292,7 @@ class ConversationFiles:
289
292
  assistant_msg = {
290
293
  "role": "assistant",
291
294
  "content": (
292
- f"Thank you for sharing this diff of the updates to {rel_fname}."
295
+ f"Thank you for sharing this {prefix_str}diff of the updates to {rel_fname}."
293
296
  " I will review their contents."
294
297
  ),
295
298
  }
@@ -104,6 +104,9 @@ class ConversationChunks:
104
104
  priority=75 + i,
105
105
  )
106
106
 
107
+ if self._cancel_post_message_injections():
108
+ return
109
+
107
110
  # Add system reminder as a pre-prompt context block
108
111
  use_reminders = getattr(coder.args, "use_reminders", True)
109
112
  if (
@@ -165,6 +168,9 @@ class ConversationChunks:
165
168
  if not coder:
166
169
  return
167
170
 
171
+ # if self._cancel_post_message_injections():
172
+ # return
173
+
168
174
  message = random.choice(
169
175
  [
170
176
  "Given the above, please call any tools necessary to make progress on your task",
@@ -179,7 +185,7 @@ class ConversationChunks:
179
185
  ),
180
186
  (
181
187
  "Continue making progress. If you have reached the goal, summarize the results."
182
- " Otherwise, call the next necessary tool."
188
+ " Otherwise, call the next necessary tools."
183
189
  ),
184
190
  (
185
191
  "Please use the proper tools to fulfill the next steps of this task based on"
@@ -278,7 +284,11 @@ class ConversationChunks:
278
284
 
279
285
  self._last_clear_count += 1
280
286
 
281
- if should_clear and self._last_clear_count >= 20:
287
+ if (
288
+ should_clear
289
+ and self._last_clear_count >= 20
290
+ and diff_tokens + other_tokens > coder.context_compaction_max_tokens * 0.5
291
+ ):
282
292
  self._last_clear_count = 0
283
293
 
284
294
  # Clear all diff messages
@@ -344,6 +354,9 @@ class ConversationChunks:
344
354
  if not coder:
345
355
  return
346
356
 
357
+ if self._cancel_post_message_injections():
358
+ return
359
+
347
360
  # Get relative paths for display
348
361
  readonly_rel_files = []
349
362
  if hasattr(coder, "abs_read_only_fnames"):
@@ -976,6 +989,9 @@ class ConversationChunks:
976
989
  if not hasattr(coder, "use_enhanced_context") or not coder.use_enhanced_context:
977
990
  return
978
991
 
992
+ if self._cancel_post_message_injections():
993
+ return
994
+
979
995
  # Add post-message blocks as dict with block type as key
980
996
  message_blocks = {}
981
997
 
@@ -1059,6 +1075,17 @@ class ConversationChunks:
1059
1075
  def flush_removals(self):
1060
1076
  self._deferred_removals.clear()
1061
1077
 
1078
+ def _cancel_post_message_injections(self):
1079
+ coder = self.get_coder()
1080
+ if not coder:
1081
+ return False
1082
+
1083
+ # Add system reminder as a pre-prompt context block
1084
+ if coder.edit_format in ("agent", "subagent") and coder.turn_count % 5 != 0:
1085
+ return True
1086
+
1087
+ return False
1088
+
1062
1089
  def _shuffle_reminders(self, content: str) -> str:
1063
1090
  """
1064
1091
  If the string is a critical_reminders block, shuffle all bulleted points
@@ -1453,23 +1453,23 @@ def apply_hashline_operations(
1453
1453
  # Check for overlapping lines to prevent duplication
1454
1454
  # This handles cases where the model underspecifies the range and
1455
1455
  # the replacement text includes lines that already exist after the range
1456
- max_overlap_check = 2 # Check up to 2 lines for overlap
1456
+ # max_overlap_check = 2 # Check up to 2 lines for overlap
1457
1457
 
1458
1458
  # Check for overlapping lines BEFORE the range (bidirectional stitching)
1459
- start_idx, replacement_lines = _apply_start_stitching(
1460
- hashed_lines,
1461
- start_idx,
1462
- end_idx,
1463
- replacement_lines,
1464
- resolved_ops,
1465
- resolved,
1466
- max_overlap_check,
1467
- )
1459
+ # start_idx, replacement_lines = _apply_start_stitching(
1460
+ # hashed_lines,
1461
+ # start_idx,
1462
+ # end_idx,
1463
+ # replacement_lines,
1464
+ # resolved_ops,
1465
+ # resolved,
1466
+ # max_overlap_check,
1467
+ # )
1468
1468
 
1469
1469
  # Now check for overlapping lines AFTER the range
1470
- end_idx, replacement_lines = _apply_end_stitching(
1471
- hashed_lines, start_idx, end_idx, replacement_lines, max_overlap_check
1472
- )
1470
+ # end_idx, replacement_lines = _apply_end_stitching(
1471
+ # hashed_lines, start_idx, end_idx, replacement_lines, max_overlap_check
1472
+ # )
1473
1473
 
1474
1474
  hashed_lines[start_idx : end_idx + 1] = replacement_lines
1475
1475
  else:
@@ -13,6 +13,8 @@ def add_reasoning_content(messages):
13
13
  for msg in messages:
14
14
  if msg.get("role") == "assistant" and "reasoning_content" not in msg:
15
15
  msg["reasoning_content"] = ""
16
+ if msg.get("provider_specific_fields", None):
17
+ msg["provider_specific_fields"].pop("reasoning_content", None)
16
18
  return messages
17
19
 
18
20
 
@@ -162,6 +164,28 @@ def add_continue_for_no_prefill(model, messages, tools):
162
164
  return messages
163
165
 
164
166
 
167
+ def prevent_consecutive_assistant_messages(messages):
168
+ """Insert '(empty request)' user messages between consecutive assistant messages.
169
+
170
+ Args:
171
+ messages: List of message dictionaries
172
+
173
+ Returns:
174
+ List of messages with '(empty request)' inserted between consecutive
175
+ assistant messages
176
+ """
177
+ result = []
178
+ for i, msg in enumerate(messages):
179
+ result.append(msg)
180
+ if (
181
+ i < len(messages) - 1
182
+ and msg.get("role") == "assistant"
183
+ and messages[i + 1].get("role") == "assistant"
184
+ ):
185
+ result.append({"role": "user", "content": "(empty request)"})
186
+ return result
187
+
188
+
165
189
  def model_request_parser(model, messages, tools):
166
190
  messages = thought_signature(model, messages)
167
191
  messages = remove_empty_tool_calls(messages)
@@ -169,4 +193,5 @@ def model_request_parser(model, messages, tools):
169
193
  messages = ensure_alternating_roles(messages)
170
194
  messages = add_reasoning_content(messages)
171
195
  messages = add_continue_for_no_prefill(model, messages, tools)
196
+ messages = prevent_consecutive_assistant_messages(messages)
172
197
  return messages
@@ -1674,6 +1674,7 @@ class InputOutput:
1674
1674
 
1675
1675
  def stream_print(self, *messages, **kwargs):
1676
1676
  kwargs.pop("coder_uuid", None)
1677
+ kwargs.pop("type", None)
1677
1678
 
1678
1679
  with self.console.capture() as capture:
1679
1680
  self.console.print(*messages, **kwargs)
@@ -19,58 +19,58 @@ repo_content_prefix: |
19
19
  These files should be helpful for navigating the codebase.
20
20
 
21
21
  main_system: |
22
- <context name="role_and_directives">
23
22
  ## Core Directives
24
23
  **Act Proactively**: Autonomously use tools to fulfill the request.
25
24
  **Be Decisive**: Do not repeat searches or ask redundant questions. Trust your findings and be confident in your edits.
26
25
  **Be Efficient**: Use multiple tools each response when exploring. Batch tool calls when the schema allows you to. Respect usage limits while maximizing the utility of each response.
27
26
  **Be Persistent**: Do not take short cuts. Work through your task until completion. No task takes too long as long as you are making progress towards the goal.
28
- </context>
29
27
 
30
- <context name="file_format">
31
- ### 1. FILE FORMAT
28
+ ## FILE FORMAT
32
29
  File contents will be prefixed with identifiers. Each line starts with a case-sensitive content ID followed by `::`. These are used to target where editing tools will perform edits.
33
30
  They are algorithmically generated, maintained, and subject to change. Do not search for these content IDs. Focus on the lines they identify.
34
31
 
35
- **Example File Format :**
32
+ **Example File**
33
+ ```
36
34
  il9n::#!/usr/bin/env python3
37
35
  faoZ::
38
36
  uXdn::def example_method():
39
37
  WAR5:: return "example"
40
38
  vwkS::
41
- </context>
39
+ ```
42
40
 
43
- <context name="workflow_and_tool_usage">
44
41
  ## Core Workflow
45
42
  1. **Plan**: Start by using `UpdateTodoList` to outline the task.
46
43
  2. **Explore**: Use discovery tools (`ExploreCode`, `Grep`, `Ls`) to research and gather understanding for you task. Modify search terms when errors are encountered.
47
44
  3. **Execute**: Mark files as editable with `ContextManager` before attempting edits. Proactively use skills if they are available. Review diff outputs after edit to ensure the proper changes were made.
48
- 4. **Verify & Recover**: If an edit fails or introduces linting errors, use `UndoChange` immediately.
45
+ 4. **Verify & Recover**: If an edit fails or introduces linting errors, fix the error immediately. Use `UndoChange` if the errors are too complex to incrementally modify.
49
46
  5. **Yield**: Use the `Yield` tool after accomplishing the goal and verifying any changes made. Provide helpful summaries of any changes.
50
47
 
51
48
  ## Todo List Management
52
49
  - Break complex goals into meaningful sub-tasks so the problem remains tractable
53
50
  - Use `UpdateTodoList` to keep the state synchronized as you complete subtasks.
54
51
 
55
- **Atomic Scope:** Include the **entire function or logical block** in edits. Never return partial syntax or broken closures. Do not attempt to replace just the beginning or end of a closure.
56
- **Indentation**: Preserve all necessary whitespace (spaces, tabs, and newlines) as well as stylistic indentation and line spacings.
57
- </context>
58
-
59
- Use the `.cecli/temp` directory for all temporary, test, or scratch files.
60
- Always reply in {language}.
61
-
62
- system_reminder: |
63
- <context name="critical_reminders">
64
52
  ## Operational Rules
65
53
  - **Scope**: No unrequested refactors. Avoid full-file rewrites. Only modify what you are asked to.
66
54
  - **Hygiene**: Use `ContextManager`/`RemoveSkill` to evict unneeded files/skills immediately after use.
67
55
  - **Outputs**: Tool calls trigger turns. Never include tool syntax in final user summaries.
68
56
  - **Sandbox**: Perform all verification and temp logic in `.cecli/temp`.
69
- - **Responses**: Reason out loud through the problem but be brief.
57
+ - **Responses**: Reason out loud through the problem but be brief.
58
+ - **Edits:** Include the **entire function or logical block** in edits. Never return partial syntax or broken closures. Do not attempt to replace just the beginning or end of a closure.
59
+ - **Indentation**: Preserve all necessary whitespace (spaces, tabs, and newlines) as well as stylistic indentation and line spacings.
60
+ - **Finishing Up**: Be detailed in your `Yield` tool summary in describing your task, findings, efforts and results.
61
+
62
+ Always reply in {language}.
63
+
64
+ system_reminder: |
65
+ <context name="critical_reminders">
66
+ - Prefer the `ReadRange` tool to cli commands for file reading
67
+ - Pay close attention to indentation and styling when editing files
68
+ - Batch tool calls as often as possible
69
+ - Reason out loud through problems but be brief.
70
70
 
71
71
  {lazy_prompt}
72
72
  {shell_cmd_reminder}
73
- </context>
73
+ </context>""
74
74
 
75
75
  try_again: |
76
76
  My previous exploration was insufficient. I will now adjust my strategy, use more specific search patterns, and manage my context more aggressively to find the correct solution.
@@ -4,54 +4,54 @@
4
4
  _inherits: [agent, base]
5
5
 
6
6
  main_system: |
7
- <context name="role_and_directives">
8
7
  ## Core Directives
9
8
  **Act Proactively**: Autonomously use tools to fulfill the request.
10
9
  **Be Decisive**: Do not repeat searches or ask redundant questions. Trust your findings and be confident in your edits.
11
10
  **Be Efficient**: Use multiple tools each response when exploring. Batch tool calls when the schema allows you to. Respect usage limits while maximizing the utility of each response.
12
11
  **Be Persistent**: Do not take short cuts. Work through your task until completion. No task takes too long as long as you are making progress towards the goal.
13
- </context>
14
12
 
15
- <context name="file_format">
16
- ### 1. FILE FORMAT
17
- File contents will be prefixed with identifiers. Each line starts with a case-sensitive content hash followed by `::`. These are used to target where editing tools will perform edits.
18
- They are algorithmically generated, maintained, and subject to change. Do not search for these content hashes. Focus on the lines they identify.
13
+ ## FILE FORMAT
14
+ File contents will be prefixed with identifiers. Each line starts with a case-sensitive content ID followed by `::`. These are used to target where editing tools will perform edits.
15
+ They are algorithmically generated, maintained, and subject to change. Do not search for these content IDs. Focus on the lines they identify.
19
16
 
20
- **Example File Format :**
17
+ **Example File**
18
+ ```
21
19
  il9n::#!/usr/bin/env python3
22
20
  faoZ::
23
21
  uXdn::def example_method():
24
22
  WAR5:: return "example"
25
23
  vwkS::
26
- </context>
24
+ ```
27
25
 
28
- <context name="workflow_and_tool_usage">
29
26
  ## Core Workflow
30
27
  1. **Plan**: Start by using `UpdateTodoList` to outline the task.
31
28
  2. **Explore**: Use discovery tools (`ExploreCode`, `Grep`, `Ls`) to research and gather understanding for you task. Modify search terms when errors are encountered.
32
29
  3. **Execute**: Mark files as editable with `ContextManager` before attempting edits. Proactively use skills if they are available. Review diff outputs after edit to ensure the proper changes were made.
33
- 4. **Verify & Recover**: If an edit fails or introduces linting errors, use `UndoChange` immediately.
30
+ 4. **Verify & Recover**: If an edit fails or introduces linting errors, fix the error immediately. Use `UndoChange` if the errors are too complex to incrementally modify.
34
31
  5. **Yield**: Use the `Yield` tool after accomplishing the goal and verifying any changes made. Provide helpful summaries of any changes.
35
32
 
36
33
  ## Todo List Management
37
34
  - Break complex goals into meaningful sub-tasks so the problem remains tractable
38
35
  - Use `UpdateTodoList` to keep the state synchronized as you complete subtasks.
39
36
 
40
- **Atomic Scope:** Include the **entire function or logical block** in edits. Never return partial syntax or broken closures. Do not attempt to replace just the beginning or end of a closure.
41
- **Indentation**: Preserve all necessary whitespace (spaces, tabs, and newlines) as well as stylistic indentation and line spacings.
42
- </context>
43
-
44
- Use the `.cecli/temp` directory for all temporary, test, or scratch files.
45
- Always reply in {language}.
46
-
47
- system_reminder: |
48
- <context name="critical_reminders">
49
37
  ## Operational Rules
50
38
  - **Scope**: No unrequested refactors. Avoid full-file rewrites. Only modify what you are asked to.
51
39
  - **Hygiene**: Use `ContextManager`/`RemoveSkill` to evict unneeded files/skills immediately after use.
52
40
  - **Outputs**: Tool calls trigger turns. Never include tool syntax in final user summaries.
53
41
  - **Sandbox**: Perform all verification and temp logic in `.cecli/temp`.
54
- - **Responses**: Reason out loud through the problem but be brief.
42
+ - **Responses**: Reason out loud through the problem but be brief.
43
+ - **Edits:** Include the **entire function or logical block** in edits. Never return partial syntax or broken closures. Do not attempt to replace just the beginning or end of a closure.
44
+ - **Indentation**: Preserve all necessary whitespace (spaces, tabs, and newlines) as well as stylistic indentation and line spacings.
45
+ - **Finishing Up**: Be detailed in your `Yield` tool summary in describing your task, findings, efforts and results.
46
+
47
+ Always reply in {language}.
48
+
49
+ system_reminder: |
50
+ <context name="critical_reminders">
51
+ - Prefer the `ReadRange` tool to cli commands for file reading
52
+ - Pay close attention to indentation and styling when editing files
53
+ - Batch tool calls as often as possible
54
+ - Reason out loud through problems but be brief.
55
55
 
56
56
  **Finishing Up**:
57
57
  Be very detailed in your `Yield` tool summary in describing your task, findings, efforts and results.
@@ -7,8 +7,8 @@ from cecli.dump import dump # noqa
7
7
  # Standard tag identifier
8
8
  REASONING_TAG = "thinking-content-" + "7bbeb8e1441453ad999a0bbba8a46d4b"
9
9
  # Output formatting
10
- REASONING_START = "--------------\n► **THINKING**"
11
- REASONING_END = "------------\n► **ANSWER**"
10
+ REASONING_START = "--------------\n"
11
+ REASONING_END = "--------------\n"
12
12
 
13
13
 
14
14
  def remove_reasoning_content(res, reasoning_tag):
@@ -161,7 +161,7 @@ class Tool(BaseTool):
161
161
  """
162
162
  Execute command in background.
163
163
  """
164
- coder.io.tool_output(f"⚙️ Starting background command: {command_string}")
164
+ coder.io.tool_output(f" Starting background command: {command_string}", type="tool-result")
165
165
 
166
166
  # Use static manager to start background command
167
167
  command_key = BackgroundCommandManager.start_background_command(
@@ -193,7 +193,9 @@ class Tool(BaseTool):
193
193
 
194
194
  from cecli.helpers.background_commands import CircularBuffer
195
195
 
196
- coder.io.tool_output(f"⚙️ Executing shell command with {timeout}s timeout.")
196
+ coder.io.tool_output(
197
+ f"⛭ Executing shell command with {timeout}s timeout.", type="tool-result"
198
+ )
197
199
 
198
200
  shell = os.environ.get("SHELL", "/bin/sh")
199
201
 
@@ -278,7 +280,7 @@ class Tool(BaseTool):
278
280
 
279
281
  # Output to TUI console if TUI exists (same logic as _execute_foreground)
280
282
  if coder.tui and coder.tui():
281
- coder.io.tool_output(output_content)
283
+ coder.io.tool_output(output_content, type="tool-result")
282
284
 
283
285
  if exit_code == 0:
284
286
  return (
@@ -296,7 +298,8 @@ class Tool(BaseTool):
296
298
  if elapsed >= timeout:
297
299
  # Timeout elapsed, process continues in background
298
300
  coder.io.tool_output(
299
- f"⏱️ Command exceeded {timeout}s timeout, continuing in background..."
301
+ f"⏱️ Command exceeded {timeout}s timeout, continuing in background...",
302
+ type="tool-result",
300
303
  )
301
304
 
302
305
  # Get any output captured so far
@@ -322,7 +325,7 @@ class Tool(BaseTool):
322
325
  tui = coder.tui()
323
326
  should_print = False
324
327
 
325
- coder.io.tool_output("⚙️ Executing shell command.")
328
+ coder.io.tool_output(" Executing shell command.", type="tool-result")
326
329
 
327
330
  # Use run_cmd_subprocess for non-interactive execution
328
331
  exit_status, combined_output = run_cmd_subprocess(
@@ -360,7 +363,7 @@ class Tool(BaseTool):
360
363
  )
361
364
 
362
365
  if tui:
363
- coder.io.tool_output(output_content)
366
+ coder.io.tool_output(output_content, type="tool-result")
364
367
 
365
368
  if exit_status == 0:
366
369
  return f"Shell command executed successfully (exit code 0). Output:\n{output_content}"
@@ -53,10 +53,14 @@ class Tool(BaseTool):
53
53
  if not confirmed:
54
54
  # This happens if the user explicitly says 'no' this time.
55
55
  # If 'Always' was chosen previously, confirm_ask returns True directly.
56
- coder.io.tool_output(f"Skipped execution of shell command: {command_string}")
56
+ coder.io.tool_output(
57
+ f"Skipped execution of shell command: {command_string}", type="tool-result"
58
+ )
57
59
  return "Shell command execution skipped by user."
58
60
 
59
- coder.io.tool_output(f"⚙️ Starting interactive shell command: {command_string}")
61
+ coder.io.tool_output(
62
+ f"⛭ Starting interactive shell command: {command_string}", type="tool-result"
63
+ )
60
64
 
61
65
  tui = coder.tui() if coder.tui else None
62
66
 
@@ -71,19 +75,23 @@ class Tool(BaseTool):
71
75
 
72
76
  if tui:
73
77
  # Notify user and suspend TUI for interactive command
74
- coder.io.tool_output(">>> Suspending TUI for interactive command <<<")
78
+ coder.io.tool_output(
79
+ ">>> Suspending TUI for interactive command <<<", type="tool-result"
80
+ )
75
81
  exit_status, combined_output = tui.run_obstructive(_run_interactive)
76
82
  else:
77
- coder.io.tool_output(">>> You may need to interact with the command below <<<")
83
+ coder.io.tool_output(
84
+ ">>> You may need to interact with the command below <<<", type="tool-result"
85
+ )
78
86
  coder.io.tool_output(" \n")
79
87
  await coder.io.stop_input_task()
80
88
  await asyncio.sleep(1)
81
89
  exit_status, combined_output = _run_interactive()
82
90
  await asyncio.sleep(1)
83
- coder.io.tool_output(" \n")
84
- coder.io.tool_output(" \n")
91
+ coder.io.tool_output(" \n", type="tool-result")
92
+ coder.io.tool_output(" \n", type="tool-result")
85
93
 
86
- coder.io.tool_output(">>> Interactive command finished <<<")
94
+ coder.io.tool_output(">>> Interactive command finished <<<", type="tool-result")
87
95
 
88
96
  # Format the output for the result message, include more content
89
97
  output_content = combined_output or ""