cecli-dev 0.99.12__tar.gz → 0.100.0__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-0.99.12 → cecli_dev-0.100.0}/.github/workflows/release.yml +1 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/PKG-INFO +9 -8
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/README.md +6 -5
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/_version.py +3 -3
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/args.py +1 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/__init__.py +2 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/agent_coder.py +121 -9
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/base_coder.py +341 -155
- cecli_dev-0.100.0/cecli/coders/sub_agent_coder.py +23 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/__init__.py +16 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/add.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/agent_model.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/clear.py +3 -2
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/context_blocks.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/context_management.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/copy.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/copy_context.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/core.py +22 -12
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/diff.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/drop.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/editor.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/editor_model.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/exclude_skill.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/exit.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/hooks.py +3 -2
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/include_skill.py +1 -0
- cecli_dev-0.100.0/cecli/commands/invoke_agent.py +54 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/lint.py +1 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/list_sessions.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/list_skills.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/load.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/load_hook.py +4 -3
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/load_mcp.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/load_session.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/load_skill.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/ls.py +4 -3
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/map.py +1 -0
- cecli_dev-0.100.0/cecli/commands/merge.py +194 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/model.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/models.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/paste.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/read_only.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/read_only_stub.py +1 -0
- cecli_dev-0.100.0/cecli/commands/reap_agent.py +67 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/remove_hook.py +4 -3
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/remove_mcp.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/remove_skill.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/reset.py +3 -2
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/run.py +3 -5
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/save.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/save_session.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/settings.py +1 -0
- cecli_dev-0.100.0/cecli/commands/spawn_agent.py +42 -0
- cecli_dev-0.100.0/cecli/commands/switch_agent.py +122 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/think_tokens.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/tokens.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/undo.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/utils/base_command.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/voice.py +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/weak_model.py +1 -0
- cecli_dev-0.100.0/cecli/helpers/agents/__init__.py +7 -0
- cecli_dev-0.100.0/cecli/helpers/agents/config.py +84 -0
- cecli_dev-0.100.0/cecli/helpers/agents/service.py +551 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/conversation/files.py +29 -11
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/conversation/integration.py +69 -13
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/conversation/manager.py +29 -11
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/conversation/service.py +1 -2
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/coroutines.py +38 -0
- cecli_dev-0.100.0/cecli/helpers/io_proxy.py +256 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/leak_detect.py +42 -0
- cecli_dev-0.99.12/cecli/helpers/observations/manager.py → cecli_dev-0.100.0/cecli/helpers/observations/service.py +50 -16
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/skills.py +27 -3
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/hooks/__init__.py +2 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/hooks/integration.py +28 -14
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/hooks/manager.py +56 -88
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/hooks/registry.py +62 -5
- cecli_dev-0.100.0/cecli/hooks/service.py +65 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/io.py +27 -15
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/linter.py +36 -36
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/main.py +19 -17
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/models.py +5 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/agent.yml +1 -1
- cecli_dev-0.100.0/cecli/prompts/subagent.yml +62 -0
- cecli_dev-0.100.0/cecli/queries/tree-sitter-language-pack/bash-tags.scm +8 -0
- cecli_dev-0.100.0/cecli/queries/tree-sitter-languages/bash-tags.scm +8 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/repomap.py +30 -7
- cecli_dev-0.100.0/cecli/run_cmd.py +284 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/__init__.py +2 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/command.py +5 -3
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/context_manager.py +51 -5
- cecli_dev-0.100.0/cecli/tools/delegate.py +125 -0
- cecli_dev-0.100.0/cecli/tools/finished.py +86 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/read_range.py +95 -16
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/utils/base_tool.py +2 -2
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/app.py +430 -49
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/io.py +185 -55
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/styles.tcss +2 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/widgets/__init__.py +2 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/widgets/file_list.py +12 -2
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/widgets/footer.py +61 -4
- cecli_dev-0.100.0/cecli/tui/widgets/input_container.py +139 -0
- cecli_dev-0.100.0/cecli/tui/widgets/subagent_pills.py +164 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/worker.py +33 -7
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/agent-mode.md +28 -28
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/hooks.md +11 -1
- cecli_dev-0.100.0/cecli/website/docs/config/subagents.md +241 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/commands.md +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli_dev.egg-info/PKG-INFO +9 -8
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli_dev.egg-info/SOURCES.txt +32 -2
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli_dev.egg-info/requires.txt +4 -3
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/pyproject.toml +0 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/pytest.ini +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/common-constraints.txt +3 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/requirements-dev.in +2 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/requirements-dev.txt +25 -9
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/requirements-help.txt +20 -18
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/requirements-playwright.txt +1 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/pip-compile.sh +1 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_coder.py +17 -9
- cecli_dev-0.100.0/tests/basic/test_linter.py +74 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_reasoning.py +4 -4
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_repomap.py +3 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_run_cmd.py +2 -2
- cecli_dev-0.100.0/tests/coders/test_coder_switching.py +74 -0
- cecli_dev-0.100.0/tests/commands/test_compaction.py +105 -0
- cecli_dev-0.100.0/tests/commands/test_switch_agent.py +104 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/conversations/test_conversation_integration.py +1 -1
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/conversations/test_conversation_system.py +1 -1
- cecli_dev-0.100.0/tests/fixtures/languages/bash/test.sh +19 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/helpers/monorepo/test_repomap_workspace.py +4 -0
- cecli_dev-0.99.12/tests/helpers/observations/test_observation_manager.py → cecli_dev-0.100.0/tests/helpers/observations/test_observation_service.py +7 -7
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/hooks/test_manager.py +116 -83
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/hooks/test_registry.py +25 -13
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/scrape/test_playwright_disable.py +2 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/scrape/test_scrape.py +2 -0
- cecli_dev-0.100.0/tests/subagents/__init__.py +0 -0
- cecli_dev-0.100.0/tests/subagents/conftest.py +60 -0
- cecli_dev-0.100.0/tests/subagents/test_commands.py +238 -0
- cecli_dev-0.100.0/tests/subagents/test_config.py +109 -0
- cecli_dev-0.100.0/tests/subagents/test_delegate.py +124 -0
- cecli_dev-0.100.0/tests/subagents/test_finished.py +109 -0
- cecli_dev-0.100.0/tests/subagents/test_io_proxy.py +187 -0
- cecli_dev-0.100.0/tests/subagents/test_service.py +653 -0
- cecli_dev-0.100.0/tests/subagents/test_sub_agent_coder.py +153 -0
- cecli_dev-0.99.12/cecli/run_cmd.py +0 -143
- cecli_dev-0.99.12/cecli/tools/finished.py +0 -41
- cecli_dev-0.99.12/cecli/tui/widgets/input_container.py +0 -24
- cecli_dev-0.99.12/tests/basic/test_linter.py +0 -92
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.dockerignore +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.flake8 +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.gitattributes +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/check_pypi_version.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/docker-build-test.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/docker-release.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/issues.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/pages.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/pre-commit.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/ubuntu-tests.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/windows-tests.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.github/workflows/windows_check_pypi_version.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.gitignore +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/.pre-commit-config.yaml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/CHANGELOG.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/CNAME +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/CONTRIBUTING.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/HISTORY.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/LICENSE.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/MANIFEST.in +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/Dockerfile +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/README.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/benchmark.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/benchmark_classic.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/clone-exercism.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/cpp-test.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/docker.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/docker_build.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/install-docker-ubuntu.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/npm-test.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/over_time.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/plot.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/plots.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/problem_stats.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/prompts.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/refactor_tools.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/rsync.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/rungrid.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/swe-bench-lite.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/swe-bench.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/swe_bench.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/test_benchmark.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/variations.1.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/variations.2.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/variations.3.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/benchmark/variations.4.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/__main__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/args_formatter.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/change_tracker.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/architect_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/ask_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/chat_chunks.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/context_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/copypaste_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/editblock_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/editblock_fenced_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/editblock_func_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/editor_diff_fenced_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/editor_editblock_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/editor_whole_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/hashline_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/help_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/patch_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/search_replace.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/shell.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/single_wholefile_func_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/udiff_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/udiff_simple.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/wholefile_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/coders/wholefile_func_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/agent.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/architect.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/ask.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/chat_mode.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/code.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/command_prefix.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/commit.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/compact.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/context.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/git.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/hashline.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/help.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/history_search.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/map_refresh.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/multiline_mode.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/quit.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/reasoning_effort.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/report.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/rules.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/terminal_data/linux.keytab +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/terminal_setup.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/test.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/utils/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/utils/helpers.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/utils/registry.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/utils/save_load_manager.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/web.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/commands/workspace.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/deprecated_args.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/diffs.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/dump.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/editor.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/exceptions.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/format_settings.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/help.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/help_pats.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/background_commands.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/command_parser.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/conversation/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/conversation/base_message.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/conversation/tags.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/conversation/utils.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/copypaste.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/file_searcher.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/grep_ast/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/grep_ast/dump.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/grep_ast/grep_ast.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/grep_ast/main.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/grep_ast/parsers.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/grep_ast/tsl.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/hashline.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/hashpos/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/hashpos/hashpos.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/model_providers.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/monorepo/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/monorepo/config.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/monorepo/project.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/monorepo/workspace.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/monorepo/worktree.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/nested.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/observations/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/plugin_manager.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/profiler.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/requests.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/responses.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/helpers/similarity.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/history.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/hooks/base.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/hooks/types.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/interruptible_input.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/llm.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/mcp/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/mcp/manager.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/mcp/oauth.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/mcp/server.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/mcp/utils.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/mdstream.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/onboarding.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/architect.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/ask.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/base.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/context.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/copypaste.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/editblock.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/editblock_fenced.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/editblock_func.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/editor_diff_fenced.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/editor_editblock.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/editor_whole.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/hashline.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/help.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/patch.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/single_wholefile_func.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/udiff.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/udiff_simple.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/utils/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/utils/registry.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/utils/system.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/wholefile.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/prompts/wholefile_func.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/README.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/reasoning_tags.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/repo.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/report.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/resources/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/resources/model-metadata.json +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/resources/model-settings.yml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/resources/providers.json +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/scrape.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/sendchat.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/sessions.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/special.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/command_interactive.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/edit_text.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/explore_code.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/git_branch.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/git_diff.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/git_log.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/git_remote.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/git_show.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/git_status.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/grep.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/load_skill.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/ls.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/remove_skill.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/thinking.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/undo_change.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/update_todo_list.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/utils/helpers.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/utils/output.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tools/utils/registry.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/widgets/completion_bar.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/widgets/input_area.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/widgets/key_hints.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/widgets/output.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/tui/widgets/status_bar.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/urls.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/utils.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/versioncheck.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/voice.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/waiting.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/watch.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/watch_prompts.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/Gemfile +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/blame.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/get-started.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/help-tip.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/help.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/install.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/keys.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/model-warnings.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/multi-line.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/python-m-aider.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/recording.css +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/recording.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_includes/works-best.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_features.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_footer.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_hero.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_info.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_layout.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_reset.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_testimonials.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_typography.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/_variables.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/custom/custom.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/_sass/global-overrides.scss +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/adv-model-settings.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/aider_conf.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/api-keys.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/custom-commands.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/custom-system-prompts.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/dotenv.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/editor.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/mcp.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/model-aliases.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/options.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/reasoning.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/security.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/skills.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/tui.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config/workspaces.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/config.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/faq.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/git.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/index.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/install/docker.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/install/optional.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/install.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/languages.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/legal/contributor-agreement.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/legal/privacy.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/anthropic.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/azure.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/bedrock.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/cohere.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/deepseek.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/gemini.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/github.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/groq.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/lm-studio.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/ollama.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/openai-compat.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/openai.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/openrouter.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/other.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/vertex.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/warnings.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms/xai.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/llms.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/more/analytics.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/more/edit-formats.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/more/infinite-output.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/more-info.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/repomap.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/scripting.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/troubleshooting/imports.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/troubleshooting/support.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/troubleshooting/warnings.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/troubleshooting.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/conventions.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/copypaste.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/images-urls.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/lint-test.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/modes.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/not-code.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/notifications.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/sessions.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/tips.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/voice.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage/watch.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/docs/usage.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli/website/share/index.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli_dev.egg-info/dependency_links.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli_dev.egg-info/entry_points.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/cecli_dev.egg-info/top_level.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/docker/Dockerfile +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/requirements-help.in +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/requirements-playwright.in +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/requirements.in +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements/tree-sitter.in +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/requirements.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/30k-image.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/Dockerfile.jekyll +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/blame.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/clean_metadata.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/cost_analyzer.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/cost_calculator.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/dl_icons.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/filter-chat-mode.js +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/generate_providers.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/get_contributor_list.js +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/get_hashline.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/history_prompts.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/homepage.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/issues.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/jekyll_build.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/jekyll_run.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/logo_svg.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/recording_audio.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/redact-cast.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/rename_to_cecli.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/tmux_record.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/tsl_pack_langs.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/update-blame.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/update-docs.sh +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/update-history.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/versionbump.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/scripts/yank-old-versions.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/setup.cfg +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/shim.pyproject.toml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_aws_credentials.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_background_commands.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_commands.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_custom_commands.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_deprecated.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_editblock.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_editor.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_exceptions.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_find_or_blocks.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_hashline.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_history.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_io.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_main.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_model_info_manager.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_model_provider_manager.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_models.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_onboarding.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_plugin_manager.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_prompts.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_repo.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_sanity_check_repo.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_scripting.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_sendchat.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_sessions.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_skills.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_special.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_ssl_verification.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_udiff.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_urls.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_voice.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_watch.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/basic/test_wholefile.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/coders/test_copypaste_coder.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/conftest.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/chat-history.md +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/arduino/test.ino +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/c/test.c +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/chatito/test.chatito +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/clojure/test.clj +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/cpp/test.cpp +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/csharp/test.cs +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/d/test.d +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/dart/test.dart +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/elisp/test.el +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/elixir/test.ex +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/elm/test.elm +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/gleam/test.gleam +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/go/test.go +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/haskell/test.hs +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/hcl/test.tf +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/java/test.java +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/javascript/test.js +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/kotlin/test.kt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/lua/test.lua +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/matlab/test.m +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/ocaml/test.ml +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/php/test.php +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/pony/test.pony +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/properties/test.properties +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/python/test.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/ql/test.ql +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/r/test.r +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/racket/test.rkt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/ruby/test.rb +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/rust/test.rs +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/scala/test.scala +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/solidity/test.sol +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/swift/test.swift +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/tsx/test.tsx +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/typescript/test.ts +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/udev/test.rules +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/languages/zig/test.zig +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/sample-code-base/sample.js +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/sample-code-base/sample.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/watch.js +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/watch.lisp +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/watch.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/fixtures/watch_question.js +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/help/test_help.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/helpers/monorepo/test_config.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/helpers/monorepo/test_config_active.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/helpers/monorepo/test_ignore_logic.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/helpers/monorepo/test_workspace.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/hooks/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/hooks/test_base.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/mcp/__init__.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/mcp/test_manager.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/tools/test_get_lines.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/tools/test_git_branch.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/tools/test_git_diff.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/tools/test_grep.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/tools/test_insert_block.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/tools/test_registry.py +0 -0
- {cecli_dev-0.99.12 → cecli_dev-0.100.0}/tests/tui/test_app.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cecli-dev
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.100.0
|
|
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
|
|
@@ -76,16 +76,16 @@ Requires-Dist: cogapp; extra == "dev"
|
|
|
76
76
|
Requires-Dist: semver; extra == "dev"
|
|
77
77
|
Requires-Dist: codespell; extra == "dev"
|
|
78
78
|
Requires-Dist: uv; extra == "dev"
|
|
79
|
-
Requires-Dist: memray; extra == "dev"
|
|
79
|
+
Requires-Dist: memray; sys_platform != "win32" and extra == "dev"
|
|
80
80
|
Requires-Dist: objgraph; extra == "dev"
|
|
81
81
|
Requires-Dist: pympler; extra == "dev"
|
|
82
82
|
Requires-Dist: guppy3; extra == "dev"
|
|
83
|
+
Requires-Dist: psutil; extra == "dev"
|
|
83
84
|
Provides-Extra: help
|
|
84
85
|
Requires-Dist: llama-index-embeddings-huggingface; extra == "help"
|
|
85
86
|
Requires-Dist: numpy>=1.26.4; extra == "help"
|
|
86
87
|
Provides-Extra: playwright
|
|
87
88
|
Requires-Dist: playwright; extra == "playwright"
|
|
88
|
-
Provides-Extra: tui
|
|
89
89
|
Dynamic: license-file
|
|
90
90
|
|
|
91
91
|
## Why `cecli`?
|
|
@@ -110,6 +110,7 @@ LLMs are a part of our lives from here on out so join us in learning about and c
|
|
|
110
110
|
* [MCP Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/mcp.md)
|
|
111
111
|
* [TUI Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/tui.md)
|
|
112
112
|
* [Skills](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/skills.md)
|
|
113
|
+
* [Subagents](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/subagents.md)
|
|
113
114
|
* [Session Management](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/sessions.md)
|
|
114
115
|
* [Hooks](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/hooks.md)
|
|
115
116
|
* [Workspaces](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/workspaces.md)
|
|
@@ -232,7 +233,7 @@ The current priorities are to improve core capabilities and user experience of t
|
|
|
232
233
|
* [ ] Build an explicit workflow and local tooling for internal discovery mechanisms
|
|
233
234
|
|
|
234
235
|
4. **Context Delivery** - [Discussion](https://github.com/dwash96/cecli/issues/47)
|
|
235
|
-
* [
|
|
236
|
+
* [x] Use workflow for internal discovery to better target file snippets needed for specific tasks (ExploreCode and ReadRange)
|
|
236
237
|
* [x] Add support for partial files and code snippets in model completion messages
|
|
237
238
|
* [x] Update message request structure for optimal caching
|
|
238
239
|
|
|
@@ -251,12 +252,12 @@ The current priorities are to improve core capabilities and user experience of t
|
|
|
251
252
|
* [x] Add a dynamic tool discovery tool to allow the system to have only the tools it needs in context
|
|
252
253
|
|
|
253
254
|
7. **Sub Agents**
|
|
254
|
-
* [
|
|
255
|
+
* [x] Add `/invoke-agent` command to manually branch a sub agent and return a summary to the main context
|
|
255
256
|
* [x] Add an instance-able view of the conversation system so sub agents get their own context and workspaces
|
|
256
257
|
* [x] Modify coder classes to have discrete identifiers for themselves/management utilities for them to have their own slices of the world
|
|
257
258
|
* [x] Refactor global files like todo lists to live inside instance folders to avoid state conflicts
|
|
258
|
-
* [
|
|
259
|
-
* [
|
|
259
|
+
* [x] Add a `Delegate` tool that launches a sub agent as a background command that the parent model waits for to finish
|
|
260
|
+
* [x] Add visibility into active sub agent calls in TUI
|
|
260
261
|
|
|
261
262
|
8. **Hooks**
|
|
262
263
|
* [x] Add hooks base class for user defined python hooks with an execute method with type and priority settings
|
|
@@ -270,7 +271,7 @@ The current priorities are to improve core capabilities and user experience of t
|
|
|
270
271
|
* [x] Update internal file diff representation to support hashline propagation
|
|
271
272
|
|
|
272
273
|
10. **Dynamic Context Management**
|
|
273
|
-
* [
|
|
274
|
+
* [x] Update compaction to use observational memory sub agent calls to generate decision records that are used as the compaction basis
|
|
274
275
|
* [ ] Persist decision records to disk for sessions with some settings for managing lifetimes of such persistence
|
|
275
276
|
* [ ] Integrate RLM to extract information from decision records on disk and other definable notes
|
|
276
277
|
* [ ] Add a "describe" tool that launches a sub agent workflow that populates an RLM call's context with:
|
|
@@ -20,6 +20,7 @@ LLMs are a part of our lives from here on out so join us in learning about and c
|
|
|
20
20
|
* [MCP Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/mcp.md)
|
|
21
21
|
* [TUI Configuration](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/tui.md)
|
|
22
22
|
* [Skills](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/skills.md)
|
|
23
|
+
* [Subagents](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/subagents.md)
|
|
23
24
|
* [Session Management](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/sessions.md)
|
|
24
25
|
* [Hooks](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/hooks.md)
|
|
25
26
|
* [Workspaces](https://github.com/dwash96/cecli/blob/main/cecli/website/docs/config/workspaces.md)
|
|
@@ -142,7 +143,7 @@ The current priorities are to improve core capabilities and user experience of t
|
|
|
142
143
|
* [ ] Build an explicit workflow and local tooling for internal discovery mechanisms
|
|
143
144
|
|
|
144
145
|
4. **Context Delivery** - [Discussion](https://github.com/dwash96/cecli/issues/47)
|
|
145
|
-
* [
|
|
146
|
+
* [x] Use workflow for internal discovery to better target file snippets needed for specific tasks (ExploreCode and ReadRange)
|
|
146
147
|
* [x] Add support for partial files and code snippets in model completion messages
|
|
147
148
|
* [x] Update message request structure for optimal caching
|
|
148
149
|
|
|
@@ -161,12 +162,12 @@ The current priorities are to improve core capabilities and user experience of t
|
|
|
161
162
|
* [x] Add a dynamic tool discovery tool to allow the system to have only the tools it needs in context
|
|
162
163
|
|
|
163
164
|
7. **Sub Agents**
|
|
164
|
-
* [
|
|
165
|
+
* [x] Add `/invoke-agent` command to manually branch a sub agent and return a summary to the main context
|
|
165
166
|
* [x] Add an instance-able view of the conversation system so sub agents get their own context and workspaces
|
|
166
167
|
* [x] Modify coder classes to have discrete identifiers for themselves/management utilities for them to have their own slices of the world
|
|
167
168
|
* [x] Refactor global files like todo lists to live inside instance folders to avoid state conflicts
|
|
168
|
-
* [
|
|
169
|
-
* [
|
|
169
|
+
* [x] Add a `Delegate` tool that launches a sub agent as a background command that the parent model waits for to finish
|
|
170
|
+
* [x] Add visibility into active sub agent calls in TUI
|
|
170
171
|
|
|
171
172
|
8. **Hooks**
|
|
172
173
|
* [x] Add hooks base class for user defined python hooks with an execute method with type and priority settings
|
|
@@ -180,7 +181,7 @@ The current priorities are to improve core capabilities and user experience of t
|
|
|
180
181
|
* [x] Update internal file diff representation to support hashline propagation
|
|
181
182
|
|
|
182
183
|
10. **Dynamic Context Management**
|
|
183
|
-
* [
|
|
184
|
+
* [x] Update compaction to use observational memory sub agent calls to generate decision records that are used as the compaction basis
|
|
184
185
|
* [ ] Persist decision records to disk for sessions with some settings for managing lifetimes of such persistence
|
|
185
186
|
* [ ] Integrate RLM to extract information from decision records on disk and other definable notes
|
|
186
187
|
* [ ] Add a "describe" tool that launches a sub agent workflow that populates an RLM call's context with:
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0,
|
|
21
|
+
__version__ = version = '0.100.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 100, 0)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g8b6086f7f'
|
|
@@ -12,6 +12,7 @@ from .editor_whole_coder import EditorWholeFileCoder
|
|
|
12
12
|
from .hashline_coder import HashLineCoder
|
|
13
13
|
from .help_coder import HelpCoder
|
|
14
14
|
from .patch_coder import PatchCoder
|
|
15
|
+
from .sub_agent_coder import SubAgentCoder
|
|
15
16
|
from .udiff_coder import UnifiedDiffCoder
|
|
16
17
|
from .udiff_simple import UnifiedDiffSimpleCoder
|
|
17
18
|
from .wholefile_coder import WholeFileCoder
|
|
@@ -37,4 +38,5 @@ __all__ = [
|
|
|
37
38
|
AgentCoder,
|
|
38
39
|
CopyPasteCoder,
|
|
39
40
|
HashLineCoder,
|
|
41
|
+
SubAgentCoder,
|
|
40
42
|
]
|
|
@@ -2,6 +2,7 @@ import asyncio
|
|
|
2
2
|
import base64
|
|
3
3
|
import json
|
|
4
4
|
import locale
|
|
5
|
+
import logging
|
|
5
6
|
import os
|
|
6
7
|
import platform
|
|
7
8
|
import random
|
|
@@ -14,6 +15,7 @@ from pathlib import Path
|
|
|
14
15
|
from cecli import utils
|
|
15
16
|
from cecli.change_tracker import ChangeTracker
|
|
16
17
|
from cecli.helpers import nested, responses
|
|
18
|
+
from cecli.helpers.agents.service import AgentService
|
|
17
19
|
from cecli.helpers.background_commands import BackgroundCommandManager
|
|
18
20
|
from cecli.helpers.conversation import ConversationService, MessageTag
|
|
19
21
|
from cecli.helpers.similarity import (
|
|
@@ -33,6 +35,8 @@ from .base_coder import Coder
|
|
|
33
35
|
|
|
34
36
|
from cecli.helpers.coroutines import interruptible # isort:skip
|
|
35
37
|
|
|
38
|
+
logger = logging.getLogger(__name__)
|
|
39
|
+
|
|
36
40
|
|
|
37
41
|
class AgentCoder(Coder):
|
|
38
42
|
"""Mode where the LLM autonomously manages which files are in context."""
|
|
@@ -40,6 +44,7 @@ class AgentCoder(Coder):
|
|
|
40
44
|
edit_format = "agent"
|
|
41
45
|
prompt_format = "agent"
|
|
42
46
|
context_management_enabled = True
|
|
47
|
+
|
|
43
48
|
hashlines = True
|
|
44
49
|
stop_on_empty = False
|
|
45
50
|
|
|
@@ -71,7 +76,7 @@ class AgentCoder(Coder):
|
|
|
71
76
|
"edittext",
|
|
72
77
|
"undochange",
|
|
73
78
|
}
|
|
74
|
-
self.edit_allowed =
|
|
79
|
+
self.edit_allowed = True
|
|
75
80
|
self.max_tool_calls = 10000
|
|
76
81
|
self.large_file_token_threshold = 8192
|
|
77
82
|
self.skills_manager = None
|
|
@@ -92,11 +97,32 @@ class AgentCoder(Coder):
|
|
|
92
97
|
self.skip_cli_confirmations = False
|
|
93
98
|
self.agent_finished = False
|
|
94
99
|
self.agent_config = self._get_agent_config()
|
|
100
|
+
self.max_sub_agents = self.agent_config.get("max_sub_agents", 3)
|
|
101
|
+
self.sub_agent_paths = self.agent_config.get("subagent_paths", [])
|
|
95
102
|
self._setup_agent()
|
|
103
|
+
|
|
104
|
+
AgentService.build_registry(self.sub_agent_paths)
|
|
96
105
|
ToolRegistry.build_registry(agent_config=self.agent_config)
|
|
106
|
+
|
|
97
107
|
self.loaded_custom_tools = ToolRegistry.loaded_custom_tools
|
|
98
108
|
super().__init__(*args, **kwargs)
|
|
99
109
|
|
|
110
|
+
def post_init(self):
|
|
111
|
+
super().post_init()
|
|
112
|
+
# Populate per-instance tool and server filters from config
|
|
113
|
+
self.registered_tools["included"] = set(
|
|
114
|
+
map(str.lower, self.agent_config.get("tools_includelist", []))
|
|
115
|
+
)
|
|
116
|
+
self.registered_tools["excluded"] = set(
|
|
117
|
+
map(str.lower, self.agent_config.get("tools_excludelist", []))
|
|
118
|
+
)
|
|
119
|
+
self.registered_servers["included"] = set(
|
|
120
|
+
map(str.lower, self.agent_config.get("servers_includelist", []))
|
|
121
|
+
)
|
|
122
|
+
self.registered_servers["excluded"] = set(
|
|
123
|
+
map(str.lower, self.agent_config.get("servers_excludelist", []))
|
|
124
|
+
)
|
|
125
|
+
|
|
100
126
|
def _setup_agent(self):
|
|
101
127
|
os.makedirs(".cecli/temp", exist_ok=True)
|
|
102
128
|
|
|
@@ -128,6 +154,7 @@ class AgentCoder(Coder):
|
|
|
128
154
|
)
|
|
129
155
|
config["command_timeout"] = nested.getter(config, "command_timeout", 30)
|
|
130
156
|
config["hot_reload"] = nested.getter(config, "hot_reload", False)
|
|
157
|
+
config["allow_nested_delegation"] = nested.getter(config, "allow_nested_delegation", False)
|
|
131
158
|
|
|
132
159
|
config["tools_paths"] = nested.getter(config, ["tools_paths", "tool_paths"], [])
|
|
133
160
|
config["tools_includelist"] = nested.getter(
|
|
@@ -137,6 +164,12 @@ class AgentCoder(Coder):
|
|
|
137
164
|
config, ["tools_excludelist", "tools_blacklist"], []
|
|
138
165
|
)
|
|
139
166
|
|
|
167
|
+
config["servers_includelist"] = nested.getter(
|
|
168
|
+
config, ["servers_includelist", "servers_whitelist"], []
|
|
169
|
+
)
|
|
170
|
+
config["servers_excludelist"] = nested.getter(
|
|
171
|
+
config, ["servers_excludelist", "servers_blacklist"], []
|
|
172
|
+
)
|
|
140
173
|
config["include_context_blocks"] = set(
|
|
141
174
|
nested.getter(
|
|
142
175
|
config,
|
|
@@ -148,6 +181,7 @@ class AgentCoder(Coder):
|
|
|
148
181
|
# "git_status",
|
|
149
182
|
# "symbol_outline",
|
|
150
183
|
"todo_list",
|
|
184
|
+
"sub_agents",
|
|
151
185
|
"skills",
|
|
152
186
|
},
|
|
153
187
|
)
|
|
@@ -173,6 +207,7 @@ class AgentCoder(Coder):
|
|
|
173
207
|
config["skills_excludelist"] = nested.getter(
|
|
174
208
|
config, ["skills_excludelist", "skills_blacklist"], []
|
|
175
209
|
)
|
|
210
|
+
config["skills_init"] = nested.getter(config, ["skills_init", "skills_startup"], [])
|
|
176
211
|
|
|
177
212
|
if "skills" not in self.allowed_context_blocks or not nested.getter(
|
|
178
213
|
config, "skills_paths", []
|
|
@@ -193,6 +228,7 @@ class AgentCoder(Coder):
|
|
|
193
228
|
directory_paths=config.get("skills_paths", []),
|
|
194
229
|
include_list=config.get("skills_includelist", []),
|
|
195
230
|
exclude_list=config.get("skills_excludelist", []),
|
|
231
|
+
initialize_list=config.get("skills_init", []),
|
|
196
232
|
git_root=git_root,
|
|
197
233
|
coder=self,
|
|
198
234
|
)
|
|
@@ -212,6 +248,12 @@ class AgentCoder(Coder):
|
|
|
212
248
|
joined_skills = ", ".join(skills_list)
|
|
213
249
|
self.io.tool_output(f"Available Skills: {joined_skills}")
|
|
214
250
|
|
|
251
|
+
registry = AgentService.get_registry()
|
|
252
|
+
if registry:
|
|
253
|
+
names = sorted(registry.keys())
|
|
254
|
+
joined_names = ", ".join(names)
|
|
255
|
+
self.io.tool_output(f"Available Subagents: {joined_names}")
|
|
256
|
+
|
|
215
257
|
def get_local_tool_schemas(self):
|
|
216
258
|
"""Returns the JSON schemas for all local tools using the tool registry."""
|
|
217
259
|
schemas = []
|
|
@@ -317,6 +359,7 @@ class AgentCoder(Coder):
|
|
|
317
359
|
"git_status",
|
|
318
360
|
"symbol_outline",
|
|
319
361
|
"skills",
|
|
362
|
+
"sub_agents",
|
|
320
363
|
"loaded_skills",
|
|
321
364
|
]
|
|
322
365
|
for block_type in block_types:
|
|
@@ -352,6 +395,10 @@ class AgentCoder(Coder):
|
|
|
352
395
|
content = self.get_skills_context()
|
|
353
396
|
elif block_name == "loaded_skills":
|
|
354
397
|
content = self.get_skills_content()
|
|
398
|
+
elif block_name == "sub_agents" and (
|
|
399
|
+
not self.parent_uuid or self.agent_config.get("allow_nested_delegation", False)
|
|
400
|
+
):
|
|
401
|
+
content = self.get_sub_agents_context()
|
|
355
402
|
if content is not None:
|
|
356
403
|
self.context_blocks_cache[block_name] = content
|
|
357
404
|
return content
|
|
@@ -460,7 +507,20 @@ class AgentCoder(Coder):
|
|
|
460
507
|
ConversationService.get_chunks(self).add_file_list_reminder()
|
|
461
508
|
|
|
462
509
|
# Add system messages (including examples and reminder)
|
|
463
|
-
|
|
510
|
+
# For sub-agents, use their specific system prompt via AgentService lookup
|
|
511
|
+
# For primary agents, use the default system messages flow
|
|
512
|
+
needs_system_prompts = True
|
|
513
|
+
if hasattr(self, "parent_uuid") and self.parent_uuid:
|
|
514
|
+
service = AgentService.get_instance(self)
|
|
515
|
+
info = service.sub_agents.get(self.uuid)
|
|
516
|
+
if info:
|
|
517
|
+
config = AgentService.get_registry().get(info.name)
|
|
518
|
+
if config and config.prompt and config.prompt.strip():
|
|
519
|
+
ConversationService.get_chunks(self).add_system_message(config.prompt)
|
|
520
|
+
needs_system_prompts = False
|
|
521
|
+
|
|
522
|
+
if needs_system_prompts:
|
|
523
|
+
ConversationService.get_chunks(self).add_system_messages()
|
|
464
524
|
|
|
465
525
|
# Add static context blocks (priority 50 - between SYSTEM and EXAMPLES)
|
|
466
526
|
ConversationService.get_chunks(self).add_static_context_blocks()
|
|
@@ -745,7 +805,13 @@ class AgentCoder(Coder):
|
|
|
745
805
|
|
|
746
806
|
if self.auto_lint and used_write_tool:
|
|
747
807
|
edited = list(self.files_edited_by_tools)
|
|
748
|
-
|
|
808
|
+
lint_coro = self.lint_edited(edited, show_output=False)
|
|
809
|
+
lint_errors, interrupted = await self.coroutines.interruptible(
|
|
810
|
+
lint_coro, self.interrupt_event
|
|
811
|
+
)
|
|
812
|
+
if interrupted:
|
|
813
|
+
raise KeyboardInterrupt("Interrupted during linting")
|
|
814
|
+
|
|
749
815
|
self.lint_outcome = not lint_errors
|
|
750
816
|
|
|
751
817
|
if lint_errors:
|
|
@@ -808,6 +874,7 @@ class AgentCoder(Coder):
|
|
|
808
874
|
# 1. Handle Tool Execution Follow-up (Reflection)
|
|
809
875
|
if self.agent_finished:
|
|
810
876
|
self.tool_usage_history = []
|
|
877
|
+
self.tool_call_vectors = []
|
|
811
878
|
self.reflected_message = None
|
|
812
879
|
if self.files_edited_by_tools:
|
|
813
880
|
_ = await self.auto_commit(self.files_edited_by_tools)
|
|
@@ -847,7 +914,12 @@ class AgentCoder(Coder):
|
|
|
847
914
|
" its outputs are no longer necessary"
|
|
848
915
|
)
|
|
849
916
|
self.io.tool_output(waiting_msg)
|
|
850
|
-
|
|
917
|
+
sleep_coro = asyncio.sleep(command_timeout / 2)
|
|
918
|
+
_res, interrupted = await self.coroutines.interruptible(
|
|
919
|
+
sleep_coro, self.interrupt_event
|
|
920
|
+
)
|
|
921
|
+
if interrupted:
|
|
922
|
+
raise KeyboardInterrupt("Interrupted while waiting for background commands")
|
|
851
923
|
return True
|
|
852
924
|
|
|
853
925
|
# Check for recently finished commands that need reflection
|
|
@@ -860,11 +932,15 @@ class AgentCoder(Coder):
|
|
|
860
932
|
self.tool_usage_history = []
|
|
861
933
|
return True
|
|
862
934
|
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
935
|
+
# 4. If we have called no tools (e.g. the first message)
|
|
936
|
+
# Allow early exiting
|
|
937
|
+
# If a model forgets a tool call, replay the request instead of stopping early
|
|
938
|
+
if self.tool_call_vectors:
|
|
939
|
+
if content and not tool_calls_found and self.num_reflections < self.max_reflections:
|
|
940
|
+
self.reflected_message = (
|
|
941
|
+
"Continue with your task. If you have completed it, call the `Finished` tool."
|
|
942
|
+
)
|
|
943
|
+
return True
|
|
868
944
|
|
|
869
945
|
if tool_calls_found and self.num_reflections < self.max_reflections:
|
|
870
946
|
self.tool_call_count = 0
|
|
@@ -1384,6 +1460,42 @@ Todo list does not exist. Please update it with the `UpdateTodoList` tool.</cont
|
|
|
1384
1460
|
self.io.tool_error(f"Error generating skills content context: {str(e)}")
|
|
1385
1461
|
return None
|
|
1386
1462
|
|
|
1463
|
+
def get_sub_agents_context(self):
|
|
1464
|
+
"""
|
|
1465
|
+
Generate a context block for registered sub-agents.
|
|
1466
|
+
Only shown for primary coders (no parent_uuid).
|
|
1467
|
+
|
|
1468
|
+
Returns:
|
|
1469
|
+
Formatted context block string with sub-agent names and descriptions,
|
|
1470
|
+
or None if no sub-agents are registered or if called from a sub-agent.
|
|
1471
|
+
"""
|
|
1472
|
+
if not self.use_enhanced_context:
|
|
1473
|
+
return None
|
|
1474
|
+
if hasattr(self, "parent_uuid") and self.parent_uuid:
|
|
1475
|
+
return None
|
|
1476
|
+
try:
|
|
1477
|
+
registry = AgentService.get_registry()
|
|
1478
|
+
if not registry:
|
|
1479
|
+
return None
|
|
1480
|
+
|
|
1481
|
+
result = '<context name="sub_agents" from="agent">\n'
|
|
1482
|
+
result += "## Available Sub-Agents\n\n"
|
|
1483
|
+
result += f"Found {len(registry)} registered sub-agent(s):\n\n"
|
|
1484
|
+
|
|
1485
|
+
for name, config in sorted(registry.items()):
|
|
1486
|
+
result += f"**{name}**:\n"
|
|
1487
|
+
desc = config.metadata.get("description", "")
|
|
1488
|
+
if desc:
|
|
1489
|
+
result += f"{desc}\n"
|
|
1490
|
+
result += "\n"
|
|
1491
|
+
|
|
1492
|
+
result += "Use the `Delegate` tool with the sub-agent name to delegate tasks.\n"
|
|
1493
|
+
result += "</context>"
|
|
1494
|
+
return result
|
|
1495
|
+
except Exception as e:
|
|
1496
|
+
self.io.tool_error(f"Error generating sub-agents context: {str(e)}")
|
|
1497
|
+
return None
|
|
1498
|
+
|
|
1387
1499
|
def get_background_command_output(self):
|
|
1388
1500
|
"""
|
|
1389
1501
|
Get background command output to append after the main message.
|