cecli-dev 1.5.0rc8__tar.gz → 1.5.0rc10__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 (854) hide show
  1. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/PKG-INFO +1 -1
  2. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/_version.py +3 -3
  3. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/base_coder.py +26 -15
  4. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/domains/messages.py +20 -2
  5. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/domains/responses.py +42 -7
  6. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/formatters/thinking.py +17 -4
  7. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/pipeline.py +5 -0
  8. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/base.py +16 -1
  9. cecli_dev-1.5.0rc10/cecli/helpers/llms/providers/mistral.py +79 -0
  10. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/voice.py +7 -93
  11. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli_dev.egg-info/PKG-INFO +1 -1
  12. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli_dev.egg-info/SOURCES.txt +3 -0
  13. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli_dev.egg-info/scm_file_list.json +3 -0
  14. cecli_dev-1.5.0rc10/cecli_dev.egg-info/scm_version.json +8 -0
  15. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_voice.py +0 -36
  16. cecli_dev-1.5.0rc10/tests/helpers/test_llms_mistral_adapter.py +148 -0
  17. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_reasoning_config.py +26 -6
  18. cecli_dev-1.5.0rc10/tests/helpers/test_llms_reasoning_summaries.py +141 -0
  19. cecli_dev-1.5.0rc8/cecli_dev.egg-info/scm_version.json +0 -8
  20. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.dockerignore +0 -0
  21. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.flake8 +0 -0
  22. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.gitattributes +0 -0
  23. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  24. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/check_pypi_version.yml +0 -0
  25. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/docker-build-test.yml +0 -0
  26. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/docker-release.yml +0 -0
  27. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/issues.yml +0 -0
  28. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/pages.yml +0 -0
  29. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/pre-commit.yml +0 -0
  30. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/release.yml +0 -0
  31. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/ubuntu-tests.yml +0 -0
  32. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/windows-tests.yml +0 -0
  33. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.github/workflows/windows_check_pypi_version.yml +0 -0
  34. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.gitignore +0 -0
  35. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/.pre-commit-config.yaml +0 -0
  36. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/CHANGELOG.md +0 -0
  37. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/CNAME +0 -0
  38. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/CONTRIBUTING.md +0 -0
  39. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/HISTORY.md +0 -0
  40. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/LICENSE.txt +0 -0
  41. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/MANIFEST.in +0 -0
  42. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/README.md +0 -0
  43. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/Dockerfile +0 -0
  44. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/README.md +0 -0
  45. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/__init__.py +0 -0
  46. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/benchmark.py +0 -0
  47. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/benchmark_classic.py +0 -0
  48. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/clone-exercism.sh +0 -0
  49. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/cpp-test.sh +0 -0
  50. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/docker.sh +0 -0
  51. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/docker_build.sh +0 -0
  52. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/install-docker-ubuntu.sh +0 -0
  53. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/npm-test.sh +0 -0
  54. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/over_time.py +0 -0
  55. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/plot.sh +0 -0
  56. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/plots.py +0 -0
  57. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/problem_stats.py +0 -0
  58. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/prompts.py +0 -0
  59. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/refactor_tools.py +0 -0
  60. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/rsync.sh +0 -0
  61. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/rungrid.py +0 -0
  62. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/swe-bench-lite.txt +0 -0
  63. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/swe-bench.txt +0 -0
  64. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/swe_bench.py +0 -0
  65. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/test_benchmark.py +0 -0
  66. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/variations.1.sh +0 -0
  67. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/variations.2.sh +0 -0
  68. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/variations.3.sh +0 -0
  69. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/benchmark/variations.4.sh +0 -0
  70. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/__init__.py +0 -0
  71. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/__main__.py +0 -0
  72. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/args.py +0 -0
  73. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/args_formatter.py +0 -0
  74. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/change_tracker.py +0 -0
  75. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/__init__.py +0 -0
  76. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/agent_coder.py +0 -0
  77. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/architect_coder.py +0 -0
  78. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/ask_coder.py +0 -0
  79. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/chat_chunks.py +0 -0
  80. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/context_coder.py +0 -0
  81. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/copypaste_coder.py +0 -0
  82. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/editblock_coder.py +0 -0
  83. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/editblock_fenced_coder.py +0 -0
  84. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/editblock_func_coder.py +0 -0
  85. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  86. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/editor_editblock_coder.py +0 -0
  87. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/editor_whole_coder.py +0 -0
  88. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/hashline_coder.py +0 -0
  89. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/help_coder.py +0 -0
  90. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/patch_coder.py +0 -0
  91. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/search_replace.py +0 -0
  92. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/shell.py +0 -0
  93. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/single_wholefile_func_coder.py +0 -0
  94. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/sub_agent_coder.py +0 -0
  95. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/udiff_coder.py +0 -0
  96. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/udiff_simple.py +0 -0
  97. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/wholefile_coder.py +0 -0
  98. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/coders/wholefile_func_coder.py +0 -0
  99. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/__init__.py +0 -0
  100. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/add.py +0 -0
  101. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/agent.py +0 -0
  102. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/agent_model.py +0 -0
  103. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/agent_tree.py +0 -0
  104. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/architect.py +0 -0
  105. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/ask.py +0 -0
  106. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/auto_memory.py +0 -0
  107. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/chat_mode.py +0 -0
  108. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/clear.py +0 -0
  109. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/code.py +0 -0
  110. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/command_prefix.py +0 -0
  111. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/commit.py +0 -0
  112. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/compact.py +0 -0
  113. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/context.py +0 -0
  114. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/context_blocks.py +0 -0
  115. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/context_management.py +0 -0
  116. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/copy.py +0 -0
  117. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/copy_context.py +0 -0
  118. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/core.py +0 -0
  119. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/diff.py +0 -0
  120. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/drop.py +0 -0
  121. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/editor.py +0 -0
  122. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/editor_model.py +0 -0
  123. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/exclude_skill.py +0 -0
  124. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/exit.py +0 -0
  125. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/git.py +0 -0
  126. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/hashline.py +0 -0
  127. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/help.py +0 -0
  128. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/history_search.py +0 -0
  129. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/hooks.py +0 -0
  130. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/hot_reload.py +0 -0
  131. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/import_skill.py +0 -0
  132. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/include_skill.py +0 -0
  133. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/insert_queue.py +0 -0
  134. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/lint.py +0 -0
  135. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/list_mcp.py +0 -0
  136. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/list_queue.py +0 -0
  137. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/list_sessions.py +0 -0
  138. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/list_skills.py +0 -0
  139. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/load.py +0 -0
  140. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/load_hook.py +0 -0
  141. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/load_mcp.py +0 -0
  142. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/load_session.py +0 -0
  143. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/load_skill.py +0 -0
  144. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/ls.py +0 -0
  145. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/map.py +0 -0
  146. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/map_refresh.py +0 -0
  147. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/merge.py +0 -0
  148. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/model.py +0 -0
  149. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/models.py +0 -0
  150. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/multiline_mode.py +0 -0
  151. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/paste.py +0 -0
  152. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/queue.py +0 -0
  153. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/quit.py +0 -0
  154. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/read_only.py +0 -0
  155. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/read_only_stub.py +0 -0
  156. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/reap_agent.py +0 -0
  157. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/reasoning_effort.py +0 -0
  158. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/remove_hook.py +0 -0
  159. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/remove_mcp.py +0 -0
  160. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/remove_memory.py +0 -0
  161. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/remove_queue.py +0 -0
  162. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/remove_skill.py +0 -0
  163. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/report.py +0 -0
  164. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/reset.py +0 -0
  165. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/rules.py +0 -0
  166. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/run.py +0 -0
  167. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/save.py +0 -0
  168. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/save_session.py +0 -0
  169. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/search_memory.py +0 -0
  170. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/settings.py +0 -0
  171. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/spawn_agent.py +0 -0
  172. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/switch_agent.py +0 -0
  173. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/terminal_data/linux.keytab +0 -0
  174. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/terminal_setup.py +0 -0
  175. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/test.py +0 -0
  176. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/think_tokens.py +0 -0
  177. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/tokens.py +0 -0
  178. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/undo.py +0 -0
  179. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/utils/__init__.py +0 -0
  180. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/utils/base_command.py +0 -0
  181. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/utils/helpers.py +0 -0
  182. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/utils/registry.py +0 -0
  183. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/utils/save_load_manager.py +0 -0
  184. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/voice.py +0 -0
  185. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/weak_model.py +0 -0
  186. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/web.py +0 -0
  187. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/commands/workspace.py +0 -0
  188. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/decoding.py +0 -0
  189. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/deprecated_args.py +0 -0
  190. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/diffs.py +0 -0
  191. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/dump.py +0 -0
  192. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/editor.py +0 -0
  193. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/exceptions.py +0 -0
  194. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/format_settings.py +0 -0
  195. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/help.py +0 -0
  196. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/help_pats.py +0 -0
  197. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/__init__.py +0 -0
  198. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/agents/__init__.py +0 -0
  199. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/agents/config.py +0 -0
  200. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/agents/defaults/__init__.py +0 -0
  201. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/agents/defaults/memorizer.md +0 -0
  202. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/agents/defaults/worker.md +0 -0
  203. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/agents/service.py +0 -0
  204. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/background_commands.py +0 -0
  205. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/command_parser.py +0 -0
  206. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/command_queue.py +0 -0
  207. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/config_utils.py +0 -0
  208. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/conversation/__init__.py +0 -0
  209. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/conversation/base_message.py +0 -0
  210. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/conversation/files.py +0 -0
  211. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/conversation/integration.py +0 -0
  212. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/conversation/manager.py +0 -0
  213. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/conversation/service.py +0 -0
  214. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/conversation/tags.py +0 -0
  215. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/conversation/utils.py +0 -0
  216. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/copypaste.py +0 -0
  217. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/coroutines.py +0 -0
  218. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/crypto.py +0 -0
  219. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/extensions/__init__.py +0 -0
  220. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/extensions/skills_importer.py +0 -0
  221. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/file_searcher.py +0 -0
  222. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/file_system/__init__.py +0 -0
  223. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/file_system/builders.py +0 -0
  224. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/file_system/ignore.py +0 -0
  225. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/file_system/ngram_index.py +0 -0
  226. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/file_system/service.py +0 -0
  227. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/file_system/trie_index.py +0 -0
  228. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/grep_ast/__init__.py +0 -0
  229. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/grep_ast/dump.py +0 -0
  230. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  231. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/grep_ast/main.py +0 -0
  232. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/grep_ast/parsers.py +0 -0
  233. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/grep_ast/tsl.py +0 -0
  234. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/hashline.py +0 -0
  235. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/hashpos/__init__.py +0 -0
  236. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/hashpos/hashpos.py +0 -0
  237. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  238. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/hashpos/transformations.py +0 -0
  239. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/io_proxy.py +0 -0
  240. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/leak_detect.py +0 -0
  241. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/__init__.py +0 -0
  242. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/aws_sigv4.py +0 -0
  243. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/config.py +0 -0
  244. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/domains/__init__.py +0 -0
  245. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/domains/bedrock.py +0 -0
  246. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/domains/chat.py +0 -0
  247. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/domains/gemini.py +0 -0
  248. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/formatters/__init__.py +0 -0
  249. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/formatters/reasoning.py +0 -0
  250. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/identifiers.py +0 -0
  251. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/litellm_compat.py +0 -0
  252. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/__init__.py +0 -0
  253. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/anthropic.py +0 -0
  254. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/azure.py +0 -0
  255. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/bedrock.py +0 -0
  256. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/bedrock_mantle.py +0 -0
  257. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/deepseek.py +0 -0
  258. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/gemini.py +0 -0
  259. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/github_copilot.py +0 -0
  260. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/meta.py +0 -0
  261. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/openai.py +0 -0
  262. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/providers/openrouter.py +0 -0
  263. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/runtime.py +0 -0
  264. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/types.py +0 -0
  265. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/llms/utils.py +0 -0
  266. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/lock_detect.py +0 -0
  267. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/loop_detect.py +0 -0
  268. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/memory/__init__.py +0 -0
  269. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/memory/db.py +0 -0
  270. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/memory/utils.py +0 -0
  271. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/memory_control.py +0 -0
  272. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/__init__.py +0 -0
  273. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/agent.py +0 -0
  274. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/api.py +0 -0
  275. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/formatters/__init__.py +0 -0
  276. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/formatters/reasoning.py +0 -0
  277. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/formatters/thinking.py +0 -0
  278. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/identifiers.py +0 -0
  279. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/llm.py +0 -0
  280. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/pipeline.py +0 -0
  281. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/registry.py +0 -0
  282. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_config/utils.py +0 -0
  283. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/model_providers.py +0 -0
  284. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/nested.py +0 -0
  285. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/observations/__init__.py +0 -0
  286. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/observations/service.py +0 -0
  287. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/onboarding/__init__.py +0 -0
  288. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/onboarding/app.py +0 -0
  289. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/onboarding/providers.py +0 -0
  290. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/orchestration/__init__.py +0 -0
  291. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/orchestration/agent_proxy.py +0 -0
  292. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/orchestration/environment.py +0 -0
  293. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/orchestration/region_resolver.py +0 -0
  294. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/orchestration/safe_methods.py +0 -0
  295. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/orchestration/security.py +0 -0
  296. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/orchestration/service.py +0 -0
  297. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/orchestration/tool_proxy.py +0 -0
  298. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/plugin_manager.py +0 -0
  299. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/profiler.py +0 -0
  300. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/queues.py +0 -0
  301. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/requests.py +0 -0
  302. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/responses.py +0 -0
  303. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/server/__init__.py +0 -0
  304. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/server/acp/__init__.py +0 -0
  305. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/server/acp/bridge.py +0 -0
  306. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/server/acp/models.py +0 -0
  307. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/server/acp/protocol.py +0 -0
  308. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/server/signals.py +0 -0
  309. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/server/ws_server.py +0 -0
  310. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/similarity.py +0 -0
  311. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/skills.py +0 -0
  312. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/threading.py +0 -0
  313. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/workspaces/__init__.py +0 -0
  314. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/workspaces/config.py +0 -0
  315. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/workspaces/paths.py +0 -0
  316. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/workspaces/subagents.py +0 -0
  317. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/helpers/workspaces/workspace.py +0 -0
  318. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/history.py +0 -0
  319. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/hooks/__init__.py +0 -0
  320. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/hooks/base.py +0 -0
  321. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/hooks/helpers.py +0 -0
  322. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/hooks/integration.py +0 -0
  323. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/hooks/manager.py +0 -0
  324. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/hooks/registry.py +0 -0
  325. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/hooks/service.py +0 -0
  326. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/hooks/types.py +0 -0
  327. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/http.py +0 -0
  328. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/interruptible_input.py +0 -0
  329. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/io.py +0 -0
  330. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/linter.py +0 -0
  331. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/llm.py +0 -0
  332. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/main.py +0 -0
  333. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/mcp/__init__.py +0 -0
  334. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/mcp/manager.py +0 -0
  335. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/mcp/oauth.py +0 -0
  336. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/mcp/server.py +0 -0
  337. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/mcp/utils.py +0 -0
  338. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/mdstream.py +0 -0
  339. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/models.py +0 -0
  340. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/onboarding.py +0 -0
  341. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/__init__.py +0 -0
  342. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/agent.yml +0 -0
  343. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/architect.yml +0 -0
  344. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/ask.yml +0 -0
  345. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/base.yml +0 -0
  346. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/context.yml +0 -0
  347. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/copypaste.yml +0 -0
  348. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/editblock.yml +0 -0
  349. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/editblock_fenced.yml +0 -0
  350. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/editblock_func.yml +0 -0
  351. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/editor_diff_fenced.yml +0 -0
  352. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/editor_editblock.yml +0 -0
  353. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/editor_whole.yml +0 -0
  354. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/hashline.yml +0 -0
  355. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/help.yml +0 -0
  356. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/patch.yml +0 -0
  357. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/single_wholefile_func.yml +0 -0
  358. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/subagent.yml +0 -0
  359. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/udiff.yml +0 -0
  360. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/udiff_simple.yml +0 -0
  361. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/utils/__init__.py +0 -0
  362. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/utils/registry.py +0 -0
  363. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/utils/system.py +0 -0
  364. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/wholefile.yml +0 -0
  365. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/prompts/wholefile_func.yml +0 -0
  366. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  367. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  368. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  369. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  370. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  371. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  372. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  373. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  374. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  375. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  376. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  377. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  378. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  379. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  380. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  381. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  382. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  383. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  384. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  385. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  386. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  387. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  388. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  389. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  390. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  391. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  392. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  393. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  394. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  395. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  396. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  397. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  398. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/README.md +0 -0
  399. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  400. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  401. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  402. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  403. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  404. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  405. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  406. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  407. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  408. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  409. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  410. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  411. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  412. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  413. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  414. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  415. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  416. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  417. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  418. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  419. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  420. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  421. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  422. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  423. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  424. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  425. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  426. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/reasoning_tags.py +0 -0
  427. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/repo.py +0 -0
  428. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/repomap.py +0 -0
  429. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/report.py +0 -0
  430. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/resources/__init__.py +0 -0
  431. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/resources/model-metadata.ext.json +0 -0
  432. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/resources/model-metadata.json +0 -0
  433. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/resources/model-settings-condensed.yml +0 -0
  434. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/resources/model-settings.yml +0 -0
  435. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/resources/providers.json +0 -0
  436. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/run_cmd.py +0 -0
  437. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/scrape.py +0 -0
  438. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/sendchat.py +0 -0
  439. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/sessions.py +0 -0
  440. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/signals.py +0 -0
  441. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/special.py +0 -0
  442. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tests/test_queue_commands.py +0 -0
  443. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/__init__.py +0 -0
  444. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/_yield.py +0 -0
  445. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/broadcast.py +0 -0
  446. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/command.py +0 -0
  447. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/delegate.py +0 -0
  448. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/edit_file.py +0 -0
  449. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/explore_code.py +0 -0
  450. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/git_branch.py +0 -0
  451. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/git_diff.py +0 -0
  452. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/git_log.py +0 -0
  453. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/git_remote.py +0 -0
  454. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/git_show.py +0 -0
  455. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/git_status.py +0 -0
  456. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/grep.py +0 -0
  457. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/ls.py +0 -0
  458. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/orchestrate.py +0 -0
  459. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/read_file.py +0 -0
  460. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/replace_facts.py +0 -0
  461. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/resource_manager.py +0 -0
  462. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/search_facts.py +0 -0
  463. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/thinking.py +0 -0
  464. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/undo_change.py +0 -0
  465. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/update_todo_list.py +0 -0
  466. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/utils/__init__.py +0 -0
  467. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/utils/base_tool.py +0 -0
  468. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/utils/helpers.py +0 -0
  469. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/utils/output.py +0 -0
  470. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/utils/registry.py +0 -0
  471. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/utils/responses.py +0 -0
  472. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/validations/__init__.py +0 -0
  473. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tools/validations/validations.py +0 -0
  474. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/__init__.py +0 -0
  475. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/app.py +0 -0
  476. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/io.py +0 -0
  477. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/styles.tcss +0 -0
  478. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/__init__.py +0 -0
  479. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/completion_bar.py +0 -0
  480. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/file_list.py +0 -0
  481. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/footer.py +0 -0
  482. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/input_area.py +0 -0
  483. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/input_container.py +0 -0
  484. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/key_hints.py +0 -0
  485. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/output.py +0 -0
  486. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/output_alt.bak +0 -0
  487. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/selectable_log.py +0 -0
  488. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/status_bar.py +0 -0
  489. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/widgets/subagent_pills.py +0 -0
  490. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/tui/worker.py +0 -0
  491. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/urls.py +0 -0
  492. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/utils.py +0 -0
  493. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/versioncheck.py +0 -0
  494. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/waiting.py +0 -0
  495. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/watch.py +0 -0
  496. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/watch_prompts.py +0 -0
  497. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/blame.md +0 -0
  498. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/get-started.md +0 -0
  499. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/help-tip.md +0 -0
  500. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/help.md +0 -0
  501. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/install.md +0 -0
  502. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/keys.md +0 -0
  503. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/model-warnings.md +0 -0
  504. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/multi-line.md +0 -0
  505. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/python-m-aider.md +0 -0
  506. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/recording.css +0 -0
  507. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/recording.md +0 -0
  508. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_includes/works-best.md +0 -0
  509. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_features.scss +0 -0
  510. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_footer.scss +0 -0
  511. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_hero.scss +0 -0
  512. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_info.scss +0 -0
  513. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_layout.scss +0 -0
  514. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_reset.scss +0 -0
  515. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_testimonials.scss +0 -0
  516. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_typography.scss +0 -0
  517. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/_variables.scss +0 -0
  518. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/custom/custom.scss +0 -0
  519. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/_sass/global-overrides.scss +0 -0
  520. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docmd.config.json +0 -0
  521. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/cecli-temp-logo-favicon.svg +0 -0
  522. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/adv-model-settings.md +0 -0
  523. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/agent-mode.md +0 -0
  524. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/api-keys.md +0 -0
  525. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/api.md +0 -0
  526. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/conf.md +0 -0
  527. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/custom-commands.md +0 -0
  528. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  529. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/dotenv.md +0 -0
  530. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/editor.md +0 -0
  531. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/hooks.md +0 -0
  532. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/mcp.md +0 -0
  533. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/model-aliases.md +0 -0
  534. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/model-configuration.md +0 -0
  535. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/model-providers.md +0 -0
  536. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/options.md +0 -0
  537. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/persistent-memory.md +0 -0
  538. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/reasoning.md +0 -0
  539. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/retries.md +0 -0
  540. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/security.md +0 -0
  541. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/skills.md +0 -0
  542. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/subagents.md +0 -0
  543. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/tui.md +0 -0
  544. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config/workspaces.md +0 -0
  545. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/config.md +0 -0
  546. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/git.md +0 -0
  547. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/index.md +0 -0
  548. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/install/docker.md +0 -0
  549. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/install.md +0 -0
  550. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/languages.md +0 -0
  551. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  552. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/legal/privacy.md +0 -0
  553. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/anthropic.md +0 -0
  554. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/azure.md +0 -0
  555. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/bedrock.md +0 -0
  556. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/cohere.md +0 -0
  557. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/deepseek.md +0 -0
  558. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/gemini.md +0 -0
  559. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/github.md +0 -0
  560. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/groq.md +0 -0
  561. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/lm-studio.md +0 -0
  562. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/ollama.md +0 -0
  563. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/openai-compat.md +0 -0
  564. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/openai.md +0 -0
  565. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/opencode-go.md +0 -0
  566. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/openrouter.md +0 -0
  567. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/other.md +0 -0
  568. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/vertex.md +0 -0
  569. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/warnings.md +0 -0
  570. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms/xai.md +0 -0
  571. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/llms.md +0 -0
  572. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/more/analytics.md +0 -0
  573. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/more/edit-formats.md +0 -0
  574. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/more/infinite-output.md +0 -0
  575. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/more-info.md +0 -0
  576. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/repomap.md +0 -0
  577. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/scripting.md +0 -0
  578. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  579. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  580. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/troubleshooting/imports.md +0 -0
  581. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  582. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/troubleshooting/support.md +0 -0
  583. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  584. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  585. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/troubleshooting.md +0 -0
  586. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/commands.md +0 -0
  587. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/conventions.md +0 -0
  588. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/copypaste.md +0 -0
  589. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/images-urls.md +0 -0
  590. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/lint-test.md +0 -0
  591. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/modes.md +0 -0
  592. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/not-code.md +0 -0
  593. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/notifications.md +0 -0
  594. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/optional.md +0 -0
  595. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/sessions.md +0 -0
  596. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/tips.md +0 -0
  597. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/voice.md +0 -0
  598. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage/watch.md +0 -0
  599. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/docs/usage.md +0 -0
  600. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/package-lock.json +0 -0
  601. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/package.json +0 -0
  602. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli/website/share/index.md +0 -0
  603. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli_dev.egg-info/dependency_links.txt +0 -0
  604. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli_dev.egg-info/entry_points.txt +0 -0
  605. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli_dev.egg-info/requires.txt +0 -0
  606. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/cecli_dev.egg-info/top_level.txt +0 -0
  607. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/docker/Dockerfile +0 -0
  608. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  609. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/pyproject.toml +0 -0
  610. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/pytest.ini +0 -0
  611. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/common-constraints.txt +0 -0
  612. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/requirements-dev.in +0 -0
  613. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/requirements-dev.txt +0 -0
  614. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/requirements-help.in +0 -0
  615. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/requirements-help.txt +0 -0
  616. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/requirements-playwright.in +0 -0
  617. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/requirements-playwright.txt +0 -0
  618. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/requirements.in +0 -0
  619. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements/tree-sitter.in +0 -0
  620. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/requirements.txt +0 -0
  621. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/30k-image.py +0 -0
  622. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/__init__.py +0 -0
  623. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/blame.py +0 -0
  624. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/clean_metadata.py +0 -0
  625. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/compare-message-history.py +0 -0
  626. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/condense_model_settings.py +0 -0
  627. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/cost_analyzer.py +0 -0
  628. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/cost_calculator.py +0 -0
  629. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/dl_icons.py +0 -0
  630. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/docmd_build.sh +0 -0
  631. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/filter-chat-mode.js +0 -0
  632. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/generate_providers.py +0 -0
  633. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/get_contributor_list.js +0 -0
  634. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/get_hashline.py +0 -0
  635. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/history_prompts.py +0 -0
  636. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/homepage.py +0 -0
  637. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/issues.py +0 -0
  638. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/logo_svg.py +0 -0
  639. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/optimize_tokens.sh +0 -0
  640. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/pip-compile.sh +0 -0
  641. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/recording_audio.py +0 -0
  642. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/redact-cast.py +0 -0
  643. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/rename_to_cecli.py +0 -0
  644. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/tmux_record.sh +0 -0
  645. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/tsl_pack_langs.py +0 -0
  646. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/update-blame.sh +0 -0
  647. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/update-docs.sh +0 -0
  648. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/update-history.py +0 -0
  649. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/versionbump.py +0 -0
  650. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/scripts/yank-old-versions.py +0 -0
  651. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/setup.cfg +0 -0
  652. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/shim.pyproject.toml +0 -0
  653. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/__init__.py +0 -0
  654. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/__init__.py +0 -0
  655. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/conftest.py +0 -0
  656. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_agent_config_merge.py +0 -0
  657. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_aws_credentials.py +0 -0
  658. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_background_commands.py +0 -0
  659. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_coder.py +0 -0
  660. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_commands.py +0 -0
  661. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_custom_commands.py +0 -0
  662. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_deprecated.py +0 -0
  663. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_editblock.py +0 -0
  664. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_editor.py +0 -0
  665. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_exceptions.py +0 -0
  666. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_file_system_service.py +0 -0
  667. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_find_or_blocks.py +0 -0
  668. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_hashline.py +0 -0
  669. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_hashline_closure.py +0 -0
  670. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_history.py +0 -0
  671. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_io.py +0 -0
  672. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_linter.py +0 -0
  673. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_main.py +0 -0
  674. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_model_info_manager.py +0 -0
  675. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_model_provider_manager.py +0 -0
  676. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_models.py +0 -0
  677. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_onboarding.py +0 -0
  678. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_plugin_manager.py +0 -0
  679. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_prompts.py +0 -0
  680. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_reasoning.py +0 -0
  681. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_repo.py +0 -0
  682. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_repomap.py +0 -0
  683. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_run_cmd.py +0 -0
  684. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_sanity_check_repo.py +0 -0
  685. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_scripting.py +0 -0
  686. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_select_selector.py +0 -0
  687. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_sendchat.py +0 -0
  688. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_session_args.py +0 -0
  689. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_session_crypto.py +0 -0
  690. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_sessions.py +0 -0
  691. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_sessions_manager.py +0 -0
  692. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_skills.py +0 -0
  693. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_special.py +0 -0
  694. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_spinner.py +0 -0
  695. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_ssl_verification.py +0 -0
  696. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_udiff.py +0 -0
  697. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_urls.py +0 -0
  698. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_watch.py +0 -0
  699. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/basic/test_wholefile.py +0 -0
  700. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/coders/test_coder_switching.py +0 -0
  701. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/coders/test_copypaste_coder.py +0 -0
  702. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/coders/test_rate_limit.py +0 -0
  703. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/coders/test_tool_call_consolidation.py +0 -0
  704. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/commands/test_auto_memory.py +0 -0
  705. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/commands/test_compaction.py +0 -0
  706. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/commands/test_remove_memory.py +0 -0
  707. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/commands/test_search_memory.py +0 -0
  708. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/commands/test_switch_agent.py +0 -0
  709. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/commands/test_voice.py +0 -0
  710. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/commands/test_workspace.py +0 -0
  711. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/conftest.py +0 -0
  712. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/conversations/test_conversation_integration.py +0 -0
  713. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/conversations/test_conversation_system.py +0 -0
  714. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  715. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/chat-history.md +0 -0
  716. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/arduino/test.ino +0 -0
  717. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/bash/test.sh +0 -0
  718. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/c/test.c +0 -0
  719. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/chatito/test.chatito +0 -0
  720. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/clojure/test.clj +0 -0
  721. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  722. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/cpp/test.cpp +0 -0
  723. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/csharp/test.cs +0 -0
  724. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/d/test.d +0 -0
  725. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/dart/test.dart +0 -0
  726. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/elisp/test.el +0 -0
  727. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/elixir/test.ex +0 -0
  728. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/elm/test.elm +0 -0
  729. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/gleam/test.gleam +0 -0
  730. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/go/test.go +0 -0
  731. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/haskell/test.hs +0 -0
  732. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/hcl/test.tf +0 -0
  733. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/java/test.java +0 -0
  734. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/javascript/test.js +0 -0
  735. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/kotlin/test.kt +0 -0
  736. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/lua/test.lua +0 -0
  737. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/matlab/test.m +0 -0
  738. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/ocaml/test.ml +0 -0
  739. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  740. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/php/test.php +0 -0
  741. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/pony/test.pony +0 -0
  742. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/properties/test.properties +0 -0
  743. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/python/test.py +0 -0
  744. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/ql/test.ql +0 -0
  745. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/r/test.r +0 -0
  746. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/racket/test.rkt +0 -0
  747. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/ruby/test.rb +0 -0
  748. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/rust/test.rs +0 -0
  749. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/scala/test.scala +0 -0
  750. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/solidity/test.sol +0 -0
  751. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/swift/test.swift +0 -0
  752. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/tsx/test.tsx +0 -0
  753. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/typescript/test.ts +0 -0
  754. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/udev/test.rules +0 -0
  755. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/languages/zig/test.zig +0 -0
  756. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/sample-code-base/sample.js +0 -0
  757. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/sample-code-base/sample.py +0 -0
  758. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  759. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/watch.js +0 -0
  760. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/watch.lisp +0 -0
  761. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/watch.py +0 -0
  762. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/fixtures/watch_question.js +0 -0
  763. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/help/test_help.py +0 -0
  764. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/observations/test_observation_service.py +0 -0
  765. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/server/acp/__init__.py +0 -0
  766. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/server/acp/test_bridge.py +0 -0
  767. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/server/acp/test_dispatch.py +0 -0
  768. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/server/acp/test_models.py +0 -0
  769. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/server/acp/test_protocol.py +0 -0
  770. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_api_base.py +0 -0
  771. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_aws_sigv4.py +0 -0
  772. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_cache_control.py +0 -0
  773. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_gemini_auth.py +0 -0
  774. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_github_copilot_auth.py +0 -0
  775. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_hyperscalers.py +0 -0
  776. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_messages_stream.py +0 -0
  777. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_messages_wire.py +0 -0
  778. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_providers_json.py +0 -0
  779. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_reasoning_extract.py +0 -0
  780. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_llms_vision.py +0 -0
  781. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_loop_detect.py +0 -0
  782. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_memory_control.py +0 -0
  783. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_model_config.py +0 -0
  784. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_onboarding.py +0 -0
  785. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_orchestration.py +0 -0
  786. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/test_skills_importer.py +0 -0
  787. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/workspaces/conftest.py +0 -0
  788. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/workspaces/test_config.py +0 -0
  789. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/workspaces/test_paths.py +0 -0
  790. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/workspaces/test_subagents.py +0 -0
  791. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/helpers/workspaces/test_workspace_manager.py +0 -0
  792. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/hooks/__init__.py +0 -0
  793. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/hooks/test_base.py +0 -0
  794. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/hooks/test_manager.py +0 -0
  795. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/hooks/test_registry.py +0 -0
  796. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/integration/test_agent_mcp_management.py +0 -0
  797. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/integration/test_config_loading.py +0 -0
  798. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/integration/test_mcp_management.py +0 -0
  799. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/__init__.py +0 -0
  800. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/conftest.py +0 -0
  801. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/mock_server.py +0 -0
  802. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_keepalive_concurrency.py +0 -0
  803. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_keepalive_config.py +0 -0
  804. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_keepalive_integration.py +0 -0
  805. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_keepalive_logging.py +0 -0
  806. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_keepalive_resilience.py +0 -0
  807. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_keepalive_unit.py +0 -0
  808. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_manager.py +0 -0
  809. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_manager_retry.py +0 -0
  810. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_server_name_normalization.py +0 -0
  811. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/mcp/test_server_sdk_compat.py +0 -0
  812. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/scrape/test_playwright_disable.py +0 -0
  813. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/scrape/test_scrape.py +0 -0
  814. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/__init__.py +0 -0
  815. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/conftest.py +0 -0
  816. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/test_commands.py +0 -0
  817. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/test_config.py +0 -0
  818. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/test_delegate.py +0 -0
  819. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/test_finished.py +0 -0
  820. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/test_io_proxy.py +0 -0
  821. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/test_service.py +0 -0
  822. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/subagents/test_sub_agent_coder.py +0 -0
  823. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/test_requests.py +0 -0
  824. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_command_format_output.py +0 -0
  825. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_command_timeout_paging.py +0 -0
  826. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_edit_file_format_output.py +0 -0
  827. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_extractions.py +0 -0
  828. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_get_lines.py +0 -0
  829. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_git_branch.py +0 -0
  830. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_git_diff.py +0 -0
  831. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_grep.py +0 -0
  832. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_insert_block.py +0 -0
  833. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_read_range_execute.py +0 -0
  834. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_registry.py +0 -0
  835. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_remove_mcp_tool.py +0 -0
  836. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_resource_manager_paging.py +0 -0
  837. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_tool_arguments.py +0 -0
  838. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/test_tools_load_mcp_tool.py +0 -0
  839. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tools/validations.py +0 -0
  840. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tui/test_app.py +0 -0
  841. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/tui/test_completion_bar.py +0 -0
  842. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/conftest.py +0 -0
  843. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_deep_merge.py +0 -0
  844. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_edge_cases.py +0 -0
  845. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_load_mcp.py +0 -0
  846. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_performance.py +0 -0
  847. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_queues.py +0 -0
  848. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_remove_mcp.py +0 -0
  849. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_retry_backoff.py +0 -0
  850. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_shallow_merge.py +0 -0
  851. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_signals.py +0 -0
  852. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_unit_load_mcp_tool.py +0 -0
  853. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
  854. {cecli_dev-1.5.0rc8 → cecli_dev-1.5.0rc10}/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.5.0rc8
3
+ Version: 1.5.0rc10
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.5.0rc8'
22
- __version_tuple__ = version_tuple = (1, 5, 0, 'rc8')
21
+ __version__ = version = '1.5.0rc10'
22
+ __version_tuple__ = version_tuple = (1, 5, 0, 'rc10')
23
23
 
24
- __commit_id__ = commit_id = 'g82e5aa577'
24
+ __commit_id__ = commit_id = 'ge1dd0a190'
@@ -2673,7 +2673,10 @@ class Coder(metaclass=UsageMeta):
2673
2673
  max_input_tokens = self.get_active_model().info.get("max_input_tokens") or 0
2674
2674
 
2675
2675
  if max_input_tokens and input_tokens >= max_input_tokens:
2676
- if self.enable_context_compaction:
2676
+ if (
2677
+ self.enable_context_compaction
2678
+ and input_tokens >= self.context_compaction_max_tokens * 0.95
2679
+ ):
2677
2680
  self.io.tool_output(
2678
2681
  f"Estimated chat context of {input_tokens:,} tokens exceeds the"
2679
2682
  f" {max_input_tokens:,} token limit. Attempting to compact..."
@@ -2685,21 +2688,29 @@ class Coder(metaclass=UsageMeta):
2685
2688
  input_tokens = self.get_active_model().token_count(messages)
2686
2689
 
2687
2690
  if max_input_tokens and input_tokens >= max_input_tokens:
2688
- self.io.tool_error(
2689
- f"Your estimated chat context of {input_tokens:,} tokens still exceeds the"
2690
- f" {max_input_tokens:,} token limit for {self.get_active_model().name}!"
2691
- )
2692
- self.io.tool_output("To reduce the chat context:")
2693
- self.io.tool_output("- Use /drop to remove unneeded files from the chat")
2694
- self.io.tool_output("- Use /clear to clear the chat history")
2695
- self.io.tool_output("- Break your code into smaller files")
2696
- self.io.tool_output(
2697
- "It's probably safe to try and send the request, most providers won't charge if"
2698
- " the context limit is exceeded."
2699
- )
2691
+ if not hasattr(self, "_last_compaction_warning_time"):
2692
+ self._last_compaction_warning_time = time.time()
2700
2693
 
2701
- if not await self.io.confirm_ask("Try to proceed anyway?"):
2702
- return None
2694
+ if getattr(self, "_last_compaction_warning_time", 0) + 300 < time.time():
2695
+ self._last_compaction_warning_time = time.time()
2696
+ self.io.tool_error(
2697
+ f"Your estimated chat context of {input_tokens:,} tokens still exceeds the"
2698
+ f" {max_input_tokens:,} token limit for {self.get_active_model().name}!"
2699
+ )
2700
+ self.io.tool_output("To reduce the chat context:")
2701
+ self.io.tool_output("- Use /drop to remove unneeded files from the chat")
2702
+ self.io.tool_output("- Use /clear to clear the chat history")
2703
+ self.io.tool_output("- Break your code into smaller files")
2704
+ self.io.tool_output(
2705
+ "It's probably safe to try and send the request, most providers won't charge if"
2706
+ " the context limit is exceeded."
2707
+ )
2708
+
2709
+ if not await self.io.confirm_ask("Try to proceed anyway?"):
2710
+ self._last_compaction_warning_time = 0
2711
+ return None
2712
+ else:
2713
+ self._last_compaction_warning_time = 0
2703
2714
 
2704
2715
  return messages
2705
2716
 
@@ -315,7 +315,15 @@ async def anthropic_stream(
315
315
  ordered = [blocks[key] for key in sorted(blocks)]
316
316
 
317
317
  if ordered:
318
- chunk.provider_specific_fields = {"anthropic": ordered}
318
+ provider_fields: Dict[str, Any] = {"anthropic": ordered}
319
+
320
+ if any(
321
+ b.get("type") == "thinking" and (b.get("thinking") or "").strip()
322
+ for b in ordered
323
+ ):
324
+ provider_fields["use_thinking_summaries"] = True
325
+
326
+ chunk.provider_specific_fields = provider_fields
319
327
 
320
328
  yield chunk
321
329
 
@@ -379,6 +387,12 @@ def normalize_anthropic_response(data: Dict[str, Any], model: str) -> Completion
379
387
 
380
388
  provider_fields = {"anthropic": blocks} if blocks else {}
381
389
 
390
+ if any(b.get("type") == "thinking" and (b.get("thinking") or "").strip() for b in blocks):
391
+ # The assistant turn carries a readable thinking summary; mark it so the
392
+ # replay path can strip the summary text (keeping the signature) and keep
393
+ # the cached prefix stable across turns.
394
+ provider_fields["use_thinking_summaries"] = True
395
+
382
396
  pm = PartsMessage(role="assistant", parts=parts, provider_metadata=provider_fields)
383
397
  message = parts_message_to_message(pm)
384
398
 
@@ -554,7 +568,11 @@ def _anthropic_message_content(msg: Dict[str, Any]) -> Optional[List[Dict[str, A
554
568
  content.append({"type": "text", "text": block.get("text") or ""})
555
569
 
556
570
  elif btype == "thinking":
557
- entry: Dict[str, Any] = {"type": "thinking", "thinking": block.get("thinking") or ""}
571
+ # Summary text is display-only; strip it on replay (keeping the
572
+ # signature, which carries the encrypted chain-of-thought for
573
+ # continuity) so prior-turn reasoning doesn't churn the cached prefix.
574
+ thinking = "" if psf.get("use_thinking_summaries") else block.get("thinking") or ""
575
+ entry: Dict[str, Any] = {"type": "thinking", "thinking": thinking}
558
576
 
559
577
  if block.get("signature"):
560
578
  entry["signature"] = block["signature"]
@@ -58,13 +58,22 @@ def responses_payload(
58
58
  payload["tools"] = [responses_tool(t) for t in tools]
59
59
 
60
60
  api_block = resolved.get("api_block") or {}
61
+
62
+ # Responses-mode models (gpt-5 / meta) are reasoning models: always opt in
63
+ # to a readable reasoning ``summary`` so the response (and the stream) expose
64
+ # the summary block the capture logic consumes. An ``effort`` rides along when
65
+ # the api_block configures one; without it the model uses its default effort.
66
+ reasoning_config: Dict[str, Any] = {"summary": "auto"}
67
+
61
68
  if api_block.get("reasoning_effort"):
62
- payload["reasoning"] = {"effort": api_block["reasoning_effort"], "summary": "auto"}
69
+ reasoning_config["effort"] = api_block["reasoning_effort"]
63
70
  # Encrypted reasoning blobs (meta muse-spark) are only returned when
64
71
  # explicitly requested; without them prior reasoning items cannot be
65
72
  # replayed on the next turn.
66
73
  payload["include"] = ["reasoning.encrypted_content"]
67
74
 
75
+ payload["reasoning"] = reasoning_config
76
+
68
77
  if api_block.get("parallel_tool_calls") is not None:
69
78
  payload["parallel_tool_calls"] = api_block["parallel_tool_calls"]
70
79
 
@@ -90,6 +99,13 @@ def responses_payload(
90
99
  extra_body.pop("thinking", None)
91
100
  payload.update(resolved.get("extra_body") or {})
92
101
  payload.update(extra_body)
102
+
103
+ # A caller-supplied ``reasoning`` object (e.g. ``set_reasoning_effort``)
104
+ # overwrites the built ``reasoning``; keep the summary opt-in intact so
105
+ # summaries are always requested when reasoning is configured.
106
+ if isinstance(payload.get("reasoning"), dict):
107
+ payload["reasoning"].setdefault("summary", "auto")
108
+
93
109
  return payload
94
110
 
95
111
 
@@ -117,8 +133,12 @@ def to_responses_input(
117
133
  # Replay stashed reasoning items BEFORE the assistant message item
118
134
  # so the provider can continue its OWN encrypted reasoning state
119
135
  # (stateless round-trip: the whole conversation is re-sent).
136
+ strip_summary = bool(
137
+ (msg.get("provider_specific_fields") or {}).get("use_reasoning_summaries")
138
+ )
139
+
120
140
  for r_item in _stashed_reasoning_items(msg, current_model):
121
- items.append(_reasoning_input_item(r_item))
141
+ items.append(_reasoning_input_item(r_item, strip_summary=strip_summary))
122
142
 
123
143
  # Assistant turns must use ``output_text`` content blocks; Copilot /
124
144
  # OpenAI reject ``input_text`` on assistant messages with HTTP 400
@@ -260,6 +280,10 @@ def normalize_responses_response(data: Dict[str, Any], model: str) -> Completion
260
280
  for block in item.get("summary") or []:
261
281
  if block.get("type") == "summary_text" and block.get("text"):
262
282
  parts.append(ReasoningPart(text=block["text"]))
283
+ # Mark the turn as carrying a readable reasoning summary so
284
+ # the replay path can strip it (keeping the id +
285
+ # encrypted_content) and keep the cached prefix stable.
286
+ provider_fields["use_reasoning_summaries"] = True
263
287
 
264
288
  # Encrypted reasoning (e.g. meta muse-spark): an opaque blob that
265
289
  # must be echoed back verbatim on the next turn. Stash the whole
@@ -365,11 +389,17 @@ def parse_responses_chunk(data: Dict[str, Any]) -> Optional[CompletionChunk]:
365
389
  # Reasoning metadata rides on the authoritative completed event; the
366
390
  # per-event ciphertext differs, so only the final items are emitted.
367
391
  if _stream_state["reasoning_items"]:
368
- chunk.provider_specific_fields = {
369
- "reasoning_items": list(_stream_state["reasoning_items"].values()),
392
+ reasoning_items = list(_stream_state["reasoning_items"].values())
393
+ provider_fields = {
394
+ "reasoning_items": reasoning_items,
370
395
  "reasoning_items_origin": _stream_state.get("model"),
371
396
  }
372
397
 
398
+ if any((item.get("summary") or []) for item in reasoning_items):
399
+ provider_fields["use_reasoning_summaries"] = True
400
+
401
+ chunk.provider_specific_fields = provider_fields
402
+
373
403
  chunk.usage = _build_usage(resp.get("usage") or {})
374
404
  return chunk
375
405
 
@@ -486,13 +516,18 @@ def _stashed_reasoning_items(
486
516
  return []
487
517
 
488
518
 
489
- def _reasoning_input_item(item: Dict[str, Any]) -> Dict[str, Any]:
490
- """Build the responses-API input item that replays a prior reasoning item."""
519
+ def _reasoning_input_item(item: Dict[str, Any], *, strip_summary: bool = False) -> Dict[str, Any]:
520
+ """Build the responses-API input item that replays a prior reasoning item.
521
+
522
+ ``strip_summary`` drops the display-only summary text (keeping the id +
523
+ encrypted_content) so the reasoning artifact stays in context for the model
524
+ without churning the cached prompt prefix with per-turn summary text.
525
+ """
491
526
  return {
492
527
  "type": "reasoning",
493
528
  "id": item.get("id"),
494
529
  "encrypted_content": item.get("encrypted_content"),
495
- "summary": item.get("summary") or [],
530
+ "summary": [] if strip_summary else item.get("summary") or [],
496
531
  }
497
532
 
498
533
 
@@ -52,17 +52,30 @@ def gemini_thinking(payload: Dict[str, Any], api_block: Dict[str, Any]) -> Dict[
52
52
 
53
53
 
54
54
  def anthropic_5_thinking(payload: Dict[str, Any], api_block: Dict[str, Any]) -> Dict[str, Any]:
55
- """Claude 5+: adaptive thinking via ``output_config.effort``."""
55
+ """Claude 5+: adaptive thinking via ``output_config.effort`` + summarized display.
56
+
57
+ Claude 5+ defaults ``thinking.display`` to ``"omitted"``, which withholds the
58
+ readable thinking summary. Opting in to ``"summarized"`` returns the summary
59
+ text so it can be surfaced to the user.
60
+ """
56
61
  if api_block.get("reasoning_effort"):
57
62
  payload["output_config"] = {"effort": api_block["reasoning_effort"]}
63
+ payload["thinking"] = {"type": "adaptive", "display": "summarized"}
58
64
 
59
65
  return payload
60
66
 
61
67
 
62
68
  def anthropic_thinking(payload: Dict[str, Any], api_block: Dict[str, Any]) -> Dict[str, Any]:
63
- """Pre-Claude-5: the ``thinking`` block (type enabled + budget)."""
64
- if api_block.get("thinking"):
65
- payload["thinking"] = api_block["thinking"]
69
+ """Pre-Claude-5: the ``thinking`` block (type enabled + budget) with summarized display.
70
+
71
+ ``display`` works alongside ``type: "enabled"``; defaulting it to
72
+ ``"summarized"`` returns the readable thinking summary (older models already
73
+ default to it, newer 4.x models default to ``"omitted"``).
74
+ """
75
+ thinking = api_block.get("thinking")
76
+
77
+ if isinstance(thinking, dict):
78
+ payload["thinking"] = {**thinking, "display": "summarized"}
66
79
 
67
80
  return payload
68
81
 
@@ -71,6 +71,11 @@ async def acompletion(
71
71
 
72
72
  headers = provider.build_headers(resolved, key, family, headers)
73
73
 
74
+ # Allow the provider adapter to transform the outgoing message body before
75
+ # dispatch (e.g. Mistral's strict schema rejects reasoning_content /
76
+ # provider_specific_fields and a null tool-call index).
77
+ messages = provider.transform_messages(messages)
78
+
74
79
  if stream:
75
80
  gen = _stream_family(family, resolved, messages, tools, key, headers, kwargs)
76
81
 
@@ -8,7 +8,7 @@ delegate to the generic family adapters in :mod:`cecli.helpers.llms.domains`.
8
8
 
9
9
  from __future__ import annotations
10
10
 
11
- from typing import Any, Dict, Optional
11
+ from typing import Any, Dict, List, Optional
12
12
 
13
13
 
14
14
  class ProviderAdapter:
@@ -20,6 +20,10 @@ class ProviderAdapter:
20
20
  authenticated session's ``endpoints.api``).
21
21
  - :meth:`resolve_api_key` - key source (env, auth cache, oauth refresh).
22
22
  - :meth:`build_headers` - auth scheme + provider-specific headers.
23
+ - :meth:`transform_messages` - transform the outgoing message body to
24
+ normalize fields a stricter provider rejects (e.g. Mistral rejects
25
+ ``reasoning_content`` / ``provider_specific_fields`` and a null tool-call
26
+ ``index``).
23
27
  - :meth:`normalize` - post-process a family-normalized response
24
28
  (e.g. meta encrypted-reasoning marker).
25
29
  """
@@ -53,6 +57,17 @@ class ProviderAdapter:
53
57
  merged.setdefault("Content-Type", "application/json")
54
58
  return merged
55
59
 
60
+ def transform_messages(self, messages: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
61
+ """Transform the outgoing message body to normalize provider-specific fields.
62
+
63
+ The default is a no-op. Providers with a stricter request schema override
64
+ this to strip fields the generic OpenAI-compatible wire tolerates but the
65
+ provider rejects (e.g. Mistral rejects ``reasoning_content`` and
66
+ ``provider_specific_fields`` on assistant turns, and a null tool-call
67
+ ``index``).
68
+ """
69
+ return messages
70
+
56
71
  def normalize(
57
72
  self,
58
73
  family: str,
@@ -0,0 +1,79 @@
1
+ """Mistral provider adapter for the llms package.
2
+
3
+ Mistral speaks OpenAI-compatible /v1/chat/completions with Bearer auth, but its
4
+ request body is validated by a strict Pydantic schema that rejects fields the
5
+ generic OpenAI-compatible wire tolerates. Assistant turns built by cecli carry
6
+ ``reasoning_content`` and ``provider_specific_fields`` on the message, and
7
+ ``provider_specific_fields`` plus a null ``index`` on tool calls (a streaming
8
+ artifact); Mistral rejects each of these with a 422 on the relevant
9
+ ``messages[i]`` path.
10
+
11
+ This adapter iterates over the message body before dispatch and strips those
12
+ fields, leaving tool calls in the request wire shape (``id`` / ``type`` /
13
+ ``function``).
14
+ """
15
+
16
+ from __future__ import annotations
17
+
18
+ from typing import Any, Dict, List, Optional
19
+
20
+ from .base import ProviderAdapter
21
+
22
+
23
+ class MistralProvider(ProviderAdapter):
24
+ """Mistral: Bearer auth (default) + strict message-body sanitization."""
25
+
26
+ provider: str = "mistral"
27
+
28
+ def transform_messages(self, messages: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
29
+ """Strip fields Mistral's strict chat-completions schema rejects."""
30
+ changed = False
31
+ out: List[Dict[str, Any]] = []
32
+
33
+ for msg in messages:
34
+ cleaned = self._clean_message(msg)
35
+
36
+ if cleaned is not None:
37
+ out.append(cleaned)
38
+ changed = True
39
+ else:
40
+ out.append(msg)
41
+
42
+ return out if changed else messages
43
+
44
+ def _clean_message(self, msg: Dict[str, Any]) -> Optional[Dict[str, Any]]:
45
+ """Return a sanitized copy of ``msg``, or ``None`` when unchanged."""
46
+ tool_calls = msg.get("tool_calls")
47
+ needs_tool_fix = any(
48
+ isinstance(tc, dict) and ("index" in tc or "provider_specific_fields" in tc)
49
+ for tc in tool_calls or []
50
+ )
51
+
52
+ if (
53
+ "reasoning_content" not in msg
54
+ and "provider_specific_fields" not in msg
55
+ and not needs_tool_fix
56
+ ):
57
+ return None
58
+
59
+ cleaned = dict(msg)
60
+ cleaned.pop("reasoning_content", None)
61
+ cleaned.pop("provider_specific_fields", None)
62
+
63
+ if tool_calls:
64
+ cleaned["tool_calls"] = [self._clean_tool_call(tc) for tc in tool_calls]
65
+
66
+ return cleaned
67
+
68
+ def _clean_tool_call(self, tc: Any) -> Any:
69
+ """Drop streaming-only fields from a tool call."""
70
+ if not isinstance(tc, dict):
71
+ return tc
72
+
73
+ cleaned = dict(tc)
74
+ cleaned.pop("index", None)
75
+ cleaned.pop("provider_specific_fields", None)
76
+ return cleaned
77
+
78
+
79
+ __all__ = ["MistralProvider"]
@@ -268,8 +268,9 @@ def _run_record_process(
268
268
  temp_path = tmp_file.name
269
269
 
270
270
  try:
271
- stream = _open_input_stream(callback, sample_rate, device_id)
272
- with stream:
271
+ with sd.InputStream(
272
+ samplerate=sample_rate, channels=1, callback=callback, device=device_id
273
+ ):
273
274
  _status(status_queue, f"\n⬤ recording: {stop_binding or 'Enter'} to stop")
274
275
  _wait_for_stop(stop_queue)
275
276
 
@@ -328,6 +329,7 @@ def _record_and_stream(
328
329
  """
329
330
  import threading
330
331
 
332
+ import sounddevice as sd
331
333
  from moonshine_voice.transcriber import LineCompleted, LineStarted, LineTextChanged
332
334
 
333
335
  transcriber = _build_transcriber(language, status_queue)
@@ -395,8 +397,9 @@ def _record_and_stream(
395
397
  feed_thread.start()
396
398
 
397
399
  try:
398
- stream = _open_input_stream(callback, sample_rate, device_id)
399
- with stream:
400
+ with sd.InputStream(
401
+ samplerate=sample_rate, channels=1, callback=callback, device=device_id
402
+ ):
400
403
  _status(status_queue, f"\n⬤ recording: {stop_binding or 'Enter'} to stop")
401
404
  _wait_for_stop(stop_queue)
402
405
  finally:
@@ -556,95 +559,6 @@ def _status(status_queue, message):
556
559
  print(message)
557
560
 
558
561
 
559
- def _open_input_stream(callback, sample_rate, device_id=None):
560
- """Open and start an input stream, falling back to other input devices.
561
-
562
- Tries the requested/default device first, then other input-capable devices
563
- at compatible sample rates, so a WSL/PipeWire setup whose default device
564
- cannot be opened (or fails to start, e.g. a ``paTimedOut``) still records.
565
- The stream is started here so a start timeout is caught and the next
566
- candidate is tried rather than surfacing to the caller after a device is
567
- selected. Returns the started ``sounddevice.InputStream``; callers should
568
- use it as a context manager (``with stream:``). Raises ``SoundDeviceError``
569
- with an actionable message when no device opens or starts.
570
- """
571
- import sounddevice as sd
572
-
573
- last_error = None
574
-
575
- for dev, rate in _input_device_candidates(sample_rate, device_id):
576
- stream = None
577
-
578
- try:
579
- stream = sd.InputStream(samplerate=rate, channels=1, callback=callback, device=dev)
580
- stream.start()
581
- except Exception as exc:
582
- last_error = exc
583
-
584
- if stream is not None:
585
- try:
586
- stream.close()
587
- except Exception:
588
- pass
589
-
590
- continue
591
-
592
- return stream
593
-
594
- raise SoundDeviceError(_input_device_error_message(last_error))
595
-
596
-
597
- def _input_device_candidates(sample_rate, device_id):
598
- """Yield (device, sample_rate) candidates for the input stream, best first."""
599
- import sounddevice as sd
600
-
601
- for rate in _sample_rates(sample_rate):
602
- yield (device_id, rate)
603
-
604
- try:
605
- devices = sd.query_devices()
606
- except Exception:
607
- return
608
-
609
- if not isinstance(devices, list):
610
- return
611
-
612
- for dev, entry in enumerate(devices):
613
- if not isinstance(entry, dict) or entry.get("max_input_channels", 0) <= 0:
614
- continue
615
-
616
- if dev == device_id:
617
- continue
618
-
619
- for rate in _sample_rates(entry.get("default_samplerate") or sample_rate):
620
- yield (dev, rate)
621
-
622
-
623
- def _sample_rates(sample_rate):
624
- """Return sample rates to try for a device, preferred first and deduplicated."""
625
- rates = []
626
-
627
- for rate in (sample_rate, 44100, 48000, 16000):
628
- if rate and rate not in rates:
629
- rates.append(rate)
630
-
631
- return rates
632
-
633
-
634
- def _input_device_error_message(err):
635
- """Return an actionable message when no microphone input device can be opened."""
636
- reason = f" ({err})" if err else ""
637
-
638
- return (
639
- "No microphone input device could be opened"
640
- + reason
641
- + ". Check that your mic is the default input device (Windows: Settings > "
642
- "System > Sound > Input) and that Windows grants WSLg microphone access "
643
- "(Settings > Privacy & security > Microphone). In WSL, confirm the mic is "
644
- "bridged first, e.g. `PULSE_SERVER=unix:/mnt/wslg/PulseServer parec -d RDPSource --channels=1`."
645
- )
646
-
647
-
648
562
  def _download_model_from_hf(language, status_queue=None):
649
563
  """Download the native Moonshine model for ``language`` from Hugging Face.
650
564
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 1.5.0rc8
3
+ Version: 1.5.0rc10
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
@@ -293,6 +293,7 @@ cecli/helpers/llms/providers/deepseek.py
293
293
  cecli/helpers/llms/providers/gemini.py
294
294
  cecli/helpers/llms/providers/github_copilot.py
295
295
  cecli/helpers/llms/providers/meta.py
296
+ cecli/helpers/llms/providers/mistral.py
296
297
  cecli/helpers/llms/providers/openai.py
297
298
  cecli/helpers/llms/providers/openrouter.py
298
299
  cecli/helpers/memory/__init__.py
@@ -763,9 +764,11 @@ tests/helpers/test_llms_github_copilot_auth.py
763
764
  tests/helpers/test_llms_hyperscalers.py
764
765
  tests/helpers/test_llms_messages_stream.py
765
766
  tests/helpers/test_llms_messages_wire.py
767
+ tests/helpers/test_llms_mistral_adapter.py
766
768
  tests/helpers/test_llms_providers_json.py
767
769
  tests/helpers/test_llms_reasoning_config.py
768
770
  tests/helpers/test_llms_reasoning_extract.py
771
+ tests/helpers/test_llms_reasoning_summaries.py
769
772
  tests/helpers/test_llms_vision.py
770
773
  tests/helpers/test_loop_detect.py
771
774
  tests/helpers/test_memory_control.py
@@ -247,6 +247,7 @@
247
247
  "cecli/helpers/llms/providers/gemini.py",
248
248
  "cecli/helpers/llms/providers/github_copilot.py",
249
249
  "cecli/helpers/llms/providers/meta.py",
250
+ "cecli/helpers/llms/providers/mistral.py",
250
251
  "cecli/helpers/llms/providers/openai.py",
251
252
  "cecli/helpers/llms/providers/openrouter.py",
252
253
  "cecli/helpers/llms/runtime.py",
@@ -1010,9 +1011,11 @@
1010
1011
  "tests/helpers/test_llms_hyperscalers.py",
1011
1012
  "tests/helpers/test_llms_messages_stream.py",
1012
1013
  "tests/helpers/test_llms_messages_wire.py",
1014
+ "tests/helpers/test_llms_mistral_adapter.py",
1013
1015
  "tests/helpers/test_llms_providers_json.py",
1014
1016
  "tests/helpers/test_llms_reasoning_config.py",
1015
1017
  "tests/helpers/test_llms_reasoning_extract.py",
1018
+ "tests/helpers/test_llms_reasoning_summaries.py",
1016
1019
  "tests/helpers/test_llms_vision.py",
1017
1020
  "tests/helpers/test_loop_detect.py",
1018
1021
  "tests/helpers/test_memory_control.py",
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.5.0rc10",
3
+ "distance": 0,
4
+ "node": "ge1dd0a190f632b061d26ca348e2ec9ea6e6ca0dd",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-09-09"
8
+ }
@@ -428,39 +428,3 @@ def test_wait_for_stop_preserves_cli_readline():
428
428
  with patch("cecli.voice.sys.stdin") as stdin:
429
429
  _wait_for_stop(None)
430
430
  stdin.readline.assert_called_once_with()
431
-
432
-
433
- def test_open_input_stream_retries_after_start_timeout():
434
- """When the default device fails to start, ``_open_input_stream`` falls back."""
435
- from cecli.voice import _open_input_stream
436
-
437
- sounddevice = MagicMock()
438
- sounddevice.query_devices.return_value = [
439
- {"name": "default", "max_input_channels": 1, "default_samplerate": 44100},
440
- {"name": "fallback", "max_input_channels": 1, "default_samplerate": 48000},
441
- ]
442
-
443
- created = []
444
-
445
- def make_stream(device=None, **kwargs):
446
- stream = MagicMock()
447
- created.append((device, stream))
448
-
449
- if device == 0:
450
- stream.start.side_effect = RuntimeError("Wait timed out")
451
-
452
- return stream
453
-
454
- sounddevice.InputStream.side_effect = make_stream
455
-
456
- with patch.dict("sys.modules", {"sounddevice": sounddevice}):
457
- stream = _open_input_stream(lambda *a: None, 16000, device_id=0)
458
-
459
- # The default device was tried first (and its streams released) before the fallback.
460
- assert [device for device, _ in created] == [0, 0, 0, 1]
461
- assert all(s.close.called for device, s in created if device == 0)
462
-
463
- # The returned stream is the started fallback device, not the failing one.
464
- assert stream is created[-1][1]
465
- assert created[-1][0] == 1
466
- stream.start.assert_called_once_with()