cecli-dev 0.97.2__tar.gz → 0.97.3__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.97.2 → cecli_dev-0.97.3}/PKG-INFO +1 -1
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/benchmark.py +1 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/__init__.py +1 -1
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/_version.py +3 -3
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/args.py +6 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/agent_coder.py +39 -23
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/base_coder.py +13 -3
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/save_session.py +10 -3
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/integration.py +2 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/nested.py +15 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/skills.py +5 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/main.py +5 -1
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/models.py +4 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/resources/model-metadata.json +8301 -2218
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/update_todo_list.py +0 -3
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/output.py +4 -3
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/agent-mode.md +1 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/PKG-INFO +1 -1
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.dockerignore +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.flake8 +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.gitattributes +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/check_pypi_version.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/docker-build-test.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/docker-release.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/issues.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/pages.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/pre-commit.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/release.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/ubuntu-tests.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/windows-tests.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.github/workflows/windows_check_pypi_version.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.gitignore +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/.pre-commit-config.yaml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/CHANGELOG.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/CNAME +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/CONTRIBUTING.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/HISTORY.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/LICENSE.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/MANIFEST.in +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/README.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/Dockerfile +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/README.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/benchmark_classic.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/clone-exercism.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/cpp-test.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/docker.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/docker_build.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/install-docker-ubuntu.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/npm-test.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/over_time.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/plot.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/plots.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/primary_variations.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/problem_stats.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/prompts.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/refactor_tools.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/rsync.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/rungrid.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/swe-bench-lite.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/swe-bench.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/swe_bench.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/benchmark/test_benchmark.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/__main__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/args_formatter.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/change_tracker.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/architect_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/ask_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/chat_chunks.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/context_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/copypaste_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editblock_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editblock_fenced_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editblock_func_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editor_diff_fenced_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editor_editblock_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/editor_whole_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/hashline_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/help_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/patch_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/search_replace.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/shell.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/single_wholefile_func_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/udiff_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/udiff_simple.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/wholefile_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/coders/wholefile_func_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/add.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/agent.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/agent_model.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/architect.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/ask.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/chat_mode.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/clear.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/code.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/command_prefix.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/commit.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/compact.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/context.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/context_blocks.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/context_management.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/copy.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/copy_context.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/core.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/diff.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/drop.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/editor.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/editor_model.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/exit.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/git.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/hashline.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/help.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/history_search.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/hooks.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/lint.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/list_sessions.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load_hook.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load_mcp.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load_session.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/load_skill.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/ls.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/map.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/map_refresh.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/model.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/models.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/multiline_mode.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/paste.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/quit.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/read_only.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/read_only_stub.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/reasoning_effort.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/remove_hook.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/remove_mcp.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/remove_skill.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/report.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/reset.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/run.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/save.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/settings.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/terminal_data/linux.keytab +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/terminal_setup.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/test.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/think_tokens.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/tokens.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/undo.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/base_command.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/helpers.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/registry.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/utils/save_load_manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/voice.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/weak_model.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/commands/web.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/deprecated_args.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/diffs.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/dump.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/editor.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/exceptions.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/format_settings.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/help.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/help_pats.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/background_commands.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/command_parser.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/base_message.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/files.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/tags.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/conversation/utils.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/copypaste.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/coroutines.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/file_searcher.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/hashline.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/model_providers.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/plugin_manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/profiler.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/requests.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/responses.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/helpers/similarity.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/history.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/base.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/integration.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/registry.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/hooks/types.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/interruptible_input.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/io.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/linter.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/llm.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/oauth.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/server.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mcp/utils.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/mdstream.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/onboarding.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/agent.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/architect.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/ask.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/base.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/context.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/copypaste.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editblock.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editblock_fenced.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editblock_func.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editor_diff_fenced.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editor_editblock.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/editor_whole.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/hashline.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/help.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/patch.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/single_wholefile_func.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/udiff.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/udiff_simple.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/utils/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/utils/registry.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/utils/system.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/wholefile.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/prompts/wholefile_func.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/README.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/reasoning_tags.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/repo.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/repomap.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/report.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/resources/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/resources/model-settings.yml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/resources/providers.json +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/run_cmd.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/scrape.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/sendchat.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/sessions.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/special.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/command.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/command_interactive.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/context_manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/delete_text.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/finished.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_branch.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_diff.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_log.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_remote.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_show.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/git_status.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/grep.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/indent_text.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/insert_text.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/list_changes.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/load_skill.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/ls.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/remove_skill.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/replace_text.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/show_numbered_context.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/thinking.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/undo_change.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/utils/base_tool.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/utils/helpers.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/utils/output.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/utils/registry.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/view_files_matching.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tools/view_files_with_symbol.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/app.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/io.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/styles.tcss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/completion_bar.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/file_list.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/footer.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/input_area.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/input_container.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/key_hints.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/widgets/status_bar.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/tui/worker.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/urls.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/utils.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/versioncheck.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/voice.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/waiting.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/watch.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/watch_prompts.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/Gemfile +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/blame.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/get-started.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/help-tip.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/help.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/install.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/keys.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/model-warnings.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/multi-line.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/python-m-aider.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/recording.css +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/recording.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_includes/works-best.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_features.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_footer.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_hero.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_info.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_layout.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_reset.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_testimonials.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_typography.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/_variables.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/custom/custom.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/_sass/global-overrides.scss +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/adv-model-settings.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/aider_conf.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/api-keys.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/custom-commands.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/custom-system-prompts.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/dotenv.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/editor.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/hooks.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/mcp.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/model-aliases.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/options.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/reasoning.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/security.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/skills.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config/tui.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/config.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/faq.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/git.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/index.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install/codespaces.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install/docker.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install/optional.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install/replit.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/install.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/languages.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/legal/contributor-agreement.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/legal/privacy.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/anthropic.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/azure.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/bedrock.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/cohere.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/deepseek.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/gemini.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/github.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/groq.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/lm-studio.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/ollama.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/openai-compat.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/openai.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/openrouter.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/other.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/vertex.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/warnings.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms/xai.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/llms.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/more/analytics.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/more/edit-formats.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/more/infinite-output.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/more-info.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/auto-accept-architect.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/dont-drop-original-read-files.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/index.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/model-accepts-settings.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/recordings/tree-sitter-language-pack.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/repomap.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/scripting.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/sessions.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/imports.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/support.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting/warnings.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/troubleshooting.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/browser.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/caching.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/commands.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/conventions.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/copypaste.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/images-urls.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/lint-test.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/modes.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/not-code.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/notifications.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/tips.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/tutorials.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/voice.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage/watch.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/docs/usage.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli/website/share/index.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/SOURCES.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/dependency_links.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/entry_points.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/requires.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/cecli_dev.egg-info/top_level.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/docker/Dockerfile +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/pyproject.toml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/pytest.ini +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/common-constraints.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-dev.in +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-dev.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-help.in +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-help.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-playwright.in +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements-playwright.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/requirements.in +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements/tree-sitter.in +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/requirements.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/30k-image.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/Dockerfile.jekyll +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/blame.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/clean_metadata.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/cost_analyzer.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/dl_icons.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/filter-chat-mode.js +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/generate_providers.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/get_contributor_list.js +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/get_hashline.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/history_prompts.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/homepage.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/issues.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/jekyll_build.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/jekyll_run.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/logo_svg.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/pip-compile.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/recording_audio.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/redact-cast.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/rename_to_cecli.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/tmux_record.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/tsl_pack_langs.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/update-blame.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/update-docs.sh +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/update-history.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/versionbump.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/scripts/yank-old-versions.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/setup.cfg +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/shim.pyproject.toml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_aws_credentials.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_background_commands.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_commands.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_custom_commands.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_deprecated.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_editblock.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_editor.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_exceptions.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_find_or_blocks.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_hashline.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_history.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_io.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_linter.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_main.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_model_info_manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_model_provider_manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_models.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_onboarding.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_plugin_manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_prompts.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_reasoning.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_repo.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_repomap.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_run_cmd.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_sanity_check_repo.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_scripting.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_sendchat.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_sessions.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_skills.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_special.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_ssl_verification.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_udiff.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_urls.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_voice.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_watch.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/basic/test_wholefile.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/coders/test_copypaste_coder.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/conftest.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/chat-history.md +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/arduino/test.ino +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/c/test.c +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/chatito/test.chatito +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/clojure/test.clj +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/cpp/test.cpp +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/csharp/test.cs +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/d/test.d +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/dart/test.dart +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/elisp/test.el +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/elixir/test.ex +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/elm/test.elm +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/gleam/test.gleam +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/go/test.go +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/haskell/test.hs +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/hcl/test.tf +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/java/test.java +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/javascript/test.js +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/kotlin/test.kt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/lua/test.lua +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/matlab/test.m +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/ocaml/test.ml +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/php/test.php +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/pony/test.pony +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/properties/test.properties +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/python/test.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/ql/test.ql +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/r/test.r +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/racket/test.rkt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/ruby/test.rb +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/rust/test.rs +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/scala/test.scala +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/solidity/test.sol +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/swift/test.swift +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/tsx/test.tsx +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/typescript/test.ts +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/udev/test.rules +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/languages/zig/test.zig +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/sample-code-base/sample.js +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/sample-code-base/sample.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/watch.js +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/watch.lisp +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/watch.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/fixtures/watch_question.js +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/help/test_help.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/hooks/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/hooks/test_base.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/hooks/test_manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/hooks/test_registry.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/mcp/__init__.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/mcp/test_manager.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/scrape/test_playwright_disable.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/scrape/test_scrape.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/test_conversation_integration.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/test_conversation_system.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_git_branch.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_git_diff.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_grep.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_insert_block.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_registry.py +0 -0
- {cecli_dev-0.97.2 → cecli_dev-0.97.3}/tests/tools/test_show_numbered_context.py +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.97.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 97,
|
|
31
|
+
__version__ = version = '0.97.3'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 97, 3)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'gebd79a406'
|
|
@@ -254,6 +254,12 @@ def get_parser(default_config_files, git_root):
|
|
|
254
254
|
" If unspecified, defaults to the model's max_chat_history_tokens."
|
|
255
255
|
),
|
|
256
256
|
)
|
|
257
|
+
group.add_argument(
|
|
258
|
+
"--max-reflections",
|
|
259
|
+
type=int,
|
|
260
|
+
default=3,
|
|
261
|
+
help="Maximum number of retries a model gets on malformed outputs (default: 3)",
|
|
262
|
+
)
|
|
257
263
|
group.add_argument(
|
|
258
264
|
"--file-diffs",
|
|
259
265
|
action=argparse.BooleanOptionalAction,
|
|
@@ -7,7 +7,7 @@ import platform
|
|
|
7
7
|
import random
|
|
8
8
|
import time
|
|
9
9
|
import traceback
|
|
10
|
-
from collections import
|
|
10
|
+
from collections import defaultdict
|
|
11
11
|
from datetime import datetime
|
|
12
12
|
from pathlib import Path
|
|
13
13
|
|
|
@@ -85,6 +85,7 @@ class AgentCoder(Coder):
|
|
|
85
85
|
self.allowed_context_blocks = set()
|
|
86
86
|
self.context_block_tokens = {}
|
|
87
87
|
self.context_blocks_cache = {}
|
|
88
|
+
self.hot_reload_enabled = False
|
|
88
89
|
self.tokens_calculated = False
|
|
89
90
|
self.skip_cli_confirmations = False
|
|
90
91
|
self.agent_finished = False
|
|
@@ -119,6 +120,7 @@ class AgentCoder(Coder):
|
|
|
119
120
|
config, "skip_cli_confirmations", nested.getter(config, "yolo", [])
|
|
120
121
|
)
|
|
121
122
|
config["command_timeout"] = nested.getter(config, "command_timeout", 30)
|
|
123
|
+
config["hot_reload"] = nested.getter(config, "hot_reload", False)
|
|
122
124
|
|
|
123
125
|
config["tools_paths"] = nested.getter(config, "tools_paths", [])
|
|
124
126
|
config["tools_includelist"] = nested.getter(
|
|
@@ -147,7 +149,7 @@ class AgentCoder(Coder):
|
|
|
147
149
|
|
|
148
150
|
self.large_file_token_threshold = config["large_file_token_threshold"]
|
|
149
151
|
self.skip_cli_confirmations = config["skip_cli_confirmations"]
|
|
150
|
-
|
|
152
|
+
self.hot_reload_enabled = config["hot_reload"]
|
|
151
153
|
self.allowed_context_blocks = config["include_context_blocks"]
|
|
152
154
|
|
|
153
155
|
for context_block in config["exclude_context_blocks"]:
|
|
@@ -259,6 +261,7 @@ class AgentCoder(Coder):
|
|
|
259
261
|
try:
|
|
260
262
|
parsed_args_list.append(json.loads(chunk))
|
|
261
263
|
except json.JSONDecodeError as e:
|
|
264
|
+
self.model_kwargs = {}
|
|
262
265
|
self.io.tool_warning(
|
|
263
266
|
f"Could not parse JSON chunk for tool {tool_name}: {chunk}"
|
|
264
267
|
)
|
|
@@ -320,6 +323,7 @@ class AgentCoder(Coder):
|
|
|
320
323
|
|
|
321
324
|
result_message = "\n\n".join(all_results_content)
|
|
322
325
|
except Exception as e:
|
|
326
|
+
self.model_kwargs = {}
|
|
323
327
|
result_message = f"Error executing {tool_name}: {e}"
|
|
324
328
|
self.io.tool_error(f"""Error during {tool_name} execution: {e}
|
|
325
329
|
{traceback.format_exc()}""")
|
|
@@ -843,6 +847,10 @@ I will proceed based on the tool results and updated context.""")
|
|
|
843
847
|
self.files_edited_by_tools = set()
|
|
844
848
|
return False
|
|
845
849
|
|
|
850
|
+
async def hot_reload(self):
|
|
851
|
+
if self.hot_reload_enabled:
|
|
852
|
+
self.skills_manager.hot_reload()
|
|
853
|
+
|
|
846
854
|
async def _execute_tool_with_registry(self, norm_tool_name, params):
|
|
847
855
|
"""
|
|
848
856
|
Execute a tool using the tool registry.
|
|
@@ -879,12 +887,9 @@ I will proceed based on the tool results and updated context.""")
|
|
|
879
887
|
"""
|
|
880
888
|
Identifies repetitive tool usage patterns from rounds of tool calls.
|
|
881
889
|
|
|
882
|
-
This method
|
|
890
|
+
This method uses similarity-based detection:
|
|
883
891
|
1. If the last round contained a write tool, it assumes progress and returns no repetitive tools.
|
|
884
|
-
2. It checks for
|
|
885
|
-
3. If no tools are repeated, but all tools in the history are read tools,
|
|
886
|
-
it flags all of them as potentially repetitive.
|
|
887
|
-
4. It checks for similarity-based repetition using cosine similarity on tool call strings.
|
|
892
|
+
2. It checks for similarity-based repetition using cosine similarity on tool call strings.
|
|
888
893
|
|
|
889
894
|
It avoids flagging repetition if a "write" tool was used recently,
|
|
890
895
|
as that suggests progress is being made.
|
|
@@ -893,9 +898,6 @@ I will proceed based on the tool results and updated context.""")
|
|
|
893
898
|
if history_len < 5:
|
|
894
899
|
return set()
|
|
895
900
|
similarity_repetitive_tools = self._get_repetitive_tools_by_similarity()
|
|
896
|
-
all_tools = []
|
|
897
|
-
for round_tools in self.tool_usage_history:
|
|
898
|
-
all_tools.extend(round_tools)
|
|
899
901
|
if self.last_round_tools:
|
|
900
902
|
last_round_has_write = any(
|
|
901
903
|
tool.lower() in self.write_tools for tool in self.last_round_tools
|
|
@@ -909,24 +911,14 @@ I will proceed based on the tool results and updated context.""")
|
|
|
909
911
|
if tool.lower() in self.read_tools or tool.lower() in self.write_tools
|
|
910
912
|
}
|
|
911
913
|
return filtered_similarity_tools if len(filtered_similarity_tools) else set()
|
|
912
|
-
if all(tool.lower() in self.read_tools for tool in all_tools):
|
|
913
|
-
# Only return tools that are in read_tools
|
|
914
|
-
return {tool for tool in all_tools if tool.lower() in self.read_tools}
|
|
915
|
-
tool_counts = Counter(all_tools)
|
|
916
|
-
count_repetitive_tools = {
|
|
917
|
-
tool
|
|
918
|
-
for tool, count in tool_counts.items()
|
|
919
|
-
if count >= 5 and tool.lower() in self.read_tools
|
|
920
|
-
}
|
|
921
914
|
# Filter similarity_repetitive_tools to only include tools in read_tools or write_tools
|
|
922
915
|
filtered_similarity_tools = {
|
|
923
916
|
tool
|
|
924
917
|
for tool in similarity_repetitive_tools
|
|
925
918
|
if tool.lower() in self.read_tools or tool.lower() in self.write_tools
|
|
926
919
|
}
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
return repetitive_tools
|
|
920
|
+
if filtered_similarity_tools:
|
|
921
|
+
return filtered_similarity_tools
|
|
930
922
|
return set()
|
|
931
923
|
|
|
932
924
|
def _get_repetitive_tools_by_similarity(self):
|
|
@@ -983,6 +975,27 @@ I will proceed based on the tool results and updated context.""")
|
|
|
983
975
|
|
|
984
976
|
context_parts.append("\n\n")
|
|
985
977
|
if repetitive_tools:
|
|
978
|
+
if not self.model_kwargs:
|
|
979
|
+
self.model_kwargs = {
|
|
980
|
+
"temperature": (self.main_model.use_temperature or 1) + 0.1,
|
|
981
|
+
"frequency_penalty": 0.2,
|
|
982
|
+
"presence_penalty": 0.1,
|
|
983
|
+
}
|
|
984
|
+
else:
|
|
985
|
+
temperature = nested.getter(self.model_kwargs, "temperature")
|
|
986
|
+
freq_penalty = nested.getter(self.model_kwargs, "frequency_penalty")
|
|
987
|
+
if temperature and freq_penalty:
|
|
988
|
+
self.model_kwargs["temperature"] = min(temperature + 0.1, 2)
|
|
989
|
+
self.model_kwargs["frequency_penalty"] = min(freq_penalty + 0.1, 1)
|
|
990
|
+
|
|
991
|
+
if random.random() < 0.25:
|
|
992
|
+
self.model_kwargs["temperature"] = max(temperature - 0.2, 1)
|
|
993
|
+
self.model_kwargs["frequency_penalty"] = max(freq_penalty - 0.2, 0)
|
|
994
|
+
|
|
995
|
+
# One tenth of the time, just straight reset the randomness
|
|
996
|
+
if random.random() < 0.1:
|
|
997
|
+
self.model_kwargs = {}
|
|
998
|
+
|
|
986
999
|
if self.turn_count - self._last_repetitive_warning_turn > 2:
|
|
987
1000
|
self._last_repetitive_warning_turn = self.turn_count
|
|
988
1001
|
self._last_repetitive_warning_severity += 1
|
|
@@ -1040,7 +1053,7 @@ I have detected repetitive usage of the following tools: {', '.join([f'`{t}`' fo
|
|
|
1040
1053
|
|
|
1041
1054
|
repetition_warning += f"""
|
|
1042
1055
|
### CRITICAL: Execution Loop Detected
|
|
1043
|
-
You are currently "spinning.
|
|
1056
|
+
You are currently "spinning gears". To break the exploration loop, you must:
|
|
1044
1057
|
1. **Analyze**: Use the `Thinking` tool to summarize exactly what you have found so far and why you were stuck.
|
|
1045
1058
|
2. **Pivot**: Abandon or modify your current exploration strategy. Try focusing on different files or running tests.
|
|
1046
1059
|
3. **Reframe**: To ensure your logic reset, include a 2-sentence story about {animal} {verb} {fruit} in your thoughts.
|
|
@@ -1049,6 +1062,9 @@ Prioritize editing or verification over further exploration.
|
|
|
1049
1062
|
"""
|
|
1050
1063
|
|
|
1051
1064
|
context_parts.append(repetition_warning)
|
|
1065
|
+
else:
|
|
1066
|
+
self.model_kwargs = {}
|
|
1067
|
+
|
|
1052
1068
|
context_parts.append("</context>")
|
|
1053
1069
|
return "\n".join(context_parts)
|
|
1054
1070
|
|
|
@@ -156,6 +156,7 @@ class Coder:
|
|
|
156
156
|
tool_reflection = False
|
|
157
157
|
last_user_message = ""
|
|
158
158
|
uuid = ""
|
|
159
|
+
model_kwargs = {}
|
|
159
160
|
|
|
160
161
|
# Task coordination state variables
|
|
161
162
|
input_running = False
|
|
@@ -380,6 +381,9 @@ class Coder:
|
|
|
380
381
|
|
|
381
382
|
self.context_compaction_max_tokens = context_compaction_max_tokens
|
|
382
383
|
self.context_compaction_summary_tokens = context_compaction_summary_tokens
|
|
384
|
+
self.max_reflections = (
|
|
385
|
+
3 if self.edit_format == "agent" else nested.getter(self.args, "max_reflections", 3)
|
|
386
|
+
)
|
|
383
387
|
|
|
384
388
|
if not fnames:
|
|
385
389
|
fnames = []
|
|
@@ -1615,6 +1619,8 @@ class Coder:
|
|
|
1615
1619
|
async for _ in self.send_message(message):
|
|
1616
1620
|
pass
|
|
1617
1621
|
|
|
1622
|
+
await self.hot_reload()
|
|
1623
|
+
|
|
1618
1624
|
if not self.reflected_message:
|
|
1619
1625
|
await self.auto_save_session(force=True)
|
|
1620
1626
|
break
|
|
@@ -2750,6 +2756,9 @@ class Coder:
|
|
|
2750
2756
|
async def reply_completed(self):
|
|
2751
2757
|
pass
|
|
2752
2758
|
|
|
2759
|
+
async def hot_reload(self):
|
|
2760
|
+
pass
|
|
2761
|
+
|
|
2753
2762
|
async def show_exhausted_error(self):
|
|
2754
2763
|
output_tokens = 0
|
|
2755
2764
|
if self.partial_response_content:
|
|
@@ -2995,6 +3004,7 @@ class Coder:
|
|
|
2995
3004
|
self.temperature,
|
|
2996
3005
|
# This could include any tools, but for now it is just MCP tools
|
|
2997
3006
|
tools=tools,
|
|
3007
|
+
override_kwargs=self.model_kwargs,
|
|
2998
3008
|
)
|
|
2999
3009
|
self.chat_completion_call_hashes.append(hash_object.hexdigest())
|
|
3000
3010
|
|
|
@@ -3166,7 +3176,7 @@ class Coder:
|
|
|
3166
3176
|
reasoning_content = None
|
|
3167
3177
|
|
|
3168
3178
|
if reasoning_content:
|
|
3169
|
-
if nested.getter(self, "
|
|
3179
|
+
if nested.getter(self.args, "show_thinking"):
|
|
3170
3180
|
if not self.got_reasoning_content:
|
|
3171
3181
|
text += f"<{REASONING_TAG}>\n\n"
|
|
3172
3182
|
text += reasoning_content
|
|
@@ -3202,7 +3212,7 @@ class Coder:
|
|
|
3202
3212
|
self.stream_wrapper(content_to_show, final=False)
|
|
3203
3213
|
elif text:
|
|
3204
3214
|
# Apply reasoning tag formatting for non-pretty output
|
|
3205
|
-
if nested.getter(self, "
|
|
3215
|
+
if nested.getter(self.args, "show_thinking"):
|
|
3206
3216
|
text = replace_reasoning_tags(text, self.reasoning_tag_name)
|
|
3207
3217
|
try:
|
|
3208
3218
|
self.stream_wrapper(text, final=False)
|
|
@@ -3405,7 +3415,7 @@ class Coder:
|
|
|
3405
3415
|
def live_incremental_response(self, final):
|
|
3406
3416
|
show_resp = self.render_incremental_response(final)
|
|
3407
3417
|
# Apply any reasoning tag formatting
|
|
3408
|
-
if nested.getter(self, "
|
|
3418
|
+
if nested.getter(self.args, "show_thinking"):
|
|
3409
3419
|
show_resp = replace_reasoning_tags(show_resp, self.reasoning_tag_name)
|
|
3410
3420
|
|
|
3411
3421
|
# Track streaming state to avoid repetitive output
|
|
@@ -25,9 +25,12 @@ class SaveSessionCommand(BaseCommand):
|
|
|
25
25
|
@classmethod
|
|
26
26
|
def get_completions(cls, io, coder, args) -> List[str]:
|
|
27
27
|
"""Get completion options for save-session command."""
|
|
28
|
-
#
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
# Return existing session names for completion to prevent accidental overwrites
|
|
29
|
+
from cecli import sessions
|
|
30
|
+
|
|
31
|
+
session_manager = sessions.SessionManager(coder, io)
|
|
32
|
+
sessions_list = session_manager.list_sessions()
|
|
33
|
+
return [session_info["name"] for session_info in sessions_list]
|
|
31
34
|
|
|
32
35
|
@classmethod
|
|
33
36
|
def get_help(cls) -> str:
|
|
@@ -40,4 +43,8 @@ class SaveSessionCommand(BaseCommand):
|
|
|
40
43
|
help_text += " /save-session bug-fix # Save session as 'bug-fix'\n"
|
|
41
44
|
help_text += "\nSessions are saved in the .cecli/sessions/ directory as JSON files.\n"
|
|
42
45
|
help_text += "Use /list-sessions to see saved sessions and /load-session to load them.\n"
|
|
46
|
+
help_text += (
|
|
47
|
+
"\nNote: Existing session names will be shown for tab completion to help prevent"
|
|
48
|
+
" accidental overwrites.\n"
|
|
49
|
+
)
|
|
43
50
|
return help_text
|
|
@@ -750,6 +750,7 @@ class ConversationChunks:
|
|
|
750
750
|
message_dict={"role": "user", "content": block_content},
|
|
751
751
|
tag=MessageTag.STATIC,
|
|
752
752
|
hash_key=("static", block_type),
|
|
753
|
+
force=True,
|
|
753
754
|
)
|
|
754
755
|
|
|
755
756
|
@classmethod
|
|
@@ -793,6 +794,7 @@ class ConversationChunks:
|
|
|
793
794
|
tag=MessageTag.STATIC, # Use STATIC tag but with different priority
|
|
794
795
|
priority=125, # Between REPO (100) and READONLY_FILES (200)
|
|
795
796
|
hash_key=("pre_message", block_type),
|
|
797
|
+
force=True,
|
|
796
798
|
)
|
|
797
799
|
|
|
798
800
|
@classmethod
|
|
@@ -81,3 +81,18 @@ def getter(
|
|
|
81
81
|
return current
|
|
82
82
|
|
|
83
83
|
return default
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def deep_merge(dict1, dict2):
|
|
87
|
+
"""
|
|
88
|
+
Recursively merges dict2 into dict1.
|
|
89
|
+
If a key exists in both and both values are dicts, it merges the sub-dicts.
|
|
90
|
+
Otherwise, the value from dict2 overwrites the value from dict1.
|
|
91
|
+
"""
|
|
92
|
+
merged = dict1.copy() # Create a copy to avoid modifying original dict1 in place
|
|
93
|
+
for key, value in dict2.items():
|
|
94
|
+
if key in merged and isinstance(merged[key], dict) and isinstance(value, dict):
|
|
95
|
+
merged[key] = deep_merge(merged[key], value)
|
|
96
|
+
else:
|
|
97
|
+
merged[key] = value
|
|
98
|
+
return merged
|
|
@@ -119,6 +119,11 @@ class SkillsManager:
|
|
|
119
119
|
self._skills_find_cache = skills
|
|
120
120
|
return skills
|
|
121
121
|
|
|
122
|
+
def hot_reload(self):
|
|
123
|
+
self._skills_cache = {}
|
|
124
|
+
self._skill_metadata_cache = {}
|
|
125
|
+
self.find_skills(reload=True)
|
|
126
|
+
|
|
122
127
|
def _parse_skill_metadata(self, skill_md_path: Path) -> SkillMetadata:
|
|
123
128
|
"""
|
|
124
129
|
Parse the metadata from a SKILL.md file.
|
|
@@ -645,7 +645,9 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
|
|
|
645
645
|
input_queue = None
|
|
646
646
|
pre_init_io = get_io(args.pretty)
|
|
647
647
|
# Check if we're in "send message and exit" mode to skip non-essential initialization
|
|
648
|
-
suppress_pre_init =
|
|
648
|
+
suppress_pre_init = (
|
|
649
|
+
args.message or args.message_file or args.apply_clipboard_edits or args.terminal_setup
|
|
650
|
+
)
|
|
649
651
|
supress_tui = True
|
|
650
652
|
|
|
651
653
|
if not suppress_pre_init:
|
|
@@ -1158,6 +1160,8 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
|
|
|
1158
1160
|
await coder.commands.execute("terminal-setup", "dry_run")
|
|
1159
1161
|
else:
|
|
1160
1162
|
await coder.commands.execute("terminal-setup", "")
|
|
1163
|
+
return await graceful_exit(coder)
|
|
1164
|
+
|
|
1161
1165
|
if args.lint or args.test or args.commit:
|
|
1162
1166
|
return await graceful_exit(coder)
|
|
1163
1167
|
if args.show_repo_map:
|
|
@@ -22,6 +22,7 @@ from cecli.exceptions import LiteLLMExceptions
|
|
|
22
22
|
from cecli.helpers import nested
|
|
23
23
|
from cecli.helpers.file_searcher import handle_core_files
|
|
24
24
|
from cecli.helpers.model_providers import ModelProviderManager
|
|
25
|
+
from cecli.helpers.nested import deep_merge
|
|
25
26
|
from cecli.helpers.requests import model_request_parser
|
|
26
27
|
from cecli.llm import litellm
|
|
27
28
|
from cecli.sendchat import sanity_check_messages
|
|
@@ -955,6 +956,7 @@ class Model(ModelSettings):
|
|
|
955
956
|
max_tokens=None,
|
|
956
957
|
min_wait=0,
|
|
957
958
|
max_wait=2,
|
|
959
|
+
override_kwargs={},
|
|
958
960
|
):
|
|
959
961
|
if os.environ.get("CECLI_SANITY_CHECK_TURNS"):
|
|
960
962
|
sanity_check_messages(messages)
|
|
@@ -1053,6 +1055,8 @@ class Model(ModelSettings):
|
|
|
1053
1055
|
if random.random() < 0.25:
|
|
1054
1056
|
await asyncio.sleep(random.uniform(min_wait, max_wait))
|
|
1055
1057
|
|
|
1058
|
+
if override_kwargs:
|
|
1059
|
+
kwargs = deep_merge(kwargs, override_kwargs)
|
|
1056
1060
|
res = await litellm.acompletion(**kwargs)
|
|
1057
1061
|
return hash_object, res
|
|
1058
1062
|
except litellm.ContextWindowExceededError as err:
|