cecli-dev 1.3.2rc2__tar.gz → 1.3.2rc3__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 (850) hide show
  1. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/PKG-INFO +1 -1
  2. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/_version.py +3 -3
  3. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/agent_coder.py +110 -31
  4. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/base_coder.py +71 -17
  5. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/__init__.py +3 -0
  6. cecli_dev-1.3.2rc3/cecli/commands/open.py +76 -0
  7. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/utils/helpers.py +1 -1
  8. cecli_dev-1.3.2rc3/cecli/commands/workspace.py +35 -0
  9. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/agents/service.py +96 -1
  10. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/conversation/integration.py +18 -4
  11. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/file_system/service.py +101 -23
  12. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/hashpos/hashpos.py +2 -2
  13. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/domains/gemini.py +2 -2
  14. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/gemini.py +9 -8
  15. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/orchestration/environment.py +4 -3
  16. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/skills.py +34 -20
  17. cecli_dev-1.3.2rc3/cecli/helpers/workspaces/__init__.py +13 -0
  18. cecli_dev-1.3.2rc3/cecli/helpers/workspaces/config.py +189 -0
  19. cecli_dev-1.3.2rc2/cecli/helpers/monorepo/local_workspace.py → cecli_dev-1.3.2rc3/cecli/helpers/workspaces/paths.py +51 -48
  20. cecli_dev-1.3.2rc3/cecli/helpers/workspaces/subagents.py +121 -0
  21. cecli_dev-1.3.2rc3/cecli/helpers/workspaces/workspace.py +100 -0
  22. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/main.py +29 -46
  23. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/repo.py +82 -338
  24. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/__init__.py +2 -0
  25. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/_yield.py +58 -1
  26. cecli_dev-1.3.2rc3/cecli/tools/broadcast.py +268 -0
  27. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/command.py +1 -1
  28. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/grep.py +292 -55
  29. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/utils/registry.py +28 -2
  30. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/app.py +46 -6
  31. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/footer.py +7 -5
  32. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/utils.py +1 -1
  33. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/subagents.md +1 -0
  34. cecli_dev-1.3.2rc3/cecli/website/docs/config/workspaces.md +145 -0
  35. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config.md +13 -3
  36. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli_dev.egg-info/PKG-INFO +1 -1
  37. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli_dev.egg-info/SOURCES.txt +15 -13
  38. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli_dev.egg-info/scm_file_list.json +15 -13
  39. cecli_dev-1.3.2rc3/cecli_dev.egg-info/scm_version.json +8 -0
  40. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_coder.py +3 -2
  41. cecli_dev-1.3.2rc3/tests/basic/test_file_system_service.py +206 -0
  42. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_skills.py +18 -8
  43. cecli_dev-1.3.2rc3/tests/commands/test_open.py +118 -0
  44. cecli_dev-1.3.2rc3/tests/helpers/test_llms_gemini_auth.py +80 -0
  45. cecli_dev-1.3.2rc3/tests/helpers/workspaces/conftest.py +11 -0
  46. cecli_dev-1.3.2rc3/tests/helpers/workspaces/test_config.py +115 -0
  47. cecli_dev-1.3.2rc3/tests/helpers/workspaces/test_paths.py +116 -0
  48. cecli_dev-1.3.2rc3/tests/helpers/workspaces/test_subagents.py +106 -0
  49. cecli_dev-1.3.2rc3/tests/helpers/workspaces/test_workspace.py +58 -0
  50. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/subagents/test_service.py +27 -0
  51. cecli_dev-1.3.2rc3/tests/tools/test_grep.py +162 -0
  52. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_registry.py +13 -0
  53. cecli_dev-1.3.2rc2/cecli/commands/workspace.py +0 -74
  54. cecli_dev-1.3.2rc2/cecli/helpers/monorepo/config.py +0 -174
  55. cecli_dev-1.3.2rc2/cecli/helpers/monorepo/project.py +0 -90
  56. cecli_dev-1.3.2rc2/cecli/helpers/monorepo/workspace.py +0 -48
  57. cecli_dev-1.3.2rc2/cecli/helpers/monorepo/worktree.py +0 -21
  58. cecli_dev-1.3.2rc2/cecli/website/docs/config/workspaces.md +0 -130
  59. cecli_dev-1.3.2rc2/cecli_dev.egg-info/scm_version.json +0 -8
  60. cecli_dev-1.3.2rc2/tests/helpers/monorepo/LOCAL_WORKSPACE.md +0 -66
  61. cecli_dev-1.3.2rc2/tests/helpers/monorepo/test_config.py +0 -75
  62. cecli_dev-1.3.2rc2/tests/helpers/monorepo/test_config_active.py +0 -79
  63. cecli_dev-1.3.2rc2/tests/helpers/monorepo/test_ignore_logic.py +0 -103
  64. cecli_dev-1.3.2rc2/tests/helpers/monorepo/test_local_workspace.py +0 -235
  65. cecli_dev-1.3.2rc2/tests/helpers/monorepo/test_repomap_workspace.py +0 -231
  66. cecli_dev-1.3.2rc2/tests/helpers/monorepo/test_workspace.py +0 -52
  67. cecli_dev-1.3.2rc2/tests/subagents/__init__.py +0 -0
  68. cecli_dev-1.3.2rc2/tests/tools/test_grep.py +0 -62
  69. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.dockerignore +0 -0
  70. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.flake8 +0 -0
  71. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.gitattributes +0 -0
  72. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  73. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/check_pypi_version.yml +0 -0
  74. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/docker-build-test.yml +0 -0
  75. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/docker-release.yml +0 -0
  76. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/issues.yml +0 -0
  77. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/pages.yml +0 -0
  78. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/pre-commit.yml +0 -0
  79. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/release.yml +0 -0
  80. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/ubuntu-tests.yml +0 -0
  81. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/windows-tests.yml +0 -0
  82. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.github/workflows/windows_check_pypi_version.yml +0 -0
  83. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.gitignore +0 -0
  84. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/.pre-commit-config.yaml +0 -0
  85. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/CHANGELOG.md +0 -0
  86. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/CNAME +0 -0
  87. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/CONTRIBUTING.md +0 -0
  88. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/HISTORY.md +0 -0
  89. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/LICENSE.txt +0 -0
  90. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/MANIFEST.in +0 -0
  91. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/README.md +0 -0
  92. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/Dockerfile +0 -0
  93. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/README.md +0 -0
  94. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/__init__.py +0 -0
  95. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/benchmark.py +0 -0
  96. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/benchmark_classic.py +0 -0
  97. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/clone-exercism.sh +0 -0
  98. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/cpp-test.sh +0 -0
  99. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/docker.sh +0 -0
  100. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/docker_build.sh +0 -0
  101. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/install-docker-ubuntu.sh +0 -0
  102. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/npm-test.sh +0 -0
  103. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/over_time.py +0 -0
  104. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/plot.sh +0 -0
  105. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/plots.py +0 -0
  106. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/problem_stats.py +0 -0
  107. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/prompts.py +0 -0
  108. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/refactor_tools.py +0 -0
  109. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/rsync.sh +0 -0
  110. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/rungrid.py +0 -0
  111. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/swe-bench-lite.txt +0 -0
  112. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/swe-bench.txt +0 -0
  113. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/swe_bench.py +0 -0
  114. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/test_benchmark.py +0 -0
  115. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/variations.1.sh +0 -0
  116. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/variations.2.sh +0 -0
  117. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/variations.3.sh +0 -0
  118. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/benchmark/variations.4.sh +0 -0
  119. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/__init__.py +0 -0
  120. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/__main__.py +0 -0
  121. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/args.py +0 -0
  122. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/args_formatter.py +0 -0
  123. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/change_tracker.py +0 -0
  124. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/__init__.py +0 -0
  125. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/architect_coder.py +0 -0
  126. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/ask_coder.py +0 -0
  127. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/chat_chunks.py +0 -0
  128. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/context_coder.py +0 -0
  129. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/copypaste_coder.py +0 -0
  130. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/editblock_coder.py +0 -0
  131. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/editblock_fenced_coder.py +0 -0
  132. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/editblock_func_coder.py +0 -0
  133. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  134. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/editor_editblock_coder.py +0 -0
  135. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/editor_whole_coder.py +0 -0
  136. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/hashline_coder.py +0 -0
  137. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/help_coder.py +0 -0
  138. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/patch_coder.py +0 -0
  139. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/search_replace.py +0 -0
  140. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/shell.py +0 -0
  141. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/single_wholefile_func_coder.py +0 -0
  142. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/sub_agent_coder.py +0 -0
  143. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/udiff_coder.py +0 -0
  144. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/udiff_simple.py +0 -0
  145. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/wholefile_coder.py +0 -0
  146. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/coders/wholefile_func_coder.py +0 -0
  147. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/add.py +0 -0
  148. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/agent.py +0 -0
  149. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/agent_model.py +0 -0
  150. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/agent_tree.py +0 -0
  151. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/architect.py +0 -0
  152. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/ask.py +0 -0
  153. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/auto_memory.py +0 -0
  154. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/chat_mode.py +0 -0
  155. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/clear.py +0 -0
  156. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/code.py +0 -0
  157. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/command_prefix.py +0 -0
  158. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/commit.py +0 -0
  159. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/compact.py +0 -0
  160. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/context.py +0 -0
  161. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/context_blocks.py +0 -0
  162. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/context_management.py +0 -0
  163. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/copy.py +0 -0
  164. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/copy_context.py +0 -0
  165. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/core.py +0 -0
  166. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/diff.py +0 -0
  167. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/drop.py +0 -0
  168. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/editor.py +0 -0
  169. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/editor_model.py +0 -0
  170. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/exclude_skill.py +0 -0
  171. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/exit.py +0 -0
  172. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/git.py +0 -0
  173. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/hashline.py +0 -0
  174. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/help.py +0 -0
  175. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/history_search.py +0 -0
  176. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/hooks.py +0 -0
  177. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/hot_reload.py +0 -0
  178. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/include_skill.py +0 -0
  179. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/lint.py +0 -0
  180. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/list_mcp.py +0 -0
  181. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/list_queue.py +0 -0
  182. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/list_sessions.py +0 -0
  183. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/list_skills.py +0 -0
  184. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/load.py +0 -0
  185. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/load_hook.py +0 -0
  186. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/load_mcp.py +0 -0
  187. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/load_session.py +0 -0
  188. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/load_skill.py +0 -0
  189. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/ls.py +0 -0
  190. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/map.py +0 -0
  191. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/map_refresh.py +0 -0
  192. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/merge.py +0 -0
  193. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/model.py +0 -0
  194. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/models.py +0 -0
  195. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/multiline_mode.py +0 -0
  196. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/paste.py +0 -0
  197. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/queue.py +0 -0
  198. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/quit.py +0 -0
  199. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/read_only.py +0 -0
  200. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/read_only_stub.py +0 -0
  201. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/reap_agent.py +0 -0
  202. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/reasoning_effort.py +0 -0
  203. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/remove_hook.py +0 -0
  204. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/remove_mcp.py +0 -0
  205. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/remove_memory.py +0 -0
  206. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/remove_queue.py +0 -0
  207. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/remove_skill.py +0 -0
  208. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/report.py +0 -0
  209. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/reset.py +0 -0
  210. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/rules.py +0 -0
  211. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/run.py +0 -0
  212. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/save.py +0 -0
  213. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/save_session.py +0 -0
  214. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/search_memory.py +0 -0
  215. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/settings.py +0 -0
  216. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/spawn_agent.py +0 -0
  217. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/switch_agent.py +0 -0
  218. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/terminal_data/linux.keytab +0 -0
  219. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/terminal_setup.py +0 -0
  220. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/test.py +0 -0
  221. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/think_tokens.py +0 -0
  222. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/tokens.py +0 -0
  223. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/undo.py +0 -0
  224. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/utils/__init__.py +0 -0
  225. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/utils/base_command.py +0 -0
  226. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/utils/registry.py +0 -0
  227. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/utils/save_load_manager.py +0 -0
  228. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/voice.py +0 -0
  229. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/weak_model.py +0 -0
  230. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/commands/web.py +0 -0
  231. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/decoding.py +0 -0
  232. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/deprecated_args.py +0 -0
  233. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/diffs.py +0 -0
  234. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/dump.py +0 -0
  235. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/editor.py +0 -0
  236. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/exceptions.py +0 -0
  237. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/format_settings.py +0 -0
  238. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/help.py +0 -0
  239. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/help_pats.py +0 -0
  240. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/__init__.py +0 -0
  241. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/agents/__init__.py +0 -0
  242. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/agents/config.py +0 -0
  243. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/agents/defaults/__init__.py +0 -0
  244. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/agents/defaults/memorizer.md +0 -0
  245. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/agents/defaults/worker.md +0 -0
  246. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/background_commands.py +0 -0
  247. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/command_parser.py +0 -0
  248. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/command_queue.py +0 -0
  249. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/config_utils.py +0 -0
  250. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/conversation/__init__.py +0 -0
  251. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/conversation/base_message.py +0 -0
  252. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/conversation/files.py +0 -0
  253. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/conversation/manager.py +0 -0
  254. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/conversation/service.py +0 -0
  255. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/conversation/tags.py +0 -0
  256. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/conversation/utils.py +0 -0
  257. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/copypaste.py +0 -0
  258. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/coroutines.py +0 -0
  259. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/crypto.py +0 -0
  260. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/file_searcher.py +0 -0
  261. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/file_system/__init__.py +0 -0
  262. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/file_system/builders.py +0 -0
  263. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/file_system/ignore.py +0 -0
  264. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/file_system/ngram_index.py +0 -0
  265. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/file_system/trie_index.py +0 -0
  266. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/grep_ast/__init__.py +0 -0
  267. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/grep_ast/dump.py +0 -0
  268. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  269. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/grep_ast/main.py +0 -0
  270. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/grep_ast/parsers.py +0 -0
  271. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/grep_ast/tsl.py +0 -0
  272. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/hashline.py +0 -0
  273. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/hashpos/__init__.py +0 -0
  274. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  275. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/hashpos/transformations.py +0 -0
  276. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/io_proxy.py +0 -0
  277. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/leak_detect.py +0 -0
  278. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/__init__.py +0 -0
  279. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/aws_sigv4.py +0 -0
  280. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/config.py +0 -0
  281. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/domains/__init__.py +0 -0
  282. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/domains/bedrock.py +0 -0
  283. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/domains/chat.py +0 -0
  284. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/domains/messages.py +0 -0
  285. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/domains/responses.py +0 -0
  286. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/formatters/__init__.py +0 -0
  287. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/formatters/reasoning.py +0 -0
  288. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/formatters/thinking.py +0 -0
  289. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/identifiers.py +0 -0
  290. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/litellm_compat.py +0 -0
  291. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/pipeline.py +0 -0
  292. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/__init__.py +0 -0
  293. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/anthropic.py +0 -0
  294. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/azure.py +0 -0
  295. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/base.py +0 -0
  296. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/bedrock.py +0 -0
  297. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/bedrock_mantle.py +0 -0
  298. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/deepseek.py +0 -0
  299. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/github_copilot.py +0 -0
  300. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/meta.py +0 -0
  301. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/openai.py +0 -0
  302. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/providers/openrouter.py +0 -0
  303. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/runtime.py +0 -0
  304. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/types.py +0 -0
  305. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/llms/utils.py +0 -0
  306. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/lock_detect.py +0 -0
  307. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/loop_detect.py +0 -0
  308. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/memory/__init__.py +0 -0
  309. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/memory/db.py +0 -0
  310. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/memory/utils.py +0 -0
  311. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/memory_control.py +0 -0
  312. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/__init__.py +0 -0
  313. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/agent.py +0 -0
  314. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/api.py +0 -0
  315. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/formatters/__init__.py +0 -0
  316. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/formatters/reasoning.py +0 -0
  317. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/formatters/thinking.py +0 -0
  318. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/identifiers.py +0 -0
  319. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/llm.py +0 -0
  320. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/pipeline.py +0 -0
  321. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_config/utils.py +0 -0
  322. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/model_providers.py +0 -0
  323. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/nested.py +0 -0
  324. {cecli_dev-1.3.2rc2/cecli/helpers/monorepo → cecli_dev-1.3.2rc3/cecli/helpers/observations}/__init__.py +0 -0
  325. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/observations/service.py +0 -0
  326. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/orchestration/__init__.py +0 -0
  327. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/orchestration/agent_proxy.py +0 -0
  328. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/orchestration/region_resolver.py +0 -0
  329. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/orchestration/safe_methods.py +0 -0
  330. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/orchestration/security.py +0 -0
  331. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/orchestration/service.py +0 -0
  332. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/orchestration/tool_proxy.py +0 -0
  333. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/plugin_manager.py +0 -0
  334. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/profiler.py +0 -0
  335. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/queues.py +0 -0
  336. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/requests.py +0 -0
  337. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/responses.py +0 -0
  338. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/server/__init__.py +0 -0
  339. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/server/acp/__init__.py +0 -0
  340. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/server/acp/bridge.py +0 -0
  341. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/server/acp/models.py +0 -0
  342. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/server/acp/protocol.py +0 -0
  343. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/server/signals.py +0 -0
  344. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/server/ws_server.py +0 -0
  345. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/similarity.py +0 -0
  346. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/helpers/threading.py +0 -0
  347. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/history.py +0 -0
  348. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/hooks/__init__.py +0 -0
  349. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/hooks/base.py +0 -0
  350. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/hooks/helpers.py +0 -0
  351. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/hooks/integration.py +0 -0
  352. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/hooks/manager.py +0 -0
  353. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/hooks/registry.py +0 -0
  354. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/hooks/service.py +0 -0
  355. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/hooks/types.py +0 -0
  356. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/http.py +0 -0
  357. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/interruptible_input.py +0 -0
  358. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/io.py +0 -0
  359. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/linter.py +0 -0
  360. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/llm.py +0 -0
  361. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/mcp/__init__.py +0 -0
  362. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/mcp/manager.py +0 -0
  363. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/mcp/oauth.py +0 -0
  364. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/mcp/server.py +0 -0
  365. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/mcp/utils.py +0 -0
  366. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/mdstream.py +0 -0
  367. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/models.py +0 -0
  368. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/onboarding.py +0 -0
  369. {cecli_dev-1.3.2rc2/cecli/helpers/observations → cecli_dev-1.3.2rc3/cecli/prompts}/__init__.py +0 -0
  370. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/agent.yml +0 -0
  371. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/architect.yml +0 -0
  372. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/ask.yml +0 -0
  373. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/base.yml +0 -0
  374. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/context.yml +0 -0
  375. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/copypaste.yml +0 -0
  376. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/editblock.yml +0 -0
  377. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/editblock_fenced.yml +0 -0
  378. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/editblock_func.yml +0 -0
  379. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/editor_diff_fenced.yml +0 -0
  380. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/editor_editblock.yml +0 -0
  381. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/editor_whole.yml +0 -0
  382. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/hashline.yml +0 -0
  383. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/help.yml +0 -0
  384. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/patch.yml +0 -0
  385. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/single_wholefile_func.yml +0 -0
  386. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/subagent.yml +0 -0
  387. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/udiff.yml +0 -0
  388. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/udiff_simple.yml +0 -0
  389. {cecli_dev-1.3.2rc2/cecli/prompts → cecli_dev-1.3.2rc3/cecli/prompts/utils}/__init__.py +0 -0
  390. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/utils/registry.py +0 -0
  391. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/utils/system.py +0 -0
  392. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/wholefile.yml +0 -0
  393. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/prompts/wholefile_func.yml +0 -0
  394. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  395. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  396. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  397. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  398. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  399. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  400. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  401. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  402. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  403. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  404. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  405. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  406. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  407. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  408. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  409. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  410. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  411. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  412. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  413. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  414. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  415. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  416. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  417. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  418. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  419. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  420. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  421. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  422. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  423. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  424. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  425. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  426. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/README.md +0 -0
  427. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  428. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  429. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  430. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  431. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  432. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  433. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  434. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  435. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  436. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  437. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  438. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  439. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  440. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  441. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  442. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  443. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  444. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  445. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  446. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  447. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  448. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  449. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  450. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  451. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  452. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  453. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  454. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/reasoning_tags.py +0 -0
  455. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/repomap.py +0 -0
  456. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/report.py +0 -0
  457. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/resources/__init__.py +0 -0
  458. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/resources/model-metadata.ext.json +0 -0
  459. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/resources/model-metadata.json +0 -0
  460. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/resources/model-settings-condensed.yml +0 -0
  461. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/resources/model-settings.yml +0 -0
  462. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/resources/providers.json +0 -0
  463. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/run_cmd.py +0 -0
  464. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/scrape.py +0 -0
  465. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/sendchat.py +0 -0
  466. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/sessions.py +0 -0
  467. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/signals.py +0 -0
  468. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/special.py +0 -0
  469. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/delegate.py +0 -0
  470. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/edit_file.py +0 -0
  471. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/explore_code.py +0 -0
  472. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/git_branch.py +0 -0
  473. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/git_diff.py +0 -0
  474. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/git_log.py +0 -0
  475. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/git_remote.py +0 -0
  476. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/git_show.py +0 -0
  477. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/git_status.py +0 -0
  478. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/ls.py +0 -0
  479. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/orchestrate.py +0 -0
  480. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/read_file.py +0 -0
  481. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/replace_facts.py +0 -0
  482. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/resource_manager.py +0 -0
  483. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/search_facts.py +0 -0
  484. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/thinking.py +0 -0
  485. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/undo_change.py +0 -0
  486. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/update_todo_list.py +0 -0
  487. {cecli_dev-1.3.2rc2/cecli/prompts → cecli_dev-1.3.2rc3/cecli/tools}/utils/__init__.py +0 -0
  488. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/utils/base_tool.py +0 -0
  489. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/utils/helpers.py +0 -0
  490. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/utils/output.py +0 -0
  491. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/utils/responses.py +0 -0
  492. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/validations/__init__.py +0 -0
  493. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tools/validations/validations.py +0 -0
  494. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/__init__.py +0 -0
  495. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/io.py +0 -0
  496. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/styles.tcss +0 -0
  497. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/__init__.py +0 -0
  498. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/completion_bar.py +0 -0
  499. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/file_list.py +0 -0
  500. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/input_area.py +0 -0
  501. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/input_container.py +0 -0
  502. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/key_hints.py +0 -0
  503. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/output.py +0 -0
  504. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/output_alt.bak +0 -0
  505. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/selectable_log.py +0 -0
  506. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/status_bar.py +0 -0
  507. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/widgets/subagent_pills.py +0 -0
  508. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/tui/worker.py +0 -0
  509. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/urls.py +0 -0
  510. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/versioncheck.py +0 -0
  511. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/voice.py +0 -0
  512. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/waiting.py +0 -0
  513. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/watch.py +0 -0
  514. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/watch_prompts.py +0 -0
  515. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/blame.md +0 -0
  516. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/get-started.md +0 -0
  517. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/help-tip.md +0 -0
  518. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/help.md +0 -0
  519. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/install.md +0 -0
  520. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/keys.md +0 -0
  521. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/model-warnings.md +0 -0
  522. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/multi-line.md +0 -0
  523. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/python-m-aider.md +0 -0
  524. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/recording.css +0 -0
  525. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/recording.md +0 -0
  526. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_includes/works-best.md +0 -0
  527. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_features.scss +0 -0
  528. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_footer.scss +0 -0
  529. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_hero.scss +0 -0
  530. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_info.scss +0 -0
  531. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_layout.scss +0 -0
  532. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_reset.scss +0 -0
  533. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_testimonials.scss +0 -0
  534. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_typography.scss +0 -0
  535. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/_variables.scss +0 -0
  536. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/custom/custom.scss +0 -0
  537. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/_sass/global-overrides.scss +0 -0
  538. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docmd.config.json +0 -0
  539. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/cecli-temp-logo-favicon.svg +0 -0
  540. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/adv-model-settings.md +0 -0
  541. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/agent-mode.md +0 -0
  542. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/api-keys.md +0 -0
  543. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/api.md +0 -0
  544. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/conf.md +0 -0
  545. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/custom-commands.md +0 -0
  546. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  547. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/dotenv.md +0 -0
  548. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/editor.md +0 -0
  549. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/hooks.md +0 -0
  550. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/mcp.md +0 -0
  551. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/model-aliases.md +0 -0
  552. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/model-configuration.md +0 -0
  553. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/model-providers.md +0 -0
  554. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/options.md +0 -0
  555. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/persistent-memory.md +0 -0
  556. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/reasoning.md +0 -0
  557. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/retries.md +0 -0
  558. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/security.md +0 -0
  559. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/skills.md +0 -0
  560. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/config/tui.md +0 -0
  561. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/git.md +0 -0
  562. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/index.md +0 -0
  563. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/install/docker.md +0 -0
  564. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/install.md +0 -0
  565. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/languages.md +0 -0
  566. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  567. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/legal/privacy.md +0 -0
  568. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/anthropic.md +0 -0
  569. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/azure.md +0 -0
  570. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/bedrock.md +0 -0
  571. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/cohere.md +0 -0
  572. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/deepseek.md +0 -0
  573. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/gemini.md +0 -0
  574. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/github.md +0 -0
  575. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/groq.md +0 -0
  576. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/lm-studio.md +0 -0
  577. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/ollama.md +0 -0
  578. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/openai-compat.md +0 -0
  579. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/openai.md +0 -0
  580. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/opencode-go.md +0 -0
  581. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/openrouter.md +0 -0
  582. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/other.md +0 -0
  583. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/vertex.md +0 -0
  584. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/warnings.md +0 -0
  585. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms/xai.md +0 -0
  586. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/llms.md +0 -0
  587. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/more/analytics.md +0 -0
  588. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/more/edit-formats.md +0 -0
  589. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/more/infinite-output.md +0 -0
  590. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/more-info.md +0 -0
  591. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/repomap.md +0 -0
  592. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/scripting.md +0 -0
  593. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  594. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  595. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/troubleshooting/imports.md +0 -0
  596. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  597. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/troubleshooting/support.md +0 -0
  598. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  599. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  600. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/troubleshooting.md +0 -0
  601. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/commands.md +0 -0
  602. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/conventions.md +0 -0
  603. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/copypaste.md +0 -0
  604. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/images-urls.md +0 -0
  605. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/lint-test.md +0 -0
  606. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/modes.md +0 -0
  607. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/not-code.md +0 -0
  608. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/notifications.md +0 -0
  609. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/optional.md +0 -0
  610. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/sessions.md +0 -0
  611. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/tips.md +0 -0
  612. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/voice.md +0 -0
  613. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage/watch.md +0 -0
  614. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/docs/usage.md +0 -0
  615. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/package-lock.json +0 -0
  616. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/package.json +0 -0
  617. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli/website/share/index.md +0 -0
  618. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli_dev.egg-info/dependency_links.txt +0 -0
  619. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli_dev.egg-info/entry_points.txt +0 -0
  620. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli_dev.egg-info/requires.txt +0 -0
  621. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/cecli_dev.egg-info/top_level.txt +0 -0
  622. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/docker/Dockerfile +0 -0
  623. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  624. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/pyproject.toml +0 -0
  625. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/pytest.ini +0 -0
  626. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/common-constraints.txt +0 -0
  627. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/requirements-dev.in +0 -0
  628. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/requirements-dev.txt +0 -0
  629. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/requirements-help.in +0 -0
  630. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/requirements-help.txt +0 -0
  631. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/requirements-playwright.in +0 -0
  632. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/requirements-playwright.txt +0 -0
  633. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/requirements.in +0 -0
  634. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements/tree-sitter.in +0 -0
  635. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/requirements.txt +0 -0
  636. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/30k-image.py +0 -0
  637. {cecli_dev-1.3.2rc2/cecli/tools/utils → cecli_dev-1.3.2rc3/scripts}/__init__.py +0 -0
  638. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/blame.py +0 -0
  639. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/clean_metadata.py +0 -0
  640. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/compare-message-history.py +0 -0
  641. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/condense_model_settings.py +0 -0
  642. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/cost_analyzer.py +0 -0
  643. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/cost_calculator.py +0 -0
  644. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/dl_icons.py +0 -0
  645. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/docmd_build.sh +0 -0
  646. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/filter-chat-mode.js +0 -0
  647. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/generate_providers.py +0 -0
  648. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/get_contributor_list.js +0 -0
  649. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/get_hashline.py +0 -0
  650. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/history_prompts.py +0 -0
  651. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/homepage.py +0 -0
  652. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/issues.py +0 -0
  653. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/logo_svg.py +0 -0
  654. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/optimize_tokens.sh +0 -0
  655. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/pip-compile.sh +0 -0
  656. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/recording_audio.py +0 -0
  657. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/redact-cast.py +0 -0
  658. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/rename_to_cecli.py +0 -0
  659. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/tmux_record.sh +0 -0
  660. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/tsl_pack_langs.py +0 -0
  661. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/update-blame.sh +0 -0
  662. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/update-docs.sh +0 -0
  663. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/update-history.py +0 -0
  664. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/versionbump.py +0 -0
  665. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/scripts/yank-old-versions.py +0 -0
  666. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/setup.cfg +0 -0
  667. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/shim.pyproject.toml +0 -0
  668. {cecli_dev-1.3.2rc2/scripts → cecli_dev-1.3.2rc3/tests}/__init__.py +0 -0
  669. {cecli_dev-1.3.2rc2/tests → cecli_dev-1.3.2rc3/tests/basic}/__init__.py +0 -0
  670. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/conftest.py +0 -0
  671. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_agent_config_merge.py +0 -0
  672. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_aws_credentials.py +0 -0
  673. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_background_commands.py +0 -0
  674. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_commands.py +0 -0
  675. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_custom_commands.py +0 -0
  676. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_deprecated.py +0 -0
  677. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_editblock.py +0 -0
  678. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_editor.py +0 -0
  679. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_exceptions.py +0 -0
  680. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_find_or_blocks.py +0 -0
  681. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_hashline.py +0 -0
  682. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_hashline_closure.py +0 -0
  683. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_history.py +0 -0
  684. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_io.py +0 -0
  685. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_linter.py +0 -0
  686. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_main.py +0 -0
  687. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_model_info_manager.py +0 -0
  688. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_model_provider_manager.py +0 -0
  689. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_models.py +0 -0
  690. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_onboarding.py +0 -0
  691. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_plugin_manager.py +0 -0
  692. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_prompts.py +0 -0
  693. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_reasoning.py +0 -0
  694. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_repo.py +0 -0
  695. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_repomap.py +0 -0
  696. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_run_cmd.py +0 -0
  697. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_sanity_check_repo.py +0 -0
  698. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_scripting.py +0 -0
  699. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_select_selector.py +0 -0
  700. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_sendchat.py +0 -0
  701. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_session_args.py +0 -0
  702. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_session_crypto.py +0 -0
  703. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_sessions.py +0 -0
  704. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_sessions_manager.py +0 -0
  705. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_special.py +0 -0
  706. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_spinner.py +0 -0
  707. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_ssl_verification.py +0 -0
  708. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_udiff.py +0 -0
  709. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_urls.py +0 -0
  710. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_voice.py +0 -0
  711. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_watch.py +0 -0
  712. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/basic/test_wholefile.py +0 -0
  713. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/coders/test_coder_switching.py +0 -0
  714. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/coders/test_copypaste_coder.py +0 -0
  715. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/coders/test_tool_call_consolidation.py +0 -0
  716. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/commands/test_auto_memory.py +0 -0
  717. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/commands/test_compaction.py +0 -0
  718. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/commands/test_remove_memory.py +0 -0
  719. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/commands/test_search_memory.py +0 -0
  720. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/commands/test_switch_agent.py +0 -0
  721. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/conftest.py +0 -0
  722. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/conversations/test_conversation_integration.py +0 -0
  723. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/conversations/test_conversation_system.py +0 -0
  724. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  725. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/chat-history.md +0 -0
  726. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/arduino/test.ino +0 -0
  727. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/bash/test.sh +0 -0
  728. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/c/test.c +0 -0
  729. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/chatito/test.chatito +0 -0
  730. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/clojure/test.clj +0 -0
  731. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  732. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/cpp/test.cpp +0 -0
  733. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/csharp/test.cs +0 -0
  734. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/d/test.d +0 -0
  735. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/dart/test.dart +0 -0
  736. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/elisp/test.el +0 -0
  737. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/elixir/test.ex +0 -0
  738. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/elm/test.elm +0 -0
  739. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/gleam/test.gleam +0 -0
  740. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/go/test.go +0 -0
  741. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/haskell/test.hs +0 -0
  742. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/hcl/test.tf +0 -0
  743. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/java/test.java +0 -0
  744. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/javascript/test.js +0 -0
  745. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/kotlin/test.kt +0 -0
  746. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/lua/test.lua +0 -0
  747. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/matlab/test.m +0 -0
  748. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/ocaml/test.ml +0 -0
  749. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  750. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/php/test.php +0 -0
  751. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/pony/test.pony +0 -0
  752. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/properties/test.properties +0 -0
  753. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/python/test.py +0 -0
  754. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/ql/test.ql +0 -0
  755. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/r/test.r +0 -0
  756. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/racket/test.rkt +0 -0
  757. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/ruby/test.rb +0 -0
  758. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/rust/test.rs +0 -0
  759. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/scala/test.scala +0 -0
  760. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/solidity/test.sol +0 -0
  761. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/swift/test.swift +0 -0
  762. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/tsx/test.tsx +0 -0
  763. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/typescript/test.ts +0 -0
  764. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/udev/test.rules +0 -0
  765. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/languages/zig/test.zig +0 -0
  766. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/sample-code-base/sample.js +0 -0
  767. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/sample-code-base/sample.py +0 -0
  768. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  769. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/watch.js +0 -0
  770. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/watch.lisp +0 -0
  771. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/watch.py +0 -0
  772. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/fixtures/watch_question.js +0 -0
  773. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/help/test_help.py +0 -0
  774. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/observations/test_observation_service.py +0 -0
  775. {cecli_dev-1.3.2rc2/tests/basic → cecli_dev-1.3.2rc3/tests/helpers/server/acp}/__init__.py +0 -0
  776. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/server/acp/test_bridge.py +0 -0
  777. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/server/acp/test_dispatch.py +0 -0
  778. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/server/acp/test_models.py +0 -0
  779. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/server/acp/test_protocol.py +0 -0
  780. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_api_base.py +0 -0
  781. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_aws_sigv4.py +0 -0
  782. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_cache_control.py +0 -0
  783. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_github_copilot_auth.py +0 -0
  784. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_hyperscalers.py +0 -0
  785. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_messages_stream.py +0 -0
  786. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_messages_wire.py +0 -0
  787. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_providers_json.py +0 -0
  788. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_reasoning_config.py +0 -0
  789. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_reasoning_extract.py +0 -0
  790. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_llms_vision.py +0 -0
  791. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_loop_detect.py +0 -0
  792. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_memory_control.py +0 -0
  793. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_model_config.py +0 -0
  794. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/helpers/test_orchestration.py +0 -0
  795. {cecli_dev-1.3.2rc2/tests/helpers/server/acp → cecli_dev-1.3.2rc3/tests/hooks}/__init__.py +0 -0
  796. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/hooks/test_base.py +0 -0
  797. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/hooks/test_manager.py +0 -0
  798. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/hooks/test_registry.py +0 -0
  799. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/integration/test_agent_mcp_management.py +0 -0
  800. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/integration/test_config_loading.py +0 -0
  801. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/integration/test_mcp_management.py +0 -0
  802. {cecli_dev-1.3.2rc2/tests/hooks → cecli_dev-1.3.2rc3/tests/mcp}/__init__.py +0 -0
  803. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/conftest.py +0 -0
  804. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/mock_server.py +0 -0
  805. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_keepalive_concurrency.py +0 -0
  806. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_keepalive_config.py +0 -0
  807. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_keepalive_integration.py +0 -0
  808. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_keepalive_logging.py +0 -0
  809. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_keepalive_resilience.py +0 -0
  810. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_keepalive_unit.py +0 -0
  811. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_manager.py +0 -0
  812. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_manager_retry.py +0 -0
  813. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_server_name_normalization.py +0 -0
  814. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/mcp/test_server_sdk_compat.py +0 -0
  815. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/scrape/test_playwright_disable.py +0 -0
  816. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/scrape/test_scrape.py +0 -0
  817. {cecli_dev-1.3.2rc2/tests/mcp → cecli_dev-1.3.2rc3/tests/subagents}/__init__.py +0 -0
  818. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/subagents/conftest.py +0 -0
  819. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/subagents/test_commands.py +0 -0
  820. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/subagents/test_config.py +0 -0
  821. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/subagents/test_delegate.py +0 -0
  822. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/subagents/test_finished.py +0 -0
  823. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/subagents/test_io_proxy.py +0 -0
  824. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/subagents/test_sub_agent_coder.py +0 -0
  825. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/test_requests.py +0 -0
  826. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_command_format_output.py +0 -0
  827. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_edit_file_format_output.py +0 -0
  828. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_extractions.py +0 -0
  829. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_get_lines.py +0 -0
  830. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_git_branch.py +0 -0
  831. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_git_diff.py +0 -0
  832. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_insert_block.py +0 -0
  833. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_read_range_execute.py +0 -0
  834. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_remove_mcp_tool.py +0 -0
  835. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_tool_arguments.py +0 -0
  836. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/test_tools_load_mcp_tool.py +0 -0
  837. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tools/validations.py +0 -0
  838. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/tui/test_app.py +0 -0
  839. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/conftest.py +0 -0
  840. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_deep_merge.py +0 -0
  841. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_edge_cases.py +0 -0
  842. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_load_mcp.py +0 -0
  843. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_performance.py +0 -0
  844. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_queues.py +0 -0
  845. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_remove_mcp.py +0 -0
  846. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_shallow_merge.py +0 -0
  847. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_signals.py +0 -0
  848. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_unit_load_mcp_tool.py +0 -0
  849. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
  850. {cecli_dev-1.3.2rc2 → cecli_dev-1.3.2rc3}/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.3.2rc2
3
+ Version: 1.3.2rc3
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.3.2rc2'
22
- __version_tuple__ = version_tuple = (1, 3, 2, 'rc2')
21
+ __version__ = version = '1.3.2rc3'
22
+ __version_tuple__ = version_tuple = (1, 3, 2, 'rc3')
23
23
 
24
- __commit_id__ = commit_id = 'gb52f1a0f8'
24
+ __commit_id__ = commit_id = 'ge2f9c56b1'
@@ -105,8 +105,27 @@ class AgentCoder(Coder):
105
105
  self.sub_agent_paths = self.agent_config.get("subagent_paths", [])
106
106
  self._setup_agent()
107
107
 
108
- AgentService.build_registry(self.sub_agent_paths)
109
- ToolRegistry.build_registry(agent_config=self.agent_config)
108
+ # primary_root is needed early so the skills and tool registries can
109
+ # resolve relative paths against the primary workspace root rather than
110
+ # this coder's (possibly overridden) local root. base_coder re-affirms
111
+ # and keeps this value in super().__init__().
112
+ self.primary_root = kwargs.get("primary_root") or getattr(self, "primary_root", None)
113
+
114
+ # Allow a sub-agent to target a different working root (multi-project workspace).
115
+ if not kwargs.get("root"):
116
+ configured_root = self.agent_config.get("root")
117
+ if configured_root:
118
+ kwargs["root"] = configured_root
119
+
120
+ self._initialize_skills_manager(
121
+ self.agent_config, root=kwargs.get("root", self.primary_root)
122
+ )
123
+ AgentService.build_registry(
124
+ self.sub_agent_paths, root=kwargs.get("root", self.primary_root)
125
+ )
126
+ ToolRegistry.build_registry(
127
+ agent_config=self.agent_config, root=kwargs.get("root", self.primary_root)
128
+ )
110
129
 
111
130
  self.loaded_custom_tools = ToolRegistry.loaded_custom_tools
112
131
  super().__init__(*args, **kwargs)
@@ -292,21 +311,19 @@ class AgentCoder(Coder):
292
311
  config["tools_excludelist"].append("loadskill")
293
312
  config["tools_excludelist"].append("removeskill")
294
313
 
295
- self._initialize_skills_manager(config)
296
314
  return config
297
315
 
298
- def _initialize_skills_manager(self, config):
316
+ def _initialize_skills_manager(self, config, root=None):
299
317
  """
300
318
  Initialize the skills manager with the configured directory paths and filters.
301
319
  """
302
320
  try:
303
- git_root = str(self.repo.root) if self.repo else None
304
321
  self.skills_manager = SkillsManager(
305
322
  directory_paths=config.get("skills_paths", []),
306
323
  include_list=config.get("skills_includelist", []),
307
324
  exclude_list=config.get("skills_excludelist", []),
308
325
  initialize_list=config.get("skills_init", []),
309
- git_root=git_root,
326
+ root=root or self.root or self.primary_root,
310
327
  coder=self,
311
328
  )
312
329
  except Exception as e:
@@ -733,7 +750,8 @@ class AgentCoder(Coder):
733
750
  def get_environment_info(self):
734
751
  """
735
752
  Generate an environment information context block with key system details.
736
- Returns formatted string with working directory, platform, date, and other relevant environment details.
753
+ Returns formatted string with working directory, platform, date, and other relevant environment details,
754
+ including the agent's own identity and the primary agent's UUID.
737
755
  """
738
756
  if not self.use_enhanced_context:
739
757
  return None
@@ -747,6 +765,17 @@ class AgentCoder(Coder):
747
765
  result += f"- Current date: {current_date}\n"
748
766
  result += f"- Platform: {platform_info}\n"
749
767
  result += f"- Language preference: {language}\n"
768
+
769
+ # Agent identity so the model can recognise itself and the primary
770
+ # agent. Kept here (a static context block) rather than in the
771
+ # sub-agent states block to avoid re-injecting an agent's own
772
+ # identity whenever sub-agent state changes mid-conversation.
773
+ service = AgentService.get_instance(self)
774
+ self_uuid = str(self.uuid)
775
+ primary_uuid = str(service.coder.uuid)
776
+ self_name = service.get_agent_name(self) or "primary"
777
+ result += f"- Agent: {self_name} ({self_uuid}) [self]\n"
778
+ result += f"- Primary agent: primary ({primary_uuid})\n"
750
779
  if self.repo:
751
780
  try:
752
781
  rel_repo_dir = self.repo.get_rel_repo_dir()
@@ -1699,7 +1728,7 @@ Todo list does not exist. Please update it with the `UpdateTodoList` tool.</cont
1699
1728
 
1700
1729
  result = '<context name="sub_agents" from="agent">\n'
1701
1730
  result += "## Available Sub-Agents\n\n"
1702
- result += f"Found {len(registry)} registered sub-agent(s):\n\n"
1731
+ result += f"Found {len(registry)} registered sub-agent(s) types:\n\n"
1703
1732
 
1704
1733
  for name, config in sorted(registry.items()):
1705
1734
  result += f"**{name}**:\n"
@@ -1708,57 +1737,107 @@ Todo list does not exist. Please update it with the `UpdateTodoList` tool.</cont
1708
1737
  result += f"{desc}\n"
1709
1738
  result += "\n"
1710
1739
 
1711
- result += "Use the `Delegate` tool with the sub-agent name to delegate tasks.\n"
1712
- result += "Use the `Yield` tool to wait for responses for all active sub agents.\n"
1740
+ result += "Use the `Delegate` tool with the sub-agent type to delegate tasks.\n"
1741
+ result += "Use the `Yield` tool to wait for responses for all child sub agents.\n"
1713
1742
  result += "</context>"
1714
1743
  return result
1715
1744
  except Exception as e:
1716
1745
  self.io.tool_error(f"Error generating sub-agents context: {str(e)}")
1717
1746
  return None
1718
1747
 
1719
- def get_child_agent_states(self):
1720
- """Get the state of all active child sub-agents.
1748
+ def get_sub_agent_states(self):
1749
+ """Get the state of all active sub-agents.
1750
+
1751
+ Returns a formatted context block listing each active sub-agent as
1752
+ ``{name} ({uuid}, {status})`` bullets, for both dependent children and
1753
+ independent sub-agents. The independent ones are those reachable via
1754
+ the ``Broadcast`` tool.
1755
+
1756
+ Finished/errored sub-agents are excluded. Returns None if there are no
1757
+ active sub-agents, if enhanced context is disabled, or if the caller is
1758
+ a sub-agent without nested delegation enabled.
1759
+
1760
+ The primary agent and calling agent's own identity are deliberately not
1761
+ included here — they live in ``get_environment_info()`` (a static block)
1762
+ so they don't re-inject and churn the conversation when sub-agent state
1763
+ changes.
1721
1764
 
1722
- Returns a formatted context block with each child sub-agent's name,
1723
- UUID, and current status, or None if no children exist.
1724
1765
  This is used by ConversationChunks.add_sub_agent_states() to provide
1725
1766
  the model with visibility into active sub-agent states.
1726
1767
  """
1727
1768
  if not self.use_enhanced_context:
1728
1769
  return None
1729
1770
 
1730
- # Sub-agents should only see child states when nested delegation is enabled
1771
+ # Sub-agents should only see sub-agent states when nested delegation is enabled
1731
1772
  if hasattr(self, "parent_uuid") and self.parent_uuid:
1732
1773
  if not self.agent_config.get("allow_nested_delegation", False):
1733
1774
  return None
1734
1775
 
1735
1776
  try:
1736
1777
  service = AgentService.get_instance(self)
1778
+
1779
+ from cecli.helpers.agents.service import SubAgentStatus
1780
+
1781
+ originator_uuid = str(self.uuid)
1782
+
1783
+ # Dependent children are the coder's direct children.
1737
1784
  children = service.get_children(self)
1738
- if not children:
1739
- return None
1785
+ dependent_children = [
1786
+ info
1787
+ for info in children
1788
+ if not info.independent
1789
+ and info.status not in (SubAgentStatus.FINISHED, SubAgentStatus.ERROR)
1790
+ ]
1740
1791
 
1741
- # Filter to non-independent children only
1742
- dependent_children = [info for info in children if not info.independent]
1792
+ # Independent agents aren't all direct children, so iterate over
1793
+ # every active sub-agent reachable via the Broadcast tool and dedupe
1794
+ # against the dependent children already captured above.
1795
+ dependent_uuids = {info.coder.uuid for info in dependent_children}
1796
+ independent_agents = []
1797
+ seen = set()
1798
+ for info in service.sub_agents.values():
1799
+ if (
1800
+ info.independent
1801
+ and str(info.coder.uuid) != originator_uuid
1802
+ and info.status not in (SubAgentStatus.ERROR,)
1803
+ and info.coder.uuid not in dependent_uuids
1804
+ and info.coder.uuid not in seen
1805
+ ):
1806
+ seen.add(info.coder.uuid)
1807
+ independent_agents.append(info)
1743
1808
 
1744
- if not dependent_children:
1809
+ if not dependent_children and not independent_agents:
1745
1810
  return None
1746
1811
 
1747
1812
  result = '<context name="sub_agent_states" from="agent">\n'
1748
- result += "## Active Sub-Agent States\n\n"
1749
- result += f"Found {len(dependent_children)} active child sub-agent(s):\n\n"
1750
-
1751
- for info in dependent_children:
1752
- result += f"**{info.name}**:\n"
1753
- result += f" - UUID: `{info.coder.uuid}`\n"
1754
- result += f" - Status: {info.status.value}\n"
1755
- if info.error:
1756
- result += f" - Error: {info.error}\n"
1757
- result += "\n"
1813
+ result += "## Active Sub-Agent Instances\n\n"
1814
+ result += f"Found {len(dependent_children) + len(independent_agents)} active sub-agent(s):\n\n"
1815
+
1816
+ if dependent_children:
1817
+ for info in dependent_children:
1818
+ line = f"- {info.name} ({info.coder.uuid}, {info.status.value})"
1819
+ if info.error:
1820
+ line += f" - Error: {info.error}"
1821
+ result += line + "\n"
1822
+
1823
+ if independent_agents:
1824
+ result += "## Independent Sub-Agent Instances\n"
1825
+ result += (
1826
+ "Communicate bi-directionally with these sub-agents using the "
1827
+ "`Broadcast` tool:\n\n"
1828
+ )
1829
+
1830
+ for info in independent_agents:
1831
+ line = f"- {info.name} ({info.coder.uuid}, {info.status.value})"
1832
+ if info.error:
1833
+ line += f" - Error: {info.error}"
1834
+ result += line + "\n"
1835
+
1758
1836
  result += "</context>"
1759
1837
  return result
1838
+
1760
1839
  except Exception as e:
1761
- self.io.tool_error(f"Error generating child agent states: {str(e)}")
1840
+ self.io.tool_error(f"Error generating sub-agent states: {str(e)}")
1762
1841
  return None
1763
1842
 
1764
1843
  def get_background_command_output(self):
@@ -60,7 +60,7 @@ from cecli.reasoning_tags import (
60
60
  remove_reasoning_content,
61
61
  replace_reasoning_tags,
62
62
  )
63
- from cecli.repo import ANY_GIT_ERROR, GitRepo, GitRepoProxy
63
+ from cecli.repo import ANY_GIT_ERROR, GitRepoProxy
64
64
  from cecli.repomap import RepoMap
65
65
  from cecli.report import update_error_prefix
66
66
  from cecli.run_cmd import run_cmd_async
@@ -193,6 +193,8 @@ class Coder(metaclass=UsageMeta):
193
193
  abs_read_only_stubs_fnames = None
194
194
  abs_rules_fnames = None
195
195
  repo = None
196
+ root = "."
197
+ primary_root = None
196
198
  last_coder_commit_hash = None
197
199
  coder_edited_files = None
198
200
  last_asked_for_commit_time = 0
@@ -327,6 +329,7 @@ class Coder(metaclass=UsageMeta):
327
329
  uuid=from_coder.uuid,
328
330
  parent_uuid=from_coder.parent_uuid,
329
331
  repo=from_coder.repo,
332
+ primary_root=from_coder.primary_root,
330
333
  summarizer=from_coder.summarizer,
331
334
  )
332
335
  use_kwargs.update(update) # override to complete the switch
@@ -451,6 +454,8 @@ class Coder(metaclass=UsageMeta):
451
454
  registered_servers=None,
452
455
  uuid: str = "",
453
456
  parent_uuid: str = "",
457
+ root=None,
458
+ primary_root=None,
454
459
  init_metadata={},
455
460
  ):
456
461
  from cecli.helpers.agents.service import AgentService
@@ -622,13 +627,12 @@ class Coder(metaclass=UsageMeta):
622
627
  self.repo = repo
623
628
  if use_git and self.repo is None:
624
629
  try:
625
- self.repo = GitRepoProxy(
626
- GitRepo(
627
- self.io,
628
- fnames,
629
- None,
630
- models=main_model.commit_message_models(),
631
- )
630
+ self.repo = GitRepoProxy.for_root(
631
+ None,
632
+ self.io,
633
+ fnames=fnames,
634
+ git_dname=None,
635
+ models=main_model.commit_message_models(),
632
636
  )
633
637
  except FileNotFoundError:
634
638
  pass
@@ -665,12 +669,47 @@ class Coder(metaclass=UsageMeta):
665
669
  if not self.repo:
666
670
  self.root = utils.find_common_root(self.abs_fnames)
667
671
 
668
- # Initialize the FileSystemService singleton for all agents
669
- FileSystemService.get_instance(
672
+ # Allow sub-agent classes to override the working root (multi-project workspaces).
673
+ if root is not None:
674
+ self.root = os.path.normpath(os.path.abspath(root))
675
+
676
+ # A sub-agent may operate on a different base path than its parent. In
677
+ # that case its repo must be scoped to *this* root (per-base-path),
678
+ # rather than inheriting the parent's repo, so the coder's repo/fs match
679
+ # its own root.
680
+ if use_git and self.repo is not None and os.path.normpath(self.repo.root) != self.root:
681
+ try:
682
+ self.repo = GitRepoProxy.for_root(
683
+ self.root,
684
+ self.io,
685
+ fnames=[self.root],
686
+ git_dname=None,
687
+ models=main_model.commit_message_models(),
688
+ )
689
+ except FileNotFoundError:
690
+ self.repo = None
691
+
692
+ # Store the root of the primary coder so skills files, custom tools, and
693
+ # sub-agent paths can be resolved relative to the primary workspace even
694
+ # when this coder operates on a different base path.
695
+ self.primary_root = (
696
+ primary_root
697
+ if primary_root is not None
698
+ else getattr(self, "primary_root", None) or self.root
699
+ )
700
+
701
+ # Initialize the per-base-path FileSystemService for this coder
702
+ self.fs = FileSystemService.for_root(
670
703
  root=self.root if hasattr(self, "root") else ".",
671
704
  repo=self.repo if hasattr(self, "repo") else None,
672
705
  )
673
706
 
707
+ # Auto-return the per-root service (and its git repo) when the last
708
+ # coder sharing this base path is destroyed.
709
+ _fs_key = FileSystemService._normalize_root(self.root if hasattr(self, "root") else ".")
710
+ FileSystemService._inc_ref(_fs_key)
711
+ weakref.finalize(self, FileSystemService._release, _fs_key)
712
+
674
713
  if read_only_fnames:
675
714
  self.abs_read_only_fnames = set()
676
715
  for fname in read_only_fnames:
@@ -711,11 +750,7 @@ class Coder(metaclass=UsageMeta):
711
750
  has_map_prompt = nested.getter(self, "gpt_prompts.repo_content_prefix")
712
751
 
713
752
  if use_repo_map and self.repo and has_map_prompt:
714
- repo_root = (
715
- self.repo.workspace_path
716
- if (self.repo and getattr(self.repo, "workspace_path", None))
717
- else self.root
718
- )
753
+ repo_root = self.root
719
754
  self.repo_map = RepoMap(
720
755
  map_tokens,
721
756
  self.map_cache_dir,
@@ -1049,6 +1084,25 @@ class Coder(metaclass=UsageMeta):
1049
1084
  fences = all_fences
1050
1085
  fence = fences[0]
1051
1086
 
1087
+ def resolve_relative_to_primary_root(self, path: str) -> str:
1088
+ """Resolve a path relative to the primary coder's root (falling back to self.root).
1089
+
1090
+ Used for skills files, custom tools, and sub-agent paths that are defined
1091
+ relative to the primary workspace even when this coder operates on a
1092
+ different base path.
1093
+ """
1094
+ if not path:
1095
+ return path
1096
+ if path.startswith("/"):
1097
+ # POSIX-style absolute path (e.g. "/tmp/foo"). os.path.isabs()
1098
+ # returns False for "/"-rooted paths on Windows, so guard here
1099
+ # to avoid re-anchoring them onto the primary root.
1100
+ return path
1101
+ if os.path.isabs(path):
1102
+ return os.path.normpath(path)
1103
+ base = self.primary_root or self.root
1104
+ return os.path.normpath(os.path.join(base, path))
1105
+
1052
1106
  def show_pretty(self):
1053
1107
  if not self.pretty:
1054
1108
  return False
@@ -4568,8 +4622,8 @@ class Coder(metaclass=UsageMeta):
4568
4622
  return
4569
4623
 
4570
4624
  def get_all_relative_files(self):
4571
- """Get all files known to the file service singleton."""
4572
- fs = FileSystemService.get_instance()
4625
+ """Get all files known to the file service for this coder's base path."""
4626
+ fs = getattr(self, "fs", None) or FileSystemService.get_instance()
4573
4627
  if fs.trie:
4574
4628
  # Auto-rebuild if the repository state has changed
4575
4629
  # (e.g., new commits, staged files, or HEAD change)
@@ -55,6 +55,7 @@ from .merge import MergeCommand
55
55
  from .model import ModelCommand
56
56
  from .models import ModelsCommand
57
57
  from .multiline_mode import MultilineModeCommand
58
+ from .open import OpenCommand
58
59
  from .paste import PasteCommand
59
60
  from .queue import QueueCommand
60
61
  from .quit import QuitCommand
@@ -151,6 +152,7 @@ CommandRegistry.register(MergeCommand)
151
152
  CommandRegistry.register(ModelCommand)
152
153
  CommandRegistry.register(ModelsCommand)
153
154
  CommandRegistry.register(MultilineModeCommand)
155
+ CommandRegistry.register(OpenCommand)
154
156
  CommandRegistry.register(PasteCommand)
155
157
  CommandRegistry.register(QueueCommand)
156
158
  CommandRegistry.register(QuitCommand)
@@ -240,6 +242,7 @@ __all__ = [
240
242
  "ModelCommand",
241
243
  "ModelsCommand",
242
244
  "MultilineModeCommand",
245
+ "OpenCommand",
243
246
  "parse_quoted_filenames",
244
247
  "PasteCommand",
245
248
  "quote_filename",
@@ -0,0 +1,76 @@
1
+ """Open command - register and open a workspace sub-agent rooted at a path."""
2
+
3
+ from pathlib import Path
4
+
5
+ from cecli.helpers.agents.service import AgentService
6
+ from cecli.helpers.workspaces.subagents import register_workspace_subagents
7
+
8
+ from .utils.base_command import BaseCommand
9
+
10
+
11
+ class OpenCommand(BaseCommand):
12
+ NORM_NAME = "open"
13
+ DESCRIPTION = "Open a workspace sub-agent rooted at a given path"
14
+
15
+ @classmethod
16
+ async def execute(cls, io, coder, args, **kwargs):
17
+ """Open a workspace sub-agent rooted at the given path.
18
+
19
+ Syntax:
20
+ /open <name> <path> — register and open a ``ws:{name}`` sub-agent rooted at ``<path>``
21
+ """
22
+ parts = args.strip().split(maxsplit=1)
23
+ if len(parts) < 2:
24
+ io.tool_error("Usage: /open <name> <path>")
25
+ return
26
+
27
+ name = parts[0]
28
+ path_arg = parts[1].strip()
29
+
30
+ project_name = name[3:] if name.startswith("ws:") else name
31
+ agent_name = f"ws:{project_name}"
32
+ path = Path(path_arg).expanduser()
33
+
34
+ config = {
35
+ "name": project_name,
36
+ "projects": [{"name": project_name, "path": str(path)}],
37
+ }
38
+ registered = register_workspace_subagents(config)
39
+ if agent_name not in registered:
40
+ io.tool_error(f"Error: '{path}' is not a valid git repository or does not exist.")
41
+ return
42
+
43
+ root = AgentService.get_registry()[agent_name].metadata.get("root")
44
+
45
+ try:
46
+ agent_service = AgentService.get_instance(coder)
47
+ new_coder, info = await agent_service.spawn(
48
+ agent_name, prompt=None, parent=coder, auto_reap=False, independent=True
49
+ )
50
+
51
+ agent_service.foreground_uuid = info.coder.uuid
52
+
53
+ if coder.tui and coder.tui():
54
+ tui = coder.tui()
55
+ switch_key = tui.get_keys_for("next_agent")
56
+ io.tool_output(
57
+ f"Opened workspace sub-agent '{agent_name}' rooted at {root}. Switch with {switch_key}"
58
+ )
59
+
60
+ try:
61
+ tui.call_from_thread(tui._switch_to_container, info.coder.uuid)
62
+ except Exception:
63
+ pass
64
+ else:
65
+ io.tool_output(f"Opened workspace sub-agent '{agent_name}' rooted at {root}.")
66
+ except Exception as e:
67
+ io.tool_error(f"Error opening workspace sub-agent '{agent_name}': {e}")
68
+
69
+ @classmethod
70
+ def get_help(cls) -> str:
71
+ return "Open a workspace sub-agent rooted at a path (/open <name> <path>)"
72
+
73
+ @classmethod
74
+ def get_completions(cls, io, coder, args) -> list[str]:
75
+ """Return registered workspace sub-agent names for tab-completion."""
76
+ return [name for name in AgentService.get_registry().keys() if name.startswith("ws:")]
@@ -159,7 +159,7 @@ def get_file_completions(
159
159
  root = Path(coder.root) if hasattr(coder, "root") else Path.cwd()
160
160
 
161
161
  # Try using FileSystemService for efficient lookups
162
- fs = FileSystemService.get_instance()
162
+ fs = getattr(coder, "fs", None) or FileSystemService.get_instance()
163
163
  fs_available = fs.trie is not None or fs.ngram is not None
164
164
 
165
165
  if completion_type == "glob":
@@ -0,0 +1,35 @@
1
+ from cecli.commands.utils.base_command import BaseCommand
2
+
3
+
4
+ class WorkspaceCommand(BaseCommand):
5
+ NORM_NAME = "workspace"
6
+ DESCRIPTION = "Print information about the active workspace sub-agents"
7
+ show_completion_notification = True
8
+
9
+ @classmethod
10
+ async def execute(cls, io, coder, args, **kwargs):
11
+ """Show the registered ws:{name} workspace sub-agents and their roots."""
12
+ from cecli.helpers.agents.service import AgentService
13
+
14
+ registry = AgentService.get_registry()
15
+ ws_agents = sorted((name, cfg) for name, cfg in registry.items() if name.startswith("ws:"))
16
+
17
+ if not ws_agents:
18
+ io.tool_output("No workspace sub-agents are active.")
19
+ return
20
+
21
+ io.print("Workspace Sub-Agents:")
22
+ for name, cfg in ws_agents:
23
+ metadata = getattr(cfg, "metadata", {}) or {}
24
+ io.print(f" - {name}")
25
+ io.print(f" Root: {metadata.get('root')}")
26
+ io.print(f" Layout: {metadata.get('layout')}")
27
+ io.print("")
28
+
29
+ @classmethod
30
+ def get_help(cls) -> str:
31
+ """Get help text for the workspace command."""
32
+ help_text = super().get_help()
33
+ help_text += "\nUsage:\n"
34
+ help_text += " /workspace # List active workspace sub-agents\n"
35
+ return help_text