cecli-dev 0.96.4__tar.gz → 0.96.5__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.96.4 → cecli_dev-0.96.5}/PKG-INFO +1 -1
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/__init__.py +1 -1
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/_version.py +3 -3
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/agent_coder.py +1 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/architect_coder.py +8 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/base_coder.py +12 -3
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/io.py +42 -13
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/main.py +2 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/app.py +23 -6
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/worker.py +1 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli_dev.egg-info/PKG-INFO +1 -1
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.dockerignore +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.flake8 +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.gitattributes +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/check_pypi_version.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/docker-build-test.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/docker-release.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/issues.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/pages.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/pre-commit.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/release.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/ubuntu-tests.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/windows-tests.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.github/workflows/windows_check_pypi_version.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.gitignore +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/.pre-commit-config.yaml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/CHANGELOG.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/CNAME +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/CONTRIBUTING.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/HISTORY.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/LICENSE.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/MANIFEST.in +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/README.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/Dockerfile +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/README.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/benchmark.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/benchmark_classic.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/clone-exercism.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/cpp-test.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/docker.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/docker_build.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/install-docker-ubuntu.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/npm-test.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/over_time.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/plot.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/plots.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/problem_stats.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/prompts.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/refactor_tools.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/rsync.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/rungrid.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/swe-bench-lite.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/swe-bench.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/swe_bench.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/benchmark/test_benchmark.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/__main__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/args.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/args_formatter.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/change_tracker.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/ask_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/chat_chunks.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/context_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/copypaste_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/editblock_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/editblock_fenced_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/editblock_func_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/editor_diff_fenced_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/editor_editblock_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/editor_whole_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/help_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/patch_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/search_replace.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/shell.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/single_wholefile_func_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/udiff_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/udiff_simple.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/wholefile_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/coders/wholefile_func_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/add.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/agent.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/architect.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/ask.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/chat_mode.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/clear.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/code.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/command_prefix.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/commit.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/compact.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/context.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/context_blocks.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/context_management.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/copy.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/copy_context.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/core.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/diff.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/drop.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/editor.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/editor_model.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/exit.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/git.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/help.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/history_search.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/lint.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/list_sessions.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/load.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/load_mcp.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/load_session.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/load_skill.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/ls.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/map.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/map_refresh.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/model.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/models.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/multiline_mode.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/paste.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/quit.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/read_only.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/read_only_stub.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/reasoning_effort.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/remove_mcp.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/remove_skill.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/report.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/reset.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/run.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/save.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/save_session.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/settings.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/terminal_data/linux.keytab +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/terminal_setup.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/test.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/think_tokens.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/tokens.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/undo.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/utils/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/utils/base_command.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/utils/helpers.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/utils/registry.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/utils/save_load_manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/voice.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/weak_model.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/commands/web.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/deprecated_args.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/diffs.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/dump.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/editor.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/exceptions.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/format_settings.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/help.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/help_pats.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/background_commands.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/conversation/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/conversation/base_message.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/conversation/files.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/conversation/integration.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/conversation/manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/conversation/tags.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/conversation/utils.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/copypaste.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/coroutines.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/file_searcher.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/model_providers.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/nested.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/plugin_manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/profiler.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/requests.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/similarity.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/helpers/skills.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/history.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/linter.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/llm.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/mcp/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/mcp/manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/mcp/oauth.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/mcp/server.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/mcp/utils.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/mdstream.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/models.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/onboarding.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/agent.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/architect.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/ask.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/base.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/context.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/copypaste.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/editblock.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/editblock_fenced.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/editblock_func.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/editor_diff_fenced.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/editor_editblock.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/editor_whole.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/help.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/patch.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/single_wholefile_func.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/udiff.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/udiff_simple.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/utils/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/utils/registry.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/utils/system.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/wholefile.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/prompts/wholefile_func.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/README.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/reasoning_tags.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/repo.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/repomap.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/report.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/resources/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/resources/model-metadata.json +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/resources/model-settings.yml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/resources/providers.json +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/run_cmd.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/scrape.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/sendchat.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/sessions.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/special.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/command.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/command_interactive.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/context_manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/delete_block.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/delete_line.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/delete_lines.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/extract_lines.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/finished.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/git_branch.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/git_diff.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/git_log.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/git_remote.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/git_show.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/git_status.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/grep.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/indent_lines.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/insert_block.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/list_changes.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/load_skill.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/ls.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/remove_skill.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/replace_text.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/show_numbered_context.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/thinking.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/undo_change.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/update_todo_list.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/utils/base_tool.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/utils/helpers.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/utils/output.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/utils/registry.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/view_files_matching.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tools/view_files_with_symbol.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/io.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/styles.tcss +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/completion_bar.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/file_list.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/footer.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/input_area.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/input_container.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/key_hints.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/output.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/tui/widgets/status_bar.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/urls.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/utils.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/versioncheck.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/voice.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/waiting.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/watch.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/watch_prompts.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/Gemfile +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/blame.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/get-started.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/help-tip.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/help.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/install.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/keys.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/model-warnings.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/multi-line.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/python-m-aider.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/recording.css +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/recording.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/replit-pipx.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_includes/works-best.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/_sass/custom/custom.scss +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/adv-model-settings.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/agent-mode.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/aider_conf.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/api-keys.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/custom-commands.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/custom-system-prompts.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/dotenv.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/editor.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/mcp.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/model-aliases.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/options.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/reasoning.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/skills.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config/tui.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/config.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/faq.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/git.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/index.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/install/codespaces.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/install/docker.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/install/optional.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/install/replit.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/install.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/languages.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/legal/contributor-agreement.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/legal/privacy.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/anthropic.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/azure.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/bedrock.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/cohere.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/deepseek.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/gemini.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/github.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/groq.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/lm-studio.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/ollama.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/openai-compat.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/openai.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/openrouter.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/other.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/vertex.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/warnings.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms/xai.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/llms.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/more/analytics.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/more/edit-formats.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/more/infinite-output.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/more-info.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/recordings/auto-accept-architect.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/recordings/dont-drop-original-read-files.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/recordings/index.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/recordings/model-accepts-settings.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/recordings/tree-sitter-language-pack.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/repomap.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/scripting.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/sessions.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/troubleshooting/aider-not-found.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/troubleshooting/imports.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/troubleshooting/support.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/troubleshooting/warnings.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/troubleshooting.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/browser.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/caching.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/commands.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/conventions.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/copypaste.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/images-urls.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/lint-test.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/modes.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/not-code.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/notifications.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/tips.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/tutorials.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/voice.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage/watch.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/docs/usage.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli/website/share/index.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli_dev.egg-info/SOURCES.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli_dev.egg-info/dependency_links.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli_dev.egg-info/entry_points.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli_dev.egg-info/requires.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/cecli_dev.egg-info/top_level.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/docker/Dockerfile +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/pyproject.toml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/pytest.ini +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/common-constraints.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/requirements-dev.in +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/requirements-dev.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/requirements-help.in +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/requirements-help.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/requirements-playwright.in +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/requirements-playwright.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/requirements.in +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements/tree-sitter.in +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/requirements.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/30k-image.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/Dockerfile.jekyll +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/blame.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/clean_metadata.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/cost_analyzer.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/dl_icons.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/filter-chat-mode.js +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/generate_providers.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/get_contributor_list.js +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/history_prompts.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/homepage.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/issues.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/jekyll_build.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/jekyll_run.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/logo_svg.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/pip-compile.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/recording_audio.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/redact-cast.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/rename_to_cecli.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/tmux_record.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/tsl_pack_langs.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/update-blame.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/update-docs.sh +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/update-history.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/versionbump.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/scripts/yank-old-versions.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/setup.cfg +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/shim.pyproject.toml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_aws_credentials.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_background_commands.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_commands.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_custom_commands.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_deprecated.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_editblock.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_editor.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_exceptions.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_find_or_blocks.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_history.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_io.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_linter.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_main.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_model_info_manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_model_provider_manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_models.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_onboarding.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_plugin_manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_prompts.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_reasoning.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_repo.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_repomap.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_run_cmd.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_sanity_check_repo.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_scripting.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_sendchat.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_sessions.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_skills.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_special.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_ssl_verification.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_udiff.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_urls.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_voice.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_watch.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/basic/test_wholefile.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/coders/test_copypaste_coder.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/conftest.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/chat-history.md +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/arduino/test.ino +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/c/test.c +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/chatito/test.chatito +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/clojure/test.clj +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/cpp/test.cpp +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/csharp/test.cs +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/d/test.d +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/dart/test.dart +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/elisp/test.el +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/elixir/test.ex +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/elm/test.elm +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/gleam/test.gleam +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/go/test.go +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/haskell/test.hs +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/hcl/test.tf +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/java/test.java +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/javascript/test.js +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/kotlin/test.kt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/lua/test.lua +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/matlab/test.m +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/ocaml/test.ml +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/php/test.php +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/pony/test.pony +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/properties/test.properties +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/python/test.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/ql/test.ql +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/r/test.r +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/racket/test.rkt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/ruby/test.rb +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/rust/test.rs +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/scala/test.scala +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/solidity/test.sol +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/swift/test.swift +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/tsx/test.tsx +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/typescript/test.ts +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/udev/test.rules +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/languages/zig/test.zig +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/sample-code-base/sample.js +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/sample-code-base/sample.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/watch.js +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/watch.lisp +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/watch.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/fixtures/watch_question.js +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/help/test_help.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/mcp/__init__.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/mcp/test_manager.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/scrape/test_playwright_disable.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/scrape/test_scrape.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/test_conversation_integration.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/test_conversation_system.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/tools/test_git_branch.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/tools/test_git_diff.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/tools/test_grep.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/tools/test_insert_block.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/tests/tools/test_registry.py +0 -0
- {cecli_dev-0.96.4 → cecli_dev-0.96.5}/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.96.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 96,
|
|
31
|
+
__version__ = version = '0.96.5'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 96, 5)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g495cbfd20'
|
|
@@ -724,6 +724,7 @@ class AgentCoder(Coder):
|
|
|
724
724
|
) = await self._process_tool_commands(content)
|
|
725
725
|
if self.agent_finished:
|
|
726
726
|
self.tool_usage_history = []
|
|
727
|
+
self.reflected_message = None
|
|
727
728
|
if self.files_edited_by_tools:
|
|
728
729
|
_ = await self.auto_commit(self.files_edited_by_tools)
|
|
729
730
|
return False
|
|
@@ -61,6 +61,14 @@ class ArchitectCoder(AskCoder):
|
|
|
61
61
|
if self.verbose:
|
|
62
62
|
editor_coder.show_announcements()
|
|
63
63
|
|
|
64
|
+
postamble = """
|
|
65
|
+
The above changes are proposed changes.
|
|
66
|
+
You must repeat SEARCH/REPLACE blocks in order to apply edits.
|
|
67
|
+
Shell commands must also be duplicated in order to run them.
|
|
68
|
+
"""
|
|
69
|
+
|
|
70
|
+
content = f"Please implement all requested changes from:\n{content}\n{postamble}"
|
|
71
|
+
|
|
64
72
|
try:
|
|
65
73
|
await editor_coder.generate(user_message=content, preproc=False)
|
|
66
74
|
|
|
@@ -1584,6 +1584,7 @@ class Coder:
|
|
|
1584
1584
|
pass
|
|
1585
1585
|
|
|
1586
1586
|
if not self.reflected_message:
|
|
1587
|
+
await self.auto_save_session(force=True)
|
|
1587
1588
|
break
|
|
1588
1589
|
|
|
1589
1590
|
if self.num_reflections >= self.max_reflections:
|
|
@@ -1603,6 +1604,8 @@ class Coder:
|
|
|
1603
1604
|
if self.enable_context_compaction:
|
|
1604
1605
|
await self.compact_context_if_needed()
|
|
1605
1606
|
|
|
1607
|
+
await self.auto_save_session(force=True)
|
|
1608
|
+
|
|
1606
1609
|
async def check_and_open_urls(self, exc, friendly_msg=None):
|
|
1607
1610
|
"""Check exception for URLs, offer to open in a browser, with user-friendly error msgs."""
|
|
1608
1611
|
text = str(exc)
|
|
@@ -3776,7 +3779,7 @@ class Coder:
|
|
|
3776
3779
|
def apply_edits_dry_run(self, edits):
|
|
3777
3780
|
return edits
|
|
3778
3781
|
|
|
3779
|
-
async def auto_save_session(self):
|
|
3782
|
+
async def auto_save_session(self, force=False):
|
|
3780
3783
|
"""Automatically save the current session to {auto-save-session-name}.json."""
|
|
3781
3784
|
if not getattr(self.args, "auto_save", False):
|
|
3782
3785
|
return
|
|
@@ -3789,11 +3792,17 @@ class Coder:
|
|
|
3789
3792
|
self._autosave_future = None
|
|
3790
3793
|
|
|
3791
3794
|
if self._autosave_future and not self._autosave_future.done():
|
|
3792
|
-
|
|
3795
|
+
if force:
|
|
3796
|
+
try:
|
|
3797
|
+
await self._autosave_future
|
|
3798
|
+
except Exception:
|
|
3799
|
+
pass
|
|
3800
|
+
else:
|
|
3801
|
+
return
|
|
3793
3802
|
|
|
3794
3803
|
# Throttle autosave to run at most once every 15 seconds
|
|
3795
3804
|
current_time = time.time()
|
|
3796
|
-
if current_time - self._last_autosave_time >= 15.0:
|
|
3805
|
+
if current_time - self._last_autosave_time >= 15.0 or force:
|
|
3797
3806
|
try:
|
|
3798
3807
|
self._last_autosave_time = current_time
|
|
3799
3808
|
session_manager = SessionManager(self, self.io)
|
|
@@ -148,7 +148,6 @@ class AutoCompleter(Completer):
|
|
|
148
148
|
self.rel_fnames = rel_fnames
|
|
149
149
|
self.encoding = encoding
|
|
150
150
|
self.abs_read_only_fnames = abs_read_only_fnames or []
|
|
151
|
-
self.post_filter_commands = ["/add"]
|
|
152
151
|
|
|
153
152
|
fname_to_rel_fnames = defaultdict(list)
|
|
154
153
|
for rel_fname in addable_rel_fnames:
|
|
@@ -214,22 +213,48 @@ class AutoCompleter(Completer):
|
|
|
214
213
|
|
|
215
214
|
def get_command_completions(self, document, complete_event, text, words):
|
|
216
215
|
if len(words) == 1 and not text[-1].isspace():
|
|
216
|
+
# Handle command completion (e.g., typing "/ad" should complete to "/add")
|
|
217
217
|
partial = words[0].lower()
|
|
218
|
-
|
|
218
|
+
# Strip leading '/' if present for comparison with command names
|
|
219
|
+
if partial.startswith("/"):
|
|
220
|
+
partial = partial[1:]
|
|
221
|
+
# Compare with command names without leading '/'
|
|
222
|
+
candidates = [cmd for cmd in self.command_names if cmd[1:].startswith(partial)]
|
|
219
223
|
for candidate in sorted(candidates):
|
|
224
|
+
# Add back the leading '/' for the completion
|
|
220
225
|
yield Completion(candidate, start_position=-len(words[-1]))
|
|
221
226
|
return
|
|
222
227
|
|
|
223
|
-
|
|
224
|
-
|
|
228
|
+
# Handle command followed by space: trigger auto-completion with empty partial
|
|
229
|
+
if text[-1].isspace():
|
|
230
|
+
# We have a command followed by space, trigger auto-completion with empty string
|
|
231
|
+
if len(words) == 1:
|
|
232
|
+
# Command with no arguments yet, just a trailing space
|
|
233
|
+
partial = ""
|
|
234
|
+
# We need to get the command name without the trailing space
|
|
235
|
+
# The command is words[0] but might have leading '/'
|
|
236
|
+
cmd_text = words[0]
|
|
237
|
+
else:
|
|
238
|
+
# Command with arguments and trailing space
|
|
239
|
+
partial = ""
|
|
240
|
+
cmd_text = text.rstrip() # Remove trailing space for matching
|
|
241
|
+
else:
|
|
242
|
+
# No trailing space
|
|
243
|
+
if len(words) <= 1:
|
|
244
|
+
return
|
|
245
|
+
partial = words[-1].lower()
|
|
246
|
+
cmd_text = text
|
|
225
247
|
|
|
226
|
-
|
|
227
|
-
|
|
248
|
+
# Pass the text (without trailing space if present) to matching_commands
|
|
249
|
+
matches, matched_cmd, _ = self.commands.matching_commands(cmd_text.rstrip())
|
|
250
|
+
if not matches:
|
|
251
|
+
return
|
|
228
252
|
|
|
229
|
-
matches, _, _ = self.commands.matching_commands(cmd)
|
|
230
253
|
if len(matches) == 1:
|
|
231
254
|
cmd = matches[0]
|
|
232
|
-
elif
|
|
255
|
+
elif matched_cmd in matches:
|
|
256
|
+
cmd = matched_cmd
|
|
257
|
+
else:
|
|
233
258
|
return
|
|
234
259
|
|
|
235
260
|
raw_completer = self.commands.get_raw_completions(cmd)
|
|
@@ -242,11 +267,14 @@ class AutoCompleter(Completer):
|
|
|
242
267
|
if candidates is None:
|
|
243
268
|
return
|
|
244
269
|
|
|
245
|
-
if
|
|
246
|
-
candidates = [word for word in candidates if partial in word.lower()]
|
|
270
|
+
candidates = [word for word in candidates if partial in word.lower()]
|
|
247
271
|
|
|
248
272
|
for candidate in sorted(candidates):
|
|
249
|
-
|
|
273
|
+
# Calculate start position based on partial, not words[-1]
|
|
274
|
+
# When partial is empty (trailing space), start_position should be 0
|
|
275
|
+
# When partial is not empty, replace that many characters
|
|
276
|
+
start_position = -len(partial) if partial else 0
|
|
277
|
+
yield Completion(candidate, start_position=start_position)
|
|
250
278
|
|
|
251
279
|
def get_completions(self, document, complete_event):
|
|
252
280
|
self.tokenize()
|
|
@@ -256,8 +284,9 @@ class AutoCompleter(Completer):
|
|
|
256
284
|
if not words:
|
|
257
285
|
return
|
|
258
286
|
|
|
259
|
-
if text and text[-1].isspace():
|
|
260
|
-
# don't keep completing after a space
|
|
287
|
+
if text and text[-1].isspace() and not text.startswith("/"):
|
|
288
|
+
# don't keep completing after a space for non-commands
|
|
289
|
+
# For commands, we want to allow completion with empty string partial
|
|
261
290
|
return
|
|
262
291
|
|
|
263
292
|
if text[0] == "/":
|
|
@@ -1202,6 +1202,7 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
|
|
|
1202
1202
|
return await graceful_exit(coder)
|
|
1203
1203
|
except SwitchCoderSignal as switch:
|
|
1204
1204
|
coder.ok_to_warm_cache = False
|
|
1205
|
+
await coder.auto_save_session(force=True)
|
|
1205
1206
|
|
|
1206
1207
|
if hasattr(switch, "placeholder") and switch.placeholder is not None:
|
|
1207
1208
|
io.placeholder = switch.placeholder
|
|
@@ -1229,6 +1230,7 @@ async def main_async(argv=None, input=None, output=None, force_git_root=None, re
|
|
|
1229
1230
|
|
|
1230
1231
|
except SystemExit:
|
|
1231
1232
|
sys.settrace(None)
|
|
1233
|
+
await coder.auto_save_session(force=True)
|
|
1232
1234
|
return await graceful_exit(coder)
|
|
1233
1235
|
|
|
1234
1236
|
|
|
@@ -884,7 +884,9 @@ class TUI(App):
|
|
|
884
884
|
suggestions = []
|
|
885
885
|
commands = self.worker.coder.commands
|
|
886
886
|
|
|
887
|
-
|
|
887
|
+
# Only return early for non-commands ending with space
|
|
888
|
+
# For commands, we want to allow completion with empty string partial
|
|
889
|
+
if len(text) and text[-1] == " " and not text.startswith("/"):
|
|
888
890
|
return
|
|
889
891
|
|
|
890
892
|
if "@" in text:
|
|
@@ -905,12 +907,21 @@ class TUI(App):
|
|
|
905
907
|
suggestions = all_commands
|
|
906
908
|
else:
|
|
907
909
|
suggestions = [c for c in all_commands if c.startswith(cmd_part)]
|
|
908
|
-
|
|
910
|
+
else:
|
|
909
911
|
# Complete command argument
|
|
912
|
+
# This handles both:
|
|
913
|
+
# 1. len(parts) > 1: command with arguments
|
|
914
|
+
# 2. len(parts) == 1 and text.endswith(" "): command with trailing space
|
|
910
915
|
cmd_name = cmd_part
|
|
911
|
-
end_lookup = text.rsplit(maxsplit=1)
|
|
912
916
|
|
|
913
|
-
|
|
917
|
+
if text.endswith(" "):
|
|
918
|
+
# Command with trailing space, empty argument prefix
|
|
919
|
+
arg_prefix = ""
|
|
920
|
+
else:
|
|
921
|
+
# Get the last word as argument prefix
|
|
922
|
+
end_lookup = text.rsplit(maxsplit=1)
|
|
923
|
+
arg_prefix = end_lookup[-1]
|
|
924
|
+
|
|
914
925
|
arg_prefix_lower = arg_prefix.lower()
|
|
915
926
|
|
|
916
927
|
# Check if this command needs path-based completion
|
|
@@ -955,8 +966,14 @@ class TUI(App):
|
|
|
955
966
|
"""Calculate the new text after applying completion."""
|
|
956
967
|
if current_text.startswith("/"):
|
|
957
968
|
parts = current_text.rsplit(maxsplit=1)
|
|
958
|
-
|
|
959
|
-
|
|
969
|
+
|
|
970
|
+
# Check if we have a command with trailing space
|
|
971
|
+
# This is when we want to insert argument completions after the space
|
|
972
|
+
if len(parts) == 1 and current_text.endswith(" "):
|
|
973
|
+
# Command with trailing space, insert completion after space
|
|
974
|
+
return current_text + completion
|
|
975
|
+
elif len(parts) == 1:
|
|
976
|
+
# Replace entire command (command name completion)
|
|
960
977
|
# Only add space if command takes arguments
|
|
961
978
|
commands = self.worker.coder.commands
|
|
962
979
|
try:
|
|
@@ -95,6 +95,7 @@ class CoderWorker:
|
|
|
95
95
|
except SwitchCoderSignal as switch:
|
|
96
96
|
# Handle chat mode switches (e.g., /chat-mode architect)
|
|
97
97
|
try:
|
|
98
|
+
await self.coder.auto_save_session(force=True)
|
|
98
99
|
kwargs = dict(io=self.coder.io, from_coder=self.coder)
|
|
99
100
|
kwargs.update(switch.kwargs)
|
|
100
101
|
if "show_announcements" in kwargs:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|