cecli-dev 1.2.3rc3__tar.gz → 1.2.3rc4__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 (832) hide show
  1. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/PKG-INFO +1 -1
  2. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/_version.py +3 -3
  3. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/base_coder.py +1 -1
  4. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/load_mcp.py +2 -2
  5. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/remove_mcp.py +1 -1
  6. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/utils/helpers.py +2 -2
  7. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/agents/service.py +9 -1
  8. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/responses.py +17 -2
  9. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/mcp/manager.py +3 -3
  10. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/mcp/server.py +1 -1
  11. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/command.py +8 -0
  12. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/resource_manager.py +4 -4
  13. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/utils/base_tool.py +21 -17
  14. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/validations/validations.py +18 -6
  15. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli_dev.egg-info/PKG-INFO +1 -1
  16. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli_dev.egg-info/SOURCES.txt +2 -0
  17. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli_dev.egg-info/scm_file_list.json +2 -0
  18. cecli_dev-1.2.3rc4/cecli_dev.egg-info/scm_version.json +8 -0
  19. cecli_dev-1.2.3rc4/tests/mcp/test_server_name_normalization.py +240 -0
  20. cecli_dev-1.2.3rc4/tests/tools/test_command_format_output.py +117 -0
  21. cecli_dev-1.2.3rc3/cecli_dev.egg-info/scm_version.json +0 -8
  22. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.dockerignore +0 -0
  23. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.flake8 +0 -0
  24. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.gitattributes +0 -0
  25. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  26. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/check_pypi_version.yml +0 -0
  27. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/docker-build-test.yml +0 -0
  28. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/docker-release.yml +0 -0
  29. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/issues.yml +0 -0
  30. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/pages.yml +0 -0
  31. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/pre-commit.yml +0 -0
  32. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/release.yml +0 -0
  33. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/ubuntu-tests.yml +0 -0
  34. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/windows-tests.yml +0 -0
  35. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.github/workflows/windows_check_pypi_version.yml +0 -0
  36. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.gitignore +0 -0
  37. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/.pre-commit-config.yaml +0 -0
  38. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/CHANGELOG.md +0 -0
  39. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/CNAME +0 -0
  40. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/CONTRIBUTING.md +0 -0
  41. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/HISTORY.md +0 -0
  42. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/LICENSE.txt +0 -0
  43. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/MANIFEST.in +0 -0
  44. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/README.md +0 -0
  45. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/Dockerfile +0 -0
  46. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/README.md +0 -0
  47. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/__init__.py +0 -0
  48. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/benchmark.py +0 -0
  49. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/benchmark_classic.py +0 -0
  50. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/clone-exercism.sh +0 -0
  51. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/cpp-test.sh +0 -0
  52. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/docker.sh +0 -0
  53. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/docker_build.sh +0 -0
  54. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/install-docker-ubuntu.sh +0 -0
  55. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/npm-test.sh +0 -0
  56. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/over_time.py +0 -0
  57. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/plot.sh +0 -0
  58. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/plots.py +0 -0
  59. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/problem_stats.py +0 -0
  60. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/prompts.py +0 -0
  61. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/refactor_tools.py +0 -0
  62. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/rsync.sh +0 -0
  63. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/rungrid.py +0 -0
  64. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/swe-bench-lite.txt +0 -0
  65. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/swe-bench.txt +0 -0
  66. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/swe_bench.py +0 -0
  67. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/test_benchmark.py +0 -0
  68. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/variations.1.sh +0 -0
  69. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/variations.2.sh +0 -0
  70. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/variations.3.sh +0 -0
  71. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/benchmark/variations.4.sh +0 -0
  72. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/__init__.py +0 -0
  73. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/__main__.py +0 -0
  74. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/args.py +0 -0
  75. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/args_formatter.py +0 -0
  76. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/change_tracker.py +0 -0
  77. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/__init__.py +0 -0
  78. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/agent_coder.py +0 -0
  79. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/architect_coder.py +0 -0
  80. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/ask_coder.py +0 -0
  81. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/chat_chunks.py +0 -0
  82. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/context_coder.py +0 -0
  83. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/copypaste_coder.py +0 -0
  84. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/editblock_coder.py +0 -0
  85. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/editblock_fenced_coder.py +0 -0
  86. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/editblock_func_coder.py +0 -0
  87. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  88. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/editor_editblock_coder.py +0 -0
  89. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/editor_whole_coder.py +0 -0
  90. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/hashline_coder.py +0 -0
  91. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/help_coder.py +0 -0
  92. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/patch_coder.py +0 -0
  93. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/search_replace.py +0 -0
  94. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/shell.py +0 -0
  95. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/single_wholefile_func_coder.py +0 -0
  96. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/sub_agent_coder.py +0 -0
  97. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/udiff_coder.py +0 -0
  98. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/udiff_simple.py +0 -0
  99. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/wholefile_coder.py +0 -0
  100. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/coders/wholefile_func_coder.py +0 -0
  101. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/__init__.py +0 -0
  102. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/add.py +0 -0
  103. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/agent.py +0 -0
  104. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/agent_model.py +0 -0
  105. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/agent_tree.py +0 -0
  106. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/architect.py +0 -0
  107. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/ask.py +0 -0
  108. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/auto_memory.py +0 -0
  109. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/chat_mode.py +0 -0
  110. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/clear.py +0 -0
  111. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/code.py +0 -0
  112. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/command_prefix.py +0 -0
  113. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/commit.py +0 -0
  114. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/compact.py +0 -0
  115. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/context.py +0 -0
  116. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/context_blocks.py +0 -0
  117. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/context_management.py +0 -0
  118. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/copy.py +0 -0
  119. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/copy_context.py +0 -0
  120. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/core.py +0 -0
  121. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/diff.py +0 -0
  122. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/drop.py +0 -0
  123. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/editor.py +0 -0
  124. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/editor_model.py +0 -0
  125. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/exclude_skill.py +0 -0
  126. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/exit.py +0 -0
  127. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/git.py +0 -0
  128. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/hashline.py +0 -0
  129. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/help.py +0 -0
  130. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/history_search.py +0 -0
  131. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/hooks.py +0 -0
  132. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/hot_reload.py +0 -0
  133. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/include_skill.py +0 -0
  134. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/lint.py +0 -0
  135. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/list_mcp.py +0 -0
  136. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/list_queue.py +0 -0
  137. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/list_sessions.py +0 -0
  138. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/list_skills.py +0 -0
  139. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/load.py +0 -0
  140. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/load_hook.py +0 -0
  141. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/load_session.py +0 -0
  142. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/load_skill.py +0 -0
  143. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/ls.py +0 -0
  144. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/map.py +0 -0
  145. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/map_refresh.py +0 -0
  146. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/merge.py +0 -0
  147. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/model.py +0 -0
  148. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/models.py +0 -0
  149. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/multiline_mode.py +0 -0
  150. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/paste.py +0 -0
  151. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/queue.py +0 -0
  152. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/quit.py +0 -0
  153. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/read_only.py +0 -0
  154. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/read_only_stub.py +0 -0
  155. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/reap_agent.py +0 -0
  156. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/reasoning_effort.py +0 -0
  157. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/remove_hook.py +0 -0
  158. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/remove_memory.py +0 -0
  159. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/remove_queue.py +0 -0
  160. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/remove_skill.py +0 -0
  161. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/report.py +0 -0
  162. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/reset.py +0 -0
  163. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/rules.py +0 -0
  164. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/run.py +0 -0
  165. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/save.py +0 -0
  166. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/save_session.py +0 -0
  167. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/search_memory.py +0 -0
  168. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/settings.py +0 -0
  169. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/spawn_agent.py +0 -0
  170. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/switch_agent.py +0 -0
  171. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/terminal_data/linux.keytab +0 -0
  172. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/terminal_setup.py +0 -0
  173. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/test.py +0 -0
  174. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/think_tokens.py +0 -0
  175. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/tokens.py +0 -0
  176. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/undo.py +0 -0
  177. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/utils/__init__.py +0 -0
  178. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/utils/base_command.py +0 -0
  179. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/utils/registry.py +0 -0
  180. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/utils/save_load_manager.py +0 -0
  181. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/voice.py +0 -0
  182. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/weak_model.py +0 -0
  183. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/web.py +0 -0
  184. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/commands/workspace.py +0 -0
  185. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/decoding.py +0 -0
  186. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/deprecated_args.py +0 -0
  187. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/diffs.py +0 -0
  188. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/dump.py +0 -0
  189. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/editor.py +0 -0
  190. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/exceptions.py +0 -0
  191. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/format_settings.py +0 -0
  192. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/help.py +0 -0
  193. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/help_pats.py +0 -0
  194. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/__init__.py +0 -0
  195. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/agents/__init__.py +0 -0
  196. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/agents/config.py +0 -0
  197. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/agents/defaults/__init__.py +0 -0
  198. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/agents/defaults/memorizer.md +0 -0
  199. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/agents/defaults/worker.md +0 -0
  200. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/background_commands.py +0 -0
  201. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/command_parser.py +0 -0
  202. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/command_queue.py +0 -0
  203. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/config_utils.py +0 -0
  204. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/conversation/__init__.py +0 -0
  205. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/conversation/base_message.py +0 -0
  206. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/conversation/files.py +0 -0
  207. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/conversation/integration.py +0 -0
  208. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/conversation/manager.py +0 -0
  209. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/conversation/service.py +0 -0
  210. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/conversation/tags.py +0 -0
  211. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/conversation/utils.py +0 -0
  212. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/copypaste.py +0 -0
  213. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/coroutines.py +0 -0
  214. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/crypto.py +0 -0
  215. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/file_searcher.py +0 -0
  216. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/file_system/__init__.py +0 -0
  217. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/file_system/builders.py +0 -0
  218. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/file_system/ignore.py +0 -0
  219. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/file_system/ngram_index.py +0 -0
  220. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/file_system/service.py +0 -0
  221. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/file_system/trie_index.py +0 -0
  222. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/grep_ast/__init__.py +0 -0
  223. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/grep_ast/dump.py +0 -0
  224. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  225. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/grep_ast/main.py +0 -0
  226. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/grep_ast/parsers.py +0 -0
  227. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/grep_ast/tsl.py +0 -0
  228. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/hashline.py +0 -0
  229. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/hashpos/__init__.py +0 -0
  230. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/hashpos/hashpos.py +0 -0
  231. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  232. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/hashpos/transformations.py +0 -0
  233. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/io_proxy.py +0 -0
  234. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/leak_detect.py +0 -0
  235. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/__init__.py +0 -0
  236. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/aws_sigv4.py +0 -0
  237. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/config.py +0 -0
  238. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/domains/__init__.py +0 -0
  239. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/domains/bedrock.py +0 -0
  240. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/domains/chat.py +0 -0
  241. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/domains/gemini.py +0 -0
  242. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/domains/messages.py +0 -0
  243. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/domains/responses.py +0 -0
  244. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/formatters/__init__.py +0 -0
  245. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/formatters/reasoning.py +0 -0
  246. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/formatters/thinking.py +0 -0
  247. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/identifiers.py +0 -0
  248. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/litellm_compat.py +0 -0
  249. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/pipeline.py +0 -0
  250. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/__init__.py +0 -0
  251. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/anthropic.py +0 -0
  252. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/azure.py +0 -0
  253. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/base.py +0 -0
  254. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/bedrock.py +0 -0
  255. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/bedrock_mantle.py +0 -0
  256. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/deepseek.py +0 -0
  257. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/gemini.py +0 -0
  258. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/github_copilot.py +0 -0
  259. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/meta.py +0 -0
  260. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/openai.py +0 -0
  261. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/providers/openrouter.py +0 -0
  262. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/runtime.py +0 -0
  263. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/types.py +0 -0
  264. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/llms/utils.py +0 -0
  265. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/lock_detect.py +0 -0
  266. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/memory/__init__.py +0 -0
  267. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/memory/db.py +0 -0
  268. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/memory/utils.py +0 -0
  269. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/memory_control.py +0 -0
  270. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/__init__.py +0 -0
  271. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/agent.py +0 -0
  272. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/api.py +0 -0
  273. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/formatters/__init__.py +0 -0
  274. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/formatters/reasoning.py +0 -0
  275. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/formatters/thinking.py +0 -0
  276. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/identifiers.py +0 -0
  277. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/llm.py +0 -0
  278. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/pipeline.py +0 -0
  279. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_config/utils.py +0 -0
  280. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/model_providers.py +0 -0
  281. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/monorepo/__init__.py +0 -0
  282. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/monorepo/config.py +0 -0
  283. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/monorepo/local_workspace.py +0 -0
  284. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/monorepo/project.py +0 -0
  285. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/monorepo/workspace.py +0 -0
  286. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/monorepo/worktree.py +0 -0
  287. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/nested.py +0 -0
  288. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/observations/__init__.py +0 -0
  289. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/observations/service.py +0 -0
  290. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/orchestration/__init__.py +0 -0
  291. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/orchestration/agent_proxy.py +0 -0
  292. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/orchestration/environment.py +0 -0
  293. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/orchestration/region_resolver.py +0 -0
  294. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/orchestration/safe_methods.py +0 -0
  295. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/orchestration/security.py +0 -0
  296. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/orchestration/service.py +0 -0
  297. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/orchestration/tool_proxy.py +0 -0
  298. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/plugin_manager.py +0 -0
  299. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/profiler.py +0 -0
  300. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/queues.py +0 -0
  301. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/requests.py +0 -0
  302. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/server/__init__.py +0 -0
  303. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/server/acp/__init__.py +0 -0
  304. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/server/acp/bridge.py +0 -0
  305. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/server/acp/models.py +0 -0
  306. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/server/acp/protocol.py +0 -0
  307. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/server/signals.py +0 -0
  308. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/server/ws_server.py +0 -0
  309. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/similarity.py +0 -0
  310. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/skills.py +0 -0
  311. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/helpers/threading.py +0 -0
  312. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/history.py +0 -0
  313. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/hooks/__init__.py +0 -0
  314. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/hooks/base.py +0 -0
  315. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/hooks/helpers.py +0 -0
  316. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/hooks/integration.py +0 -0
  317. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/hooks/manager.py +0 -0
  318. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/hooks/registry.py +0 -0
  319. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/hooks/service.py +0 -0
  320. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/hooks/types.py +0 -0
  321. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/http.py +0 -0
  322. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/interruptible_input.py +0 -0
  323. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/io.py +0 -0
  324. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/linter.py +0 -0
  325. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/llm.py +0 -0
  326. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/main.py +0 -0
  327. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/mcp/__init__.py +0 -0
  328. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/mcp/oauth.py +0 -0
  329. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/mcp/utils.py +0 -0
  330. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/mdstream.py +0 -0
  331. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/models.py +0 -0
  332. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/onboarding.py +0 -0
  333. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/__init__.py +0 -0
  334. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/agent.yml +0 -0
  335. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/architect.yml +0 -0
  336. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/ask.yml +0 -0
  337. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/base.yml +0 -0
  338. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/context.yml +0 -0
  339. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/copypaste.yml +0 -0
  340. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/editblock.yml +0 -0
  341. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/editblock_fenced.yml +0 -0
  342. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/editblock_func.yml +0 -0
  343. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/editor_diff_fenced.yml +0 -0
  344. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/editor_editblock.yml +0 -0
  345. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/editor_whole.yml +0 -0
  346. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/hashline.yml +0 -0
  347. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/help.yml +0 -0
  348. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/patch.yml +0 -0
  349. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/single_wholefile_func.yml +0 -0
  350. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/subagent.yml +0 -0
  351. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/udiff.yml +0 -0
  352. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/udiff_simple.yml +0 -0
  353. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/utils/__init__.py +0 -0
  354. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/utils/registry.py +0 -0
  355. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/utils/system.py +0 -0
  356. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/wholefile.yml +0 -0
  357. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/prompts/wholefile_func.yml +0 -0
  358. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  359. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  360. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  361. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  362. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  363. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  364. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  365. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  366. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  367. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  368. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  369. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  370. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  371. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  372. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  373. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  374. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  375. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  376. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  377. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  378. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  379. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  380. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  381. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  382. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  383. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  384. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  385. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  386. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  387. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  388. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  389. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  390. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/README.md +0 -0
  391. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  392. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  393. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  394. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  395. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  396. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  397. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  398. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  399. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  400. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  401. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  402. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  403. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  404. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  405. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  406. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  407. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  408. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  409. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  410. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  411. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  412. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  413. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  414. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  415. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  416. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  417. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  418. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/reasoning_tags.py +0 -0
  419. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/repo.py +0 -0
  420. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/repomap.py +0 -0
  421. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/report.py +0 -0
  422. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/resources/__init__.py +0 -0
  423. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/resources/model-metadata.ext.json +0 -0
  424. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/resources/model-metadata.json +0 -0
  425. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/resources/model-settings-condensed.yml +0 -0
  426. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/resources/model-settings.yml +0 -0
  427. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/resources/providers.json +0 -0
  428. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/run_cmd.py +0 -0
  429. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/scrape.py +0 -0
  430. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/sendchat.py +0 -0
  431. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/sessions.py +0 -0
  432. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/signals.py +0 -0
  433. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/special.py +0 -0
  434. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tests/test_queue_commands.py +0 -0
  435. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/__init__.py +0 -0
  436. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/_yield.py +0 -0
  437. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/delegate.py +0 -0
  438. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/edit_file.py +0 -0
  439. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/explore_code.py +0 -0
  440. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/git_branch.py +0 -0
  441. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/git_diff.py +0 -0
  442. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/git_log.py +0 -0
  443. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/git_remote.py +0 -0
  444. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/git_show.py +0 -0
  445. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/git_status.py +0 -0
  446. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/grep.py +0 -0
  447. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/ls.py +0 -0
  448. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/orchestrate.py +0 -0
  449. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/read_file.py +0 -0
  450. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/replace_facts.py +0 -0
  451. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/search_facts.py +0 -0
  452. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/thinking.py +0 -0
  453. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/undo_change.py +0 -0
  454. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/update_todo_list.py +0 -0
  455. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/utils/__init__.py +0 -0
  456. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/utils/helpers.py +0 -0
  457. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/utils/output.py +0 -0
  458. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/utils/registry.py +0 -0
  459. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/utils/responses.py +0 -0
  460. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tools/validations/__init__.py +0 -0
  461. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/__init__.py +0 -0
  462. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/app.py +0 -0
  463. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/io.py +0 -0
  464. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/styles.tcss +0 -0
  465. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/__init__.py +0 -0
  466. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/completion_bar.py +0 -0
  467. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/file_list.py +0 -0
  468. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/footer.py +0 -0
  469. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/input_area.py +0 -0
  470. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/input_container.py +0 -0
  471. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/key_hints.py +0 -0
  472. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/output.py +0 -0
  473. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/output_alt.bak +0 -0
  474. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/selectable_log.py +0 -0
  475. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/status_bar.py +0 -0
  476. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/widgets/subagent_pills.py +0 -0
  477. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/tui/worker.py +0 -0
  478. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/urls.py +0 -0
  479. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/utils.py +0 -0
  480. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/versioncheck.py +0 -0
  481. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/voice.py +0 -0
  482. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/waiting.py +0 -0
  483. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/watch.py +0 -0
  484. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/watch_prompts.py +0 -0
  485. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/blame.md +0 -0
  486. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/get-started.md +0 -0
  487. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/help-tip.md +0 -0
  488. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/help.md +0 -0
  489. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/install.md +0 -0
  490. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/keys.md +0 -0
  491. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/model-warnings.md +0 -0
  492. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/multi-line.md +0 -0
  493. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/python-m-aider.md +0 -0
  494. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/recording.css +0 -0
  495. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/recording.md +0 -0
  496. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_includes/works-best.md +0 -0
  497. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_features.scss +0 -0
  498. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_footer.scss +0 -0
  499. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_hero.scss +0 -0
  500. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_info.scss +0 -0
  501. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_layout.scss +0 -0
  502. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_reset.scss +0 -0
  503. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_testimonials.scss +0 -0
  504. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_typography.scss +0 -0
  505. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/_variables.scss +0 -0
  506. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/custom/custom.scss +0 -0
  507. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/_sass/global-overrides.scss +0 -0
  508. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docmd.config.json +0 -0
  509. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/cecli-temp-logo-favicon.svg +0 -0
  510. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/adv-model-settings.md +0 -0
  511. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/agent-mode.md +0 -0
  512. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/api-keys.md +0 -0
  513. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/api.md +0 -0
  514. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/conf.md +0 -0
  515. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/custom-commands.md +0 -0
  516. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  517. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/dotenv.md +0 -0
  518. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/editor.md +0 -0
  519. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/hooks.md +0 -0
  520. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/mcp.md +0 -0
  521. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/model-aliases.md +0 -0
  522. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/model-configuration.md +0 -0
  523. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/model-providers.md +0 -0
  524. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/options.md +0 -0
  525. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/persistent-memory.md +0 -0
  526. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/reasoning.md +0 -0
  527. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/retries.md +0 -0
  528. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/security.md +0 -0
  529. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/skills.md +0 -0
  530. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/subagents.md +0 -0
  531. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/tui.md +0 -0
  532. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config/workspaces.md +0 -0
  533. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/config.md +0 -0
  534. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/git.md +0 -0
  535. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/index.md +0 -0
  536. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/install/docker.md +0 -0
  537. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/install.md +0 -0
  538. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/languages.md +0 -0
  539. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  540. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/legal/privacy.md +0 -0
  541. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/anthropic.md +0 -0
  542. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/azure.md +0 -0
  543. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/bedrock.md +0 -0
  544. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/cohere.md +0 -0
  545. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/deepseek.md +0 -0
  546. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/gemini.md +0 -0
  547. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/github.md +0 -0
  548. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/groq.md +0 -0
  549. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/lm-studio.md +0 -0
  550. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/ollama.md +0 -0
  551. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/openai-compat.md +0 -0
  552. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/openai.md +0 -0
  553. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/opencode-go.md +0 -0
  554. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/openrouter.md +0 -0
  555. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/other.md +0 -0
  556. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/vertex.md +0 -0
  557. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/warnings.md +0 -0
  558. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms/xai.md +0 -0
  559. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/llms.md +0 -0
  560. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/more/analytics.md +0 -0
  561. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/more/edit-formats.md +0 -0
  562. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/more/infinite-output.md +0 -0
  563. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/more-info.md +0 -0
  564. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/repomap.md +0 -0
  565. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/scripting.md +0 -0
  566. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  567. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  568. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/troubleshooting/imports.md +0 -0
  569. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  570. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/troubleshooting/support.md +0 -0
  571. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  572. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  573. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/troubleshooting.md +0 -0
  574. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/commands.md +0 -0
  575. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/conventions.md +0 -0
  576. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/copypaste.md +0 -0
  577. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/images-urls.md +0 -0
  578. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/lint-test.md +0 -0
  579. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/modes.md +0 -0
  580. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/not-code.md +0 -0
  581. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/notifications.md +0 -0
  582. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/optional.md +0 -0
  583. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/sessions.md +0 -0
  584. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/tips.md +0 -0
  585. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/voice.md +0 -0
  586. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage/watch.md +0 -0
  587. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/docs/usage.md +0 -0
  588. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/package-lock.json +0 -0
  589. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/package.json +0 -0
  590. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli/website/share/index.md +0 -0
  591. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli_dev.egg-info/dependency_links.txt +0 -0
  592. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli_dev.egg-info/entry_points.txt +0 -0
  593. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli_dev.egg-info/requires.txt +0 -0
  594. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/cecli_dev.egg-info/top_level.txt +0 -0
  595. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/docker/Dockerfile +0 -0
  596. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  597. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/pyproject.toml +0 -0
  598. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/pytest.ini +0 -0
  599. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/common-constraints.txt +0 -0
  600. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/requirements-dev.in +0 -0
  601. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/requirements-dev.txt +0 -0
  602. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/requirements-help.in +0 -0
  603. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/requirements-help.txt +0 -0
  604. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/requirements-playwright.in +0 -0
  605. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/requirements-playwright.txt +0 -0
  606. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/requirements.in +0 -0
  607. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements/tree-sitter.in +0 -0
  608. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/requirements.txt +0 -0
  609. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/30k-image.py +0 -0
  610. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/__init__.py +0 -0
  611. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/blame.py +0 -0
  612. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/clean_metadata.py +0 -0
  613. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/compare-message-history.py +0 -0
  614. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/condense_model_settings.py +0 -0
  615. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/cost_analyzer.py +0 -0
  616. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/cost_calculator.py +0 -0
  617. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/dl_icons.py +0 -0
  618. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/docmd_build.sh +0 -0
  619. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/filter-chat-mode.js +0 -0
  620. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/generate_providers.py +0 -0
  621. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/get_contributor_list.js +0 -0
  622. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/get_hashline.py +0 -0
  623. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/history_prompts.py +0 -0
  624. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/homepage.py +0 -0
  625. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/issues.py +0 -0
  626. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/logo_svg.py +0 -0
  627. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/optimize_tokens.sh +0 -0
  628. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/pip-compile.sh +0 -0
  629. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/recording_audio.py +0 -0
  630. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/redact-cast.py +0 -0
  631. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/rename_to_cecli.py +0 -0
  632. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/tmux_record.sh +0 -0
  633. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/tsl_pack_langs.py +0 -0
  634. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/update-blame.sh +0 -0
  635. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/update-docs.sh +0 -0
  636. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/update-history.py +0 -0
  637. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/versionbump.py +0 -0
  638. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/scripts/yank-old-versions.py +0 -0
  639. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/setup.cfg +0 -0
  640. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/shim.pyproject.toml +0 -0
  641. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/__init__.py +0 -0
  642. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/__init__.py +0 -0
  643. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/conftest.py +0 -0
  644. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_agent_config_merge.py +0 -0
  645. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_aws_credentials.py +0 -0
  646. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_background_commands.py +0 -0
  647. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_coder.py +0 -0
  648. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_commands.py +0 -0
  649. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_custom_commands.py +0 -0
  650. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_deprecated.py +0 -0
  651. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_editblock.py +0 -0
  652. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_editor.py +0 -0
  653. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_exceptions.py +0 -0
  654. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_find_or_blocks.py +0 -0
  655. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_hashline.py +0 -0
  656. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_hashline_closure.py +0 -0
  657. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_history.py +0 -0
  658. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_io.py +0 -0
  659. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_linter.py +0 -0
  660. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_main.py +0 -0
  661. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_model_info_manager.py +0 -0
  662. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_model_provider_manager.py +0 -0
  663. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_models.py +0 -0
  664. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_onboarding.py +0 -0
  665. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_plugin_manager.py +0 -0
  666. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_prompts.py +0 -0
  667. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_reasoning.py +0 -0
  668. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_repo.py +0 -0
  669. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_repomap.py +0 -0
  670. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_run_cmd.py +0 -0
  671. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_sanity_check_repo.py +0 -0
  672. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_scripting.py +0 -0
  673. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_select_selector.py +0 -0
  674. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_sendchat.py +0 -0
  675. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_session_args.py +0 -0
  676. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_session_crypto.py +0 -0
  677. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_sessions.py +0 -0
  678. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_sessions_manager.py +0 -0
  679. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_skills.py +0 -0
  680. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_special.py +0 -0
  681. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_spinner.py +0 -0
  682. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_ssl_verification.py +0 -0
  683. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_udiff.py +0 -0
  684. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_urls.py +0 -0
  685. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_voice.py +0 -0
  686. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_watch.py +0 -0
  687. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/basic/test_wholefile.py +0 -0
  688. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/coders/test_coder_switching.py +0 -0
  689. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/coders/test_copypaste_coder.py +0 -0
  690. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/coders/test_tool_call_consolidation.py +0 -0
  691. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/commands/test_auto_memory.py +0 -0
  692. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/commands/test_compaction.py +0 -0
  693. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/commands/test_remove_memory.py +0 -0
  694. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/commands/test_search_memory.py +0 -0
  695. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/commands/test_switch_agent.py +0 -0
  696. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/conftest.py +0 -0
  697. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/conversations/test_conversation_integration.py +0 -0
  698. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/conversations/test_conversation_system.py +0 -0
  699. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  700. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/chat-history.md +0 -0
  701. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/arduino/test.ino +0 -0
  702. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/bash/test.sh +0 -0
  703. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/c/test.c +0 -0
  704. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/chatito/test.chatito +0 -0
  705. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/clojure/test.clj +0 -0
  706. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  707. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/cpp/test.cpp +0 -0
  708. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/csharp/test.cs +0 -0
  709. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/d/test.d +0 -0
  710. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/dart/test.dart +0 -0
  711. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/elisp/test.el +0 -0
  712. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/elixir/test.ex +0 -0
  713. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/elm/test.elm +0 -0
  714. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/gleam/test.gleam +0 -0
  715. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/go/test.go +0 -0
  716. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/haskell/test.hs +0 -0
  717. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/hcl/test.tf +0 -0
  718. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/java/test.java +0 -0
  719. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/javascript/test.js +0 -0
  720. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/kotlin/test.kt +0 -0
  721. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/lua/test.lua +0 -0
  722. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/matlab/test.m +0 -0
  723. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/ocaml/test.ml +0 -0
  724. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  725. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/php/test.php +0 -0
  726. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/pony/test.pony +0 -0
  727. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/properties/test.properties +0 -0
  728. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/python/test.py +0 -0
  729. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/ql/test.ql +0 -0
  730. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/r/test.r +0 -0
  731. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/racket/test.rkt +0 -0
  732. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/ruby/test.rb +0 -0
  733. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/rust/test.rs +0 -0
  734. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/scala/test.scala +0 -0
  735. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/solidity/test.sol +0 -0
  736. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/swift/test.swift +0 -0
  737. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/tsx/test.tsx +0 -0
  738. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/typescript/test.ts +0 -0
  739. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/udev/test.rules +0 -0
  740. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/languages/zig/test.zig +0 -0
  741. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/sample-code-base/sample.js +0 -0
  742. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/sample-code-base/sample.py +0 -0
  743. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  744. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/watch.js +0 -0
  745. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/watch.lisp +0 -0
  746. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/watch.py +0 -0
  747. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/fixtures/watch_question.js +0 -0
  748. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/help/test_help.py +0 -0
  749. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/monorepo/LOCAL_WORKSPACE.md +0 -0
  750. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/monorepo/test_config.py +0 -0
  751. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/monorepo/test_config_active.py +0 -0
  752. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/monorepo/test_ignore_logic.py +0 -0
  753. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/monorepo/test_local_workspace.py +0 -0
  754. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/monorepo/test_repomap_workspace.py +0 -0
  755. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/monorepo/test_workspace.py +0 -0
  756. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/observations/test_observation_service.py +0 -0
  757. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/server/acp/__init__.py +0 -0
  758. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/server/acp/test_bridge.py +0 -0
  759. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/server/acp/test_dispatch.py +0 -0
  760. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/server/acp/test_models.py +0 -0
  761. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/server/acp/test_protocol.py +0 -0
  762. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_api_base.py +0 -0
  763. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_aws_sigv4.py +0 -0
  764. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_cache_control.py +0 -0
  765. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_github_copilot_auth.py +0 -0
  766. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_hyperscalers.py +0 -0
  767. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_messages_stream.py +0 -0
  768. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_messages_wire.py +0 -0
  769. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_providers_json.py +0 -0
  770. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_reasoning_config.py +0 -0
  771. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_reasoning_extract.py +0 -0
  772. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_llms_vision.py +0 -0
  773. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_memory_control.py +0 -0
  774. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_model_config.py +0 -0
  775. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/helpers/test_orchestration.py +0 -0
  776. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/hooks/__init__.py +0 -0
  777. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/hooks/test_base.py +0 -0
  778. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/hooks/test_manager.py +0 -0
  779. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/hooks/test_registry.py +0 -0
  780. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/integration/test_agent_mcp_management.py +0 -0
  781. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/integration/test_config_loading.py +0 -0
  782. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/integration/test_mcp_management.py +0 -0
  783. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/__init__.py +0 -0
  784. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/conftest.py +0 -0
  785. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/mock_server.py +0 -0
  786. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_keepalive_concurrency.py +0 -0
  787. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_keepalive_config.py +0 -0
  788. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_keepalive_integration.py +0 -0
  789. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_keepalive_logging.py +0 -0
  790. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_keepalive_resilience.py +0 -0
  791. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_keepalive_unit.py +0 -0
  792. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_manager.py +0 -0
  793. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_manager_retry.py +0 -0
  794. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/mcp/test_server_sdk_compat.py +0 -0
  795. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/scrape/test_playwright_disable.py +0 -0
  796. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/scrape/test_scrape.py +0 -0
  797. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/__init__.py +0 -0
  798. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/conftest.py +0 -0
  799. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/test_commands.py +0 -0
  800. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/test_config.py +0 -0
  801. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/test_delegate.py +0 -0
  802. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/test_finished.py +0 -0
  803. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/test_io_proxy.py +0 -0
  804. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/test_service.py +0 -0
  805. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/subagents/test_sub_agent_coder.py +0 -0
  806. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/test_requests.py +0 -0
  807. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_edit_file_format_output.py +0 -0
  808. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_extractions.py +0 -0
  809. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_get_lines.py +0 -0
  810. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_git_branch.py +0 -0
  811. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_git_diff.py +0 -0
  812. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_grep.py +0 -0
  813. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_insert_block.py +0 -0
  814. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_read_range_execute.py +0 -0
  815. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_registry.py +0 -0
  816. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_remove_mcp_tool.py +0 -0
  817. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_tool_arguments.py +0 -0
  818. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/test_tools_load_mcp_tool.py +0 -0
  819. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tools/validations.py +0 -0
  820. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/tui/test_app.py +0 -0
  821. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/conftest.py +0 -0
  822. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_deep_merge.py +0 -0
  823. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_edge_cases.py +0 -0
  824. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_load_mcp.py +0 -0
  825. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_performance.py +0 -0
  826. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_queues.py +0 -0
  827. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_remove_mcp.py +0 -0
  828. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_shallow_merge.py +0 -0
  829. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_signals.py +0 -0
  830. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_unit_load_mcp_tool.py +0 -0
  831. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
  832. {cecli_dev-1.2.3rc3 → cecli_dev-1.2.3rc4}/tests/unit/test_ws_server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 1.2.3rc3
3
+ Version: 1.2.3rc4
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 = '1.2.3rc3'
22
- __version_tuple__ = version_tuple = (1, 2, 3, 'rc3')
21
+ __version__ = version = '1.2.3rc4'
22
+ __version_tuple__ = version_tuple = (1, 2, 3, 'rc4')
23
23
 
24
- __commit_id__ = commit_id = 'g3477cad89'
24
+ __commit_id__ = commit_id = 'g0cce57c1b'
@@ -3363,7 +3363,7 @@ class Coder(metaclass=UsageMeta):
3363
3363
  continue
3364
3364
 
3365
3365
  for tool in server_tools:
3366
- if server_name == "Local":
3366
+ if server_name.lower() == "local":
3367
3367
  # Apply per-instance tool name filtering
3368
3368
  tool_name = tool.get("function", {}).get("name", "")
3369
3369
  if (
@@ -60,13 +60,13 @@ class LoadMcpCommand(BaseCommand):
60
60
  # This moves them from "implicitly include all" to explicit state-machine
61
61
  # management, preventing the new server from being implicitly available
62
62
  # to all coders.
63
- connected_names = {s.name for s in coder.mcp_manager.connected_servers}
63
+ connected_names = {s.name.lower() for s in coder.mcp_manager.connected_servers}
64
64
  if connected_names:
65
65
  for c in iter_all_coders(coder):
66
66
  if not c.registered_servers["included"]:
67
67
  included = set(connected_names) - c.registered_servers["excluded"]
68
68
  if c.edit_format in ("agent", "subagent"):
69
- included.add("Local") # "local" is always available
69
+ included.add("local") # "local" is always available
70
70
  c.registered_servers["included"] = included
71
71
 
72
72
  # Process connections with interrupt support
@@ -49,7 +49,7 @@ class RemoveMcpCommand(BaseCommand):
49
49
  server_name = item.name if hasattr(item, "name") else item
50
50
 
51
51
  # Never remove the "local" server
52
- if server_name == "Local":
52
+ if server_name.lower() == "local":
53
53
  results.append("Cannot remove 'Local' server")
54
54
  continue
55
55
 
@@ -348,7 +348,7 @@ def update_server_registration(coder, server_name, operation, force=False):
348
348
  When False, respect the opposing set (excluded wins
349
349
  for include, included wins for exclude).
350
350
  """
351
- name = server_name
351
+ name = server_name.lower()
352
352
  included = coder.registered_servers["included"]
353
353
  excluded = coder.registered_servers["excluded"]
354
354
 
@@ -379,7 +379,7 @@ def is_server_globally_excluded(coder, server_name):
379
379
  Returns:
380
380
  True if the server is excluded from every coder.
381
381
  """
382
- name = server_name
382
+ name = server_name.lower()
383
383
  for other in iter_all_coders(coder):
384
384
  incl = other.registered_servers["included"]
385
385
  excl = other.registered_servers["excluded"]
@@ -565,11 +565,19 @@ class AgentService:
565
565
  )
566
566
 
567
567
  if agent_config:
568
+ # Reset the per-instance tool/server filters so AgentCoder.post_init()
569
+ # rebuilds them from *this* sub-agent's own agent-config (tools_includelist/
570
+ # excludelist, servers_includelist/excludelist) instead of inheriting the
571
+ # parent's filters verbatim. Deliberately do NOT reset mcp_manager here:
572
+ # doing so used to discard the parent's already-connected MCP servers and
573
+ # replace them with a brand new, empty manager, making it impossible for a
574
+ # sub-agent's servers_includelist to ever match anything. Leaving mcp_manager
575
+ # unset lets it inherit from from_coder (see Coder.create()) so the same
576
+ # connected MCP servers remain available and can then be filtered.
568
577
  kwargs.update(
569
578
  dict(
570
579
  registered_tools=None,
571
580
  registered_servers=None,
572
- mcp_manager=None,
573
581
  )
574
582
  )
575
583
 
@@ -366,11 +366,18 @@ def unprefix_tool_call(tool_call):
366
366
  return server_name, result
367
367
 
368
368
 
369
- def parse_tool_arguments(args_string: str) -> dict:
369
+ def parse_tool_arguments(args_string: str) -> dict | list:
370
370
  """Parse tool-call arguments, merging glued ``{…}{} {…}`` object fragments.
371
371
 
372
372
  Also unwraps a single ``arguments``/``parameters``/``params`` wrapper key
373
373
  that some models emit when mirroring the OpenAI wire format.
374
+
375
+ Returns a dict in almost all cases. A bare top-level JSON array (e.g. a
376
+ model emitting ``[...]`` directly as the arguments instead of wrapping it
377
+ under the tool's single required array parameter, as EditFile's `edits`
378
+ or ReadFile's `read`) is returned as-is rather than collapsed to ``{}``,
379
+ so ``BaseTool.process_response`` can still wrap it using the tool's
380
+ schema instead of silently losing the data.
374
381
  """
375
382
  text = (args_string or "").strip()
376
383
  if not text:
@@ -379,6 +386,8 @@ def parse_tool_arguments(args_string: str) -> dict:
379
386
  parsed = json.loads(text)
380
387
  if isinstance(parsed, dict):
381
388
  return coerce_tool_structure(parsed)
389
+ if isinstance(parsed, list):
390
+ return parsed
382
391
  except json.JSONDecodeError:
383
392
  pass
384
393
 
@@ -393,12 +402,18 @@ def parse_tool_arguments(args_string: str) -> dict:
393
402
  lone = try_parse_json_value(chunks[0])
394
403
  if isinstance(lone, dict):
395
404
  return coerce_tool_structure(lone)
405
+ if isinstance(lone, list):
406
+ return lone
396
407
  try:
397
408
  json_string = json_repair.repair_json(chunks[0], ensure_ascii=False)
398
409
  single = json.loads(json_string)
399
410
  except json.JSONDecodeError as err:
400
411
  return {"@error": f"Malformed JSON arguments: {err}"}
401
- return coerce_tool_structure(single) if isinstance(single, dict) else {}
412
+ if isinstance(single, dict):
413
+ return coerce_tool_structure(single)
414
+ if isinstance(single, list):
415
+ return single
416
+ return {}
402
417
 
403
418
  merged = merge_glued_json_objects(chunks)
404
419
 
@@ -99,7 +99,7 @@ class McpServerManager:
99
99
  The server instance or None if not found
100
100
  """
101
101
  try:
102
- return next(server for server in self._servers if server.name == name)
102
+ return next(server for server in self._servers if server.name.lower() == name.lower())
103
103
  except StopIteration:
104
104
  return None
105
105
 
@@ -254,7 +254,7 @@ class McpServerManager:
254
254
  """
255
255
  existing_server = self.get_server(server.name)
256
256
  if existing_server:
257
- if server.name not in ["unnamed-server", "Local"]:
257
+ if server.name.lower() not in ["unnamed-server", "local"]:
258
258
  self._log_warning(f"MCP server with name '{server.name}' already exists")
259
259
  return False
260
260
 
@@ -332,7 +332,7 @@ class McpServerManager:
332
332
 
333
333
  results = await asyncio.gather(*tasks)
334
334
  for server, did_connect in results:
335
- if not did_connect and server.name not in ["unnamed-server", "Local"]:
335
+ if not did_connect and server.name.lower() not in ["unnamed-server", "local"]:
336
336
  io.tool_warning(
337
337
  f"MCP tool initialization failed after multiple retries: {server.name}"
338
338
  )
@@ -54,7 +54,7 @@ class McpServer:
54
54
  verbose: Whether to output verbose logging
55
55
  """
56
56
  self.config = server_config
57
- self.name = server_config.get("name", "unnamed-server")
57
+ self.name = str(server_config.get("name", "unnamed-server")).lower()
58
58
  self.io = io
59
59
  self.verbose = verbose
60
60
  self.session = None
@@ -722,6 +722,14 @@ class Tool(BaseTool):
722
722
  elif command:
723
723
  coder.io.tool_output(f"{color_start}Command:{color_end}")
724
724
  coder.io.tool_output(coder.format_command_with_prefix(command))
725
+ else:
726
+ # No command and no background_key/action pair: this call will
727
+ # be rejected by execute() before it ever reaches confirmation.
728
+ # Say so explicitly instead of leaving the panel looking blank,
729
+ # which is otherwise indistinguishable from a display bug.
730
+ coder.io.tool_output(
731
+ f"{color_start}(no command provided — call will be rejected){color_end}"
732
+ )
725
733
 
726
734
  coder.io.tool_output("")
727
735
 
@@ -199,15 +199,15 @@ class Tool(BaseTool):
199
199
  # included sets to explicit include lists.
200
200
  if load_mcp_servers and coder.mcp_manager:
201
201
  if isinstance(coder.mcp_manager.connected_servers, dict):
202
- connected_names = set(coder.mcp_manager.connected_servers.keys())
202
+ connected_names = {k.lower() for k in coder.mcp_manager.connected_servers.keys()}
203
203
  else:
204
- connected_names = {s.name for s in coder.mcp_manager.connected_servers}
204
+ connected_names = {s.name.lower() for s in coder.mcp_manager.connected_servers}
205
205
  if connected_names:
206
206
  for c in iter_all_coders(coder):
207
207
  if not c.registered_servers["included"]:
208
208
  included = set(connected_names) - c.registered_servers["excluded"]
209
209
  if c.edit_format in ("agent", "subagent"):
210
- included.add("Local")
210
+ included.add("local")
211
211
  c.registered_servers["included"] = included
212
212
 
213
213
  for f in create_files:
@@ -546,7 +546,7 @@ class Tool(BaseTool):
546
546
  if not coder.mcp_manager or not coder.mcp_manager.servers:
547
547
  return "No MCP servers are configured."
548
548
 
549
- if server_name == "Local":
549
+ if server_name.lower() == "local":
550
550
  return "Cannot remove 'Local' server"
551
551
 
552
552
  server = coder.mcp_manager.get_server(server_name)
@@ -63,25 +63,29 @@ class BaseTool(ABC):
63
63
  required_params = function_schema["parameters"]["required"]
64
64
  properties = function_schema["parameters"].get("properties", {})
65
65
 
66
- # Auto-correction: If a required parameter is missing but it's an array,
67
- # and the current params look like a single item of that array, wrap it.
68
- if len(required_params) == 1:
69
- missing_param = required_params[0]
70
- if missing_param not in params and params:
71
- param_schema = properties.get(missing_param, {})
72
- if param_schema.get("type") == "array":
73
- params = {missing_param: [params]}
66
+ # Auto-correction: fix common shape mistakes (a bare array or
67
+ # a single item of that array sent directly as the whole
68
+ # arguments, instead of wrapped under the expected key) BEFORE
69
+ # checking for missing required parameters. Otherwise a
70
+ # recoverable shape (e.g. a bare `[...]` array) gets rejected
71
+ # before it has a chance to be normalized.
72
+ params = ToolValidations._basic_validations(params, cls.SCHEMA)
74
73
 
75
74
  # Auto-correction: If a required parameter is present but is a dict instead of an array
76
- for param_name in required_params:
77
- if param_name in params:
78
- param_schema = properties.get(param_name, {})
79
- if param_schema.get("type") == "array" and isinstance(
80
- params[param_name], dict
81
- ):
82
- params[param_name] = [params[param_name]]
83
-
84
- missing_params = [param for param in required_params if param not in params]
75
+ if isinstance(params, dict):
76
+ for param_name in required_params:
77
+ if param_name in params:
78
+ param_schema = properties.get(param_name, {})
79
+ if param_schema.get("type") == "array" and isinstance(
80
+ params[param_name], dict
81
+ ):
82
+ params[param_name] = [params[param_name]]
83
+
84
+ missing_params = [
85
+ param
86
+ for param in required_params
87
+ if not isinstance(params, dict) or param not in params
88
+ ]
85
89
  if missing_params:
86
90
  tool_name = function_schema.get("name", "Unknown Tool")
87
91
  error_msg = (
@@ -204,16 +204,28 @@ class ToolValidations:
204
204
 
205
205
  parameters = function_schema["parameters"]
206
206
  properties = parameters.get("properties", {})
207
-
208
- # Only auto-correct when there is exactly one property and it is an array
209
- if len(properties) == 1:
207
+ required = parameters.get("required", [])
208
+
209
+ # Determine the single array-typed parameter to auto-correct into,
210
+ # if any. Prefer the schema's `required` list (covers tools that also
211
+ # declare optional properties alongside their one required array,
212
+ # e.g. EditFile's optional `change_id`); fall back to "exactly one
213
+ # property total" when the schema doesn't declare `required` at all.
214
+ single_param_name = None
215
+ if len(required) == 1:
216
+ single_param_name = required[0]
217
+ elif not required and len(properties) == 1:
210
218
  single_param_name = next(iter(properties.keys()))
211
- param_schema = properties[single_param_name]
219
+
220
+ if single_param_name is not None:
221
+ param_schema = properties.get(single_param_name, {})
212
222
  if param_schema.get("type") == "array":
213
- # Case 1: LLM emitted the array directly (bare list)
223
+ # Case 1: LLM emitted the array directly (bare list) → wrap
224
+ # it as-is under the expected key, don't nest it again.
214
225
  if isinstance(params, list):
215
226
  return {single_param_name: params}
216
- # Case 2: LLM emitted a dict missing the expected key → wrap it
227
+ # Case 2: LLM emitted a single item of the array directly
228
+ # as a dict, missing the expected wrapper key → wrap it.
217
229
  if isinstance(params, dict) and single_param_name not in params:
218
230
  return {single_param_name: [params]}
219
231
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 1.2.3rc3
3
+ Version: 1.2.3rc4
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
@@ -787,6 +787,7 @@ tests/mcp/test_keepalive_resilience.py
787
787
  tests/mcp/test_keepalive_unit.py
788
788
  tests/mcp/test_manager.py
789
789
  tests/mcp/test_manager_retry.py
790
+ tests/mcp/test_server_name_normalization.py
790
791
  tests/mcp/test_server_sdk_compat.py
791
792
  tests/scrape/test_playwright_disable.py
792
793
  tests/scrape/test_scrape.py
@@ -799,6 +800,7 @@ tests/subagents/test_finished.py
799
800
  tests/subagents/test_io_proxy.py
800
801
  tests/subagents/test_service.py
801
802
  tests/subagents/test_sub_agent_coder.py
803
+ tests/tools/test_command_format_output.py
802
804
  tests/tools/test_edit_file_format_output.py
803
805
  tests/tools/test_extractions.py
804
806
  tests/tools/test_get_lines.py
@@ -1028,6 +1028,7 @@
1028
1028
  "tests/mcp/test_keepalive_unit.py",
1029
1029
  "tests/mcp/test_manager.py",
1030
1030
  "tests/mcp/test_manager_retry.py",
1031
+ "tests/mcp/test_server_name_normalization.py",
1031
1032
  "tests/mcp/test_server_sdk_compat.py",
1032
1033
  "tests/scrape/test_playwright_disable.py",
1033
1034
  "tests/scrape/test_scrape.py",
@@ -1041,6 +1042,7 @@
1041
1042
  "tests/subagents/test_service.py",
1042
1043
  "tests/subagents/test_sub_agent_coder.py",
1043
1044
  "tests/test_requests.py",
1045
+ "tests/tools/test_command_format_output.py",
1044
1046
  "tests/tools/test_edit_file_format_output.py",
1045
1047
  "tests/tools/test_extractions.py",
1046
1048
  "tests/tools/test_get_lines.py",
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.2.3rc4",
3
+ "distance": 0,
4
+ "node": "g0cce57c1b8208c7067fb545241fa84b5bf17f790",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-08-19"
8
+ }
@@ -0,0 +1,240 @@
1
+ """Tests for lowercase-normalized MCP server names.
2
+
3
+ MCP server names are normalized to lowercase at the registration source
4
+ (``McpServer`` construction, ``update_server_registration``, and the
5
+ load/remove-mcp include-set conversions) so that all per-coder filtering
6
+ comparisons can be plain exact matches.
7
+ """
8
+
9
+ from types import SimpleNamespace
10
+ from unittest.mock import AsyncMock, MagicMock, patch
11
+
12
+ import pytest
13
+
14
+ from cecli.coders import Coder
15
+ from cecli.coders.agent_coder import AgentCoder
16
+ from cecli.commands import SwitchCoderSignal
17
+ from cecli.commands.load_mcp import LoadMcpCommand
18
+ from cecli.commands.utils.helpers import (
19
+ is_server_globally_excluded,
20
+ update_server_registration,
21
+ )
22
+ from cecli.mcp.manager import McpServerManager
23
+ from cecli.mcp.server import LocalServer, McpServer
24
+
25
+
26
+ def _tool(name):
27
+ """Build a minimal OpenAI-style function tool dict."""
28
+ return {
29
+ "type": "function",
30
+ "function": {"name": name, "description": "", "parameters": {}},
31
+ }
32
+
33
+
34
+ class TestMcpServerNameLowercasedAtSource:
35
+ """McpServer names are lowercased at construction time."""
36
+
37
+ def test_mcp_server_name_lowercased(self):
38
+ assert McpServer({"name": "GitHub"}).name == "github"
39
+
40
+ def test_local_server_name_lowercased(self):
41
+ assert LocalServer({"name": "Local"}).name == "local"
42
+
43
+ def test_default_name_stays_lowercase(self):
44
+ assert McpServer({}).name == "unnamed-server"
45
+
46
+
47
+ class TestGetServerCaseInsensitive:
48
+ """Manager lookups tolerate any case, matching normalized names."""
49
+
50
+ def test_get_server_matches_any_case(self):
51
+ server = McpServer({"name": "GitHub"})
52
+ manager = McpServerManager(servers=[server])
53
+
54
+ assert manager.get_server("GitHub") is server
55
+ assert manager.get_server("github") is server
56
+ assert manager.get_server("GITHUB") is server
57
+
58
+ def test_get_server_missing_returns_none(self):
59
+ manager = McpServerManager(servers=[McpServer({"name": "GitHub"})])
60
+
61
+ assert manager.get_server("missing") is None
62
+
63
+
64
+ class TestUpdateServerRegistrationLowercases:
65
+ """Registration writes lowercase names into the per-coder sets."""
66
+
67
+ def test_include_lowercases(self):
68
+ coder = SimpleNamespace(registered_servers={"included": set(), "excluded": set()})
69
+
70
+ update_server_registration(coder, "GitHub", "include", force=True)
71
+
72
+ assert coder.registered_servers["included"] == {"github"}
73
+ assert coder.registered_servers["excluded"] == set()
74
+
75
+ def test_exclude_lowercases(self):
76
+ coder = SimpleNamespace(registered_servers={"included": set(), "excluded": set()})
77
+
78
+ update_server_registration(coder, "GITHUB", "exclude", force=True)
79
+
80
+ assert coder.registered_servers["excluded"] == {"github"}
81
+ assert coder.registered_servers["included"] == set()
82
+
83
+ def test_force_false_respects_opposing_set(self):
84
+ coder = SimpleNamespace(registered_servers={"included": set(), "excluded": {"github"}})
85
+
86
+ update_server_registration(coder, "GitHub", "include", force=False)
87
+
88
+ assert coder.registered_servers["included"] == set()
89
+ assert coder.registered_servers["excluded"] == {"github"}
90
+
91
+
92
+ class TestIsServerGloballyExcludedCaseInsensitive:
93
+ """Global-exclusion checks match lowercase registered names."""
94
+
95
+ def test_included_server_is_not_globally_excluded(self):
96
+ coder = SimpleNamespace(registered_servers={"included": {"github"}, "excluded": set()})
97
+
98
+ with patch("cecli.commands.utils.helpers.iter_all_coders", return_value=[coder]):
99
+ assert is_server_globally_excluded(coder, "GitHub") is False
100
+
101
+ def test_excluded_server_is_globally_excluded(self):
102
+ coder = SimpleNamespace(registered_servers={"included": set(), "excluded": {"github"}})
103
+
104
+ with patch("cecli.commands.utils.helpers.iter_all_coders", return_value=[coder]):
105
+ assert is_server_globally_excluded(coder, "GITHUB") is True
106
+
107
+
108
+ def _manager_with_servers():
109
+ """Manager with real servers named 'GitHub'/'Local' (normalized to lowercase)."""
110
+ github = McpServer({"name": "GitHub"})
111
+ local = McpServer({"name": "Local"})
112
+ manager = McpServerManager(servers=[github, local])
113
+ manager._server_tools = {
114
+ "github": [_tool("list_issues")],
115
+ "local": [_tool("read_file")],
116
+ }
117
+ manager._connected_servers = {github, local}
118
+ return manager
119
+
120
+
121
+ class TestGetToolListExactMatchFiltering:
122
+ """Per-coder filtering uses exact match on lowercase names."""
123
+
124
+ def _coder(self, included=None, excluded=None):
125
+ manager = _manager_with_servers()
126
+ return SimpleNamespace(
127
+ mcp_tools=list(manager.all_tools.items()),
128
+ registered_servers={
129
+ "included": set(included or []),
130
+ "excluded": set(excluded or []),
131
+ },
132
+ registered_tools={"included": set(), "excluded": set()},
133
+ )
134
+
135
+ def test_include_list_keeps_only_matching_server(self):
136
+ coder = self._coder(included=["github"])
137
+
138
+ names = [t["function"]["name"] for t in Coder.get_tool_list(coder)]
139
+
140
+ assert names == ["github--list_issues"]
141
+
142
+ def test_empty_include_includes_all(self):
143
+ coder = self._coder()
144
+
145
+ names = [t["function"]["name"] for t in Coder.get_tool_list(coder)]
146
+
147
+ assert set(names) == {"github--list_issues", "local--read_file"}
148
+
149
+ def test_exclude_list_filters_by_lowercase(self):
150
+ coder = self._coder(excluded=["github"])
151
+
152
+ names = [t["function"]["name"] for t in Coder.get_tool_list(coder)]
153
+
154
+ assert names == ["local--read_file"]
155
+
156
+
157
+ class TestGetServersContextExactMatchFiltering:
158
+ """Servers context block classifies servers using exact lowercase match."""
159
+
160
+ def _coder(self, included=None, excluded=None):
161
+ return SimpleNamespace(
162
+ use_enhanced_context=True,
163
+ io=MagicMock(),
164
+ mcp_manager=_manager_with_servers(),
165
+ registered_servers={
166
+ "included": set(included or []),
167
+ "excluded": set(excluded or []),
168
+ },
169
+ )
170
+
171
+ def test_include_list_marks_others_inactive(self):
172
+ coder = self._coder(included=["github"])
173
+
174
+ ctx = AgentCoder.get_servers_context(coder)
175
+
176
+ assert "Active (1):" in ctx
177
+ assert "- github" in ctx
178
+ assert "Inactive (Filtered) (1):" in ctx
179
+ assert "- local" in ctx
180
+
181
+ def test_empty_include_lists_all_active(self):
182
+ coder = self._coder()
183
+
184
+ ctx = AgentCoder.get_servers_context(coder)
185
+
186
+ assert "Active (2):" in ctx
187
+ assert "Inactive (Filtered)" not in ctx
188
+
189
+
190
+ class TestLoadMcpCommandConversionLowercases:
191
+ """Empty include sets are converted to lowercase connected names + 'local'."""
192
+
193
+ @pytest.mark.asyncio
194
+ async def test_empty_include_converted_to_lowercase(self):
195
+ coder = MagicMock()
196
+ coder.io = MagicMock()
197
+ coder.edit_format = "agent"
198
+ coder.interrupt_event = MagicMock()
199
+ coder.interrupt_event.clear = MagicMock()
200
+ coder.registered_servers = {"included": set(), "excluded": set()}
201
+
202
+ github = MagicMock()
203
+ github.name = "GitHub"
204
+ github.config = {"enabled": True}
205
+ local = MagicMock()
206
+ local.name = "Local"
207
+ local.config = {}
208
+
209
+ coder.mcp_manager = MagicMock()
210
+ coder.mcp_manager.servers = [github, local]
211
+ coder.mcp_manager.connected_servers = [github, local]
212
+ coder.mcp_manager.get_server = MagicMock(return_value=github)
213
+ coder.mcp_manager.connect_server = AsyncMock(return_value=True)
214
+
215
+ async def _passthrough(coro, event):
216
+ return await coro, False
217
+
218
+ coder.coroutines = MagicMock()
219
+ coder.coroutines.interruptible = _passthrough
220
+
221
+ with patch("cecli.commands.load_mcp.iter_all_coders", return_value=[coder]):
222
+ with pytest.raises(SwitchCoderSignal):
223
+ await LoadMcpCommand.execute(coder.io, coder, "GitHub")
224
+
225
+ assert coder.registered_servers["included"] == {"github", "local"}
226
+
227
+
228
+ class TestLocalServerConnectedUnderLowercaseKey:
229
+ """Connecting the Local server stores tools under the lowercase name."""
230
+
231
+ @pytest.mark.asyncio
232
+ async def test_connect_local_server_key_is_lowercase(self):
233
+ local = LocalServer({"name": "Local"})
234
+ manager = McpServerManager(servers=[local])
235
+
236
+ with patch("cecli.mcp.manager.get_local_tool_schemas", return_value=[_tool("x")]):
237
+ assert await manager.connect_server("Local") is True
238
+
239
+ assert "local" in manager._server_tools
240
+ assert "Local" not in manager._server_tools