drydock-cli 2.6.1__tar.gz → 2.6.2__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.
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/PKG-INFO +1 -1
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/agent_loop.py +3 -163
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/backend/generic.py +1 -1
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/pyproject.toml +1 -1
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.gitignore +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.python-version +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.typos.toml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.vscode/extensions.json +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.vscode/launch.json +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/.vscode/settings.json +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/AGENTS.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/CHANGELOG.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/CLAUDE.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/Drydock_rebrand.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/LICENSE +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/NOTICE +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/PRD.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/README.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/action.yml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/docs/README.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/docs/acp-setup.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/logger.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/paths/_vibe_home.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/gemma4.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/slug.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/task_manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/types.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/utils.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/whats_new.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock-acp.spec +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock_terms.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/flake.lock +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/flake.nix +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/log_analyzer/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/log_analyzer/__main__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/log_analyzer/analyzer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/log_analyzer/cli.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/README.md +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/auto_test_loop.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/backup.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/bump_version.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/discover_cli_tools.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/install.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/monitor_swebench.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/monitor_test_battery.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/notify_release.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/overnight_agents_test.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/prepare_release.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/test_bank.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/test_full.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/test_smoke.sh +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/test_tui_path.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/scripts/tui_test.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/conftest.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/e2e/common.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/mock/utils.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_agents.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_integration.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_message_id.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_middleware.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_smoke.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/test_workloads.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.6.1 → drydock_cli-2.6.2}/uv.lock +0 -0
|
@@ -594,174 +594,14 @@ class AgentLoop:
|
|
|
594
594
|
|
|
595
595
|
last_message = self.messages[-1]
|
|
596
596
|
|
|
597
|
-
# Track
|
|
597
|
+
# Track edits — no circuit breakers, just track for has_made_edit
|
|
598
598
|
if not has_made_edit:
|
|
599
599
|
for msg in reversed(self.messages[-5:]):
|
|
600
600
|
if msg.role == Role.assistant and msg.tool_calls:
|
|
601
601
|
for tc in msg.tool_calls:
|
|
602
|
-
if
|
|
603
|
-
continue
|
|
604
|
-
if tc.function.name in ("search_replace", "write_file"):
|
|
605
|
-
first_edit = not has_made_edit
|
|
602
|
+
if tc.function and tc.function.name in ("search_replace", "write_file"):
|
|
606
603
|
has_made_edit = True
|
|
607
|
-
|
|
608
|
-
# Reset circuit breaker — the world changed after an edit,
|
|
609
|
-
# so previously-failing commands may now succeed
|
|
610
|
-
self._tool_call_history.clear()
|
|
611
|
-
self._consecutive_circuit_breaker_fires = 0
|
|
612
|
-
# Track blast radius
|
|
613
|
-
try:
|
|
614
|
-
edit_args = json.loads(tc.function.arguments or "{}")
|
|
615
|
-
edit_path = edit_args.get("file_path", edit_args.get("path", ""))
|
|
616
|
-
if edit_path and edit_path not in files_modified:
|
|
617
|
-
files_modified.append(edit_path)
|
|
618
|
-
except (json.JSONDecodeError, AttributeError):
|
|
619
|
-
edit_path = ""
|
|
620
|
-
|
|
621
|
-
# AUTO-FIX: Fix packaging issues the model gets wrong
|
|
622
|
-
if edit_path and edit_path.endswith(".py"):
|
|
623
|
-
self._auto_fix_package(edit_path)
|
|
624
|
-
|
|
625
|
-
# Auto-run diagnostics on edited Python files
|
|
626
|
-
if edit_path and edit_path.endswith(".py"):
|
|
627
|
-
try:
|
|
628
|
-
import asyncio
|
|
629
|
-
import subprocess
|
|
630
|
-
diag_result = subprocess.run(
|
|
631
|
-
["python3", "-c", f"import ast; ast.parse(open('{edit_path}').read()); print('OK')"],
|
|
632
|
-
capture_output=True, text=True, timeout=5,
|
|
633
|
-
)
|
|
634
|
-
if diag_result.returncode != 0:
|
|
635
|
-
self._inject_system_note(
|
|
636
|
-
f"SYNTAX ERROR in {edit_path}: {diag_result.stderr.strip()[:200]}. "
|
|
637
|
-
f"Fix the syntax error before continuing."
|
|
638
|
-
)
|
|
639
|
-
except Exception:
|
|
640
|
-
pass
|
|
641
|
-
|
|
642
|
-
# After first edit: prompt to check related files
|
|
643
|
-
if first_edit and edit_path:
|
|
644
|
-
self._inject_system_note(
|
|
645
|
-
f"Good — you edited {edit_path}. Now check: "
|
|
646
|
-
f"does this bug have a RELATED file that also needs changes? "
|
|
647
|
-
f"Common patterns: if you edited a model, check the serializer/migration. "
|
|
648
|
-
f"If you edited a base class, check subclasses. "
|
|
649
|
-
f"If you edited a util, check callers. "
|
|
650
|
-
f"Use grep to search for imports of the function/class you changed."
|
|
651
|
-
)
|
|
652
|
-
if tc.function.name == "read_file":
|
|
653
|
-
try:
|
|
654
|
-
args = json.loads(tc.function.arguments or "{}")
|
|
655
|
-
path = args.get("path", args.get("file_path", ""))
|
|
656
|
-
if path and path not in files_explored:
|
|
657
|
-
files_explored.append(path)
|
|
658
|
-
except (json.JSONDecodeError, AttributeError):
|
|
659
|
-
pass
|
|
660
|
-
if tc.function.name in ("bash", "run_command"):
|
|
661
|
-
bash_count += 1
|
|
662
|
-
|
|
663
|
-
# Track search_replace failures (called but error in result)
|
|
664
|
-
for msg in reversed(self.messages[-3:]):
|
|
665
|
-
if msg.role == Role.tool and msg.content:
|
|
666
|
-
content = msg.content or ""
|
|
667
|
-
if "search_replace" in content.lower() and "error" in content.lower():
|
|
668
|
-
search_replace_failures += 1
|
|
669
|
-
|
|
670
|
-
# Blast radius check: warn when touching 5+ files
|
|
671
|
-
if len(files_modified) >= 5 and len(files_modified) % 5 == 0:
|
|
672
|
-
self._inject_system_note(
|
|
673
|
-
f"BLAST RADIUS WARNING: You have modified {len(files_modified)} files. "
|
|
674
|
-
f"Files: {', '.join(files_modified[-5:])}. "
|
|
675
|
-
f"This is a large change. Are you sure all these edits are needed? "
|
|
676
|
-
f"Consider stopping to verify your approach."
|
|
677
|
-
)
|
|
678
|
-
|
|
679
|
-
# Post-edit bash loop: model made edits but now loops on bash
|
|
680
|
-
# trying to test code that keeps failing
|
|
681
|
-
if has_made_edit and bash_count >= 3:
|
|
682
|
-
# Count consecutive bash calls at end of tool history
|
|
683
|
-
consecutive_bash = 0
|
|
684
|
-
for tc_name in reversed(self._recent_tool_names()):
|
|
685
|
-
if tc_name in ("bash", "run_command"):
|
|
686
|
-
consecutive_bash += 1
|
|
687
|
-
else:
|
|
688
|
-
break
|
|
689
|
-
if consecutive_bash >= 3:
|
|
690
|
-
self._inject_system_note(
|
|
691
|
-
"You have run 3+ bash commands in a row. "
|
|
692
|
-
"If your project is WORKING, you are DONE — tell the user the project "
|
|
693
|
-
"is complete and what commands they can use. "
|
|
694
|
-
"If it is FAILING, STOP running bash and use read_file + search_replace "
|
|
695
|
-
"to fix the code. Do NOT keep running the same test."
|
|
696
|
-
)
|
|
697
|
-
|
|
698
|
-
# Detect bash file creation (touch, echo >, cat <<)
|
|
699
|
-
for msg in reversed(self.messages[-3:]):
|
|
700
|
-
if msg.role == Role.assistant and msg.tool_calls:
|
|
701
|
-
for tc in msg.tool_calls:
|
|
702
|
-
if tc.function and tc.function.name in ("bash", "run_command"):
|
|
703
|
-
cmd = ""
|
|
704
|
-
try:
|
|
705
|
-
cmd = json.loads(tc.function.arguments or "{}").get("command", "")
|
|
706
|
-
except (json.JSONDecodeError, AttributeError):
|
|
707
|
-
pass
|
|
708
|
-
if any(kw in cmd for kw in ("touch ", "echo ", "cat <<", "printf ", "> ")):
|
|
709
|
-
self._inject_system_note(
|
|
710
|
-
f"Do NOT use bash to create files. Use write_file instead. "
|
|
711
|
-
f"bash touch/echo/cat does not create proper code files."
|
|
712
|
-
)
|
|
713
|
-
|
|
714
|
-
# Bash abuse detection: model uses bash instead of proper tools
|
|
715
|
-
if not has_made_edit and bash_count >= 3:
|
|
716
|
-
if bash_count == 3:
|
|
717
|
-
self._inject_system_note(
|
|
718
|
-
"You have run 3 bash commands without creating or editing any files. "
|
|
719
|
-
"STOP running bash. Start CREATING files with write_file or "
|
|
720
|
-
"EDITING files with search_replace. bash does not create code."
|
|
721
|
-
)
|
|
722
|
-
elif bash_count == 6:
|
|
723
|
-
self._inject_system_note(
|
|
724
|
-
"WARNING: 6 bash commands, ZERO file edits. You are stuck in a loop. "
|
|
725
|
-
"Your NEXT action MUST be write_file to create a file or "
|
|
726
|
-
"search_replace to edit one. Do NOT run any more bash commands."
|
|
727
|
-
)
|
|
728
|
-
elif bash_count >= 10 and bash_count % 5 == 0:
|
|
729
|
-
# Nudge every 5 bash calls, never stop
|
|
730
|
-
self._inject_system_note(
|
|
731
|
-
"You have run many bash commands. Consider using write_file "
|
|
732
|
-
"or search_replace to create/edit files."
|
|
733
|
-
)
|
|
734
|
-
|
|
735
|
-
# 3-Strike Rule: search_replace keeps failing
|
|
736
|
-
if search_replace_failures >= 3:
|
|
737
|
-
if search_replace_failures == 3:
|
|
738
|
-
self._inject_system_note(
|
|
739
|
-
f"3-STRIKE RULE: Your search_replace has failed {search_replace_failures} times. "
|
|
740
|
-
"STOP trying the same approach. "
|
|
741
|
-
"Either: (1) use read_file to get the EXACT text first, "
|
|
742
|
-
"(2) try a completely different file, or "
|
|
743
|
-
"(3) ask the user for help with /consult."
|
|
744
|
-
)
|
|
745
|
-
elif search_replace_failures % 3 == 0:
|
|
746
|
-
self._inject_system_note(
|
|
747
|
-
f"STOP: {search_replace_failures} failed edits. You are stuck. Ask the user for help."
|
|
748
|
-
)
|
|
749
|
-
|
|
750
|
-
# Context budget warning: after 7 tool turns without an edit,
|
|
751
|
-
# warn that context is being consumed without progress
|
|
752
|
-
if tool_turns == 7 and not has_made_edit and not context_summary_injected:
|
|
753
|
-
context_summary_injected = True
|
|
754
|
-
summary = (
|
|
755
|
-
"CONTEXT BUDGET WARNING: You have used 7 tool calls without making an edit. "
|
|
756
|
-
"Your context window is filling up — performance degrades as it fills. "
|
|
757
|
-
)
|
|
758
|
-
if files_explored:
|
|
759
|
-
summary += "Files explored: " + ", ".join(files_explored[-5:]) + ". "
|
|
760
|
-
summary += (
|
|
761
|
-
"You MUST state your TARGET/FUNCTION/CAUSE/FIX now and use search_replace "
|
|
762
|
-
"on your next turn. Do NOT continue exploring."
|
|
763
|
-
)
|
|
764
|
-
self._inject_system_note(summary)
|
|
604
|
+
break
|
|
765
605
|
|
|
766
606
|
should_break_loop = last_message.role != Role.tool
|
|
767
607
|
|
|
@@ -160,7 +160,7 @@ class OpenAIAdapter(APIAdapter):
|
|
|
160
160
|
)
|
|
161
161
|
|
|
162
162
|
# Enable thinking for models that support it (Gemma 4)
|
|
163
|
-
if thinking and thinking
|
|
163
|
+
if thinking and thinking not in ("off", ""):
|
|
164
164
|
payload["chat_template_kwargs"] = {"enable_thinking": True}
|
|
165
165
|
|
|
166
166
|
if enable_streaming:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/notifications/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/notifications/ports/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/container.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/widgets/chat_input/text_area.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/textual_ui/windowing/history_windowing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/cli/update_notifier/ports/update_cache_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/file_indexer/__init__.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/autocompletion/file_indexer/ignore_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.1 → drydock_cli-2.6.2}/drydock/core/config/harness_files/_harness_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|