cecli-dev 1.4.0__tar.gz → 1.4.1rc1__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 (840) hide show
  1. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/PKG-INFO +1 -1
  2. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/_version.py +3 -3
  3. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/__init__.py +0 -3
  4. cecli_dev-1.4.1rc1/cecli/commands/workspace.py +238 -0
  5. cecli_dev-1.4.1rc1/cecli/helpers/model_config/api.py +110 -0
  6. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/identifiers.py +10 -0
  7. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/pipeline.py +1 -1
  8. cecli_dev-1.4.1rc1/cecli/helpers/model_config/registry.py +43 -0
  9. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/main.py +15 -31
  10. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/models.py +18 -6
  11. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/agent.yml +1 -1
  12. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/subagent.yml +1 -1
  13. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/resources/model-metadata.json +8042 -874
  14. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/edit_file.py +1 -1
  15. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/app.py +80 -0
  16. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/completion_bar.py +21 -12
  17. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/subagents.md +1 -1
  18. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/workspaces.md +10 -22
  19. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli_dev.egg-info/PKG-INFO +1 -1
  20. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli_dev.egg-info/SOURCES.txt +4 -3
  21. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli_dev.egg-info/scm_file_list.json +4 -3
  22. cecli_dev-1.4.1rc1/cecli_dev.egg-info/scm_version.json +8 -0
  23. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_main.py +0 -110
  24. cecli_dev-1.4.0/tests/commands/test_open.py → cecli_dev-1.4.1rc1/tests/commands/test_workspace.py +58 -20
  25. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/conftest.py +8 -0
  26. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_model_config.py +9 -0
  27. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tui/test_app.py +51 -0
  28. cecli_dev-1.4.1rc1/tests/tui/test_completion_bar.py +65 -0
  29. cecli_dev-1.4.0/cecli/commands/open.py +0 -76
  30. cecli_dev-1.4.0/cecli/commands/workspace.py +0 -35
  31. cecli_dev-1.4.0/cecli/helpers/model_config/api.py +0 -62
  32. cecli_dev-1.4.0/cecli_dev.egg-info/scm_version.json +0 -8
  33. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.dockerignore +0 -0
  34. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.flake8 +0 -0
  35. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.gitattributes +0 -0
  36. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  37. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/check_pypi_version.yml +0 -0
  38. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/docker-build-test.yml +0 -0
  39. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/docker-release.yml +0 -0
  40. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/issues.yml +0 -0
  41. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/pages.yml +0 -0
  42. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/pre-commit.yml +0 -0
  43. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/release.yml +0 -0
  44. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/ubuntu-tests.yml +0 -0
  45. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/windows-tests.yml +0 -0
  46. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.github/workflows/windows_check_pypi_version.yml +0 -0
  47. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.gitignore +0 -0
  48. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/.pre-commit-config.yaml +0 -0
  49. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/CHANGELOG.md +0 -0
  50. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/CNAME +0 -0
  51. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/CONTRIBUTING.md +0 -0
  52. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/HISTORY.md +0 -0
  53. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/LICENSE.txt +0 -0
  54. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/MANIFEST.in +0 -0
  55. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/README.md +0 -0
  56. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/Dockerfile +0 -0
  57. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/README.md +0 -0
  58. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/__init__.py +0 -0
  59. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/benchmark.py +0 -0
  60. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/benchmark_classic.py +0 -0
  61. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/clone-exercism.sh +0 -0
  62. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/cpp-test.sh +0 -0
  63. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/docker.sh +0 -0
  64. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/docker_build.sh +0 -0
  65. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/install-docker-ubuntu.sh +0 -0
  66. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/npm-test.sh +0 -0
  67. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/over_time.py +0 -0
  68. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/plot.sh +0 -0
  69. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/plots.py +0 -0
  70. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/problem_stats.py +0 -0
  71. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/prompts.py +0 -0
  72. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/refactor_tools.py +0 -0
  73. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/rsync.sh +0 -0
  74. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/rungrid.py +0 -0
  75. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/swe-bench-lite.txt +0 -0
  76. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/swe-bench.txt +0 -0
  77. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/swe_bench.py +0 -0
  78. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/test_benchmark.py +0 -0
  79. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/variations.1.sh +0 -0
  80. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/variations.2.sh +0 -0
  81. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/variations.3.sh +0 -0
  82. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/benchmark/variations.4.sh +0 -0
  83. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/__init__.py +0 -0
  84. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/__main__.py +0 -0
  85. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/args.py +0 -0
  86. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/args_formatter.py +0 -0
  87. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/change_tracker.py +0 -0
  88. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/__init__.py +0 -0
  89. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/agent_coder.py +0 -0
  90. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/architect_coder.py +0 -0
  91. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/ask_coder.py +0 -0
  92. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/base_coder.py +0 -0
  93. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/chat_chunks.py +0 -0
  94. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/context_coder.py +0 -0
  95. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/copypaste_coder.py +0 -0
  96. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/editblock_coder.py +0 -0
  97. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/editblock_fenced_coder.py +0 -0
  98. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/editblock_func_coder.py +0 -0
  99. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  100. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/editor_editblock_coder.py +0 -0
  101. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/editor_whole_coder.py +0 -0
  102. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/hashline_coder.py +0 -0
  103. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/help_coder.py +0 -0
  104. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/patch_coder.py +0 -0
  105. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/search_replace.py +0 -0
  106. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/shell.py +0 -0
  107. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/single_wholefile_func_coder.py +0 -0
  108. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/sub_agent_coder.py +0 -0
  109. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/udiff_coder.py +0 -0
  110. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/udiff_simple.py +0 -0
  111. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/wholefile_coder.py +0 -0
  112. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/coders/wholefile_func_coder.py +0 -0
  113. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/add.py +0 -0
  114. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/agent.py +0 -0
  115. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/agent_model.py +0 -0
  116. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/agent_tree.py +0 -0
  117. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/architect.py +0 -0
  118. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/ask.py +0 -0
  119. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/auto_memory.py +0 -0
  120. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/chat_mode.py +0 -0
  121. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/clear.py +0 -0
  122. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/code.py +0 -0
  123. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/command_prefix.py +0 -0
  124. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/commit.py +0 -0
  125. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/compact.py +0 -0
  126. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/context.py +0 -0
  127. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/context_blocks.py +0 -0
  128. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/context_management.py +0 -0
  129. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/copy.py +0 -0
  130. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/copy_context.py +0 -0
  131. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/core.py +0 -0
  132. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/diff.py +0 -0
  133. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/drop.py +0 -0
  134. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/editor.py +0 -0
  135. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/editor_model.py +0 -0
  136. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/exclude_skill.py +0 -0
  137. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/exit.py +0 -0
  138. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/git.py +0 -0
  139. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/hashline.py +0 -0
  140. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/help.py +0 -0
  141. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/history_search.py +0 -0
  142. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/hooks.py +0 -0
  143. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/hot_reload.py +0 -0
  144. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/include_skill.py +0 -0
  145. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/lint.py +0 -0
  146. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/list_mcp.py +0 -0
  147. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/list_queue.py +0 -0
  148. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/list_sessions.py +0 -0
  149. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/list_skills.py +0 -0
  150. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/load.py +0 -0
  151. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/load_hook.py +0 -0
  152. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/load_mcp.py +0 -0
  153. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/load_session.py +0 -0
  154. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/load_skill.py +0 -0
  155. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/ls.py +0 -0
  156. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/map.py +0 -0
  157. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/map_refresh.py +0 -0
  158. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/merge.py +0 -0
  159. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/model.py +0 -0
  160. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/models.py +0 -0
  161. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/multiline_mode.py +0 -0
  162. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/paste.py +0 -0
  163. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/queue.py +0 -0
  164. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/quit.py +0 -0
  165. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/read_only.py +0 -0
  166. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/read_only_stub.py +0 -0
  167. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/reap_agent.py +0 -0
  168. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/reasoning_effort.py +0 -0
  169. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/remove_hook.py +0 -0
  170. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/remove_mcp.py +0 -0
  171. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/remove_memory.py +0 -0
  172. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/remove_queue.py +0 -0
  173. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/remove_skill.py +0 -0
  174. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/report.py +0 -0
  175. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/reset.py +0 -0
  176. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/rules.py +0 -0
  177. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/run.py +0 -0
  178. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/save.py +0 -0
  179. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/save_session.py +0 -0
  180. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/search_memory.py +0 -0
  181. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/settings.py +0 -0
  182. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/spawn_agent.py +0 -0
  183. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/switch_agent.py +0 -0
  184. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/terminal_data/linux.keytab +0 -0
  185. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/terminal_setup.py +0 -0
  186. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/test.py +0 -0
  187. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/think_tokens.py +0 -0
  188. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/tokens.py +0 -0
  189. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/undo.py +0 -0
  190. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/utils/__init__.py +0 -0
  191. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/utils/base_command.py +0 -0
  192. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/utils/helpers.py +0 -0
  193. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/utils/registry.py +0 -0
  194. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/utils/save_load_manager.py +0 -0
  195. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/voice.py +0 -0
  196. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/weak_model.py +0 -0
  197. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/commands/web.py +0 -0
  198. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/decoding.py +0 -0
  199. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/deprecated_args.py +0 -0
  200. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/diffs.py +0 -0
  201. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/dump.py +0 -0
  202. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/editor.py +0 -0
  203. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/exceptions.py +0 -0
  204. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/format_settings.py +0 -0
  205. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/help.py +0 -0
  206. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/help_pats.py +0 -0
  207. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/__init__.py +0 -0
  208. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/agents/__init__.py +0 -0
  209. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/agents/config.py +0 -0
  210. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/agents/defaults/__init__.py +0 -0
  211. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/agents/defaults/memorizer.md +0 -0
  212. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/agents/defaults/worker.md +0 -0
  213. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/agents/service.py +0 -0
  214. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/background_commands.py +0 -0
  215. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/command_parser.py +0 -0
  216. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/command_queue.py +0 -0
  217. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/config_utils.py +0 -0
  218. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/conversation/__init__.py +0 -0
  219. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/conversation/base_message.py +0 -0
  220. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/conversation/files.py +0 -0
  221. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/conversation/integration.py +0 -0
  222. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/conversation/manager.py +0 -0
  223. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/conversation/service.py +0 -0
  224. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/conversation/tags.py +0 -0
  225. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/conversation/utils.py +0 -0
  226. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/copypaste.py +0 -0
  227. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/coroutines.py +0 -0
  228. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/crypto.py +0 -0
  229. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/file_searcher.py +0 -0
  230. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/file_system/__init__.py +0 -0
  231. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/file_system/builders.py +0 -0
  232. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/file_system/ignore.py +0 -0
  233. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/file_system/ngram_index.py +0 -0
  234. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/file_system/service.py +0 -0
  235. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/file_system/trie_index.py +0 -0
  236. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/grep_ast/__init__.py +0 -0
  237. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/grep_ast/dump.py +0 -0
  238. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  239. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/grep_ast/main.py +0 -0
  240. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/grep_ast/parsers.py +0 -0
  241. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/grep_ast/tsl.py +0 -0
  242. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/hashline.py +0 -0
  243. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/hashpos/__init__.py +0 -0
  244. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/hashpos/hashpos.py +0 -0
  245. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  246. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/hashpos/transformations.py +0 -0
  247. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/io_proxy.py +0 -0
  248. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/leak_detect.py +0 -0
  249. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/__init__.py +0 -0
  250. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/aws_sigv4.py +0 -0
  251. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/config.py +0 -0
  252. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/domains/__init__.py +0 -0
  253. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/domains/bedrock.py +0 -0
  254. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/domains/chat.py +0 -0
  255. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/domains/gemini.py +0 -0
  256. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/domains/messages.py +0 -0
  257. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/domains/responses.py +0 -0
  258. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/formatters/__init__.py +0 -0
  259. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/formatters/reasoning.py +0 -0
  260. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/formatters/thinking.py +0 -0
  261. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/identifiers.py +0 -0
  262. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/litellm_compat.py +0 -0
  263. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/pipeline.py +0 -0
  264. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/__init__.py +0 -0
  265. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/anthropic.py +0 -0
  266. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/azure.py +0 -0
  267. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/base.py +0 -0
  268. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/bedrock.py +0 -0
  269. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/bedrock_mantle.py +0 -0
  270. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/deepseek.py +0 -0
  271. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/gemini.py +0 -0
  272. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/github_copilot.py +0 -0
  273. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/meta.py +0 -0
  274. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/openai.py +0 -0
  275. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/providers/openrouter.py +0 -0
  276. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/runtime.py +0 -0
  277. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/types.py +0 -0
  278. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/llms/utils.py +0 -0
  279. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/lock_detect.py +0 -0
  280. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/loop_detect.py +0 -0
  281. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/memory/__init__.py +0 -0
  282. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/memory/db.py +0 -0
  283. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/memory/utils.py +0 -0
  284. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/memory_control.py +0 -0
  285. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/__init__.py +0 -0
  286. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/agent.py +0 -0
  287. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/formatters/__init__.py +0 -0
  288. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/formatters/reasoning.py +0 -0
  289. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/formatters/thinking.py +0 -0
  290. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/llm.py +0 -0
  291. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_config/utils.py +0 -0
  292. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/model_providers.py +0 -0
  293. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/nested.py +0 -0
  294. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/observations/__init__.py +0 -0
  295. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/observations/service.py +0 -0
  296. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/orchestration/__init__.py +0 -0
  297. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/orchestration/agent_proxy.py +0 -0
  298. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/orchestration/environment.py +0 -0
  299. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/orchestration/region_resolver.py +0 -0
  300. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/orchestration/safe_methods.py +0 -0
  301. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/orchestration/security.py +0 -0
  302. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/orchestration/service.py +0 -0
  303. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/orchestration/tool_proxy.py +0 -0
  304. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/plugin_manager.py +0 -0
  305. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/profiler.py +0 -0
  306. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/queues.py +0 -0
  307. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/requests.py +0 -0
  308. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/responses.py +0 -0
  309. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/server/__init__.py +0 -0
  310. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/server/acp/__init__.py +0 -0
  311. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/server/acp/bridge.py +0 -0
  312. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/server/acp/models.py +0 -0
  313. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/server/acp/protocol.py +0 -0
  314. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/server/signals.py +0 -0
  315. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/server/ws_server.py +0 -0
  316. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/similarity.py +0 -0
  317. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/skills.py +0 -0
  318. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/threading.py +0 -0
  319. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/workspaces/__init__.py +0 -0
  320. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/workspaces/config.py +0 -0
  321. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/workspaces/paths.py +0 -0
  322. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/workspaces/subagents.py +0 -0
  323. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/helpers/workspaces/workspace.py +0 -0
  324. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/history.py +0 -0
  325. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/hooks/__init__.py +0 -0
  326. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/hooks/base.py +0 -0
  327. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/hooks/helpers.py +0 -0
  328. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/hooks/integration.py +0 -0
  329. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/hooks/manager.py +0 -0
  330. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/hooks/registry.py +0 -0
  331. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/hooks/service.py +0 -0
  332. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/hooks/types.py +0 -0
  333. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/http.py +0 -0
  334. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/interruptible_input.py +0 -0
  335. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/io.py +0 -0
  336. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/linter.py +0 -0
  337. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/llm.py +0 -0
  338. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/mcp/__init__.py +0 -0
  339. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/mcp/manager.py +0 -0
  340. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/mcp/oauth.py +0 -0
  341. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/mcp/server.py +0 -0
  342. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/mcp/utils.py +0 -0
  343. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/mdstream.py +0 -0
  344. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/onboarding.py +0 -0
  345. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/__init__.py +0 -0
  346. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/architect.yml +0 -0
  347. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/ask.yml +0 -0
  348. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/base.yml +0 -0
  349. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/context.yml +0 -0
  350. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/copypaste.yml +0 -0
  351. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/editblock.yml +0 -0
  352. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/editblock_fenced.yml +0 -0
  353. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/editblock_func.yml +0 -0
  354. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/editor_diff_fenced.yml +0 -0
  355. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/editor_editblock.yml +0 -0
  356. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/editor_whole.yml +0 -0
  357. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/hashline.yml +0 -0
  358. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/help.yml +0 -0
  359. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/patch.yml +0 -0
  360. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/single_wholefile_func.yml +0 -0
  361. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/udiff.yml +0 -0
  362. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/udiff_simple.yml +0 -0
  363. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/utils/__init__.py +0 -0
  364. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/utils/registry.py +0 -0
  365. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/utils/system.py +0 -0
  366. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/wholefile.yml +0 -0
  367. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/prompts/wholefile_func.yml +0 -0
  368. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  369. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  370. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  371. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  372. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  373. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  374. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  375. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  376. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  377. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  378. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  379. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  380. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  381. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  382. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  383. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  384. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  385. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  386. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  387. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  388. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  389. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  390. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  391. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  392. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  393. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  394. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  395. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  396. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  397. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  398. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  399. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  400. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/README.md +0 -0
  401. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  402. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  403. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  404. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  405. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  406. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  407. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  408. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  409. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  410. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  411. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  412. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  413. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  414. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  415. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  416. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  417. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  418. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  419. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  420. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  421. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  422. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  423. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  424. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  425. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  426. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  427. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  428. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/reasoning_tags.py +0 -0
  429. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/repo.py +0 -0
  430. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/repomap.py +0 -0
  431. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/report.py +0 -0
  432. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/resources/__init__.py +0 -0
  433. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/resources/model-metadata.ext.json +0 -0
  434. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/resources/model-settings-condensed.yml +0 -0
  435. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/resources/model-settings.yml +0 -0
  436. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/resources/providers.json +0 -0
  437. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/run_cmd.py +0 -0
  438. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/scrape.py +0 -0
  439. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/sendchat.py +0 -0
  440. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/sessions.py +0 -0
  441. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/signals.py +0 -0
  442. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/special.py +0 -0
  443. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/__init__.py +0 -0
  444. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/_yield.py +0 -0
  445. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/broadcast.py +0 -0
  446. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/command.py +0 -0
  447. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/delegate.py +0 -0
  448. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/explore_code.py +0 -0
  449. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/git_branch.py +0 -0
  450. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/git_diff.py +0 -0
  451. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/git_log.py +0 -0
  452. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/git_remote.py +0 -0
  453. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/git_show.py +0 -0
  454. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/git_status.py +0 -0
  455. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/grep.py +0 -0
  456. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/ls.py +0 -0
  457. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/orchestrate.py +0 -0
  458. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/read_file.py +0 -0
  459. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/replace_facts.py +0 -0
  460. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/resource_manager.py +0 -0
  461. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/search_facts.py +0 -0
  462. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/thinking.py +0 -0
  463. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/undo_change.py +0 -0
  464. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/update_todo_list.py +0 -0
  465. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/utils/__init__.py +0 -0
  466. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/utils/base_tool.py +0 -0
  467. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/utils/helpers.py +0 -0
  468. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/utils/output.py +0 -0
  469. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/utils/registry.py +0 -0
  470. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/utils/responses.py +0 -0
  471. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/validations/__init__.py +0 -0
  472. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tools/validations/validations.py +0 -0
  473. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/__init__.py +0 -0
  474. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/io.py +0 -0
  475. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/styles.tcss +0 -0
  476. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/__init__.py +0 -0
  477. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/file_list.py +0 -0
  478. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/footer.py +0 -0
  479. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/input_area.py +0 -0
  480. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/input_container.py +0 -0
  481. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/key_hints.py +0 -0
  482. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/output.py +0 -0
  483. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/output_alt.bak +0 -0
  484. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/selectable_log.py +0 -0
  485. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/status_bar.py +0 -0
  486. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/widgets/subagent_pills.py +0 -0
  487. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/tui/worker.py +0 -0
  488. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/urls.py +0 -0
  489. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/utils.py +0 -0
  490. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/versioncheck.py +0 -0
  491. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/voice.py +0 -0
  492. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/waiting.py +0 -0
  493. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/watch.py +0 -0
  494. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/watch_prompts.py +0 -0
  495. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/blame.md +0 -0
  496. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/get-started.md +0 -0
  497. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/help-tip.md +0 -0
  498. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/help.md +0 -0
  499. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/install.md +0 -0
  500. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/keys.md +0 -0
  501. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/model-warnings.md +0 -0
  502. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/multi-line.md +0 -0
  503. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/python-m-aider.md +0 -0
  504. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/recording.css +0 -0
  505. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/recording.md +0 -0
  506. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_includes/works-best.md +0 -0
  507. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_features.scss +0 -0
  508. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_footer.scss +0 -0
  509. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_hero.scss +0 -0
  510. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_info.scss +0 -0
  511. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_layout.scss +0 -0
  512. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_reset.scss +0 -0
  513. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_testimonials.scss +0 -0
  514. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_typography.scss +0 -0
  515. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/_variables.scss +0 -0
  516. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/custom/custom.scss +0 -0
  517. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/_sass/global-overrides.scss +0 -0
  518. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docmd.config.json +0 -0
  519. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/cecli-temp-logo-favicon.svg +0 -0
  520. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/adv-model-settings.md +0 -0
  521. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/agent-mode.md +0 -0
  522. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/api-keys.md +0 -0
  523. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/api.md +0 -0
  524. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/conf.md +0 -0
  525. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/custom-commands.md +0 -0
  526. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  527. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/dotenv.md +0 -0
  528. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/editor.md +0 -0
  529. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/hooks.md +0 -0
  530. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/mcp.md +0 -0
  531. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/model-aliases.md +0 -0
  532. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/model-configuration.md +0 -0
  533. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/model-providers.md +0 -0
  534. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/options.md +0 -0
  535. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/persistent-memory.md +0 -0
  536. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/reasoning.md +0 -0
  537. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/retries.md +0 -0
  538. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/security.md +0 -0
  539. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/skills.md +0 -0
  540. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config/tui.md +0 -0
  541. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/config.md +0 -0
  542. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/git.md +0 -0
  543. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/index.md +0 -0
  544. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/install/docker.md +0 -0
  545. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/install.md +0 -0
  546. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/languages.md +0 -0
  547. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  548. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/legal/privacy.md +0 -0
  549. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/anthropic.md +0 -0
  550. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/azure.md +0 -0
  551. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/bedrock.md +0 -0
  552. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/cohere.md +0 -0
  553. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/deepseek.md +0 -0
  554. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/gemini.md +0 -0
  555. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/github.md +0 -0
  556. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/groq.md +0 -0
  557. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/lm-studio.md +0 -0
  558. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/ollama.md +0 -0
  559. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/openai-compat.md +0 -0
  560. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/openai.md +0 -0
  561. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/opencode-go.md +0 -0
  562. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/openrouter.md +0 -0
  563. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/other.md +0 -0
  564. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/vertex.md +0 -0
  565. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/warnings.md +0 -0
  566. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms/xai.md +0 -0
  567. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/llms.md +0 -0
  568. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/more/analytics.md +0 -0
  569. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/more/edit-formats.md +0 -0
  570. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/more/infinite-output.md +0 -0
  571. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/more-info.md +0 -0
  572. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/repomap.md +0 -0
  573. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/scripting.md +0 -0
  574. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  575. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  576. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/troubleshooting/imports.md +0 -0
  577. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  578. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/troubleshooting/support.md +0 -0
  579. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  580. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  581. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/troubleshooting.md +0 -0
  582. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/commands.md +0 -0
  583. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/conventions.md +0 -0
  584. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/copypaste.md +0 -0
  585. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/images-urls.md +0 -0
  586. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/lint-test.md +0 -0
  587. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/modes.md +0 -0
  588. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/not-code.md +0 -0
  589. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/notifications.md +0 -0
  590. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/optional.md +0 -0
  591. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/sessions.md +0 -0
  592. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/tips.md +0 -0
  593. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/voice.md +0 -0
  594. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage/watch.md +0 -0
  595. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/docs/usage.md +0 -0
  596. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/package-lock.json +0 -0
  597. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/package.json +0 -0
  598. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli/website/share/index.md +0 -0
  599. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli_dev.egg-info/dependency_links.txt +0 -0
  600. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli_dev.egg-info/entry_points.txt +0 -0
  601. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli_dev.egg-info/requires.txt +0 -0
  602. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/cecli_dev.egg-info/top_level.txt +0 -0
  603. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/docker/Dockerfile +0 -0
  604. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  605. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/pyproject.toml +0 -0
  606. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/pytest.ini +0 -0
  607. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/common-constraints.txt +0 -0
  608. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/requirements-dev.in +0 -0
  609. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/requirements-dev.txt +0 -0
  610. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/requirements-help.in +0 -0
  611. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/requirements-help.txt +0 -0
  612. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/requirements-playwright.in +0 -0
  613. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/requirements-playwright.txt +0 -0
  614. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/requirements.in +0 -0
  615. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements/tree-sitter.in +0 -0
  616. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/requirements.txt +0 -0
  617. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/30k-image.py +0 -0
  618. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/__init__.py +0 -0
  619. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/blame.py +0 -0
  620. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/clean_metadata.py +0 -0
  621. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/compare-message-history.py +0 -0
  622. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/condense_model_settings.py +0 -0
  623. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/cost_analyzer.py +0 -0
  624. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/cost_calculator.py +0 -0
  625. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/dl_icons.py +0 -0
  626. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/docmd_build.sh +0 -0
  627. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/filter-chat-mode.js +0 -0
  628. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/generate_providers.py +0 -0
  629. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/get_contributor_list.js +0 -0
  630. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/get_hashline.py +0 -0
  631. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/history_prompts.py +0 -0
  632. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/homepage.py +0 -0
  633. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/issues.py +0 -0
  634. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/logo_svg.py +0 -0
  635. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/optimize_tokens.sh +0 -0
  636. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/pip-compile.sh +0 -0
  637. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/recording_audio.py +0 -0
  638. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/redact-cast.py +0 -0
  639. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/rename_to_cecli.py +0 -0
  640. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/tmux_record.sh +0 -0
  641. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/tsl_pack_langs.py +0 -0
  642. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/update-blame.sh +0 -0
  643. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/update-docs.sh +0 -0
  644. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/update-history.py +0 -0
  645. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/versionbump.py +0 -0
  646. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/scripts/yank-old-versions.py +0 -0
  647. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/setup.cfg +0 -0
  648. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/shim.pyproject.toml +0 -0
  649. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/__init__.py +0 -0
  650. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/__init__.py +0 -0
  651. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/conftest.py +0 -0
  652. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_agent_config_merge.py +0 -0
  653. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_aws_credentials.py +0 -0
  654. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_background_commands.py +0 -0
  655. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_coder.py +0 -0
  656. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_commands.py +0 -0
  657. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_custom_commands.py +0 -0
  658. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_deprecated.py +0 -0
  659. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_editblock.py +0 -0
  660. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_editor.py +0 -0
  661. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_exceptions.py +0 -0
  662. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_file_system_service.py +0 -0
  663. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_find_or_blocks.py +0 -0
  664. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_hashline.py +0 -0
  665. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_hashline_closure.py +0 -0
  666. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_history.py +0 -0
  667. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_io.py +0 -0
  668. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_linter.py +0 -0
  669. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_model_info_manager.py +0 -0
  670. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_model_provider_manager.py +0 -0
  671. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_models.py +0 -0
  672. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_onboarding.py +0 -0
  673. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_plugin_manager.py +0 -0
  674. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_prompts.py +0 -0
  675. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_reasoning.py +0 -0
  676. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_repo.py +0 -0
  677. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_repomap.py +0 -0
  678. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_run_cmd.py +0 -0
  679. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_sanity_check_repo.py +0 -0
  680. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_scripting.py +0 -0
  681. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_select_selector.py +0 -0
  682. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_sendchat.py +0 -0
  683. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_session_args.py +0 -0
  684. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_session_crypto.py +0 -0
  685. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_sessions.py +0 -0
  686. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_sessions_manager.py +0 -0
  687. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_skills.py +0 -0
  688. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_special.py +0 -0
  689. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_spinner.py +0 -0
  690. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_ssl_verification.py +0 -0
  691. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_udiff.py +0 -0
  692. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_urls.py +0 -0
  693. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_voice.py +0 -0
  694. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_watch.py +0 -0
  695. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/basic/test_wholefile.py +0 -0
  696. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/coders/test_coder_switching.py +0 -0
  697. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/coders/test_copypaste_coder.py +0 -0
  698. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/coders/test_tool_call_consolidation.py +0 -0
  699. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/commands/test_auto_memory.py +0 -0
  700. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/commands/test_compaction.py +0 -0
  701. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/commands/test_remove_memory.py +0 -0
  702. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/commands/test_search_memory.py +0 -0
  703. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/commands/test_switch_agent.py +0 -0
  704. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/conversations/test_conversation_integration.py +0 -0
  705. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/conversations/test_conversation_system.py +0 -0
  706. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  707. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/chat-history.md +0 -0
  708. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/arduino/test.ino +0 -0
  709. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/bash/test.sh +0 -0
  710. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/c/test.c +0 -0
  711. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/chatito/test.chatito +0 -0
  712. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/clojure/test.clj +0 -0
  713. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  714. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/cpp/test.cpp +0 -0
  715. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/csharp/test.cs +0 -0
  716. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/d/test.d +0 -0
  717. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/dart/test.dart +0 -0
  718. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/elisp/test.el +0 -0
  719. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/elixir/test.ex +0 -0
  720. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/elm/test.elm +0 -0
  721. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/gleam/test.gleam +0 -0
  722. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/go/test.go +0 -0
  723. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/haskell/test.hs +0 -0
  724. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/hcl/test.tf +0 -0
  725. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/java/test.java +0 -0
  726. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/javascript/test.js +0 -0
  727. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/kotlin/test.kt +0 -0
  728. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/lua/test.lua +0 -0
  729. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/matlab/test.m +0 -0
  730. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/ocaml/test.ml +0 -0
  731. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  732. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/php/test.php +0 -0
  733. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/pony/test.pony +0 -0
  734. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/properties/test.properties +0 -0
  735. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/python/test.py +0 -0
  736. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/ql/test.ql +0 -0
  737. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/r/test.r +0 -0
  738. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/racket/test.rkt +0 -0
  739. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/ruby/test.rb +0 -0
  740. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/rust/test.rs +0 -0
  741. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/scala/test.scala +0 -0
  742. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/solidity/test.sol +0 -0
  743. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/swift/test.swift +0 -0
  744. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/tsx/test.tsx +0 -0
  745. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/typescript/test.ts +0 -0
  746. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/udev/test.rules +0 -0
  747. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/languages/zig/test.zig +0 -0
  748. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/sample-code-base/sample.js +0 -0
  749. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/sample-code-base/sample.py +0 -0
  750. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  751. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/watch.js +0 -0
  752. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/watch.lisp +0 -0
  753. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/watch.py +0 -0
  754. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/fixtures/watch_question.js +0 -0
  755. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/help/test_help.py +0 -0
  756. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/observations/test_observation_service.py +0 -0
  757. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/server/acp/__init__.py +0 -0
  758. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/server/acp/test_bridge.py +0 -0
  759. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/server/acp/test_dispatch.py +0 -0
  760. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/server/acp/test_models.py +0 -0
  761. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/server/acp/test_protocol.py +0 -0
  762. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_api_base.py +0 -0
  763. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_aws_sigv4.py +0 -0
  764. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_cache_control.py +0 -0
  765. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_gemini_auth.py +0 -0
  766. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_github_copilot_auth.py +0 -0
  767. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_hyperscalers.py +0 -0
  768. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_messages_stream.py +0 -0
  769. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_messages_wire.py +0 -0
  770. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_providers_json.py +0 -0
  771. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_reasoning_config.py +0 -0
  772. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_reasoning_extract.py +0 -0
  773. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_llms_vision.py +0 -0
  774. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_loop_detect.py +0 -0
  775. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_memory_control.py +0 -0
  776. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/test_orchestration.py +0 -0
  777. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/workspaces/conftest.py +0 -0
  778. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/workspaces/test_config.py +0 -0
  779. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/workspaces/test_paths.py +0 -0
  780. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/helpers/workspaces/test_subagents.py +0 -0
  781. /cecli_dev-1.4.0/tests/helpers/workspaces/test_workspace.py → /cecli_dev-1.4.1rc1/tests/helpers/workspaces/test_workspace_manager.py +0 -0
  782. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/hooks/__init__.py +0 -0
  783. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/hooks/test_base.py +0 -0
  784. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/hooks/test_manager.py +0 -0
  785. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/hooks/test_registry.py +0 -0
  786. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/integration/test_agent_mcp_management.py +0 -0
  787. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/integration/test_config_loading.py +0 -0
  788. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/integration/test_mcp_management.py +0 -0
  789. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/__init__.py +0 -0
  790. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/conftest.py +0 -0
  791. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/mock_server.py +0 -0
  792. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_keepalive_concurrency.py +0 -0
  793. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_keepalive_config.py +0 -0
  794. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_keepalive_integration.py +0 -0
  795. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_keepalive_logging.py +0 -0
  796. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_keepalive_resilience.py +0 -0
  797. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_keepalive_unit.py +0 -0
  798. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_manager.py +0 -0
  799. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_manager_retry.py +0 -0
  800. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_server_name_normalization.py +0 -0
  801. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/mcp/test_server_sdk_compat.py +0 -0
  802. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/scrape/test_playwright_disable.py +0 -0
  803. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/scrape/test_scrape.py +0 -0
  804. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/__init__.py +0 -0
  805. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/conftest.py +0 -0
  806. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/test_commands.py +0 -0
  807. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/test_config.py +0 -0
  808. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/test_delegate.py +0 -0
  809. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/test_finished.py +0 -0
  810. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/test_io_proxy.py +0 -0
  811. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/test_service.py +0 -0
  812. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/subagents/test_sub_agent_coder.py +0 -0
  813. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/test_requests.py +0 -0
  814. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_command_format_output.py +0 -0
  815. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_edit_file_format_output.py +0 -0
  816. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_extractions.py +0 -0
  817. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_get_lines.py +0 -0
  818. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_git_branch.py +0 -0
  819. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_git_diff.py +0 -0
  820. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_grep.py +0 -0
  821. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_insert_block.py +0 -0
  822. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_read_range_execute.py +0 -0
  823. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_registry.py +0 -0
  824. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_remove_mcp_tool.py +0 -0
  825. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_tool_arguments.py +0 -0
  826. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/test_tools_load_mcp_tool.py +0 -0
  827. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/tools/validations.py +0 -0
  828. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/conftest.py +0 -0
  829. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_deep_merge.py +0 -0
  830. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_edge_cases.py +0 -0
  831. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_load_mcp.py +0 -0
  832. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_performance.py +0 -0
  833. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_queues.py +0 -0
  834. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_remove_mcp.py +0 -0
  835. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_retry_backoff.py +0 -0
  836. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_shallow_merge.py +0 -0
  837. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_signals.py +0 -0
  838. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_unit_load_mcp_tool.py +0 -0
  839. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
  840. {cecli_dev-1.4.0 → cecli_dev-1.4.1rc1}/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.4.0
3
+ Version: 1.4.1rc1
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.4.0'
22
- __version_tuple__ = version_tuple = (1, 4, 0)
21
+ __version__ = version = '1.4.1rc1'
22
+ __version_tuple__ = version_tuple = (1, 4, 1, 'rc1')
23
23
 
24
- __commit_id__ = commit_id = 'g1933dd2b7'
24
+ __commit_id__ = commit_id = 'g1780653e8'
@@ -55,7 +55,6 @@ from .merge import MergeCommand
55
55
  from .model import ModelCommand
56
56
  from .models import ModelsCommand
57
57
  from .multiline_mode import MultilineModeCommand
58
- from .open import OpenCommand
59
58
  from .paste import PasteCommand
60
59
  from .queue import QueueCommand
61
60
  from .quit import QuitCommand
@@ -152,7 +151,6 @@ CommandRegistry.register(MergeCommand)
152
151
  CommandRegistry.register(ModelCommand)
153
152
  CommandRegistry.register(ModelsCommand)
154
153
  CommandRegistry.register(MultilineModeCommand)
155
- CommandRegistry.register(OpenCommand)
156
154
  CommandRegistry.register(PasteCommand)
157
155
  CommandRegistry.register(QueueCommand)
158
156
  CommandRegistry.register(QuitCommand)
@@ -242,7 +240,6 @@ __all__ = [
242
240
  "ModelCommand",
243
241
  "ModelsCommand",
244
242
  "MultilineModeCommand",
245
- "OpenCommand",
246
243
  "parse_quoted_filenames",
247
244
  "PasteCommand",
248
245
  "quote_filename",
@@ -0,0 +1,238 @@
1
+ from cecli.commands.utils.base_command import BaseCommand
2
+
3
+
4
+ class WorkspaceCommand(BaseCommand):
5
+ NORM_NAME = "workspace"
6
+ DESCRIPTION = "List, open or register workspace sub-agents"
7
+ show_completion_notification = True
8
+
9
+ @classmethod
10
+ async def execute(cls, io, coder, args, **kwargs):
11
+ """List active workspace sub-agents, or open / register one.
12
+
13
+ Syntax:
14
+ /workspace — List active workspace sub-agents
15
+ /workspace <ws:name> — Open an already-registered ``ws:name`` sub-agent (like /spawn-agent)
16
+ /workspace <name> <path> — Register and open a ``ws:{name}`` sub-agent rooted at ``<path>``
17
+ """
18
+ parts = args.strip().split(maxsplit=1)
19
+
20
+ if not parts:
21
+ cls._list_workspace_subagents(io)
22
+ return
23
+
24
+ name = parts[0]
25
+ path_arg = parts[1].strip() if len(parts) > 1 else None
26
+
27
+ if path_arg is None:
28
+ await cls._open_existing(io, coder, name)
29
+ return
30
+
31
+ await cls._register_and_open(io, coder, name, path_arg)
32
+
33
+ @classmethod
34
+ def get_help(cls) -> str:
35
+ """Get help text for the workspace command."""
36
+ help_text = super().get_help()
37
+ help_text += "\nUsage:\n"
38
+ help_text += " /workspace # List active workspace sub-agents\n"
39
+ help_text += " /workspace <ws:name> # Open an already-registered ws: sub-agent (like /spawn-agent)\n"
40
+ help_text += " /workspace <name> <path> # Register and open a ws:{name} sub-agent rooted at <path>\n"
41
+ return help_text
42
+
43
+ @classmethod
44
+ def get_completions(cls, io, coder, args) -> list[str]:
45
+ """Return tab-completions for the workspace command.
46
+
47
+ - The first argument (the ``ws:{name}`` sub-agent name) is completed from
48
+ the active workspace sub-agent names, including the ``ws:`` prefix.
49
+ - The second argument (the project path) is completed by browsing the
50
+ folders at the typed path, independent of the coder's file completion
51
+ index. The folder list is ranked with rapidfuzz + ngram so prefix
52
+ matches surface first.
53
+ """
54
+ from cecli.helpers.agents.service import AgentService
55
+
56
+ partial = (args or "").strip()
57
+
58
+ if not partial or partial.startswith("ws:"):
59
+ return [name for name in AgentService.get_registry() if name.startswith("ws:")]
60
+
61
+ return cls._get_path_completions(partial)
62
+
63
+ @classmethod
64
+ def _list_workspace_subagents(cls, io) -> None:
65
+ """Print the registered ``ws:{name}`` workspace sub-agents and their roots."""
66
+ from cecli.helpers.agents.service import AgentService
67
+
68
+ registry = AgentService.get_registry()
69
+ ws_agents = sorted((name, cfg) for name, cfg in registry.items() if name.startswith("ws:"))
70
+
71
+ if not ws_agents:
72
+ io.tool_output("No workspace sub-agents are active.")
73
+ return
74
+
75
+ io.print("Workspace Sub-Agents:")
76
+ for name, cfg in ws_agents:
77
+ metadata = getattr(cfg, "metadata", {}) or {}
78
+ io.print(f" - {name}")
79
+ io.print(f" Root: {metadata.get('root')}")
80
+ io.print(f" Layout: {metadata.get('layout')}")
81
+ io.print("")
82
+
83
+ @classmethod
84
+ async def _open_existing(cls, io, coder, name) -> None:
85
+ """Open an already-registered workspace sub-agent, mirroring /spawn-agent."""
86
+ from cecli.helpers.agents.service import AgentService
87
+
88
+ if not name.startswith("ws:"):
89
+ io.tool_error(f"Error: '{name}' is not a registered workspace sub-agent.")
90
+ return
91
+
92
+ if name not in AgentService.get_registry():
93
+ io.tool_error(f"Error: workspace sub-agent '{name}' is not registered.")
94
+ return
95
+
96
+ try:
97
+ agent_service = AgentService.get_instance(coder)
98
+ new_coder, info = await agent_service.spawn(
99
+ name, prompt=None, parent=coder, auto_reap=False, independent=True
100
+ )
101
+
102
+ agent_service.foreground_uuid = info.coder.uuid
103
+
104
+ if coder.tui and coder.tui():
105
+ tui = coder.tui()
106
+ switch_key = tui.get_keys_for("next_agent")
107
+ io.tool_output(f"Sub-agent '{name}' spawned and active. Switch with {switch_key}")
108
+
109
+ try:
110
+ tui.call_from_thread(tui._switch_to_container, info.coder.uuid)
111
+ except Exception:
112
+ pass
113
+ else:
114
+ io.tool_output(f"Opened workspace sub-agent '{name}'.")
115
+ except ValueError as e:
116
+ io.tool_error(f"Error: {e}")
117
+ except RuntimeError as e:
118
+ io.tool_error(f"Error: {e}")
119
+ except Exception as e:
120
+ io.tool_error(f"Error spawning sub-agent '{name}': {e}")
121
+
122
+ @classmethod
123
+ async def _register_and_open(cls, io, coder, name, path_arg) -> None:
124
+ """Register a ``ws:{name}`` sub-agent rooted at ``<path>`` and open it."""
125
+ from pathlib import Path
126
+
127
+ from cecli.helpers.agents.service import AgentService
128
+ from cecli.helpers.workspaces.subagents import register_workspace_subagents
129
+
130
+ project_name = name[3:] if name.startswith("ws:") else name
131
+ agent_name = f"ws:{project_name}"
132
+ path = Path(path_arg).expanduser()
133
+
134
+ config = {
135
+ "name": project_name,
136
+ "projects": [{"name": project_name, "path": str(path)}],
137
+ }
138
+ registered = register_workspace_subagents(config)
139
+ if agent_name not in registered:
140
+ io.tool_error(f"Error: '{path}' is not a valid git repository or does not exist.")
141
+ return
142
+
143
+ root = AgentService.get_registry()[agent_name].metadata.get("root")
144
+
145
+ try:
146
+ agent_service = AgentService.get_instance(coder)
147
+ new_coder, info = await agent_service.spawn(
148
+ agent_name, prompt=None, parent=coder, auto_reap=False, independent=True
149
+ )
150
+
151
+ agent_service.foreground_uuid = info.coder.uuid
152
+
153
+ if coder.tui and coder.tui():
154
+ tui = coder.tui()
155
+ switch_key = tui.get_keys_for("next_agent")
156
+ io.tool_output(
157
+ f"Opened workspace sub-agent '{agent_name}' rooted at {root}. Switch with {switch_key}"
158
+ )
159
+
160
+ try:
161
+ tui.call_from_thread(tui._switch_to_container, info.coder.uuid)
162
+ except Exception:
163
+ pass
164
+ else:
165
+ io.tool_output(f"Opened workspace sub-agent '{agent_name}' rooted at {root}.")
166
+ except Exception as e:
167
+ io.tool_error(f"Error opening workspace sub-agent '{agent_name}': {e}")
168
+
169
+ @classmethod
170
+ def _get_path_completions(cls, partial: str) -> list[str]:
171
+ """Browse the filesystem for folders matching the typed path prefix."""
172
+ from pathlib import Path
173
+
174
+ path = Path(partial)
175
+ if partial.endswith("/"):
176
+ search_dir = path
177
+ name_prefix = ""
178
+ else:
179
+ search_dir = path.parent
180
+ name_prefix = path.name
181
+
182
+ if not search_dir.is_dir():
183
+ return []
184
+
185
+ if search_dir == Path("."):
186
+ path_prefix = ""
187
+ else:
188
+ path_prefix = str(search_dir).rstrip("/") + "/"
189
+
190
+ folders: list[str] = []
191
+ try:
192
+ for entry in search_dir.iterdir():
193
+ if entry.is_dir():
194
+ folders.append(path_prefix + entry.name + "/")
195
+ except (PermissionError, OSError):
196
+ return []
197
+
198
+ if name_prefix:
199
+ prefix_lower = name_prefix.lower()
200
+ folders = [f for f in folders if Path(f).name.lower().startswith(prefix_lower)]
201
+
202
+ return cls._rank_paths(partial, folders)
203
+
204
+ @staticmethod
205
+ def _rank_paths(query: str, candidates: list[str]) -> list[str]:
206
+ """Order path candidates with rapidfuzz + ngram so prefix matches surface first."""
207
+ if not candidates:
208
+ return []
209
+
210
+ query_lower = query.lower()
211
+
212
+ try:
213
+ from ngram import NGram
214
+ from rapidfuzz import fuzz, process
215
+ except ImportError:
216
+ return sorted(
217
+ candidates,
218
+ key=lambda c: (not c.lower().startswith(query_lower), c.lower()),
219
+ )
220
+
221
+ lower_candidates = [c.lower() for c in candidates]
222
+ results = process.extract(
223
+ query_lower,
224
+ lower_candidates,
225
+ scorer=fuzz.partial_ratio,
226
+ limit=min(len(candidates), 20),
227
+ score_cutoff=0,
228
+ )
229
+
230
+ matched = [candidates[idx] for _, _, idx in results]
231
+
232
+ if len(matched) < 100:
233
+ ng = NGram([c.lower() for c in matched], N=3)
234
+ reranked = ng.search(query_lower, threshold=0.0)
235
+ original_by_lower = {c.lower(): c for c in matched}
236
+ matched = [original_by_lower.get(item.lower(), item) for item, _ in reranked]
237
+
238
+ return matched
@@ -0,0 +1,110 @@
1
+ """Derive the ``api`` override block for a model.
2
+
3
+ The api block holds request-level parameters. :mod:`cecli.models` merges each
4
+ of these keys into ``extra_params`` the same way the ``api`` section of a
5
+ ``model-overrides`` entry is applied.
6
+
7
+ The default reasoning effort and thinking budget are read from the config
8
+ registry (per model) so they can be set explicitly or by the pipeline; a
9
+ missing registry value falls back to the built-in defaults.
10
+ """
11
+
12
+ from __future__ import annotations
13
+
14
+ from typing import Dict, Optional
15
+
16
+ from .identifiers import is_anthropic, is_claude_5_plus, is_gemini_2_5, is_glm, is_kimi
17
+ from .registry import get_default
18
+ from .utils import supports_reasoning
19
+
20
+ _THINKING_BUDGET_TOKENS = 2048
21
+ #: Default thinking budget for Gemini 2.5 models (Gemini 2.5 Pro's default).
22
+ _GEMINI_THINKING_BUDGET_TOKENS = 8192
23
+ #: Default reasoning effort for reasoning-capable models.
24
+ _DEFAULT_REASONING_EFFORT = "medium"
25
+ #: Default reasoning effort for some newer models, which use ``low``/``high``/
26
+ #: ``max`` levels instead of the ``low``/``medium``/``high`` ladder.
27
+ _DEFAULT_HIGH_REASONING_EFFORT = "high"
28
+
29
+
30
+ def derive_api_config(
31
+ provider: Optional[str], route: str, record: Optional[Dict], model_name: Optional[str] = None
32
+ ) -> Dict:
33
+ """Return the ``api`` config block for a model.
34
+
35
+ Args:
36
+ provider: Provider portion of the model name (may be ``None``).
37
+ route: Model route (name after the provider prefix).
38
+ record: The matched model metadata record, or ``None`` for unknown models.
39
+ model_name: Fully qualified model name used to look up the config
40
+ registry; when ``None`` the built-in defaults are used.
41
+
42
+ Returns:
43
+ A dict of request-level params (reasoning format, thinking, tool calls).
44
+ """
45
+ reasoning = supports_reasoning(record)
46
+ record = record or {}
47
+ gemini_2_5 = is_gemini_2_5(provider, route, record)
48
+ api: Dict = {}
49
+ defaults = get_default(model_name) if model_name else {}
50
+
51
+ if reasoning and not gemini_2_5:
52
+ default_effort = _DEFAULT_REASONING_EFFORT
53
+
54
+ if is_glm(provider, route, record) or is_kimi(provider, route, record):
55
+ default_effort = _DEFAULT_HIGH_REASONING_EFFORT
56
+
57
+ effort = _resolve_reasoning_effort(defaults.get("reasoning"), default_effort)
58
+
59
+ if effort:
60
+ api["reasoning_effort"] = effort
61
+
62
+ if is_anthropic(provider, route, record) and not is_claude_5_plus(provider, route, record):
63
+ # Claude 5+ uses adaptive thinking via ``reasoning_effort`` instead of
64
+ # the ``thinking.type.enabled`` budget block.
65
+ budget = _resolve_thinking_budget(defaults.get("thinking"), _THINKING_BUDGET_TOKENS)
66
+
67
+ if budget:
68
+ api["thinking"] = {"type": "enabled", "budget_tokens": budget}
69
+ elif gemini_2_5:
70
+ # Gemini 2.5 configures thinking via a token budget; litellm maps the
71
+ # generic ``thinking`` param onto ``thinkingBudget`` + ``includeThoughts``.
72
+ budget = _resolve_thinking_budget(defaults.get("thinking"), _GEMINI_THINKING_BUDGET_TOKENS)
73
+
74
+ if budget:
75
+ api["thinking"] = {"type": "enabled", "budget_tokens": budget}
76
+
77
+ if record.get("supports_parallel_function_calling", True):
78
+ api["parallel_tool_calls"] = True
79
+
80
+ return api
81
+
82
+
83
+ def _resolve_reasoning_effort(registered, default=_DEFAULT_REASONING_EFFORT):
84
+ """Return the default reasoning effort for a model.
85
+
86
+ ``"none"`` opts out (no default), a missing/empty registered value keeps
87
+ ``default``, and any other value is used verbatim.
88
+ """
89
+ if registered is None or registered == "":
90
+ return default
91
+
92
+ if registered == "none":
93
+ return None
94
+
95
+ return registered
96
+
97
+
98
+ def _resolve_thinking_budget(registered, default):
99
+ """Return the default thinking budget for a model.
100
+
101
+ ``0`` opts out of a thinking level, a missing/empty registered value keeps
102
+ ``default``, and any other value is used verbatim.
103
+ """
104
+ if registered is None or registered == "":
105
+ return default
106
+
107
+ if registered == 0 or registered == "0":
108
+ return None
109
+
110
+ return registered
@@ -64,6 +64,16 @@ def is_meta(provider, route, record):
64
64
  return provider == "meta" or record_provider == "meta"
65
65
 
66
66
 
67
+ def is_glm(provider, route, record):
68
+ """True when the model is a GLM-series model (Zhipu AI / Z.ai)."""
69
+ return "glm" in _haystack(provider, route, record)
70
+
71
+
72
+ def is_kimi(provider, route, record):
73
+ """True when the model is a Kimi-series model (Moonshot AI)."""
74
+ return "kimi" in _haystack(provider, route, record)
75
+
76
+
67
77
  def gpt_version(route):
68
78
  """Return the leading ``gpt-`` model version, or 0 when not a gpt model.
69
79
 
@@ -133,7 +133,7 @@ def _build_config(context):
133
133
  route = context["route"]
134
134
  record = context["record"]
135
135
  llm = derive_llm_config(provider, route, record)
136
- api = derive_api_config(provider, route, record)
136
+ api = derive_api_config(provider, route, record, context["model_name"])
137
137
  agent = derive_agent_config(provider, route, record)
138
138
 
139
139
  if llm.get("mode") == "responses":
@@ -0,0 +1,43 @@
1
+ """Process-wide registry of per-model reasoning/thinking defaults.
2
+
3
+ The model config pipeline writes a ``{reasoning, thinking}`` entry per model
4
+ name so :func:`derive_api_config` and :mod:`cecli.models` agree on the default
5
+ effort/budget, even after a user overrides it with ``set_reasoning_effort`` /
6
+ ``set_thinking_tokens``.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ from typing import Any, Dict
12
+
13
+ #: Sentinel for "leave this key unchanged" so an explicit ``None`` can be stored.
14
+ _UNSET = object()
15
+
16
+ #: Singleton registry: ``{model_name: {"reasoning": ..., "thinking": ...}}``.
17
+ default_registry: Dict[str, Dict[str, Any]] = {}
18
+
19
+
20
+ def register_default(model_name: str, reasoning: Any = _UNSET, thinking: Any = _UNSET) -> None:
21
+ """Record the default reasoning/thinking config for ``model_name``.
22
+
23
+ Omitting ``reasoning`` or ``thinking`` leaves that key unchanged; passing an
24
+ explicit ``None`` stores ``None`` so the api derivation falls back to its
25
+ built-in default (``"medium"`` / the provider default budget).
26
+ """
27
+ entry = default_registry.setdefault(model_name, {})
28
+
29
+ if reasoning is not _UNSET:
30
+ entry["reasoning"] = reasoning
31
+
32
+ if thinking is not _UNSET:
33
+ entry["thinking"] = thinking
34
+
35
+
36
+ def get_default(model_name: str) -> Dict[str, Any]:
37
+ """Return the registered ``{reasoning, thinking}`` defaults for ``model_name``."""
38
+ return default_registry.get(model_name, {})
39
+
40
+
41
+ def clear_default_registry() -> None:
42
+ """Reset the registry (mainly for tests)."""
43
+ default_registry.clear()
@@ -1120,36 +1120,21 @@ async def main_async(
1120
1120
  "Model setting 'remove_reasoning' is deprecated, please use 'reasoning_tag' instead."
1121
1121
  )
1122
1122
  if args.reasoning_effort is not None:
1123
- if (
1124
- not args.check_model_accepts_settings
1125
- or main_model.accepts_settings
1126
- and "reasoning_effort" in main_model.accepts_settings
1127
- ):
1128
- main_model.set_reasoning_effort(args.reasoning_effort)
1123
+ main_model.set_reasoning_effort(args.reasoning_effort)
1124
+ if agent_model_obj:
1125
+ agent_model_obj.set_reasoning_effort(args.reasoning_effort)
1126
+ if weak_model_obj:
1127
+ weak_model_obj.set_reasoning_effort(args.reasoning_effort)
1128
+ if editor_model_obj:
1129
+ editor_model_obj.set_reasoning_effort(args.reasoning_effort)
1129
1130
  if args.thinking_tokens is not None:
1130
- if (
1131
- not args.check_model_accepts_settings
1132
- or main_model.accepts_settings
1133
- and "thinking_tokens" in main_model.accepts_settings
1134
- ):
1135
- main_model.set_thinking_tokens(args.thinking_tokens)
1136
- if args.check_model_accepts_settings:
1137
- settings_to_check = [
1138
- {"arg": args.reasoning_effort, "name": "reasoning_effort"},
1139
- {"arg": args.thinking_tokens, "name": "thinking_tokens"},
1140
- ]
1141
- for setting in settings_to_check:
1142
- if setting["arg"] is not None and (
1143
- not main_model.accepts_settings
1144
- or setting["name"] not in main_model.accepts_settings
1145
- ):
1146
- io.tool_warning(
1147
- f"Warning: {main_model.name} does not support '{setting['name']}', ignoring."
1148
- )
1149
- io.tool_output(
1150
- f"Use --no-check-model-accepts-settings to force the '{setting['name']}'"
1151
- " setting."
1152
- )
1131
+ main_model.set_thinking_tokens(args.thinking_tokens)
1132
+ if agent_model_obj:
1133
+ agent_model_obj.set_thinking_tokens(args.thinking_tokens)
1134
+ if weak_model_obj:
1135
+ weak_model_obj.set_thinking_tokens(args.thinking_tokens)
1136
+ if editor_model_obj:
1137
+ editor_model_obj.set_thinking_tokens(args.thinking_tokens)
1153
1138
  if args.copy_paste and args.edit_format is None:
1154
1139
  if main_model.edit_format in ("diff", "whole", "diff-fenced"):
1155
1140
  main_model.edit_format = "editor-" + main_model.edit_format
@@ -1374,8 +1359,7 @@ async def main_async(
1374
1359
  if args.copy_paste:
1375
1360
  ClipboardWatcher(coder.io, verbose=args.verbose)
1376
1361
  if args.show_prompts:
1377
- coder.cur_messages += [dict(role="user", content="Hello!")]
1378
- messages = coder.format_messages().all_messages()
1362
+ messages = coder.format_messages()
1379
1363
  utils.show_messages(messages)
1380
1364
  return await graceful_exit(coder)
1381
1365
  if args.lint:
@@ -22,6 +22,7 @@ from cecli.helpers.file_searcher import (
22
22
  handle_core_files,
23
23
  )
24
24
  from cecli.helpers.model_config import get_default_config
25
+ from cecli.helpers.model_config.registry import register_default
25
26
  from cecli.helpers.model_config.utils import get_entry_from_raw
26
27
  from cecli.helpers.model_providers import ModelProviderManager
27
28
  from cecli.helpers.nested import deep_merge
@@ -980,15 +981,23 @@ class Model(ModelSettings):
980
981
  def _apply_reasoning_defaults(self):
981
982
  """Apply the default thinking/reasoning configuration at init time.
982
983
 
983
- The model config pipeline's ``api`` block decides which mechanism a
984
- model uses: anthropic-family models configure ``thinking`` tokens while
985
- everything else uses a reasoning effort. ``override_kwargs`` applied
986
- later in ``_apply_structured_kwargs`` win over these defaults.
984
+ The model config pipeline's ``api`` block carries the reasoning effort
985
+ and/or thinking budget the model uses; the config registry records the
986
+ defaults so they initialize from the api block or an explicit user
987
+ override. ``override_kwargs`` applied later in
988
+ ``_apply_structured_kwargs`` win over these defaults.
987
989
  """
990
+ register_default(
991
+ self.name,
992
+ reasoning=self._default_reasoning_effort,
993
+ thinking=self._default_thinking_budget,
994
+ )
995
+
996
+ if self._default_reasoning_effort is not None:
997
+ self.set_reasoning_effort(self._default_reasoning_effort)
998
+
988
999
  if self._default_thinking_budget is not None:
989
1000
  self.set_thinking_tokens(self._default_thinking_budget)
990
- elif self._default_reasoning_effort is not None:
991
- self.set_reasoning_effort(self._default_reasoning_effort)
992
1001
 
993
1002
  def tokenizer(self, text):
994
1003
  return litellm.encode(model=self.name, text=text)
@@ -1140,6 +1149,8 @@ class Model(ModelSettings):
1140
1149
  the effort onto the provider's own field (e.g. Gemini's
1141
1150
  ``thinking_level``).
1142
1151
  """
1152
+ register_default(self.name, reasoning=effort)
1153
+
1143
1154
  if not self.extra_params:
1144
1155
  self.extra_params = {}
1145
1156
 
@@ -1221,6 +1232,7 @@ class Model(ModelSettings):
1221
1232
  """
1222
1233
  if value is not None:
1223
1234
  num_tokens = self.parse_token_value(value)
1235
+ register_default(self.name, thinking=num_tokens)
1224
1236
  self.use_temperature = False
1225
1237
  if not self.extra_params:
1226
1238
  self.extra_params = {}
@@ -28,7 +28,7 @@ main_system: |
28
28
  ## FILE FORMAT
29
29
  File contents are presented with virtual prefix identifiers to help you target edits accurately. These are generated on-the-fly when reading the file.
30
30
 
31
- - **Unique Lines (`——`):** Lines that appear only once in the file are prefixed with `——`. To target these lines for edits, you can simply reference the exact literal text of the line, excluding the prefix.
31
+ - **Unique Lines (`——`):** Lines that appear only once in the file are prefixed with `——`. To target these lines for edits, you can simply reference the exact literal text of the line.
32
32
  - **Duplicate Lines (e.g., `—“0车加—`):** Lines that appear multiple times are prefixed with an opaque identifier. You MUST include this exact identifier when targeting these lines to disambiguate which specific instance you want to edit.
33
33
 
34
34
  **Example File**
@@ -13,7 +13,7 @@ main_system: |
13
13
  ## FILE FORMAT
14
14
  File contents are presented with virtual prefix identifiers to help you target edits accurately. These are generated on-the-fly when reading the file.
15
15
 
16
- - **Unique Lines (`——`):** Lines that appear only once in the file are prefixed with `——`. To target these lines for edits, you can simply reference the exact literal text of the line, excluding the prefix.
16
+ - **Unique Lines (`——`):** Lines that appear only once in the file are prefixed with `——`. To target these lines for edits, you can simply reference the exact literal text of the line.
17
17
  - **Duplicate Lines (e.g., `—“0车加—`):** Lines that appear multiple times are prefixed with an opaque identifier. You MUST include this exact identifier when targeting these lines to disambiguate which specific instance you want to edit.
18
18
 
19
19
  **Example File**