cecli-dev 1.6.0rc5__tar.gz → 1.6.1__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.6.0rc5 → cecli_dev-1.6.1}/PKG-INFO +1 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/_version.py +3 -3
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/base_coder.py +2 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/list_sessions.py +1 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load_session.py +6 -3
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/save_session.py +6 -2
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashpos/transformations.py +1 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/pipeline.py +4 -2
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_providers.py +4 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/agent_proxy.py +17 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/environment.py +4 -2
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/safe_methods.py +11 -10
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/tool_proxy.py +83 -4
- cecli_dev-1.6.1/cecli/helpers/sessions/__init__.py +20 -0
- cecli_dev-1.6.1/cecli/helpers/sessions/layout.py +112 -0
- cecli_dev-1.6.1/cecli/helpers/sessions/manager.py +325 -0
- cecli_dev-1.6.1/cecli/helpers/sessions/payload.py +287 -0
- cecli_dev-1.6.1/cecli/helpers/sessions/storage.py +245 -0
- cecli_dev-1.6.1/cecli/helpers/sessions/subagents.py +152 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/main.py +1 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/server.py +17 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/model-metadata.ext.json +32 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/model-metadata.json +16442 -10023
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/providers.json +2 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/broadcast.py +4 -5
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/grep.py +11 -4
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/read_file.py +4 -4
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/styles.tcss +1 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/output.py +5 -0
- cecli_dev-1.6.1/cecli/tui/widgets/thin_scrollbar.py +58 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/PKG-INFO +1 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/SOURCES.txt +8 -1
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/scm_file_list.json +8 -1
- cecli_dev-1.6.1/cecli_dev.egg-info/scm_version.json +8 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_sessions.py +1 -1
- cecli_dev-1.6.1/tests/basic/test_sessions_manager.py +473 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_orchestration.py +103 -7
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_server_sdk_compat.py +19 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_grep.py +23 -0
- cecli_dev-1.6.1/tests/tui/test_output.py +24 -0
- cecli_dev-1.6.0rc5/cecli/sessions.py +0 -505
- cecli_dev-1.6.0rc5/cecli_dev.egg-info/scm_version.json +0 -8
- cecli_dev-1.6.0rc5/tests/basic/test_sessions_manager.py +0 -219
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.dockerignore +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.flake8 +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.gitattributes +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/check_pypi_version.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/docker-build-test.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/docker-release.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/issues.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/pages.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/pre-commit.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/release.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/ubuntu-tests.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/windows-tests.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.github/workflows/windows_check_pypi_version.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.gitignore +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/.pre-commit-config.yaml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/CHANGELOG.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/CNAME +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/CONTRIBUTING.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/HISTORY.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/LICENSE.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/MANIFEST.in +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/README.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/Dockerfile +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/README.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/benchmark.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/benchmark_classic.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/clone-exercism.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/cpp-test.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/docker.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/docker_build.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/install-docker-ubuntu.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/npm-test.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/over_time.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/plot.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/plots.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/problem_stats.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/prompts.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/refactor_tools.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/rsync.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/rungrid.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/swe-bench-lite.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/swe-bench.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/swe_bench.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/test_benchmark.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/variations.1.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/variations.2.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/variations.3.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/benchmark/variations.4.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/__main__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/args.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/args_formatter.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/change_tracker.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/agent_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/architect_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/ask_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/chat_chunks.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/context_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/copypaste_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editblock_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editblock_fenced_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editblock_func_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editor_diff_fenced_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editor_editblock_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/editor_whole_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/hashline_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/help_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/patch_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/search_replace.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/shell.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/single_wholefile_func_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/sub_agent_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/udiff_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/udiff_simple.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/wholefile_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/coders/wholefile_func_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/add.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/agent.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/agent_model.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/agent_tree.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/architect.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/ask.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/auto_memory.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/chat_mode.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/clear.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/code.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/command_prefix.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/commit.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/compact.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/context.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/context_blocks.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/context_management.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/copy.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/copy_context.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/core.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/diff.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/drop.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/editor.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/editor_model.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/exclude_skill.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/exit.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/git.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/hashline.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/help.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/history_search.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/hooks.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/hot_reload.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/import_skill.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/include_skill.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/insert_queue.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/lint.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/list_mcp.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/list_queue.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/list_skills.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load_hook.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load_mcp.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/load_skill.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/ls.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/map.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/map_refresh.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/merge.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/model.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/models.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/multiline_mode.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/paste.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/queue.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/quit.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/read_only.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/read_only_stub.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/reap_agent.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/reasoning_effort.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_hook.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_mcp.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_memory.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_queue.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/remove_skill.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/report.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/reset.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/rules.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/run.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/save.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/search_memory.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/settings.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/spawn_agent.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/switch_agent.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/terminal_data/linux.keytab +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/terminal_setup.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/test.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/think_tokens.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/tokens.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/undo.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/base_command.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/helpers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/registry.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/utils/save_load_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/voice.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/weak_model.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/web.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/commands/workspace.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/decoding.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/deprecated_args.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/diffs.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/dump.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/editor.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/exceptions.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/format_settings.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/help.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/help_pats.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/config.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/defaults/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/defaults/memorizer.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/defaults/worker.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/agents/service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/background_commands.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/command_parser.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/command_queue.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/config_utils.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/base_message.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/files.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/integration.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/tags.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/conversation/utils.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/copypaste.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/coroutines.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/crypto.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/extensions/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/extensions/skills_importer.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_searcher.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/builders.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/ignore.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/ngram_index.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/file_system/trie_index.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/dump.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/grep_ast.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/main.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/parsers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/grep_ast/tsl.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashline.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashpos/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashpos/hashpos.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/io_proxy.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/leak_detect.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/aws_sigv4.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/config.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/bedrock.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/chat.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/gemini.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/messages.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/domains/responses.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/formatters/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/formatters/reasoning.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/formatters/thinking.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/identifiers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/litellm_compat.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/pipeline.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/anthropic.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/azure.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/base.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/bedrock.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/bedrock_mantle.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/deepseek.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/gemini.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/github_copilot.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/meta.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/mistral.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/openai.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/providers/openrouter.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/runtime.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/types.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/llms/utils.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/lock_detect.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/loop_detect.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/memory/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/memory/db.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/memory/utils.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/memory_control.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/agent.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/api.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/formatters/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/formatters/reasoning.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/formatters/thinking.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/identifiers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/llm.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/registry.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/model_config/utils.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/nested.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/observations/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/observations/service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/onboarding/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/onboarding/app.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/onboarding/providers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/region_resolver.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/security.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/orchestration/service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/plugin_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/profiler.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/queues.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/requests.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/responses.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/acp/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/acp/bridge.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/acp/models.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/acp/protocol.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/signals.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/server/ws_server.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/similarity.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/skills.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/threading.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/config.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/paths.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/subagents.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/helpers/workspaces/workspace.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/history.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/base.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/helpers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/integration.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/registry.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/hooks/types.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/http.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/interruptible_input.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/io.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/linter.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/llm.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/oauth.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mcp/utils.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/mdstream.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/models.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/onboarding.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/agent.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/architect.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/ask.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/base.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/context.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/copypaste.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editblock.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editblock_fenced.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editblock_func.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editor_diff_fenced.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editor_editblock.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/editor_whole.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/hashline.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/help.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/patch.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/single_wholefile_func.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/subagent.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/udiff.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/udiff_simple.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/utils/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/utils/registry.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/utils/system.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/wholefile.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/prompts/wholefile_func.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/README.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/reasoning_tags.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/repo.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/repomap.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/report.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/model-settings-condensed.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/resources/model-settings.yml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/run_cmd.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/scrape.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/sendchat.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/signals.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/special.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tests/test_queue_commands.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/_yield.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/command.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/delegate.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/edit_file.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/explore_code.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_branch.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_diff.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_log.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_remote.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_show.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/git_status.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/ls.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/orchestrate.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/replace_facts.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/resource_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/search_facts.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/thinking.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/undo_change.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/update_todo_list.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/base_tool.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/helpers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/output.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/registry.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/utils/responses.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/validations/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tools/validations/validations.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/app.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/io.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/completion_bar.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/file_list.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/footer.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/input_area.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/input_container.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/key_hints.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/output_alt.bak +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/selectable_log.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/status_bar.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/widgets/subagent_pills.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/tui/worker.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/urls.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/utils.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/versioncheck.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/voice.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/waiting.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/watch.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/watch_prompts.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/blame.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/get-started.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/help-tip.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/help.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/install.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/keys.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/model-warnings.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/multi-line.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/python-m-aider.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/recording.css +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/recording.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_includes/works-best.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_features.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_footer.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_hero.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_info.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_layout.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_reset.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_testimonials.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_typography.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/_variables.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/custom/custom.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/_sass/global-overrides.scss +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docmd.config.json +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/cecli-temp-logo-favicon.svg +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/adv-model-settings.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/agent-mode.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/api-keys.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/api.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/conf.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/custom-commands.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/custom-system-prompts.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/dotenv.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/editor.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/hooks.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/mcp.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/model-aliases.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/model-configuration.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/model-providers.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/options.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/persistent-memory.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/reasoning.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/retries.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/security.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/skills.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/subagents.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/tui.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config/workspaces.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/config.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/git.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/index.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/install/docker.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/install.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/languages.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/legal/contributor-agreement.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/legal/privacy.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/anthropic.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/azure.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/bedrock.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/cohere.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/deepseek.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/gemini.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/github.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/groq.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/lm-studio.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/ollama.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/openai-compat.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/openai.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/opencode-go.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/openrouter.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/other.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/vertex.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/warnings.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms/xai.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/llms.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/more/analytics.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/more/edit-formats.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/more/infinite-output.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/more-info.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/repomap.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/scripting.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/imports.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/support.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting/warnings.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/troubleshooting.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/commands.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/conventions.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/copypaste.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/images-urls.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/lint-test.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/modes.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/not-code.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/notifications.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/optional.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/sessions.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/tips.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/voice.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage/watch.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/docs/usage.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/package-lock.json +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/package.json +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli/website/share/index.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/dependency_links.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/entry_points.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/requires.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/cecli_dev.egg-info/top_level.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/docker/Dockerfile +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/pyproject.toml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/pytest.ini +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/common-constraints.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-dev.in +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-dev.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-help.in +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-help.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-playwright.in +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements-playwright.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/requirements.in +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements/tree-sitter.in +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/requirements.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/30k-image.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/blame.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/clean_metadata.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/compare-message-history.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/condense_model_settings.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/cost_analyzer.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/cost_calculator.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/dl_icons.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/docmd_build.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/filter-chat-mode.js +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/generate_providers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/get_contributor_list.js +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/get_hashline.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/history_prompts.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/homepage.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/issues.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/logo_svg.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/optimize_tokens.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/pip-compile.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/recording_audio.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/redact-cast.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/rename_to_cecli.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/tmux_record.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/tsl_pack_langs.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/update-blame.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/update-docs.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/update-history.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/versionbump.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/scripts/yank-old-versions.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/setup.cfg +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/shim.pyproject.toml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/conftest.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_agent_config_merge.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_aws_credentials.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_background_commands.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_commands.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_custom_commands.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_deprecated.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_editblock.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_editor.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_exceptions.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_file_system_service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_find_or_blocks.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_hashline.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_hashline_closure.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_history.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_io.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_linter.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_main.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_model_info_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_model_provider_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_models.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_onboarding.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_plugin_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_prompts.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_reasoning.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_repo.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_repomap.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_run_cmd.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_sanity_check_repo.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_scripting.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_select_selector.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_sendchat.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_session_args.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_session_crypto.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_skills.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_special.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_spinner.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_ssl_verification.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_udiff.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_urls.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_voice.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_watch.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/basic/test_wholefile.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/coders/test_coder_switching.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/coders/test_copypaste_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/coders/test_rate_limit.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/coders/test_tool_call_consolidation.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_auto_memory.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_compaction.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_remove_memory.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_search_memory.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_switch_agent.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_voice.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/commands/test_workspace.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/conftest.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/conversations/test_background_command_injection.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/conversations/test_conversation_integration.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/conversations/test_conversation_system.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/chat-history.md +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/arduino/test.ino +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/bash/test.sh +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/c/test.c +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/chatito/test.chatito +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/clojure/test.clj +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/cpp/test.cpp +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/csharp/test.cs +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/d/test.d +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/dart/test.dart +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/elisp/test.el +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/elixir/test.ex +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/elm/test.elm +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/gleam/test.gleam +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/go/test.go +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/haskell/test.hs +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/hcl/test.tf +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/java/test.java +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/javascript/test.js +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/kotlin/test.kt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/lua/test.lua +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/matlab/test.m +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/ocaml/test.ml +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/php/test.php +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/pony/test.pony +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/properties/test.properties +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/python/test.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/ql/test.ql +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/r/test.r +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/racket/test.rkt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/ruby/test.rb +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/rust/test.rs +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/scala/test.scala +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/solidity/test.sol +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/swift/test.swift +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/tsx/test.tsx +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/typescript/test.ts +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/udev/test.rules +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/languages/zig/test.zig +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/sample-code-base/sample.js +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/sample-code-base/sample.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/watch.js +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/watch.lisp +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/watch.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/fixtures/watch_question.js +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/help/test_help.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/observations/test_observation_service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/test_bridge.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/test_dispatch.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/test_models.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/server/acp/test_protocol.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_api_base.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_aws_sigv4.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_cache_control.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_gemini_auth.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_github_copilot_auth.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_hyperscalers.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_messages_stream.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_messages_wire.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_mistral_adapter.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_mistral_provider.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_providers_json.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_reasoning_config.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_reasoning_extract.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_reasoning_summaries.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_llms_vision.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_loop_detect.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_memory_control.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_model_config.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_onboarding.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/test_skills_importer.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/conftest.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/test_config.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/test_paths.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/test_subagents.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/helpers/workspaces/test_workspace_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/hooks/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/hooks/test_base.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/hooks/test_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/hooks/test_registry.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/integration/test_agent_mcp_management.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/integration/test_config_loading.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/integration/test_mcp_management.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/conftest.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/mock_server.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_concurrency.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_config.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_integration.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_logging.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_resilience.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_keepalive_unit.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_manager.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_manager_retry.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/mcp/test_server_name_normalization.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/scrape/test_playwright_disable.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/scrape/test_scrape.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/__init__.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/conftest.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_commands.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_config.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_delegate.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_finished.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_io_proxy.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_service.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/subagents/test_sub_agent_coder.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/test_requests.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_command_format_output.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_command_timeout_paging.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_edit_file_format_output.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_extractions.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_get_lines.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_git_branch.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_git_diff.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_insert_block.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_read_range_execute.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_registry.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_remove_mcp_tool.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_resource_manager_paging.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_tool_arguments.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/test_tools_load_mcp_tool.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tools/validations.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tui/test_app.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/tui/test_completion_bar.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/conftest.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_deep_merge.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_edge_cases.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_load_mcp.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_performance.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_queues.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_remove_mcp.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_retry_backoff.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_shallow_merge.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_signals.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_unit_load_mcp_tool.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
- {cecli_dev-1.6.0rc5 → cecli_dev-1.6.1}/tests/unit/test_ws_server.py +0 -0
|
@@ -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.6.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 6,
|
|
21
|
+
__version__ = version = '1.6.1'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 6, 1)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'ge49b18e26'
|
|
@@ -46,6 +46,7 @@ from cecli.helpers.loop_detect import LoopDetectedError, LoopDetector
|
|
|
46
46
|
from cecli.helpers.memory_control import trim_memory
|
|
47
47
|
from cecli.helpers.observations.service import ObservationService
|
|
48
48
|
from cecli.helpers.profiler import TokenProfiler
|
|
49
|
+
from cecli.helpers.sessions import SessionManager
|
|
49
50
|
from cecli.helpers.threading import ThreadSafeEvent
|
|
50
51
|
from cecli.history import ChatSummary
|
|
51
52
|
from cecli.hooks import HookIntegration
|
|
@@ -64,7 +65,6 @@ from cecli.repo import ANY_GIT_ERROR, GitRepoProxy
|
|
|
64
65
|
from cecli.repomap import RepoMap
|
|
65
66
|
from cecli.report import update_error_prefix
|
|
66
67
|
from cecli.run_cmd import run_cmd_async
|
|
67
|
-
from cecli.sessions import SessionManager
|
|
68
68
|
from cecli.tools.utils.output import print_tool_response
|
|
69
69
|
from cecli.tools.utils.registry import ToolRegistry
|
|
70
70
|
from cecli.utils import copy_tool_call, format_tokens, is_image_file
|
|
@@ -5234,6 +5234,7 @@ class Coder(metaclass=UsageMeta):
|
|
|
5234
5234
|
session_manager.save_session,
|
|
5235
5235
|
getattr(self.args, "auto_save_session_name", "auto-save"),
|
|
5236
5236
|
False,
|
|
5237
|
+
True,
|
|
5237
5238
|
)
|
|
5238
5239
|
except Exception:
|
|
5239
5240
|
# Don't show errors for auto-save to avoid interrupting the user experience
|
|
@@ -11,7 +11,7 @@ class ListSessionsCommand(BaseCommand):
|
|
|
11
11
|
@classmethod
|
|
12
12
|
async def execute(cls, io, coder, args, **kwargs):
|
|
13
13
|
"""Execute the list-sessions command with given parameters."""
|
|
14
|
-
from cecli import sessions
|
|
14
|
+
from cecli.helpers import sessions
|
|
15
15
|
|
|
16
16
|
session_manager = sessions.SessionManager(coder, io)
|
|
17
17
|
sessions_list = session_manager.list_sessions()
|
|
@@ -15,7 +15,7 @@ class LoadSessionCommand(BaseCommand):
|
|
|
15
15
|
io.tool_output("Usage: /load-session <session-name>")
|
|
16
16
|
return format_command_result(io, "load-session", "No session name provided")
|
|
17
17
|
|
|
18
|
-
from cecli import sessions
|
|
18
|
+
from cecli.helpers import sessions
|
|
19
19
|
|
|
20
20
|
session_manager = sessions.SessionManager(coder, io)
|
|
21
21
|
await session_manager.load_session(args.strip())
|
|
@@ -26,7 +26,7 @@ class LoadSessionCommand(BaseCommand):
|
|
|
26
26
|
def get_completions(cls, io, coder, args) -> List[str]:
|
|
27
27
|
"""Get completion options for load-session command."""
|
|
28
28
|
# Return available session names for completion
|
|
29
|
-
from cecli import sessions
|
|
29
|
+
from cecli.helpers import sessions
|
|
30
30
|
|
|
31
31
|
session_manager = sessions.SessionManager(coder, io)
|
|
32
32
|
sessions_list = session_manager.list_sessions()
|
|
@@ -41,7 +41,10 @@ class LoadSessionCommand(BaseCommand):
|
|
|
41
41
|
help_text += "\nExamples:\n"
|
|
42
42
|
help_text += " /load-session my-feature # Load session 'my-feature'\n"
|
|
43
43
|
help_text += " /load-session bug-fix # Load session 'bug-fix'\n"
|
|
44
|
-
help_text +=
|
|
44
|
+
help_text += (
|
|
45
|
+
"\nSessions are loaded from the .cecli/sessions/ directory. Loading a session"
|
|
46
|
+
" also restores any sub-agents saved with it.\n"
|
|
47
|
+
)
|
|
45
48
|
help_text += (
|
|
46
49
|
"Use /list-sessions to see saved sessions and /save-session to save a session.\n"
|
|
47
50
|
)
|
|
@@ -15,7 +15,7 @@ class SaveSessionCommand(BaseCommand):
|
|
|
15
15
|
io.tool_error("Please provide a session name to save.")
|
|
16
16
|
return format_command_result(io, "save-session", "No session name provided")
|
|
17
17
|
|
|
18
|
-
from cecli import sessions
|
|
18
|
+
from cecli.helpers import sessions
|
|
19
19
|
|
|
20
20
|
session_manager = sessions.SessionManager(coder, io)
|
|
21
21
|
session_manager.save_session(args.strip())
|
|
@@ -26,7 +26,7 @@ class SaveSessionCommand(BaseCommand):
|
|
|
26
26
|
def get_completions(cls, io, coder, args) -> List[str]:
|
|
27
27
|
"""Get completion options for save-session command."""
|
|
28
28
|
# Return existing session names for completion to prevent accidental overwrites
|
|
29
|
-
from cecli import sessions
|
|
29
|
+
from cecli.helpers import sessions
|
|
30
30
|
|
|
31
31
|
session_manager = sessions.SessionManager(coder, io)
|
|
32
32
|
sessions_list = session_manager.list_sessions()
|
|
@@ -42,6 +42,10 @@ class SaveSessionCommand(BaseCommand):
|
|
|
42
42
|
help_text += " /save-session my-feature # Save session as 'my-feature'\n"
|
|
43
43
|
help_text += " /save-session bug-fix # Save session as 'bug-fix'\n"
|
|
44
44
|
help_text += "\nSessions are saved in the .cecli/sessions/ directory as JSON files.\n"
|
|
45
|
+
help_text += (
|
|
46
|
+
"When the session has sub-agents it is saved as a folder holding the primary"
|
|
47
|
+
" and each sub-agent payload.\n"
|
|
48
|
+
)
|
|
45
49
|
help_text += "Use /list-sessions to see saved sessions and /load-session to load them.\n"
|
|
46
50
|
help_text += (
|
|
47
51
|
"\nNote: Existing session names will be shown for tab completion to help prevent"
|
|
@@ -297,7 +297,7 @@ def apply_contextual_marker(
|
|
|
297
297
|
range_end: str,
|
|
298
298
|
num_lines: int,
|
|
299
299
|
) -> tuple[list[int], list[int]]:
|
|
300
|
-
"""Expand range using @C
|
|
300
|
+
"""Expand range using @C<num>, @P<num>, or @N<num> contextual markers.
|
|
301
301
|
|
|
302
302
|
Requires exactly one start match. Raises ValueError when the number
|
|
303
303
|
of start matches is not 1 (the caller is expected to format the error
|
|
@@ -333,7 +333,9 @@ def _closest_provider_match(sources, provider, route):
|
|
|
333
333
|
|
|
334
334
|
Raw sources are enumerated via a lightweight top-level key scan (a string
|
|
335
335
|
pass, never a full parse) and only ``provider/``-prefixed keys are parsed
|
|
336
|
-
for scoring, so the fallback stays memory friendly.
|
|
336
|
+
for scoring, so the fallback stays memory friendly. A candidate with no
|
|
337
|
+
shared leading characters is not a match: returning it would let an
|
|
338
|
+
unrelated route inherit an arbitrary sibling record's wire mode.
|
|
337
339
|
"""
|
|
338
340
|
if not provider:
|
|
339
341
|
return None
|
|
@@ -376,7 +378,7 @@ def _closest_provider_match(sources, provider, route):
|
|
|
376
378
|
best_score = score
|
|
377
379
|
best = record
|
|
378
380
|
|
|
379
|
-
return best
|
|
381
|
+
return best if best_score > 0 else None
|
|
380
382
|
|
|
381
383
|
|
|
382
384
|
def _prefix_score(left, right):
|
|
@@ -399,6 +399,10 @@ class ModelProviderManager:
|
|
|
399
399
|
)
|
|
400
400
|
response.raise_for_status()
|
|
401
401
|
return response.json()
|
|
402
|
+
except requests.exceptions.ConnectionError:
|
|
403
|
+
# Unreachable endpoint (e.g. no local Ollama server at
|
|
404
|
+
# localhost:11434): stay silent and contribute no models.
|
|
405
|
+
return None
|
|
402
406
|
except Exception as ex:
|
|
403
407
|
print(f"Failed to fetch {provider} model list: {ex}")
|
|
404
408
|
return None
|
|
@@ -89,10 +89,27 @@ class AgentProxy:
|
|
|
89
89
|
self._coder,
|
|
90
90
|
mcp_server=server,
|
|
91
91
|
mcp_tool_name=schema_name,
|
|
92
|
+
tool_schema=tool_schema,
|
|
92
93
|
)
|
|
93
94
|
|
|
94
95
|
raise ValueError(f"Unknown tool: '{tool_name}'")
|
|
95
96
|
|
|
97
|
+
def get_tool_schema(self, tool_name: str) -> dict[str, Any] | None:
|
|
98
|
+
"""Return a copy of the full function-calling schema for a tool.
|
|
99
|
+
|
|
100
|
+
Returns ``None`` when the tool has no schema. Unknown or disallowed
|
|
101
|
+
tools raise the same errors as ``get_tool``.
|
|
102
|
+
"""
|
|
103
|
+
return self.get_tool(tool_name).get_schema()
|
|
104
|
+
|
|
105
|
+
def get_tool_signature(self, tool_name: str) -> str | None:
|
|
106
|
+
"""Return a readable Python-style call signature for a tool.
|
|
107
|
+
|
|
108
|
+
Optional parameters without a declared default use ``...`` to show
|
|
109
|
+
that they may be omitted without implying a value such as ``None``.
|
|
110
|
+
"""
|
|
111
|
+
return self.get_tool(tool_name).get_signature()
|
|
112
|
+
|
|
96
113
|
def _find_mcp_server(self, server_name: str, server_prefix: str) -> Any:
|
|
97
114
|
if not hasattr(self._coder, "mcp_manager") or not self._coder.mcp_manager:
|
|
98
115
|
return None
|
|
@@ -547,7 +547,7 @@ def build_orchestration_context_block(agent_config: dict[str, Any]) -> str | Non
|
|
|
547
547
|
context = """<context name="orchestration" from="agent">
|
|
548
548
|
The `Orchestrate` tool runs Python in a sandbox where you can script other tools programmatically.
|
|
549
549
|
Use it for batch, loop-heavy, and repeat-able workflows.
|
|
550
|
-
|
|
550
|
+
The sandbox is stateless between calls — variables don't persist. To carry values across calls, use `state` (per-agent) or `shared_state` (cross-agent).
|
|
551
551
|
You may need to explore the below primitives to understand how to use the sandbox effectively.
|
|
552
552
|
|
|
553
553
|
### Primitives
|
|
@@ -556,11 +556,13 @@ You may need to explore the below primitives to understand how to use the sandbo
|
|
|
556
556
|
|-----------|--------------|
|
|
557
557
|
| `Agent.allowed_methods()` / `Agent.allowed_tools()` | List helper methods and available tools |
|
|
558
558
|
| `Agent.get_tool(name)` | Get a tool proxy (case-insensitive; `Local--` / `{{Server Name}}--` prefixes ok) |
|
|
559
|
+
| `Agent.get_tool_schema(name)` | Return a copy of the full function-calling JSON schema |
|
|
560
|
+
| `Agent.get_tool_signature(name)` | Return a readable Python-style signature; optional params without defaults appear as `= ...` |
|
|
559
561
|
| `await tool.call(**params)` | Run a tool; returns `{"result": [...], "errors": [...], "details": [...]}`, items with shape `{"content", "_"}` |
|
|
560
562
|
| `Agent.peek(result)` / `Agent.get_value(result, path, default?)` | Inspect / extract values from tool results. path is dot-separated string |
|
|
561
563
|
| `Agent.resolve_regions(path, specs)` / `Agent.edit_region(path, edits)` | Resolve text boundaries once, then apply edits |
|
|
562
564
|
| `gather(**tasks)` | Run tasks concurrently; results expose `.key` and `["key"]` |
|
|
563
|
-
| `state` / `shared_state` | Persistent dicts; `state.get(k)` falls back to `shared_state
|
|
565
|
+
| `state` / `shared_state` | Persistent dicts that survive between Orchestrate calls; `state.get(k)` falls back to `shared_state`. Use these for anything you need to reuse in a later call |
|
|
564
566
|
| `print(...)` / `reset(local_vars=True, state=False)` | Emit output / clear namespaces |
|
|
565
567
|
| `typeof(x)`, `isinstance(x, t)`, `hasattr(x, n)`, `repr(x)`, `vars(obj)` | Type inspection and debugging |
|
|
566
568
|
|
|
@@ -12,6 +12,7 @@ import json
|
|
|
12
12
|
import pathlib
|
|
13
13
|
import re as _re_mod
|
|
14
14
|
import traceback as _tb_mod
|
|
15
|
+
from collections.abc import Mapping
|
|
15
16
|
from typing import Any
|
|
16
17
|
|
|
17
18
|
# ---------------------------------------------------------------------------
|
|
@@ -139,12 +140,12 @@ async def _safe_sleep(seconds: float) -> None:
|
|
|
139
140
|
await asyncio.sleep(seconds)
|
|
140
141
|
|
|
141
142
|
|
|
142
|
-
class GatherResult:
|
|
143
|
-
"""
|
|
143
|
+
class GatherResult(Mapping[str, Any]):
|
|
144
|
+
"""Read-only mapping of named ``gather()`` task results.
|
|
144
145
|
|
|
145
|
-
Supports
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
Supports standard mapping access (``results["task"]``, iteration over
|
|
147
|
+
keys, and ``keys()``, ``values()``, and ``items()``) plus attribute access
|
|
148
|
+
as a convenience. Use key access when task names may collide with methods.
|
|
148
149
|
"""
|
|
149
150
|
|
|
150
151
|
def __init__(self, results: dict[str, Any]) -> None:
|
|
@@ -192,7 +193,7 @@ class GatherResult:
|
|
|
192
193
|
|
|
193
194
|
def __iter__(self):
|
|
194
195
|
results = object.__getattribute__(self, "_results")
|
|
195
|
-
return iter(results
|
|
196
|
+
return iter(results)
|
|
196
197
|
|
|
197
198
|
def keys(self) -> Any:
|
|
198
199
|
results = object.__getattribute__(self, "_results")
|
|
@@ -225,12 +226,12 @@ async def _safe_gather(*args: Any, **named_awaitables: Any):
|
|
|
225
226
|
Safely execute multiple awaitables concurrently.
|
|
226
227
|
|
|
227
228
|
All awaitables must be passed as keyword arguments. Results are returned
|
|
228
|
-
as a ``GatherResult`` with attribute
|
|
229
|
+
as a ``GatherResult`` mapping with attribute access as a convenience:
|
|
229
230
|
|
|
230
231
|
results = await gather(read_a=task_a, grep_b=task_b)
|
|
231
|
-
print(results
|
|
232
|
-
print(results
|
|
233
|
-
|
|
232
|
+
print(results["read_a"]) # canonical mapping access
|
|
233
|
+
print(results.grep_b) # attribute convenience
|
|
234
|
+
list(results) # task names
|
|
234
235
|
|
|
235
236
|
Forces ``return_exceptions=True`` so that failures in one task
|
|
236
237
|
do not crash the entire batch. Exceptions are converted to
|
|
@@ -9,6 +9,7 @@ from __future__ import annotations
|
|
|
9
9
|
|
|
10
10
|
import asyncio
|
|
11
11
|
import json
|
|
12
|
+
from copy import deepcopy
|
|
12
13
|
from typing import Any
|
|
13
14
|
|
|
14
15
|
|
|
@@ -63,6 +64,7 @@ class ToolProxy:
|
|
|
63
64
|
tool_module: Any = None,
|
|
64
65
|
mcp_server: Any = None,
|
|
65
66
|
mcp_tool_name: str = "",
|
|
67
|
+
tool_schema: dict[str, Any] | None = None,
|
|
66
68
|
) -> None:
|
|
67
69
|
# Respect the per-coder tool includelist/excludelist filters
|
|
68
70
|
incl = getattr(coder, "registered_tools", {}).get("included", set())
|
|
@@ -78,6 +80,16 @@ class ToolProxy:
|
|
|
78
80
|
self._tool_module = tool_module
|
|
79
81
|
self._mcp_server = mcp_server
|
|
80
82
|
self._mcp_tool_name = mcp_tool_name
|
|
83
|
+
self._tool_schema = (
|
|
84
|
+
tool_schema if tool_schema is not None else getattr(tool_module, "SCHEMA", None)
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
def get_schema(self) -> dict[str, Any] | None:
|
|
88
|
+
"""Return a deep copy of this tool's JSON schema, if available."""
|
|
89
|
+
if not isinstance(self._tool_schema, dict):
|
|
90
|
+
return None
|
|
91
|
+
|
|
92
|
+
return deepcopy(self._tool_schema)
|
|
81
93
|
|
|
82
94
|
async def __call__(self, *args: Any, **kwargs: Any):
|
|
83
95
|
"""Make the proxy directly callable.
|
|
@@ -131,12 +143,79 @@ class ToolProxy:
|
|
|
131
143
|
|
|
132
144
|
return await self.call(**kwargs)
|
|
133
145
|
|
|
146
|
+
def get_signature(self) -> str | None:
|
|
147
|
+
"""Return a readable Python-style signature based on the JSON schema.
|
|
148
|
+
|
|
149
|
+
Type annotations are best-effort summaries; use the schema for exact
|
|
150
|
+
constraints. Optional parameters without defaults display as ``...``.
|
|
151
|
+
"""
|
|
152
|
+
schema = self._tool_schema
|
|
153
|
+
if not isinstance(schema, dict):
|
|
154
|
+
return None
|
|
155
|
+
|
|
156
|
+
function = schema.get("function", {})
|
|
157
|
+
if not isinstance(function, dict):
|
|
158
|
+
return None
|
|
159
|
+
|
|
160
|
+
parameters = function.get("parameters", {})
|
|
161
|
+
if not isinstance(parameters, dict):
|
|
162
|
+
return None
|
|
163
|
+
|
|
164
|
+
properties = parameters.get("properties", {})
|
|
165
|
+
if not isinstance(properties, dict):
|
|
166
|
+
return None
|
|
167
|
+
|
|
168
|
+
required = parameters.get("required", [])
|
|
169
|
+
required = set(required) if isinstance(required, list) else set()
|
|
170
|
+
signature_parameters = []
|
|
171
|
+
for name, property_schema in properties.items():
|
|
172
|
+
annotation = self._python_type_name(property_schema)
|
|
173
|
+
parameter = f"{name}: {annotation}"
|
|
174
|
+
if name not in required:
|
|
175
|
+
if isinstance(property_schema, dict) and "default" in property_schema:
|
|
176
|
+
parameter += f" = {property_schema['default']!r}"
|
|
177
|
+
else:
|
|
178
|
+
parameter += " = ..."
|
|
179
|
+
signature_parameters.append(parameter)
|
|
180
|
+
|
|
181
|
+
function_name = function.get("name") or self._tool_name
|
|
182
|
+
if signature_parameters:
|
|
183
|
+
return f"{function_name}(*, {', '.join(signature_parameters)})"
|
|
184
|
+
return f"{function_name}()"
|
|
185
|
+
|
|
186
|
+
@staticmethod
|
|
187
|
+
def _python_type_name(schema: Any) -> str:
|
|
188
|
+
"""Render common JSON Schema types as readable Python type names."""
|
|
189
|
+
if not isinstance(schema, dict):
|
|
190
|
+
return "Any"
|
|
191
|
+
|
|
192
|
+
schema_type = schema.get("type")
|
|
193
|
+
if isinstance(schema_type, list):
|
|
194
|
+
type_names = [ToolProxy._python_type_name({"type": item}) for item in schema_type]
|
|
195
|
+
return " | ".join(type_names)
|
|
196
|
+
|
|
197
|
+
type_names = {
|
|
198
|
+
"array": "list",
|
|
199
|
+
"boolean": "bool",
|
|
200
|
+
"integer": "int",
|
|
201
|
+
"number": "float",
|
|
202
|
+
"null": "None",
|
|
203
|
+
"object": "dict",
|
|
204
|
+
"string": "str",
|
|
205
|
+
}
|
|
206
|
+
if schema_type in type_names:
|
|
207
|
+
return type_names[schema_type]
|
|
208
|
+
|
|
209
|
+
alternatives = schema.get("anyOf") or schema.get("oneOf")
|
|
210
|
+
if isinstance(alternatives, list):
|
|
211
|
+
return " | ".join(ToolProxy._python_type_name(item) for item in alternatives)
|
|
212
|
+
|
|
213
|
+
return "Any"
|
|
214
|
+
|
|
134
215
|
def _get_param_names(self) -> list:
|
|
135
|
-
"""Extract
|
|
136
|
-
if self._tool_module is None:
|
|
137
|
-
return []
|
|
216
|
+
"""Extract parameter names in schema order for positional calls."""
|
|
138
217
|
try:
|
|
139
|
-
props = self.
|
|
218
|
+
props = self._tool_schema["function"]["parameters"]["properties"]
|
|
140
219
|
return list(props.keys())
|
|
141
220
|
except (KeyError, TypeError, AttributeError):
|
|
142
221
|
return []
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"""Session persistence helpers.
|
|
2
|
+
|
|
3
|
+
The session concerns are split into focused modules so each one stays readable:
|
|
4
|
+
|
|
5
|
+
* ``layout`` - where session payloads live on disk (single files, folder
|
|
6
|
+
bundles, and the ``s/`` tree used for sub-agents).
|
|
7
|
+
* ``storage`` - reading/writing payload files and reference documents, including
|
|
8
|
+
optional encryption.
|
|
9
|
+
* ``payload`` - serialising a coder's state into a payload and applying a
|
|
10
|
+
payload back onto a coder.
|
|
11
|
+
* ``subagents`` - detecting, saving, and resolving the sub-agents that belong to
|
|
12
|
+
a session.
|
|
13
|
+
* ``manager`` - :class:`SessionManager`, the facade that ties the above together
|
|
14
|
+
for save/list/load.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
from .layout import SESSION_REFERENCE_TYPE
|
|
18
|
+
from .manager import SessionManager
|
|
19
|
+
|
|
20
|
+
__all__ = ["SessionManager", "SESSION_REFERENCE_TYPE"]
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"""On-disk layout for saved sessions.
|
|
2
|
+
|
|
3
|
+
Two shapes are supported:
|
|
4
|
+
|
|
5
|
+
* a single ``{name}.json`` file (optionally a reference document pointing at an
|
|
6
|
+
auto-save payload held in a coder's agent folder), and
|
|
7
|
+
* a ``{name}/`` folder bundle holding ``primary.json`` plus an ``s/`` tree of
|
|
8
|
+
sub-agent ``agent.json`` payloads.
|
|
9
|
+
|
|
10
|
+
Sub-agent payloads always live in an ``s/{child}/`` directory beside the primary
|
|
11
|
+
payload. That lets the same discovery logic cover auto-save payloads (which use
|
|
12
|
+
``s/{uuid}/{session}.json``) and folder bundles (``s/{child}/agent.json``).
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
import os
|
|
18
|
+
from pathlib import Path
|
|
19
|
+
from typing import Dict, List, Tuple
|
|
20
|
+
|
|
21
|
+
SESSION_REFERENCE_TYPE = "session-reference"
|
|
22
|
+
PRIMARY_PAYLOAD_NAME = "primary.json"
|
|
23
|
+
SUB_AGENT_PAYLOAD_NAME = "agent.json"
|
|
24
|
+
SUB_AGENT_DIR_NAME = "s"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def session_directory(coder) -> Path:
|
|
28
|
+
"""Return (and create) the coder's ``.cecli/sessions`` directory."""
|
|
29
|
+
session_dir = Path(coder.abs_root_path(".cecli/sessions"))
|
|
30
|
+
os.makedirs(session_dir, exist_ok=True)
|
|
31
|
+
|
|
32
|
+
return session_dir
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def entry_for(session_dir: Path, session_name: str) -> Path:
|
|
36
|
+
"""Return the canonical ``sessions/{name}.json`` file path."""
|
|
37
|
+
return session_dir / f"{session_name}.json"
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def bundle_dir(session_dir: Path, session_name: str) -> Path:
|
|
41
|
+
"""Return the ``sessions/{name}/`` folder bundle path."""
|
|
42
|
+
return session_dir / session_name
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def agent_payload_file(coder, session_name: str) -> Path:
|
|
46
|
+
"""Return the auto-save payload path inside the coder's agent folder."""
|
|
47
|
+
rel_path = coder.local_agent_folder(f"{session_name}.json")
|
|
48
|
+
|
|
49
|
+
return Path(coder.abs_root_path(rel_path))
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def sub_agents_dir(primary_payload: Path) -> Path:
|
|
53
|
+
"""Return the ``s/`` directory that owns a primary payload's sub-agents."""
|
|
54
|
+
return primary_payload.parent / SUB_AGENT_DIR_NAME
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def primary_payload_in(directory: Path) -> Path | None:
|
|
58
|
+
"""Return the primary payload inside a folder bundle, if present."""
|
|
59
|
+
candidate = directory / PRIMARY_PAYLOAD_NAME
|
|
60
|
+
|
|
61
|
+
return candidate if candidate.is_file() else None
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def payload_in_sub_dir(sub_dir: Path, primary_name: str) -> Path | None:
|
|
65
|
+
"""Return the payload held by one sub-agent directory.
|
|
66
|
+
|
|
67
|
+
Folder bundles name it ``agent.json``; auto-save payloads reuse the primary
|
|
68
|
+
payload's filename.
|
|
69
|
+
"""
|
|
70
|
+
candidate = sub_dir / SUB_AGENT_PAYLOAD_NAME
|
|
71
|
+
if candidate.is_file():
|
|
72
|
+
return candidate
|
|
73
|
+
|
|
74
|
+
candidate = sub_dir / primary_name
|
|
75
|
+
if candidate.is_file():
|
|
76
|
+
return candidate
|
|
77
|
+
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def sub_agent_payloads(primary_payload: Path) -> List[Path]:
|
|
82
|
+
"""Return every sub-agent payload stored beside ``primary_payload``."""
|
|
83
|
+
subs_dir = sub_agents_dir(primary_payload)
|
|
84
|
+
if not subs_dir.is_dir():
|
|
85
|
+
return []
|
|
86
|
+
|
|
87
|
+
payloads = []
|
|
88
|
+
for sub_dir in sorted(subs_dir.iterdir()):
|
|
89
|
+
if not sub_dir.is_dir():
|
|
90
|
+
continue
|
|
91
|
+
|
|
92
|
+
payload = payload_in_sub_dir(sub_dir, primary_payload.name)
|
|
93
|
+
if payload is not None:
|
|
94
|
+
payloads.append(payload)
|
|
95
|
+
|
|
96
|
+
return payloads
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def discover_entries(session_dir: Path) -> List[Tuple[str, Path]]:
|
|
100
|
+
"""Return ``(name, locator)`` for every saved session in ``session_dir``.
|
|
101
|
+
|
|
102
|
+
A locator is either a ``{name}.json`` file or a ``{name}/`` folder bundle;
|
|
103
|
+
callers resolve it to the payload file they need.
|
|
104
|
+
"""
|
|
105
|
+
entries: Dict[str, Path] = {}
|
|
106
|
+
for path in session_dir.iterdir():
|
|
107
|
+
if path.is_file() and path.suffix == ".json":
|
|
108
|
+
entries[path.stem] = path
|
|
109
|
+
elif path.is_dir() and primary_payload_in(path) is not None:
|
|
110
|
+
entries[path.name] = path
|
|
111
|
+
|
|
112
|
+
return sorted(entries.items())
|