cecli-dev 1.0.0rc4__tar.gz → 1.0.0rc5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/PKG-INFO +2 -1
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/_version.py +3 -3
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/agent_coder.py +1 -2
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/agents/service.py +1 -1
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/hashline.py +239 -9
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/hashpos/hashpos.py +92 -101
- cecli_dev-1.0.0rc5/cecli/helpers/hashpos/transformations.py +476 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/nested.py +14 -1
- cecli_dev-1.0.0rc5/cecli/helpers/orchestration/agent_proxy.py +556 -0
- cecli_dev-1.0.0rc5/cecli/helpers/orchestration/environment.py +566 -0
- cecli_dev-1.0.0rc5/cecli/helpers/orchestration/region_resolver.py +473 -0
- cecli_dev-1.0.0rc5/cecli/helpers/orchestration/safe_methods.py +750 -0
- cecli_dev-1.0.0rc5/cecli/helpers/orchestration/security.py +182 -0
- cecli_dev-1.0.0rc5/cecli/helpers/orchestration/tool_proxy.py +274 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/hooks/helpers.py +1 -1
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/io.py +3 -3
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/mcp/server.py +2 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/agent.yml +18 -10
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/subagent.yml +18 -10
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/__init__.py +0 -2
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/command.py +93 -2
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/delegate.py +80 -25
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/edit_file.py +104 -37
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/explore_code.py +55 -11
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/grep.py +68 -22
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/orchestrate.py +5 -2
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/read_file.py +262 -170
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/resource_manager.py +2 -1
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/utils/base_tool.py +23 -4
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/utils/responses.py +26 -12
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/validations/validations.py +1 -1
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli_dev.egg-info/PKG-INFO +2 -1
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli_dev.egg-info/SOURCES.txt +5 -1
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli_dev.egg-info/requires.txt +1 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli_dev.egg-info/scm_file_list.json +835 -831
- cecli_dev-1.0.0rc5/cecli_dev.egg-info/scm_version.json +8 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/common-constraints.txt +2 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/requirements.in +3 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements.txt +4 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/test_orchestration.py +694 -31
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_grep.py +4 -3
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_insert_block.py +2 -2
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_read_range_execute.py +2 -4
- cecli_dev-1.0.0rc4/cecli/helpers/orchestration/environment.py +0 -616
- cecli_dev-1.0.0rc4/cecli/helpers/orchestration/security.py +0 -101
- cecli_dev-1.0.0rc4/cecli/tools/command_interactive.py +0 -181
- cecli_dev-1.0.0rc4/cecli_dev.egg-info/scm_version.json +0 -8
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.dockerignore +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.flake8 +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.gitattributes +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/check_pypi_version.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/docker-build-test.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/docker-release.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/issues.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/pages.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/pre-commit.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/release.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/ubuntu-tests.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/windows-tests.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.github/workflows/windows_check_pypi_version.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.gitignore +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/.pre-commit-config.yaml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/CHANGELOG.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/CNAME +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/CONTRIBUTING.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/HISTORY.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/LICENSE.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/MANIFEST.in +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/README.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/Dockerfile +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/README.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/benchmark.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/benchmark_classic.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/clone-exercism.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/cpp-test.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/docker.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/docker_build.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/install-docker-ubuntu.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/npm-test.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/over_time.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/plot.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/plots.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/problem_stats.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/prompts.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/refactor_tools.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/rsync.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/rungrid.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/swe-bench-lite.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/swe-bench.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/swe_bench.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/test_benchmark.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/variations.1.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/variations.2.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/variations.3.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/benchmark/variations.4.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/__main__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/args.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/args_formatter.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/change_tracker.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/architect_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/ask_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/base_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/chat_chunks.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/context_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/copypaste_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/editblock_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/editblock_fenced_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/editblock_func_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/editor_diff_fenced_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/editor_editblock_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/editor_whole_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/hashline_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/help_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/patch_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/search_replace.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/shell.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/single_wholefile_func_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/sub_agent_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/udiff_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/udiff_simple.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/wholefile_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/coders/wholefile_func_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/add.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/agent.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/agent_model.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/agent_tree.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/architect.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/ask.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/chat_mode.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/clear.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/code.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/command_prefix.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/commit.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/compact.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/context.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/context_blocks.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/context_management.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/copy.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/copy_context.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/core.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/diff.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/drop.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/editor.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/editor_model.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/exclude_skill.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/exit.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/git.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/hashline.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/help.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/history_search.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/hooks.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/hot_reload.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/include_skill.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/lint.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/list_mcp.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/list_sessions.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/list_skills.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/load.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/load_hook.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/load_mcp.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/load_session.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/load_skill.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/ls.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/map.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/map_refresh.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/merge.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/model.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/models.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/multiline_mode.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/paste.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/quit.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/read_only.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/read_only_stub.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/reap_agent.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/reasoning_effort.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/remove_hook.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/remove_mcp.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/remove_skill.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/report.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/reset.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/rules.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/run.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/save.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/save_session.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/settings.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/spawn_agent.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/switch_agent.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/terminal_data/linux.keytab +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/terminal_setup.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/test.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/think_tokens.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/tokens.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/undo.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/utils/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/utils/base_command.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/utils/helpers.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/utils/registry.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/utils/save_load_manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/voice.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/weak_model.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/web.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/commands/workspace.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/deprecated_args.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/diffs.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/dump.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/editor.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/exceptions.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/format_settings.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/help.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/help_pats.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/agents/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/agents/config.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/background_commands.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/command_parser.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/conversation/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/conversation/base_message.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/conversation/files.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/conversation/integration.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/conversation/manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/conversation/service.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/conversation/tags.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/conversation/utils.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/copypaste.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/coroutines.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/crypto.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/file_searcher.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/file_system/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/file_system/builders.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/file_system/ignore.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/file_system/ngram_index.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/file_system/service.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/file_system/trie_index.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/grep_ast/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/grep_ast/dump.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/grep_ast/grep_ast.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/grep_ast/main.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/grep_ast/parsers.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/grep_ast/tsl.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/hashpos/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/io_proxy.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/leak_detect.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/model_providers.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/monorepo/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/monorepo/config.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/monorepo/local_workspace.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/monorepo/project.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/monorepo/workspace.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/monorepo/worktree.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/observations/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/observations/service.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/orchestration/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/orchestration/service.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/plugin_manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/profiler.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/requests.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/responses.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/similarity.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/skills.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/helpers/threading.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/history.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/hooks/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/hooks/base.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/hooks/integration.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/hooks/manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/hooks/registry.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/hooks/service.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/hooks/types.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/interruptible_input.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/linter.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/llm.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/main.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/mcp/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/mcp/manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/mcp/oauth.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/mcp/utils.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/mdstream.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/models.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/onboarding.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/architect.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/ask.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/base.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/context.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/copypaste.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/editblock.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/editblock_fenced.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/editblock_func.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/editor_diff_fenced.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/editor_editblock.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/editor_whole.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/hashline.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/help.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/patch.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/single_wholefile_func.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/udiff.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/udiff_simple.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/utils/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/utils/registry.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/utils/system.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/wholefile.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/prompts/wholefile_func.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/README.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/reasoning_tags.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/repo.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/repomap.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/report.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/resources/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/resources/model-metadata.json +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/resources/model-settings.yml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/resources/providers.json +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/run_cmd.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/scrape.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/sendchat.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/sessions.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/signals.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/special.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/_yield.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/git_branch.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/git_diff.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/git_log.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/git_remote.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/git_show.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/git_status.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/ls.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/thinking.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/undo_change.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/update_todo_list.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/utils/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/utils/helpers.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/utils/output.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/utils/registry.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tools/validations/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/app.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/io.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/styles.tcss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/completion_bar.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/file_list.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/footer.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/input_area.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/input_container.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/key_hints.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/output.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/status_bar.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/widgets/subagent_pills.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/tui/worker.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/urls.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/utils.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/versioncheck.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/voice.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/waiting.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/watch.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/watch_prompts.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/Gemfile +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/blame.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/get-started.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/help-tip.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/help.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/install.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/keys.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/model-warnings.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/multi-line.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/python-m-aider.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/recording.css +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/recording.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_includes/works-best.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_features.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_footer.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_hero.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_info.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_layout.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_reset.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_testimonials.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_typography.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/_variables.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/custom/custom.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/_sass/global-overrides.scss +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/adv-model-settings.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/agent-mode.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/api-keys.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/conf.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/custom-commands.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/custom-system-prompts.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/dotenv.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/editor.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/hooks.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/mcp.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/model-aliases.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/model-configuration.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/model-providers.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/options.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/reasoning.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/retries.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/security.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/skills.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/subagents.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/tui.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config/workspaces.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/config.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/git.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/index.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/install/docker.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/install.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/languages.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/legal/contributor-agreement.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/legal/privacy.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/anthropic.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/azure.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/bedrock.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/cohere.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/deepseek.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/gemini.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/github.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/groq.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/lm-studio.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/ollama.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/openai-compat.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/openai.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/openrouter.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/other.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/vertex.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/warnings.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms/xai.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/llms.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/more/analytics.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/more/edit-formats.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/more/infinite-output.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/more-info.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/repomap.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/scripting.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/troubleshooting/imports.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/troubleshooting/support.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/troubleshooting/warnings.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/troubleshooting.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/commands.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/conventions.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/copypaste.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/images-urls.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/lint-test.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/modes.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/not-code.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/notifications.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/optional.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/sessions.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/tips.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/voice.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage/watch.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/docs/usage.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli/website/share/index.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli_dev.egg-info/dependency_links.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli_dev.egg-info/entry_points.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/cecli_dev.egg-info/top_level.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/docker/Dockerfile +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/pyproject.toml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/pytest.ini +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/requirements-dev.in +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/requirements-dev.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/requirements-help.in +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/requirements-help.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/requirements-playwright.in +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/requirements-playwright.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/requirements/tree-sitter.in +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/30k-image.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/Dockerfile.jekyll +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/blame.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/clean_metadata.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/compare-message-history.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/cost_analyzer.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/cost_calculator.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/dl_icons.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/filter-chat-mode.js +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/generate_providers.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/get_contributor_list.js +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/get_hashline.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/history_prompts.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/homepage.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/issues.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/jekyll_build.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/jekyll_run.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/logo_svg.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/optimize_tokens.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/pip-compile.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/recording_audio.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/redact-cast.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/rename_to_cecli.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/tmux_record.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/tsl_pack_langs.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/update-blame.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/update-docs.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/update-history.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/versionbump.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/scripts/yank-old-versions.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/setup.cfg +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/shim.pyproject.toml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/conftest.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_aws_credentials.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_background_commands.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_commands.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_custom_commands.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_deprecated.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_editblock.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_editor.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_exceptions.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_find_or_blocks.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_hashline.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_hashline_closure.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_history.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_io.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_linter.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_main.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_model_info_manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_model_provider_manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_models.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_onboarding.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_plugin_manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_prompts.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_reasoning.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_repo.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_repomap.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_run_cmd.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_sanity_check_repo.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_scripting.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_sendchat.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_session_args.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_session_crypto.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_sessions.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_sessions_manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_skills.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_special.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_ssl_verification.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_udiff.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_urls.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_voice.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_watch.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/basic/test_wholefile.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/coders/test_coder_switching.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/coders/test_copypaste_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/commands/test_compaction.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/commands/test_switch_agent.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/conftest.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/conversations/test_conversation_integration.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/conversations/test_conversation_system.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/chat-history.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/arduino/test.ino +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/bash/test.sh +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/c/test.c +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/chatito/test.chatito +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/clojure/test.clj +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/cpp/test.cpp +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/csharp/test.cs +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/d/test.d +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/dart/test.dart +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/elisp/test.el +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/elixir/test.ex +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/elm/test.elm +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/gleam/test.gleam +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/go/test.go +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/haskell/test.hs +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/hcl/test.tf +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/java/test.java +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/javascript/test.js +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/kotlin/test.kt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/lua/test.lua +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/matlab/test.m +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/ocaml/test.ml +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/php/test.php +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/pony/test.pony +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/properties/test.properties +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/python/test.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/ql/test.ql +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/r/test.r +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/racket/test.rkt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/ruby/test.rb +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/rust/test.rs +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/scala/test.scala +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/solidity/test.sol +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/swift/test.swift +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/tsx/test.tsx +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/typescript/test.ts +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/udev/test.rules +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/languages/zig/test.zig +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/sample-code-base/sample.js +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/sample-code-base/sample.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/watch.js +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/watch.lisp +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/watch.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/fixtures/watch_question.js +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/help/test_help.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/monorepo/LOCAL_WORKSPACE.md +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/monorepo/test_config.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/monorepo/test_config_active.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/monorepo/test_ignore_logic.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/monorepo/test_local_workspace.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/monorepo/test_repomap_workspace.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/monorepo/test_workspace.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/helpers/observations/test_observation_service.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/hooks/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/hooks/test_base.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/hooks/test_manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/hooks/test_registry.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/integration/test_agent_mcp_management.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/integration/test_mcp_management.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/conftest.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/mock_server.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/test_keepalive_concurrency.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/test_keepalive_config.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/test_keepalive_integration.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/test_keepalive_logging.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/test_keepalive_resilience.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/test_keepalive_unit.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/mcp/test_manager.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/scrape/test_playwright_disable.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/scrape/test_scrape.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/__init__.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/conftest.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/test_commands.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/test_config.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/test_delegate.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/test_finished.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/test_io_proxy.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/test_service.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/subagents/test_sub_agent_coder.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/test_requests.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_extractions.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_get_lines.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_git_branch.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_git_diff.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_registry.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_remove_mcp_tool.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_tool_arguments.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/test_tools_load_mcp_tool.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tools/validations.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/tui/test_app.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/unit/test_load_mcp.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/unit/test_remove_mcp.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/unit/test_unit_load_mcp_tool.py +0 -0
- {cecli_dev-1.0.0rc4 → cecli_dev-1.0.0rc5}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cecli-dev
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.0rc5
|
|
4
4
|
Summary: we also can't pronounce cecli
|
|
5
5
|
Project-URL: Homepage, https://github.com/dwash96/cecli
|
|
6
6
|
Project-URL: Documentation, https://github.com/dwash96/cecli
|
|
@@ -59,6 +59,7 @@ Requires-Dist: rapidfuzz>=3.0
|
|
|
59
59
|
Requires-Dist: ngram>=4.0.3
|
|
60
60
|
Requires-Dist: rustworkx>=0.15.0
|
|
61
61
|
Requires-Dist: scipy>=1.15.3
|
|
62
|
+
Requires-Dist: orjson>=3.11.6
|
|
62
63
|
Requires-Dist: importlib-metadata>=7.2.1
|
|
63
64
|
Requires-Dist: tomli>=2.3.0; python_version <= "3.10"
|
|
64
65
|
Requires-Dist: tree-sitter==0.23.2; python_version < "3.10"
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 0, 0, '
|
|
21
|
+
__version__ = version = '1.0.0rc5'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 0, 'rc5')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g5575d3301'
|
|
@@ -62,7 +62,6 @@ class AgentCoder(Coder):
|
|
|
62
62
|
self.max_tool_vector_history = 20
|
|
63
63
|
self.read_tools = {
|
|
64
64
|
"command",
|
|
65
|
-
"commandinteractive",
|
|
66
65
|
"explorecode",
|
|
67
66
|
"ls",
|
|
68
67
|
"readfile",
|
|
@@ -72,7 +71,6 @@ class AgentCoder(Coder):
|
|
|
72
71
|
}
|
|
73
72
|
self.write_tools = {
|
|
74
73
|
"command",
|
|
75
|
-
"commandinteractive",
|
|
76
74
|
"editfile",
|
|
77
75
|
"undochange",
|
|
78
76
|
}
|
|
@@ -83,6 +81,7 @@ class AgentCoder(Coder):
|
|
|
83
81
|
self.change_tracker = ChangeTracker()
|
|
84
82
|
self.args = kwargs.get("args")
|
|
85
83
|
self.files_added_in_exploration = set()
|
|
84
|
+
self.file_read_cache = set()
|
|
86
85
|
self.tool_call_count = 0
|
|
87
86
|
self.turn_count = 0
|
|
88
87
|
self.max_reflections = 15
|
|
@@ -3,7 +3,11 @@ import json
|
|
|
3
3
|
import re
|
|
4
4
|
from collections import Counter
|
|
5
5
|
|
|
6
|
-
from cecli.helpers.hashpos.hashpos import
|
|
6
|
+
from cecli.helpers.hashpos.hashpos import ( # noqa
|
|
7
|
+
HASH_DELIMITER,
|
|
8
|
+
UNIQUE_HASH_DELIMITER,
|
|
9
|
+
HashPos,
|
|
10
|
+
)
|
|
7
11
|
|
|
8
12
|
HASHLINE_PREFIX_RE = HashPos.HASH_PREFIX_RE
|
|
9
13
|
|
|
@@ -72,14 +76,14 @@ def strip_hashline(text: str) -> str:
|
|
|
72
76
|
return HashPos.strip_prefix(text)
|
|
73
77
|
|
|
74
78
|
|
|
75
|
-
def normalize_hashline(hashline_str: str) -> str:
|
|
79
|
+
def normalize_hashline(hashline_str: str, throw=True) -> str:
|
|
76
80
|
"""
|
|
77
81
|
Normalize a hashline string to the content id hash fragment.
|
|
78
82
|
"""
|
|
79
83
|
if hashline_str in ("@000", "000@"):
|
|
80
84
|
return hashline_str
|
|
81
85
|
try:
|
|
82
|
-
return HashPos.normalize(hashpos_str=hashline_str)
|
|
86
|
+
return HashPos.normalize(hashpos_str=hashline_str, throw=throw)
|
|
83
87
|
except ValueError as e:
|
|
84
88
|
raise ContentHashError(str(e))
|
|
85
89
|
|
|
@@ -275,6 +279,7 @@ def resolve_content_to_hashline_ids(
|
|
|
275
279
|
original_content: str,
|
|
276
280
|
start_value: str,
|
|
277
281
|
end_value: str = None,
|
|
282
|
+
start_hint_line: int | None = None,
|
|
278
283
|
) -> tuple:
|
|
279
284
|
"""
|
|
280
285
|
Resolve potential line content values to proper hashline content IDs.
|
|
@@ -295,6 +300,8 @@ def resolve_content_to_hashline_ids(
|
|
|
295
300
|
original_content: Original file content (without hash prefixes)
|
|
296
301
|
start_value: The start_line value from the edit
|
|
297
302
|
end_value: The end_line value from the edit (optional)
|
|
303
|
+
start_hint_line: 0-based line number hint used to disambiguate
|
|
304
|
+
non-unique start_value matches (optional)
|
|
298
305
|
|
|
299
306
|
Returns:
|
|
300
307
|
tuple: (resolved_start, resolved_end) with hash IDs or original values
|
|
@@ -331,8 +338,11 @@ def resolve_content_to_hashline_ids(
|
|
|
331
338
|
|
|
332
339
|
def _resolve_to_hash_id(lines, idx, hp):
|
|
333
340
|
"""Generate a hash ID for the line at the given index."""
|
|
334
|
-
|
|
335
|
-
|
|
341
|
+
line_text = lines[idx]
|
|
342
|
+
# Compute the occurrence number (1-based) of this line instance
|
|
343
|
+
occurrence = 1 + sum(1 for i in range(idx) if lines[i] == line_text)
|
|
344
|
+
hash_id = hp.generate_public_id(line_text, idx, occurrence)
|
|
345
|
+
return HashPos.get_wrapped_id(hash_id)
|
|
336
346
|
|
|
337
347
|
lines = original_content.splitlines()
|
|
338
348
|
hp = HashPos(original_content)
|
|
@@ -354,6 +364,13 @@ def resolve_content_to_hashline_ids(
|
|
|
354
364
|
if len(containing_indices) == 1:
|
|
355
365
|
resolved_start_idx = containing_indices[0]
|
|
356
366
|
resolved_start = _resolve_to_hash_id(lines, resolved_start_idx, hp)
|
|
367
|
+
elif len(containing_indices) > 1 and start_hint_line is not None:
|
|
368
|
+
# Multiple matches - pick closest to hint line
|
|
369
|
+
resolved_start_idx = min(
|
|
370
|
+
containing_indices,
|
|
371
|
+
key=lambda idx: abs(idx - start_hint_line),
|
|
372
|
+
)
|
|
373
|
+
resolved_start = _resolve_to_hash_id(lines, resolved_start_idx, hp)
|
|
357
374
|
elif start_value is not None and _looks_like_content_id(start_value):
|
|
358
375
|
# Already a content ID - try to resolve it to find the line position
|
|
359
376
|
# for proximity matching with end_value
|
|
@@ -363,7 +380,22 @@ def resolve_content_to_hashline_ids(
|
|
|
363
380
|
if candidates:
|
|
364
381
|
resolved_start_idx = candidates[0]
|
|
365
382
|
except (ContentHashError, ValueError):
|
|
366
|
-
|
|
383
|
+
# The value looks like a content ID but normalized to UNIQUE_HASH_DELIMITER which can't
|
|
384
|
+
# be spatially resolved. Fall back: strip the UNIQUE_HASH_DELIMITER prefix and treat the
|
|
385
|
+
# remaining content as line content to match.
|
|
386
|
+
content = HashPos.strip_prefix(start_value)
|
|
387
|
+
if content != start_value and content.strip():
|
|
388
|
+
containing_indices = _find_substring_matches(lines, content)
|
|
389
|
+
if len(containing_indices) == 1:
|
|
390
|
+
resolved_start_idx = containing_indices[0]
|
|
391
|
+
resolved_start = _resolve_to_hash_id(lines, resolved_start_idx, hp)
|
|
392
|
+
elif len(containing_indices) > 1 and start_hint_line is not None:
|
|
393
|
+
# Multiple matches - pick closest to hint line
|
|
394
|
+
resolved_start_idx = min(
|
|
395
|
+
containing_indices,
|
|
396
|
+
key=lambda idx: abs(idx - start_hint_line),
|
|
397
|
+
)
|
|
398
|
+
resolved_start = _resolve_to_hash_id(lines, resolved_start_idx, hp)
|
|
367
399
|
|
|
368
400
|
# Resolve end_value based on proximity to start position
|
|
369
401
|
resolved_end = end_value
|
|
@@ -389,6 +421,30 @@ def resolve_content_to_hashline_ids(
|
|
|
389
421
|
key=lambda idx: abs(idx - resolved_start_idx),
|
|
390
422
|
)
|
|
391
423
|
resolved_end = _resolve_to_hash_id(lines, closest_idx, hp)
|
|
424
|
+
elif end_value is not None and _looks_like_content_id(end_value):
|
|
425
|
+
# Already a content ID - try to resolve it
|
|
426
|
+
try:
|
|
427
|
+
normalized = normalize_hashline(end_value)
|
|
428
|
+
candidates = hp.resolve_to_lines(normalized)
|
|
429
|
+
if candidates and resolved_start_idx is not None:
|
|
430
|
+
# Pick candidate closest to start position
|
|
431
|
+
resolved_end = _resolve_to_hash_id(lines, candidates[0], hp)
|
|
432
|
+
except (ContentHashError, ValueError):
|
|
433
|
+
# The value looks like a content ID but normalized to UNIQUE_HASH_DELIMITER which can't
|
|
434
|
+
# be spatially resolved. Fall back: strip the UNIQUE_HASH_DELIMITER prefix and treat the
|
|
435
|
+
# remaining content as line content to match.
|
|
436
|
+
content = HashPos.strip_prefix(end_value)
|
|
437
|
+
if content != end_value and content.strip():
|
|
438
|
+
containing_indices = _find_substring_matches(lines, content)
|
|
439
|
+
if len(containing_indices) == 1:
|
|
440
|
+
idx = containing_indices[0]
|
|
441
|
+
resolved_end = _resolve_to_hash_id(lines, idx, hp)
|
|
442
|
+
elif len(containing_indices) > 1 and resolved_start_idx is not None:
|
|
443
|
+
closest_idx = min(
|
|
444
|
+
containing_indices,
|
|
445
|
+
key=lambda idx: abs(idx - resolved_start_idx),
|
|
446
|
+
)
|
|
447
|
+
resolved_end = _resolve_to_hash_id(lines, closest_idx, hp)
|
|
392
448
|
|
|
393
449
|
return resolved_start, resolved_end
|
|
394
450
|
|
|
@@ -1705,6 +1761,152 @@ def _apply_closure_safeguard(
|
|
|
1705
1761
|
return safe_resolved_ops, rejected_ops
|
|
1706
1762
|
|
|
1707
1763
|
|
|
1764
|
+
def _try_resolve_as_unique_line(
|
|
1765
|
+
hp: HashPos,
|
|
1766
|
+
value: str,
|
|
1767
|
+
) -> str | None:
|
|
1768
|
+
"""
|
|
1769
|
+
Try to resolve a value by matching it against unique lines in the source content.
|
|
1770
|
+
|
|
1771
|
+
If the value (after stripping) matches exactly one line in the source
|
|
1772
|
+
AND that line appears only once (unique), returns a tilde-wrapped hash ID
|
|
1773
|
+
that can be resolved to line indices by the HashPos engine.
|
|
1774
|
+
|
|
1775
|
+
This serves as a preliminary resolution step that can salvage operations
|
|
1776
|
+
whose hash references could not be normalized, by checking if the value
|
|
1777
|
+
corresponds to unique line content in the file.
|
|
1778
|
+
|
|
1779
|
+
Args:
|
|
1780
|
+
hp: HashPos instance for the source content
|
|
1781
|
+
value: The value to resolve (typically line content rather than a hash)
|
|
1782
|
+
|
|
1783
|
+
Returns:
|
|
1784
|
+
A tilde-wrapped hash ID if resolution succeeds, None otherwise
|
|
1785
|
+
"""
|
|
1786
|
+
if not hp or not value:
|
|
1787
|
+
return None
|
|
1788
|
+
|
|
1789
|
+
value_stripped = value.strip()
|
|
1790
|
+
if not value_stripped:
|
|
1791
|
+
return None
|
|
1792
|
+
|
|
1793
|
+
# Find all lines that exactly match this value
|
|
1794
|
+
matching_lines = []
|
|
1795
|
+
for i, line in enumerate(hp.lines):
|
|
1796
|
+
if line.strip() == value_stripped:
|
|
1797
|
+
matching_lines.append((i, line))
|
|
1798
|
+
|
|
1799
|
+
# Only resolve if it matches exactly one unique line
|
|
1800
|
+
if len(matching_lines) == 1:
|
|
1801
|
+
idx, matched_line = matching_lines[0]
|
|
1802
|
+
# Verify the line is actually unique in the source (appears only once)
|
|
1803
|
+
if hp.line_counts.get(matched_line, 0) == 1:
|
|
1804
|
+
hash_id = hp.generate_public_id(matched_line, idx, 1)
|
|
1805
|
+
return HashPos.get_wrapped_id(hash_id)
|
|
1806
|
+
|
|
1807
|
+
return None
|
|
1808
|
+
|
|
1809
|
+
|
|
1810
|
+
def _raise_clear_hash_error(hp, op, key):
|
|
1811
|
+
"""Raise a ContentHashError with a clear message explaining why a value couldn't be resolved.
|
|
1812
|
+
|
|
1813
|
+
Checks if the value matches line content in the file and provides specific guidance
|
|
1814
|
+
about how to fix the reference (use hashed ID prefix, check for duplicates, etc.).
|
|
1815
|
+
"""
|
|
1816
|
+
value = op.get(key, "")
|
|
1817
|
+
value_stripped = value.strip() if value else ""
|
|
1818
|
+
|
|
1819
|
+
if not hp or not value_stripped:
|
|
1820
|
+
raise ContentHashError(
|
|
1821
|
+
f"Could not resolve '{value}' as a content ID. "
|
|
1822
|
+
"Use a hashed ID prefix (e.g., `~XXXX~`) to target the line."
|
|
1823
|
+
)
|
|
1824
|
+
|
|
1825
|
+
# Count how many lines contain this value as a substring
|
|
1826
|
+
matching_count = 0
|
|
1827
|
+
for line in hp.lines:
|
|
1828
|
+
if value_stripped in line:
|
|
1829
|
+
matching_count += 1
|
|
1830
|
+
|
|
1831
|
+
if matching_count > 1:
|
|
1832
|
+
raise ContentHashError(
|
|
1833
|
+
f"Line '{value_stripped}' appears {matching_count} times in the file. "
|
|
1834
|
+
"Use the hashed ID prefix (e.g., `~XXXX~`) to disambiguate "
|
|
1835
|
+
"which occurrence to target."
|
|
1836
|
+
)
|
|
1837
|
+
elif matching_count == 1:
|
|
1838
|
+
raise ContentHashError(
|
|
1839
|
+
f"Line '{value_stripped}' was found once in the file but could not be "
|
|
1840
|
+
"resolved as a unique content ID. Use the hashed ID prefix (e.g., `~XXXX~`) "
|
|
1841
|
+
"to target it precisely."
|
|
1842
|
+
)
|
|
1843
|
+
else:
|
|
1844
|
+
raise ContentHashError(
|
|
1845
|
+
f"Line '{value_stripped}' was not found in the file. "
|
|
1846
|
+
"Use the exact line content or a hashed ID prefix (e.g., `~XXXX~`) "
|
|
1847
|
+
"to target the desired line."
|
|
1848
|
+
)
|
|
1849
|
+
|
|
1850
|
+
|
|
1851
|
+
def _detect_overlapping_ranges(resolved_ops):
|
|
1852
|
+
"""Check resolved operations for genuinely overlapping ranges.
|
|
1853
|
+
|
|
1854
|
+
Detects operations where ranges overlap in a way that can't be resolved
|
|
1855
|
+
by simple deduplication (same-start) or containment. These non-trivial
|
|
1856
|
+
overlaps (e.g., a delete range partially overlapping a replace range)
|
|
1857
|
+
are flagged and returned as failed operations with a clear message.
|
|
1858
|
+
The overlapping operations' indices are also returned so the caller
|
|
1859
|
+
can exclude them from `resolved_ops`.
|
|
1860
|
+
|
|
1861
|
+
Returns a tuple of (failed_ops, indices_to_remove).
|
|
1862
|
+
- failed_ops: list of failed operation dicts with overlap errors
|
|
1863
|
+
- indices_to_remove: set of operation indices to remove from resolved_ops
|
|
1864
|
+
"""
|
|
1865
|
+
if len(resolved_ops) < 2:
|
|
1866
|
+
return [], set()
|
|
1867
|
+
|
|
1868
|
+
failed_ops = []
|
|
1869
|
+
indices_to_remove = set()
|
|
1870
|
+
for i in range(len(resolved_ops)):
|
|
1871
|
+
a = resolved_ops[i]
|
|
1872
|
+
a_start = a["start_idx"]
|
|
1873
|
+
a_end = a["end_idx"]
|
|
1874
|
+
|
|
1875
|
+
for j in range(i + 1, len(resolved_ops)):
|
|
1876
|
+
b = resolved_ops[j]
|
|
1877
|
+
b_start = b["start_idx"]
|
|
1878
|
+
b_end = b["end_idx"]
|
|
1879
|
+
|
|
1880
|
+
# Skip trivial cases handled elsewhere:
|
|
1881
|
+
# 1. Same start line - handled by _deduplicate_ranges
|
|
1882
|
+
if a_start == b_start:
|
|
1883
|
+
continue
|
|
1884
|
+
|
|
1885
|
+
# 2. One range fully contained within the other - handled by _merged_contained_ranges
|
|
1886
|
+
if (a_start <= b_start and b_end <= a_end) or (b_start <= a_start and a_end <= b_end):
|
|
1887
|
+
continue
|
|
1888
|
+
|
|
1889
|
+
# Check if ranges genuinely overlap (not just adjacent/contiguous)
|
|
1890
|
+
# Two ranges [a_start, a_end] and [b_start, b_end] overlap if
|
|
1891
|
+
# a_start <= b_end and b_start <= a_end
|
|
1892
|
+
if a_start <= b_end and b_start <= a_end:
|
|
1893
|
+
op_a = a["op"]
|
|
1894
|
+
op_b = b["op"]
|
|
1895
|
+
error_msg = (
|
|
1896
|
+
f"Operation {a['index'] + 1} ({op_a['operation']}, lines "
|
|
1897
|
+
f"{a_start}-{a_end}) overlaps with operation {b['index'] + 1} "
|
|
1898
|
+
f"({op_b['operation']}, lines {b_start}-{b_end}). "
|
|
1899
|
+
"Edits with overlapping ranges are not supported. "
|
|
1900
|
+
"Combine them into a single edit or use non-overlapping ranges."
|
|
1901
|
+
)
|
|
1902
|
+
failed_ops.append({"index": a["index"], "error": error_msg, "operation": op_a})
|
|
1903
|
+
failed_ops.append({"index": b["index"], "error": error_msg, "operation": op_b})
|
|
1904
|
+
indices_to_remove.add(i)
|
|
1905
|
+
indices_to_remove.add(j)
|
|
1906
|
+
|
|
1907
|
+
return failed_ops, indices_to_remove
|
|
1908
|
+
|
|
1909
|
+
|
|
1708
1910
|
def apply_hashline_operations(
|
|
1709
1911
|
original_content: str,
|
|
1710
1912
|
operations: list,
|
|
@@ -1730,15 +1932,35 @@ def apply_hashline_operations(
|
|
|
1730
1932
|
# Normalize hashline inputs in operations
|
|
1731
1933
|
normalized_operations = []
|
|
1732
1934
|
failed_ops = []
|
|
1935
|
+
# Create a single HashPos instance for preliminary resolution and content hashing
|
|
1936
|
+
hp = HashPos(original_content) if original_content else HashPos("")
|
|
1733
1937
|
# Loop through each operation to normalize hashline strings
|
|
1734
1938
|
for i, op in enumerate(operations):
|
|
1735
1939
|
try:
|
|
1736
1940
|
normalized_op = op.copy()
|
|
1737
1941
|
# Normalize start line hash to ensure consistent format
|
|
1738
|
-
|
|
1942
|
+
try:
|
|
1943
|
+
normalized_op["start_line_hash"] = normalize_hashline(op["start_line_hash"])
|
|
1944
|
+
except (ContentHashError, ValueError):
|
|
1945
|
+
# Preliminary resolution: check if the value matches a unique line
|
|
1946
|
+
resolved = _try_resolve_as_unique_line(hp, op["start_line_hash"])
|
|
1947
|
+
if resolved is not None:
|
|
1948
|
+
normalized_op["start_line_hash"] = resolved
|
|
1949
|
+
else:
|
|
1950
|
+
_raise_clear_hash_error(hp, op, "start_line_hash")
|
|
1951
|
+
|
|
1739
1952
|
if "end_line_hash" in op:
|
|
1740
1953
|
# Normalize end line hash if present
|
|
1741
|
-
|
|
1954
|
+
try:
|
|
1955
|
+
normalized_op["end_line_hash"] = normalize_hashline(op["end_line_hash"])
|
|
1956
|
+
except (ContentHashError, ValueError):
|
|
1957
|
+
# Preliminary resolution: check if the value matches a unique line
|
|
1958
|
+
resolved = _try_resolve_as_unique_line(hp, op["end_line_hash"])
|
|
1959
|
+
if resolved is not None:
|
|
1960
|
+
normalized_op["end_line_hash"] = resolved
|
|
1961
|
+
else:
|
|
1962
|
+
_raise_clear_hash_error(hp, op, "end_line_hash")
|
|
1963
|
+
|
|
1742
1964
|
normalized_operations.append(normalized_op)
|
|
1743
1965
|
except Exception as e:
|
|
1744
1966
|
failed_ops.append({"index": i, "error": str(e), "operation": op})
|
|
@@ -1755,7 +1977,7 @@ def apply_hashline_operations(
|
|
|
1755
1977
|
|
|
1756
1978
|
# Apply hashline to original content once
|
|
1757
1979
|
# This converts content to hashed lines for line tracking
|
|
1758
|
-
hashed_content =
|
|
1980
|
+
hashed_content = hp.format_content()
|
|
1759
1981
|
hashed_lines = hashed_content.splitlines(keepends=True)
|
|
1760
1982
|
|
|
1761
1983
|
# Resolve all operations to indices first
|
|
@@ -1833,6 +2055,14 @@ def apply_hashline_operations(
|
|
|
1833
2055
|
except Exception as e:
|
|
1834
2056
|
failed_ops.append({"index": i, "error": str(e), "operation": op})
|
|
1835
2057
|
|
|
2058
|
+
# Check for overlapping ranges among resolved operations
|
|
2059
|
+
overlap_failures, overlap_indices = _detect_overlapping_ranges(resolved_ops)
|
|
2060
|
+
for overlap_failure in overlap_failures:
|
|
2061
|
+
failed_ops.append(overlap_failure)
|
|
2062
|
+
# Remove overlapping operations from resolved_ops so they don't get applied
|
|
2063
|
+
if overlap_indices:
|
|
2064
|
+
resolved_ops = [op for i, op in enumerate(resolved_ops) if i not in overlap_indices]
|
|
2065
|
+
|
|
1836
2066
|
# Honor cancellations: remove operations that are cancelled by later cancel operations
|
|
1837
2067
|
resolved_ops = _honor_cancellations(resolved_ops)
|
|
1838
2068
|
# Deduplicate: if multiple operations start on the same line, keep only the latest one
|