cecli-dev 1.6.0rc5__tar.gz → 1.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (865) hide show
  1. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/PKG-INFO +1 -1
  2. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/_version.py +3 -3
  3. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/base_coder.py +2 -1
  4. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/list_sessions.py +1 -1
  5. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load_session.py +6 -3
  6. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/save_session.py +6 -2
  7. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashpos/transformations.py +1 -1
  8. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/pipeline.py +4 -2
  9. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_providers.py +4 -0
  10. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/agent_proxy.py +17 -0
  11. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/environment.py +4 -2
  12. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/safe_methods.py +11 -10
  13. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/tool_proxy.py +83 -4
  14. cecli_dev-1.6.1/cecli/helpers/sessions/__init__.py +20 -0
  15. cecli_dev-1.6.1/cecli/helpers/sessions/layout.py +112 -0
  16. cecli_dev-1.6.1/cecli/helpers/sessions/manager.py +325 -0
  17. cecli_dev-1.6.1/cecli/helpers/sessions/payload.py +287 -0
  18. cecli_dev-1.6.1/cecli/helpers/sessions/storage.py +245 -0
  19. cecli_dev-1.6.1/cecli/helpers/sessions/subagents.py +152 -0
  20. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/main.py +1 -1
  21. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/server.py +17 -1
  22. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/model-metadata.ext.json +32 -0
  23. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/model-metadata.json +16442 -10023
  24. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/providers.json +2 -1
  25. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/broadcast.py +4 -5
  26. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/grep.py +11 -4
  27. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/read_file.py +4 -4
  28. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/styles.tcss +1 -1
  29. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/output.py +5 -0
  30. cecli_dev-1.6.1/cecli/tui/widgets/thin_scrollbar.py +58 -0
  31. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/PKG-INFO +1 -1
  32. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/SOURCES.txt +8 -1
  33. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/scm_file_list.json +8 -1
  34. cecli_dev-1.6.1/cecli_dev.egg-info/scm_version.json +8 -0
  35. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_sessions.py +1 -1
  36. cecli_dev-1.6.1/tests/basic/test_sessions_manager.py +473 -0
  37. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_orchestration.py +103 -7
  38. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_server_sdk_compat.py +19 -0
  39. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_grep.py +23 -0
  40. cecli_dev-1.6.1/tests/tui/test_output.py +24 -0
  41. cecli_dev-1.6.0rc5/cecli/sessions.py +0 -505
  42. cecli_dev-1.6.0rc5/cecli_dev.egg-info/scm_version.json +0 -8
  43. cecli_dev-1.6.0rc5/tests/basic/test_sessions_manager.py +0 -219
  44. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.dockerignore +0 -0
  45. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.flake8 +0 -0
  46. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.gitattributes +0 -0
  47. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
  48. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/check_pypi_version.yml +0 -0
  49. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/docker-build-test.yml +0 -0
  50. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/docker-release.yml +0 -0
  51. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/issues.yml +0 -0
  52. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/pages.yml +0 -0
  53. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/pre-commit.yml +0 -0
  54. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/release.yml +0 -0
  55. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/ubuntu-tests.yml +0 -0
  56. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/windows-tests.yml +0 -0
  57. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/windows_check_pypi_version.yml +0 -0
  58. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.gitignore +0 -0
  59. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.pre-commit-config.yaml +0 -0
  60. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/CHANGELOG.md +0 -0
  61. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/CNAME +0 -0
  62. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/CONTRIBUTING.md +0 -0
  63. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/HISTORY.md +0 -0
  64. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/LICENSE.txt +0 -0
  65. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/MANIFEST.in +0 -0
  66. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/README.md +0 -0
  67. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/Dockerfile +0 -0
  68. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/README.md +0 -0
  69. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/__init__.py +0 -0
  70. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/benchmark.py +0 -0
  71. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/benchmark_classic.py +0 -0
  72. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/clone-exercism.sh +0 -0
  73. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/cpp-test.sh +0 -0
  74. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/docker.sh +0 -0
  75. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/docker_build.sh +0 -0
  76. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/install-docker-ubuntu.sh +0 -0
  77. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/npm-test.sh +0 -0
  78. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/over_time.py +0 -0
  79. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/plot.sh +0 -0
  80. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/plots.py +0 -0
  81. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/problem_stats.py +0 -0
  82. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/prompts.py +0 -0
  83. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/refactor_tools.py +0 -0
  84. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/rsync.sh +0 -0
  85. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/rungrid.py +0 -0
  86. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/swe-bench-lite.txt +0 -0
  87. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/swe-bench.txt +0 -0
  88. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/swe_bench.py +0 -0
  89. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/test_benchmark.py +0 -0
  90. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/variations.1.sh +0 -0
  91. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/variations.2.sh +0 -0
  92. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/variations.3.sh +0 -0
  93. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/variations.4.sh +0 -0
  94. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/__init__.py +0 -0
  95. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/__main__.py +0 -0
  96. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/args.py +0 -0
  97. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/args_formatter.py +0 -0
  98. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/change_tracker.py +0 -0
  99. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/__init__.py +0 -0
  100. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/agent_coder.py +0 -0
  101. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/architect_coder.py +0 -0
  102. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/ask_coder.py +0 -0
  103. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/chat_chunks.py +0 -0
  104. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/context_coder.py +0 -0
  105. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/copypaste_coder.py +0 -0
  106. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editblock_coder.py +0 -0
  107. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editblock_fenced_coder.py +0 -0
  108. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editblock_func_coder.py +0 -0
  109. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editor_diff_fenced_coder.py +0 -0
  110. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editor_editblock_coder.py +0 -0
  111. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editor_whole_coder.py +0 -0
  112. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/hashline_coder.py +0 -0
  113. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/help_coder.py +0 -0
  114. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/patch_coder.py +0 -0
  115. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/search_replace.py +0 -0
  116. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/shell.py +0 -0
  117. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/single_wholefile_func_coder.py +0 -0
  118. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/sub_agent_coder.py +0 -0
  119. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/udiff_coder.py +0 -0
  120. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/udiff_simple.py +0 -0
  121. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/wholefile_coder.py +0 -0
  122. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/wholefile_func_coder.py +0 -0
  123. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/__init__.py +0 -0
  124. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/add.py +0 -0
  125. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/agent.py +0 -0
  126. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/agent_model.py +0 -0
  127. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/agent_tree.py +0 -0
  128. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/architect.py +0 -0
  129. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/ask.py +0 -0
  130. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/auto_memory.py +0 -0
  131. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/chat_mode.py +0 -0
  132. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/clear.py +0 -0
  133. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/code.py +0 -0
  134. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/command_prefix.py +0 -0
  135. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/commit.py +0 -0
  136. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/compact.py +0 -0
  137. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/context.py +0 -0
  138. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/context_blocks.py +0 -0
  139. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/context_management.py +0 -0
  140. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/copy.py +0 -0
  141. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/copy_context.py +0 -0
  142. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/core.py +0 -0
  143. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/diff.py +0 -0
  144. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/drop.py +0 -0
  145. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/editor.py +0 -0
  146. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/editor_model.py +0 -0
  147. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/exclude_skill.py +0 -0
  148. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/exit.py +0 -0
  149. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/git.py +0 -0
  150. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/hashline.py +0 -0
  151. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/help.py +0 -0
  152. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/history_search.py +0 -0
  153. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/hooks.py +0 -0
  154. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/hot_reload.py +0 -0
  155. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/import_skill.py +0 -0
  156. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/include_skill.py +0 -0
  157. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/insert_queue.py +0 -0
  158. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/lint.py +0 -0
  159. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/list_mcp.py +0 -0
  160. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/list_queue.py +0 -0
  161. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/list_skills.py +0 -0
  162. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load.py +0 -0
  163. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load_hook.py +0 -0
  164. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load_mcp.py +0 -0
  165. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load_skill.py +0 -0
  166. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/ls.py +0 -0
  167. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/map.py +0 -0
  168. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/map_refresh.py +0 -0
  169. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/merge.py +0 -0
  170. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/model.py +0 -0
  171. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/models.py +0 -0
  172. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/multiline_mode.py +0 -0
  173. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/paste.py +0 -0
  174. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/queue.py +0 -0
  175. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/quit.py +0 -0
  176. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/read_only.py +0 -0
  177. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/read_only_stub.py +0 -0
  178. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/reap_agent.py +0 -0
  179. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/reasoning_effort.py +0 -0
  180. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_hook.py +0 -0
  181. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_mcp.py +0 -0
  182. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_memory.py +0 -0
  183. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_queue.py +0 -0
  184. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_skill.py +0 -0
  185. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/report.py +0 -0
  186. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/reset.py +0 -0
  187. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/rules.py +0 -0
  188. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/run.py +0 -0
  189. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/save.py +0 -0
  190. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/search_memory.py +0 -0
  191. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/settings.py +0 -0
  192. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/spawn_agent.py +0 -0
  193. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/switch_agent.py +0 -0
  194. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/terminal_data/linux.keytab +0 -0
  195. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/terminal_setup.py +0 -0
  196. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/test.py +0 -0
  197. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/think_tokens.py +0 -0
  198. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/tokens.py +0 -0
  199. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/undo.py +0 -0
  200. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/__init__.py +0 -0
  201. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/base_command.py +0 -0
  202. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/helpers.py +0 -0
  203. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/registry.py +0 -0
  204. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/save_load_manager.py +0 -0
  205. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/voice.py +0 -0
  206. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/weak_model.py +0 -0
  207. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/web.py +0 -0
  208. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/workspace.py +0 -0
  209. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/decoding.py +0 -0
  210. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/deprecated_args.py +0 -0
  211. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/diffs.py +0 -0
  212. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/dump.py +0 -0
  213. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/editor.py +0 -0
  214. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/exceptions.py +0 -0
  215. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/format_settings.py +0 -0
  216. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/help.py +0 -0
  217. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/help_pats.py +0 -0
  218. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/__init__.py +0 -0
  219. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/__init__.py +0 -0
  220. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/config.py +0 -0
  221. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/defaults/__init__.py +0 -0
  222. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/defaults/memorizer.md +0 -0
  223. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/defaults/worker.md +0 -0
  224. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/service.py +0 -0
  225. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/background_commands.py +0 -0
  226. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/command_parser.py +0 -0
  227. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/command_queue.py +0 -0
  228. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/config_utils.py +0 -0
  229. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/__init__.py +0 -0
  230. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/base_message.py +0 -0
  231. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/files.py +0 -0
  232. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/integration.py +0 -0
  233. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/manager.py +0 -0
  234. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/service.py +0 -0
  235. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/tags.py +0 -0
  236. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/utils.py +0 -0
  237. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/copypaste.py +0 -0
  238. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/coroutines.py +0 -0
  239. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/crypto.py +0 -0
  240. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/extensions/__init__.py +0 -0
  241. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/extensions/skills_importer.py +0 -0
  242. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_searcher.py +0 -0
  243. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/__init__.py +0 -0
  244. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/builders.py +0 -0
  245. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/ignore.py +0 -0
  246. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/ngram_index.py +0 -0
  247. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/service.py +0 -0
  248. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/trie_index.py +0 -0
  249. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/__init__.py +0 -0
  250. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/dump.py +0 -0
  251. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/grep_ast.py +0 -0
  252. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/main.py +0 -0
  253. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/parsers.py +0 -0
  254. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/tsl.py +0 -0
  255. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashline.py +0 -0
  256. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashpos/__init__.py +0 -0
  257. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashpos/hashpos.py +0 -0
  258. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
  259. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/io_proxy.py +0 -0
  260. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/leak_detect.py +0 -0
  261. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/__init__.py +0 -0
  262. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/aws_sigv4.py +0 -0
  263. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/config.py +0 -0
  264. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/__init__.py +0 -0
  265. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/bedrock.py +0 -0
  266. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/chat.py +0 -0
  267. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/gemini.py +0 -0
  268. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/messages.py +0 -0
  269. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/responses.py +0 -0
  270. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/formatters/__init__.py +0 -0
  271. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/formatters/reasoning.py +0 -0
  272. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/formatters/thinking.py +0 -0
  273. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/identifiers.py +0 -0
  274. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/litellm_compat.py +0 -0
  275. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/pipeline.py +0 -0
  276. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/__init__.py +0 -0
  277. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/anthropic.py +0 -0
  278. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/azure.py +0 -0
  279. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/base.py +0 -0
  280. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/bedrock.py +0 -0
  281. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/bedrock_mantle.py +0 -0
  282. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/deepseek.py +0 -0
  283. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/gemini.py +0 -0
  284. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/github_copilot.py +0 -0
  285. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/meta.py +0 -0
  286. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/mistral.py +0 -0
  287. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/openai.py +0 -0
  288. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/openrouter.py +0 -0
  289. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/runtime.py +0 -0
  290. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/types.py +0 -0
  291. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/utils.py +0 -0
  292. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/lock_detect.py +0 -0
  293. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/loop_detect.py +0 -0
  294. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/memory/__init__.py +0 -0
  295. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/memory/db.py +0 -0
  296. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/memory/utils.py +0 -0
  297. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/memory_control.py +0 -0
  298. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/__init__.py +0 -0
  299. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/agent.py +0 -0
  300. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/api.py +0 -0
  301. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/formatters/__init__.py +0 -0
  302. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/formatters/reasoning.py +0 -0
  303. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/formatters/thinking.py +0 -0
  304. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/identifiers.py +0 -0
  305. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/llm.py +0 -0
  306. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/registry.py +0 -0
  307. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/utils.py +0 -0
  308. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/nested.py +0 -0
  309. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/observations/__init__.py +0 -0
  310. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/observations/service.py +0 -0
  311. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/onboarding/__init__.py +0 -0
  312. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/onboarding/app.py +0 -0
  313. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/onboarding/providers.py +0 -0
  314. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/__init__.py +0 -0
  315. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/region_resolver.py +0 -0
  316. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/security.py +0 -0
  317. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/service.py +0 -0
  318. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/plugin_manager.py +0 -0
  319. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/profiler.py +0 -0
  320. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/queues.py +0 -0
  321. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/requests.py +0 -0
  322. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/responses.py +0 -0
  323. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/__init__.py +0 -0
  324. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/acp/__init__.py +0 -0
  325. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/acp/bridge.py +0 -0
  326. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/acp/models.py +0 -0
  327. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/acp/protocol.py +0 -0
  328. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/signals.py +0 -0
  329. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/ws_server.py +0 -0
  330. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/similarity.py +0 -0
  331. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/skills.py +0 -0
  332. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/threading.py +0 -0
  333. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/__init__.py +0 -0
  334. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/config.py +0 -0
  335. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/paths.py +0 -0
  336. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/subagents.py +0 -0
  337. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/workspace.py +0 -0
  338. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/history.py +0 -0
  339. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/__init__.py +0 -0
  340. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/base.py +0 -0
  341. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/helpers.py +0 -0
  342. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/integration.py +0 -0
  343. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/manager.py +0 -0
  344. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/registry.py +0 -0
  345. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/service.py +0 -0
  346. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/types.py +0 -0
  347. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/http.py +0 -0
  348. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/interruptible_input.py +0 -0
  349. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/io.py +0 -0
  350. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/linter.py +0 -0
  351. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/llm.py +0 -0
  352. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/__init__.py +0 -0
  353. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/manager.py +0 -0
  354. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/oauth.py +0 -0
  355. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/utils.py +0 -0
  356. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mdstream.py +0 -0
  357. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/models.py +0 -0
  358. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/onboarding.py +0 -0
  359. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/__init__.py +0 -0
  360. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/agent.yml +0 -0
  361. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/architect.yml +0 -0
  362. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/ask.yml +0 -0
  363. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/base.yml +0 -0
  364. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/context.yml +0 -0
  365. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/copypaste.yml +0 -0
  366. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editblock.yml +0 -0
  367. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editblock_fenced.yml +0 -0
  368. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editblock_func.yml +0 -0
  369. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editor_diff_fenced.yml +0 -0
  370. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editor_editblock.yml +0 -0
  371. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editor_whole.yml +0 -0
  372. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/hashline.yml +0 -0
  373. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/help.yml +0 -0
  374. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/patch.yml +0 -0
  375. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/single_wholefile_func.yml +0 -0
  376. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/subagent.yml +0 -0
  377. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/udiff.yml +0 -0
  378. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/udiff_simple.yml +0 -0
  379. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/utils/__init__.py +0 -0
  380. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/utils/registry.py +0 -0
  381. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/utils/system.py +0 -0
  382. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/wholefile.yml +0 -0
  383. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/wholefile_func.yml +0 -0
  384. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
  385. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  386. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
  387. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  388. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  389. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
  390. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  391. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  392. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  393. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  394. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  395. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  396. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  397. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  398. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  399. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  400. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  401. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  402. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  403. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
  404. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
  405. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
  406. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  407. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  408. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  409. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  410. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  411. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  412. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  413. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  414. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  415. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  416. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/README.md +0 -0
  417. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
  418. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
  419. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  420. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  421. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
  422. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  423. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  424. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
  425. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
  426. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
  427. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
  428. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  429. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
  430. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  431. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
  432. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  433. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
  434. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  435. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
  436. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
  437. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
  438. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
  439. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  440. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
  441. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
  442. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  443. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
  444. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/reasoning_tags.py +0 -0
  445. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/repo.py +0 -0
  446. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/repomap.py +0 -0
  447. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/report.py +0 -0
  448. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/__init__.py +0 -0
  449. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/model-settings-condensed.yml +0 -0
  450. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/model-settings.yml +0 -0
  451. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/run_cmd.py +0 -0
  452. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/scrape.py +0 -0
  453. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/sendchat.py +0 -0
  454. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/signals.py +0 -0
  455. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/special.py +0 -0
  456. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tests/test_queue_commands.py +0 -0
  457. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/__init__.py +0 -0
  458. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/_yield.py +0 -0
  459. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/command.py +0 -0
  460. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/delegate.py +0 -0
  461. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/edit_file.py +0 -0
  462. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/explore_code.py +0 -0
  463. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_branch.py +0 -0
  464. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_diff.py +0 -0
  465. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_log.py +0 -0
  466. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_remote.py +0 -0
  467. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_show.py +0 -0
  468. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_status.py +0 -0
  469. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/ls.py +0 -0
  470. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/orchestrate.py +0 -0
  471. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/replace_facts.py +0 -0
  472. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/resource_manager.py +0 -0
  473. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/search_facts.py +0 -0
  474. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/thinking.py +0 -0
  475. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/undo_change.py +0 -0
  476. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/update_todo_list.py +0 -0
  477. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/__init__.py +0 -0
  478. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/base_tool.py +0 -0
  479. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/helpers.py +0 -0
  480. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/output.py +0 -0
  481. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/registry.py +0 -0
  482. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/responses.py +0 -0
  483. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/validations/__init__.py +0 -0
  484. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/validations/validations.py +0 -0
  485. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/__init__.py +0 -0
  486. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/app.py +0 -0
  487. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/io.py +0 -0
  488. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/__init__.py +0 -0
  489. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/completion_bar.py +0 -0
  490. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/file_list.py +0 -0
  491. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/footer.py +0 -0
  492. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/input_area.py +0 -0
  493. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/input_container.py +0 -0
  494. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/key_hints.py +0 -0
  495. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/output_alt.bak +0 -0
  496. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/selectable_log.py +0 -0
  497. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/status_bar.py +0 -0
  498. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/subagent_pills.py +0 -0
  499. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/worker.py +0 -0
  500. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/urls.py +0 -0
  501. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/utils.py +0 -0
  502. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/versioncheck.py +0 -0
  503. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/voice.py +0 -0
  504. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/waiting.py +0 -0
  505. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/watch.py +0 -0
  506. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/watch_prompts.py +0 -0
  507. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/blame.md +0 -0
  508. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/get-started.md +0 -0
  509. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/help-tip.md +0 -0
  510. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/help.md +0 -0
  511. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/install.md +0 -0
  512. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/keys.md +0 -0
  513. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/model-warnings.md +0 -0
  514. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/multi-line.md +0 -0
  515. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/python-m-aider.md +0 -0
  516. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/recording.css +0 -0
  517. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/recording.md +0 -0
  518. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/works-best.md +0 -0
  519. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_features.scss +0 -0
  520. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_footer.scss +0 -0
  521. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_hero.scss +0 -0
  522. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_info.scss +0 -0
  523. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_layout.scss +0 -0
  524. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_reset.scss +0 -0
  525. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_testimonials.scss +0 -0
  526. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_typography.scss +0 -0
  527. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_variables.scss +0 -0
  528. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/custom/custom.scss +0 -0
  529. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/global-overrides.scss +0 -0
  530. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docmd.config.json +0 -0
  531. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/cecli-temp-logo-favicon.svg +0 -0
  532. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/adv-model-settings.md +0 -0
  533. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/agent-mode.md +0 -0
  534. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/api-keys.md +0 -0
  535. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/api.md +0 -0
  536. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/conf.md +0 -0
  537. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/custom-commands.md +0 -0
  538. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/custom-system-prompts.md +0 -0
  539. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/dotenv.md +0 -0
  540. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/editor.md +0 -0
  541. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/hooks.md +0 -0
  542. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/mcp.md +0 -0
  543. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/model-aliases.md +0 -0
  544. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/model-configuration.md +0 -0
  545. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/model-providers.md +0 -0
  546. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/options.md +0 -0
  547. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/persistent-memory.md +0 -0
  548. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/reasoning.md +0 -0
  549. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/retries.md +0 -0
  550. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/security.md +0 -0
  551. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/skills.md +0 -0
  552. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/subagents.md +0 -0
  553. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/tui.md +0 -0
  554. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/workspaces.md +0 -0
  555. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config.md +0 -0
  556. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/git.md +0 -0
  557. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/index.md +0 -0
  558. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/install/docker.md +0 -0
  559. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/install.md +0 -0
  560. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/languages.md +0 -0
  561. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/legal/contributor-agreement.md +0 -0
  562. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/legal/privacy.md +0 -0
  563. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/anthropic.md +0 -0
  564. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/azure.md +0 -0
  565. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/bedrock.md +0 -0
  566. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/cohere.md +0 -0
  567. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/deepseek.md +0 -0
  568. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/gemini.md +0 -0
  569. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/github.md +0 -0
  570. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/groq.md +0 -0
  571. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/lm-studio.md +0 -0
  572. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/ollama.md +0 -0
  573. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/openai-compat.md +0 -0
  574. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/openai.md +0 -0
  575. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/opencode-go.md +0 -0
  576. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/openrouter.md +0 -0
  577. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/other.md +0 -0
  578. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/vertex.md +0 -0
  579. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/warnings.md +0 -0
  580. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/xai.md +0 -0
  581. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms.md +0 -0
  582. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/more/analytics.md +0 -0
  583. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/more/edit-formats.md +0 -0
  584. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/more/infinite-output.md +0 -0
  585. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/more-info.md +0 -0
  586. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/repomap.md +0 -0
  587. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/scripting.md +0 -0
  588. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
  589. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
  590. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/imports.md +0 -0
  591. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
  592. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/support.md +0 -0
  593. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
  594. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/warnings.md +0 -0
  595. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting.md +0 -0
  596. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/commands.md +0 -0
  597. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/conventions.md +0 -0
  598. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/copypaste.md +0 -0
  599. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/images-urls.md +0 -0
  600. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/lint-test.md +0 -0
  601. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/modes.md +0 -0
  602. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/not-code.md +0 -0
  603. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/notifications.md +0 -0
  604. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/optional.md +0 -0
  605. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/sessions.md +0 -0
  606. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/tips.md +0 -0
  607. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/voice.md +0 -0
  608. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/watch.md +0 -0
  609. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage.md +0 -0
  610. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/package-lock.json +0 -0
  611. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/package.json +0 -0
  612. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/share/index.md +0 -0
  613. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/dependency_links.txt +0 -0
  614. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/entry_points.txt +0 -0
  615. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/requires.txt +0 -0
  616. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/top_level.txt +0 -0
  617. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/docker/Dockerfile +0 -0
  618. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
  619. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/pyproject.toml +0 -0
  620. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/pytest.ini +0 -0
  621. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/common-constraints.txt +0 -0
  622. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-dev.in +0 -0
  623. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-dev.txt +0 -0
  624. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-help.in +0 -0
  625. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-help.txt +0 -0
  626. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-playwright.in +0 -0
  627. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-playwright.txt +0 -0
  628. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements.in +0 -0
  629. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/tree-sitter.in +0 -0
  630. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements.txt +0 -0
  631. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/30k-image.py +0 -0
  632. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/__init__.py +0 -0
  633. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/blame.py +0 -0
  634. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/clean_metadata.py +0 -0
  635. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/compare-message-history.py +0 -0
  636. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/condense_model_settings.py +0 -0
  637. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/cost_analyzer.py +0 -0
  638. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/cost_calculator.py +0 -0
  639. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/dl_icons.py +0 -0
  640. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/docmd_build.sh +0 -0
  641. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/filter-chat-mode.js +0 -0
  642. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/generate_providers.py +0 -0
  643. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/get_contributor_list.js +0 -0
  644. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/get_hashline.py +0 -0
  645. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/history_prompts.py +0 -0
  646. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/homepage.py +0 -0
  647. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/issues.py +0 -0
  648. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/logo_svg.py +0 -0
  649. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/optimize_tokens.sh +0 -0
  650. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/pip-compile.sh +0 -0
  651. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/recording_audio.py +0 -0
  652. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/redact-cast.py +0 -0
  653. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/rename_to_cecli.py +0 -0
  654. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/tmux_record.sh +0 -0
  655. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/tsl_pack_langs.py +0 -0
  656. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/update-blame.sh +0 -0
  657. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/update-docs.sh +0 -0
  658. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/update-history.py +0 -0
  659. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/versionbump.py +0 -0
  660. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/yank-old-versions.py +0 -0
  661. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/setup.cfg +0 -0
  662. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/shim.pyproject.toml +0 -0
  663. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/__init__.py +0 -0
  664. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/__init__.py +0 -0
  665. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/conftest.py +0 -0
  666. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_agent_config_merge.py +0 -0
  667. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_aws_credentials.py +0 -0
  668. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_background_commands.py +0 -0
  669. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_coder.py +0 -0
  670. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_commands.py +0 -0
  671. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_custom_commands.py +0 -0
  672. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_deprecated.py +0 -0
  673. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_editblock.py +0 -0
  674. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_editor.py +0 -0
  675. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_exceptions.py +0 -0
  676. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_file_system_service.py +0 -0
  677. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_find_or_blocks.py +0 -0
  678. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_hashline.py +0 -0
  679. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_hashline_closure.py +0 -0
  680. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_history.py +0 -0
  681. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_io.py +0 -0
  682. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_linter.py +0 -0
  683. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_main.py +0 -0
  684. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_model_info_manager.py +0 -0
  685. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_model_provider_manager.py +0 -0
  686. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_models.py +0 -0
  687. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_onboarding.py +0 -0
  688. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_plugin_manager.py +0 -0
  689. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_prompts.py +0 -0
  690. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_reasoning.py +0 -0
  691. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_repo.py +0 -0
  692. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_repomap.py +0 -0
  693. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_run_cmd.py +0 -0
  694. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_sanity_check_repo.py +0 -0
  695. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_scripting.py +0 -0
  696. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_select_selector.py +0 -0
  697. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_sendchat.py +0 -0
  698. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_session_args.py +0 -0
  699. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_session_crypto.py +0 -0
  700. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_skills.py +0 -0
  701. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_special.py +0 -0
  702. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_spinner.py +0 -0
  703. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_ssl_verification.py +0 -0
  704. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_udiff.py +0 -0
  705. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_urls.py +0 -0
  706. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_voice.py +0 -0
  707. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_watch.py +0 -0
  708. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_wholefile.py +0 -0
  709. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/coders/test_coder_switching.py +0 -0
  710. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/coders/test_copypaste_coder.py +0 -0
  711. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/coders/test_rate_limit.py +0 -0
  712. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/coders/test_tool_call_consolidation.py +0 -0
  713. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_auto_memory.py +0 -0
  714. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_compaction.py +0 -0
  715. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_remove_memory.py +0 -0
  716. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_search_memory.py +0 -0
  717. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_switch_agent.py +0 -0
  718. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_voice.py +0 -0
  719. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_workspace.py +0 -0
  720. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/conftest.py +0 -0
  721. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/conversations/test_background_command_injection.py +0 -0
  722. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/conversations/test_conversation_integration.py +0 -0
  723. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/conversations/test_conversation_system.py +0 -0
  724. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
  725. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/chat-history.md +0 -0
  726. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/arduino/test.ino +0 -0
  727. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/bash/test.sh +0 -0
  728. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/c/test.c +0 -0
  729. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/chatito/test.chatito +0 -0
  730. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/clojure/test.clj +0 -0
  731. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
  732. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/cpp/test.cpp +0 -0
  733. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/csharp/test.cs +0 -0
  734. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/d/test.d +0 -0
  735. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/dart/test.dart +0 -0
  736. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/elisp/test.el +0 -0
  737. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/elixir/test.ex +0 -0
  738. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/elm/test.elm +0 -0
  739. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/gleam/test.gleam +0 -0
  740. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/go/test.go +0 -0
  741. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/haskell/test.hs +0 -0
  742. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/hcl/test.tf +0 -0
  743. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/java/test.java +0 -0
  744. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/javascript/test.js +0 -0
  745. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/kotlin/test.kt +0 -0
  746. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/lua/test.lua +0 -0
  747. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/matlab/test.m +0 -0
  748. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/ocaml/test.ml +0 -0
  749. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
  750. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/php/test.php +0 -0
  751. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/pony/test.pony +0 -0
  752. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/properties/test.properties +0 -0
  753. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/python/test.py +0 -0
  754. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/ql/test.ql +0 -0
  755. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/r/test.r +0 -0
  756. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/racket/test.rkt +0 -0
  757. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/ruby/test.rb +0 -0
  758. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/rust/test.rs +0 -0
  759. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/scala/test.scala +0 -0
  760. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/solidity/test.sol +0 -0
  761. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/swift/test.swift +0 -0
  762. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/tsx/test.tsx +0 -0
  763. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/typescript/test.ts +0 -0
  764. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/udev/test.rules +0 -0
  765. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/zig/test.zig +0 -0
  766. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/sample-code-base/sample.js +0 -0
  767. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/sample-code-base/sample.py +0 -0
  768. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
  769. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/watch.js +0 -0
  770. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/watch.lisp +0 -0
  771. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/watch.py +0 -0
  772. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/watch_question.js +0 -0
  773. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/help/test_help.py +0 -0
  774. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/observations/test_observation_service.py +0 -0
  775. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/__init__.py +0 -0
  776. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/test_bridge.py +0 -0
  777. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/test_dispatch.py +0 -0
  778. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/test_models.py +0 -0
  779. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/test_protocol.py +0 -0
  780. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_api_base.py +0 -0
  781. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_aws_sigv4.py +0 -0
  782. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_cache_control.py +0 -0
  783. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_gemini_auth.py +0 -0
  784. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_github_copilot_auth.py +0 -0
  785. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_hyperscalers.py +0 -0
  786. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_messages_stream.py +0 -0
  787. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_messages_wire.py +0 -0
  788. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_mistral_adapter.py +0 -0
  789. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_mistral_provider.py +0 -0
  790. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_providers_json.py +0 -0
  791. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_reasoning_config.py +0 -0
  792. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_reasoning_extract.py +0 -0
  793. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_reasoning_summaries.py +0 -0
  794. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_vision.py +0 -0
  795. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_loop_detect.py +0 -0
  796. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_memory_control.py +0 -0
  797. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_model_config.py +0 -0
  798. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_onboarding.py +0 -0
  799. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_skills_importer.py +0 -0
  800. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/conftest.py +0 -0
  801. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/test_config.py +0 -0
  802. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/test_paths.py +0 -0
  803. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/test_subagents.py +0 -0
  804. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/test_workspace_manager.py +0 -0
  805. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/hooks/__init__.py +0 -0
  806. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/hooks/test_base.py +0 -0
  807. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/hooks/test_manager.py +0 -0
  808. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/hooks/test_registry.py +0 -0
  809. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/integration/test_agent_mcp_management.py +0 -0
  810. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/integration/test_config_loading.py +0 -0
  811. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/integration/test_mcp_management.py +0 -0
  812. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/__init__.py +0 -0
  813. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/conftest.py +0 -0
  814. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/mock_server.py +0 -0
  815. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_concurrency.py +0 -0
  816. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_config.py +0 -0
  817. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_integration.py +0 -0
  818. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_logging.py +0 -0
  819. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_resilience.py +0 -0
  820. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_unit.py +0 -0
  821. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_manager.py +0 -0
  822. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_manager_retry.py +0 -0
  823. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_server_name_normalization.py +0 -0
  824. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/scrape/test_playwright_disable.py +0 -0
  825. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/scrape/test_scrape.py +0 -0
  826. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/__init__.py +0 -0
  827. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/conftest.py +0 -0
  828. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_commands.py +0 -0
  829. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_config.py +0 -0
  830. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_delegate.py +0 -0
  831. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_finished.py +0 -0
  832. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_io_proxy.py +0 -0
  833. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_service.py +0 -0
  834. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_sub_agent_coder.py +0 -0
  835. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/test_requests.py +0 -0
  836. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_command_format_output.py +0 -0
  837. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_command_timeout_paging.py +0 -0
  838. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_edit_file_format_output.py +0 -0
  839. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_extractions.py +0 -0
  840. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_get_lines.py +0 -0
  841. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_git_branch.py +0 -0
  842. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_git_diff.py +0 -0
  843. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_insert_block.py +0 -0
  844. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_read_range_execute.py +0 -0
  845. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_registry.py +0 -0
  846. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_remove_mcp_tool.py +0 -0
  847. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_resource_manager_paging.py +0 -0
  848. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_tool_arguments.py +0 -0
  849. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_tools_load_mcp_tool.py +0 -0
  850. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/validations.py +0 -0
  851. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tui/test_app.py +0 -0
  852. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tui/test_completion_bar.py +0 -0
  853. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/conftest.py +0 -0
  854. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_deep_merge.py +0 -0
  855. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_edge_cases.py +0 -0
  856. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_load_mcp.py +0 -0
  857. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_performance.py +0 -0
  858. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_queues.py +0 -0
  859. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_remove_mcp.py +0 -0
  860. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_retry_backoff.py +0 -0
  861. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_shallow_merge.py +0 -0
  862. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_signals.py +0 -0
  863. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_unit_load_mcp_tool.py +0 -0
  864. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
  865. {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_ws_server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cecli-dev
3
- Version: 1.6.0rc5
3
+ Version: 1.6.1
4
4
  Summary: we also can't pronounce cecli
5
5
  Project-URL: Homepage, https://github.com/dwash96/cecli
6
6
  Project-URL: Documentation, https://github.com/dwash96/cecli
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.6.0rc5'
22
- __version_tuple__ = version_tuple = (1, 6, 0, 'rc5')
21
+ __version__ = version = '1.6.1'
22
+ __version_tuple__ = version_tuple = (1, 6, 1)
23
23
 
24
- __commit_id__ = commit_id = 'gca072134c'
24
+ __commit_id__ = commit_id = 'ge49b18e26'
@@ -46,6 +46,7 @@ from cecli.helpers.loop_detect import LoopDetectedError, LoopDetector
46
46
  from cecli.helpers.memory_control import trim_memory
47
47
  from cecli.helpers.observations.service import ObservationService
48
48
  from cecli.helpers.profiler import TokenProfiler
49
+ from cecli.helpers.sessions import SessionManager
49
50
  from cecli.helpers.threading import ThreadSafeEvent
50
51
  from cecli.history import ChatSummary
51
52
  from cecli.hooks import HookIntegration
@@ -64,7 +65,6 @@ from cecli.repo import ANY_GIT_ERROR, GitRepoProxy
64
65
  from cecli.repomap import RepoMap
65
66
  from cecli.report import update_error_prefix
66
67
  from cecli.run_cmd import run_cmd_async
67
- from cecli.sessions import SessionManager
68
68
  from cecli.tools.utils.output import print_tool_response
69
69
  from cecli.tools.utils.registry import ToolRegistry
70
70
  from cecli.utils import copy_tool_call, format_tokens, is_image_file
@@ -5234,6 +5234,7 @@ class Coder(metaclass=UsageMeta):
5234
5234
  session_manager.save_session,
5235
5235
  getattr(self.args, "auto_save_session_name", "auto-save"),
5236
5236
  False,
5237
+ True,
5237
5238
  )
5238
5239
  except Exception:
5239
5240
  # Don't show errors for auto-save to avoid interrupting the user experience
@@ -11,7 +11,7 @@ class ListSessionsCommand(BaseCommand):
11
11
  @classmethod
12
12
  async def execute(cls, io, coder, args, **kwargs):
13
13
  """Execute the list-sessions command with given parameters."""
14
- from cecli import sessions
14
+ from cecli.helpers import sessions
15
15
 
16
16
  session_manager = sessions.SessionManager(coder, io)
17
17
  sessions_list = session_manager.list_sessions()
@@ -15,7 +15,7 @@ class LoadSessionCommand(BaseCommand):
15
15
  io.tool_output("Usage: /load-session <session-name>")
16
16
  return format_command_result(io, "load-session", "No session name provided")
17
17
 
18
- from cecli import sessions
18
+ from cecli.helpers import sessions
19
19
 
20
20
  session_manager = sessions.SessionManager(coder, io)
21
21
  await session_manager.load_session(args.strip())
@@ -26,7 +26,7 @@ class LoadSessionCommand(BaseCommand):
26
26
  def get_completions(cls, io, coder, args) -> List[str]:
27
27
  """Get completion options for load-session command."""
28
28
  # Return available session names for completion
29
- from cecli import sessions
29
+ from cecli.helpers import sessions
30
30
 
31
31
  session_manager = sessions.SessionManager(coder, io)
32
32
  sessions_list = session_manager.list_sessions()
@@ -41,7 +41,10 @@ class LoadSessionCommand(BaseCommand):
41
41
  help_text += "\nExamples:\n"
42
42
  help_text += " /load-session my-feature # Load session 'my-feature'\n"
43
43
  help_text += " /load-session bug-fix # Load session 'bug-fix'\n"
44
- help_text += "\nSessions are loaded from the .cecli/sessions/ directory.\n"
44
+ help_text += (
45
+ "\nSessions are loaded from the .cecli/sessions/ directory. Loading a session"
46
+ " also restores any sub-agents saved with it.\n"
47
+ )
45
48
  help_text += (
46
49
  "Use /list-sessions to see saved sessions and /save-session to save a session.\n"
47
50
  )
@@ -15,7 +15,7 @@ class SaveSessionCommand(BaseCommand):
15
15
  io.tool_error("Please provide a session name to save.")
16
16
  return format_command_result(io, "save-session", "No session name provided")
17
17
 
18
- from cecli import sessions
18
+ from cecli.helpers import sessions
19
19
 
20
20
  session_manager = sessions.SessionManager(coder, io)
21
21
  session_manager.save_session(args.strip())
@@ -26,7 +26,7 @@ class SaveSessionCommand(BaseCommand):
26
26
  def get_completions(cls, io, coder, args) -> List[str]:
27
27
  """Get completion options for save-session command."""
28
28
  # Return existing session names for completion to prevent accidental overwrites
29
- from cecli import sessions
29
+ from cecli.helpers import sessions
30
30
 
31
31
  session_manager = sessions.SessionManager(coder, io)
32
32
  sessions_list = session_manager.list_sessions()
@@ -42,6 +42,10 @@ class SaveSessionCommand(BaseCommand):
42
42
  help_text += " /save-session my-feature # Save session as 'my-feature'\n"
43
43
  help_text += " /save-session bug-fix # Save session as 'bug-fix'\n"
44
44
  help_text += "\nSessions are saved in the .cecli/sessions/ directory as JSON files.\n"
45
+ help_text += (
46
+ "When the session has sub-agents it is saved as a folder holding the primary"
47
+ " and each sub-agent payload.\n"
48
+ )
45
49
  help_text += "Use /list-sessions to see saved sessions and /load-session to load them.\n"
46
50
  help_text += (
47
51
  "\nNote: Existing session names will be shown for tab completion to help prevent"
@@ -297,7 +297,7 @@ def apply_contextual_marker(
297
297
  range_end: str,
298
298
  num_lines: int,
299
299
  ) -> tuple[list[int], list[int]]:
300
- """Expand range using @C{{num}}, @P{{num}}, or @N{{num}} contextual markers.
300
+ """Expand range using @C<num>, @P<num>, or @N<num> contextual markers.
301
301
 
302
302
  Requires exactly one start match. Raises ValueError when the number
303
303
  of start matches is not 1 (the caller is expected to format the error
@@ -333,7 +333,9 @@ def _closest_provider_match(sources, provider, route):
333
333
 
334
334
  Raw sources are enumerated via a lightweight top-level key scan (a string
335
335
  pass, never a full parse) and only ``provider/``-prefixed keys are parsed
336
- for scoring, so the fallback stays memory friendly.
336
+ for scoring, so the fallback stays memory friendly. A candidate with no
337
+ shared leading characters is not a match: returning it would let an
338
+ unrelated route inherit an arbitrary sibling record's wire mode.
337
339
  """
338
340
  if not provider:
339
341
  return None
@@ -376,7 +378,7 @@ def _closest_provider_match(sources, provider, route):
376
378
  best_score = score
377
379
  best = record
378
380
 
379
- return best
381
+ return best if best_score > 0 else None
380
382
 
381
383
 
382
384
  def _prefix_score(left, right):
@@ -399,6 +399,10 @@ class ModelProviderManager:
399
399
  )
400
400
  response.raise_for_status()
401
401
  return response.json()
402
+ except requests.exceptions.ConnectionError:
403
+ # Unreachable endpoint (e.g. no local Ollama server at
404
+ # localhost:11434): stay silent and contribute no models.
405
+ return None
402
406
  except Exception as ex:
403
407
  print(f"Failed to fetch {provider} model list: {ex}")
404
408
  return None
@@ -89,10 +89,27 @@ class AgentProxy:
89
89
  self._coder,
90
90
  mcp_server=server,
91
91
  mcp_tool_name=schema_name,
92
+ tool_schema=tool_schema,
92
93
  )
93
94
 
94
95
  raise ValueError(f"Unknown tool: '{tool_name}'")
95
96
 
97
+ def get_tool_schema(self, tool_name: str) -> dict[str, Any] | None:
98
+ """Return a copy of the full function-calling schema for a tool.
99
+
100
+ Returns ``None`` when the tool has no schema. Unknown or disallowed
101
+ tools raise the same errors as ``get_tool``.
102
+ """
103
+ return self.get_tool(tool_name).get_schema()
104
+
105
+ def get_tool_signature(self, tool_name: str) -> str | None:
106
+ """Return a readable Python-style call signature for a tool.
107
+
108
+ Optional parameters without a declared default use ``...`` to show
109
+ that they may be omitted without implying a value such as ``None``.
110
+ """
111
+ return self.get_tool(tool_name).get_signature()
112
+
96
113
  def _find_mcp_server(self, server_name: str, server_prefix: str) -> Any:
97
114
  if not hasattr(self._coder, "mcp_manager") or not self._coder.mcp_manager:
98
115
  return None
@@ -547,7 +547,7 @@ def build_orchestration_context_block(agent_config: dict[str, Any]) -> str | Non
547
547
  context = """<context name="orchestration" from="agent">
548
548
  The `Orchestrate` tool runs Python in a sandbox where you can script other tools programmatically.
549
549
  Use it for batch, loop-heavy, and repeat-able workflows.
550
- Variables and helpers persist across calls; `state` persists across all Orchestrate calls in the session.
550
+ The sandbox is stateless between calls — variables don't persist. To carry values across calls, use `state` (per-agent) or `shared_state` (cross-agent).
551
551
  You may need to explore the below primitives to understand how to use the sandbox effectively.
552
552
 
553
553
  ### Primitives
@@ -556,11 +556,13 @@ You may need to explore the below primitives to understand how to use the sandbo
556
556
  |-----------|--------------|
557
557
  | `Agent.allowed_methods()` / `Agent.allowed_tools()` | List helper methods and available tools |
558
558
  | `Agent.get_tool(name)` | Get a tool proxy (case-insensitive; `Local--` / `{{Server Name}}--` prefixes ok) |
559
+ | `Agent.get_tool_schema(name)` | Return a copy of the full function-calling JSON schema |
560
+ | `Agent.get_tool_signature(name)` | Return a readable Python-style signature; optional params without defaults appear as `= ...` |
559
561
  | `await tool.call(**params)` | Run a tool; returns `{"result": [...], "errors": [...], "details": [...]}`, items with shape `{"content", "_"}` |
560
562
  | `Agent.peek(result)` / `Agent.get_value(result, path, default?)` | Inspect / extract values from tool results. path is dot-separated string |
561
563
  | `Agent.resolve_regions(path, specs)` / `Agent.edit_region(path, edits)` | Resolve text boundaries once, then apply edits |
562
564
  | `gather(**tasks)` | Run tasks concurrently; results expose `.key` and `["key"]` |
563
- | `state` / `shared_state` | Persistent dicts; `state.get(k)` falls back to `shared_state` |
565
+ | `state` / `shared_state` | Persistent dicts that survive between Orchestrate calls; `state.get(k)` falls back to `shared_state`. Use these for anything you need to reuse in a later call |
564
566
  | `print(...)` / `reset(local_vars=True, state=False)` | Emit output / clear namespaces |
565
567
  | `typeof(x)`, `isinstance(x, t)`, `hasattr(x, n)`, `repr(x)`, `vars(obj)` | Type inspection and debugging |
566
568
 
@@ -12,6 +12,7 @@ import json
12
12
  import pathlib
13
13
  import re as _re_mod
14
14
  import traceback as _tb_mod
15
+ from collections.abc import Mapping
15
16
  from typing import Any
16
17
 
17
18
  # ---------------------------------------------------------------------------
@@ -139,12 +140,12 @@ async def _safe_sleep(seconds: float) -> None:
139
140
  await asyncio.sleep(seconds)
140
141
 
141
142
 
142
- class GatherResult:
143
- """Result container for named ``gather()`` calls.
143
+ class GatherResult(Mapping[str, Any]):
144
+ """Read-only mapping of named ``gather()`` task results.
144
145
 
145
- Supports both attribute access (``results.my_task``) and
146
- key access (``results["my_task"]``), plus ``len()`` and
147
- iteration for unpacking.
146
+ Supports standard mapping access (``results["task"]``, iteration over
147
+ keys, and ``keys()``, ``values()``, and ``items()``) plus attribute access
148
+ as a convenience. Use key access when task names may collide with methods.
148
149
  """
149
150
 
150
151
  def __init__(self, results: dict[str, Any]) -> None:
@@ -192,7 +193,7 @@ class GatherResult:
192
193
 
193
194
  def __iter__(self):
194
195
  results = object.__getattribute__(self, "_results")
195
- return iter(results.items())
196
+ return iter(results)
196
197
 
197
198
  def keys(self) -> Any:
198
199
  results = object.__getattribute__(self, "_results")
@@ -225,12 +226,12 @@ async def _safe_gather(*args: Any, **named_awaitables: Any):
225
226
  Safely execute multiple awaitables concurrently.
226
227
 
227
228
  All awaitables must be passed as keyword arguments. Results are returned
228
- as a ``GatherResult`` with attribute and key access:
229
+ as a ``GatherResult`` mapping with attribute access as a convenience:
229
230
 
230
231
  results = await gather(read_a=task_a, grep_b=task_b)
231
- print(results.read_a) # attribute access
232
- print(results["grep_b"]) # key access
233
- len(results) # number of results
232
+ print(results["read_a"]) # canonical mapping access
233
+ print(results.grep_b) # attribute convenience
234
+ list(results) # task names
234
235
 
235
236
  Forces ``return_exceptions=True`` so that failures in one task
236
237
  do not crash the entire batch. Exceptions are converted to
@@ -9,6 +9,7 @@ from __future__ import annotations
9
9
 
10
10
  import asyncio
11
11
  import json
12
+ from copy import deepcopy
12
13
  from typing import Any
13
14
 
14
15
 
@@ -63,6 +64,7 @@ class ToolProxy:
63
64
  tool_module: Any = None,
64
65
  mcp_server: Any = None,
65
66
  mcp_tool_name: str = "",
67
+ tool_schema: dict[str, Any] | None = None,
66
68
  ) -> None:
67
69
  # Respect the per-coder tool includelist/excludelist filters
68
70
  incl = getattr(coder, "registered_tools", {}).get("included", set())
@@ -78,6 +80,16 @@ class ToolProxy:
78
80
  self._tool_module = tool_module
79
81
  self._mcp_server = mcp_server
80
82
  self._mcp_tool_name = mcp_tool_name
83
+ self._tool_schema = (
84
+ tool_schema if tool_schema is not None else getattr(tool_module, "SCHEMA", None)
85
+ )
86
+
87
+ def get_schema(self) -> dict[str, Any] | None:
88
+ """Return a deep copy of this tool's JSON schema, if available."""
89
+ if not isinstance(self._tool_schema, dict):
90
+ return None
91
+
92
+ return deepcopy(self._tool_schema)
81
93
 
82
94
  async def __call__(self, *args: Any, **kwargs: Any):
83
95
  """Make the proxy directly callable.
@@ -131,12 +143,79 @@ class ToolProxy:
131
143
 
132
144
  return await self.call(**kwargs)
133
145
 
146
+ def get_signature(self) -> str | None:
147
+ """Return a readable Python-style signature based on the JSON schema.
148
+
149
+ Type annotations are best-effort summaries; use the schema for exact
150
+ constraints. Optional parameters without defaults display as ``...``.
151
+ """
152
+ schema = self._tool_schema
153
+ if not isinstance(schema, dict):
154
+ return None
155
+
156
+ function = schema.get("function", {})
157
+ if not isinstance(function, dict):
158
+ return None
159
+
160
+ parameters = function.get("parameters", {})
161
+ if not isinstance(parameters, dict):
162
+ return None
163
+
164
+ properties = parameters.get("properties", {})
165
+ if not isinstance(properties, dict):
166
+ return None
167
+
168
+ required = parameters.get("required", [])
169
+ required = set(required) if isinstance(required, list) else set()
170
+ signature_parameters = []
171
+ for name, property_schema in properties.items():
172
+ annotation = self._python_type_name(property_schema)
173
+ parameter = f"{name}: {annotation}"
174
+ if name not in required:
175
+ if isinstance(property_schema, dict) and "default" in property_schema:
176
+ parameter += f" = {property_schema['default']!r}"
177
+ else:
178
+ parameter += " = ..."
179
+ signature_parameters.append(parameter)
180
+
181
+ function_name = function.get("name") or self._tool_name
182
+ if signature_parameters:
183
+ return f"{function_name}(*, {', '.join(signature_parameters)})"
184
+ return f"{function_name}()"
185
+
186
+ @staticmethod
187
+ def _python_type_name(schema: Any) -> str:
188
+ """Render common JSON Schema types as readable Python type names."""
189
+ if not isinstance(schema, dict):
190
+ return "Any"
191
+
192
+ schema_type = schema.get("type")
193
+ if isinstance(schema_type, list):
194
+ type_names = [ToolProxy._python_type_name({"type": item}) for item in schema_type]
195
+ return " | ".join(type_names)
196
+
197
+ type_names = {
198
+ "array": "list",
199
+ "boolean": "bool",
200
+ "integer": "int",
201
+ "number": "float",
202
+ "null": "None",
203
+ "object": "dict",
204
+ "string": "str",
205
+ }
206
+ if schema_type in type_names:
207
+ return type_names[schema_type]
208
+
209
+ alternatives = schema.get("anyOf") or schema.get("oneOf")
210
+ if isinstance(alternatives, list):
211
+ return " | ".join(ToolProxy._python_type_name(item) for item in alternatives)
212
+
213
+ return "Any"
214
+
134
215
  def _get_param_names(self) -> list:
135
- """Extract ordered parameter names from the tool's JSON Schema."""
136
- if self._tool_module is None:
137
- return []
216
+ """Extract parameter names in schema order for positional calls."""
138
217
  try:
139
- props = self._tool_module.SCHEMA["function"]["parameters"]["properties"]
218
+ props = self._tool_schema["function"]["parameters"]["properties"]
140
219
  return list(props.keys())
141
220
  except (KeyError, TypeError, AttributeError):
142
221
  return []
@@ -0,0 +1,20 @@
1
+ """Session persistence helpers.
2
+
3
+ The session concerns are split into focused modules so each one stays readable:
4
+
5
+ * ``layout`` - where session payloads live on disk (single files, folder
6
+ bundles, and the ``s/`` tree used for sub-agents).
7
+ * ``storage`` - reading/writing payload files and reference documents, including
8
+ optional encryption.
9
+ * ``payload`` - serialising a coder's state into a payload and applying a
10
+ payload back onto a coder.
11
+ * ``subagents`` - detecting, saving, and resolving the sub-agents that belong to
12
+ a session.
13
+ * ``manager`` - :class:`SessionManager`, the facade that ties the above together
14
+ for save/list/load.
15
+ """
16
+
17
+ from .layout import SESSION_REFERENCE_TYPE
18
+ from .manager import SessionManager
19
+
20
+ __all__ = ["SessionManager", "SESSION_REFERENCE_TYPE"]
@@ -0,0 +1,112 @@
1
+ """On-disk layout for saved sessions.
2
+
3
+ Two shapes are supported:
4
+
5
+ * a single ``{name}.json`` file (optionally a reference document pointing at an
6
+ auto-save payload held in a coder's agent folder), and
7
+ * a ``{name}/`` folder bundle holding ``primary.json`` plus an ``s/`` tree of
8
+ sub-agent ``agent.json`` payloads.
9
+
10
+ Sub-agent payloads always live in an ``s/{child}/`` directory beside the primary
11
+ payload. That lets the same discovery logic cover auto-save payloads (which use
12
+ ``s/{uuid}/{session}.json``) and folder bundles (``s/{child}/agent.json``).
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ import os
18
+ from pathlib import Path
19
+ from typing import Dict, List, Tuple
20
+
21
+ SESSION_REFERENCE_TYPE = "session-reference"
22
+ PRIMARY_PAYLOAD_NAME = "primary.json"
23
+ SUB_AGENT_PAYLOAD_NAME = "agent.json"
24
+ SUB_AGENT_DIR_NAME = "s"
25
+
26
+
27
+ def session_directory(coder) -> Path:
28
+ """Return (and create) the coder's ``.cecli/sessions`` directory."""
29
+ session_dir = Path(coder.abs_root_path(".cecli/sessions"))
30
+ os.makedirs(session_dir, exist_ok=True)
31
+
32
+ return session_dir
33
+
34
+
35
+ def entry_for(session_dir: Path, session_name: str) -> Path:
36
+ """Return the canonical ``sessions/{name}.json`` file path."""
37
+ return session_dir / f"{session_name}.json"
38
+
39
+
40
+ def bundle_dir(session_dir: Path, session_name: str) -> Path:
41
+ """Return the ``sessions/{name}/`` folder bundle path."""
42
+ return session_dir / session_name
43
+
44
+
45
+ def agent_payload_file(coder, session_name: str) -> Path:
46
+ """Return the auto-save payload path inside the coder's agent folder."""
47
+ rel_path = coder.local_agent_folder(f"{session_name}.json")
48
+
49
+ return Path(coder.abs_root_path(rel_path))
50
+
51
+
52
+ def sub_agents_dir(primary_payload: Path) -> Path:
53
+ """Return the ``s/`` directory that owns a primary payload's sub-agents."""
54
+ return primary_payload.parent / SUB_AGENT_DIR_NAME
55
+
56
+
57
+ def primary_payload_in(directory: Path) -> Path | None:
58
+ """Return the primary payload inside a folder bundle, if present."""
59
+ candidate = directory / PRIMARY_PAYLOAD_NAME
60
+
61
+ return candidate if candidate.is_file() else None
62
+
63
+
64
+ def payload_in_sub_dir(sub_dir: Path, primary_name: str) -> Path | None:
65
+ """Return the payload held by one sub-agent directory.
66
+
67
+ Folder bundles name it ``agent.json``; auto-save payloads reuse the primary
68
+ payload's filename.
69
+ """
70
+ candidate = sub_dir / SUB_AGENT_PAYLOAD_NAME
71
+ if candidate.is_file():
72
+ return candidate
73
+
74
+ candidate = sub_dir / primary_name
75
+ if candidate.is_file():
76
+ return candidate
77
+
78
+ return None
79
+
80
+
81
+ def sub_agent_payloads(primary_payload: Path) -> List[Path]:
82
+ """Return every sub-agent payload stored beside ``primary_payload``."""
83
+ subs_dir = sub_agents_dir(primary_payload)
84
+ if not subs_dir.is_dir():
85
+ return []
86
+
87
+ payloads = []
88
+ for sub_dir in sorted(subs_dir.iterdir()):
89
+ if not sub_dir.is_dir():
90
+ continue
91
+
92
+ payload = payload_in_sub_dir(sub_dir, primary_payload.name)
93
+ if payload is not None:
94
+ payloads.append(payload)
95
+
96
+ return payloads
97
+
98
+
99
+ def discover_entries(session_dir: Path) -> List[Tuple[str, Path]]:
100
+ """Return ``(name, locator)`` for every saved session in ``session_dir``.
101
+
102
+ A locator is either a ``{name}.json`` file or a ``{name}/`` folder bundle;
103
+ callers resolve it to the payload file they need.
104
+ """
105
+ entries: Dict[str, Path] = {}
106
+ for path in session_dir.iterdir():
107
+ if path.is_file() and path.suffix == ".json":
108
+ entries[path.stem] = path
109
+ elif path.is_dir() and primary_payload_in(path) is not None:
110
+ entries[path.name] = path
111
+
112
+ return sorted(entries.items())