cecli-dev 0.95.6.dev1__tar.gz → 0.95.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/ubuntu-tests.yml +2 -0
  2. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/windows-tests.yml +2 -0
  3. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/PKG-INFO +5 -4
  4. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/README.md +4 -3
  5. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/__init__.py +1 -1
  6. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/_version.py +3 -3
  7. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/args.py +25 -10
  8. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/agent_coder.py +50 -38
  9. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/base_coder.py +26 -10
  10. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/core.py +10 -7
  11. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/model_providers.py +51 -2
  12. cecli_dev-0.95.7/cecli/helpers/nested.py +83 -0
  13. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/io.py +3 -0
  14. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/main.py +6 -3
  15. cecli_dev-0.95.7/cecli/prompts/utils/registry.py +203 -0
  16. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/resources/providers.json +9 -0
  17. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/custom-commands.md +4 -2
  18. cecli_dev-0.95.7/cecli/website/docs/config/custom-system-prompts.md +162 -0
  19. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli_dev.egg-info/PKG-INFO +5 -4
  20. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli_dev.egg-info/SOURCES.txt +3 -1
  21. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/pytest.ini +1 -1
  22. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_commands.py +11 -0
  23. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_model_provider_manager.py +118 -0
  24. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_prompts.py +139 -77
  25. cecli_dev-0.95.6.dev1/cecli/prompts/utils/prompt_registry.py +0 -167
  26. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.dockerignore +0 -0
  27. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.flake8 +0 -0
  28. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.gitattributes +0 -0
  29. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  30. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/check_pypi_version.yml +0 -0
  31. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/docker-build-test.yml +0 -0
  32. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/docker-release.yml +0 -0
  33. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/issues.yml +0 -0
  34. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/pages.yml +0 -0
  35. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/pre-commit.yml +0 -0
  36. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/release.yml +0 -0
  37. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.github/workflows/windows_check_pypi_version.yml +0 -0
  38. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.gitignore +0 -0
  39. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/.pre-commit-config.yaml +0 -0
  40. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/CHANGELOG.md +0 -0
  41. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/CNAME +0 -0
  42. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/CONTRIBUTING.md +0 -0
  43. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/HISTORY.md +0 -0
  44. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/LICENSE.txt +0 -0
  45. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/MANIFEST.in +0 -0
  46. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/Dockerfile +0 -0
  47. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/README.md +0 -0
  48. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/__init__.py +0 -0
  49. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/benchmark.py +0 -0
  50. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/benchmark_classic.py +0 -0
  51. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/clone-exercism.sh +0 -0
  52. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/cpp-test.sh +0 -0
  53. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/docker.sh +0 -0
  54. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/docker_build.sh +0 -0
  55. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/install-docker-ubuntu.sh +0 -0
  56. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/npm-test.sh +0 -0
  57. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/over_time.py +0 -0
  58. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/plot.sh +0 -0
  59. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/plots.py +0 -0
  60. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/problem_stats.py +0 -0
  61. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/prompts.py +0 -0
  62. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/refactor_tools.py +0 -0
  63. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/rsync.sh +0 -0
  64. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/rungrid.py +0 -0
  65. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/swe-bench-lite.txt +0 -0
  66. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/swe-bench.txt +0 -0
  67. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/swe_bench.py +0 -0
  68. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/benchmark/test_benchmark.py +0 -0
  69. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/__main__.py +0 -0
  70. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/args_formatter.py +0 -0
  71. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/change_tracker.py +0 -0
  72. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/__init__.py +0 -0
  73. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/architect_coder.py +0 -0
  74. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/ask_coder.py +0 -0
  75. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/chat_chunks.py +0 -0
  76. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/context_coder.py +0 -0
  77. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/copypaste_coder.py +0 -0
  78. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/editblock_coder.py +0 -0
  79. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/editblock_fenced_coder.py +0 -0
  80. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/editblock_func_coder.py +0 -0
  81. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  82. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/editor_editblock_coder.py +0 -0
  83. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/editor_whole_coder.py +0 -0
  84. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/help_coder.py +0 -0
  85. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/patch_coder.py +0 -0
  86. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/search_replace.py +0 -0
  87. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/shell.py +0 -0
  88. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/single_wholefile_func_coder.py +0 -0
  89. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/udiff_coder.py +0 -0
  90. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/udiff_simple.py +0 -0
  91. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/wholefile_coder.py +0 -0
  92. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/coders/wholefile_func_coder.py +0 -0
  93. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/__init__.py +0 -0
  94. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/add.py +0 -0
  95. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/agent.py +0 -0
  96. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/architect.py +0 -0
  97. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/ask.py +0 -0
  98. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/chat_mode.py +0 -0
  99. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/clear.py +0 -0
  100. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/code.py +0 -0
  101. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/command_prefix.py +0 -0
  102. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/commit.py +0 -0
  103. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/context.py +0 -0
  104. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/context_blocks.py +0 -0
  105. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/context_management.py +0 -0
  106. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/copy.py +0 -0
  107. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/copy_context.py +0 -0
  108. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/diff.py +0 -0
  109. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/drop.py +0 -0
  110. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/editor.py +0 -0
  111. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/exit.py +0 -0
  112. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/git.py +0 -0
  113. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/help.py +0 -0
  114. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/history_search.py +0 -0
  115. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/lint.py +0 -0
  116. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/list_sessions.py +0 -0
  117. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/load.py +0 -0
  118. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/load_session.py +0 -0
  119. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/load_skill.py +0 -0
  120. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/ls.py +0 -0
  121. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/map.py +0 -0
  122. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/map_refresh.py +0 -0
  123. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/model.py +0 -0
  124. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/models.py +0 -0
  125. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/multiline_mode.py +0 -0
  126. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/paste.py +0 -0
  127. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/quit.py +0 -0
  128. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/read_only.py +0 -0
  129. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/read_only_stub.py +0 -0
  130. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/reasoning_effort.py +0 -0
  131. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/remove_skill.py +0 -0
  132. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/report.py +0 -0
  133. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/reset.py +0 -0
  134. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/run.py +0 -0
  135. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/save.py +0 -0
  136. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/save_session.py +0 -0
  137. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/settings.py +0 -0
  138. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/test.py +0 -0
  139. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/think_tokens.py +0 -0
  140. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/tokens.py +0 -0
  141. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/undo.py +0 -0
  142. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/utils/__init__.py +0 -0
  143. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/utils/base_command.py +0 -0
  144. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/utils/helpers.py +0 -0
  145. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/utils/registry.py +0 -0
  146. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/utils/save_load_manager.py +0 -0
  147. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/voice.py +0 -0
  148. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/weak_model.py +0 -0
  149. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/commands/web.py +0 -0
  150. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/deprecated_args.py +0 -0
  151. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/diffs.py +0 -0
  152. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/dump.py +0 -0
  153. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/editor.py +0 -0
  154. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/exceptions.py +0 -0
  155. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/format_settings.py +0 -0
  156. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/help.py +0 -0
  157. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/help_pats.py +0 -0
  158. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/__init__.py +0 -0
  159. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/copypaste.py +0 -0
  160. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/coroutines.py +0 -0
  161. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/file_searcher.py +0 -0
  162. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/plugin_manager.py +0 -0
  163. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/profiler.py +0 -0
  164. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/requests.py +0 -0
  165. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/similarity.py +0 -0
  166. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/helpers/skills.py +0 -0
  167. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/history.py +0 -0
  168. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/linter.py +0 -0
  169. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/llm.py +0 -0
  170. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/mcp/__init__.py +0 -0
  171. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/mcp/oauth.py +0 -0
  172. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/mcp/server.py +0 -0
  173. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/mdstream.py +0 -0
  174. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/models.py +0 -0
  175. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/onboarding.py +0 -0
  176. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/__init__.py +0 -0
  177. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/agent.yml +0 -0
  178. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/architect.yml +0 -0
  179. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/ask.yml +0 -0
  180. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/base.yml +0 -0
  181. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/context.yml +0 -0
  182. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/copypaste.yml +0 -0
  183. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/editblock.yml +0 -0
  184. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/editblock_fenced.yml +0 -0
  185. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/editblock_func.yml +0 -0
  186. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/editor_diff_fenced.yml +0 -0
  187. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/editor_editblock.yml +0 -0
  188. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/editor_whole.yml +0 -0
  189. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/help.yml +0 -0
  190. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/patch.yml +0 -0
  191. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/single_wholefile_func.yml +0 -0
  192. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/udiff.yml +0 -0
  193. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/udiff_simple.yml +0 -0
  194. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/utils/__init__.py +0 -0
  195. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/utils/system.py +0 -0
  196. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/wholefile.yml +0 -0
  197. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/prompts/wholefile_func.yml +0 -0
  198. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  199. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  200. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  201. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  202. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  203. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  204. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  205. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  206. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  207. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  208. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  209. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  210. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  211. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  212. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  213. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  214. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  215. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  216. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  217. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  218. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  219. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  220. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  221. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  222. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  223. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  224. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  225. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  226. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  227. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  228. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  229. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/README.md +0 -0
  230. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  231. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  232. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  233. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  234. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  235. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  236. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  237. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  238. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  239. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  240. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  241. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  242. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  243. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  244. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  245. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  246. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  247. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  248. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  249. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  250. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  251. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  252. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  253. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  254. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  255. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  256. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/reasoning_tags.py +0 -0
  257. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/repo.py +0 -0
  258. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/repomap.py +0 -0
  259. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/report.py +0 -0
  260. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/resources/__init__.py +0 -0
  261. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/resources/model-metadata.json +0 -0
  262. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/resources/model-settings.yml +0 -0
  263. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/run_cmd.py +0 -0
  264. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/scrape.py +0 -0
  265. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/sendchat.py +0 -0
  266. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/sessions.py +0 -0
  267. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/special.py +0 -0
  268. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/__init__.py +0 -0
  269. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/command.py +0 -0
  270. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/command_interactive.py +0 -0
  271. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/context_manager.py +0 -0
  272. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/delete_block.py +0 -0
  273. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/delete_line.py +0 -0
  274. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/delete_lines.py +0 -0
  275. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/extract_lines.py +0 -0
  276. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/finished.py +0 -0
  277. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/git_branch.py +0 -0
  278. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/git_diff.py +0 -0
  279. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/git_log.py +0 -0
  280. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/git_remote.py +0 -0
  281. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/git_show.py +0 -0
  282. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/git_status.py +0 -0
  283. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/grep.py +0 -0
  284. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/indent_lines.py +0 -0
  285. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/insert_block.py +0 -0
  286. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/list_changes.py +0 -0
  287. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/load_skill.py +0 -0
  288. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/ls.py +0 -0
  289. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/remove_skill.py +0 -0
  290. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/replace_all.py +0 -0
  291. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/replace_line.py +0 -0
  292. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/replace_lines.py +0 -0
  293. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/replace_text.py +0 -0
  294. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/show_numbered_context.py +0 -0
  295. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/thinking.py +0 -0
  296. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/undo_change.py +0 -0
  297. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/update_todo_list.py +0 -0
  298. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/utils/base_tool.py +0 -0
  299. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/utils/helpers.py +0 -0
  300. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/utils/output.py +0 -0
  301. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/utils/registry.py +0 -0
  302. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/view_files_matching.py +0 -0
  303. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tools/view_files_with_symbol.py +0 -0
  304. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/__init__.py +0 -0
  305. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/app.py +0 -0
  306. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/io.py +0 -0
  307. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/styles.tcss +0 -0
  308. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/widgets/__init__.py +0 -0
  309. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/widgets/completion_bar.py +0 -0
  310. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/widgets/file_list.py +0 -0
  311. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/widgets/footer.py +0 -0
  312. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/widgets/input_area.py +0 -0
  313. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/widgets/key_hints.py +0 -0
  314. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/widgets/output.py +0 -0
  315. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/widgets/status_bar.py +0 -0
  316. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/tui/worker.py +0 -0
  317. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/urls.py +0 -0
  318. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/utils.py +0 -0
  319. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/versioncheck.py +0 -0
  320. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/voice.py +0 -0
  321. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/waiting.py +0 -0
  322. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/watch.py +0 -0
  323. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/watch_prompts.py +0 -0
  324. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/Gemfile +0 -0
  325. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/blame.md +0 -0
  326. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/get-started.md +0 -0
  327. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/help-tip.md +0 -0
  328. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/help.md +0 -0
  329. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/install.md +0 -0
  330. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/keys.md +0 -0
  331. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/model-warnings.md +0 -0
  332. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/multi-line.md +0 -0
  333. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/python-m-aider.md +0 -0
  334. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/recording.css +0 -0
  335. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/recording.md +0 -0
  336. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/replit-pipx.md +0 -0
  337. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_includes/works-best.md +0 -0
  338. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/_sass/custom/custom.scss +0 -0
  339. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/adv-model-settings.md +0 -0
  340. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/agent-mode.md +0 -0
  341. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/aider_conf.md +0 -0
  342. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/api-keys.md +0 -0
  343. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/dotenv.md +0 -0
  344. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/editor.md +0 -0
  345. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/mcp.md +0 -0
  346. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/model-aliases.md +0 -0
  347. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/options.md +0 -0
  348. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/reasoning.md +0 -0
  349. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/skills.md +0 -0
  350. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config/tui.md +0 -0
  351. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/config.md +0 -0
  352. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/faq.md +0 -0
  353. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/git.md +0 -0
  354. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/index.md +0 -0
  355. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/install/codespaces.md +0 -0
  356. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/install/docker.md +0 -0
  357. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/install/optional.md +0 -0
  358. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/install/replit.md +0 -0
  359. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/install.md +0 -0
  360. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/languages.md +0 -0
  361. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  362. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/legal/privacy.md +0 -0
  363. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/anthropic.md +0 -0
  364. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/azure.md +0 -0
  365. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/bedrock.md +0 -0
  366. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/cohere.md +0 -0
  367. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/deepseek.md +0 -0
  368. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/gemini.md +0 -0
  369. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/github.md +0 -0
  370. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/groq.md +0 -0
  371. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/lm-studio.md +0 -0
  372. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/ollama.md +0 -0
  373. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/openai-compat.md +0 -0
  374. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/openai.md +0 -0
  375. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/openrouter.md +0 -0
  376. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/other.md +0 -0
  377. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/vertex.md +0 -0
  378. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/warnings.md +0 -0
  379. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms/xai.md +0 -0
  380. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/llms.md +0 -0
  381. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/more/analytics.md +0 -0
  382. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/more/edit-formats.md +0 -0
  383. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/more/infinite-output.md +0 -0
  384. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/more-info.md +0 -0
  385. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/recordings/auto-accept-architect.md +0 -0
  386. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/recordings/dont-drop-original-read-files.md +0 -0
  387. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/recordings/index.md +0 -0
  388. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/recordings/model-accepts-settings.md +0 -0
  389. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/recordings/tree-sitter-language-pack.md +0 -0
  390. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/repomap.md +0 -0
  391. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/scripting.md +0 -0
  392. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/sessions.md +0 -0
  393. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/troubleshooting/aider-not-found.md +0 -0
  394. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  395. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/troubleshooting/imports.md +0 -0
  396. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  397. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/troubleshooting/support.md +0 -0
  398. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  399. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  400. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/troubleshooting.md +0 -0
  401. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/browser.md +0 -0
  402. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/caching.md +0 -0
  403. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/commands.md +0 -0
  404. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/conventions.md +0 -0
  405. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/copypaste.md +0 -0
  406. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/images-urls.md +0 -0
  407. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/lint-test.md +0 -0
  408. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/modes.md +0 -0
  409. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/not-code.md +0 -0
  410. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/notifications.md +0 -0
  411. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/tips.md +0 -0
  412. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/tutorials.md +0 -0
  413. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/voice.md +0 -0
  414. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage/watch.md +0 -0
  415. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/docs/usage.md +0 -0
  416. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli/website/share/index.md +0 -0
  417. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli_dev.egg-info/dependency_links.txt +0 -0
  418. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli_dev.egg-info/entry_points.txt +0 -0
  419. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli_dev.egg-info/requires.txt +0 -0
  420. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/cecli_dev.egg-info/top_level.txt +0 -0
  421. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/docker/Dockerfile +0 -0
  422. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  423. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/pyproject.toml +0 -0
  424. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/common-constraints.txt +0 -0
  425. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/requirements-dev.in +0 -0
  426. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/requirements-dev.txt +0 -0
  427. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/requirements-help.in +0 -0
  428. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/requirements-help.txt +0 -0
  429. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/requirements-playwright.in +0 -0
  430. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/requirements-playwright.txt +0 -0
  431. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/requirements.in +0 -0
  432. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements/tree-sitter.in +0 -0
  433. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/requirements.txt +0 -0
  434. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/30k-image.py +0 -0
  435. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/Dockerfile.jekyll +0 -0
  436. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/__init__.py +0 -0
  437. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/blame.py +0 -0
  438. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/clean_metadata.py +0 -0
  439. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/cost_analyzer.py +0 -0
  440. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/dl_icons.py +0 -0
  441. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/filter-chat-mode.js +0 -0
  442. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/generate_providers.py +0 -0
  443. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/get_contributor_list.js +0 -0
  444. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/history_prompts.py +0 -0
  445. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/homepage.py +0 -0
  446. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/issues.py +0 -0
  447. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/jekyll_build.sh +0 -0
  448. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/jekyll_run.sh +0 -0
  449. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/logo_svg.py +0 -0
  450. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/pip-compile.sh +0 -0
  451. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/recording_audio.py +0 -0
  452. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/redact-cast.py +0 -0
  453. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/rename_to_cecli.py +0 -0
  454. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/tmux_record.sh +0 -0
  455. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/tsl_pack_langs.py +0 -0
  456. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/update-blame.sh +0 -0
  457. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/update-docs.sh +0 -0
  458. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/update-history.py +0 -0
  459. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/versionbump.py +0 -0
  460. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/scripts/yank-old-versions.py +0 -0
  461. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/setup.cfg +0 -0
  462. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/shim.pyproject.toml +0 -0
  463. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/__init__.py +0 -0
  464. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/__init__.py +0 -0
  465. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_aws_credentials.py +0 -0
  466. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_coder.py +0 -0
  467. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_deprecated.py +0 -0
  468. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_editblock.py +0 -0
  469. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_editor.py +0 -0
  470. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_exceptions.py +0 -0
  471. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_find_or_blocks.py +0 -0
  472. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_history.py +0 -0
  473. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_io.py +0 -0
  474. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_linter.py +0 -0
  475. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_main.py +0 -0
  476. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_model_info_manager.py +0 -0
  477. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_models.py +0 -0
  478. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_onboarding.py +0 -0
  479. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_plugin_manager.py +0 -0
  480. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_reasoning.py +0 -0
  481. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_repo.py +0 -0
  482. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_repomap.py +0 -0
  483. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_run_cmd.py +0 -0
  484. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_sanity_check_repo.py +0 -0
  485. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_scripting.py +0 -0
  486. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_sendchat.py +0 -0
  487. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_sessions.py +0 -0
  488. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_skills.py +0 -0
  489. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_special.py +0 -0
  490. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_ssl_verification.py +0 -0
  491. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_udiff.py +0 -0
  492. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_urls.py +0 -0
  493. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_voice.py +0 -0
  494. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_watch.py +0 -0
  495. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/basic/test_wholefile.py +0 -0
  496. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/coders/test_copypaste_coder.py +0 -0
  497. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/conftest.py +0 -0
  498. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  499. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/chat-history.md +0 -0
  500. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/arduino/test.ino +0 -0
  501. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/c/test.c +0 -0
  502. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/chatito/test.chatito +0 -0
  503. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/clojure/test.clj +0 -0
  504. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  505. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/cpp/test.cpp +0 -0
  506. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/csharp/test.cs +0 -0
  507. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/d/test.d +0 -0
  508. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/dart/test.dart +0 -0
  509. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/elisp/test.el +0 -0
  510. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/elixir/test.ex +0 -0
  511. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/elm/test.elm +0 -0
  512. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/gleam/test.gleam +0 -0
  513. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/go/test.go +0 -0
  514. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/haskell/test.hs +0 -0
  515. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/hcl/test.tf +0 -0
  516. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/java/test.java +0 -0
  517. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/javascript/test.js +0 -0
  518. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/kotlin/test.kt +0 -0
  519. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/lua/test.lua +0 -0
  520. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/matlab/test.m +0 -0
  521. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/ocaml/test.ml +0 -0
  522. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  523. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/php/test.php +0 -0
  524. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/pony/test.pony +0 -0
  525. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/properties/test.properties +0 -0
  526. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/python/test.py +0 -0
  527. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/ql/test.ql +0 -0
  528. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/r/test.r +0 -0
  529. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/racket/test.rkt +0 -0
  530. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/ruby/test.rb +0 -0
  531. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/rust/test.rs +0 -0
  532. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/scala/test.scala +0 -0
  533. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/solidity/test.sol +0 -0
  534. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/swift/test.swift +0 -0
  535. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/tsx/test.tsx +0 -0
  536. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/typescript/test.ts +0 -0
  537. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/udev/test.rules +0 -0
  538. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/languages/zig/test.zig +0 -0
  539. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/sample-code-base/sample.js +0 -0
  540. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/sample-code-base/sample.py +0 -0
  541. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  542. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/watch.js +0 -0
  543. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/watch.lisp +0 -0
  544. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/watch.py +0 -0
  545. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/fixtures/watch_question.js +0 -0
  546. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/help/test_help.py +0 -0
  547. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/scrape/test_playwright_disable.py +0 -0
  548. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/scrape/test_scrape.py +0 -0
  549. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/tools/test_git_branch.py +0 -0
  550. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/tools/test_git_diff.py +0 -0
  551. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/tools/test_grep.py +0 -0
  552. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/tools/test_insert_block.py +0 -0
  553. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/tools/test_registry.py +0 -0
  554. {cecli_dev-0.95.6.dev1 → cecli_dev-0.95.7}/tests/tools/test_show_numbered_context.py +0 -0
@@ -59,3 +59,5 @@ jobs:
59
59
  - name: Run tests
60
60
  run: |
61
61
  pytest
62
+ env:
63
+ CECLI_TUI: "false"
@@ -47,3 +47,5 @@ jobs:
47
47
  - name: Run tests
48
48
  run: |
49
49
  pytest
50
+ env:
51
+ CECLI_TUI: "false"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 0.95.6.dev1
3
+ Version: 0.95.7
4
4
  Summary: we also can't pronounce cecli
5
5
  Project-URL: Homepage, https://github.com/dwash96/cecli
6
6
  Project-URL: Documentation, https://github.com/dwash96/cecli
@@ -105,6 +105,7 @@ LLMs are a part of our lives from here on out so join us in learning about and c
105
105
  * [Skills](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/skills.md)
106
106
  * [Session Management](https://github.com/dwash96/cecli/blob/main/aider/website/docs/sessions.md)
107
107
  * [Custom Commands](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/custom-commands.md)
108
+ * [Custom System Prompts](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/custom-system-prompts.md)
108
109
  * [Custom Tools](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/agent-mode.md#creating-custom-tools)
109
110
  * [Advanced Model Configuration](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/model-aliases.md#advanced-model-settings)
110
111
  * [Aider Original Documentation (still mostly applies)](https://aider.chat/)
@@ -120,20 +121,20 @@ This project can be installed using several methods:
120
121
 
121
122
  ### Package Installation
122
123
  ```bash
123
- pip install cecli.dev
124
+ pip install cecli-dev
124
125
  ```
125
126
 
126
127
  or
127
128
 
128
129
  ```bash
129
- uv pip install --native-tls cecli.dev
130
+ uv pip install --native-tls cecli-dev
130
131
  ```
131
132
 
132
133
  The package exports a `cecli` command that accepts all of Aider's configuration options
133
134
 
134
135
  ### Tool Installation
135
136
  ```bash
136
- uv tool install --native-tls --python python3.12 cecli.dev
137
+ uv tool install --native-tls --python python3.12 cecli-dev
137
138
  ```
138
139
 
139
140
  Use the tool installation so aider doesn't interfere with your development environment
@@ -22,6 +22,7 @@ LLMs are a part of our lives from here on out so join us in learning about and c
22
22
  * [Skills](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/skills.md)
23
23
  * [Session Management](https://github.com/dwash96/cecli/blob/main/aider/website/docs/sessions.md)
24
24
  * [Custom Commands](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/custom-commands.md)
25
+ * [Custom System Prompts](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/custom-system-prompts.md)
25
26
  * [Custom Tools](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/agent-mode.md#creating-custom-tools)
26
27
  * [Advanced Model Configuration](https://github.com/dwash96/cecli/blob/main/aider/website/docs/config/model-aliases.md#advanced-model-settings)
27
28
  * [Aider Original Documentation (still mostly applies)](https://aider.chat/)
@@ -37,20 +38,20 @@ This project can be installed using several methods:
37
38
 
38
39
  ### Package Installation
39
40
  ```bash
40
- pip install cecli.dev
41
+ pip install cecli-dev
41
42
  ```
42
43
 
43
44
  or
44
45
 
45
46
  ```bash
46
- uv pip install --native-tls cecli.dev
47
+ uv pip install --native-tls cecli-dev
47
48
  ```
48
49
 
49
50
  The package exports a `cecli` command that accepts all of Aider's configuration options
50
51
 
51
52
  ### Tool Installation
52
53
  ```bash
53
- uv tool install --native-tls --python python3.12 cecli.dev
54
+ uv tool install --native-tls --python python3.12 cecli-dev
54
55
  ```
55
56
 
56
57
  Use the tool installation so aider doesn't interfere with your development environment
@@ -1,6 +1,6 @@
1
1
  from packaging import version
2
2
 
3
- __version__ = "0.93.0.dev"
3
+ __version__ = "0.95.7.dev"
4
4
  safe_version = __version__
5
5
 
6
6
  try:
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.95.6.dev1'
32
- __version_tuple__ = version_tuple = (0, 95, 6, 'dev1')
31
+ __version__ = version = '0.95.7'
32
+ __version_tuple__ = version_tuple = (0, 95, 7)
33
33
 
34
- __commit_id__ = commit_id = 'gb8df37217'
34
+ __commit_id__ = commit_id = 'gc8f1f83a5'
@@ -242,13 +242,34 @@ def get_parser(default_config_files, git_root):
242
242
  ),
243
243
  )
244
244
 
245
+ #######
246
+ group = parser.add_argument_group("Customization Settings")
247
+ group.add_argument(
248
+ "--custom",
249
+ metavar="CUSTOM_JSON",
250
+ help=(
251
+ "Specify cecli customizations configurations (for prompts, commands, etc.) as a JSON"
252
+ " string"
253
+ ),
254
+ default=None,
255
+ )
245
256
  ########
246
257
  group = parser.add_argument_group("TUI Settings")
258
+
259
+ env_val = os.environ.get("CECLI_TUI")
260
+
261
+ if env_val is not None and env_val.lower() == "false":
262
+ tui_default = False
263
+ linear_output_default = True
264
+ else:
265
+ tui_default = None
266
+ linear_output_default = None
267
+
247
268
  group.add_argument(
248
269
  "--tui",
249
270
  action=argparse.BooleanOptionalAction,
250
- default=None,
251
- help="Launch Textual TUI interface (experimental)",
271
+ default=tui_default,
272
+ help="Launch Textual TUI interface",
252
273
  )
253
274
  group.add_argument(
254
275
  "--tui-config",
@@ -803,8 +824,8 @@ def get_parser(default_config_files, git_root):
803
824
  group.add_argument(
804
825
  "--linear-output",
805
826
  action=argparse.BooleanOptionalAction,
806
- help="Run input and output sequentially instead of us simultaneous streams (default: True)",
807
- default=True,
827
+ help="Run input and output sequentially instead of us simultaneous streams (default: None)",
828
+ default=linear_output_default,
808
829
  )
809
830
  group.add_argument(
810
831
  "--debug",
@@ -975,12 +996,6 @@ def get_parser(default_config_files, git_root):
975
996
  " specified, a default command for your OS may be used."
976
997
  ),
977
998
  )
978
- group.add_argument(
979
- "--command-paths",
980
- help="JSON array of paths to custom commands files",
981
- action="append",
982
- default=None,
983
- )
984
999
  group.add_argument(
985
1000
  "--command-prefix",
986
1001
  default=None,
@@ -16,6 +16,7 @@ from litellm import experimental_mcp_client
16
16
 
17
17
  from cecli import urls, utils
18
18
  from cecli.change_tracker import ChangeTracker
19
+ from cecli.helpers import nested
19
20
  from cecli.helpers.similarity import (
20
21
  cosine_similarity,
21
22
  create_bigram_vector,
@@ -105,50 +106,61 @@ class AgentCoder(Coder):
105
106
  self.io.tool_warning(f"Failed to parse agent-config JSON: {e}")
106
107
  return {}
107
108
 
108
- if "large_file_token_threshold" not in config:
109
- config["large_file_token_threshold"] = 25000
110
-
111
- if "tools_paths" not in config:
112
- config["tools_paths"] = []
113
- if "tools_includelist" not in config:
114
- config["tools_includelist"] = []
115
- if "tools_excludelist" not in config:
116
- config["tools_excludelist"] = []
109
+ config["large_file_token_threshold"] = nested.getter(
110
+ config, "large_file_token_threshold", 25000
111
+ )
112
+ config["skip_cli_confirmations"] = nested.getter(
113
+ config, "skip_cli_confirmations", nested.getter(config, "yolo", [])
114
+ )
117
115
 
118
- if "include_context_blocks" in config:
119
- self.allowed_context_blocks = set(config["include_context_blocks"])
120
- else:
121
- self.allowed_context_blocks = {
122
- "context_summary",
123
- "directory_structure",
124
- "environment_info",
125
- "git_status",
126
- "symbol_outline",
127
- "todo_list",
128
- "skills",
129
- }
116
+ config["tools_paths"] = nested.getter(config, "tools_paths", [])
117
+ config["tools_includelist"] = nested.getter(
118
+ config, ["tools_includelist", "tools_whitelist"], []
119
+ )
120
+ config["tools_excludelist"] = nested.getter(
121
+ config, ["tools_excludelist", "tools_blacklist"], []
122
+ )
130
123
 
131
- if "exclude_context_blocks" in config:
132
- for context_block in config["exclude_context_blocks"]:
133
- try:
134
- self.allowed_context_blocks.remove(context_block)
135
- except KeyError:
136
- pass
124
+ config["include_context_blocks"] = set(
125
+ nested.getter(
126
+ config,
127
+ "include_context_blocks",
128
+ {
129
+ "context_summary",
130
+ "directory_structure",
131
+ "environment_info",
132
+ "git_status",
133
+ "symbol_outline",
134
+ "todo_list",
135
+ "skills",
136
+ },
137
+ )
138
+ )
139
+ config["exclude_context_blocks"] = set(nested.getter(config, "exclude_context_blocks", []))
137
140
 
138
141
  self.large_file_token_threshold = config["large_file_token_threshold"]
139
- self.skip_cli_confirmations = config.get(
140
- "skip_cli_confirmations", config.get("yolo", False)
141
- )
142
+ self.skip_cli_confirmations = config["skip_cli_confirmations"]
143
+
144
+ self.allowed_context_blocks = config["include_context_blocks"]
145
+
146
+ for context_block in config["exclude_context_blocks"]:
147
+ try:
148
+ self.allowed_context_blocks.remove(context_block)
149
+ except KeyError:
150
+ pass
142
151
 
143
152
  if "skills" in self.allowed_context_blocks:
144
- if "skills_paths" not in config:
145
- config["skills_paths"] = []
146
- if "skills_includelist" not in config:
147
- config["skills_includelist"] = []
148
- if "skills_excludelist" not in config:
149
- config["skills_excludelist"] = []
150
-
151
- if "skills" not in self.allowed_context_blocks or not config.get("skills_paths", []):
153
+ config["skills_paths"] = nested.getter(config, "skills_paths", [])
154
+ config["skills_includelist"] = nested.getter(
155
+ config, ["skills_includelist", "skills_whitelist"], []
156
+ )
157
+ config["skills_excludelist"] = nested.getter(
158
+ config, ["skills_excludelist", "skills_blacklist"], []
159
+ )
160
+
161
+ if "skills" not in self.allowed_context_blocks or not nested.getter(
162
+ config, "skills_paths", []
163
+ ):
152
164
  config["tools_excludelist"].append("loadskill")
153
165
  config["tools_excludelist"].append("removeskill")
154
166
 
@@ -38,7 +38,7 @@ import cecli.prompts.utils.system as prompts
38
38
  from cecli import __version__, models, urls, utils
39
39
  from cecli.commands import Commands, SwitchCoderSignal
40
40
  from cecli.exceptions import LiteLLMExceptions
41
- from cecli.helpers import coroutines
41
+ from cecli.helpers import coroutines, nested
42
42
  from cecli.helpers.profiler import TokenProfiler
43
43
  from cecli.history import ChatSummary
44
44
  from cecli.io import ConfirmGroup, InputOutput
@@ -61,7 +61,7 @@ from cecli.tools.utils.registry import ToolRegistry
61
61
  from cecli.utils import format_tokens, is_image_file
62
62
 
63
63
  from ..dump import dump # noqa: F401
64
- from ..prompts.utils.prompt_registry import registry
64
+ from ..prompts.utils.registry import PromptObject, PromptRegistry
65
65
  from .chat_chunks import ChatChunks
66
66
 
67
67
 
@@ -564,6 +564,29 @@ class Coder:
564
564
  except Exception as e:
565
565
  self.io.tool_warning(f"Could not remove todo list file {todo_file_path}: {e}")
566
566
 
567
+ customizations = dict()
568
+ try:
569
+ if self.args:
570
+ customizations = nested.getter(self.args, "custom", "{}")
571
+ customizations = json.loads(customizations)
572
+ except (json.JSONDecodeError, TypeError):
573
+ customizations = dict()
574
+ pass
575
+
576
+ self.custom = customizations
577
+
578
+ if nested.getter(self.custom, "prompt_map.all", None):
579
+ prompts = PromptRegistry.get_prompt(nested.getter(self.custom, "prompt_map.all"))
580
+ prompt_obj = PromptObject(prompts)
581
+ Coder._prompt_cache[self.prompt_format] = prompt_obj
582
+
583
+ if nested.getter(self.custom, f"prompt_map.{self.prompt_format}", None):
584
+ prompts = PromptRegistry.get_prompt(
585
+ nested.getter(self.custom, f"prompt_map.{self.prompt_format}")
586
+ )
587
+ prompt_obj = PromptObject(prompts)
588
+ Coder._prompt_cache[self.prompt_format] = prompt_obj
589
+
567
590
  # validate the functions jsonschema
568
591
  if self.functions:
569
592
  from jsonschema import Draft7Validator
@@ -600,14 +623,7 @@ class Coder:
600
623
  return Coder._prompt_cache[prompt_name]
601
624
 
602
625
  # Get prompts from registry
603
- prompts = registry.get_prompt(prompt_name)
604
-
605
- # Create a simple object that allows attribute access
606
- class PromptObject:
607
- def __init__(self, prompts_dict):
608
- for key, value in prompts_dict.items():
609
- setattr(self, key, value)
610
-
626
+ prompts = PromptRegistry.get_prompt(prompt_name)
611
627
  # Cache the prompt object
612
628
  prompt_obj = PromptObject(prompts)
613
629
  Coder._prompt_cache[prompt_name] = prompt_obj
@@ -5,7 +5,7 @@ import sys
5
5
  from pathlib import Path
6
6
 
7
7
  from cecli.commands.utils.registry import CommandRegistry
8
- from cecli.helpers import plugin_manager
8
+ from cecli.helpers import nested, plugin_manager
9
9
  from cecli.helpers.file_searcher import handle_core_files
10
10
  from cecli.repo import ANY_GIT_ERROR
11
11
 
@@ -80,13 +80,16 @@ class Commands:
80
80
  self.editor = editor
81
81
  self.original_read_only_fnames = set(original_read_only_fnames or [])
82
82
 
83
+ customizations = dict()
83
84
  try:
84
- self.custom_commands = json.loads(getattr(self.args, "command_paths", "[]"))
85
- except (json.JSONDecodeError, TypeError) as e:
86
- self.io.tool_warning(f"Failed to parse command paths JSON: {e}")
87
- self.custom_commands = []
88
-
89
- # Load custom commands from plugin paths
85
+ if self.args:
86
+ customizations = nested.getter(self.args, "custom", "{}")
87
+ customizations = json.loads(customizations)
88
+ except (json.JSONDecodeError, TypeError):
89
+ customizations = dict()
90
+ pass
91
+
92
+ self.custom_commands = nested.getter(customizations, "command-paths", [])
90
93
  self._load_custom_commands(self.custom_commands)
91
94
 
92
95
  self.cmd_running_event = asyncio.Event()
@@ -439,6 +439,40 @@ class ModelProviderManager:
439
439
  fname = f"{provider}_models.json"
440
440
  return self.cache_dir / fname
441
441
 
442
+ def _normalize_models_payload(self, provider: str, payload: Dict) -> Dict:
443
+ """Normalize provider payloads into an OpenAI-style `{data: [{id: ...}]}`."""
444
+ if not isinstance(payload, dict):
445
+ return {}
446
+ if "data" in payload and isinstance(payload.get("data"), list):
447
+ return payload
448
+ # Fireworks returns `{models: [...], nextPageToken: ..., totalSize: ...}`
449
+ models = payload.get("models")
450
+ if isinstance(models, list):
451
+ normalized = []
452
+ for item in models:
453
+ if not isinstance(item, dict):
454
+ continue
455
+ model_id = item.get("name") or item.get("id")
456
+ if not model_id:
457
+ continue
458
+ record = {"id": model_id}
459
+ for key in (
460
+ "max_input_tokens",
461
+ "max_output_tokens",
462
+ "max_tokens",
463
+ "context_length",
464
+ "context_window",
465
+ "mode",
466
+ "pricing",
467
+ "input_cost_per_token",
468
+ "output_cost_per_token",
469
+ ):
470
+ if key in item and item[key] is not None:
471
+ record[key] = item[key]
472
+ normalized.append(record)
473
+ return {"data": normalized}
474
+ return {}
475
+
442
476
  def _load_cache(self, provider: str) -> None:
443
477
  if self._cache_loaded.get(provider):
444
478
  return
@@ -460,9 +494,10 @@ class ModelProviderManager:
460
494
  payload = self._fetch_provider_models(provider)
461
495
  cache_file = self._get_cache_file(provider)
462
496
  if payload:
463
- self._provider_cache[provider] = payload
497
+ normalized = self._normalize_models_payload(provider, payload)
498
+ self._provider_cache[provider] = normalized
464
499
  try:
465
- cache_file.write_text(json.dumps(payload, indent=2))
500
+ cache_file.write_text(json.dumps(normalized, indent=2))
466
501
  except OSError:
467
502
  pass
468
503
  return
@@ -479,6 +514,13 @@ class ModelProviderManager:
479
514
  models_url = api_base.rstrip("/") + "/models"
480
515
  if not models_url:
481
516
  return None
517
+ # Substitute {account_id} placeholder if present
518
+ if "{account_id}" in models_url:
519
+ account_id = self._get_account_id(provider)
520
+ if not account_id:
521
+ print(f"Failed to fetch {provider} model list: account_id_env not set")
522
+ return None
523
+ models_url = models_url.replace("{account_id}", account_id)
482
524
  headers = {}
483
525
  default_headers = config.get("default_headers") or {}
484
526
  headers.update(default_headers)
@@ -509,6 +551,13 @@ class ModelProviderManager:
509
551
  return value
510
552
  return None
511
553
 
554
+ def _get_account_id(self, provider: str) -> Optional[str]:
555
+ config = self.provider_configs[provider]
556
+ account_id_env = config.get("account_id_env")
557
+ if account_id_env:
558
+ return os.environ.get(account_id_env)
559
+ return None
560
+
512
561
 
513
562
  def ensure_litellm_providers_registered() -> None:
514
563
  """One-time registration guard for LiteLLM provider metadata."""
@@ -0,0 +1,83 @@
1
+ from typing import Any, Dict, List, Union
2
+
3
+
4
+ def arg_resolver(obj: Union[List[Any], Dict[str, Any], Any], key: str, default: Any = None) -> Any:
5
+ """
6
+ Resolves a single key or index from an object with dash/underscore flexibility.
7
+ """
8
+ # 1. Handle List/Sequence access
9
+ if isinstance(obj, (list, tuple)):
10
+ if str(key).isdigit():
11
+ idx = int(key)
12
+ return obj[idx] if idx < len(obj) else default
13
+ return default
14
+
15
+ # 2. Handle Dict access
16
+ if isinstance(obj, dict):
17
+ if key in obj:
18
+ return obj[key]
19
+ # Test underscore and hyphen versions directly
20
+ key_str = str(key)
21
+ # Check underscore version
22
+ if "-" in key_str:
23
+ underscore_key = key_str.replace("-", "_")
24
+ if underscore_key in obj:
25
+ return obj[underscore_key]
26
+ # Check hyphen version
27
+ if "_" in key_str:
28
+ hyphen_key = key_str.replace("_", "-")
29
+ if hyphen_key in obj:
30
+ return obj[hyphen_key]
31
+ return default
32
+
33
+ # 3. Handle Object attribute access
34
+ if hasattr(obj, "__dict__") or hasattr(obj, "__slots__"):
35
+ if hasattr(obj, str(key)):
36
+ return getattr(obj, key)
37
+ # Test underscore and hyphen versions directly
38
+ key_str = str(key)
39
+ # Check underscore version
40
+ if "-" in key_str:
41
+ underscore_key = key_str.replace("-", "_")
42
+ if hasattr(obj, underscore_key):
43
+ return getattr(obj, underscore_key)
44
+ # Check hyphen version
45
+ if "_" in key_str:
46
+ hyphen_key = key_str.replace("_", "-")
47
+ if hasattr(obj, hyphen_key):
48
+ return getattr(obj, hyphen_key)
49
+ return default
50
+
51
+ return default
52
+
53
+
54
+ def getter(
55
+ data: Union[List[Any], Dict[str, Any], Any], path: Union[str, List[str]], default: Any = None
56
+ ) -> Any:
57
+ """Safely access nested dicts and lists using normalized dot-notation."""
58
+
59
+ if data is None:
60
+ return default
61
+
62
+ # Handle single path string
63
+ if isinstance(path, str):
64
+ paths = [path]
65
+ else:
66
+ paths = path
67
+
68
+ # Try each path, return first valid result
69
+ for path_str in paths:
70
+ current = data
71
+ parts = path_str.split(".")
72
+ found = True
73
+
74
+ for part in parts:
75
+ current = arg_resolver(current, part, default=default)
76
+ if current is default:
77
+ found = False
78
+ break
79
+
80
+ if found:
81
+ return current
82
+
83
+ return default
@@ -40,6 +40,7 @@ from rich.spinner import SPINNERS
40
40
  from rich.style import Style as RichStyle
41
41
  from rich.text import Text
42
42
 
43
+ from cecli.commands import SwitchCoderSignal
43
44
  from cecli.helpers import coroutines
44
45
 
45
46
  from .dump import dump # noqa: F401
@@ -1025,6 +1026,7 @@ class InputOutput:
1025
1026
  IndexError,
1026
1027
  RuntimeError,
1027
1028
  SystemExit,
1029
+ SwitchCoderSignal,
1028
1030
  ):
1029
1031
  pass
1030
1032
 
@@ -1042,6 +1044,7 @@ class InputOutput:
1042
1044
  IndexError,
1043
1045
  RuntimeError,
1044
1046
  SystemExit,
1047
+ SwitchCoderSignal,
1045
1048
  ):
1046
1049
  pass
1047
1050
 
@@ -554,8 +554,8 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
554
554
  args.tui_config = convert_yaml_to_json_string(args.tui_config)
555
555
  if hasattr(args, "mcp_servers") and args.mcp_servers is not None:
556
556
  args.mcp_servers = convert_yaml_to_json_string(args.mcp_servers)
557
- if hasattr(args, "command_paths") and args.command_paths is not None:
558
- args.command_paths = convert_yaml_to_json_string(args.command_paths)
557
+ if hasattr(args, "custom") and args.custom is not None:
558
+ args.custom = convert_yaml_to_json_string(args.custom)
559
559
  if args.debug:
560
560
  global log_file
561
561
  os.makedirs(".cecli/logs/", exist_ok=True)
@@ -628,7 +628,7 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
628
628
  output_queue = None
629
629
  input_queue = None
630
630
  pre_init_io = get_io(args.pretty)
631
- if args.tui or args.tui is None and not args.linear_output:
631
+ if args.tui or args.linear_output is None:
632
632
  try:
633
633
  from cecli.tui import create_tui_io
634
634
 
@@ -643,6 +643,9 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
643
643
  sys.exit(1)
644
644
  else:
645
645
  io = pre_init_io
646
+ if args.linear_output is None:
647
+ args.linear_output = True
648
+
646
649
  if not args.tui:
647
650
  try:
648
651
  io.rule()