cecli-dev 1.0.3__tar.gz → 1.0.4__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.
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/pages.yml +15 -20
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.gitignore +4 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/CONTRIBUTING.md +20 -14
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/PKG-INFO +1 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/_version.py +3 -3
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/agent_coder.py +9 -5
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/base_coder.py +43 -5
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/__init__.py +9 -0
- cecli_dev-1.0.4/cecli/commands/auto_memory.py +117 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/code.py +1 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/copy.py +3 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/copy_context.py +1 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/help.py +7 -2
- cecli_dev-1.0.4/cecli/commands/remove_memory.py +66 -0
- cecli_dev-1.0.4/cecli/commands/search_memory.py +73 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/help.py +59 -21
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/agents/defaults/memorizer.md +3 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/agents/service.py +10 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/background_commands.py +66 -56
- cecli_dev-1.0.4/cecli/helpers/memory_control.py +99 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/observations/service.py +6 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/orchestration/environment.py +27 -107
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/queues.py +48 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/hooks/helpers.py +4 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/mcp/manager.py +13 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/agent.yml +5 -6
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/subagent.yml +5 -6
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/sessions.py +3 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/_yield.py +6 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/command.py +65 -31
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/edit_file.py +32 -34
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/orchestrate.py +4 -7
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/read_file.py +29 -30
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/__init__.py +22 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/app.py +12 -11
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/io.py +63 -60
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/utils.py +1 -1
- cecli_dev-1.0.4/cecli/website/_includes/install.md +4 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/model-warnings.md +2 -2
- cecli_dev-1.0.4/cecli/website/_includes/works-best.md +1 -0
- cecli_dev-1.0.4/cecli/website/docmd.config.json +329 -0
- cecli_dev-1.0.4/cecli/website/docs/cecli-temp-logo-favicon.svg +37 -0
- cecli_dev-1.0.4/cecli/website/docs/config/adv-model-settings.md +123 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/agent-mode.md +3 -4
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/api-keys.md +7 -22
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/api.md +144 -90
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/conf.md +5 -18
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/dotenv.md +6 -20
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/editor.md +3 -5
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/hooks.md +5 -12
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/mcp.md +5 -10
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/model-aliases.md +11 -47
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/model-configuration.md +8 -6
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/model-providers.md +1 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/options.md +127 -375
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/persistent-memory.md +4 -4
- cecli_dev-1.0.4/cecli/website/docs/config/reasoning.md +62 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/retries.md +6 -4
- cecli_dev-1.0.4/cecli/website/docs/config/skills.md +130 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/subagents.md +6 -6
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/tui.md +13 -12
- cecli_dev-1.0.4/cecli/website/docs/config.md +58 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/git.md +8 -20
- cecli_dev-1.0.4/cecli/website/docs/index.md +55 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/install/docker.md +3 -11
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/install.md +7 -19
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/languages.md +6 -43
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/legal/contributor-agreement.md +3 -15
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/legal/privacy.md +3 -19
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/anthropic.md +8 -20
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/azure.md +6 -5
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/bedrock.md +10 -27
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/cohere.md +4 -5
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/deepseek.md +4 -5
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/gemini.md +3 -2
- cecli_dev-1.0.4/cecli/website/docs/llms/github.md +22 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/groq.md +4 -7
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/lm-studio.md +5 -5
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/ollama.md +9 -21
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/openai-compat.md +5 -5
- cecli_dev-1.0.4/cecli/website/docs/llms/openai.md +48 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/openrouter.md +9 -19
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/other.md +5 -30
- cecli_dev-1.0.4/cecli/website/docs/llms/vertex.md +44 -0
- cecli_dev-1.0.4/cecli/website/docs/llms/warnings.md +71 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/llms/xai.md +4 -8
- cecli_dev-1.0.4/cecli/website/docs/llms.md +30 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/more/analytics.md +15 -41
- cecli_dev-1.0.4/cecli/website/docs/more/edit-formats.md +86 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/more/infinite-output.md +5 -42
- cecli_dev-1.0.4/cecli/website/docs/more-info.md +18 -0
- cecli_dev-1.0.4/cecli/website/docs/repomap.md +69 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/scripting.md +5 -13
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/troubleshooting/cecli-not-found.md +2 -6
- cecli_dev-1.0.4/cecli/website/docs/troubleshooting/edit-errors.md +77 -0
- cecli_dev-1.0.4/cecli/website/docs/troubleshooting/imports.md +38 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/troubleshooting/models-and-keys.md +7 -17
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/troubleshooting/support.md +34 -24
- cecli_dev-1.0.4/cecli/website/docs/troubleshooting/token-limits.md +94 -0
- cecli_dev-1.0.4/cecli/website/docs/troubleshooting/warnings.md +101 -0
- cecli_dev-1.0.4/cecli/website/docs/troubleshooting.md +14 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/usage/commands.md +26 -29
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/usage/conventions.md +7 -14
- cecli_dev-1.0.4/cecli/website/docs/usage/copypaste.md +83 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/usage/images-urls.md +3 -7
- cecli_dev-1.0.4/cecli/website/docs/usage/lint-test.md +86 -0
- cecli_dev-1.0.4/cecli/website/docs/usage/modes.md +188 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/usage/not-code.md +1 -23
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/usage/notifications.md +4 -7
- cecli_dev-1.0.4/cecli/website/docs/usage/optional.md +68 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/usage/sessions.md +2 -2
- cecli_dev-1.0.4/cecli/website/docs/usage/tips.md +80 -0
- cecli_dev-1.0.4/cecli/website/docs/usage/voice.md +58 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/usage/watch.md +23 -90
- cecli_dev-1.0.4/cecli/website/docs/usage.md +70 -0
- cecli_dev-1.0.4/cecli/website/package-lock.json +1650 -0
- cecli_dev-1.0.4/cecli/website/package.json +16 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli_dev.egg-info/PKG-INFO +1 -1
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli_dev.egg-info/SOURCES.txt +13 -4
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli_dev.egg-info/scm_file_list.json +14 -5
- cecli_dev-1.0.4/cecli_dev.egg-info/scm_version.json +8 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/pytest.ini +5 -4
- cecli_dev-1.0.4/scripts/docmd_build.sh +55 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_sendchat.py +30 -0
- cecli_dev-1.0.4/tests/commands/test_auto_memory.py +162 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/commands/test_compaction.py +10 -6
- cecli_dev-1.0.4/tests/commands/test_remove_memory.py +108 -0
- cecli_dev-1.0.4/tests/commands/test_search_memory.py +88 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/commands/test_switch_agent.py +8 -2
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/observations/test_observation_service.py +47 -0
- cecli_dev-1.0.4/tests/helpers/test_memory_control.py +235 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/test_orchestration.py +10 -10
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/integration/test_mcp_management.py +6 -6
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/test_manager.py +26 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/test_finished.py +3 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tui/test_app.py +7 -3
- cecli_dev-1.0.3/cecli/website/Gemfile +0 -8
- cecli_dev-1.0.3/cecli/website/_includes/install.md +0 -4
- cecli_dev-1.0.3/cecli/website/_includes/works-best.md +0 -1
- cecli_dev-1.0.3/cecli/website/docs/config/adv-model-settings.md +0 -2498
- cecli_dev-1.0.3/cecli/website/docs/config/reasoning.md +0 -210
- cecli_dev-1.0.3/cecli/website/docs/config/skills.md +0 -285
- cecli_dev-1.0.3/cecli/website/docs/config.md +0 -78
- cecli_dev-1.0.3/cecli/website/docs/index.md +0 -47
- cecli_dev-1.0.3/cecli/website/docs/llms/github.md +0 -111
- cecli_dev-1.0.3/cecli/website/docs/llms/openai.md +0 -58
- cecli_dev-1.0.3/cecli/website/docs/llms/vertex.md +0 -50
- cecli_dev-1.0.3/cecli/website/docs/llms/warnings.md +0 -10
- cecli_dev-1.0.3/cecli/website/docs/llms.md +0 -43
- cecli_dev-1.0.3/cecli/website/docs/more/edit-formats.md +0 -116
- cecli_dev-1.0.3/cecli/website/docs/more-info.md +0 -8
- cecli_dev-1.0.3/cecli/website/docs/repomap.md +0 -112
- cecli_dev-1.0.3/cecli/website/docs/troubleshooting/edit-errors.md +0 -76
- cecli_dev-1.0.3/cecli/website/docs/troubleshooting/imports.md +0 -58
- cecli_dev-1.0.3/cecli/website/docs/troubleshooting/token-limits.md +0 -96
- cecli_dev-1.0.3/cecli/website/docs/troubleshooting/warnings.md +0 -12
- cecli_dev-1.0.3/cecli/website/docs/troubleshooting.md +0 -11
- cecli_dev-1.0.3/cecli/website/docs/usage/copypaste.md +0 -136
- cecli_dev-1.0.3/cecli/website/docs/usage/lint-test.md +0 -118
- cecli_dev-1.0.3/cecli/website/docs/usage/modes.md +0 -211
- cecli_dev-1.0.3/cecli/website/docs/usage/optional.md +0 -100
- cecli_dev-1.0.3/cecli/website/docs/usage/tips.md +0 -79
- cecli_dev-1.0.3/cecli/website/docs/usage/voice.md +0 -121
- cecli_dev-1.0.3/cecli/website/docs/usage.md +0 -102
- cecli_dev-1.0.3/cecli_dev.egg-info/scm_version.json +0 -8
- cecli_dev-1.0.3/scripts/Dockerfile.jekyll +0 -20
- cecli_dev-1.0.3/scripts/jekyll_build.sh +0 -4
- cecli_dev-1.0.3/scripts/jekyll_run.sh +0 -16
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.dockerignore +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.flake8 +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.gitattributes +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/check_pypi_version.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/docker-build-test.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/docker-release.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/issues.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/pre-commit.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/release.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/ubuntu-tests.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/windows-tests.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.github/workflows/windows_check_pypi_version.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/.pre-commit-config.yaml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/CHANGELOG.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/CNAME +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/HISTORY.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/LICENSE.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/MANIFEST.in +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/README.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/Dockerfile +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/README.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/benchmark.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/benchmark_classic.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/clone-exercism.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/cpp-test.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/docker.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/docker_build.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/install-docker-ubuntu.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/npm-test.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/over_time.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/plot.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/plots.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/problem_stats.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/prompts.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/refactor_tools.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/rsync.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/rungrid.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/swe-bench-lite.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/swe-bench.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/swe_bench.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/test_benchmark.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/variations.1.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/variations.2.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/variations.3.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/benchmark/variations.4.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/__main__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/args.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/args_formatter.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/change_tracker.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/architect_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/ask_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/chat_chunks.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/context_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/copypaste_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/editblock_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/editblock_fenced_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/editblock_func_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/editor_diff_fenced_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/editor_editblock_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/editor_whole_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/hashline_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/help_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/patch_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/search_replace.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/shell.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/single_wholefile_func_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/sub_agent_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/udiff_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/udiff_simple.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/wholefile_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/coders/wholefile_func_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/add.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/agent.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/agent_model.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/agent_tree.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/architect.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/ask.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/chat_mode.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/clear.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/command_prefix.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/commit.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/compact.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/context.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/context_blocks.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/context_management.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/core.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/diff.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/drop.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/editor.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/editor_model.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/exclude_skill.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/exit.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/git.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/hashline.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/history_search.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/hooks.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/hot_reload.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/include_skill.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/lint.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/list_mcp.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/list_sessions.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/list_skills.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/load.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/load_hook.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/load_mcp.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/load_session.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/load_skill.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/ls.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/map.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/map_refresh.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/merge.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/model.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/models.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/multiline_mode.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/paste.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/quit.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/read_only.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/read_only_stub.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/reap_agent.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/reasoning_effort.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/remove_hook.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/remove_mcp.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/remove_skill.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/report.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/reset.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/rules.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/run.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/save.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/save_session.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/settings.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/spawn_agent.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/switch_agent.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/terminal_data/linux.keytab +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/terminal_setup.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/test.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/think_tokens.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/tokens.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/undo.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/utils/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/utils/base_command.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/utils/helpers.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/utils/registry.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/utils/save_load_manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/voice.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/weak_model.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/web.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/commands/workspace.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/decoding.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/deprecated_args.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/diffs.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/dump.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/editor.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/exceptions.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/format_settings.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/help_pats.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/agents/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/agents/config.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/agents/defaults/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/agents/defaults/worker.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/command_parser.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/config_utils.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/conversation/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/conversation/base_message.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/conversation/files.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/conversation/integration.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/conversation/manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/conversation/service.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/conversation/tags.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/conversation/utils.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/copypaste.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/coroutines.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/crypto.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/file_searcher.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/file_system/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/file_system/builders.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/file_system/ignore.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/file_system/ngram_index.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/file_system/service.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/file_system/trie_index.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/grep_ast/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/grep_ast/dump.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/grep_ast/grep_ast.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/grep_ast/main.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/grep_ast/parsers.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/grep_ast/tsl.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/hashline.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/hashpos/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/hashpos/hashpos.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/hashpos/transformations.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/io_proxy.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/leak_detect.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/lock_detect.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/memory/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/memory/db.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/memory/utils.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/model_providers.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/monorepo/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/monorepo/config.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/monorepo/local_workspace.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/monorepo/project.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/monorepo/workspace.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/monorepo/worktree.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/nested.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/observations/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/orchestration/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/orchestration/agent_proxy.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/orchestration/region_resolver.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/orchestration/safe_methods.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/orchestration/security.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/orchestration/service.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/orchestration/tool_proxy.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/plugin_manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/profiler.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/requests.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/responses.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/server/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/server/acp/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/server/acp/bridge.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/server/acp/models.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/server/acp/protocol.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/server/signals.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/server/ws_server.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/similarity.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/skills.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/helpers/threading.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/history.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/hooks/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/hooks/base.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/hooks/integration.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/hooks/manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/hooks/registry.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/hooks/service.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/hooks/types.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/interruptible_input.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/io.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/linter.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/llm.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/main.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/mcp/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/mcp/oauth.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/mcp/server.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/mcp/utils.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/mdstream.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/models.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/onboarding.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/architect.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/ask.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/base.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/context.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/copypaste.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/editblock.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/editblock_fenced.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/editblock_func.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/editor_diff_fenced.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/editor_editblock.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/editor_whole.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/hashline.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/help.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/patch.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/single_wholefile_func.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/udiff.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/udiff_simple.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/utils/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/utils/registry.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/utils/system.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/wholefile.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/prompts/wholefile_func.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/README.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/reasoning_tags.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/repo.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/repomap.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/report.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/resources/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/resources/model-metadata.json +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/resources/model-settings.yml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/resources/providers.json +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/run_cmd.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/scrape.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/sendchat.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/signals.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/special.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/delegate.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/explore_code.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/git_branch.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/git_diff.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/git_log.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/git_remote.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/git_show.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/git_status.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/grep.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/ls.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/replace_facts.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/resource_manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/search_facts.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/thinking.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/undo_change.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/update_todo_list.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/utils/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/utils/base_tool.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/utils/helpers.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/utils/output.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/utils/registry.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/utils/responses.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/validations/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tools/validations/validations.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/styles.tcss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/completion_bar.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/file_list.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/footer.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/input_area.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/input_container.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/key_hints.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/output.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/output_alt.bak +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/selectable_log.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/status_bar.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/widgets/subagent_pills.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/tui/worker.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/urls.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/versioncheck.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/voice.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/waiting.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/watch.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/watch_prompts.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/blame.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/get-started.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/help-tip.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/help.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/keys.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/multi-line.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/python-m-aider.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/recording.css +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_includes/recording.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_features.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_footer.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_hero.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_info.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_layout.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_reset.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_testimonials.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_typography.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/_variables.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/custom/custom.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/_sass/global-overrides.scss +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/custom-commands.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/custom-system-prompts.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/security.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/docs/config/workspaces.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli/website/share/index.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli_dev.egg-info/dependency_links.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli_dev.egg-info/entry_points.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli_dev.egg-info/requires.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/cecli_dev.egg-info/top_level.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/docker/Dockerfile +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/pyproject.toml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/common-constraints.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/requirements-dev.in +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/requirements-dev.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/requirements-help.in +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/requirements-help.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/requirements-playwright.in +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/requirements-playwright.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/requirements.in +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements/tree-sitter.in +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/requirements.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/30k-image.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/blame.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/clean_metadata.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/compare-message-history.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/cost_analyzer.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/cost_calculator.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/dl_icons.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/filter-chat-mode.js +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/generate_providers.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/get_contributor_list.js +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/get_hashline.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/history_prompts.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/homepage.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/issues.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/logo_svg.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/optimize_tokens.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/pip-compile.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/recording_audio.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/redact-cast.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/rename_to_cecli.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/tmux_record.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/tsl_pack_langs.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/update-blame.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/update-docs.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/update-history.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/versionbump.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/scripts/yank-old-versions.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/setup.cfg +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/shim.pyproject.toml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/conftest.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_aws_credentials.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_background_commands.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_commands.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_custom_commands.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_deprecated.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_editblock.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_editor.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_exceptions.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_find_or_blocks.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_hashline.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_hashline_closure.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_history.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_io.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_linter.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_main.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_model_info_manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_model_provider_manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_models.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_onboarding.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_plugin_manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_prompts.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_reasoning.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_repo.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_repomap.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_run_cmd.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_sanity_check_repo.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_scripting.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_select_selector.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_session_args.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_session_crypto.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_sessions.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_sessions_manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_skills.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_special.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_spinner.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_ssl_verification.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_udiff.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_urls.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_voice.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_watch.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/basic/test_wholefile.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/coders/test_coder_switching.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/coders/test_copypaste_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/conftest.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/conversations/test_conversation_integration.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/conversations/test_conversation_system.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/chat-history.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/arduino/test.ino +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/bash/test.sh +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/c/test.c +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/chatito/test.chatito +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/clojure/test.clj +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/cpp/test.cpp +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/csharp/test.cs +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/d/test.d +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/dart/test.dart +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/elisp/test.el +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/elixir/test.ex +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/elm/test.elm +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/gleam/test.gleam +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/go/test.go +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/haskell/test.hs +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/hcl/test.tf +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/java/test.java +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/javascript/test.js +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/kotlin/test.kt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/lua/test.lua +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/matlab/test.m +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/ocaml/test.ml +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/php/test.php +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/pony/test.pony +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/properties/test.properties +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/python/test.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/ql/test.ql +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/r/test.r +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/racket/test.rkt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/ruby/test.rb +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/rust/test.rs +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/scala/test.scala +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/solidity/test.sol +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/swift/test.swift +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/tsx/test.tsx +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/typescript/test.ts +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/udev/test.rules +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/languages/zig/test.zig +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/sample-code-base/sample.js +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/sample-code-base/sample.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/watch.js +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/watch.lisp +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/watch.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/fixtures/watch_question.js +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/help/test_help.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/monorepo/LOCAL_WORKSPACE.md +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/monorepo/test_config.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/monorepo/test_config_active.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/monorepo/test_ignore_logic.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/monorepo/test_local_workspace.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/monorepo/test_repomap_workspace.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/monorepo/test_workspace.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/server/acp/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/server/acp/test_bridge.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/server/acp/test_dispatch.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/server/acp/test_models.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/helpers/server/acp/test_protocol.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/hooks/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/hooks/test_base.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/hooks/test_manager.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/hooks/test_registry.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/integration/test_agent_mcp_management.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/integration/test_config_loading.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/conftest.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/mock_server.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/test_keepalive_concurrency.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/test_keepalive_config.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/test_keepalive_integration.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/test_keepalive_logging.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/test_keepalive_resilience.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/test_keepalive_unit.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/mcp/test_manager_retry.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/scrape/test_playwright_disable.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/scrape/test_scrape.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/__init__.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/conftest.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/test_commands.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/test_config.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/test_delegate.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/test_io_proxy.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/test_service.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/subagents/test_sub_agent_coder.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/test_requests.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_extractions.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_get_lines.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_git_branch.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_git_diff.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_grep.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_insert_block.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_read_range_execute.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_registry.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_remove_mcp_tool.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_tool_arguments.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/test_tools_load_mcp_tool.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/tools/validations.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/conftest.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_deep_merge.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_edge_cases.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_load_mcp.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_performance.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_queues.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_remove_mcp.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_shallow_merge.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_signals.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_unit_load_mcp_tool.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
- {cecli_dev-1.0.3 → cecli_dev-1.0.4}/tests/unit/test_ws_server.py +0 -0
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
# separate terms of service, privacy policy, and support
|
|
4
|
-
# documentation.
|
|
5
|
-
|
|
6
|
-
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
|
|
7
|
-
name: Deploy Jekyll site to Pages
|
|
1
|
+
# Workflow for building and deploying the docmd site to GitHub Pages
|
|
2
|
+
name: Deploy site to Pages
|
|
8
3
|
|
|
9
4
|
on:
|
|
10
5
|
push:
|
|
@@ -40,21 +35,21 @@ jobs:
|
|
|
40
35
|
uses: actions/checkout@v4
|
|
41
36
|
with:
|
|
42
37
|
fetch-depth: 0
|
|
43
|
-
- name: Setup
|
|
44
|
-
uses:
|
|
38
|
+
- name: Setup Node
|
|
39
|
+
uses: actions/setup-node@v4
|
|
45
40
|
with:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
cache-
|
|
49
|
-
working-directory: '${{ github.workspace }}/cecli/website'
|
|
41
|
+
node-version: '20'
|
|
42
|
+
cache: npm
|
|
43
|
+
cache-dependency-path: 'cecli/website/package-lock.json'
|
|
50
44
|
- name: Setup Pages
|
|
51
45
|
id: pages
|
|
52
46
|
uses: actions/configure-pages@v3
|
|
53
|
-
- name:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
- name: Install dependencies
|
|
48
|
+
run: npm ci
|
|
49
|
+
working-directory: cecli/website
|
|
50
|
+
- name: Build site with docmd
|
|
51
|
+
run: bash ../../scripts/docmd_build.sh
|
|
52
|
+
working-directory: cecli/website
|
|
58
53
|
- name: Upload artifact
|
|
59
54
|
uses: actions/upload-pages-artifact@v3
|
|
60
55
|
with:
|
|
@@ -71,7 +66,7 @@ jobs:
|
|
|
71
66
|
- name: Deploy to GitHub Pages
|
|
72
67
|
id: deployment
|
|
73
68
|
uses: actions/deploy-pages@v4
|
|
74
|
-
|
|
69
|
+
|
|
75
70
|
- name: Set up Python 3.12
|
|
76
71
|
uses: actions/setup-python@v5
|
|
77
72
|
with:
|
|
@@ -84,4 +79,4 @@ jobs:
|
|
|
84
79
|
|
|
85
80
|
- name: Run linkchecker
|
|
86
81
|
run: |
|
|
87
|
-
linkchecker --ignore-url='
|
|
82
|
+
linkchecker --ignore-url='.+\\.(mp4|mov|avi)' https://cecli.dev
|
|
@@ -23,7 +23,7 @@ ensure that your contributions can be integrated smoothly.
|
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
25
|
# Clone the repository
|
|
26
|
-
git clone https://github.com/
|
|
26
|
+
git clone https://github.com/cecli-dev/cecli.git
|
|
27
27
|
cd cecli
|
|
28
28
|
|
|
29
29
|
# Make a venv
|
|
@@ -68,12 +68,12 @@ In order for your PR to be accepted it must:
|
|
|
68
68
|
2. Comply with project coding standards (including running the pre-commit formatting hooks)
|
|
69
69
|
3. Include test coverage
|
|
70
70
|
4. Update relevant user-facing documentation:
|
|
71
|
-
- Primary documentation will live in `
|
|
71
|
+
- Primary documentation will live in `cecli/website/docs/config/`
|
|
72
72
|
- Check new cli arguments with the output of `/help` and `--help`
|
|
73
73
|
|
|
74
74
|
### Python Compatibility
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
Cecli supports Python versions 3.10, 3.11, 3.12, 3.13, and 3.14. When contributing code, ensure compatibility with these supported Python versions.
|
|
77
77
|
|
|
78
78
|
### Code Style
|
|
79
79
|
|
|
@@ -81,7 +81,7 @@ The project follows the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style
|
|
|
81
81
|
|
|
82
82
|
### Testing
|
|
83
83
|
|
|
84
|
-
The project uses [pytest](https://docs.pytest.org/en/latest/) for running unit tests. The test files are located in the `
|
|
84
|
+
The project uses [pytest](https://docs.pytest.org/en/latest/) for running unit tests. The test files are located in the `tests` directory and follow the naming convention `test_*.py`.
|
|
85
85
|
|
|
86
86
|
#### Running Tests
|
|
87
87
|
|
|
@@ -105,7 +105,7 @@ The project uses GitHub Actions for continuous integration. The testing workflow
|
|
|
105
105
|
- `.github/workflows/ubuntu-tests.yml`: Runs tests on Ubuntu for Python versions 3.9 through 3.12.
|
|
106
106
|
- `.github/workflows/windows-tests.yml`: Runs that on Windows
|
|
107
107
|
|
|
108
|
-
These workflows are triggered on push and pull request events to the `main` branch, ignoring changes to the `
|
|
108
|
+
These workflows are triggered on push and pull request events to the `main` branch, ignoring changes to the `cecli/website/**` and `README.md` files.
|
|
109
109
|
|
|
110
110
|
#### Docker Build and Test
|
|
111
111
|
|
|
@@ -113,9 +113,9 @@ The `.github/workflows/docker-build-test.yml` workflow is used to build a Docker
|
|
|
113
113
|
|
|
114
114
|
#### Writing Tests
|
|
115
115
|
|
|
116
|
-
When contributing new features or making changes to existing code, ensure that you write appropriate tests to maintain code coverage. Follow the existing patterns and naming conventions used in the `
|
|
116
|
+
When contributing new features or making changes to existing code, ensure that you write appropriate tests to maintain code coverage. Follow the existing patterns and naming conventions used in the `tests` directory.
|
|
117
117
|
|
|
118
|
-
If you need to mock or create test data, consider adding it to the test files or creating separate fixtures or utility functions within the `
|
|
118
|
+
If you need to mock or create test data, consider adding it to the test files or creating separate fixtures or utility functions within the `tests` directory.
|
|
119
119
|
|
|
120
120
|
#### Test Requirements
|
|
121
121
|
|
|
@@ -142,21 +142,27 @@ You can also pass one argument to `pip-compile.sh`, which will flow through to `
|
|
|
142
142
|
|
|
143
143
|
### Building the Documentation
|
|
144
144
|
|
|
145
|
-
The project's documentation is built
|
|
145
|
+
The project's documentation is built with [docmd](https://docmd.io) and hosted on GitHub Pages. To build the documentation locally, follow these steps:
|
|
146
146
|
|
|
147
|
-
1. Install
|
|
148
|
-
2. Navigate to the `
|
|
149
|
-
3. Install the required
|
|
147
|
+
1. Install Node.js 18 or newer (the build uses `npx`).
|
|
148
|
+
2. Navigate to the `cecli/website` directory.
|
|
149
|
+
3. Install the required npm dependencies:
|
|
150
150
|
```
|
|
151
|
-
|
|
151
|
+
npm install
|
|
152
152
|
```
|
|
153
153
|
4. Build the documentation:
|
|
154
154
|
```
|
|
155
|
-
|
|
155
|
+
npm run build
|
|
156
|
+
```
|
|
157
|
+
Or run the full site build (homepage + docs + assets) with:
|
|
158
|
+
```
|
|
159
|
+
bash ../../scripts/docmd_build.sh
|
|
156
160
|
```
|
|
157
161
|
5. Preview the website while editing (optional):
|
|
158
162
|
```
|
|
159
|
-
|
|
163
|
+
npm run dev
|
|
160
164
|
```
|
|
161
165
|
|
|
166
|
+
Built documentation is written to `cecli/website/_site` by `scripts/docmd_build.sh` (docs land in `_site/docs`, the homepage in `_site/index.html`).
|
|
167
|
+
|
|
162
168
|
The built documentation will be available in the `cecli/website/_site` directory.
|
|
@@ -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.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 0,
|
|
21
|
+
__version__ = version = '1.0.4'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 4)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g906b4a888'
|
|
@@ -12,6 +12,8 @@ from collections import defaultdict
|
|
|
12
12
|
from datetime import datetime
|
|
13
13
|
from pathlib import Path
|
|
14
14
|
|
|
15
|
+
import xxhash
|
|
16
|
+
|
|
15
17
|
from cecli.args import AGENT_CONFIG_LIST_FIELDS
|
|
16
18
|
from cecli.change_tracker import ChangeTracker
|
|
17
19
|
from cecli.helpers import nested, responses
|
|
@@ -631,6 +633,8 @@ class AgentCoder(Coder):
|
|
|
631
633
|
ConversationService.get_chunks(self).add_readonly_files_messages()
|
|
632
634
|
ConversationService.get_chunks(self).add_chat_files_messages()
|
|
633
635
|
|
|
636
|
+
ConversationService.get_manager(self).flush_queue()
|
|
637
|
+
|
|
634
638
|
# Add post-message context blocks (priority 250 - between CUR and REMINDER)
|
|
635
639
|
ConversationService.get_chunks(self).add_post_message_context_blocks()
|
|
636
640
|
|
|
@@ -920,20 +924,20 @@ class AgentCoder(Coder):
|
|
|
920
924
|
"# Fix the linting errors below, and then continue with your task.",
|
|
921
925
|
1,
|
|
922
926
|
)
|
|
927
|
+
lint_hash = xxhash.xxh3_128_hexdigest(lint_errors.encode("utf-8", errors="replace"))
|
|
923
928
|
ConversationService.get_manager(self).add_message(
|
|
924
929
|
message_dict=dict(role="user", content=lint_errors),
|
|
925
930
|
tag=MessageTag.LINT,
|
|
926
|
-
hash_key=("lint_errors", "agent",
|
|
931
|
+
hash_key=("lint_errors", "agent", lint_hash),
|
|
927
932
|
)
|
|
928
|
-
ConversationService.get_manager(self).
|
|
933
|
+
ConversationService.get_manager(self).queue_message(
|
|
929
934
|
message_dict=dict(
|
|
930
935
|
role="user", content="Please address the latest linting errors."
|
|
931
936
|
),
|
|
932
937
|
tag=MessageTag.LINT,
|
|
933
|
-
hash_key=("lint_errors", "agent",
|
|
938
|
+
hash_key=("lint_errors", "agent", lint_hash, "cta"),
|
|
934
939
|
promotion=ConversationService.get_manager(self).DEFAULT_TAG_PROMOTION_VALUE,
|
|
935
940
|
mark_for_demotion=1,
|
|
936
|
-
mark_for_delete=0,
|
|
937
941
|
)
|
|
938
942
|
else:
|
|
939
943
|
if has_errors:
|
|
@@ -1351,7 +1355,7 @@ class AgentCoder(Coder):
|
|
|
1351
1355
|
)
|
|
1352
1356
|
|
|
1353
1357
|
if repetition_warning:
|
|
1354
|
-
ConversationService.get_manager(self).
|
|
1358
|
+
ConversationService.get_manager(self).queue_message(
|
|
1355
1359
|
message_dict=dict(role="user", content=repetition_warning),
|
|
1356
1360
|
tag=MessageTag.CUR,
|
|
1357
1361
|
hash_key=("repetition", "agent"),
|
|
@@ -19,6 +19,8 @@ import weakref
|
|
|
19
19
|
from collections import defaultdict
|
|
20
20
|
from datetime import date, datetime
|
|
21
21
|
|
|
22
|
+
import xxhash
|
|
23
|
+
|
|
22
24
|
# Optional dependency: used to convert locale codes (eg ``en_US``)
|
|
23
25
|
# into human-readable language names (eg ``English``).
|
|
24
26
|
try:
|
|
@@ -40,6 +42,7 @@ from cecli.helpers import command_parser, coroutines, nested, responses
|
|
|
40
42
|
from cecli.helpers.conversation import ConversationService, MessageTag
|
|
41
43
|
from cecli.helpers.file_system import FileSystemService
|
|
42
44
|
from cecli.helpers.io_proxy import IOProxy
|
|
45
|
+
from cecli.helpers.memory_control import trim_memory
|
|
43
46
|
from cecli.helpers.observations.service import ObservationService
|
|
44
47
|
from cecli.helpers.profiler import TokenProfiler
|
|
45
48
|
from cecli.helpers.threading import ThreadSafeEvent
|
|
@@ -317,6 +320,7 @@ class Coder(metaclass=UsageMeta):
|
|
|
317
320
|
mcp_manager=from_coder.mcp_manager,
|
|
318
321
|
registered_tools=copy.deepcopy(from_coder.registered_tools),
|
|
319
322
|
registered_servers=copy.deepcopy(from_coder.registered_servers),
|
|
323
|
+
auto_memory=from_coder.auto_memory,
|
|
320
324
|
uuid=from_coder.uuid,
|
|
321
325
|
parent_uuid=from_coder.parent_uuid,
|
|
322
326
|
repo=from_coder.repo,
|
|
@@ -1797,6 +1801,8 @@ class Coder(metaclass=UsageMeta):
|
|
|
1797
1801
|
self.run_one_completed = True
|
|
1798
1802
|
self.compact_context_completed = True
|
|
1799
1803
|
self.io.stop_spinner()
|
|
1804
|
+
# Trim memory in the background so it doesn't stall the event loop
|
|
1805
|
+
coroutines.fire_and_forget(asyncio.to_thread(trim_memory))
|
|
1800
1806
|
|
|
1801
1807
|
def copy_context(self):
|
|
1802
1808
|
if self.auto_copy_context:
|
|
@@ -1880,6 +1886,8 @@ class Coder(metaclass=UsageMeta):
|
|
|
1880
1886
|
ConversationService.get_chunks(self).flush_removals()
|
|
1881
1887
|
self.last_user_message = user_message
|
|
1882
1888
|
self.error_code = None
|
|
1889
|
+
# Trim memory in the background so it doesn't delay the response
|
|
1890
|
+
coroutines.fire_and_forget(asyncio.to_thread(trim_memory))
|
|
1883
1891
|
# Fire memorizer after each user request
|
|
1884
1892
|
# if self.auto_memory and self.edit_format not in ["subagent"]:
|
|
1885
1893
|
# from cecli.helpers.memory.utils import invoke_memorizer
|
|
@@ -2439,6 +2447,8 @@ class Coder(metaclass=UsageMeta):
|
|
|
2439
2447
|
# Add chat and edit file messages
|
|
2440
2448
|
ConversationService.get_chunks(self).add_chat_files_messages()
|
|
2441
2449
|
|
|
2450
|
+
ConversationService.get_manager(self).flush_queue()
|
|
2451
|
+
|
|
2442
2452
|
# Return formatted messages for LLM
|
|
2443
2453
|
return ConversationService.get_manager(self).get_messages_dict()
|
|
2444
2454
|
|
|
@@ -2567,12 +2577,14 @@ class Coder(metaclass=UsageMeta):
|
|
|
2567
2577
|
self.format_chat_chunks()
|
|
2568
2578
|
|
|
2569
2579
|
# Always add user message to conversation manager
|
|
2570
|
-
ConversationService.get_manager(self).
|
|
2580
|
+
ConversationService.get_manager(self).queue_message(
|
|
2571
2581
|
message_dict=dict(role="user", content=inp),
|
|
2572
2582
|
tag=MessageTag.CUR,
|
|
2573
|
-
hash_key=(
|
|
2574
|
-
|
|
2575
|
-
|
|
2583
|
+
hash_key=(
|
|
2584
|
+
"user_message",
|
|
2585
|
+
xxhash.xxh3_128_hexdigest(inp.encode("utf-8", errors="replace")),
|
|
2586
|
+
str(time.monotonic_ns()),
|
|
2587
|
+
),
|
|
2576
2588
|
)
|
|
2577
2589
|
|
|
2578
2590
|
ConversationService.get_manager(self).decrement_message_markers()
|
|
@@ -2765,6 +2777,7 @@ class Coder(metaclass=UsageMeta):
|
|
|
2765
2777
|
|
|
2766
2778
|
await self.show_exhausted_error()
|
|
2767
2779
|
self.num_exhausted_context_windows += 1
|
|
2780
|
+
self._release_response_buffers()
|
|
2768
2781
|
return
|
|
2769
2782
|
if self.partial_response_function_call:
|
|
2770
2783
|
args = self.parse_partial_args()
|
|
@@ -2798,6 +2811,9 @@ class Coder(metaclass=UsageMeta):
|
|
|
2798
2811
|
mark_for_demotion=1,
|
|
2799
2812
|
)
|
|
2800
2813
|
|
|
2814
|
+
# The reply was interrupted mid-stream; drop the partial chunk buffers
|
|
2815
|
+
# rather than holding them until the next send().
|
|
2816
|
+
self._release_response_buffers()
|
|
2801
2817
|
return
|
|
2802
2818
|
|
|
2803
2819
|
edited = await self.apply_updates()
|
|
@@ -2883,6 +2899,11 @@ class Coder(metaclass=UsageMeta):
|
|
|
2883
2899
|
self.reflected_message = test_errors
|
|
2884
2900
|
return
|
|
2885
2901
|
|
|
2902
|
+
# Turn complete: drop the per-turn LLM stream buffers. They are reset at
|
|
2903
|
+
# the start of the next send(), so holding on to them while idle only
|
|
2904
|
+
# wastes memory (chunks can be large for long streaming responses).
|
|
2905
|
+
self._release_response_buffers()
|
|
2906
|
+
|
|
2886
2907
|
def _extract_and_prepare_tool_calls(self, tool_call_response):
|
|
2887
2908
|
"""
|
|
2888
2909
|
Unified extraction and preparation of tool calls.
|
|
@@ -3401,6 +3422,16 @@ class Coder(metaclass=UsageMeta):
|
|
|
3401
3422
|
"""Cleanup when the Coder object is destroyed."""
|
|
3402
3423
|
self.ok_to_warm_cache = False
|
|
3403
3424
|
|
|
3425
|
+
def _release_response_buffers(self):
|
|
3426
|
+
"""Drop per-turn LLM stream data now that the turn has completed.
|
|
3427
|
+
|
|
3428
|
+
`partial_response_content` is intentionally kept: subclasses and callers
|
|
3429
|
+
(get_edits, reply_completed, run_stream, ...) read it after the turn.
|
|
3430
|
+
"""
|
|
3431
|
+
self.partial_response_chunks = []
|
|
3432
|
+
self.partial_response_consolidated = None
|
|
3433
|
+
self.partial_response_reasoning_content = ""
|
|
3434
|
+
|
|
3404
3435
|
async def add_assistant_reply_to_cur_messages(self):
|
|
3405
3436
|
"""
|
|
3406
3437
|
Add the assistant's reply to `cur_messages`.
|
|
@@ -3447,10 +3478,17 @@ class Coder(metaclass=UsageMeta):
|
|
|
3447
3478
|
self.io.tool_warning("Execution stopped by end message hook")
|
|
3448
3479
|
return
|
|
3449
3480
|
|
|
3481
|
+
if self.edit_format in ("agent", "subagent"):
|
|
3482
|
+
msg.pop("function_call", None)
|
|
3483
|
+
|
|
3450
3484
|
ConversationService.get_manager(self).add_message(
|
|
3451
3485
|
message_dict=msg,
|
|
3452
3486
|
tag=MessageTag.CUR,
|
|
3453
|
-
hash_key=(
|
|
3487
|
+
hash_key=(
|
|
3488
|
+
"assistant_message",
|
|
3489
|
+
xxhash.xxh3_128_hexdigest(str(msg).encode("utf-8", errors="replace")),
|
|
3490
|
+
str(time.monotonic_ns()),
|
|
3491
|
+
),
|
|
3454
3492
|
# promotion=ConversationService.get_manager(self).DEFAULT_TAG_PROMOTION_VALUE,
|
|
3455
3493
|
# mark_for_demotion=1,
|
|
3456
3494
|
)
|
|
@@ -13,6 +13,7 @@ from .agent_model import AgentModelCommand
|
|
|
13
13
|
from .agent_tree import AgentTreeCommand
|
|
14
14
|
from .architect import ArchitectCommand
|
|
15
15
|
from .ask import AskCommand
|
|
16
|
+
from .auto_memory import AutoMemoryCommand
|
|
16
17
|
from .clear import ClearCommand
|
|
17
18
|
from .code import CodeCommand
|
|
18
19
|
from .command_prefix import CommandPrefixCommand
|
|
@@ -61,6 +62,7 @@ from .reap_agent import ReapAgentCommand
|
|
|
61
62
|
from .reasoning_effort import ReasoningEffortCommand
|
|
62
63
|
from .remove_hook import RemoveHookCommand
|
|
63
64
|
from .remove_mcp import RemoveMcpCommand
|
|
65
|
+
from .remove_memory import RemoveMemoryCommand
|
|
64
66
|
from .remove_skill import RemoveSkillCommand
|
|
65
67
|
from .report import ReportCommand
|
|
66
68
|
from .reset import ResetCommand
|
|
@@ -68,6 +70,7 @@ from .rules import RulesCommand
|
|
|
68
70
|
from .run import RunCommand
|
|
69
71
|
from .save import SaveCommand
|
|
70
72
|
from .save_session import SaveSessionCommand
|
|
73
|
+
from .search_memory import SearchMemoryCommand
|
|
71
74
|
from .settings import SettingsCommand
|
|
72
75
|
from .spawn_agent import SpawnAgentCommand
|
|
73
76
|
from .switch_agent import SwitchAgentCommand
|
|
@@ -100,6 +103,7 @@ CommandRegistry.register(AgentModelCommand)
|
|
|
100
103
|
CommandRegistry.register(AgentTreeCommand)
|
|
101
104
|
CommandRegistry.register(ArchitectCommand)
|
|
102
105
|
CommandRegistry.register(AskCommand)
|
|
106
|
+
CommandRegistry.register(AutoMemoryCommand)
|
|
103
107
|
CommandRegistry.register(ClearCommand)
|
|
104
108
|
CommandRegistry.register(CodeCommand)
|
|
105
109
|
CommandRegistry.register(CommandPrefixCommand)
|
|
@@ -150,6 +154,7 @@ CommandRegistry.register(ReadOnlyStubCommand)
|
|
|
150
154
|
CommandRegistry.register(ReasoningEffortCommand)
|
|
151
155
|
CommandRegistry.register(RemoveHookCommand)
|
|
152
156
|
CommandRegistry.register(RemoveMcpCommand)
|
|
157
|
+
CommandRegistry.register(RemoveMemoryCommand)
|
|
153
158
|
CommandRegistry.register(RemoveSkillCommand)
|
|
154
159
|
CommandRegistry.register(ReportCommand)
|
|
155
160
|
CommandRegistry.register(ResetCommand)
|
|
@@ -157,6 +162,7 @@ CommandRegistry.register(RulesCommand)
|
|
|
157
162
|
CommandRegistry.register(RunCommand)
|
|
158
163
|
CommandRegistry.register(SaveCommand)
|
|
159
164
|
CommandRegistry.register(SaveSessionCommand)
|
|
165
|
+
CommandRegistry.register(SearchMemoryCommand)
|
|
160
166
|
CommandRegistry.register(SettingsCommand)
|
|
161
167
|
CommandRegistry.register(TerminalSetupCommand)
|
|
162
168
|
CommandRegistry.register(TestCommand)
|
|
@@ -176,6 +182,7 @@ __all__ = [
|
|
|
176
182
|
"AgentTreeCommand",
|
|
177
183
|
"ArchitectCommand",
|
|
178
184
|
"AskCommand",
|
|
185
|
+
"AutoMemoryCommand",
|
|
179
186
|
"BaseCommand",
|
|
180
187
|
"ClearCommand",
|
|
181
188
|
"CodeCommand",
|
|
@@ -237,6 +244,7 @@ __all__ = [
|
|
|
237
244
|
"ReloadProgramSignal",
|
|
238
245
|
"RemoveHookCommand",
|
|
239
246
|
"RemoveMcpCommand",
|
|
247
|
+
"RemoveMemoryCommand",
|
|
240
248
|
"RemoveSkillCommand",
|
|
241
249
|
"ReportCommand",
|
|
242
250
|
"ResetCommand",
|
|
@@ -244,6 +252,7 @@ __all__ = [
|
|
|
244
252
|
"RunCommand",
|
|
245
253
|
"SaveCommand",
|
|
246
254
|
"SaveSessionCommand",
|
|
255
|
+
"SearchMemoryCommand",
|
|
247
256
|
"SettingsCommand",
|
|
248
257
|
"SwitchCoderSignal",
|
|
249
258
|
"TerminalSetupCommand",
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"""Auto-memory command - view or toggle automatic memorizer invocation.
|
|
2
|
+
|
|
3
|
+
Controls the ``coder.auto_memory`` flag, which decides whether the
|
|
4
|
+
memorizer sub-agent is fired automatically after context compaction.
|
|
5
|
+
``on``/``off`` propagate the setting to every tracked sub-agent so the
|
|
6
|
+
whole agent tree stays consistent.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from typing import List
|
|
10
|
+
|
|
11
|
+
from cecli.commands.utils.base_command import BaseCommand
|
|
12
|
+
from cecli.commands.utils.helpers import format_command_result
|
|
13
|
+
from cecli.helpers.agents.service import AgentService
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class AutoMemoryCommand(BaseCommand):
|
|
17
|
+
NORM_NAME = "auto-memory"
|
|
18
|
+
DESCRIPTION = "View or toggle automatic memory (memorizer) on/off"
|
|
19
|
+
|
|
20
|
+
@classmethod
|
|
21
|
+
async def execute(cls, io, coder, args, **kwargs):
|
|
22
|
+
"""View or toggle automatic memory on/off.
|
|
23
|
+
|
|
24
|
+
Syntax:
|
|
25
|
+
/auto-memory — Show the current status
|
|
26
|
+
/auto-memory on — Enable for this coder and all sub-agents
|
|
27
|
+
/auto-memory off — Disable for this coder and all sub-agents
|
|
28
|
+
"""
|
|
29
|
+
arg = args.strip().lower()
|
|
30
|
+
|
|
31
|
+
if not arg:
|
|
32
|
+
cls._show_status(io, coder)
|
|
33
|
+
|
|
34
|
+
return format_command_result(io, cls.NORM_NAME, "Displayed auto-memory status")
|
|
35
|
+
|
|
36
|
+
if arg not in ("on", "off"):
|
|
37
|
+
io.tool_error("Usage: /auto-memory [on|off]")
|
|
38
|
+
|
|
39
|
+
return format_command_result(
|
|
40
|
+
io,
|
|
41
|
+
cls.NORM_NAME,
|
|
42
|
+
"Unknown option",
|
|
43
|
+
f"Expected 'on' or 'off', got '{arg}'",
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
enabled = arg == "on"
|
|
47
|
+
updated = cls._set_auto_memory(coder, enabled)
|
|
48
|
+
state = "ON" if enabled else "OFF"
|
|
49
|
+
|
|
50
|
+
io.tool_output(
|
|
51
|
+
f"Auto memory is now {state} for the current coder and {len(updated)} sub-agent(s)."
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
return format_command_result(io, cls.NORM_NAME, f"Auto memory set to {state}")
|
|
55
|
+
|
|
56
|
+
@classmethod
|
|
57
|
+
def get_completions(cls, io, coder, args) -> List[str]:
|
|
58
|
+
"""Return completion options for auto-memory."""
|
|
59
|
+
return ["on", "off"]
|
|
60
|
+
|
|
61
|
+
@classmethod
|
|
62
|
+
def get_help(cls) -> str:
|
|
63
|
+
"""Get help text for the auto-memory command."""
|
|
64
|
+
help_text = super().get_help()
|
|
65
|
+
help_text += "\nUsage:\n"
|
|
66
|
+
help_text += " /auto-memory # Show the current status\n"
|
|
67
|
+
help_text += " /auto-memory on # Enable automatic memory for all agents\n"
|
|
68
|
+
help_text += " /auto-memory off # Disable automatic memory for all agents\n"
|
|
69
|
+
help_text += "\nWith 'on' or 'off' the setting is applied to the current coder and\n"
|
|
70
|
+
help_text += "iterated through every sub-agent so the whole tree stays consistent.\n"
|
|
71
|
+
|
|
72
|
+
return help_text
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def _show_status(cls, io, coder) -> None:
|
|
76
|
+
"""Print the current auto-memory status for the coder and its sub-agents."""
|
|
77
|
+
state = "ON" if getattr(coder, "auto_memory", True) else "OFF"
|
|
78
|
+
io.tool_output(f"Auto memory is {state} for the current coder.")
|
|
79
|
+
|
|
80
|
+
sub_infos = cls._get_sub_agent_infos(coder)
|
|
81
|
+
|
|
82
|
+
if not sub_infos:
|
|
83
|
+
return
|
|
84
|
+
|
|
85
|
+
io.tool_output(f"Sub-agents ({len(sub_infos)}):")
|
|
86
|
+
|
|
87
|
+
for info in sub_infos:
|
|
88
|
+
sub_state = "ON" if getattr(info.coder, "auto_memory", True) else "OFF"
|
|
89
|
+
io.tool_output(f" {info.name} ({info.coder.uuid}): {sub_state}")
|
|
90
|
+
|
|
91
|
+
@classmethod
|
|
92
|
+
def _set_auto_memory(cls, coder, enabled: bool) -> list:
|
|
93
|
+
"""Set auto_memory on *coder* and every tracked sub-agent coder.
|
|
94
|
+
|
|
95
|
+
Returns the list of sub-agent info objects whose coder was updated.
|
|
96
|
+
"""
|
|
97
|
+
coder.auto_memory = enabled
|
|
98
|
+
updated = []
|
|
99
|
+
|
|
100
|
+
for info in cls._get_sub_agent_infos(coder):
|
|
101
|
+
try:
|
|
102
|
+
info.coder.auto_memory = enabled
|
|
103
|
+
updated.append(info)
|
|
104
|
+
except Exception:
|
|
105
|
+
continue
|
|
106
|
+
|
|
107
|
+
return updated
|
|
108
|
+
|
|
109
|
+
@classmethod
|
|
110
|
+
def _get_sub_agent_infos(cls, coder) -> list:
|
|
111
|
+
"""Return all sub-agent info objects tracked by the coder's AgentService."""
|
|
112
|
+
try:
|
|
113
|
+
agent_service = AgentService.get_instance(coder)
|
|
114
|
+
|
|
115
|
+
return list(agent_service.sub_agents.values())
|
|
116
|
+
except Exception:
|
|
117
|
+
return []
|
|
@@ -16,7 +16,7 @@ class CodeCommand(BaseCommand):
|
|
|
16
16
|
edit_format = coder.main_model.edit_format
|
|
17
17
|
else:
|
|
18
18
|
# Default to a reasonable edit format if main_model is not available
|
|
19
|
-
edit_format = "
|
|
19
|
+
edit_format = "whole"
|
|
20
20
|
return await cls._generic_chat_command(io, coder, args, edit_format)
|
|
21
21
|
|
|
22
22
|
@classmethod
|
|
@@ -15,7 +15,9 @@ class CopyCommand(BaseCommand):
|
|
|
15
15
|
@classmethod
|
|
16
16
|
async def execute(cls, io, coder, args, **kwargs):
|
|
17
17
|
# Get all messages from ConversationManager
|
|
18
|
-
|
|
18
|
+
manager = ConversationService.get_manager(coder)
|
|
19
|
+
manager.flush_queue()
|
|
20
|
+
all_messages = manager.get_messages_dict()
|
|
19
21
|
assistant_messages = [msg for msg in reversed(all_messages) if msg["role"] == "assistant"]
|
|
20
22
|
|
|
21
23
|
if not assistant_messages:
|
|
@@ -17,6 +17,8 @@ class HelpCommand(BaseCommand):
|
|
|
17
17
|
await cls._basic_help(io, coder)
|
|
18
18
|
return format_command_result(io, "help", "Displayed basic help")
|
|
19
19
|
|
|
20
|
+
from uuid import uuid4 as generate_unique_id
|
|
21
|
+
|
|
20
22
|
from cecli.coders.base_coder import Coder
|
|
21
23
|
from cecli.help import Help, install_help_extra
|
|
22
24
|
|
|
@@ -34,15 +36,18 @@ class HelpCommand(BaseCommand):
|
|
|
34
36
|
from cecli.commands import Commands
|
|
35
37
|
|
|
36
38
|
commands_instance = Commands(io, coder)
|
|
37
|
-
commands_instance.help = Help()
|
|
39
|
+
commands_instance.help = Help(coder=coder)
|
|
38
40
|
|
|
39
41
|
help_instance = commands_instance.help
|
|
40
42
|
|
|
41
43
|
# Use the editor_model from the main_model if it exists, otherwise use the main_model itself
|
|
42
44
|
editor_model = coder.main_model.editor_model or coder.main_model
|
|
43
45
|
|
|
46
|
+
original_coder = coder
|
|
47
|
+
|
|
44
48
|
kwargs = dict()
|
|
45
49
|
kwargs["io"] = io
|
|
50
|
+
kwargs["uuid"] = str(generate_unique_id())
|
|
46
51
|
kwargs["from_coder"] = coder
|
|
47
52
|
kwargs["edit_format"] = "help"
|
|
48
53
|
kwargs["summarize_from_coder"] = False
|
|
@@ -76,7 +81,7 @@ class HelpCommand(BaseCommand):
|
|
|
76
81
|
raise SwitchCoderSignal(
|
|
77
82
|
edit_format=coder.edit_format,
|
|
78
83
|
summarize_from_coder=False,
|
|
79
|
-
from_coder=
|
|
84
|
+
from_coder=original_coder,
|
|
80
85
|
map_tokens=map_tokens,
|
|
81
86
|
map_mul_no_files=map_mul_no_files,
|
|
82
87
|
show_announcements=False,
|