cecli-dev 1.5.0rc9__tar.gz → 1.5.0rc11__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.5.0rc9 → cecli_dev-1.5.0rc11}/PKG-INFO +1 -1
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/_version.py +3 -3
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/domains/messages.py +20 -2
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/domains/responses.py +42 -7
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/formatters/thinking.py +17 -4
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/pipeline.py +7 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/base.py +20 -1
- cecli_dev-1.5.0rc11/cecli/helpers/llms/providers/mistral.py +81 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/agent.yml +5 -6
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/subagent.yml +6 -7
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/voice.py +7 -93
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli_dev.egg-info/PKG-INFO +1 -1
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli_dev.egg-info/SOURCES.txt +3 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli_dev.egg-info/scm_file_list.json +3 -0
- cecli_dev-1.5.0rc11/cecli_dev.egg-info/scm_version.json +8 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_voice.py +0 -36
- cecli_dev-1.5.0rc11/tests/helpers/test_llms_mistral_adapter.py +152 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_reasoning_config.py +26 -6
- cecli_dev-1.5.0rc11/tests/helpers/test_llms_reasoning_summaries.py +141 -0
- cecli_dev-1.5.0rc9/cecli_dev.egg-info/scm_version.json +0 -8
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.dockerignore +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.flake8 +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.gitattributes +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/ISSUE_TEMPLATE/issue.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/check_pypi_version.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/docker-build-test.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/docker-release.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/issues.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/pages.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/pre-commit.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/release.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/ubuntu-tests.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/windows-tests.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.github/workflows/windows_check_pypi_version.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.gitignore +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/.pre-commit-config.yaml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/CHANGELOG.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/CNAME +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/CONTRIBUTING.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/HISTORY.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/LICENSE.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/MANIFEST.in +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/README.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/Dockerfile +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/README.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/benchmark.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/benchmark_classic.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/clone-exercism.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/cpp-test.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/docker.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/docker_build.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/install-docker-ubuntu.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/npm-test.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/over_time.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/plot.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/plots.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/problem_stats.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/prompts.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/refactor_tools.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/rsync.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/rungrid.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/swe-bench-lite.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/swe-bench.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/swe_bench.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/test_benchmark.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/variations.1.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/variations.2.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/variations.3.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/benchmark/variations.4.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/__main__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/args.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/args_formatter.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/change_tracker.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/agent_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/architect_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/ask_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/base_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/chat_chunks.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/context_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/copypaste_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/editblock_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/editblock_fenced_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/editblock_func_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/editor_diff_fenced_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/editor_editblock_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/editor_whole_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/hashline_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/help_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/patch_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/search_replace.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/shell.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/single_wholefile_func_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/sub_agent_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/udiff_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/udiff_simple.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/wholefile_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/coders/wholefile_func_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/add.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/agent.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/agent_model.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/agent_tree.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/architect.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/ask.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/auto_memory.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/chat_mode.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/clear.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/code.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/command_prefix.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/commit.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/compact.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/context.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/context_blocks.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/context_management.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/copy.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/copy_context.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/core.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/diff.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/drop.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/editor.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/editor_model.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/exclude_skill.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/exit.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/git.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/hashline.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/help.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/history_search.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/hooks.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/hot_reload.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/import_skill.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/include_skill.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/insert_queue.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/lint.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/list_mcp.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/list_queue.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/list_sessions.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/list_skills.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/load.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/load_hook.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/load_mcp.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/load_session.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/load_skill.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/ls.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/map.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/map_refresh.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/merge.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/model.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/models.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/multiline_mode.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/paste.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/queue.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/quit.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/read_only.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/read_only_stub.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/reap_agent.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/reasoning_effort.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/remove_hook.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/remove_mcp.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/remove_memory.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/remove_queue.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/remove_skill.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/report.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/reset.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/rules.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/run.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/save.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/save_session.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/search_memory.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/settings.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/spawn_agent.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/switch_agent.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/terminal_data/linux.keytab +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/terminal_setup.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/test.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/think_tokens.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/tokens.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/undo.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/utils/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/utils/base_command.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/utils/helpers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/utils/registry.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/utils/save_load_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/voice.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/weak_model.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/web.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/commands/workspace.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/decoding.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/deprecated_args.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/diffs.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/dump.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/editor.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/exceptions.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/format_settings.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/help.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/help_pats.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/agents/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/agents/config.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/agents/defaults/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/agents/defaults/memorizer.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/agents/defaults/worker.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/agents/service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/background_commands.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/command_parser.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/command_queue.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/config_utils.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/conversation/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/conversation/base_message.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/conversation/files.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/conversation/integration.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/conversation/manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/conversation/service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/conversation/tags.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/conversation/utils.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/copypaste.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/coroutines.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/crypto.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/extensions/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/extensions/skills_importer.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/file_searcher.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/file_system/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/file_system/builders.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/file_system/ignore.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/file_system/ngram_index.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/file_system/service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/file_system/trie_index.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/grep_ast/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/grep_ast/dump.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/grep_ast/grep_ast.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/grep_ast/main.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/grep_ast/parsers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/grep_ast/tsl.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/hashline.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/hashpos/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/hashpos/hashpos.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/hashpos/hashpos.v1.bak +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/hashpos/transformations.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/io_proxy.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/leak_detect.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/aws_sigv4.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/config.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/domains/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/domains/bedrock.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/domains/chat.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/domains/gemini.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/formatters/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/formatters/reasoning.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/identifiers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/litellm_compat.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/anthropic.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/azure.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/bedrock.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/bedrock_mantle.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/deepseek.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/gemini.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/github_copilot.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/meta.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/openai.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/providers/openrouter.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/runtime.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/types.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/llms/utils.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/lock_detect.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/loop_detect.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/memory/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/memory/db.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/memory/utils.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/memory_control.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/agent.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/api.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/formatters/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/formatters/reasoning.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/formatters/thinking.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/identifiers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/llm.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/pipeline.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/registry.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_config/utils.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/model_providers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/nested.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/observations/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/observations/service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/onboarding/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/onboarding/app.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/onboarding/providers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/orchestration/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/orchestration/agent_proxy.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/orchestration/environment.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/orchestration/region_resolver.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/orchestration/safe_methods.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/orchestration/security.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/orchestration/service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/orchestration/tool_proxy.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/plugin_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/profiler.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/queues.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/requests.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/responses.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/server/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/server/acp/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/server/acp/bridge.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/server/acp/models.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/server/acp/protocol.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/server/signals.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/server/ws_server.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/similarity.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/skills.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/threading.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/workspaces/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/workspaces/config.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/workspaces/paths.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/workspaces/subagents.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/helpers/workspaces/workspace.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/history.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/hooks/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/hooks/base.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/hooks/helpers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/hooks/integration.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/hooks/manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/hooks/registry.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/hooks/service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/hooks/types.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/http.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/interruptible_input.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/io.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/linter.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/llm.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/main.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/mcp/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/mcp/manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/mcp/oauth.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/mcp/server.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/mcp/utils.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/mdstream.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/models.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/onboarding.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/architect.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/ask.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/base.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/context.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/copypaste.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/editblock.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/editblock_fenced.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/editblock_func.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/editor_diff_fenced.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/editor_editblock.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/editor_whole.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/hashline.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/help.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/patch.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/single_wholefile_func.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/udiff.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/udiff_simple.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/utils/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/utils/registry.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/utils/system.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/wholefile.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/prompts/wholefile_func.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/README.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/bash-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/clojure-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/matlab-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/README.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/bash-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/c-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/fortran-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/go-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/haskell-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/java-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/julia-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/matlab-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/php-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/python-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/queries/tree-sitter-languages/zig-tags.scm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/reasoning_tags.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/repo.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/repomap.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/report.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/resources/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/resources/model-metadata.ext.json +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/resources/model-metadata.json +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/resources/model-settings-condensed.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/resources/model-settings.yml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/resources/providers.json +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/run_cmd.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/scrape.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/sendchat.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/sessions.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/signals.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/special.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tests/test_queue_commands.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/_yield.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/broadcast.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/command.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/delegate.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/edit_file.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/explore_code.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/git_branch.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/git_diff.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/git_log.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/git_remote.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/git_show.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/git_status.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/grep.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/ls.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/orchestrate.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/read_file.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/replace_facts.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/resource_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/search_facts.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/thinking.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/undo_change.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/update_todo_list.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/utils/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/utils/base_tool.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/utils/helpers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/utils/output.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/utils/registry.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/utils/responses.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/validations/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tools/validations/validations.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/app.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/io.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/styles.tcss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/completion_bar.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/file_list.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/footer.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/input_area.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/input_container.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/key_hints.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/output.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/output_alt.bak +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/selectable_log.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/status_bar.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/widgets/subagent_pills.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/tui/worker.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/urls.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/utils.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/versioncheck.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/waiting.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/watch.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/watch_prompts.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/blame.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/get-started.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/help-tip.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/help.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/install.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/keys.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/model-warnings.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/multi-line.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/python-m-aider.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/recording.css +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/recording.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_includes/works-best.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_features.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_footer.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_hero.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_info.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_layout.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_reset.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_testimonials.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_typography.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/_variables.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/custom/custom.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/_sass/global-overrides.scss +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docmd.config.json +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/cecli-temp-logo-favicon.svg +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/adv-model-settings.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/agent-mode.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/api-keys.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/api.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/conf.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/custom-commands.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/custom-system-prompts.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/dotenv.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/editor.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/hooks.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/mcp.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/model-aliases.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/model-configuration.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/model-providers.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/options.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/persistent-memory.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/reasoning.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/retries.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/security.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/skills.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/subagents.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/tui.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config/workspaces.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/config.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/git.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/index.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/install/docker.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/install.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/languages.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/legal/contributor-agreement.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/legal/privacy.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/anthropic.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/azure.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/bedrock.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/cohere.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/deepseek.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/gemini.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/github.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/groq.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/lm-studio.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/ollama.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/openai-compat.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/openai.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/opencode-go.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/openrouter.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/other.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/vertex.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/warnings.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms/xai.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/llms.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/more/analytics.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/more/edit-formats.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/more/infinite-output.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/more-info.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/repomap.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/scripting.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/troubleshooting/cecli-not-found.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/troubleshooting/edit-errors.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/troubleshooting/imports.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/troubleshooting/models-and-keys.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/troubleshooting/support.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/troubleshooting/token-limits.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/troubleshooting/warnings.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/troubleshooting.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/commands.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/conventions.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/copypaste.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/images-urls.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/lint-test.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/modes.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/not-code.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/notifications.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/optional.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/sessions.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/tips.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/voice.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage/watch.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/docs/usage.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/package-lock.json +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/package.json +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli/website/share/index.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli_dev.egg-info/dependency_links.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli_dev.egg-info/entry_points.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli_dev.egg-info/requires.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/cecli_dev.egg-info/top_level.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/docker/Dockerfile +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/docker/Dockerfile.local.nvidia.cuda.ubuntu +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/pyproject.toml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/pytest.ini +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/common-constraints.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/requirements-dev.in +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/requirements-dev.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/requirements-help.in +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/requirements-help.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/requirements-playwright.in +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/requirements-playwright.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/requirements.in +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements/tree-sitter.in +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/requirements.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/30k-image.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/blame.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/clean_metadata.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/compare-message-history.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/condense_model_settings.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/cost_analyzer.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/cost_calculator.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/dl_icons.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/docmd_build.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/filter-chat-mode.js +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/generate_providers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/get_contributor_list.js +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/get_hashline.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/history_prompts.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/homepage.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/issues.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/logo_svg.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/optimize_tokens.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/pip-compile.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/recording_audio.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/redact-cast.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/rename_to_cecli.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/tmux_record.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/tsl_pack_langs.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/update-blame.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/update-docs.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/update-history.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/versionbump.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/scripts/yank-old-versions.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/setup.cfg +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/shim.pyproject.toml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/conftest.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_agent_config_merge.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_aws_credentials.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_background_commands.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_commands.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_custom_commands.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_deprecated.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_editblock.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_editor.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_exceptions.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_file_system_service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_find_or_blocks.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_hashline.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_hashline_closure.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_history.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_io.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_linter.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_main.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_model_info_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_model_provider_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_models.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_onboarding.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_plugin_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_prompts.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_reasoning.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_repo.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_repomap.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_run_cmd.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_sanity_check_repo.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_scripting.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_select_selector.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_sendchat.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_session_args.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_session_crypto.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_sessions.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_sessions_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_skills.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_special.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_spinner.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_ssl_verification.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_udiff.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_urls.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_watch.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/basic/test_wholefile.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/coders/test_coder_switching.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/coders/test_copypaste_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/coders/test_rate_limit.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/coders/test_tool_call_consolidation.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/commands/test_auto_memory.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/commands/test_compaction.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/commands/test_remove_memory.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/commands/test_search_memory.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/commands/test_switch_agent.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/commands/test_voice.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/commands/test_workspace.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/conftest.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/conversations/test_conversation_integration.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/conversations/test_conversation_system.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/chat-history-search-replace-gold.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/chat-history.md +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/arduino/test.ino +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/bash/test.sh +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/c/test.c +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/chatito/test.chatito +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/clojure/test.clj +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/commonlisp/test.lisp +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/cpp/test.cpp +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/csharp/test.cs +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/d/test.d +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/dart/test.dart +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/elisp/test.el +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/elixir/test.ex +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/elm/test.elm +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/gleam/test.gleam +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/go/test.go +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/haskell/test.hs +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/hcl/test.tf +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/java/test.java +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/javascript/test.js +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/kotlin/test.kt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/lua/test.lua +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/matlab/test.m +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/ocaml/test.ml +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/ocaml_interface/test.mli +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/php/test.php +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/pony/test.pony +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/properties/test.properties +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/python/test.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/ql/test.ql +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/r/test.r +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/racket/test.rkt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/ruby/test.rb +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/rust/test.rs +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/scala/test.scala +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/solidity/test.sol +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/swift/test.swift +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/tsx/test.tsx +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/typescript/test.ts +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/udev/test.rules +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/languages/zig/test.zig +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/sample-code-base/sample.js +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/sample-code-base/sample.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/sample-code-base-repo-map.txt +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/watch.js +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/watch.lisp +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/watch.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/fixtures/watch_question.js +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/help/test_help.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/observations/test_observation_service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/server/acp/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/server/acp/test_bridge.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/server/acp/test_dispatch.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/server/acp/test_models.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/server/acp/test_protocol.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_api_base.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_aws_sigv4.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_cache_control.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_gemini_auth.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_github_copilot_auth.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_hyperscalers.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_messages_stream.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_messages_wire.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_providers_json.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_reasoning_extract.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_llms_vision.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_loop_detect.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_memory_control.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_model_config.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_onboarding.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_orchestration.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/test_skills_importer.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/workspaces/conftest.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/workspaces/test_config.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/workspaces/test_paths.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/workspaces/test_subagents.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/helpers/workspaces/test_workspace_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/hooks/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/hooks/test_base.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/hooks/test_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/hooks/test_registry.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/integration/test_agent_mcp_management.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/integration/test_config_loading.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/integration/test_mcp_management.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/conftest.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/mock_server.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_keepalive_concurrency.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_keepalive_config.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_keepalive_integration.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_keepalive_logging.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_keepalive_resilience.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_keepalive_unit.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_manager.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_manager_retry.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_server_name_normalization.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/mcp/test_server_sdk_compat.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/scrape/test_playwright_disable.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/scrape/test_scrape.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/__init__.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/conftest.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/test_commands.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/test_config.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/test_delegate.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/test_finished.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/test_io_proxy.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/test_service.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/subagents/test_sub_agent_coder.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/test_requests.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_command_format_output.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_command_timeout_paging.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_edit_file_format_output.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_extractions.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_get_lines.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_git_branch.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_git_diff.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_grep.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_insert_block.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_read_range_execute.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_registry.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_remove_mcp_tool.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_resource_manager_paging.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_tool_arguments.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/test_tools_load_mcp_tool.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tools/validations.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tui/test_app.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/tui/test_completion_bar.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/conftest.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_deep_merge.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_edge_cases.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_load_mcp.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_performance.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_queues.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_remove_mcp.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_retry_backoff.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_shallow_merge.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_signals.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_unit_load_mcp_tool.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/tests/unit/test_unit_remove_mcp_tool.py +0 -0
- {cecli_dev-1.5.0rc9 → cecli_dev-1.5.0rc11}/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.5.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 5, 0, '
|
|
21
|
+
__version__ = version = '1.5.0rc11'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 5, 0, 'rc11')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'ga6e9f7b32'
|
|
@@ -315,7 +315,15 @@ async def anthropic_stream(
|
|
|
315
315
|
ordered = [blocks[key] for key in sorted(blocks)]
|
|
316
316
|
|
|
317
317
|
if ordered:
|
|
318
|
-
|
|
318
|
+
provider_fields: Dict[str, Any] = {"anthropic": ordered}
|
|
319
|
+
|
|
320
|
+
if any(
|
|
321
|
+
b.get("type") == "thinking" and (b.get("thinking") or "").strip()
|
|
322
|
+
for b in ordered
|
|
323
|
+
):
|
|
324
|
+
provider_fields["use_thinking_summaries"] = True
|
|
325
|
+
|
|
326
|
+
chunk.provider_specific_fields = provider_fields
|
|
319
327
|
|
|
320
328
|
yield chunk
|
|
321
329
|
|
|
@@ -379,6 +387,12 @@ def normalize_anthropic_response(data: Dict[str, Any], model: str) -> Completion
|
|
|
379
387
|
|
|
380
388
|
provider_fields = {"anthropic": blocks} if blocks else {}
|
|
381
389
|
|
|
390
|
+
if any(b.get("type") == "thinking" and (b.get("thinking") or "").strip() for b in blocks):
|
|
391
|
+
# The assistant turn carries a readable thinking summary; mark it so the
|
|
392
|
+
# replay path can strip the summary text (keeping the signature) and keep
|
|
393
|
+
# the cached prefix stable across turns.
|
|
394
|
+
provider_fields["use_thinking_summaries"] = True
|
|
395
|
+
|
|
382
396
|
pm = PartsMessage(role="assistant", parts=parts, provider_metadata=provider_fields)
|
|
383
397
|
message = parts_message_to_message(pm)
|
|
384
398
|
|
|
@@ -554,7 +568,11 @@ def _anthropic_message_content(msg: Dict[str, Any]) -> Optional[List[Dict[str, A
|
|
|
554
568
|
content.append({"type": "text", "text": block.get("text") or ""})
|
|
555
569
|
|
|
556
570
|
elif btype == "thinking":
|
|
557
|
-
|
|
571
|
+
# Summary text is display-only; strip it on replay (keeping the
|
|
572
|
+
# signature, which carries the encrypted chain-of-thought for
|
|
573
|
+
# continuity) so prior-turn reasoning doesn't churn the cached prefix.
|
|
574
|
+
thinking = "" if psf.get("use_thinking_summaries") else block.get("thinking") or ""
|
|
575
|
+
entry: Dict[str, Any] = {"type": "thinking", "thinking": thinking}
|
|
558
576
|
|
|
559
577
|
if block.get("signature"):
|
|
560
578
|
entry["signature"] = block["signature"]
|
|
@@ -58,13 +58,22 @@ def responses_payload(
|
|
|
58
58
|
payload["tools"] = [responses_tool(t) for t in tools]
|
|
59
59
|
|
|
60
60
|
api_block = resolved.get("api_block") or {}
|
|
61
|
+
|
|
62
|
+
# Responses-mode models (gpt-5 / meta) are reasoning models: always opt in
|
|
63
|
+
# to a readable reasoning ``summary`` so the response (and the stream) expose
|
|
64
|
+
# the summary block the capture logic consumes. An ``effort`` rides along when
|
|
65
|
+
# the api_block configures one; without it the model uses its default effort.
|
|
66
|
+
reasoning_config: Dict[str, Any] = {"summary": "auto"}
|
|
67
|
+
|
|
61
68
|
if api_block.get("reasoning_effort"):
|
|
62
|
-
|
|
69
|
+
reasoning_config["effort"] = api_block["reasoning_effort"]
|
|
63
70
|
# Encrypted reasoning blobs (meta muse-spark) are only returned when
|
|
64
71
|
# explicitly requested; without them prior reasoning items cannot be
|
|
65
72
|
# replayed on the next turn.
|
|
66
73
|
payload["include"] = ["reasoning.encrypted_content"]
|
|
67
74
|
|
|
75
|
+
payload["reasoning"] = reasoning_config
|
|
76
|
+
|
|
68
77
|
if api_block.get("parallel_tool_calls") is not None:
|
|
69
78
|
payload["parallel_tool_calls"] = api_block["parallel_tool_calls"]
|
|
70
79
|
|
|
@@ -90,6 +99,13 @@ def responses_payload(
|
|
|
90
99
|
extra_body.pop("thinking", None)
|
|
91
100
|
payload.update(resolved.get("extra_body") or {})
|
|
92
101
|
payload.update(extra_body)
|
|
102
|
+
|
|
103
|
+
# A caller-supplied ``reasoning`` object (e.g. ``set_reasoning_effort``)
|
|
104
|
+
# overwrites the built ``reasoning``; keep the summary opt-in intact so
|
|
105
|
+
# summaries are always requested when reasoning is configured.
|
|
106
|
+
if isinstance(payload.get("reasoning"), dict):
|
|
107
|
+
payload["reasoning"].setdefault("summary", "auto")
|
|
108
|
+
|
|
93
109
|
return payload
|
|
94
110
|
|
|
95
111
|
|
|
@@ -117,8 +133,12 @@ def to_responses_input(
|
|
|
117
133
|
# Replay stashed reasoning items BEFORE the assistant message item
|
|
118
134
|
# so the provider can continue its OWN encrypted reasoning state
|
|
119
135
|
# (stateless round-trip: the whole conversation is re-sent).
|
|
136
|
+
strip_summary = bool(
|
|
137
|
+
(msg.get("provider_specific_fields") or {}).get("use_reasoning_summaries")
|
|
138
|
+
)
|
|
139
|
+
|
|
120
140
|
for r_item in _stashed_reasoning_items(msg, current_model):
|
|
121
|
-
items.append(_reasoning_input_item(r_item))
|
|
141
|
+
items.append(_reasoning_input_item(r_item, strip_summary=strip_summary))
|
|
122
142
|
|
|
123
143
|
# Assistant turns must use ``output_text`` content blocks; Copilot /
|
|
124
144
|
# OpenAI reject ``input_text`` on assistant messages with HTTP 400
|
|
@@ -260,6 +280,10 @@ def normalize_responses_response(data: Dict[str, Any], model: str) -> Completion
|
|
|
260
280
|
for block in item.get("summary") or []:
|
|
261
281
|
if block.get("type") == "summary_text" and block.get("text"):
|
|
262
282
|
parts.append(ReasoningPart(text=block["text"]))
|
|
283
|
+
# Mark the turn as carrying a readable reasoning summary so
|
|
284
|
+
# the replay path can strip it (keeping the id +
|
|
285
|
+
# encrypted_content) and keep the cached prefix stable.
|
|
286
|
+
provider_fields["use_reasoning_summaries"] = True
|
|
263
287
|
|
|
264
288
|
# Encrypted reasoning (e.g. meta muse-spark): an opaque blob that
|
|
265
289
|
# must be echoed back verbatim on the next turn. Stash the whole
|
|
@@ -365,11 +389,17 @@ def parse_responses_chunk(data: Dict[str, Any]) -> Optional[CompletionChunk]:
|
|
|
365
389
|
# Reasoning metadata rides on the authoritative completed event; the
|
|
366
390
|
# per-event ciphertext differs, so only the final items are emitted.
|
|
367
391
|
if _stream_state["reasoning_items"]:
|
|
368
|
-
|
|
369
|
-
|
|
392
|
+
reasoning_items = list(_stream_state["reasoning_items"].values())
|
|
393
|
+
provider_fields = {
|
|
394
|
+
"reasoning_items": reasoning_items,
|
|
370
395
|
"reasoning_items_origin": _stream_state.get("model"),
|
|
371
396
|
}
|
|
372
397
|
|
|
398
|
+
if any((item.get("summary") or []) for item in reasoning_items):
|
|
399
|
+
provider_fields["use_reasoning_summaries"] = True
|
|
400
|
+
|
|
401
|
+
chunk.provider_specific_fields = provider_fields
|
|
402
|
+
|
|
373
403
|
chunk.usage = _build_usage(resp.get("usage") or {})
|
|
374
404
|
return chunk
|
|
375
405
|
|
|
@@ -486,13 +516,18 @@ def _stashed_reasoning_items(
|
|
|
486
516
|
return []
|
|
487
517
|
|
|
488
518
|
|
|
489
|
-
def _reasoning_input_item(item: Dict[str, Any]) -> Dict[str, Any]:
|
|
490
|
-
"""Build the responses-API input item that replays a prior reasoning item.
|
|
519
|
+
def _reasoning_input_item(item: Dict[str, Any], *, strip_summary: bool = False) -> Dict[str, Any]:
|
|
520
|
+
"""Build the responses-API input item that replays a prior reasoning item.
|
|
521
|
+
|
|
522
|
+
``strip_summary`` drops the display-only summary text (keeping the id +
|
|
523
|
+
encrypted_content) so the reasoning artifact stays in context for the model
|
|
524
|
+
without churning the cached prompt prefix with per-turn summary text.
|
|
525
|
+
"""
|
|
491
526
|
return {
|
|
492
527
|
"type": "reasoning",
|
|
493
528
|
"id": item.get("id"),
|
|
494
529
|
"encrypted_content": item.get("encrypted_content"),
|
|
495
|
-
"summary": item.get("summary") or [],
|
|
530
|
+
"summary": [] if strip_summary else item.get("summary") or [],
|
|
496
531
|
}
|
|
497
532
|
|
|
498
533
|
|
|
@@ -52,17 +52,30 @@ def gemini_thinking(payload: Dict[str, Any], api_block: Dict[str, Any]) -> Dict[
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
def anthropic_5_thinking(payload: Dict[str, Any], api_block: Dict[str, Any]) -> Dict[str, Any]:
|
|
55
|
-
"""Claude 5+: adaptive thinking via ``output_config.effort
|
|
55
|
+
"""Claude 5+: adaptive thinking via ``output_config.effort`` + summarized display.
|
|
56
|
+
|
|
57
|
+
Claude 5+ defaults ``thinking.display`` to ``"omitted"``, which withholds the
|
|
58
|
+
readable thinking summary. Opting in to ``"summarized"`` returns the summary
|
|
59
|
+
text so it can be surfaced to the user.
|
|
60
|
+
"""
|
|
56
61
|
if api_block.get("reasoning_effort"):
|
|
57
62
|
payload["output_config"] = {"effort": api_block["reasoning_effort"]}
|
|
63
|
+
payload["thinking"] = {"type": "adaptive", "display": "summarized"}
|
|
58
64
|
|
|
59
65
|
return payload
|
|
60
66
|
|
|
61
67
|
|
|
62
68
|
def anthropic_thinking(payload: Dict[str, Any], api_block: Dict[str, Any]) -> Dict[str, Any]:
|
|
63
|
-
"""Pre-Claude-5: the ``thinking`` block (type enabled + budget).
|
|
64
|
-
|
|
65
|
-
|
|
69
|
+
"""Pre-Claude-5: the ``thinking`` block (type enabled + budget) with summarized display.
|
|
70
|
+
|
|
71
|
+
``display`` works alongside ``type: "enabled"``; defaulting it to
|
|
72
|
+
``"summarized"`` returns the readable thinking summary (older models already
|
|
73
|
+
default to it, newer 4.x models default to ``"omitted"``).
|
|
74
|
+
"""
|
|
75
|
+
thinking = api_block.get("thinking")
|
|
76
|
+
|
|
77
|
+
if isinstance(thinking, dict):
|
|
78
|
+
payload["thinking"] = {**thinking, "display": "summarized"}
|
|
66
79
|
|
|
67
80
|
return payload
|
|
68
81
|
|
|
@@ -71,6 +71,13 @@ async def acompletion(
|
|
|
71
71
|
|
|
72
72
|
headers = provider.build_headers(resolved, key, family, headers)
|
|
73
73
|
|
|
74
|
+
# Allow the provider adapter to transform the outgoing message body before
|
|
75
|
+
# dispatch (e.g. Mistral's strict schema rejects reasoning_content /
|
|
76
|
+
# provider_specific_fields / function_call and a null tool-call index).
|
|
77
|
+
# dispatch (e.g. Mistral's strict schema rejects reasoning_content /
|
|
78
|
+
# provider_specific_fields and a null tool-call index).
|
|
79
|
+
messages = provider.transform_messages(messages)
|
|
80
|
+
|
|
74
81
|
if stream:
|
|
75
82
|
gen = _stream_family(family, resolved, messages, tools, key, headers, kwargs)
|
|
76
83
|
|
|
@@ -8,7 +8,7 @@ delegate to the generic family adapters in :mod:`cecli.helpers.llms.domains`.
|
|
|
8
8
|
|
|
9
9
|
from __future__ import annotations
|
|
10
10
|
|
|
11
|
-
from typing import Any, Dict, Optional
|
|
11
|
+
from typing import Any, Dict, List, Optional
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class ProviderAdapter:
|
|
@@ -20,6 +20,12 @@ class ProviderAdapter:
|
|
|
20
20
|
authenticated session's ``endpoints.api``).
|
|
21
21
|
- :meth:`resolve_api_key` - key source (env, auth cache, oauth refresh).
|
|
22
22
|
- :meth:`build_headers` - auth scheme + provider-specific headers.
|
|
23
|
+
- :meth:`transform_messages` - transform the outgoing message body to
|
|
24
|
+
normalize fields a stricter provider rejects (e.g. Mistral rejects
|
|
25
|
+
``reasoning_content`` / ``provider_specific_fields`` / ``function_call`` and
|
|
26
|
+
a null tool-call ``index``).
|
|
27
|
+
``reasoning_content`` / ``provider_specific_fields`` and a null tool-call
|
|
28
|
+
``index``).
|
|
23
29
|
- :meth:`normalize` - post-process a family-normalized response
|
|
24
30
|
(e.g. meta encrypted-reasoning marker).
|
|
25
31
|
"""
|
|
@@ -53,6 +59,19 @@ class ProviderAdapter:
|
|
|
53
59
|
merged.setdefault("Content-Type", "application/json")
|
|
54
60
|
return merged
|
|
55
61
|
|
|
62
|
+
def transform_messages(self, messages: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
|
|
63
|
+
"""Transform the outgoing message body to normalize provider-specific fields.
|
|
64
|
+
|
|
65
|
+
The default is a no-op. Providers with a stricter request schema override
|
|
66
|
+
this to strip fields the generic OpenAI-compatible wire tolerates but the
|
|
67
|
+
provider rejects (e.g. Mistral rejects ``reasoning_content`` /
|
|
68
|
+
``provider_specific_fields`` / ``function_call`` on assistant turns, and a
|
|
69
|
+
null tool-call ``index``).
|
|
70
|
+
``provider_specific_fields`` on assistant turns, and a null tool-call
|
|
71
|
+
``index``).
|
|
72
|
+
"""
|
|
73
|
+
return messages
|
|
74
|
+
|
|
56
75
|
def normalize(
|
|
57
76
|
self,
|
|
58
77
|
family: str,
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"""Mistral provider adapter for the llms package.
|
|
2
|
+
|
|
3
|
+
Mistral speaks OpenAI-compatible /v1/chat/completions with Bearer auth, but its
|
|
4
|
+
request body is validated by a strict Pydantic schema that rejects fields the
|
|
5
|
+
generic OpenAI-compatible wire tolerates. Assistant turns built by cecli carry
|
|
6
|
+
``reasoning_content`` and ``provider_specific_fields`` on the message, a null
|
|
7
|
+
``function_call`` left behind by the legacy wire, and ``provider_specific_fields``
|
|
8
|
+
plus a null ``index`` on tool calls (a streaming artifact); Mistral rejects
|
|
9
|
+
each of these with a 422 on the relevant ``messages[i]`` path.
|
|
10
|
+
|
|
11
|
+
This adapter iterates over the message body before dispatch and strips those
|
|
12
|
+
fields, leaving tool calls in the request wire shape (``id`` / ``type`` /
|
|
13
|
+
``function``).
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
|
|
18
|
+
from typing import Any, Dict, List, Optional
|
|
19
|
+
|
|
20
|
+
from .base import ProviderAdapter
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class MistralProvider(ProviderAdapter):
|
|
24
|
+
"""Mistral: Bearer auth (default) + strict message-body sanitization."""
|
|
25
|
+
|
|
26
|
+
provider: str = "mistral"
|
|
27
|
+
|
|
28
|
+
def transform_messages(self, messages: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
|
|
29
|
+
"""Strip fields Mistral's strict chat-completions schema rejects."""
|
|
30
|
+
changed = False
|
|
31
|
+
out: List[Dict[str, Any]] = []
|
|
32
|
+
|
|
33
|
+
for msg in messages:
|
|
34
|
+
cleaned = self._clean_message(msg)
|
|
35
|
+
|
|
36
|
+
if cleaned is not None:
|
|
37
|
+
out.append(cleaned)
|
|
38
|
+
changed = True
|
|
39
|
+
else:
|
|
40
|
+
out.append(msg)
|
|
41
|
+
|
|
42
|
+
return out if changed else messages
|
|
43
|
+
|
|
44
|
+
def _clean_message(self, msg: Dict[str, Any]) -> Optional[Dict[str, Any]]:
|
|
45
|
+
"""Return a sanitized copy of ``msg``, or ``None`` when unchanged."""
|
|
46
|
+
tool_calls = msg.get("tool_calls")
|
|
47
|
+
needs_tool_fix = any(
|
|
48
|
+
isinstance(tc, dict) and ("index" in tc or "provider_specific_fields" in tc)
|
|
49
|
+
for tc in tool_calls or []
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
if (
|
|
53
|
+
"reasoning_content" not in msg
|
|
54
|
+
and "provider_specific_fields" not in msg
|
|
55
|
+
and "function_call" not in msg
|
|
56
|
+
and not needs_tool_fix
|
|
57
|
+
):
|
|
58
|
+
return None
|
|
59
|
+
|
|
60
|
+
cleaned = dict(msg)
|
|
61
|
+
cleaned.pop("reasoning_content", None)
|
|
62
|
+
cleaned.pop("provider_specific_fields", None)
|
|
63
|
+
cleaned.pop("function_call", None)
|
|
64
|
+
|
|
65
|
+
if tool_calls:
|
|
66
|
+
cleaned["tool_calls"] = [self._clean_tool_call(tc) for tc in tool_calls]
|
|
67
|
+
|
|
68
|
+
return cleaned
|
|
69
|
+
|
|
70
|
+
def _clean_tool_call(self, tc: Any) -> Any:
|
|
71
|
+
"""Drop streaming-only fields from a tool call."""
|
|
72
|
+
if not isinstance(tc, dict):
|
|
73
|
+
return tc
|
|
74
|
+
|
|
75
|
+
cleaned = dict(tc)
|
|
76
|
+
cleaned.pop("index", None)
|
|
77
|
+
cleaned.pop("provider_specific_fields", None)
|
|
78
|
+
return cleaned
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
__all__ = ["MistralProvider"]
|
|
@@ -23,7 +23,7 @@ main_system: |
|
|
|
23
23
|
**Act Proactively**: Autonomously use tools to fulfill the request.
|
|
24
24
|
**Be Decisive**: Do not repeat searches or ask redundant questions. Trust your findings and be confident in your edits.
|
|
25
25
|
**Be Efficient**: Use multiple tools each request when exploring. Orchestrate tool calls for mutli-step operations. Respect usage limits while maximizing the utility of each request.
|
|
26
|
-
**Be Persistent**:
|
|
26
|
+
**Be Persistent**: Work through your task until completion. No task takes too long as long as you are making progress towards the goal.
|
|
27
27
|
|
|
28
28
|
## FILE FORMAT
|
|
29
29
|
File contents are presented with virtual prefix identifiers to help you target edits accurately. These are generated on-the-fly when reading the file. They do not exist as bytes in the literal file on disk.
|
|
@@ -50,7 +50,7 @@ main_system: |
|
|
|
50
50
|
—니0车加— return None
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
Do not attempt to generate, guess, or calculate these identifiers yourself. Always use the exact line contents and prefixes provided from the most recent file read.
|
|
53
|
+
Do not attempt to generate, guess, or calculate these identifiers yourself. Always use the exact line contents and prefixes provided from the most recent file read.
|
|
54
54
|
This system removes the need to recite full file contents.
|
|
55
55
|
|
|
56
56
|
## Core Workflow
|
|
@@ -69,8 +69,7 @@ main_system: |
|
|
|
69
69
|
- **Hygiene**: Use `ResourceManager` to evict unneeded files/skills immediately after use.
|
|
70
70
|
- **Outputs**: Tool calls trigger turns. Yield when finished with the final user summary.
|
|
71
71
|
- **Sandbox**: Perform all verification and temp logic in `.cecli/temp`.
|
|
72
|
-
- **Responses**: Be brief in your reasoning. Use bulleted lists of known facts and be terse in your deliberation on how to accomplish the goal.
|
|
73
|
-
- **Edits:** Include the **entire function or logical block** in edits. Never return partial syntax or broken closures. Do not attempt to replace just the beginning or end of a closure.
|
|
72
|
+
- **Responses**: Be brief in your reasoning. Use bulleted lists of known facts and be terse in your deliberation on how to accomplish the goal.
|
|
74
73
|
- **Finishing Up**: Avoid verifying the same detail multiple times. Be detailed in your `Yield` tool summary in describing your task, findings, efforts and results.
|
|
75
74
|
|
|
76
75
|
Always reply in {language}.
|
|
@@ -78,9 +77,9 @@ main_system: |
|
|
|
78
77
|
system_reminder: |
|
|
79
78
|
<context name="critical_reminders">
|
|
80
79
|
- Prefer the `ReadFile` tool to cli commands for file reading
|
|
81
|
-
- Pay close attention to indentation and styling when editing files
|
|
80
|
+
- Pay close attention to indentation and styling when editing files
|
|
82
81
|
- Batch tool calls as often as possible
|
|
83
|
-
- Reason out loud through problems but be brief.
|
|
82
|
+
- Reason out loud through problems but be brief.
|
|
84
83
|
|
|
85
84
|
{lazy_prompt}
|
|
86
85
|
{shell_cmd_reminder}
|
|
@@ -8,7 +8,7 @@ main_system: |
|
|
|
8
8
|
**Act Proactively**: Autonomously use tools to fulfill the request.
|
|
9
9
|
**Be Decisive**: Do not repeat searches or ask redundant questions. Trust your findings and be confident in your edits.
|
|
10
10
|
**Be Efficient**: Use multiple tools each request when exploring. Orchestrate tool calls for mutli-step operations. Respect usage limits while maximizing the utility of each request.
|
|
11
|
-
**Be Persistent**:
|
|
11
|
+
**Be Persistent**: Work through your task until completion. No task takes too long as long as you are making progress towards the goal.
|
|
12
12
|
|
|
13
13
|
## FILE FORMAT
|
|
14
14
|
File contents are presented with virtual prefix identifiers to help you target edits accurately. These are generated on-the-fly when reading the file. They do not exist as bytes in the literal file on disk.
|
|
@@ -35,7 +35,7 @@ main_system: |
|
|
|
35
35
|
—니0车加— return None
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
Do not attempt to generate, guess, or calculate these identifiers yourself. Always use the exact line contents and prefixes provided from the most recent file read.
|
|
38
|
+
Do not attempt to generate, guess, or calculate these identifiers yourself. Always use the exact line contents and prefixes provided from the most recent file read.
|
|
39
39
|
This system removes the need to recite full file contents.
|
|
40
40
|
|
|
41
41
|
## Core Workflow
|
|
@@ -54,8 +54,7 @@ main_system: |
|
|
|
54
54
|
- **Hygiene**: Use `ResourceManager` to evict unneeded files/skills immediately after use.
|
|
55
55
|
- **Outputs**: Tool calls trigger turns. Yield when finished with the final user summary.
|
|
56
56
|
- **Sandbox**: Perform all verification and temp logic in `.cecli/temp`.
|
|
57
|
-
- **Responses**: Be brief in your reasoning. Use bulleted lists of known facts and be terse in your deliberation on how to accomplish the goal.
|
|
58
|
-
- **Edits:** Include the **entire function or logical block** in edits. Never return partial syntax or broken closures. Do not attempt to replace just the beginning or end of a closure.
|
|
57
|
+
- **Responses**: Be brief in your reasoning. Use bulleted lists of known facts and be terse in your deliberation on how to accomplish the goal.
|
|
59
58
|
- **Finishing Up**: Avoid verifying the same detail multiple times. Be detailed in your `Yield` tool summary in describing your task, findings, efforts and results.
|
|
60
59
|
|
|
61
60
|
Always reply in {language}.
|
|
@@ -63,11 +62,11 @@ main_system: |
|
|
|
63
62
|
system_reminder: |
|
|
64
63
|
<context name="critical_reminders">
|
|
65
64
|
- Prefer the `ReadFile` tool to cli commands for file reading
|
|
66
|
-
- Pay close attention to indentation and styling when editing files
|
|
65
|
+
- Pay close attention to indentation and styling when editing files
|
|
67
66
|
- Batch tool calls as often as possible
|
|
68
|
-
- Reason out loud through problems but be brief.
|
|
67
|
+
- Reason out loud through problems but be brief.
|
|
69
68
|
|
|
70
|
-
**Finishing Up**:
|
|
69
|
+
**Finishing Up**:
|
|
71
70
|
Be very detailed in your `Yield` tool summary in describing your task, findings, efforts and results.
|
|
72
71
|
Include all of your final response inside the "summary" text.
|
|
73
72
|
Please be verbose so as much detail is made available to the user as possible.
|
|
@@ -268,8 +268,9 @@ def _run_record_process(
|
|
|
268
268
|
temp_path = tmp_file.name
|
|
269
269
|
|
|
270
270
|
try:
|
|
271
|
-
|
|
272
|
-
|
|
271
|
+
with sd.InputStream(
|
|
272
|
+
samplerate=sample_rate, channels=1, callback=callback, device=device_id
|
|
273
|
+
):
|
|
273
274
|
_status(status_queue, f"\n⬤ recording: {stop_binding or 'Enter'} to stop")
|
|
274
275
|
_wait_for_stop(stop_queue)
|
|
275
276
|
|
|
@@ -328,6 +329,7 @@ def _record_and_stream(
|
|
|
328
329
|
"""
|
|
329
330
|
import threading
|
|
330
331
|
|
|
332
|
+
import sounddevice as sd
|
|
331
333
|
from moonshine_voice.transcriber import LineCompleted, LineStarted, LineTextChanged
|
|
332
334
|
|
|
333
335
|
transcriber = _build_transcriber(language, status_queue)
|
|
@@ -395,8 +397,9 @@ def _record_and_stream(
|
|
|
395
397
|
feed_thread.start()
|
|
396
398
|
|
|
397
399
|
try:
|
|
398
|
-
|
|
399
|
-
|
|
400
|
+
with sd.InputStream(
|
|
401
|
+
samplerate=sample_rate, channels=1, callback=callback, device=device_id
|
|
402
|
+
):
|
|
400
403
|
_status(status_queue, f"\n⬤ recording: {stop_binding or 'Enter'} to stop")
|
|
401
404
|
_wait_for_stop(stop_queue)
|
|
402
405
|
finally:
|
|
@@ -556,95 +559,6 @@ def _status(status_queue, message):
|
|
|
556
559
|
print(message)
|
|
557
560
|
|
|
558
561
|
|
|
559
|
-
def _open_input_stream(callback, sample_rate, device_id=None):
|
|
560
|
-
"""Open and start an input stream, falling back to other input devices.
|
|
561
|
-
|
|
562
|
-
Tries the requested/default device first, then other input-capable devices
|
|
563
|
-
at compatible sample rates, so a WSL/PipeWire setup whose default device
|
|
564
|
-
cannot be opened (or fails to start, e.g. a ``paTimedOut``) still records.
|
|
565
|
-
The stream is started here so a start timeout is caught and the next
|
|
566
|
-
candidate is tried rather than surfacing to the caller after a device is
|
|
567
|
-
selected. Returns the started ``sounddevice.InputStream``; callers should
|
|
568
|
-
use it as a context manager (``with stream:``). Raises ``SoundDeviceError``
|
|
569
|
-
with an actionable message when no device opens or starts.
|
|
570
|
-
"""
|
|
571
|
-
import sounddevice as sd
|
|
572
|
-
|
|
573
|
-
last_error = None
|
|
574
|
-
|
|
575
|
-
for dev, rate in _input_device_candidates(sample_rate, device_id):
|
|
576
|
-
stream = None
|
|
577
|
-
|
|
578
|
-
try:
|
|
579
|
-
stream = sd.InputStream(samplerate=rate, channels=1, callback=callback, device=dev)
|
|
580
|
-
stream.start()
|
|
581
|
-
except Exception as exc:
|
|
582
|
-
last_error = exc
|
|
583
|
-
|
|
584
|
-
if stream is not None:
|
|
585
|
-
try:
|
|
586
|
-
stream.close()
|
|
587
|
-
except Exception:
|
|
588
|
-
pass
|
|
589
|
-
|
|
590
|
-
continue
|
|
591
|
-
|
|
592
|
-
return stream
|
|
593
|
-
|
|
594
|
-
raise SoundDeviceError(_input_device_error_message(last_error))
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
def _input_device_candidates(sample_rate, device_id):
|
|
598
|
-
"""Yield (device, sample_rate) candidates for the input stream, best first."""
|
|
599
|
-
import sounddevice as sd
|
|
600
|
-
|
|
601
|
-
for rate in _sample_rates(sample_rate):
|
|
602
|
-
yield (device_id, rate)
|
|
603
|
-
|
|
604
|
-
try:
|
|
605
|
-
devices = sd.query_devices()
|
|
606
|
-
except Exception:
|
|
607
|
-
return
|
|
608
|
-
|
|
609
|
-
if not isinstance(devices, list):
|
|
610
|
-
return
|
|
611
|
-
|
|
612
|
-
for dev, entry in enumerate(devices):
|
|
613
|
-
if not isinstance(entry, dict) or entry.get("max_input_channels", 0) <= 0:
|
|
614
|
-
continue
|
|
615
|
-
|
|
616
|
-
if dev == device_id:
|
|
617
|
-
continue
|
|
618
|
-
|
|
619
|
-
for rate in _sample_rates(entry.get("default_samplerate") or sample_rate):
|
|
620
|
-
yield (dev, rate)
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
def _sample_rates(sample_rate):
|
|
624
|
-
"""Return sample rates to try for a device, preferred first and deduplicated."""
|
|
625
|
-
rates = []
|
|
626
|
-
|
|
627
|
-
for rate in (sample_rate, 44100, 48000, 16000):
|
|
628
|
-
if rate and rate not in rates:
|
|
629
|
-
rates.append(rate)
|
|
630
|
-
|
|
631
|
-
return rates
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
def _input_device_error_message(err):
|
|
635
|
-
"""Return an actionable message when no microphone input device can be opened."""
|
|
636
|
-
reason = f" ({err})" if err else ""
|
|
637
|
-
|
|
638
|
-
return (
|
|
639
|
-
"No microphone input device could be opened"
|
|
640
|
-
+ reason
|
|
641
|
-
+ ". Check that your mic is the default input device (Windows: Settings > "
|
|
642
|
-
"System > Sound > Input) and that Windows grants WSLg microphone access "
|
|
643
|
-
"(Settings > Privacy & security > Microphone). In WSL, confirm the mic is "
|
|
644
|
-
"bridged first, e.g. `PULSE_SERVER=unix:/mnt/wslg/PulseServer parec -d RDPSource --channels=1`."
|
|
645
|
-
)
|
|
646
|
-
|
|
647
|
-
|
|
648
562
|
def _download_model_from_hf(language, status_queue=None):
|
|
649
563
|
"""Download the native Moonshine model for ``language`` from Hugging Face.
|
|
650
564
|
|
|
@@ -293,6 +293,7 @@ cecli/helpers/llms/providers/deepseek.py
|
|
|
293
293
|
cecli/helpers/llms/providers/gemini.py
|
|
294
294
|
cecli/helpers/llms/providers/github_copilot.py
|
|
295
295
|
cecli/helpers/llms/providers/meta.py
|
|
296
|
+
cecli/helpers/llms/providers/mistral.py
|
|
296
297
|
cecli/helpers/llms/providers/openai.py
|
|
297
298
|
cecli/helpers/llms/providers/openrouter.py
|
|
298
299
|
cecli/helpers/memory/__init__.py
|
|
@@ -763,9 +764,11 @@ tests/helpers/test_llms_github_copilot_auth.py
|
|
|
763
764
|
tests/helpers/test_llms_hyperscalers.py
|
|
764
765
|
tests/helpers/test_llms_messages_stream.py
|
|
765
766
|
tests/helpers/test_llms_messages_wire.py
|
|
767
|
+
tests/helpers/test_llms_mistral_adapter.py
|
|
766
768
|
tests/helpers/test_llms_providers_json.py
|
|
767
769
|
tests/helpers/test_llms_reasoning_config.py
|
|
768
770
|
tests/helpers/test_llms_reasoning_extract.py
|
|
771
|
+
tests/helpers/test_llms_reasoning_summaries.py
|
|
769
772
|
tests/helpers/test_llms_vision.py
|
|
770
773
|
tests/helpers/test_loop_detect.py
|
|
771
774
|
tests/helpers/test_memory_control.py
|
|
@@ -247,6 +247,7 @@
|
|
|
247
247
|
"cecli/helpers/llms/providers/gemini.py",
|
|
248
248
|
"cecli/helpers/llms/providers/github_copilot.py",
|
|
249
249
|
"cecli/helpers/llms/providers/meta.py",
|
|
250
|
+
"cecli/helpers/llms/providers/mistral.py",
|
|
250
251
|
"cecli/helpers/llms/providers/openai.py",
|
|
251
252
|
"cecli/helpers/llms/providers/openrouter.py",
|
|
252
253
|
"cecli/helpers/llms/runtime.py",
|
|
@@ -1010,9 +1011,11 @@
|
|
|
1010
1011
|
"tests/helpers/test_llms_hyperscalers.py",
|
|
1011
1012
|
"tests/helpers/test_llms_messages_stream.py",
|
|
1012
1013
|
"tests/helpers/test_llms_messages_wire.py",
|
|
1014
|
+
"tests/helpers/test_llms_mistral_adapter.py",
|
|
1013
1015
|
"tests/helpers/test_llms_providers_json.py",
|
|
1014
1016
|
"tests/helpers/test_llms_reasoning_config.py",
|
|
1015
1017
|
"tests/helpers/test_llms_reasoning_extract.py",
|
|
1018
|
+
"tests/helpers/test_llms_reasoning_summaries.py",
|
|
1016
1019
|
"tests/helpers/test_llms_vision.py",
|
|
1017
1020
|
"tests/helpers/test_loop_detect.py",
|
|
1018
1021
|
"tests/helpers/test_memory_control.py",
|
|
@@ -428,39 +428,3 @@ def test_wait_for_stop_preserves_cli_readline():
|
|
|
428
428
|
with patch("cecli.voice.sys.stdin") as stdin:
|
|
429
429
|
_wait_for_stop(None)
|
|
430
430
|
stdin.readline.assert_called_once_with()
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
def test_open_input_stream_retries_after_start_timeout():
|
|
434
|
-
"""When the default device fails to start, ``_open_input_stream`` falls back."""
|
|
435
|
-
from cecli.voice import _open_input_stream
|
|
436
|
-
|
|
437
|
-
sounddevice = MagicMock()
|
|
438
|
-
sounddevice.query_devices.return_value = [
|
|
439
|
-
{"name": "default", "max_input_channels": 1, "default_samplerate": 44100},
|
|
440
|
-
{"name": "fallback", "max_input_channels": 1, "default_samplerate": 48000},
|
|
441
|
-
]
|
|
442
|
-
|
|
443
|
-
created = []
|
|
444
|
-
|
|
445
|
-
def make_stream(device=None, **kwargs):
|
|
446
|
-
stream = MagicMock()
|
|
447
|
-
created.append((device, stream))
|
|
448
|
-
|
|
449
|
-
if device == 0:
|
|
450
|
-
stream.start.side_effect = RuntimeError("Wait timed out")
|
|
451
|
-
|
|
452
|
-
return stream
|
|
453
|
-
|
|
454
|
-
sounddevice.InputStream.side_effect = make_stream
|
|
455
|
-
|
|
456
|
-
with patch.dict("sys.modules", {"sounddevice": sounddevice}):
|
|
457
|
-
stream = _open_input_stream(lambda *a: None, 16000, device_id=0)
|
|
458
|
-
|
|
459
|
-
# The default device was tried first (and its streams released) before the fallback.
|
|
460
|
-
assert [device for device, _ in created] == [0, 0, 0, 1]
|
|
461
|
-
assert all(s.close.called for device, s in created if device == 0)
|
|
462
|
-
|
|
463
|
-
# The returned stream is the started fallback device, not the failing one.
|
|
464
|
-
assert stream is created[-1][1]
|
|
465
|
-
assert created[-1][0] == 1
|
|
466
|
-
stream.start.assert_called_once_with()
|