cecli-dev 0.100.12__tar.gz → 1.0.0rc1__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 (711) hide show
  1. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/PKG-INFO +1 -1
  2. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/_version.py +3 -3
  3. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/agent_coder.py +40 -4
  4. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/base_coder.py +6 -3
  5. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/agents/service.py +2 -2
  6. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/conversation/files.py +25 -11
  7. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/conversation/integration.py +4 -0
  8. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/grep_ast/grep_ast.py +15 -8
  9. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/hashline.py +2 -3
  10. cecli_dev-1.0.0rc1/cecli/helpers/hashpos/hashpos.py +247 -0
  11. cecli_dev-1.0.0rc1/cecli/helpers/orchestration/__init__.py +35 -0
  12. cecli_dev-1.0.0rc1/cecli/helpers/orchestration/environment.py +616 -0
  13. cecli_dev-1.0.0rc1/cecli/helpers/orchestration/security.py +101 -0
  14. cecli_dev-1.0.0rc1/cecli/helpers/orchestration/service.py +30 -0
  15. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/agent.yml +11 -11
  16. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/subagent.yml +11 -11
  17. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/__init__.py +2 -1
  18. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/_yield.py +13 -5
  19. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/command.py +55 -18
  20. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/command_interactive.py +11 -4
  21. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/delegate.py +15 -5
  22. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/edit_file.py +14 -17
  23. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/explore_code.py +17 -11
  24. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/git_branch.py +15 -6
  25. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/git_diff.py +11 -4
  26. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/git_log.py +9 -3
  27. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/git_remote.py +11 -4
  28. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/git_show.py +10 -3
  29. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/git_status.py +10 -3
  30. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/grep.py +15 -8
  31. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/ls.py +18 -7
  32. cecli_dev-1.0.0rc1/cecli/tools/orchestrate.py +75 -0
  33. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/read_file.py +614 -331
  34. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/resource_manager.py +14 -13
  35. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/thinking.py +4 -1
  36. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/undo_change.py +16 -6
  37. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/update_todo_list.py +16 -10
  38. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/utils/base_tool.py +10 -1
  39. cecli_dev-1.0.0rc1/cecli/tools/utils/responses.py +101 -0
  40. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/agent-mode.md +1 -1
  41. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/subagents.md +2 -2
  42. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli_dev.egg-info/PKG-INFO +1 -1
  43. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli_dev.egg-info/SOURCES.txt +7 -0
  44. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli_dev.egg-info/scm_file_list.json +7 -0
  45. cecli_dev-1.0.0rc1/cecli_dev.egg-info/scm_version.json +8 -0
  46. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/get_hashline.py +2 -0
  47. cecli_dev-1.0.0rc1/scripts/optimize_tokens.sh +113 -0
  48. cecli_dev-1.0.0rc1/tests/helpers/test_orchestration.py +718 -0
  49. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/test_delegate.py +20 -17
  50. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/test_finished.py +6 -5
  51. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_get_lines.py +7 -7
  52. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_git_branch.py +2 -2
  53. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_git_diff.py +1 -1
  54. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_grep.py +4 -6
  55. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_insert_block.py +5 -5
  56. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_read_range_execute.py +34 -34
  57. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_remove_mcp_tool.py +10 -10
  58. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_tools_load_mcp_tool.py +12 -12
  59. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/unit/test_load_mcp.py +14 -14
  60. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/unit/test_remove_mcp.py +12 -12
  61. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/unit/test_unit_load_mcp_tool.py +5 -4
  62. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/unit/test_unit_remove_mcp_tool.py +12 -12
  63. cecli_dev-0.100.12/cecli/helpers/hashpos/hashpos.py +0 -237
  64. cecli_dev-0.100.12/cecli_dev.egg-info/scm_version.json +0 -8
  65. cecli_dev-0.100.12/scripts/optimize_tokens.sh +0 -67
  66. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.dockerignore +0 -0
  67. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.flake8 +0 -0
  68. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.gitattributes +0 -0
  69. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  70. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/check_pypi_version.yml +0 -0
  71. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/docker-build-test.yml +0 -0
  72. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/docker-release.yml +0 -0
  73. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/issues.yml +0 -0
  74. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/pages.yml +0 -0
  75. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/pre-commit.yml +0 -0
  76. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/release.yml +0 -0
  77. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/ubuntu-tests.yml +0 -0
  78. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/windows-tests.yml +0 -0
  79. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.github/workflows/windows_check_pypi_version.yml +0 -0
  80. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.gitignore +0 -0
  81. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/.pre-commit-config.yaml +0 -0
  82. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/CHANGELOG.md +0 -0
  83. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/CNAME +0 -0
  84. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/CONTRIBUTING.md +0 -0
  85. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/HISTORY.md +0 -0
  86. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/LICENSE.txt +0 -0
  87. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/MANIFEST.in +0 -0
  88. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/README.md +0 -0
  89. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/Dockerfile +0 -0
  90. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/README.md +0 -0
  91. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/__init__.py +0 -0
  92. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/benchmark.py +0 -0
  93. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/benchmark_classic.py +0 -0
  94. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/clone-exercism.sh +0 -0
  95. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/cpp-test.sh +0 -0
  96. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/docker.sh +0 -0
  97. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/docker_build.sh +0 -0
  98. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/install-docker-ubuntu.sh +0 -0
  99. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/npm-test.sh +0 -0
  100. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/over_time.py +0 -0
  101. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/plot.sh +0 -0
  102. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/plots.py +0 -0
  103. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/problem_stats.py +0 -0
  104. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/prompts.py +0 -0
  105. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/refactor_tools.py +0 -0
  106. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/rsync.sh +0 -0
  107. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/rungrid.py +0 -0
  108. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/swe-bench-lite.txt +0 -0
  109. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/swe-bench.txt +0 -0
  110. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/swe_bench.py +0 -0
  111. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/test_benchmark.py +0 -0
  112. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/variations.1.sh +0 -0
  113. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/variations.2.sh +0 -0
  114. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/variations.3.sh +0 -0
  115. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/benchmark/variations.4.sh +0 -0
  116. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/__init__.py +0 -0
  117. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/__main__.py +0 -0
  118. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/args.py +0 -0
  119. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/args_formatter.py +0 -0
  120. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/change_tracker.py +0 -0
  121. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/__init__.py +0 -0
  122. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/architect_coder.py +0 -0
  123. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/ask_coder.py +0 -0
  124. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/chat_chunks.py +0 -0
  125. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/context_coder.py +0 -0
  126. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/copypaste_coder.py +0 -0
  127. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/editblock_coder.py +0 -0
  128. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/editblock_fenced_coder.py +0 -0
  129. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/editblock_func_coder.py +0 -0
  130. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  131. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/editor_editblock_coder.py +0 -0
  132. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/editor_whole_coder.py +0 -0
  133. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/hashline_coder.py +0 -0
  134. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/help_coder.py +0 -0
  135. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/patch_coder.py +0 -0
  136. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/search_replace.py +0 -0
  137. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/shell.py +0 -0
  138. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/single_wholefile_func_coder.py +0 -0
  139. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/sub_agent_coder.py +0 -0
  140. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/udiff_coder.py +0 -0
  141. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/udiff_simple.py +0 -0
  142. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/wholefile_coder.py +0 -0
  143. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/coders/wholefile_func_coder.py +0 -0
  144. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/__init__.py +0 -0
  145. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/add.py +0 -0
  146. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/agent.py +0 -0
  147. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/agent_model.py +0 -0
  148. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/architect.py +0 -0
  149. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/ask.py +0 -0
  150. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/chat_mode.py +0 -0
  151. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/clear.py +0 -0
  152. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/code.py +0 -0
  153. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/command_prefix.py +0 -0
  154. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/commit.py +0 -0
  155. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/compact.py +0 -0
  156. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/context.py +0 -0
  157. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/context_blocks.py +0 -0
  158. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/context_management.py +0 -0
  159. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/copy.py +0 -0
  160. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/copy_context.py +0 -0
  161. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/core.py +0 -0
  162. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/diff.py +0 -0
  163. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/drop.py +0 -0
  164. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/editor.py +0 -0
  165. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/editor_model.py +0 -0
  166. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/exclude_skill.py +0 -0
  167. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/exit.py +0 -0
  168. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/git.py +0 -0
  169. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/hashline.py +0 -0
  170. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/help.py +0 -0
  171. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/history_search.py +0 -0
  172. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/hooks.py +0 -0
  173. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/hot_reload.py +0 -0
  174. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/include_skill.py +0 -0
  175. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/lint.py +0 -0
  176. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/list_mcp.py +0 -0
  177. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/list_sessions.py +0 -0
  178. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/list_skills.py +0 -0
  179. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/load.py +0 -0
  180. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/load_hook.py +0 -0
  181. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/load_mcp.py +0 -0
  182. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/load_session.py +0 -0
  183. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/load_skill.py +0 -0
  184. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/ls.py +0 -0
  185. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/map.py +0 -0
  186. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/map_refresh.py +0 -0
  187. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/merge.py +0 -0
  188. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/model.py +0 -0
  189. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/models.py +0 -0
  190. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/multiline_mode.py +0 -0
  191. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/paste.py +0 -0
  192. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/quit.py +0 -0
  193. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/read_only.py +0 -0
  194. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/read_only_stub.py +0 -0
  195. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/reap_agent.py +0 -0
  196. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/reasoning_effort.py +0 -0
  197. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/remove_hook.py +0 -0
  198. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/remove_mcp.py +0 -0
  199. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/remove_skill.py +0 -0
  200. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/report.py +0 -0
  201. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/reset.py +0 -0
  202. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/rules.py +0 -0
  203. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/run.py +0 -0
  204. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/save.py +0 -0
  205. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/save_session.py +0 -0
  206. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/settings.py +0 -0
  207. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/spawn_agent.py +0 -0
  208. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/switch_agent.py +0 -0
  209. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/terminal_data/linux.keytab +0 -0
  210. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/terminal_setup.py +0 -0
  211. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/test.py +0 -0
  212. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/think_tokens.py +0 -0
  213. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/tokens.py +0 -0
  214. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/undo.py +0 -0
  215. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/utils/__init__.py +0 -0
  216. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/utils/base_command.py +0 -0
  217. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/utils/helpers.py +0 -0
  218. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/utils/registry.py +0 -0
  219. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/utils/save_load_manager.py +0 -0
  220. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/voice.py +0 -0
  221. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/weak_model.py +0 -0
  222. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/web.py +0 -0
  223. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/commands/workspace.py +0 -0
  224. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/deprecated_args.py +0 -0
  225. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/diffs.py +0 -0
  226. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/dump.py +0 -0
  227. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/editor.py +0 -0
  228. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/exceptions.py +0 -0
  229. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/format_settings.py +0 -0
  230. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/help.py +0 -0
  231. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/help_pats.py +0 -0
  232. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/__init__.py +0 -0
  233. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/agents/__init__.py +0 -0
  234. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/agents/config.py +0 -0
  235. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/background_commands.py +0 -0
  236. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/command_parser.py +0 -0
  237. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/conversation/__init__.py +0 -0
  238. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/conversation/base_message.py +0 -0
  239. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/conversation/manager.py +0 -0
  240. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/conversation/service.py +0 -0
  241. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/conversation/tags.py +0 -0
  242. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/conversation/utils.py +0 -0
  243. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/copypaste.py +0 -0
  244. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/coroutines.py +0 -0
  245. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/crypto.py +0 -0
  246. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/file_searcher.py +0 -0
  247. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/file_system/__init__.py +0 -0
  248. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/file_system/builders.py +0 -0
  249. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/file_system/ignore.py +0 -0
  250. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/file_system/ngram_index.py +0 -0
  251. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/file_system/service.py +0 -0
  252. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/file_system/trie_index.py +0 -0
  253. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/grep_ast/__init__.py +0 -0
  254. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/grep_ast/dump.py +0 -0
  255. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/grep_ast/main.py +0 -0
  256. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/grep_ast/parsers.py +0 -0
  257. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/grep_ast/tsl.py +0 -0
  258. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/hashpos/__init__.py +0 -0
  259. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  260. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/io_proxy.py +0 -0
  261. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/leak_detect.py +0 -0
  262. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/model_providers.py +0 -0
  263. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/monorepo/__init__.py +0 -0
  264. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/monorepo/config.py +0 -0
  265. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/monorepo/local_workspace.py +0 -0
  266. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/monorepo/project.py +0 -0
  267. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/monorepo/workspace.py +0 -0
  268. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/monorepo/worktree.py +0 -0
  269. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/nested.py +0 -0
  270. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/observations/__init__.py +0 -0
  271. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/observations/service.py +0 -0
  272. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/plugin_manager.py +0 -0
  273. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/profiler.py +0 -0
  274. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/requests.py +0 -0
  275. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/responses.py +0 -0
  276. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/similarity.py +0 -0
  277. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/skills.py +0 -0
  278. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/helpers/threading.py +0 -0
  279. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/history.py +0 -0
  280. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/hooks/__init__.py +0 -0
  281. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/hooks/base.py +0 -0
  282. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/hooks/helpers.py +0 -0
  283. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/hooks/integration.py +0 -0
  284. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/hooks/manager.py +0 -0
  285. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/hooks/registry.py +0 -0
  286. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/hooks/service.py +0 -0
  287. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/hooks/types.py +0 -0
  288. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/interruptible_input.py +0 -0
  289. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/io.py +0 -0
  290. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/linter.py +0 -0
  291. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/llm.py +0 -0
  292. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/main.py +0 -0
  293. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/mcp/__init__.py +0 -0
  294. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/mcp/manager.py +0 -0
  295. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/mcp/oauth.py +0 -0
  296. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/mcp/server.py +0 -0
  297. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/mcp/utils.py +0 -0
  298. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/mdstream.py +0 -0
  299. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/models.py +0 -0
  300. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/onboarding.py +0 -0
  301. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/__init__.py +0 -0
  302. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/architect.yml +0 -0
  303. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/ask.yml +0 -0
  304. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/base.yml +0 -0
  305. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/context.yml +0 -0
  306. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/copypaste.yml +0 -0
  307. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/editblock.yml +0 -0
  308. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/editblock_fenced.yml +0 -0
  309. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/editblock_func.yml +0 -0
  310. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/editor_diff_fenced.yml +0 -0
  311. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/editor_editblock.yml +0 -0
  312. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/editor_whole.yml +0 -0
  313. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/hashline.yml +0 -0
  314. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/help.yml +0 -0
  315. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/patch.yml +0 -0
  316. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/single_wholefile_func.yml +0 -0
  317. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/udiff.yml +0 -0
  318. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/udiff_simple.yml +0 -0
  319. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/utils/__init__.py +0 -0
  320. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/utils/registry.py +0 -0
  321. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/utils/system.py +0 -0
  322. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/wholefile.yml +0 -0
  323. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/prompts/wholefile_func.yml +0 -0
  324. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  325. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  326. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  327. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  328. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  329. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  330. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  331. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  332. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  333. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  334. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  335. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  336. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  337. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  338. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  339. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  340. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  341. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  342. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  343. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  344. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  345. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  346. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  347. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  348. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  349. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  350. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  351. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  352. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  353. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  354. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  355. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  356. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/README.md +0 -0
  357. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  358. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  359. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  360. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  361. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  362. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  363. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  364. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  365. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  366. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  367. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  368. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  369. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  370. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  371. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  372. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  373. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  374. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  375. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  376. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  377. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  378. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  379. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  380. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  381. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  382. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  383. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  384. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/reasoning_tags.py +0 -0
  385. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/repo.py +0 -0
  386. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/repomap.py +0 -0
  387. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/report.py +0 -0
  388. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/resources/__init__.py +0 -0
  389. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/resources/model-metadata.json +0 -0
  390. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/resources/model-settings.yml +0 -0
  391. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/resources/providers.json +0 -0
  392. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/run_cmd.py +0 -0
  393. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/scrape.py +0 -0
  394. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/sendchat.py +0 -0
  395. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/sessions.py +0 -0
  396. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/special.py +0 -0
  397. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/utils/__init__.py +0 -0
  398. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/utils/helpers.py +0 -0
  399. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/utils/output.py +0 -0
  400. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/utils/registry.py +0 -0
  401. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/validations/__init__.py +0 -0
  402. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tools/validations/validations.py +0 -0
  403. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/__init__.py +0 -0
  404. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/app.py +0 -0
  405. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/io.py +0 -0
  406. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/styles.tcss +0 -0
  407. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/__init__.py +0 -0
  408. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/completion_bar.py +0 -0
  409. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/file_list.py +0 -0
  410. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/footer.py +0 -0
  411. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/input_area.py +0 -0
  412. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/input_container.py +0 -0
  413. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/key_hints.py +0 -0
  414. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/output.py +0 -0
  415. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/status_bar.py +0 -0
  416. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/widgets/subagent_pills.py +0 -0
  417. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/tui/worker.py +0 -0
  418. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/urls.py +0 -0
  419. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/utils.py +0 -0
  420. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/versioncheck.py +0 -0
  421. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/voice.py +0 -0
  422. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/waiting.py +0 -0
  423. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/watch.py +0 -0
  424. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/watch_prompts.py +0 -0
  425. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/Gemfile +0 -0
  426. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/blame.md +0 -0
  427. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/get-started.md +0 -0
  428. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/help-tip.md +0 -0
  429. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/help.md +0 -0
  430. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/install.md +0 -0
  431. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/keys.md +0 -0
  432. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/model-warnings.md +0 -0
  433. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/multi-line.md +0 -0
  434. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/python-m-aider.md +0 -0
  435. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/recording.css +0 -0
  436. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/recording.md +0 -0
  437. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_includes/works-best.md +0 -0
  438. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_features.scss +0 -0
  439. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_footer.scss +0 -0
  440. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_hero.scss +0 -0
  441. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_info.scss +0 -0
  442. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_layout.scss +0 -0
  443. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_reset.scss +0 -0
  444. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_testimonials.scss +0 -0
  445. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_typography.scss +0 -0
  446. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/_variables.scss +0 -0
  447. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/custom/custom.scss +0 -0
  448. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/_sass/global-overrides.scss +0 -0
  449. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/adv-model-settings.md +0 -0
  450. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/api-keys.md +0 -0
  451. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/conf.md +0 -0
  452. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/custom-commands.md +0 -0
  453. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  454. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/dotenv.md +0 -0
  455. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/editor.md +0 -0
  456. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/hooks.md +0 -0
  457. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/mcp.md +0 -0
  458. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/model-aliases.md +0 -0
  459. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/model-configuration.md +0 -0
  460. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/model-providers.md +0 -0
  461. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/options.md +0 -0
  462. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/reasoning.md +0 -0
  463. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/retries.md +0 -0
  464. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/security.md +0 -0
  465. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/skills.md +0 -0
  466. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/tui.md +0 -0
  467. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config/workspaces.md +0 -0
  468. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/config.md +0 -0
  469. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/git.md +0 -0
  470. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/index.md +0 -0
  471. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/install/docker.md +0 -0
  472. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/install.md +0 -0
  473. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/languages.md +0 -0
  474. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  475. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/legal/privacy.md +0 -0
  476. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/anthropic.md +0 -0
  477. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/azure.md +0 -0
  478. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/bedrock.md +0 -0
  479. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/cohere.md +0 -0
  480. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/deepseek.md +0 -0
  481. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/gemini.md +0 -0
  482. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/github.md +0 -0
  483. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/groq.md +0 -0
  484. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/lm-studio.md +0 -0
  485. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/ollama.md +0 -0
  486. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/openai-compat.md +0 -0
  487. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/openai.md +0 -0
  488. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/openrouter.md +0 -0
  489. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/other.md +0 -0
  490. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/vertex.md +0 -0
  491. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/warnings.md +0 -0
  492. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms/xai.md +0 -0
  493. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/llms.md +0 -0
  494. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/more/analytics.md +0 -0
  495. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/more/edit-formats.md +0 -0
  496. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/more/infinite-output.md +0 -0
  497. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/more-info.md +0 -0
  498. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/repomap.md +0 -0
  499. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/scripting.md +0 -0
  500. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  501. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  502. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/troubleshooting/imports.md +0 -0
  503. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  504. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/troubleshooting/support.md +0 -0
  505. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  506. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  507. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/troubleshooting.md +0 -0
  508. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/commands.md +0 -0
  509. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/conventions.md +0 -0
  510. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/copypaste.md +0 -0
  511. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/images-urls.md +0 -0
  512. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/lint-test.md +0 -0
  513. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/modes.md +0 -0
  514. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/not-code.md +0 -0
  515. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/notifications.md +0 -0
  516. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/optional.md +0 -0
  517. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/sessions.md +0 -0
  518. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/tips.md +0 -0
  519. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/voice.md +0 -0
  520. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage/watch.md +0 -0
  521. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/docs/usage.md +0 -0
  522. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli/website/share/index.md +0 -0
  523. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli_dev.egg-info/dependency_links.txt +0 -0
  524. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli_dev.egg-info/entry_points.txt +0 -0
  525. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli_dev.egg-info/requires.txt +0 -0
  526. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/cecli_dev.egg-info/top_level.txt +0 -0
  527. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/docker/Dockerfile +0 -0
  528. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  529. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/pyproject.toml +0 -0
  530. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/pytest.ini +0 -0
  531. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/common-constraints.txt +0 -0
  532. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/requirements-dev.in +0 -0
  533. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/requirements-dev.txt +0 -0
  534. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/requirements-help.in +0 -0
  535. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/requirements-help.txt +0 -0
  536. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/requirements-playwright.in +0 -0
  537. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/requirements-playwright.txt +0 -0
  538. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/requirements.in +0 -0
  539. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements/tree-sitter.in +0 -0
  540. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/requirements.txt +0 -0
  541. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/30k-image.py +0 -0
  542. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/Dockerfile.jekyll +0 -0
  543. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/__init__.py +0 -0
  544. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/blame.py +0 -0
  545. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/clean_metadata.py +0 -0
  546. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/compare-message-history.py +0 -0
  547. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/cost_analyzer.py +0 -0
  548. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/cost_calculator.py +0 -0
  549. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/dl_icons.py +0 -0
  550. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/filter-chat-mode.js +0 -0
  551. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/generate_providers.py +0 -0
  552. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/get_contributor_list.js +0 -0
  553. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/history_prompts.py +0 -0
  554. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/homepage.py +0 -0
  555. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/issues.py +0 -0
  556. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/jekyll_build.sh +0 -0
  557. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/jekyll_run.sh +0 -0
  558. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/logo_svg.py +0 -0
  559. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/pip-compile.sh +0 -0
  560. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/recording_audio.py +0 -0
  561. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/redact-cast.py +0 -0
  562. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/rename_to_cecli.py +0 -0
  563. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/tmux_record.sh +0 -0
  564. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/tsl_pack_langs.py +0 -0
  565. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/update-blame.sh +0 -0
  566. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/update-docs.sh +0 -0
  567. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/update-history.py +0 -0
  568. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/versionbump.py +0 -0
  569. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/scripts/yank-old-versions.py +0 -0
  570. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/setup.cfg +0 -0
  571. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/shim.pyproject.toml +0 -0
  572. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/__init__.py +0 -0
  573. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/__init__.py +0 -0
  574. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/conftest.py +0 -0
  575. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_aws_credentials.py +0 -0
  576. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_background_commands.py +0 -0
  577. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_coder.py +0 -0
  578. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_commands.py +0 -0
  579. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_custom_commands.py +0 -0
  580. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_deprecated.py +0 -0
  581. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_editblock.py +0 -0
  582. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_editor.py +0 -0
  583. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_exceptions.py +0 -0
  584. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_find_or_blocks.py +0 -0
  585. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_hashline.py +0 -0
  586. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_hashline_closure.py +0 -0
  587. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_history.py +0 -0
  588. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_io.py +0 -0
  589. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_linter.py +0 -0
  590. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_main.py +0 -0
  591. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_model_info_manager.py +0 -0
  592. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_model_provider_manager.py +0 -0
  593. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_models.py +0 -0
  594. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_onboarding.py +0 -0
  595. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_plugin_manager.py +0 -0
  596. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_prompts.py +0 -0
  597. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_reasoning.py +0 -0
  598. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_repo.py +0 -0
  599. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_repomap.py +0 -0
  600. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_run_cmd.py +0 -0
  601. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_sanity_check_repo.py +0 -0
  602. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_scripting.py +0 -0
  603. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_sendchat.py +0 -0
  604. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_session_args.py +0 -0
  605. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_session_crypto.py +0 -0
  606. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_sessions.py +0 -0
  607. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_sessions_manager.py +0 -0
  608. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_skills.py +0 -0
  609. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_special.py +0 -0
  610. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_ssl_verification.py +0 -0
  611. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_udiff.py +0 -0
  612. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_urls.py +0 -0
  613. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_voice.py +0 -0
  614. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_watch.py +0 -0
  615. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/basic/test_wholefile.py +0 -0
  616. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/coders/test_coder_switching.py +0 -0
  617. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/coders/test_copypaste_coder.py +0 -0
  618. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/commands/test_compaction.py +0 -0
  619. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/commands/test_switch_agent.py +0 -0
  620. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/conftest.py +0 -0
  621. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/conversations/test_conversation_integration.py +0 -0
  622. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/conversations/test_conversation_system.py +0 -0
  623. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  624. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/chat-history.md +0 -0
  625. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/arduino/test.ino +0 -0
  626. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/bash/test.sh +0 -0
  627. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/c/test.c +0 -0
  628. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/chatito/test.chatito +0 -0
  629. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/clojure/test.clj +0 -0
  630. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  631. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/cpp/test.cpp +0 -0
  632. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/csharp/test.cs +0 -0
  633. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/d/test.d +0 -0
  634. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/dart/test.dart +0 -0
  635. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/elisp/test.el +0 -0
  636. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/elixir/test.ex +0 -0
  637. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/elm/test.elm +0 -0
  638. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/gleam/test.gleam +0 -0
  639. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/go/test.go +0 -0
  640. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/haskell/test.hs +0 -0
  641. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/hcl/test.tf +0 -0
  642. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/java/test.java +0 -0
  643. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/javascript/test.js +0 -0
  644. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/kotlin/test.kt +0 -0
  645. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/lua/test.lua +0 -0
  646. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/matlab/test.m +0 -0
  647. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/ocaml/test.ml +0 -0
  648. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  649. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/php/test.php +0 -0
  650. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/pony/test.pony +0 -0
  651. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/properties/test.properties +0 -0
  652. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/python/test.py +0 -0
  653. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/ql/test.ql +0 -0
  654. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/r/test.r +0 -0
  655. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/racket/test.rkt +0 -0
  656. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/ruby/test.rb +0 -0
  657. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/rust/test.rs +0 -0
  658. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/scala/test.scala +0 -0
  659. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/solidity/test.sol +0 -0
  660. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/swift/test.swift +0 -0
  661. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/tsx/test.tsx +0 -0
  662. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/typescript/test.ts +0 -0
  663. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/udev/test.rules +0 -0
  664. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/languages/zig/test.zig +0 -0
  665. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/sample-code-base/sample.js +0 -0
  666. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/sample-code-base/sample.py +0 -0
  667. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  668. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/watch.js +0 -0
  669. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/watch.lisp +0 -0
  670. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/watch.py +0 -0
  671. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/fixtures/watch_question.js +0 -0
  672. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/help/test_help.py +0 -0
  673. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/helpers/monorepo/LOCAL_WORKSPACE.md +0 -0
  674. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/helpers/monorepo/test_config.py +0 -0
  675. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/helpers/monorepo/test_config_active.py +0 -0
  676. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/helpers/monorepo/test_ignore_logic.py +0 -0
  677. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/helpers/monorepo/test_local_workspace.py +0 -0
  678. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/helpers/monorepo/test_repomap_workspace.py +0 -0
  679. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/helpers/monorepo/test_workspace.py +0 -0
  680. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/helpers/observations/test_observation_service.py +0 -0
  681. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/hooks/__init__.py +0 -0
  682. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/hooks/test_base.py +0 -0
  683. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/hooks/test_manager.py +0 -0
  684. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/hooks/test_registry.py +0 -0
  685. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/integration/test_agent_mcp_management.py +0 -0
  686. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/integration/test_mcp_management.py +0 -0
  687. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/__init__.py +0 -0
  688. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/conftest.py +0 -0
  689. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/mock_server.py +0 -0
  690. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/test_keepalive_concurrency.py +0 -0
  691. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/test_keepalive_config.py +0 -0
  692. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/test_keepalive_integration.py +0 -0
  693. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/test_keepalive_logging.py +0 -0
  694. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/test_keepalive_resilience.py +0 -0
  695. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/test_keepalive_unit.py +0 -0
  696. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/mcp/test_manager.py +0 -0
  697. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/scrape/test_playwright_disable.py +0 -0
  698. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/scrape/test_scrape.py +0 -0
  699. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/__init__.py +0 -0
  700. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/conftest.py +0 -0
  701. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/test_commands.py +0 -0
  702. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/test_config.py +0 -0
  703. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/test_io_proxy.py +0 -0
  704. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/test_service.py +0 -0
  705. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/subagents/test_sub_agent_coder.py +0 -0
  706. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/test_requests.py +0 -0
  707. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_extractions.py +0 -0
  708. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_registry.py +0 -0
  709. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/test_tool_arguments.py +0 -0
  710. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tools/validations.py +0 -0
  711. {cecli_dev-0.100.12 → cecli_dev-1.0.0rc1}/tests/tui/test_app.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 0.100.12
3
+ Version: 1.0.0rc1
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 = '0.100.12'
22
- __version_tuple__ = version_tuple = (0, 100, 12)
21
+ __version__ = version = '1.0.0rc1'
22
+ __version_tuple__ = version_tuple = (1, 0, 0, 'rc1')
23
23
 
24
- __commit_id__ = commit_id = 'gc92e7dc31'
24
+ __commit_id__ = commit_id = 'ge71e8173f'
@@ -98,7 +98,7 @@ class AgentCoder(Coder):
98
98
  self.skip_cli_confirmations = False
99
99
  self.agent_finished = False
100
100
  self.agent_config = self._get_agent_config()
101
- self.max_sub_agents = self.agent_config.get("max_sub_agents", 3)
101
+ self.max_sub_agents = self.agent_config.get("max_sub_agents", 30)
102
102
  self.sub_agent_paths = self.agent_config.get("subagent_paths", [])
103
103
  self._setup_agent()
104
104
 
@@ -167,6 +167,11 @@ class AgentCoder(Coder):
167
167
  config["hot_reload"] = nested.getter(config, "hot_reload", False)
168
168
  config["diff_colors"] = nested.getter(config, "diff_colors", True)
169
169
  config["allow_nested_delegation"] = nested.getter(config, "allow_nested_delegation", False)
170
+ config["allow_orchestration"] = nested.getter(config, "allow_orchestration", True)
171
+ config["max_sub_agents"] = nested.getter(config, "max_sub_agents", 30)
172
+
173
+ if config["max_sub_agents"] == -1:
174
+ config["max_sub_agents"] = 2 ^ 31 - 1
170
175
 
171
176
  config["tools_paths"] = nested.getter(config, ["tools_paths", "tool_paths"], [])
172
177
  config["tools_includelist"] = nested.getter(
@@ -184,6 +189,7 @@ class AgentCoder(Coder):
184
189
  config["servers_excludelist"] = nested.getter(
185
190
  config, ["servers_excludelist", "servers_blacklist"], []
186
191
  )
192
+
187
193
  config["include_context_blocks"] = set(
188
194
  nested.getter(
189
195
  config,
@@ -203,6 +209,10 @@ class AgentCoder(Coder):
203
209
  )
204
210
  config["exclude_context_blocks"] = set(nested.getter(config, "exclude_context_blocks", []))
205
211
 
212
+ if config["allow_orchestration"]:
213
+ config["include_context_blocks"].add("orchestration")
214
+ config["exclude_context_blocks"].discard("orchestration")
215
+
206
216
  self.large_file_token_threshold = config["large_file_token_threshold"]
207
217
  self.skip_cli_confirmations = config["skip_cli_confirmations"]
208
218
  self.hot_reload_enabled = config["hot_reload"]
@@ -292,6 +302,7 @@ class AgentCoder(Coder):
292
302
 
293
303
  async def _execute_mcp_tool(self, server, tool_name, params):
294
304
  """Helper to execute a single MCP tool call, created from legacy format."""
305
+ from cecli.tools.utils.responses import ToolResponse
295
306
 
296
307
  async def _exec_async():
297
308
  function_dict = {"name": tool_name, "arguments": json.dumps(params)}
@@ -331,9 +342,14 @@ class AgentCoder(Coder):
331
342
 
332
343
  result, interrupted = await interruptible(_exec_async(), self.interrupt_event)
333
344
 
345
+ response = ToolResponse(tool_name)
334
346
  if interrupted:
335
- return "Tool execution interrupted by user."
336
- return result
347
+ response.append_error("Tool execution interrupted by user.")
348
+ elif isinstance(result, str) and result.startswith("Error executing tool call"):
349
+ response.append_error(result)
350
+ else:
351
+ response.append_result(result)
352
+ return response
337
353
 
338
354
  def _calculate_context_block_tokens(self, force=False):
339
355
  """
@@ -364,6 +380,7 @@ class AgentCoder(Coder):
364
380
  "servers",
365
381
  "sub_agents",
366
382
  "loaded_skills",
383
+ "orchestration",
367
384
  ]
368
385
  for block_type in block_types:
369
386
  if block_type in self.allowed_context_blocks:
@@ -400,6 +417,8 @@ class AgentCoder(Coder):
400
417
  content = self.get_servers_context()
401
418
  elif block_name == "loaded_skills":
402
419
  content = self.get_skills_content()
420
+ elif block_name == "orchestration":
421
+ content = self.get_orchestration_context()
403
422
  elif block_name == "sub_agents" and (
404
423
  not self.parent_uuid or self.agent_config.get("allow_nested_delegation", False)
405
424
  ):
@@ -878,7 +897,7 @@ class AgentCoder(Coder):
878
897
  {
879
898
  "role": "tool",
880
899
  "tool_call_id": tool_call.id,
881
- "content": result,
900
+ "content": str(result),
882
901
  }
883
902
  )
884
903
  return tool_responses
@@ -1582,6 +1601,23 @@ Todo list does not exist. Please update it with the `UpdateTodoList` tool.</cont
1582
1601
  self.io.tool_error(f"Error generating servers context: {str(e)}")
1583
1602
  return None
1584
1603
 
1604
+ def get_orchestration_context(self):
1605
+ """
1606
+ Generate a context block for the Orchestrate tool if allowed.
1607
+
1608
+ Only returns content if ``allow_orchestration`` is enabled in the agent config.
1609
+ """
1610
+ if not self.use_enhanced_context:
1611
+ return None
1612
+
1613
+ try:
1614
+ from cecli.helpers.orchestration import build_orchestration_context_block
1615
+
1616
+ return build_orchestration_context_block(self.agent_config)
1617
+ except Exception as e:
1618
+ self.io.tool_error(f"Error generating orchestration context: {str(e)}")
1619
+ return None
1620
+
1585
1621
  def get_sub_agents_context(self):
1586
1622
  """
1587
1623
  Generate a context block for registered sub-agents.
@@ -4239,9 +4239,12 @@ class Coder(metaclass=UsageMeta):
4239
4239
  if tokens < warn_number_of_tokens:
4240
4240
  return
4241
4241
 
4242
- self.io.tool_warning("Warning: it's best to only add files that need changes to the chat.")
4243
- self.io.tool_warning(urls.edit_errors)
4244
- self.warning_given = True
4242
+ if self.context_compaction_current_ratio > 0.5:
4243
+ self.io.tool_warning(
4244
+ "Warning: it's best to only add files that need changes to the chat."
4245
+ )
4246
+ self.io.tool_warning(urls.edit_errors)
4247
+ self.warning_given = True
4245
4248
 
4246
4249
  async def prepare_to_edit(self, edits):
4247
4250
  res = []
@@ -228,7 +228,7 @@ class AgentService:
228
228
  @property
229
229
  def max_sub_agents(self) -> int:
230
230
  """Return the max number of sub-agents allowed for this coder."""
231
- return getattr(self.coder, "max_sub_agents", 3)
231
+ return getattr(self.coder, "max_sub_agents", 30)
232
232
 
233
233
  # ------------------------------------------------------------------ #
234
234
  # Internal helpers
@@ -495,7 +495,7 @@ class AgentService:
495
495
  )
496
496
 
497
497
  new_coder = await Coder.create(**kwargs)
498
- new_coder.max_sub_agents = getattr(self.coder, "max_sub_agents", 3)
498
+ new_coder.max_sub_agents = getattr(self.coder, "max_sub_agents", 30)
499
499
  # IOProxy wrapping is handled by base_coder.py's Coder.__init__
500
500
 
501
501
  # Re-acquire the lock to register — we must re-check max agents since
@@ -116,9 +116,7 @@ class ConversationFiles:
116
116
  try:
117
117
  content = coder.io.read_text(abs_fname, silent=True)
118
118
  if coder.hashlines:
119
- content, json_str = hashline_formatted(
120
- content, file_name=abs_fname, partial=False, expanded=False
121
- )
119
+ content, json_str = hashline_formatted(content, file_name=abs_fname)
122
120
  self._file_json_contents[abs_fname] = json_str
123
121
  except Exception:
124
122
  content = "" # Empty content for unreadable files
@@ -236,9 +234,7 @@ class ConversationFiles:
236
234
  try:
237
235
  current_content = coder.io.read_text(abs_fname, silent=True)
238
236
  if coder.hashlines:
239
- current_content, _ = hashline_formatted(
240
- current_content, file_name=abs_fname, partial=False, expanded=False
241
- )
237
+ current_content, _ = hashline_formatted(current_content, file_name=abs_fname)
242
238
  except Exception:
243
239
  return None
244
240
 
@@ -607,12 +603,30 @@ class ConversationFiles:
607
603
  ):
608
604
  continue
609
605
 
610
- _, json_str = hashline_formatted(
611
- range_content,
606
+ # Hash the full content first so that adjacent-line hashes
607
+ # are computed with proper surrounding context from the complete
608
+ # file, then extract only the range's lines. This ensures content
609
+ # IDs are consistent with other tools (e.g., ReadFile) that hash
610
+ # the full file content.
611
+ full_prefixed, _ = hashline_formatted(
612
+ content,
612
613
  file_name=abs_fname,
613
- partial=True,
614
- expanded=False,
615
- start_line=start_line_adj,
614
+ total_lines=len(content_lines),
615
+ start_line=1,
616
+ )
617
+ prefixed_lines = full_prefixed.splitlines()
618
+ range_prefixed_lines = prefixed_lines[start_line_adj - 1 : end_line_adj]
619
+ range_prefixed_content = "\n".join(range_prefixed_lines)
620
+
621
+ json_str = json.dumps(
622
+ {
623
+ "file_name": abs_fname,
624
+ "start_line": start_line_adj,
625
+ "end_line": end_line_adj,
626
+ "total_lines": len(content_lines),
627
+ "prefixed_contents": range_prefixed_content,
628
+ },
629
+ ensure_ascii=False,
616
630
  )
617
631
  results.append(json.loads(json_str))
618
632
 
@@ -809,6 +809,10 @@ class ConversationChunks:
809
809
  block = coder._generate_context_block("servers")
810
810
  if block:
811
811
  message_blocks["servers"] = block
812
+ if "orchestration" in coder.allowed_context_blocks:
813
+ block = coder._generate_context_block("orchestration")
814
+ if block:
815
+ message_blocks["orchestration"] = block
812
816
 
813
817
  # Add static blocks to conversation manager with stable hash keys
814
818
  for block_type, block_content in message_blocks.items():
@@ -214,17 +214,24 @@ class TreeContext:
214
214
  # reset
215
215
  output += "\033[0m\n"
216
216
 
217
- dots = not (0 in self.show_lines)
217
+ # dots = not (0 in self.show_lines)
218
+ in_gap = False
219
+ gap_start = -1
218
220
  for i, line in enumerate(self.lines):
219
221
  if i not in self.show_lines:
220
- if dots:
221
- if self.line_number:
222
- output += "...⋮...\n"
223
- else:
224
- output += "⋮\n"
225
- dots = False
222
+ if not in_gap:
223
+ in_gap = True
224
+ gap_start = i
226
225
  continue
227
226
 
227
+ if in_gap:
228
+ omitted = i - gap_start
229
+ if self.line_number:
230
+ output += f"...⋮... [{omitted} lines omitted (L{gap_start + 1}–L{i})]\n"
231
+ else:
232
+ output += f"⋮ [{omitted} lines omitted]\n"
233
+ in_gap = False
234
+
228
235
  if i in self.lines_of_interest and self.mark_lois:
229
236
  spacer = "█"
230
237
  if self.color:
@@ -237,7 +244,7 @@ class TreeContext:
237
244
  line_output = f"{i + 1: 3}" + line_output
238
245
  output += line_output + "\n"
239
246
 
240
- dots = True
247
+ # dots = True
241
248
 
242
249
  return output
243
250
 
@@ -30,7 +30,7 @@ def hashline(text: str, start_line: int = 1) -> str:
30
30
 
31
31
 
32
32
  def hashline_formatted(
33
- text: str, file_name: str, partial: bool, expanded: bool, start_line: int = 1
33
+ text: str, file_name: str, total_lines: int = 0, start_line: int = 1
34
34
  ) -> tuple[str, str]:
35
35
  """
36
36
  Generate hashline-formatted content and return it as both raw hashline text and a JSON structure.
@@ -55,8 +55,7 @@ def hashline_formatted(
55
55
  "file_name": file_name,
56
56
  "start_line": start_line,
57
57
  "end_line": end_line,
58
- "partial": partial,
59
- "expanded": expanded,
58
+ "total_lines": total_lines if total_lines else hp.total,
60
59
  "prefixed_contents": prefixed,
61
60
  }
62
61
 
@@ -0,0 +1,247 @@
1
+ import re
2
+
3
+ import xxhash
4
+
5
+
6
+ class HashPos:
7
+ # 1024-character Base1024 corpus
8
+ B1024 = (
9
+ "0123456789ABCDEFGHIJ"
10
+ "KLMNOPQRSTUVWXYZabcd"
11
+ "efghijklmnopqrstuvwx"
12
+ "yz¡£§©«®°±·»¿×ßæðøĐđ"
13
+ "ıłœəαβγδεηθικλμνοπρς"
14
+ "στυφχωАБВГДЕЗИКЛМНОП"
15
+ "РСТУФЦЧЭЯабвгдежзикл"
16
+ "мнопрстуфхцчшщъыьэюя"
17
+ "іאבדהוחילמנערשת،ابةت"
18
+ "ثجحخدذرزسشصضطظعغفقكل"
19
+ "منهوىيپکگیकतनपमरलसहন"
20
+ "রกขคงจชณดตถทนบปผพมยร"
21
+ "ลวสหอะาเแใไ‐–—―‘’“”„"
22
+ "†•′※€←→−─│█■●★☆♥♪、。《"
23
+ "》「」『』【】〜あいうえおかきくけこさし"
24
+ "すせそたちっつてとなにのはまみめもやよら"
25
+ "りるれろわをんアィイウェエオカキクコサシ"
26
+ "スセタチッテトナニフマムメャュョラリルレ"
27
+ "ロン・ー一万三上下不与专业东两个中为主么"
28
+ "义之也书了事二于五些交产享京人亿今介从他"
29
+ "付代以们件价任份企会传但位体何余作你使例"
30
+ "供価保信修倍值停像元先入全公共关其具内円"
31
+ "册再写出击分列则初利别到制前力功加务动動"
32
+ "包化北区十午华单南即历原去县参及友反发取"
33
+ "变口只可台右号司合同名后向否含听启告员周"
34
+ "命和品哈商問器四回因国图土在地场型城基報"
35
+ "場增声处备复外多大天失头女好如始子字存学"
36
+ "安完定实客家容密对导将小少尔就局展山岁州"
37
+ "工左已市布常平年并广序库应店度建开式引张"
38
+ "当录形影径待後得微心必志态思性总息您情意"
39
+ "感成我或户所手打技投报拉持指按换据排接推"
40
+ "提播支收改放政效数整文料断新方族无日时明"
41
+ "易星是時景更最月有服期木未本机权束条来板"
42
+ "构果查标样格案模次款止正此步歳段每比民気"
43
+ "水求江没治法注活流海消清游源火点無然片版"
44
+ "物特率环现球理生用由电男画界番登的目直相"
45
+ "省看県真知码确示社票私种科秒称移程税空立"
46
+ "站章端笑符第等简算管米类系素索约级线组经"
47
+ "结给统编网置美老考者而联能自至色节英藏行"
48
+ "表装西要見见规视角解言計記話読计认议记论"
49
+ "设证评试话该语误说请读调象责败货费资起超"
50
+ "路身车转载辑输达过运近还这进连述退送选通"
51
+ "速造連道部都配释里重量金错长開間関门闭问"
52
+ "间队阳陆限院除雅集雷需非面音页项题首验高"
53
+ "黑가간개거게결경고공과구그글기나내는능니"
54
+ "다당대도동되된드든들디라래러력로록료류른"
55
+ "를름리만메면명목문미버번보복부분비사산상"
56
+ "색생서성세션소수스습시식신아야어에여열오"
57
+ "와요용우운원위으은을음의이인일임입자작장"
58
+ "재적전정제져조주지진째체출치크태터턴트하"
59
+ "한할함해호화환회�ª²³´µ¹º¼½ÀÁ"
60
+ "ÂÃÄÇ"
61
+ )
62
+
63
+ # We escape every individual character just to be completely safe from regex metacharacters
64
+ _B1024_REGEX_SET = "".join(re.escape(c) for c in B1024)
65
+
66
+ # Regex pattern for HashPos format: {3-char-hash}::
67
+ HASH_PREFIX_RE = re.compile(rf"^([{_B1024_REGEX_SET}]{{3}})::")
68
+ # Regex for normalization: 3 hash chars optionally followed by '::'
69
+ NORMALIZE_RE = re.compile(rf"^([{_B1024_REGEX_SET}]{{3}})(?:)?::")
70
+ # Regex for a raw 3-character fragment
71
+ FRAGMENT_RE = re.compile(rf"^[{_B1024_REGEX_SET}]{{3}}$")
72
+
73
+ # Looser pattern: any 3 chars with at least one non-ASCII followed by ::
74
+ _LOOSE_PREFIX_RE = re.compile(r"^(?=.{0,2}[^\x00-\x7f]).{3}::")
75
+
76
+ def __init__(self, source_text: str = ""):
77
+ self.lines = source_text.splitlines()
78
+ self.total = len(self.lines)
79
+
80
+ def _get_line_hash(self, text: str) -> int:
81
+ """
82
+ Creates a 20-bit digest of the current line's text.
83
+ """
84
+ return xxhash.xxh3_64_intdigest(text.encode("utf-8")) & 0xFFFFF
85
+
86
+ def _get_adjacent_hash(self, line_idx: int) -> int:
87
+ """
88
+ Creates a 10-bit digest of specific surrounding lines at offsets
89
+ -7, -5, -3, -2, +2, +3, +5, +7 to provide local context.
90
+ """
91
+ offsets = [-7, -5, -3, -2, 2, 3, 5, 7]
92
+ adjacent_lines = []
93
+
94
+ for offset in offsets:
95
+ target_idx = line_idx + offset
96
+ if 0 <= target_idx < self.total:
97
+ adjacent_lines.append(self.lines[target_idx])
98
+
99
+ context = "\n".join(adjacent_lines)
100
+ return xxhash.xxh3_64_intdigest(context.encode("utf-8")) & 0x3FF
101
+
102
+ def generate_private_id(self, text: str) -> str:
103
+ """
104
+ Generates a fast 12-bit (3 hex chars) hash based purely on the line text.
105
+ """
106
+ bits = xxhash.xxh3_64_intdigest(text.encode("utf-8")) & 0xFFF
107
+ return f"{bits:03x}"
108
+
109
+ def generate_public_id(self, text: str, line_idx: int) -> str:
110
+ """
111
+ Generates a 3-character Base1024 ID.
112
+ Layout: [20-bit Line Hash] [10-bit Adjacent Hash] = 30 bits total.
113
+ Each Base1024 character holds 10 bits.
114
+ """
115
+ line_hash = self._get_line_hash(text)
116
+ adj_hash = self._get_adjacent_hash(line_idx)
117
+
118
+ # Pack the 30-bit integer
119
+ packed = (line_hash << 10) | adj_hash
120
+
121
+ res = ""
122
+ for _ in range(3):
123
+ # Extract 10 bits at a time using modulo 1024
124
+ res += self.B1024[packed % 1024]
125
+ packed //= 1024
126
+ return res
127
+
128
+ def unpack_public_id(self, public_id: str) -> tuple[int, int]:
129
+ """
130
+ Reverses the Public ID back into its (Line Hash, Adjacent Hash) values.
131
+ """
132
+ packed = 0
133
+ for i, char in enumerate(public_id):
134
+ # Each character restores 10 bits
135
+ packed |= self.B1024.index(char) << (10 * i)
136
+
137
+ # Extract bits based on layout
138
+ line_hash = (packed >> 10) & 0xFFFFF
139
+ adj_hash = packed & 0x3FF
140
+
141
+ return line_hash, adj_hash
142
+
143
+ def format_content(self, use_private_ids: bool = False, start_line: int = 1) -> str:
144
+ formatted_lines = []
145
+ for i, line in enumerate(self.lines):
146
+ prefix = (
147
+ self.generate_private_id(line)
148
+ if use_private_ids
149
+ else self.generate_public_id(line, i)
150
+ )
151
+ if line.strip():
152
+ formatted_lines.append(f"{prefix}::{line}")
153
+ else:
154
+ formatted_lines.append(f"{line}")
155
+
156
+ return "\n".join(formatted_lines)
157
+
158
+ def resolve_to_lines(self, public_id: str, start_line: int = 1) -> list[int]:
159
+ target_line_hash, target_adj_hash = self.unpack_public_id(public_id)
160
+ matches = []
161
+
162
+ # 1. Primary Filter: Find all lines whose 20-bit line content hash matches
163
+ for i, line in enumerate(self.lines):
164
+ if self._get_line_hash(line) == target_line_hash:
165
+ matches.append(i)
166
+
167
+ if not matches:
168
+ return []
169
+
170
+ # If perfectly unique (highly likely given 20 bits of line entropy), return immediately
171
+ if len(matches) == 1:
172
+ return matches
173
+
174
+ # 2. Tie-Breaking Heuristic:
175
+ # If multiple identical lines exist, score them based on adjacency match.
176
+ def score_match(idx: int) -> int:
177
+ # Adjacency match: 0 means exact match, 1 means mismatch (we want lower scores)
178
+ return 0 if self._get_adjacent_hash(idx) == target_adj_hash else 1
179
+
180
+ matches.sort(key=score_match)
181
+
182
+ return matches
183
+
184
+ def resolve_range(self, start_id: str, end_id: str) -> tuple[int, int]:
185
+ """
186
+ Resolves a block range from two Public IDs.
187
+ """
188
+ starts = self.resolve_to_lines(start_id)
189
+ ends = self.resolve_to_lines(end_id)
190
+
191
+ if not starts or not ends:
192
+ raise ValueError(f"Could not resolve IDs: {start_id}..{end_id}")
193
+
194
+ for s in starts:
195
+ for e in ends:
196
+ if s <= e:
197
+ return s, e
198
+
199
+ raise ValueError(
200
+ f"Found matches for {start_id} and {end_id}, but no logically ordered range or unique matches."
201
+ )
202
+
203
+ @staticmethod
204
+ def strip_prefix(text: str) -> str:
205
+ """
206
+ Remove HashPos prefixes from the start of every line.
207
+ Also strips any 3-char sequence with at least one non-ASCII char followed by ::.
208
+ """
209
+ lines = text.splitlines(keepends=True)
210
+ result_lines = []
211
+ for line in lines:
212
+ stripped_line = HashPos.HASH_PREFIX_RE.sub("", line, count=1)
213
+ if stripped_line == line:
214
+ stripped_line = HashPos._LOOSE_PREFIX_RE.sub("", line, count=1)
215
+ result_lines.append(stripped_line)
216
+
217
+ return "".join(result_lines)
218
+
219
+ @staticmethod
220
+ def extract_prefix(line: str) -> str:
221
+ """
222
+ Extract the hash prefix from a line if it has a HashPos prefix.
223
+ """
224
+ match = HashPos.HASH_PREFIX_RE.match(line)
225
+ if match:
226
+ return match.group(1)
227
+ return ""
228
+
229
+ @staticmethod
230
+ def normalize(hashpos_str: str) -> str:
231
+ """
232
+ Normalize a HashPos string to the 3-character hash fragment.
233
+ """
234
+ if hashpos_str is None:
235
+ raise ValueError("HashPos string cannot be None")
236
+
237
+ if HashPos.FRAGMENT_RE.match(hashpos_str):
238
+ return hashpos_str
239
+
240
+ match = HashPos.NORMALIZE_RE.match(hashpos_str)
241
+ if match:
242
+ return match.group(1)
243
+
244
+ raise ValueError(
245
+ f"Invalid HashPos format '{hashpos_str}'. "
246
+ r"Expected a 3-character string from the Base1024 character set."
247
+ )
@@ -0,0 +1,35 @@
1
+ """
2
+ Orchestration module for programmatic tool calling in agent mode.
3
+
4
+ Public API:
5
+ - AgentExecutionEnv: sandboxed execution environment
6
+ - AgentProxy / ToolProxy: proxies for calling tools from generated code
7
+ - build_orchestration_context_block: context block builder
8
+ - SecurityError / SecurityFilter / LoopYieldInjector: security components
9
+ """
10
+
11
+ from cecli.helpers.orchestration.environment import (
12
+ AgentExecutionEnv,
13
+ AgentProxy,
14
+ ToolProxy,
15
+ build_orchestration_context_block,
16
+ )
17
+ from cecli.helpers.orchestration.security import (
18
+ LoopYieldInjector,
19
+ SecurityError,
20
+ SecurityFilter,
21
+ _cooperative_yield,
22
+ )
23
+ from cecli.helpers.orchestration.service import OrchestrationService
24
+
25
+ __all__ = [
26
+ "AgentExecutionEnv",
27
+ "AgentProxy",
28
+ "ToolProxy",
29
+ "build_orchestration_context_block",
30
+ "SecurityError",
31
+ "SecurityFilter",
32
+ "LoopYieldInjector",
33
+ "_cooperative_yield",
34
+ "OrchestrationService",
35
+ ]