cecli-dev 0.100.6rc7__tar.gz → 0.100.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (677) hide show
  1. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/PKG-INFO +1 -1
  2. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/_version.py +3 -3
  3. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/agent_coder.py +29 -12
  4. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/base_coder.py +46 -17
  5. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/run.py +1 -1
  6. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/utils/base_command.py +6 -0
  7. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/utils/helpers.py +1 -1
  8. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/agents/service.py +12 -1
  9. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/conversation/files.py +5 -2
  10. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/conversation/integration.py +29 -2
  11. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/hashline.py +384 -50
  12. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/requests.py +25 -0
  13. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/io.py +1 -0
  14. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/agent.yml +19 -19
  15. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/subagent.yml +20 -20
  16. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/reasoning_tags.py +19 -2
  17. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/_yield.py +4 -1
  18. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/command.py +18 -6
  19. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/command_interactive.py +28 -8
  20. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/context_manager.py +22 -11
  21. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/delegate.py +2 -2
  22. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/edit_text.py +7 -4
  23. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/explore_code.py +1 -1
  24. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/grep.py +13 -11
  25. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/ls.py +5 -3
  26. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/read_range.py +47 -20
  27. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/thinking.py +1 -1
  28. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/undo_change.py +3 -1
  29. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/update_todo_list.py +22 -10
  30. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/utils/helpers.py +1 -1
  31. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/app.py +8 -2
  32. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/io.py +3 -1
  33. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/worker.py +87 -36
  34. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/agent-mode.md +2 -0
  35. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/skills.md +1 -0
  36. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli_dev.egg-info/PKG-INFO +1 -1
  37. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli_dev.egg-info/SOURCES.txt +1 -0
  38. cecli_dev-0.100.7/tests/basic/test_hashline_closure.py +423 -0
  39. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_grep.py +1 -1
  40. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_insert_block.py +5 -4
  41. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.dockerignore +0 -0
  42. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.flake8 +0 -0
  43. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.gitattributes +0 -0
  44. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  45. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/check_pypi_version.yml +0 -0
  46. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/docker-build-test.yml +0 -0
  47. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/docker-release.yml +0 -0
  48. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/issues.yml +0 -0
  49. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/pages.yml +0 -0
  50. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/pre-commit.yml +0 -0
  51. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/release.yml +0 -0
  52. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/ubuntu-tests.yml +0 -0
  53. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/windows-tests.yml +0 -0
  54. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.github/workflows/windows_check_pypi_version.yml +0 -0
  55. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.gitignore +0 -0
  56. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/.pre-commit-config.yaml +0 -0
  57. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/CHANGELOG.md +0 -0
  58. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/CNAME +0 -0
  59. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/CONTRIBUTING.md +0 -0
  60. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/HISTORY.md +0 -0
  61. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/LICENSE.txt +0 -0
  62. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/MANIFEST.in +0 -0
  63. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/README.md +0 -0
  64. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/Dockerfile +0 -0
  65. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/README.md +0 -0
  66. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/__init__.py +0 -0
  67. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/benchmark.py +0 -0
  68. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/benchmark_classic.py +0 -0
  69. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/clone-exercism.sh +0 -0
  70. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/cpp-test.sh +0 -0
  71. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/docker.sh +0 -0
  72. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/docker_build.sh +0 -0
  73. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/install-docker-ubuntu.sh +0 -0
  74. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/npm-test.sh +0 -0
  75. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/over_time.py +0 -0
  76. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/plot.sh +0 -0
  77. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/plots.py +0 -0
  78. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/problem_stats.py +0 -0
  79. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/prompts.py +0 -0
  80. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/refactor_tools.py +0 -0
  81. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/rsync.sh +0 -0
  82. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/rungrid.py +0 -0
  83. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/swe-bench-lite.txt +0 -0
  84. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/swe-bench.txt +0 -0
  85. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/swe_bench.py +0 -0
  86. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/test_benchmark.py +0 -0
  87. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/variations.1.sh +0 -0
  88. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/variations.2.sh +0 -0
  89. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/variations.3.sh +0 -0
  90. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/benchmark/variations.4.sh +0 -0
  91. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/__init__.py +0 -0
  92. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/__main__.py +0 -0
  93. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/args.py +0 -0
  94. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/args_formatter.py +0 -0
  95. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/change_tracker.py +0 -0
  96. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/__init__.py +0 -0
  97. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/architect_coder.py +0 -0
  98. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/ask_coder.py +0 -0
  99. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/chat_chunks.py +0 -0
  100. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/context_coder.py +0 -0
  101. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/copypaste_coder.py +0 -0
  102. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/editblock_coder.py +0 -0
  103. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/editblock_fenced_coder.py +0 -0
  104. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/editblock_func_coder.py +0 -0
  105. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  106. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/editor_editblock_coder.py +0 -0
  107. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/editor_whole_coder.py +0 -0
  108. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/hashline_coder.py +0 -0
  109. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/help_coder.py +0 -0
  110. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/patch_coder.py +0 -0
  111. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/search_replace.py +0 -0
  112. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/shell.py +0 -0
  113. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/single_wholefile_func_coder.py +0 -0
  114. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/sub_agent_coder.py +0 -0
  115. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/udiff_coder.py +0 -0
  116. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/udiff_simple.py +0 -0
  117. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/wholefile_coder.py +0 -0
  118. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/coders/wholefile_func_coder.py +0 -0
  119. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/__init__.py +0 -0
  120. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/add.py +0 -0
  121. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/agent.py +0 -0
  122. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/agent_model.py +0 -0
  123. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/architect.py +0 -0
  124. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/ask.py +0 -0
  125. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/chat_mode.py +0 -0
  126. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/clear.py +0 -0
  127. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/code.py +0 -0
  128. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/command_prefix.py +0 -0
  129. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/commit.py +0 -0
  130. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/compact.py +0 -0
  131. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/context.py +0 -0
  132. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/context_blocks.py +0 -0
  133. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/context_management.py +0 -0
  134. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/copy.py +0 -0
  135. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/copy_context.py +0 -0
  136. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/core.py +0 -0
  137. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/diff.py +0 -0
  138. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/drop.py +0 -0
  139. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/editor.py +0 -0
  140. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/editor_model.py +0 -0
  141. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/exclude_skill.py +0 -0
  142. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/exit.py +0 -0
  143. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/git.py +0 -0
  144. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/hashline.py +0 -0
  145. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/help.py +0 -0
  146. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/history_search.py +0 -0
  147. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/hooks.py +0 -0
  148. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/include_skill.py +0 -0
  149. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/lint.py +0 -0
  150. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/list_sessions.py +0 -0
  151. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/list_skills.py +0 -0
  152. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/load.py +0 -0
  153. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/load_hook.py +0 -0
  154. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/load_mcp.py +0 -0
  155. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/load_session.py +0 -0
  156. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/load_skill.py +0 -0
  157. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/ls.py +0 -0
  158. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/map.py +0 -0
  159. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/map_refresh.py +0 -0
  160. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/merge.py +0 -0
  161. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/model.py +0 -0
  162. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/models.py +0 -0
  163. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/multiline_mode.py +0 -0
  164. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/paste.py +0 -0
  165. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/quit.py +0 -0
  166. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/read_only.py +0 -0
  167. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/read_only_stub.py +0 -0
  168. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/reap_agent.py +0 -0
  169. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/reasoning_effort.py +0 -0
  170. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/remove_hook.py +0 -0
  171. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/remove_mcp.py +0 -0
  172. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/remove_skill.py +0 -0
  173. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/report.py +0 -0
  174. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/reset.py +0 -0
  175. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/rules.py +0 -0
  176. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/save.py +0 -0
  177. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/save_session.py +0 -0
  178. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/settings.py +0 -0
  179. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/spawn_agent.py +0 -0
  180. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/switch_agent.py +0 -0
  181. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/terminal_data/linux.keytab +0 -0
  182. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/terminal_setup.py +0 -0
  183. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/test.py +0 -0
  184. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/think_tokens.py +0 -0
  185. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/tokens.py +0 -0
  186. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/undo.py +0 -0
  187. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/utils/__init__.py +0 -0
  188. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/utils/registry.py +0 -0
  189. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/utils/save_load_manager.py +0 -0
  190. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/voice.py +0 -0
  191. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/weak_model.py +0 -0
  192. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/web.py +0 -0
  193. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/commands/workspace.py +0 -0
  194. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/deprecated_args.py +0 -0
  195. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/diffs.py +0 -0
  196. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/dump.py +0 -0
  197. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/editor.py +0 -0
  198. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/exceptions.py +0 -0
  199. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/format_settings.py +0 -0
  200. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/help.py +0 -0
  201. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/help_pats.py +0 -0
  202. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/__init__.py +0 -0
  203. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/agents/__init__.py +0 -0
  204. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/agents/config.py +0 -0
  205. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/background_commands.py +0 -0
  206. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/command_parser.py +0 -0
  207. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/conversation/__init__.py +0 -0
  208. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/conversation/base_message.py +0 -0
  209. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/conversation/manager.py +0 -0
  210. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/conversation/service.py +0 -0
  211. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/conversation/tags.py +0 -0
  212. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/conversation/utils.py +0 -0
  213. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/copypaste.py +0 -0
  214. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/coroutines.py +0 -0
  215. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/crypto.py +0 -0
  216. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/file_searcher.py +0 -0
  217. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/file_system/__init__.py +0 -0
  218. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/file_system/builders.py +0 -0
  219. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/file_system/ignore.py +0 -0
  220. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/file_system/ngram_index.py +0 -0
  221. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/file_system/service.py +0 -0
  222. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/file_system/trie_index.py +0 -0
  223. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/grep_ast/__init__.py +0 -0
  224. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/grep_ast/dump.py +0 -0
  225. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  226. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/grep_ast/main.py +0 -0
  227. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/grep_ast/parsers.py +0 -0
  228. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/grep_ast/tsl.py +0 -0
  229. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/hashpos/__init__.py +0 -0
  230. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/hashpos/hashpos.py +0 -0
  231. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  232. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/io_proxy.py +0 -0
  233. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/leak_detect.py +0 -0
  234. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/model_providers.py +0 -0
  235. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/monorepo/__init__.py +0 -0
  236. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/monorepo/config.py +0 -0
  237. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/monorepo/local_workspace.py +0 -0
  238. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/monorepo/project.py +0 -0
  239. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/monorepo/workspace.py +0 -0
  240. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/monorepo/worktree.py +0 -0
  241. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/nested.py +0 -0
  242. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/observations/__init__.py +0 -0
  243. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/observations/service.py +0 -0
  244. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/plugin_manager.py +0 -0
  245. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/profiler.py +0 -0
  246. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/responses.py +0 -0
  247. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/similarity.py +0 -0
  248. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/skills.py +0 -0
  249. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/helpers/threading.py +0 -0
  250. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/history.py +0 -0
  251. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/hooks/__init__.py +0 -0
  252. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/hooks/base.py +0 -0
  253. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/hooks/integration.py +0 -0
  254. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/hooks/manager.py +0 -0
  255. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/hooks/registry.py +0 -0
  256. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/hooks/service.py +0 -0
  257. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/hooks/types.py +0 -0
  258. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/interruptible_input.py +0 -0
  259. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/linter.py +0 -0
  260. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/llm.py +0 -0
  261. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/main.py +0 -0
  262. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/mcp/__init__.py +0 -0
  263. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/mcp/manager.py +0 -0
  264. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/mcp/oauth.py +0 -0
  265. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/mcp/server.py +0 -0
  266. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/mcp/utils.py +0 -0
  267. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/mdstream.py +0 -0
  268. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/models.py +0 -0
  269. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/onboarding.py +0 -0
  270. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/__init__.py +0 -0
  271. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/architect.yml +0 -0
  272. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/ask.yml +0 -0
  273. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/base.yml +0 -0
  274. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/context.yml +0 -0
  275. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/copypaste.yml +0 -0
  276. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/editblock.yml +0 -0
  277. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/editblock_fenced.yml +0 -0
  278. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/editblock_func.yml +0 -0
  279. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/editor_diff_fenced.yml +0 -0
  280. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/editor_editblock.yml +0 -0
  281. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/editor_whole.yml +0 -0
  282. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/hashline.yml +0 -0
  283. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/help.yml +0 -0
  284. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/patch.yml +0 -0
  285. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/single_wholefile_func.yml +0 -0
  286. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/udiff.yml +0 -0
  287. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/udiff_simple.yml +0 -0
  288. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/utils/__init__.py +0 -0
  289. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/utils/registry.py +0 -0
  290. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/utils/system.py +0 -0
  291. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/wholefile.yml +0 -0
  292. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/prompts/wholefile_func.yml +0 -0
  293. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  294. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  295. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  296. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  297. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  298. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  299. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  300. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  301. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  302. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  303. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  304. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  305. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  306. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  307. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  308. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  309. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  310. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  311. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  312. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  313. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  314. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  315. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  316. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  317. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  318. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  319. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  320. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  321. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  322. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  323. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  324. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  325. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/README.md +0 -0
  326. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  327. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  328. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  329. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  330. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  331. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  332. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  333. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  334. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  335. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  336. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  337. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  338. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  339. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  340. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  341. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  342. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  343. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  344. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  345. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  346. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  347. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  348. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  349. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  350. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  351. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  352. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  353. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/repo.py +0 -0
  354. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/repomap.py +0 -0
  355. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/report.py +0 -0
  356. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/resources/__init__.py +0 -0
  357. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/resources/model-metadata.json +0 -0
  358. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/resources/model-settings.yml +0 -0
  359. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/resources/providers.json +0 -0
  360. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/run_cmd.py +0 -0
  361. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/scrape.py +0 -0
  362. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/sendchat.py +0 -0
  363. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/sessions.py +0 -0
  364. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/special.py +0 -0
  365. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/__init__.py +0 -0
  366. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/git_branch.py +0 -0
  367. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/git_diff.py +0 -0
  368. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/git_log.py +0 -0
  369. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/git_remote.py +0 -0
  370. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/git_show.py +0 -0
  371. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/git_status.py +0 -0
  372. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/load_skill.py +0 -0
  373. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/remove_skill.py +0 -0
  374. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/utils/base_tool.py +0 -0
  375. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/utils/output.py +0 -0
  376. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/utils/registry.py +0 -0
  377. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/validations/__init__.py +0 -0
  378. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tools/validations/validations.py +0 -0
  379. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/__init__.py +0 -0
  380. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/styles.tcss +0 -0
  381. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/__init__.py +0 -0
  382. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/completion_bar.py +0 -0
  383. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/file_list.py +0 -0
  384. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/footer.py +0 -0
  385. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/input_area.py +0 -0
  386. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/input_container.py +0 -0
  387. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/key_hints.py +0 -0
  388. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/output.py +0 -0
  389. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/status_bar.py +0 -0
  390. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/tui/widgets/subagent_pills.py +0 -0
  391. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/urls.py +0 -0
  392. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/utils.py +0 -0
  393. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/versioncheck.py +0 -0
  394. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/voice.py +0 -0
  395. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/waiting.py +0 -0
  396. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/watch.py +0 -0
  397. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/watch_prompts.py +0 -0
  398. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/Gemfile +0 -0
  399. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/blame.md +0 -0
  400. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/get-started.md +0 -0
  401. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/help-tip.md +0 -0
  402. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/help.md +0 -0
  403. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/install.md +0 -0
  404. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/keys.md +0 -0
  405. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/model-warnings.md +0 -0
  406. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/multi-line.md +0 -0
  407. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/python-m-aider.md +0 -0
  408. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/recording.css +0 -0
  409. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/recording.md +0 -0
  410. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_includes/works-best.md +0 -0
  411. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_features.scss +0 -0
  412. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_footer.scss +0 -0
  413. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_hero.scss +0 -0
  414. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_info.scss +0 -0
  415. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_layout.scss +0 -0
  416. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_reset.scss +0 -0
  417. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_testimonials.scss +0 -0
  418. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_typography.scss +0 -0
  419. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/_variables.scss +0 -0
  420. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/custom/custom.scss +0 -0
  421. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/_sass/global-overrides.scss +0 -0
  422. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/adv-model-settings.md +0 -0
  423. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/aider_conf.md +0 -0
  424. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/api-keys.md +0 -0
  425. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/custom-commands.md +0 -0
  426. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  427. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/dotenv.md +0 -0
  428. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/editor.md +0 -0
  429. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/hooks.md +0 -0
  430. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/mcp.md +0 -0
  431. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/model-aliases.md +0 -0
  432. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/model-configuration.md +0 -0
  433. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/options.md +0 -0
  434. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/reasoning.md +0 -0
  435. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/security.md +0 -0
  436. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/subagents.md +0 -0
  437. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/tui.md +0 -0
  438. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config/workspaces.md +0 -0
  439. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/config.md +0 -0
  440. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/faq.md +0 -0
  441. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/git.md +0 -0
  442. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/index.md +0 -0
  443. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/install/docker.md +0 -0
  444. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/install/optional.md +0 -0
  445. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/install.md +0 -0
  446. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/languages.md +0 -0
  447. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  448. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/legal/privacy.md +0 -0
  449. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/anthropic.md +0 -0
  450. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/azure.md +0 -0
  451. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/bedrock.md +0 -0
  452. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/cohere.md +0 -0
  453. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/deepseek.md +0 -0
  454. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/gemini.md +0 -0
  455. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/github.md +0 -0
  456. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/groq.md +0 -0
  457. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/lm-studio.md +0 -0
  458. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/ollama.md +0 -0
  459. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/openai-compat.md +0 -0
  460. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/openai.md +0 -0
  461. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/openrouter.md +0 -0
  462. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/other.md +0 -0
  463. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/vertex.md +0 -0
  464. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/warnings.md +0 -0
  465. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms/xai.md +0 -0
  466. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/llms.md +0 -0
  467. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/more/analytics.md +0 -0
  468. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/more/edit-formats.md +0 -0
  469. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/more/infinite-output.md +0 -0
  470. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/more-info.md +0 -0
  471. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/repomap.md +0 -0
  472. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/scripting.md +0 -0
  473. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  474. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  475. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/troubleshooting/imports.md +0 -0
  476. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  477. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/troubleshooting/support.md +0 -0
  478. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  479. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  480. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/troubleshooting.md +0 -0
  481. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/commands.md +0 -0
  482. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/conventions.md +0 -0
  483. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/copypaste.md +0 -0
  484. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/images-urls.md +0 -0
  485. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/lint-test.md +0 -0
  486. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/modes.md +0 -0
  487. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/not-code.md +0 -0
  488. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/notifications.md +0 -0
  489. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/sessions.md +0 -0
  490. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/tips.md +0 -0
  491. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/voice.md +0 -0
  492. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage/watch.md +0 -0
  493. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/docs/usage.md +0 -0
  494. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli/website/share/index.md +0 -0
  495. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli_dev.egg-info/dependency_links.txt +0 -0
  496. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli_dev.egg-info/entry_points.txt +0 -0
  497. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli_dev.egg-info/requires.txt +0 -0
  498. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/cecli_dev.egg-info/top_level.txt +0 -0
  499. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/docker/Dockerfile +0 -0
  500. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  501. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/pyproject.toml +0 -0
  502. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/pytest.ini +0 -0
  503. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/common-constraints.txt +0 -0
  504. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/requirements-dev.in +0 -0
  505. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/requirements-dev.txt +0 -0
  506. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/requirements-help.in +0 -0
  507. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/requirements-help.txt +0 -0
  508. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/requirements-playwright.in +0 -0
  509. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/requirements-playwright.txt +0 -0
  510. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/requirements.in +0 -0
  511. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements/tree-sitter.in +0 -0
  512. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/requirements.txt +0 -0
  513. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/30k-image.py +0 -0
  514. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/Dockerfile.jekyll +0 -0
  515. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/__init__.py +0 -0
  516. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/blame.py +0 -0
  517. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/clean_metadata.py +0 -0
  518. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/cost_analyzer.py +0 -0
  519. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/cost_calculator.py +0 -0
  520. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/dl_icons.py +0 -0
  521. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/filter-chat-mode.js +0 -0
  522. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/generate_providers.py +0 -0
  523. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/get_contributor_list.js +0 -0
  524. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/get_hashline.py +0 -0
  525. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/history_prompts.py +0 -0
  526. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/homepage.py +0 -0
  527. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/issues.py +0 -0
  528. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/jekyll_build.sh +0 -0
  529. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/jekyll_run.sh +0 -0
  530. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/logo_svg.py +0 -0
  531. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/pip-compile.sh +0 -0
  532. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/recording_audio.py +0 -0
  533. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/redact-cast.py +0 -0
  534. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/rename_to_cecli.py +0 -0
  535. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/tmux_record.sh +0 -0
  536. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/tsl_pack_langs.py +0 -0
  537. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/update-blame.sh +0 -0
  538. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/update-docs.sh +0 -0
  539. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/update-history.py +0 -0
  540. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/versionbump.py +0 -0
  541. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/scripts/yank-old-versions.py +0 -0
  542. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/setup.cfg +0 -0
  543. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/shim.pyproject.toml +0 -0
  544. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/__init__.py +0 -0
  545. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/__init__.py +0 -0
  546. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/conftest.py +0 -0
  547. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_aws_credentials.py +0 -0
  548. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_background_commands.py +0 -0
  549. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_coder.py +0 -0
  550. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_commands.py +0 -0
  551. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_custom_commands.py +0 -0
  552. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_deprecated.py +0 -0
  553. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_editblock.py +0 -0
  554. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_editor.py +0 -0
  555. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_exceptions.py +0 -0
  556. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_find_or_blocks.py +0 -0
  557. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_hashline.py +0 -0
  558. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_history.py +0 -0
  559. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_io.py +0 -0
  560. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_linter.py +0 -0
  561. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_main.py +0 -0
  562. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_model_info_manager.py +0 -0
  563. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_model_provider_manager.py +0 -0
  564. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_models.py +0 -0
  565. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_onboarding.py +0 -0
  566. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_plugin_manager.py +0 -0
  567. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_prompts.py +0 -0
  568. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_reasoning.py +0 -0
  569. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_repo.py +0 -0
  570. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_repomap.py +0 -0
  571. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_run_cmd.py +0 -0
  572. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_sanity_check_repo.py +0 -0
  573. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_scripting.py +0 -0
  574. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_sendchat.py +0 -0
  575. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_session_args.py +0 -0
  576. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_session_crypto.py +0 -0
  577. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_sessions.py +0 -0
  578. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_sessions_manager.py +0 -0
  579. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_skills.py +0 -0
  580. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_special.py +0 -0
  581. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_ssl_verification.py +0 -0
  582. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_udiff.py +0 -0
  583. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_urls.py +0 -0
  584. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_voice.py +0 -0
  585. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_watch.py +0 -0
  586. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/basic/test_wholefile.py +0 -0
  587. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/coders/test_coder_switching.py +0 -0
  588. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/coders/test_copypaste_coder.py +0 -0
  589. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/commands/test_compaction.py +0 -0
  590. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/commands/test_switch_agent.py +0 -0
  591. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/conftest.py +0 -0
  592. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/conversations/test_conversation_integration.py +0 -0
  593. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/conversations/test_conversation_system.py +0 -0
  594. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  595. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/chat-history.md +0 -0
  596. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/arduino/test.ino +0 -0
  597. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/bash/test.sh +0 -0
  598. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/c/test.c +0 -0
  599. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/chatito/test.chatito +0 -0
  600. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/clojure/test.clj +0 -0
  601. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  602. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/cpp/test.cpp +0 -0
  603. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/csharp/test.cs +0 -0
  604. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/d/test.d +0 -0
  605. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/dart/test.dart +0 -0
  606. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/elisp/test.el +0 -0
  607. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/elixir/test.ex +0 -0
  608. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/elm/test.elm +0 -0
  609. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/gleam/test.gleam +0 -0
  610. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/go/test.go +0 -0
  611. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/haskell/test.hs +0 -0
  612. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/hcl/test.tf +0 -0
  613. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/java/test.java +0 -0
  614. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/javascript/test.js +0 -0
  615. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/kotlin/test.kt +0 -0
  616. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/lua/test.lua +0 -0
  617. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/matlab/test.m +0 -0
  618. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/ocaml/test.ml +0 -0
  619. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  620. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/php/test.php +0 -0
  621. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/pony/test.pony +0 -0
  622. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/properties/test.properties +0 -0
  623. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/python/test.py +0 -0
  624. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/ql/test.ql +0 -0
  625. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/r/test.r +0 -0
  626. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/racket/test.rkt +0 -0
  627. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/ruby/test.rb +0 -0
  628. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/rust/test.rs +0 -0
  629. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/scala/test.scala +0 -0
  630. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/solidity/test.sol +0 -0
  631. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/swift/test.swift +0 -0
  632. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/tsx/test.tsx +0 -0
  633. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/typescript/test.ts +0 -0
  634. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/udev/test.rules +0 -0
  635. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/languages/zig/test.zig +0 -0
  636. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/sample-code-base/sample.js +0 -0
  637. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/sample-code-base/sample.py +0 -0
  638. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  639. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/watch.js +0 -0
  640. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/watch.lisp +0 -0
  641. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/watch.py +0 -0
  642. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/fixtures/watch_question.js +0 -0
  643. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/help/test_help.py +0 -0
  644. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/helpers/monorepo/LOCAL_WORKSPACE.md +0 -0
  645. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/helpers/monorepo/test_config.py +0 -0
  646. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/helpers/monorepo/test_config_active.py +0 -0
  647. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/helpers/monorepo/test_ignore_logic.py +0 -0
  648. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/helpers/monorepo/test_local_workspace.py +0 -0
  649. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/helpers/monorepo/test_repomap_workspace.py +0 -0
  650. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/helpers/monorepo/test_workspace.py +0 -0
  651. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/helpers/observations/test_observation_service.py +0 -0
  652. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/hooks/__init__.py +0 -0
  653. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/hooks/test_base.py +0 -0
  654. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/hooks/test_manager.py +0 -0
  655. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/hooks/test_registry.py +0 -0
  656. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/mcp/__init__.py +0 -0
  657. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/mcp/test_manager.py +0 -0
  658. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/scrape/test_playwright_disable.py +0 -0
  659. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/scrape/test_scrape.py +0 -0
  660. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/__init__.py +0 -0
  661. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/conftest.py +0 -0
  662. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/test_commands.py +0 -0
  663. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/test_config.py +0 -0
  664. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/test_delegate.py +0 -0
  665. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/test_finished.py +0 -0
  666. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/test_io_proxy.py +0 -0
  667. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/test_service.py +0 -0
  668. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/subagents/test_sub_agent_coder.py +0 -0
  669. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_extractions.py +0 -0
  670. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_get_lines.py +0 -0
  671. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_git_branch.py +0 -0
  672. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_git_diff.py +0 -0
  673. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_read_range_execute.py +0 -0
  674. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_registry.py +0 -0
  675. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/test_tool_arguments.py +0 -0
  676. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/tests/tools/validations.py +0 -0
  677. {cecli_dev-0.100.6rc7 → cecli_dev-0.100.7}/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.7
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.7'
22
+ __version_tuple__ = version_tuple = (0, 100, 7)
23
23
 
24
- __commit_id__ = commit_id = 'g7f1d0176c'
24
+ __commit_id__ = commit_id = 'gedcb2b7f6'
@@ -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
@@ -152,6 +153,7 @@ class AgentCoder(Coder):
152
153
  config, "skip_cli_confirmations", nested.getter(config, "yolo", [])
153
154
  )
154
155
  config["command_timeout"] = nested.getter(config, "command_timeout", 30)
156
+ config["allowed_commands"] = nested.getter(config, "allowed_commands", [])
155
157
  config["hot_reload"] = nested.getter(config, "hot_reload", False)
156
158
  config["allow_nested_delegation"] = nested.getter(config, "allow_nested_delegation", False)
157
159
 
@@ -160,7 +162,9 @@ class AgentCoder(Coder):
160
162
  config, ["tools_includelist", "tools_whitelist"], []
161
163
  )
162
164
  config["tools_excludelist"] = nested.getter(
163
- config, ["tools_excludelist", "tools_blacklist"], []
165
+ config,
166
+ ["tools_excludelist", "tools_blacklist"],
167
+ ["gitbranch", "gitdiff", "gitlog", "gitremote", "gitshow", "gitstatus"],
164
168
  )
165
169
 
166
170
  config["servers_includelist"] = nested.getter(
@@ -174,7 +178,7 @@ class AgentCoder(Coder):
174
178
  config,
175
179
  "include_context_blocks",
176
180
  {
177
- "context_summary",
181
+ # "context_summary",
178
182
  # "directory_structure",
179
183
  "environment_info",
180
184
  # "git_status",
@@ -611,7 +615,7 @@ class AgentCoder(Coder):
611
615
  percentage = total_tokens / max_input_tokens * 100
612
616
  result += f" ({percentage:.1f}% of limit)"
613
617
  if percentage > 80:
614
- result += "\n\n⚠️ **Context is getting full!**\n"
618
+ result += "\n\n **Context is getting full!**\n"
615
619
  result += "- Remove non-essential files via the `ContextManager` tool.\n"
616
620
  result += "- Keep only essential files in context for best performance"
617
621
  result += "\n</context>"
@@ -808,6 +812,9 @@ class AgentCoder(Coder):
808
812
  "# Fix any linting errors below, if possible and then continue with your task.",
809
813
  1,
810
814
  )
815
+ ConversationService.get_manager(self).remove_message_by_hash_key(
816
+ ("lint_errors", "agent")
817
+ )
811
818
  ConversationService.get_manager(self).add_message(
812
819
  message_dict=dict(role="user", content=lint_errors),
813
820
  tag=MessageTag.CUR,
@@ -1265,16 +1272,20 @@ class AgentCoder(Coder):
1265
1272
  abs_path = self.abs_root_path(file_path)
1266
1273
  rel_path = self.get_rel_fname(abs_path)
1267
1274
  if not os.path.isfile(abs_path):
1268
- self.io.tool_output(f"⚠️ File '{file_path}' not found")
1275
+ self.io.tool_output(f" File '{file_path}' not found", type="tool-result")
1269
1276
  return "File not found"
1270
1277
  if abs_path in self.abs_fnames:
1271
1278
  if explicit:
1272
- self.io.tool_output(f"📎 File '{file_path}' already in context as editable")
1279
+ self.io.tool_output(
1280
+ f"🗀 File '{file_path}' already in context as editable", type="tool-result"
1281
+ )
1273
1282
  return "File already in context as editable"
1274
1283
  return "File already in context as editable"
1275
1284
  if abs_path in self.abs_read_only_fnames:
1276
1285
  if explicit:
1277
- self.io.tool_output(f"📎 File '{file_path}' already in context as read-only")
1286
+ self.io.tool_output(
1287
+ f"🗀 File '{file_path}' already in context as read-only", type="tool-result"
1288
+ )
1278
1289
  return "File already in context as read-only"
1279
1290
  return "File already in context as read-only"
1280
1291
  try:
@@ -1285,13 +1296,18 @@ class AgentCoder(Coder):
1285
1296
  file_tokens = self.get_active_model().token_count(content)
1286
1297
  if file_tokens > self.large_file_token_threshold:
1287
1298
  self.io.tool_output(
1288
- f"⚠️ '{file_path}' is very large ({file_tokens} tokens). Use"
1289
- " /context-management to toggle truncation off if needed."
1299
+ (
1300
+ f" '{file_path}' is very large ({file_tokens} tokens). Use"
1301
+ " /context-management to toggle truncation off if needed."
1302
+ ),
1303
+ type="tool-result",
1290
1304
  )
1291
1305
  self.abs_read_only_fnames.add(abs_path)
1292
1306
  self.files_added_in_exploration.add(rel_path)
1293
1307
  if explicit:
1294
- self.io.tool_output(f"📎 Viewed '{file_path}' (added to context as read-only)")
1308
+ self.io.tool_output(
1309
+ f"🗀 Viewed '{file_path}' (added to context as read-only)", type="tool-result"
1310
+ )
1295
1311
  return "Viewed file (added to context as read-only)"
1296
1312
  else:
1297
1313
  return "Added file to context as read-only"
@@ -1418,10 +1434,11 @@ Todo list does not exist. Please update it with the `UpdateTodoList` tool.</cont
1418
1434
  content = self.io.read_text(abs_path)
1419
1435
  if content is None or not content.strip():
1420
1436
  return None
1437
+
1438
+ current_tasks = "\n".join(self.current_tasks)
1421
1439
  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"
1440
+ result += "## Current Active Tasks\n\n"
1441
+ result += f"```{current_tasks}```\n"
1425
1442
  result += "</context>"
1426
1443
  return result
1427
1444
  except Exception as e:
@@ -419,6 +419,8 @@ class Coder(metaclass=UsageMeta):
419
419
  uuid: str = "",
420
420
  parent_uuid: str = "",
421
421
  ):
422
+ from cecli.helpers.agents.service import AgentService
423
+
422
424
  # initialize from args.map_cache_dir
423
425
  self.coroutines = coroutines
424
426
  # Per-instance tool and server filtering dictionaries
@@ -427,6 +429,7 @@ class Coder(metaclass=UsageMeta):
427
429
  self.registered_servers = {"included": set(), "excluded": set()}
428
430
  self.interrupt_event = ThreadSafeEvent()
429
431
  self.uuid = str(generate_unique_id())
432
+ self.reflected_message = None
430
433
 
431
434
  if uuid:
432
435
  self.uuid = str(uuid)
@@ -543,8 +546,10 @@ class Coder(metaclass=UsageMeta):
543
546
 
544
547
  self.show_diffs = show_diffs
545
548
 
546
- # Initialize conversation system if enabled
549
+ # Initialize all registry sub systems
550
+ AgentService.get_instance(self)
547
551
  ConversationService.get_chunks(self).initialize_conversation_system()
552
+ ObservationService.get_instance(self)
548
553
 
549
554
  self.commands = commands or Commands(self.io, self, args=args)
550
555
  self.commands.coder = self
@@ -1107,7 +1112,7 @@ class Coder(metaclass=UsageMeta):
1107
1112
 
1108
1113
  # Add message about showing definitions instead of full content
1109
1114
  # self.io.tool_output(
1110
- # f"⚠️ '{relative_fname}' is very large ({file_tokens} tokens). "
1115
+ # f" '{relative_fname}' is very large ({file_tokens} tokens). "
1111
1116
  # "Use /context-management to toggle truncation off if needed."
1112
1117
  # )
1113
1118
 
@@ -1175,7 +1180,7 @@ class Coder(metaclass=UsageMeta):
1175
1180
 
1176
1181
  # Add message about showing definitions instead of full content
1177
1182
  # self.io.tool_output(
1178
- # f"⚠️ '{relative_fname}' is very large ({file_tokens} tokens). "
1183
+ # f" '{relative_fname}' is very large ({file_tokens} tokens). "
1179
1184
  # "Use /context-management to toggle truncation off if needed."
1180
1185
  # )
1181
1186
 
@@ -2560,7 +2565,9 @@ class Coder(metaclass=UsageMeta):
2560
2565
  return
2561
2566
  finally:
2562
2567
  if self.mdstream:
2563
- content_to_show = self.live_incremental_response(True)
2568
+ content_to_show = (
2569
+ "" if self.tui and self.tui() else self.live_incremental_response(True)
2570
+ )
2564
2571
  self.stream_wrapper(content_to_show, final=True)
2565
2572
  self.mdstream = None
2566
2573
 
@@ -3583,24 +3590,13 @@ class Coder(metaclass=UsageMeta):
3583
3590
  except AttributeError:
3584
3591
  reasoning_content = None
3585
3592
 
3586
- if reasoning_content:
3587
- if nested.getter(self.args, "show_thinking"):
3588
- if not self.got_reasoning_content:
3589
- text += f"<{REASONING_TAG}>\n\n"
3590
- text += reasoning_content
3591
- self.got_reasoning_content = True
3592
- received_content = True
3593
- self.token_profiler.on_token()
3594
- self.io.update_spinner_suffix(reasoning_content)
3595
- self.partial_response_reasoning_content += reasoning_content
3596
-
3597
3593
  try:
3598
3594
  content = chunk.choices[0].delta.content
3599
3595
  if content:
3600
3596
  if self.got_reasoning_content and not self.ended_reasoning_content:
3601
3597
  text += f"\n\n</{self.reasoning_tag_name}>\n\n"
3602
- self.ended_reasoning_content = True
3603
3598
 
3599
+ self.ended_reasoning_content = True
3604
3600
  text += content
3605
3601
  received_content = True
3606
3602
  self.token_profiler.on_token()
@@ -3608,6 +3604,22 @@ class Coder(metaclass=UsageMeta):
3608
3604
  except AttributeError:
3609
3605
  pass
3610
3606
 
3607
+ if reasoning_content:
3608
+ if (
3609
+ nested.getter(self.args, "show_thinking")
3610
+ and not self.ended_reasoning_content
3611
+ ):
3612
+ if not self.got_reasoning_content:
3613
+ text += f"<{REASONING_TAG}>\n\n"
3614
+
3615
+ text += reasoning_content
3616
+ self.got_reasoning_content = True
3617
+ received_content = True
3618
+
3619
+ self.token_profiler.on_token()
3620
+ self.io.update_spinner_suffix(reasoning_content)
3621
+ self.partial_response_reasoning_content += reasoning_content
3622
+
3611
3623
  self.partial_response_content += text
3612
3624
 
3613
3625
  chunk_index += 1
@@ -3634,6 +3646,16 @@ class Coder(metaclass=UsageMeta):
3634
3646
  except (asyncio.CancelledError, KeyboardInterrupt):
3635
3647
  raise KeyboardInterrupt
3636
3648
 
3649
+ if (
3650
+ self.show_pretty()
3651
+ and nested.getter(self.args, "show_thinking")
3652
+ and self.got_reasoning_content
3653
+ and not self.ended_reasoning_content
3654
+ ):
3655
+ self.partial_response_content += f"\n\n</{self.reasoning_tag_name}>\n\n"
3656
+ content_to_show = self.live_incremental_response(False)
3657
+ self.stream_wrapper(content_to_show, final=False)
3658
+
3637
3659
  # The Part Doing the Heavy Lifting Now
3638
3660
  self.consolidate_chunks()
3639
3661
 
@@ -3657,6 +3679,12 @@ class Coder(metaclass=UsageMeta):
3657
3679
  func_err = None
3658
3680
  content_err = None
3659
3681
 
3682
+ if len(self.partial_response_chunks):
3683
+ last_chunk = self.partial_response_chunks[len(self.partial_response_chunks) - 1]
3684
+ if last_chunk:
3685
+ if getattr(last_chunk, "usage", None):
3686
+ response.usage = last_chunk.usage
3687
+
3660
3688
  # Collect provider-specific fields from chunks to preserve them
3661
3689
  # We need to track both by ID (primary) and index (fallback) since
3662
3690
  # early chunks might not have IDs established yet
@@ -3848,6 +3876,7 @@ class Coder(metaclass=UsageMeta):
3848
3876
  cache_hit_tokens = (
3849
3877
  getattr(completion.usage, "prompt_cache_hit_tokens", 0)
3850
3878
  or getattr(completion.usage, "cache_read_input_tokens", 0)
3879
+ or nested.getter(completion.usage, "prompt_tokens_details.cached_tokens", 0)
3851
3880
  or 0
3852
3881
  )
3853
3882
  cache_write_tokens = getattr(completion.usage, "cache_creation_input_tokens", 0) or 0
@@ -4463,7 +4492,7 @@ class Coder(metaclass=UsageMeta):
4463
4492
  if output:
4464
4493
  accumulated_output += f"Output from {command}\n{output}\n"
4465
4494
 
4466
- print(accumulated_output)
4495
+ self.io.tool_output(accumulated_output)
4467
4496
 
4468
4497
  if accumulated_output.strip() and await self.io.confirm_ask(
4469
4498
  "Add command output to the chat?", allow_never=True
@@ -37,7 +37,7 @@ class RunCommand(BaseCommand):
37
37
  )
38
38
 
39
39
  if coder.args.tui:
40
- print(combined_output)
40
+ coder.io.tool_warning(combined_output)
41
41
  else:
42
42
  # This print statement, for whatever reason,
43
43
  # allows the thread to properly yield control of the terminal
@@ -159,6 +159,12 @@ class BaseCommand(ABC, metaclass=CommandMeta):
159
159
  await new_coder.generate(user_message=user_msg, preproc=False)
160
160
  coder.coder_commit_hashes = new_coder.coder_commit_hashes
161
161
 
162
+ # Transfer files added during the /agent (or other temp-coder) turn back to the original
163
+ if new_coder.abs_fnames - original_coder.abs_fnames:
164
+ original_coder.abs_fnames.update(new_coder.abs_fnames)
165
+ if new_coder.abs_read_only_fnames - original_coder.abs_read_only_fnames:
166
+ original_coder.abs_read_only_fnames.update(new_coder.abs_read_only_fnames)
167
+
162
168
  # Clear manager and restore original state
163
169
  ConversationService.get_manager(original_coder).initialize(
164
170
  reset=True,
@@ -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
 
@@ -571,11 +571,13 @@ class AgentService:
571
571
  Returns:
572
572
  The ``asyncio.Task`` wrapping ``generate()``.
573
573
  """
574
+ from cecli.commands import SwitchCoderSignal
574
575
 
575
576
  async def _run_generate():
576
577
  info.status = SubAgentStatus.RUNNING
577
578
  try:
578
579
  await info.coder.generate(user_message=user_message, preproc=True)
580
+
579
581
  if info.status == SubAgentStatus.RUNNING:
580
582
  info.status = SubAgentStatus.FINISHED
581
583
  info.summary = info.summary or DEFAULT_SUMMARY_COMPLETED
@@ -597,6 +599,8 @@ class AgentService:
597
599
  )
598
600
  await self._inject_sub_agent_result(info)
599
601
  raise
602
+ except SwitchCoderSignal:
603
+ raise
600
604
 
601
605
  # Cancel any previous generate task to prevent duplicate concurrent generates
602
606
  if info.generate_task is not None and not info.generate_task.done():
@@ -604,8 +608,15 @@ class AgentService:
604
608
 
605
609
  task = asyncio.create_task(_run_generate())
606
610
  info.generate_task = task
611
+
612
+ def _raise_if_signal(exc):
613
+ if isinstance(exc, SwitchCoderSignal):
614
+ raise exc
615
+
607
616
  # Suppress "Task exception was never retrieved" for fire-and-forget tasks
608
- task.add_done_callback(lambda t: t.exception() if not t.cancelled() else None)
617
+ task.add_done_callback(
618
+ lambda t: _raise_if_signal(t.exception()) if not t.cancelled() else None
619
+ )
609
620
  return task
610
621
 
611
622
  async def _inject_sub_agent_result(self, info: SubAgentInfo) -> None:
@@ -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