cecli-dev 1.5.0rc15__tar.gz → 1.5.1__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 (856) hide show
  1. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/PKG-INFO +1 -1
  2. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/_version.py +3 -3
  3. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/agents/service.py +15 -4
  4. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/litellm_compat.py +3 -1
  5. cecli_dev-1.5.1/cecli/helpers/llms/runtime.py +133 -0
  6. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/lock_detect.py +7 -2
  7. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/skills.py +41 -14
  8. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/main.py +27 -0
  9. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/models.py +2 -2
  10. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/worker.py +18 -1
  11. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/voice.py +91 -7
  12. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/skills.md +5 -7
  13. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/subagents.md +14 -0
  14. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli_dev.egg-info/PKG-INFO +1 -1
  15. cecli_dev-1.5.1/cecli_dev.egg-info/scm_version.json +8 -0
  16. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_skills.py +85 -6
  17. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_voice.py +51 -0
  18. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/test_service.py +61 -0
  19. cecli_dev-1.5.0rc15/cecli/helpers/llms/runtime.py +0 -43
  20. cecli_dev-1.5.0rc15/cecli_dev.egg-info/scm_version.json +0 -8
  21. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.dockerignore +0 -0
  22. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.flake8 +0 -0
  23. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.gitattributes +0 -0
  24. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  25. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/check_pypi_version.yml +0 -0
  26. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/docker-build-test.yml +0 -0
  27. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/docker-release.yml +0 -0
  28. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/issues.yml +0 -0
  29. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/pages.yml +0 -0
  30. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/pre-commit.yml +0 -0
  31. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/release.yml +0 -0
  32. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/ubuntu-tests.yml +0 -0
  33. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/windows-tests.yml +0 -0
  34. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.github/workflows/windows_check_pypi_version.yml +0 -0
  35. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.gitignore +0 -0
  36. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/.pre-commit-config.yaml +0 -0
  37. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/CHANGELOG.md +0 -0
  38. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/CNAME +0 -0
  39. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/CONTRIBUTING.md +0 -0
  40. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/HISTORY.md +0 -0
  41. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/LICENSE.txt +0 -0
  42. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/MANIFEST.in +0 -0
  43. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/README.md +0 -0
  44. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/Dockerfile +0 -0
  45. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/README.md +0 -0
  46. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/__init__.py +0 -0
  47. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/benchmark.py +0 -0
  48. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/benchmark_classic.py +0 -0
  49. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/clone-exercism.sh +0 -0
  50. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/cpp-test.sh +0 -0
  51. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/docker.sh +0 -0
  52. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/docker_build.sh +0 -0
  53. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/install-docker-ubuntu.sh +0 -0
  54. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/npm-test.sh +0 -0
  55. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/over_time.py +0 -0
  56. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/plot.sh +0 -0
  57. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/plots.py +0 -0
  58. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/problem_stats.py +0 -0
  59. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/prompts.py +0 -0
  60. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/refactor_tools.py +0 -0
  61. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/rsync.sh +0 -0
  62. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/rungrid.py +0 -0
  63. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/swe-bench-lite.txt +0 -0
  64. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/swe-bench.txt +0 -0
  65. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/swe_bench.py +0 -0
  66. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/test_benchmark.py +0 -0
  67. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/variations.1.sh +0 -0
  68. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/variations.2.sh +0 -0
  69. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/variations.3.sh +0 -0
  70. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/benchmark/variations.4.sh +0 -0
  71. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/__init__.py +0 -0
  72. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/__main__.py +0 -0
  73. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/args.py +0 -0
  74. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/args_formatter.py +0 -0
  75. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/change_tracker.py +0 -0
  76. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/__init__.py +0 -0
  77. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/agent_coder.py +0 -0
  78. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/architect_coder.py +0 -0
  79. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/ask_coder.py +0 -0
  80. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/base_coder.py +0 -0
  81. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/chat_chunks.py +0 -0
  82. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/context_coder.py +0 -0
  83. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/copypaste_coder.py +0 -0
  84. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/editblock_coder.py +0 -0
  85. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/editblock_fenced_coder.py +0 -0
  86. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/editblock_func_coder.py +0 -0
  87. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  88. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/editor_editblock_coder.py +0 -0
  89. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/editor_whole_coder.py +0 -0
  90. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/hashline_coder.py +0 -0
  91. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/help_coder.py +0 -0
  92. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/patch_coder.py +0 -0
  93. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/search_replace.py +0 -0
  94. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/shell.py +0 -0
  95. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/single_wholefile_func_coder.py +0 -0
  96. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/sub_agent_coder.py +0 -0
  97. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/udiff_coder.py +0 -0
  98. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/udiff_simple.py +0 -0
  99. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/wholefile_coder.py +0 -0
  100. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/coders/wholefile_func_coder.py +0 -0
  101. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/__init__.py +0 -0
  102. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/add.py +0 -0
  103. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/agent.py +0 -0
  104. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/agent_model.py +0 -0
  105. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/agent_tree.py +0 -0
  106. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/architect.py +0 -0
  107. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/ask.py +0 -0
  108. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/auto_memory.py +0 -0
  109. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/chat_mode.py +0 -0
  110. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/clear.py +0 -0
  111. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/code.py +0 -0
  112. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/command_prefix.py +0 -0
  113. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/commit.py +0 -0
  114. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/compact.py +0 -0
  115. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/context.py +0 -0
  116. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/context_blocks.py +0 -0
  117. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/context_management.py +0 -0
  118. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/copy.py +0 -0
  119. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/copy_context.py +0 -0
  120. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/core.py +0 -0
  121. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/diff.py +0 -0
  122. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/drop.py +0 -0
  123. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/editor.py +0 -0
  124. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/editor_model.py +0 -0
  125. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/exclude_skill.py +0 -0
  126. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/exit.py +0 -0
  127. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/git.py +0 -0
  128. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/hashline.py +0 -0
  129. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/help.py +0 -0
  130. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/history_search.py +0 -0
  131. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/hooks.py +0 -0
  132. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/hot_reload.py +0 -0
  133. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/import_skill.py +0 -0
  134. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/include_skill.py +0 -0
  135. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/insert_queue.py +0 -0
  136. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/lint.py +0 -0
  137. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/list_mcp.py +0 -0
  138. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/list_queue.py +0 -0
  139. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/list_sessions.py +0 -0
  140. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/list_skills.py +0 -0
  141. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/load.py +0 -0
  142. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/load_hook.py +0 -0
  143. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/load_mcp.py +0 -0
  144. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/load_session.py +0 -0
  145. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/load_skill.py +0 -0
  146. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/ls.py +0 -0
  147. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/map.py +0 -0
  148. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/map_refresh.py +0 -0
  149. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/merge.py +0 -0
  150. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/model.py +0 -0
  151. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/models.py +0 -0
  152. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/multiline_mode.py +0 -0
  153. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/paste.py +0 -0
  154. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/queue.py +0 -0
  155. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/quit.py +0 -0
  156. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/read_only.py +0 -0
  157. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/read_only_stub.py +0 -0
  158. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/reap_agent.py +0 -0
  159. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/reasoning_effort.py +0 -0
  160. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/remove_hook.py +0 -0
  161. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/remove_mcp.py +0 -0
  162. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/remove_memory.py +0 -0
  163. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/remove_queue.py +0 -0
  164. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/remove_skill.py +0 -0
  165. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/report.py +0 -0
  166. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/reset.py +0 -0
  167. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/rules.py +0 -0
  168. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/run.py +0 -0
  169. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/save.py +0 -0
  170. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/save_session.py +0 -0
  171. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/search_memory.py +0 -0
  172. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/settings.py +0 -0
  173. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/spawn_agent.py +0 -0
  174. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/switch_agent.py +0 -0
  175. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/terminal_data/linux.keytab +0 -0
  176. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/terminal_setup.py +0 -0
  177. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/test.py +0 -0
  178. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/think_tokens.py +0 -0
  179. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/tokens.py +0 -0
  180. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/undo.py +0 -0
  181. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/utils/__init__.py +0 -0
  182. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/utils/base_command.py +0 -0
  183. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/utils/helpers.py +0 -0
  184. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/utils/registry.py +0 -0
  185. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/utils/save_load_manager.py +0 -0
  186. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/voice.py +0 -0
  187. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/weak_model.py +0 -0
  188. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/web.py +0 -0
  189. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/commands/workspace.py +0 -0
  190. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/decoding.py +0 -0
  191. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/deprecated_args.py +0 -0
  192. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/diffs.py +0 -0
  193. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/dump.py +0 -0
  194. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/editor.py +0 -0
  195. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/exceptions.py +0 -0
  196. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/format_settings.py +0 -0
  197. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/help.py +0 -0
  198. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/help_pats.py +0 -0
  199. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/__init__.py +0 -0
  200. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/agents/__init__.py +0 -0
  201. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/agents/config.py +0 -0
  202. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/agents/defaults/__init__.py +0 -0
  203. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/agents/defaults/memorizer.md +0 -0
  204. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/agents/defaults/worker.md +0 -0
  205. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/background_commands.py +0 -0
  206. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/command_parser.py +0 -0
  207. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/command_queue.py +0 -0
  208. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/config_utils.py +0 -0
  209. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/conversation/__init__.py +0 -0
  210. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/conversation/base_message.py +0 -0
  211. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/conversation/files.py +0 -0
  212. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/conversation/integration.py +0 -0
  213. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/conversation/manager.py +0 -0
  214. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/conversation/service.py +0 -0
  215. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/conversation/tags.py +0 -0
  216. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/conversation/utils.py +0 -0
  217. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/copypaste.py +0 -0
  218. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/coroutines.py +0 -0
  219. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/crypto.py +0 -0
  220. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/extensions/__init__.py +0 -0
  221. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/extensions/skills_importer.py +0 -0
  222. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/file_searcher.py +0 -0
  223. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/file_system/__init__.py +0 -0
  224. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/file_system/builders.py +0 -0
  225. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/file_system/ignore.py +0 -0
  226. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/file_system/ngram_index.py +0 -0
  227. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/file_system/service.py +0 -0
  228. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/file_system/trie_index.py +0 -0
  229. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/grep_ast/__init__.py +0 -0
  230. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/grep_ast/dump.py +0 -0
  231. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  232. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/grep_ast/main.py +0 -0
  233. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/grep_ast/parsers.py +0 -0
  234. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/grep_ast/tsl.py +0 -0
  235. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/hashline.py +0 -0
  236. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/hashpos/__init__.py +0 -0
  237. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/hashpos/hashpos.py +0 -0
  238. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  239. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/hashpos/transformations.py +0 -0
  240. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/io_proxy.py +0 -0
  241. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/leak_detect.py +0 -0
  242. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/__init__.py +0 -0
  243. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/aws_sigv4.py +0 -0
  244. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/config.py +0 -0
  245. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/domains/__init__.py +0 -0
  246. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/domains/bedrock.py +0 -0
  247. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/domains/chat.py +0 -0
  248. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/domains/gemini.py +0 -0
  249. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/domains/messages.py +0 -0
  250. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/domains/responses.py +0 -0
  251. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/formatters/__init__.py +0 -0
  252. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/formatters/reasoning.py +0 -0
  253. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/formatters/thinking.py +0 -0
  254. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/identifiers.py +0 -0
  255. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/pipeline.py +0 -0
  256. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/__init__.py +0 -0
  257. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/anthropic.py +0 -0
  258. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/azure.py +0 -0
  259. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/base.py +0 -0
  260. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/bedrock.py +0 -0
  261. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/bedrock_mantle.py +0 -0
  262. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/deepseek.py +0 -0
  263. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/gemini.py +0 -0
  264. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/github_copilot.py +0 -0
  265. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/meta.py +0 -0
  266. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/mistral.py +0 -0
  267. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/openai.py +0 -0
  268. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/providers/openrouter.py +0 -0
  269. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/types.py +0 -0
  270. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/llms/utils.py +0 -0
  271. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/loop_detect.py +0 -0
  272. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/memory/__init__.py +0 -0
  273. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/memory/db.py +0 -0
  274. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/memory/utils.py +0 -0
  275. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/memory_control.py +0 -0
  276. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/__init__.py +0 -0
  277. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/agent.py +0 -0
  278. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/api.py +0 -0
  279. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/formatters/__init__.py +0 -0
  280. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/formatters/reasoning.py +0 -0
  281. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/formatters/thinking.py +0 -0
  282. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/identifiers.py +0 -0
  283. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/llm.py +0 -0
  284. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/pipeline.py +0 -0
  285. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/registry.py +0 -0
  286. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_config/utils.py +0 -0
  287. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/model_providers.py +0 -0
  288. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/nested.py +0 -0
  289. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/observations/__init__.py +0 -0
  290. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/observations/service.py +0 -0
  291. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/onboarding/__init__.py +0 -0
  292. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/onboarding/app.py +0 -0
  293. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/onboarding/providers.py +0 -0
  294. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/orchestration/__init__.py +0 -0
  295. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/orchestration/agent_proxy.py +0 -0
  296. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/orchestration/environment.py +0 -0
  297. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/orchestration/region_resolver.py +0 -0
  298. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/orchestration/safe_methods.py +0 -0
  299. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/orchestration/security.py +0 -0
  300. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/orchestration/service.py +0 -0
  301. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/orchestration/tool_proxy.py +0 -0
  302. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/plugin_manager.py +0 -0
  303. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/profiler.py +0 -0
  304. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/queues.py +0 -0
  305. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/requests.py +0 -0
  306. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/responses.py +0 -0
  307. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/server/__init__.py +0 -0
  308. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/server/acp/__init__.py +0 -0
  309. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/server/acp/bridge.py +0 -0
  310. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/server/acp/models.py +0 -0
  311. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/server/acp/protocol.py +0 -0
  312. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/server/signals.py +0 -0
  313. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/server/ws_server.py +0 -0
  314. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/similarity.py +0 -0
  315. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/threading.py +0 -0
  316. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/workspaces/__init__.py +0 -0
  317. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/workspaces/config.py +0 -0
  318. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/workspaces/paths.py +0 -0
  319. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/workspaces/subagents.py +0 -0
  320. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/helpers/workspaces/workspace.py +0 -0
  321. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/history.py +0 -0
  322. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/hooks/__init__.py +0 -0
  323. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/hooks/base.py +0 -0
  324. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/hooks/helpers.py +0 -0
  325. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/hooks/integration.py +0 -0
  326. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/hooks/manager.py +0 -0
  327. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/hooks/registry.py +0 -0
  328. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/hooks/service.py +0 -0
  329. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/hooks/types.py +0 -0
  330. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/http.py +0 -0
  331. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/interruptible_input.py +0 -0
  332. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/io.py +0 -0
  333. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/linter.py +0 -0
  334. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/llm.py +0 -0
  335. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/mcp/__init__.py +0 -0
  336. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/mcp/manager.py +0 -0
  337. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/mcp/oauth.py +0 -0
  338. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/mcp/server.py +0 -0
  339. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/mcp/utils.py +0 -0
  340. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/mdstream.py +0 -0
  341. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/onboarding.py +0 -0
  342. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/__init__.py +0 -0
  343. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/agent.yml +0 -0
  344. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/architect.yml +0 -0
  345. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/ask.yml +0 -0
  346. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/base.yml +0 -0
  347. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/context.yml +0 -0
  348. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/copypaste.yml +0 -0
  349. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/editblock.yml +0 -0
  350. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/editblock_fenced.yml +0 -0
  351. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/editblock_func.yml +0 -0
  352. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/editor_diff_fenced.yml +0 -0
  353. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/editor_editblock.yml +0 -0
  354. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/editor_whole.yml +0 -0
  355. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/hashline.yml +0 -0
  356. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/help.yml +0 -0
  357. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/patch.yml +0 -0
  358. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/single_wholefile_func.yml +0 -0
  359. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/subagent.yml +0 -0
  360. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/udiff.yml +0 -0
  361. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/udiff_simple.yml +0 -0
  362. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/utils/__init__.py +0 -0
  363. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/utils/registry.py +0 -0
  364. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/utils/system.py +0 -0
  365. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/wholefile.yml +0 -0
  366. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/prompts/wholefile_func.yml +0 -0
  367. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  368. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  369. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  370. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  371. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  372. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  373. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  374. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  375. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  376. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  377. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  378. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  379. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  380. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  381. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  382. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  383. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  384. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  385. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  386. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  387. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  388. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  389. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  390. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  391. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  392. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  393. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  394. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  395. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  396. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  397. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  398. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  399. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/README.md +0 -0
  400. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  401. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  402. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  403. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  404. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  405. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  406. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  407. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  408. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  409. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  410. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  411. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  412. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  413. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  414. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  415. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  416. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  417. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  418. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  419. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  420. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  421. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  422. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  423. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  424. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  425. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  426. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  427. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/reasoning_tags.py +0 -0
  428. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/repo.py +0 -0
  429. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/repomap.py +0 -0
  430. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/report.py +0 -0
  431. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/resources/__init__.py +0 -0
  432. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/resources/model-metadata.ext.json +0 -0
  433. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/resources/model-metadata.json +0 -0
  434. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/resources/model-settings-condensed.yml +0 -0
  435. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/resources/model-settings.yml +0 -0
  436. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/resources/providers.json +0 -0
  437. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/run_cmd.py +0 -0
  438. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/scrape.py +0 -0
  439. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/sendchat.py +0 -0
  440. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/sessions.py +0 -0
  441. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/signals.py +0 -0
  442. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/special.py +0 -0
  443. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tests/test_queue_commands.py +0 -0
  444. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/__init__.py +0 -0
  445. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/_yield.py +0 -0
  446. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/broadcast.py +0 -0
  447. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/command.py +0 -0
  448. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/delegate.py +0 -0
  449. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/edit_file.py +0 -0
  450. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/explore_code.py +0 -0
  451. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/git_branch.py +0 -0
  452. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/git_diff.py +0 -0
  453. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/git_log.py +0 -0
  454. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/git_remote.py +0 -0
  455. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/git_show.py +0 -0
  456. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/git_status.py +0 -0
  457. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/grep.py +0 -0
  458. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/ls.py +0 -0
  459. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/orchestrate.py +0 -0
  460. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/read_file.py +0 -0
  461. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/replace_facts.py +0 -0
  462. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/resource_manager.py +0 -0
  463. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/search_facts.py +0 -0
  464. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/thinking.py +0 -0
  465. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/undo_change.py +0 -0
  466. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/update_todo_list.py +0 -0
  467. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/utils/__init__.py +0 -0
  468. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/utils/base_tool.py +0 -0
  469. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/utils/helpers.py +0 -0
  470. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/utils/output.py +0 -0
  471. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/utils/registry.py +0 -0
  472. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/utils/responses.py +0 -0
  473. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/validations/__init__.py +0 -0
  474. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tools/validations/validations.py +0 -0
  475. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/__init__.py +0 -0
  476. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/app.py +0 -0
  477. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/io.py +0 -0
  478. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/styles.tcss +0 -0
  479. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/__init__.py +0 -0
  480. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/completion_bar.py +0 -0
  481. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/file_list.py +0 -0
  482. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/footer.py +0 -0
  483. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/input_area.py +0 -0
  484. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/input_container.py +0 -0
  485. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/key_hints.py +0 -0
  486. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/output.py +0 -0
  487. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/output_alt.bak +0 -0
  488. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/selectable_log.py +0 -0
  489. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/status_bar.py +0 -0
  490. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/tui/widgets/subagent_pills.py +0 -0
  491. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/urls.py +0 -0
  492. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/utils.py +0 -0
  493. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/versioncheck.py +0 -0
  494. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/waiting.py +0 -0
  495. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/watch.py +0 -0
  496. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/watch_prompts.py +0 -0
  497. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/blame.md +0 -0
  498. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/get-started.md +0 -0
  499. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/help-tip.md +0 -0
  500. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/help.md +0 -0
  501. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/install.md +0 -0
  502. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/keys.md +0 -0
  503. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/model-warnings.md +0 -0
  504. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/multi-line.md +0 -0
  505. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/python-m-aider.md +0 -0
  506. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/recording.css +0 -0
  507. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/recording.md +0 -0
  508. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_includes/works-best.md +0 -0
  509. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_features.scss +0 -0
  510. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_footer.scss +0 -0
  511. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_hero.scss +0 -0
  512. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_info.scss +0 -0
  513. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_layout.scss +0 -0
  514. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_reset.scss +0 -0
  515. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_testimonials.scss +0 -0
  516. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_typography.scss +0 -0
  517. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/_variables.scss +0 -0
  518. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/custom/custom.scss +0 -0
  519. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/_sass/global-overrides.scss +0 -0
  520. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docmd.config.json +0 -0
  521. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/cecli-temp-logo-favicon.svg +0 -0
  522. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/adv-model-settings.md +0 -0
  523. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/agent-mode.md +0 -0
  524. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/api-keys.md +0 -0
  525. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/api.md +0 -0
  526. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/conf.md +0 -0
  527. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/custom-commands.md +0 -0
  528. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  529. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/dotenv.md +0 -0
  530. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/editor.md +0 -0
  531. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/hooks.md +0 -0
  532. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/mcp.md +0 -0
  533. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/model-aliases.md +0 -0
  534. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/model-configuration.md +0 -0
  535. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/model-providers.md +0 -0
  536. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/options.md +0 -0
  537. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/persistent-memory.md +0 -0
  538. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/reasoning.md +0 -0
  539. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/retries.md +0 -0
  540. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/security.md +0 -0
  541. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/tui.md +0 -0
  542. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config/workspaces.md +0 -0
  543. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/config.md +0 -0
  544. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/git.md +0 -0
  545. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/index.md +0 -0
  546. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/install/docker.md +0 -0
  547. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/install.md +0 -0
  548. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/languages.md +0 -0
  549. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  550. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/legal/privacy.md +0 -0
  551. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/anthropic.md +0 -0
  552. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/azure.md +0 -0
  553. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/bedrock.md +0 -0
  554. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/cohere.md +0 -0
  555. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/deepseek.md +0 -0
  556. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/gemini.md +0 -0
  557. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/github.md +0 -0
  558. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/groq.md +0 -0
  559. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/lm-studio.md +0 -0
  560. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/ollama.md +0 -0
  561. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/openai-compat.md +0 -0
  562. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/openai.md +0 -0
  563. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/opencode-go.md +0 -0
  564. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/openrouter.md +0 -0
  565. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/other.md +0 -0
  566. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/vertex.md +0 -0
  567. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/warnings.md +0 -0
  568. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms/xai.md +0 -0
  569. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/llms.md +0 -0
  570. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/more/analytics.md +0 -0
  571. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/more/edit-formats.md +0 -0
  572. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/more/infinite-output.md +0 -0
  573. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/more-info.md +0 -0
  574. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/repomap.md +0 -0
  575. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/scripting.md +0 -0
  576. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  577. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  578. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/troubleshooting/imports.md +0 -0
  579. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  580. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/troubleshooting/support.md +0 -0
  581. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  582. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  583. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/troubleshooting.md +0 -0
  584. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/commands.md +0 -0
  585. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/conventions.md +0 -0
  586. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/copypaste.md +0 -0
  587. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/images-urls.md +0 -0
  588. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/lint-test.md +0 -0
  589. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/modes.md +0 -0
  590. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/not-code.md +0 -0
  591. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/notifications.md +0 -0
  592. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/optional.md +0 -0
  593. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/sessions.md +0 -0
  594. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/tips.md +0 -0
  595. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/voice.md +0 -0
  596. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage/watch.md +0 -0
  597. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/docs/usage.md +0 -0
  598. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/package-lock.json +0 -0
  599. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/package.json +0 -0
  600. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli/website/share/index.md +0 -0
  601. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli_dev.egg-info/SOURCES.txt +0 -0
  602. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli_dev.egg-info/dependency_links.txt +0 -0
  603. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli_dev.egg-info/entry_points.txt +0 -0
  604. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli_dev.egg-info/requires.txt +0 -0
  605. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli_dev.egg-info/scm_file_list.json +0 -0
  606. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/cecli_dev.egg-info/top_level.txt +0 -0
  607. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/docker/Dockerfile +0 -0
  608. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  609. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/pyproject.toml +0 -0
  610. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/pytest.ini +0 -0
  611. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/common-constraints.txt +0 -0
  612. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/requirements-dev.in +0 -0
  613. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/requirements-dev.txt +0 -0
  614. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/requirements-help.in +0 -0
  615. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/requirements-help.txt +0 -0
  616. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/requirements-playwright.in +0 -0
  617. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/requirements-playwright.txt +0 -0
  618. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/requirements.in +0 -0
  619. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements/tree-sitter.in +0 -0
  620. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/requirements.txt +0 -0
  621. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/30k-image.py +0 -0
  622. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/__init__.py +0 -0
  623. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/blame.py +0 -0
  624. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/clean_metadata.py +0 -0
  625. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/compare-message-history.py +0 -0
  626. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/condense_model_settings.py +0 -0
  627. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/cost_analyzer.py +0 -0
  628. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/cost_calculator.py +0 -0
  629. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/dl_icons.py +0 -0
  630. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/docmd_build.sh +0 -0
  631. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/filter-chat-mode.js +0 -0
  632. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/generate_providers.py +0 -0
  633. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/get_contributor_list.js +0 -0
  634. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/get_hashline.py +0 -0
  635. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/history_prompts.py +0 -0
  636. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/homepage.py +0 -0
  637. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/issues.py +0 -0
  638. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/logo_svg.py +0 -0
  639. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/optimize_tokens.sh +0 -0
  640. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/pip-compile.sh +0 -0
  641. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/recording_audio.py +0 -0
  642. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/redact-cast.py +0 -0
  643. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/rename_to_cecli.py +0 -0
  644. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/tmux_record.sh +0 -0
  645. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/tsl_pack_langs.py +0 -0
  646. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/update-blame.sh +0 -0
  647. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/update-docs.sh +0 -0
  648. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/update-history.py +0 -0
  649. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/versionbump.py +0 -0
  650. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/scripts/yank-old-versions.py +0 -0
  651. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/setup.cfg +0 -0
  652. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/shim.pyproject.toml +0 -0
  653. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/__init__.py +0 -0
  654. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/__init__.py +0 -0
  655. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/conftest.py +0 -0
  656. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_agent_config_merge.py +0 -0
  657. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_aws_credentials.py +0 -0
  658. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_background_commands.py +0 -0
  659. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_coder.py +0 -0
  660. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_commands.py +0 -0
  661. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_custom_commands.py +0 -0
  662. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_deprecated.py +0 -0
  663. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_editblock.py +0 -0
  664. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_editor.py +0 -0
  665. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_exceptions.py +0 -0
  666. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_file_system_service.py +0 -0
  667. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_find_or_blocks.py +0 -0
  668. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_hashline.py +0 -0
  669. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_hashline_closure.py +0 -0
  670. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_history.py +0 -0
  671. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_io.py +0 -0
  672. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_linter.py +0 -0
  673. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_main.py +0 -0
  674. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_model_info_manager.py +0 -0
  675. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_model_provider_manager.py +0 -0
  676. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_models.py +0 -0
  677. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_onboarding.py +0 -0
  678. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_plugin_manager.py +0 -0
  679. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_prompts.py +0 -0
  680. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_reasoning.py +0 -0
  681. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_repo.py +0 -0
  682. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_repomap.py +0 -0
  683. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_run_cmd.py +0 -0
  684. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_sanity_check_repo.py +0 -0
  685. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_scripting.py +0 -0
  686. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_select_selector.py +0 -0
  687. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_sendchat.py +0 -0
  688. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_session_args.py +0 -0
  689. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_session_crypto.py +0 -0
  690. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_sessions.py +0 -0
  691. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_sessions_manager.py +0 -0
  692. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_special.py +0 -0
  693. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_spinner.py +0 -0
  694. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_ssl_verification.py +0 -0
  695. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_udiff.py +0 -0
  696. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_urls.py +0 -0
  697. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_watch.py +0 -0
  698. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/basic/test_wholefile.py +0 -0
  699. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/coders/test_coder_switching.py +0 -0
  700. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/coders/test_copypaste_coder.py +0 -0
  701. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/coders/test_rate_limit.py +0 -0
  702. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/coders/test_tool_call_consolidation.py +0 -0
  703. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/commands/test_auto_memory.py +0 -0
  704. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/commands/test_compaction.py +0 -0
  705. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/commands/test_remove_memory.py +0 -0
  706. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/commands/test_search_memory.py +0 -0
  707. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/commands/test_switch_agent.py +0 -0
  708. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/commands/test_voice.py +0 -0
  709. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/commands/test_workspace.py +0 -0
  710. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/conftest.py +0 -0
  711. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/conversations/test_conversation_integration.py +0 -0
  712. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/conversations/test_conversation_system.py +0 -0
  713. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  714. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/chat-history.md +0 -0
  715. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/arduino/test.ino +0 -0
  716. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/bash/test.sh +0 -0
  717. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/c/test.c +0 -0
  718. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/chatito/test.chatito +0 -0
  719. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/clojure/test.clj +0 -0
  720. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  721. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/cpp/test.cpp +0 -0
  722. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/csharp/test.cs +0 -0
  723. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/d/test.d +0 -0
  724. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/dart/test.dart +0 -0
  725. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/elisp/test.el +0 -0
  726. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/elixir/test.ex +0 -0
  727. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/elm/test.elm +0 -0
  728. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/gleam/test.gleam +0 -0
  729. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/go/test.go +0 -0
  730. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/haskell/test.hs +0 -0
  731. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/hcl/test.tf +0 -0
  732. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/java/test.java +0 -0
  733. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/javascript/test.js +0 -0
  734. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/kotlin/test.kt +0 -0
  735. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/lua/test.lua +0 -0
  736. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/matlab/test.m +0 -0
  737. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/ocaml/test.ml +0 -0
  738. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  739. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/php/test.php +0 -0
  740. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/pony/test.pony +0 -0
  741. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/properties/test.properties +0 -0
  742. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/python/test.py +0 -0
  743. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/ql/test.ql +0 -0
  744. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/r/test.r +0 -0
  745. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/racket/test.rkt +0 -0
  746. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/ruby/test.rb +0 -0
  747. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/rust/test.rs +0 -0
  748. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/scala/test.scala +0 -0
  749. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/solidity/test.sol +0 -0
  750. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/swift/test.swift +0 -0
  751. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/tsx/test.tsx +0 -0
  752. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/typescript/test.ts +0 -0
  753. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/udev/test.rules +0 -0
  754. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/languages/zig/test.zig +0 -0
  755. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/sample-code-base/sample.js +0 -0
  756. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/sample-code-base/sample.py +0 -0
  757. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  758. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/watch.js +0 -0
  759. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/watch.lisp +0 -0
  760. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/watch.py +0 -0
  761. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/fixtures/watch_question.js +0 -0
  762. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/help/test_help.py +0 -0
  763. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/observations/test_observation_service.py +0 -0
  764. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/server/acp/__init__.py +0 -0
  765. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/server/acp/test_bridge.py +0 -0
  766. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/server/acp/test_dispatch.py +0 -0
  767. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/server/acp/test_models.py +0 -0
  768. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/server/acp/test_protocol.py +0 -0
  769. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_api_base.py +0 -0
  770. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_aws_sigv4.py +0 -0
  771. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_cache_control.py +0 -0
  772. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_gemini_auth.py +0 -0
  773. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_github_copilot_auth.py +0 -0
  774. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_hyperscalers.py +0 -0
  775. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_messages_stream.py +0 -0
  776. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_messages_wire.py +0 -0
  777. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_mistral_adapter.py +0 -0
  778. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_mistral_provider.py +0 -0
  779. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_providers_json.py +0 -0
  780. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_reasoning_config.py +0 -0
  781. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_reasoning_extract.py +0 -0
  782. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_reasoning_summaries.py +0 -0
  783. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_llms_vision.py +0 -0
  784. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_loop_detect.py +0 -0
  785. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_memory_control.py +0 -0
  786. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_model_config.py +0 -0
  787. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_onboarding.py +0 -0
  788. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_orchestration.py +0 -0
  789. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/test_skills_importer.py +0 -0
  790. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/workspaces/conftest.py +0 -0
  791. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/workspaces/test_config.py +0 -0
  792. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/workspaces/test_paths.py +0 -0
  793. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/workspaces/test_subagents.py +0 -0
  794. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/helpers/workspaces/test_workspace_manager.py +0 -0
  795. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/hooks/__init__.py +0 -0
  796. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/hooks/test_base.py +0 -0
  797. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/hooks/test_manager.py +0 -0
  798. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/hooks/test_registry.py +0 -0
  799. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/integration/test_agent_mcp_management.py +0 -0
  800. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/integration/test_config_loading.py +0 -0
  801. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/integration/test_mcp_management.py +0 -0
  802. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/__init__.py +0 -0
  803. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/conftest.py +0 -0
  804. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/mock_server.py +0 -0
  805. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_keepalive_concurrency.py +0 -0
  806. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_keepalive_config.py +0 -0
  807. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_keepalive_integration.py +0 -0
  808. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_keepalive_logging.py +0 -0
  809. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_keepalive_resilience.py +0 -0
  810. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_keepalive_unit.py +0 -0
  811. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_manager.py +0 -0
  812. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_manager_retry.py +0 -0
  813. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_server_name_normalization.py +0 -0
  814. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/mcp/test_server_sdk_compat.py +0 -0
  815. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/scrape/test_playwright_disable.py +0 -0
  816. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/scrape/test_scrape.py +0 -0
  817. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/__init__.py +0 -0
  818. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/conftest.py +0 -0
  819. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/test_commands.py +0 -0
  820. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/test_config.py +0 -0
  821. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/test_delegate.py +0 -0
  822. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/test_finished.py +0 -0
  823. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/test_io_proxy.py +0 -0
  824. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/subagents/test_sub_agent_coder.py +0 -0
  825. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/test_requests.py +0 -0
  826. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_command_format_output.py +0 -0
  827. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_command_timeout_paging.py +0 -0
  828. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_edit_file_format_output.py +0 -0
  829. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_extractions.py +0 -0
  830. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_get_lines.py +0 -0
  831. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_git_branch.py +0 -0
  832. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_git_diff.py +0 -0
  833. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_grep.py +0 -0
  834. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_insert_block.py +0 -0
  835. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_read_range_execute.py +0 -0
  836. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_registry.py +0 -0
  837. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_remove_mcp_tool.py +0 -0
  838. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_resource_manager_paging.py +0 -0
  839. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_tool_arguments.py +0 -0
  840. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/test_tools_load_mcp_tool.py +0 -0
  841. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tools/validations.py +0 -0
  842. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tui/test_app.py +0 -0
  843. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/tui/test_completion_bar.py +0 -0
  844. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/conftest.py +0 -0
  845. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_deep_merge.py +0 -0
  846. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_edge_cases.py +0 -0
  847. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_load_mcp.py +0 -0
  848. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_performance.py +0 -0
  849. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_queues.py +0 -0
  850. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_remove_mcp.py +0 -0
  851. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_retry_backoff.py +0 -0
  852. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_shallow_merge.py +0 -0
  853. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_signals.py +0 -0
  854. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_unit_load_mcp_tool.py +0 -0
  855. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
  856. {cecli_dev-1.5.0rc15 → cecli_dev-1.5.1}/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.0rc15
3
+ Version: 1.5.1
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.0rc15'
22
- __version_tuple__ = version_tuple = (1, 5, 0, 'rc15')
21
+ __version__ = version = '1.5.1'
22
+ __version_tuple__ = version_tuple = (1, 5, 1)
23
23
 
24
- __commit_id__ = commit_id = 'g694c06342'
24
+ __commit_id__ = commit_id = 'g17d4bc7df'
@@ -617,11 +617,22 @@ class AgentService:
617
617
  parent_uuid=parent_coder.uuid,
618
618
  map_tokens=0,
619
619
  init_metadata={"agent_config": agent_config},
620
- # Sub-agents start with an empty file context; rules are inherited.
621
- fnames=[],
622
- read_only_fnames=[],
623
- read_only_stubs_fnames=[],
624
620
  )
621
+
622
+ # Sub-agents start with an empty file context by default; rules are
623
+ # inherited. When ``keep_files`` is set in the sub-agent's metadata,
624
+ # inherit the parent's editable and read-only files instead of
625
+ # resetting them.
626
+ keep_files = isinstance(metadata, dict) and bool(metadata.get("keep_files", False))
627
+ if not keep_files:
628
+ kwargs.update(
629
+ dict(
630
+ fnames=[],
631
+ read_only_fnames=[],
632
+ read_only_stubs_fnames=[],
633
+ )
634
+ )
635
+
625
636
  if configured_root:
626
637
  kwargs["root"] = configured_root
627
638
 
@@ -29,6 +29,8 @@ from typing import Any, Dict, List, Optional
29
29
  from cecli.dump import dump # noqa: F401
30
30
  from cecli.http import httpx
31
31
 
32
+ from .runtime import log_error_response
33
+
32
34
  warnings.filterwarnings("ignore", category=UserWarning, module="pydantic")
33
35
 
34
36
  SITE_URL = "https://cecli.dev"
@@ -1156,7 +1158,7 @@ class _LiteLLMFacade:
1156
1158
  if language:
1157
1159
  data["language"] = language
1158
1160
 
1159
- with httpx.Client(timeout=600) as client:
1161
+ with httpx.Client(timeout=600, event_hooks={"response": [log_error_response]}) as client:
1160
1162
  resp = client.post(
1161
1163
  "https://api.openai.com/v1/audio/transcriptions",
1162
1164
  headers=headers,
@@ -0,0 +1,133 @@
1
+ """Runtime knobs for the llms package (import-light, no heavy deps).
2
+
3
+ The dispatcher and domain adapters read :data:`VERIFY_SSL` when constructing
4
+ httpx clients so ``--no-verify-ssl`` keeps working after the litellm swap
5
+ (litellm previously patched ``client_session``/``aclient_session`` globals).
6
+
7
+ ``make_client`` additionally attaches a response hook that appends the body of
8
+ any 4xx/5xx response to :data:`ERROR_LOG_PATH` (``.cecli/logs/requests-errors.log``)
9
+ so failed provider requests stay diagnosable after the fact.
10
+ """
11
+
12
+ from __future__ import annotations
13
+
14
+ import os
15
+ import ssl
16
+ import threading
17
+ import time
18
+ from typing import Any
19
+
20
+ from cecli.http import httpx
21
+
22
+ #: Global TLS verification flag; set False for ``--no-verify-ssl``.
23
+ VERIFY_SSL = True
24
+
25
+ #: Append-only destination for 4xx/5xx response bodies.
26
+ ERROR_LOG_PATH = ".cecli/logs/requests-errors.log"
27
+
28
+ #: Serializes appends from concurrent sync/async hooks (writes are tiny).
29
+ _ERROR_LOG_LOCK = threading.Lock()
30
+
31
+ #: Maximum decoded body size kept per record.
32
+ _MAX_LOGGED_BODY = 64 * 1024
33
+
34
+
35
+ def set_verify_ssl(verify: bool) -> None:
36
+ """Set whether outbound httpx clients verify TLS certificates."""
37
+ global VERIFY_SSL
38
+
39
+ VERIFY_SSL = bool(verify)
40
+
41
+
42
+ def make_client(timeout: float, **kwargs: Any) -> httpx.AsyncClient:
43
+ """Create an httpx AsyncClient, retrying once on the OpenSSL first-init flake.
44
+
45
+ On some platforms (observed: WSL2 + OpenSSL 3.5 + Python 3.14) the very
46
+ first ``ssl.create_default_context(cafile=...)`` in a fresh process can
47
+ fail with ``ssl.SSLError`` (``[CONF: MODULE_INITIALIZATION_ERROR]`` /
48
+ "unknown error (0x0)") because the OpenSSL CONF module races its lazy
49
+ initialization. A second attempt succeeds. Retrying keeps per-request
50
+ httpx clients reliable whether or not truststore has been injected.
51
+
52
+ A response hook is always attached so 4xx/5xx bodies land in
53
+ :data:`ERROR_LOG_PATH`; caller-supplied ``event_hooks`` are preserved.
54
+ """
55
+ hooks = dict(kwargs.pop("event_hooks", None) or {})
56
+ hooks["response"] = [*hooks.get("response", []), _log_error_response]
57
+
58
+ try:
59
+ return httpx.AsyncClient(timeout=timeout, event_hooks=hooks, **kwargs)
60
+
61
+ except ssl.SSLError:
62
+ return httpx.AsyncClient(timeout=timeout, event_hooks=hooks, **kwargs)
63
+
64
+
65
+ def log_error_response(response: Any) -> None:
66
+ """Sync httpx response hook: append 4xx/5xx bodies to :data:`ERROR_LOG_PATH`."""
67
+
68
+ if response.status_code < 400:
69
+ return
70
+
71
+ try:
72
+ response.read()
73
+ body = response.text
74
+
75
+ except Exception:
76
+ body = "<body unavailable>"
77
+
78
+ _append_error_record(response, body)
79
+
80
+
81
+ async def _log_error_response(response: Any) -> None:
82
+ """Async httpx response hook: append 4xx/5xx bodies to :data:`ERROR_LOG_PATH`.
83
+
84
+ Reading the body here also makes it available to the caller's later
85
+ ``raise_for_status()``/error handling; streaming error responses are
86
+ otherwise left unread.
87
+ """
88
+
89
+ if response.status_code < 400:
90
+ return
91
+
92
+ try:
93
+ await response.aread()
94
+ body = response.text
95
+
96
+ except Exception:
97
+ body = "<body unavailable>"
98
+
99
+ _append_error_record(response, body)
100
+
101
+
102
+ def _append_error_record(response: Any, body: str) -> None:
103
+ """Append one error record; logging failures never reach the request path."""
104
+
105
+ request = response.request
106
+ body = body or ""
107
+
108
+ if len(body) > _MAX_LOGGED_BODY:
109
+ body = f"{body[:_MAX_LOGGED_BODY]}\n<truncated>"
110
+
111
+ record = (
112
+ f"{time.strftime('%Y-%m-%d %H:%M:%S')} "
113
+ f"{getattr(request, 'method', '?')} {getattr(request, 'url', '?')} -> "
114
+ f"{response.status_code}\n{body}\n{'-' * 80}\n"
115
+ )
116
+
117
+ try:
118
+ os.makedirs(os.path.dirname(ERROR_LOG_PATH), exist_ok=True)
119
+
120
+ with _ERROR_LOG_LOCK, open(ERROR_LOG_PATH, "a", encoding="utf-8") as handle:
121
+ handle.write(record)
122
+
123
+ except Exception:
124
+ pass
125
+
126
+
127
+ __all__ = [
128
+ "ERROR_LOG_PATH",
129
+ "VERIFY_SSL",
130
+ "log_error_response",
131
+ "make_client",
132
+ "set_verify_ssl",
133
+ ]
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ import os
2
3
  import sys
3
4
  import threading
4
5
  import time
@@ -11,10 +12,14 @@ logging.basicConfig(level=logging.INFO)
11
12
  logging.getLogger("asyncio").setLevel(logging.DEBUG)
12
13
 
13
14
 
14
- def dump_stacks_to_file(filename="hang_dump.log", interval=5, max_prints=10):
15
+ def dump_stacks_to_file(filename=".cecli/logs/threads.log", interval=5, max_prints=10):
15
16
  """Periodically writes stack traces to a file, resetting it after max_prints."""
16
17
  print_count = 0
17
18
 
19
+ log_dir = os.path.dirname(filename)
20
+ if log_dir:
21
+ os.makedirs(log_dir, exist_ok=True)
22
+
18
23
  while True:
19
24
  time.sleep(interval)
20
25
  try:
@@ -50,7 +55,7 @@ def dump_stacks_to_file(filename="hang_dump.log", interval=5, max_prints=10):
50
55
  # Start the monitor in a background daemon thread
51
56
  monitor_thread = threading.Thread(
52
57
  target=dump_stacks_to_file,
53
- args=("program_hangs.log", 5, 10), # Clears every 10 prints
58
+ args=(".cecli/logs/threads.log", 5, 10), # Clears every 10 prints
54
59
  daemon=True,
55
60
  )
56
61
  monitor_thread.start()
@@ -66,23 +66,29 @@ class SkillsManager:
66
66
  root: Optional base root directory for relative path resolution
67
67
  coder: Optional reference to the coder instance (weak reference)
68
68
  """
69
- # Always include the default skills directory in the user's home
70
- default_skill_dir = str(Path.home() / ".cecli" / "skills")
71
- if default_skill_dir not in directory_paths:
72
- directory_paths = [default_skill_dir] + list(directory_paths)
69
+ # Always include the default skills directories in the user's home:
70
+ # the cecli-specific directory plus the `.agents` standard directory.
71
+ default_skill_dirs = [
72
+ str(Path.home() / ".cecli" / "skills"),
73
+ str(Path.home() / ".agents" / "skills"),
74
+ ]
75
+ for default_skill_dir in reversed(default_skill_dirs):
76
+ if default_skill_dir not in directory_paths:
77
+ directory_paths = [default_skill_dir] + list(directory_paths)
73
78
 
74
79
  # Local path resolution base: use root so sub-agents with an overridden
75
80
  # local root still resolve project skills relative to the primary
76
81
  # workspace (instead of the working directory).
77
82
  local_anchor = Path(root).expanduser().resolve() if root else Path.cwd()
78
83
 
79
- # Also include the local default skills directory under the coder root
80
- # so project-scoped skills can live in {root}/.cecli/skills alongside the
81
- # global ~/.cecli/skills default.
84
+ # Also include the local default skills directories under the coder root
85
+ # so project-scoped skills can live in {root}/.cecli/skills or
86
+ # {root}/.agents/skills alongside the global home defaults.
82
87
  if root:
83
- local_default_skill_dir = str(local_anchor / ".cecli" / "skills")
84
- if local_default_skill_dir not in directory_paths:
85
- directory_paths.append(local_default_skill_dir)
88
+ for local_skill_subdir in (".cecli", ".agents"):
89
+ local_default_skill_dir = str(local_anchor / local_skill_subdir / "skills")
90
+ if local_default_skill_dir not in directory_paths:
91
+ directory_paths.append(local_default_skill_dir)
86
92
 
87
93
  # Resolve every path relative to local_anchor and drop exact duplicates.
88
94
  resolved_paths = []
@@ -101,11 +107,14 @@ class SkillsManager:
101
107
  seen_paths.add(path)
102
108
  resolved_paths.append(path)
103
109
 
104
- # Order paths: local project dirs first, then configured, home dirs last.
110
+ # Order paths: local project dirs before home dirs, and within the same
111
+ # locality cecli's own `.cecli/skills` directories before the
112
+ # `.agents/skills` standard directories.
105
113
  ordered = sorted(
106
114
  enumerate(resolved_paths),
107
115
  key=lambda item: (
108
116
  self._directory_priority(item[1], local_anchor),
117
+ self._directory_source_rank(item[1]),
109
118
  item[0],
110
119
  ),
111
120
  )
@@ -157,15 +166,17 @@ class SkillsManager:
157
166
 
158
167
  0 - local project directory (under the root or working directory)
159
168
  1 - any other configured directory
160
- 2 - a home directory (including the implicit ``~/.cecli/skills`` default)
169
+ 2 - a home directory (including the implicit ``~/.cecli/skills`` and
170
+ ``~/.agents/skills`` defaults)
161
171
  """
162
172
  home = Path.home().resolve()
163
173
 
164
- # Implicit default skills dir is always treated as a home dir.
165
- if path == (home / ".cecli" / "skills"):
174
+ # Implicit default skills dirs are always treated as home dirs.
175
+ if path in (home / ".cecli" / "skills", home / ".agents" / "skills"):
166
176
  return 2
167
177
 
168
178
  local_anchor = root if root is not None else Path.cwd()
179
+
169
180
  try:
170
181
  path.relative_to(local_anchor)
171
182
  return 0
@@ -178,6 +189,22 @@ class SkillsManager:
178
189
  except ValueError:
179
190
  return 1
180
191
 
192
+ @staticmethod
193
+ def _directory_source_rank(path: Path) -> int:
194
+ """Rank a skill directory by the standard it belongs to.
195
+
196
+ Lower values are scanned first and therefore win by-name conflicts, but
197
+ this only breaks ties between directories in the same locality (see
198
+ ``_directory_priority``):
199
+
200
+ 0 - cecli's own ``.cecli/skills`` directories and other directories
201
+ 1 - the ``.agents/skills`` standard directories
202
+ """
203
+ if path.name == "skills" and path.parent.name == ".agents":
204
+ return 1
205
+
206
+ return 0
207
+
181
208
  def _get_coder(self):
182
209
  """Return coder via weak reference, or None if collected."""
183
210
  if self._coder_ref is not None:
@@ -73,6 +73,28 @@ elif sys.platform == "darwin":
73
73
  from .dump import dump # noqa
74
74
 
75
75
 
76
+ def attach_debug_thread_monitor(argv=None):
77
+ """Start the thread/stack monitor early when debug logging is requested.
78
+
79
+ The full argument parser only runs inside main_async(), so the debug flag is
80
+ resolved late. The monitor must be running before the event loop starts to
81
+ observe startup, so we detect the usual sources here instead: an explicit
82
+ CECLI_DEBUG_THREAD_LOG override, the CECLI_DEBUG env var, or a --debug flag
83
+ in argv. A debug value supplied only by a config file is not known this
84
+ early and is handled once args are parsed.
85
+ """
86
+ env_override = os.getenv("CECLI_DEBUG_THREAD_LOG", "").lower() in ("1", "true", "yes")
87
+ env_debug = os.getenv("CECLI_DEBUG", "").lower() in ("1", "true", "yes")
88
+
89
+ if argv is None:
90
+ argv = sys.argv[1:]
91
+
92
+ if not (env_override or env_debug or "--debug" in argv):
93
+ return
94
+
95
+ import cecli.helpers.lock_detect # noqa
96
+
97
+
76
98
  def convert_yaml_to_json_string(value, config_file_value=None):
77
99
  """
78
100
  Convert YAML dict/list values to JSON strings for compatibility.
@@ -555,6 +577,8 @@ def custom_tracer(frame, event, arg):
555
577
  def main(argv=None, input=None, output=None, force_git_root=None, return_coder=False):
556
578
  from cecli.signals import ReloadProgramSignal
557
579
 
580
+ attach_debug_thread_monitor(argv)
581
+
558
582
  # Tracks the coder instance from a ReloadProgramSignal so the new
559
583
  # main_async() can pass it as from_coder to Coder.create(), preserving
560
584
  # UUID, edit_format, and other state across the reload cycle.
@@ -786,6 +810,9 @@ async def main_async(
786
810
  os.makedirs(".cecli/logs/", exist_ok=True)
787
811
  log_file = open(".cecli/logs/debug.log", "w", buffering=1)
788
812
  sys.settrace(custom_tracer)
813
+ # Ensure the thread/stack monitor is running even when debug was enabled
814
+ # from a config file rather than the CLI/env (main() attaches it early).
815
+ import cecli.helpers.lock_detect # noqa
789
816
  if args.shell_completions:
790
817
  parser.prog = "cecli"
791
818
  print(shtab.complete(parser, shell=args.shell_completions))
@@ -1515,7 +1515,7 @@ class Model(ModelSettings):
1515
1515
  should_retry = False
1516
1516
 
1517
1517
  if not should_retry:
1518
- print(f"LiteLLM API Error: {str(err)}")
1518
+ print(f"API Error: {str(err)}")
1519
1519
  if ex_info.description:
1520
1520
  print(ex_info.description)
1521
1521
  if stream:
@@ -1524,7 +1524,7 @@ class Model(ModelSettings):
1524
1524
  return hash_object, self.model_error_response()
1525
1525
 
1526
1526
  print(f"Retrying in {retry_delay:.1f} seconds...")
1527
- print(f"LiteLLM API Error: {str(err)}")
1527
+ print(f"API Error: {str(err)}")
1528
1528
  if interrupt_event:
1529
1529
  _res, interrupted = await coroutines.interruptible(
1530
1530
  asyncio.sleep(retry_delay), interrupt_event
@@ -2,6 +2,7 @@
2
2
 
3
3
  import asyncio
4
4
  import logging
5
+ import sys
5
6
  import threading
6
7
  import warnings
7
8
  from typing import Optional
@@ -45,7 +46,7 @@ class CoderWorker:
45
46
 
46
47
  def _run_thread(self):
47
48
  """Thread entry point - creates event loop and runs coder."""
48
- self.loop = asyncio.new_event_loop()
49
+ self.loop = self._create_event_loop()
49
50
  asyncio.set_event_loop(self.loop)
50
51
  self.loop.set_exception_handler(self.worker_loop_exception_handler)
51
52
 
@@ -283,3 +284,19 @@ class CoderWorker:
283
284
  # Wait for thread to finish
284
285
  if self.thread and self.thread.is_alive():
285
286
  self.thread.join(timeout=2.0)
287
+
288
+ def _create_event_loop(self):
289
+ """Create the event loop used by the coder worker thread.
290
+
291
+ On Windows, use a ProactorEventLoop so MCP stdio servers can spawn real
292
+ asynchronous subprocesses. The process-wide policy forces a
293
+ SelectorEventLoop (required by prompt_toolkit on the main loop), but a
294
+ SelectorEventLoop cannot create subprocesses, so MCP falls back to
295
+ blocking ``Popen.wait()`` calls on the AnyIO thread pool. Those waits are
296
+ uninterruptible and can hang forever, wedging MCP teardown and leaving the
297
+ coder stuck mid-processing.
298
+ """
299
+ if sys.platform == "win32" and hasattr(asyncio, "ProactorEventLoop"):
300
+ return asyncio.ProactorEventLoop()
301
+
302
+ return asyncio.new_event_loop()
@@ -268,9 +268,8 @@ def _run_record_process(
268
268
  temp_path = tmp_file.name
269
269
 
270
270
  try:
271
- with sd.InputStream(
272
- samplerate=sample_rate, channels=1, callback=callback, device=device_id
273
- ):
271
+ stream = _open_input_stream(callback, sample_rate, device_id)
272
+ with stream:
274
273
  _status(status_queue, f"\n⬤ recording: {stop_binding or 'Enter'} to stop")
275
274
  _wait_for_stop(stop_queue)
276
275
 
@@ -329,7 +328,6 @@ def _record_and_stream(
329
328
  """
330
329
  import threading
331
330
 
332
- import sounddevice as sd
333
331
  from moonshine_voice.transcriber import LineCompleted, LineStarted, LineTextChanged
334
332
 
335
333
  transcriber = _build_transcriber(language, status_queue)
@@ -397,9 +395,8 @@ def _record_and_stream(
397
395
  feed_thread.start()
398
396
 
399
397
  try:
400
- with sd.InputStream(
401
- samplerate=sample_rate, channels=1, callback=callback, device=device_id
402
- ):
398
+ stream = _open_input_stream(callback, sample_rate, device_id)
399
+ with stream:
403
400
  _status(status_queue, f"\n⬤ recording: {stop_binding or 'Enter'} to stop")
404
401
  _wait_for_stop(stop_queue)
405
402
  finally:
@@ -559,6 +556,93 @@ def _status(status_queue, message):
559
556
  print(message)
560
557
 
561
558
 
559
+ def _open_input_stream(callback, sample_rate, device_id=None):
560
+ """Open and start an input stream, retrying devices that fail to start.
561
+
562
+ PortAudio can transiently time out (``paTimedOut``) when starting a stream,
563
+ as happens with WSL and PipeWire's ``pulse`` device. Each candidate is
564
+ started eagerly so a start failure is caught and the next compatible device
565
+ or sample rate is tried instead of aborting the recording. Returns a started
566
+ ``sounddevice.InputStream`` for callers to use as a context manager; raises
567
+ ``SoundDeviceError`` when nothing starts.
568
+ """
569
+ import sounddevice as sd
570
+
571
+ last_error = None
572
+
573
+ for dev, rate in _input_device_candidates(sample_rate, device_id):
574
+ stream = None
575
+
576
+ try:
577
+ stream = sd.InputStream(samplerate=rate, channels=1, callback=callback, device=dev)
578
+ stream.start()
579
+ except Exception as exc:
580
+ last_error = exc
581
+
582
+ if stream is not None:
583
+ try:
584
+ stream.close()
585
+ except Exception:
586
+ pass
587
+
588
+ continue
589
+
590
+ return stream
591
+
592
+ raise SoundDeviceError(_input_device_error_message(last_error))
593
+
594
+
595
+ def _input_device_candidates(sample_rate, device_id=None):
596
+ """Yield ``(device, sample_rate)`` candidates for the input stream, best first."""
597
+ import sounddevice as sd
598
+
599
+ for rate in _sample_rates(sample_rate):
600
+ yield (device_id, rate)
601
+
602
+ try:
603
+ devices = sd.query_devices()
604
+ except Exception:
605
+ return
606
+
607
+ if not isinstance(devices, list):
608
+ return
609
+
610
+ for dev, entry in enumerate(devices):
611
+ if not isinstance(entry, dict) or entry.get("max_input_channels", 0) <= 0:
612
+ continue
613
+
614
+ if dev == device_id:
615
+ continue
616
+
617
+ for rate in _sample_rates(entry.get("default_samplerate") or sample_rate):
618
+ yield (dev, rate)
619
+
620
+
621
+ def _sample_rates(sample_rate):
622
+ """Return the sample rates to try for a device, most-preferred first."""
623
+ rates = []
624
+
625
+ for rate in (sample_rate, 44100, 48000, 16000):
626
+ if rate and rate not in rates:
627
+ rates.append(rate)
628
+
629
+ return rates
630
+
631
+
632
+ def _input_device_error_message(err):
633
+ """Return an actionable message when no input device can be started."""
634
+ reason = f" ({err})" if err else ""
635
+
636
+ return (
637
+ "No microphone input device could be started"
638
+ + reason
639
+ + ". Check that your mic is the default input device (Windows: Settings > "
640
+ "System > Sound > Input) and that Windows grants WSLg microphone access "
641
+ "(Settings > Privacy & security > Microphone). In WSL, confirm the mic is "
642
+ "bridged first, e.g. `PULSE_SERVER=unix:/mnt/wslg/PulseServer parec -d RDPSource --channels=1`."
643
+ )
644
+
645
+
562
646
  def _download_model_from_hf(language, status_queue=None):
563
647
  """Download the native Moonshine model for ``language`` from Hugging Face.
564
648
 
@@ -77,13 +77,11 @@ Skills are configured through the `agent-config` parameter in the YAML configura
77
77
  - **`skills_includelist`**: Array of skill names to include (whitelist)
78
78
  - **`skills_excludelist`**: Array of skill names to exclude (blacklist)
79
79
 
80
- > **Duplicate skill names**: When the same skill name is found in more than
81
- > one configured directory, only one copy is loaded. Directories are scanned
82
- > in priority order: local project directories (e.g. `./.cecli/skills`) first,
83
- > then other configured directories in the order they are listed, with home
84
- > directories (e.g. `~/skills` and the implicit `~/.cecli/skills` default)
85
- > last. If no `skills_paths` are configured, the only directory searched is
86
- > `~/.cecli/skills`.
80
+ > **Duplicate skill names**: When the same skill name is found in more than one configured directory, only one copy is loaded. Directories are scanned in priority order: local project directories (e.g. `./.cecli/skills` and `./.agents/skills`) first, then other configured directories in the order they are listed, with home directories (e.g. `~/skills`, `~/.cecli/skills`,and `~/.agents/skills`) last. If no `skills_paths` are configured, the directories searched are `~/.cecli/skills` and `~/.agents/skills`.
81
+ >
82
+ > Within the same locality, cecli's own `.cecli/skills` directories are scanned before the `.agents/skills` standard directories; local directories always take priority over global ones.
83
+ >
84
+ > Skills placed in the standard `.agents/skills` directories (`~/.agents/skills` globally or `{root}/.agents/skills` per project) are discovered automatically alongside cecli's own `.cecli/skills` directories.
87
85
 
88
86
  Complete configuration example in YAML configuration file (`.cecli.conf.yml` or `~/.cecli.conf.yml`):
89
87
 
@@ -45,10 +45,24 @@ and suggestions for improvement.
45
45
  | `hooks` | No | Per-agent hooks configuration (see [Hooks](hooks.html) for syntax) |
46
46
  | `agent-config` | No | Override `agent-config` property of cecli configuration with custom values for sub agent |
47
47
  | `auto_reap` | No | Controls whether this sub-agent is automatically reaped when the limit is reached. Defaults to `true` if omitted |
48
+ | `keep_files` | No | When `true`, the sub-agent inherits the parent's editable and read-only files instead of starting with an empty file context. Defaults to `false` if omitted |
48
49
 
49
50
  #### System Prompt
50
51
 
51
52
  Any content after the closing `---` of the front matter becomes the sub-agent's system prompt. This replaces the default main system prompt for that agent. You can use this to define the sub-agent's role, behavior, and constraints.
53
+ #### File Inheritance
54
+
55
+ By default, sub-agents start with an empty file context — only rules files are inherited from the parent. Set `keep_files: true` in the front matter to also inherit the parent's editable files, read-only files, and read-only stubs:
56
+
57
+ ```markdown
58
+ ---
59
+ name: reviewer
60
+ keep_files: true
61
+ ---
62
+ ```
63
+
64
+ This is useful for review or testing sub-agents that need the same working set of files as the primary agent.
65
+
52
66
 
53
67
  ### Configuration File
54
68
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 1.5.0rc15
3
+ Version: 1.5.1
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
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.5.1",
3
+ "distance": 0,
4
+ "node": "g17d4bc7df3f3d459d2917b007dc8320189cbcf15",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-09-12"
8
+ }