drydock-cli 2.2.0__tar.gz → 2.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/PKG-INFO +1 -1
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/agent_loop.py +15 -47
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/pyproject.toml +1 -1
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.gitignore +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.python-version +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.typos.toml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.vscode/extensions.json +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.vscode/launch.json +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/.vscode/settings.json +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/AGENTS.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/CHANGELOG.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/CLAUDE.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/Drydock_rebrand.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/LICENSE +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/NOTICE +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/PRD.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/README.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/action.yml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/docs/README.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/docs/acp-setup.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/logger.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/paths/_vibe_home.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/slug.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/task_manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/types.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/core/utils.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock/whats_new.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock-acp.spec +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/drydock_terms.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/flake.lock +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/flake.nix +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/README.md +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/auto_test_loop.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/backup.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/bump_version.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/install.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/monitor_test_battery.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/notify_release.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/overnight_agents_test.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/prepare_release.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/test_bank.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/test_full.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/scripts/test_smoke.sh +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/conftest.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/e2e/common.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/mock/utils.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/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.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_agents.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_integration.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_message_id.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_middleware.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_smoke.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/test_workloads.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.2.0 → drydock_cli-2.2.1}/uv.lock +0 -0
|
@@ -699,15 +699,12 @@ class AgentLoop:
|
|
|
699
699
|
"Your NEXT action MUST be write_file to create a file or "
|
|
700
700
|
"search_replace to edit one. Do NOT run any more bash commands."
|
|
701
701
|
)
|
|
702
|
-
elif bash_count >= 10:
|
|
703
|
-
#
|
|
704
|
-
self._prune_repeated_tool_calls()
|
|
702
|
+
elif bash_count >= 10 and bash_count % 5 == 0:
|
|
703
|
+
# Nudge every 5 bash calls, never stop
|
|
705
704
|
self._inject_system_note(
|
|
706
|
-
"You have run
|
|
707
|
-
"
|
|
708
|
-
"ask the user what to do."
|
|
705
|
+
"You have run many bash commands. Consider using write_file "
|
|
706
|
+
"or search_replace to create/edit files."
|
|
709
707
|
)
|
|
710
|
-
bash_count = 6 # Reset partially so it doesn't re-trigger immediately
|
|
711
708
|
|
|
712
709
|
# 3-Strike Rule: search_replace keeps failing
|
|
713
710
|
if search_replace_failures >= 3:
|
|
@@ -824,55 +821,26 @@ class AgentLoop:
|
|
|
824
821
|
if nudge_text:
|
|
825
822
|
self._inject_system_note(nudge_text)
|
|
826
823
|
|
|
827
|
-
#
|
|
824
|
+
# Loop guidance — prune duplicates and nudge, NEVER stop
|
|
828
825
|
if not should_break_loop:
|
|
829
826
|
rep = self._check_tool_call_repetition()
|
|
830
|
-
if rep == "FORCE_STOP":
|
|
831
|
-
repeat_warnings += 1
|
|
832
|
-
logger.warning("Loop detected: same call %d+ times (redirect %d)", REPEAT_FORCE_STOP_THRESHOLD, repeat_warnings)
|
|
833
|
-
# Prune repeated calls and redirect — NEVER stop
|
|
834
|
-
self._prune_repeated_tool_calls()
|
|
835
|
-
if repeat_warnings <= 3:
|
|
836
|
-
self._inject_system_note(
|
|
837
|
-
"You are repeating the same action. Try a DIFFERENT approach:\n"
|
|
838
|
-
"- If searching: pick a different search term or file\n"
|
|
839
|
-
"- If testing: read the error and fix the code first\n"
|
|
840
|
-
"- If stuck: use task(agent='explore') to get a fresh perspective",
|
|
841
|
-
replace_last_tool=True,
|
|
842
|
-
)
|
|
843
|
-
else:
|
|
844
|
-
# After 3+ redirects, ask the user what to do
|
|
845
|
-
self._inject_system_note(
|
|
846
|
-
"You have been redirected multiple times for repeating actions. "
|
|
847
|
-
"Ask the user for clarification on what to do next.",
|
|
848
|
-
replace_last_tool=True,
|
|
849
|
-
)
|
|
850
|
-
elif rep and rep.startswith("WARNING"):
|
|
827
|
+
if rep == "FORCE_STOP" or (rep and rep.startswith("WARNING")):
|
|
851
828
|
stuck_tool = ""
|
|
852
|
-
if "|" in rep:
|
|
829
|
+
if rep and "|" in rep:
|
|
853
830
|
stuck_tool = rep.split("|", 1)[1]
|
|
854
|
-
is_investigation = not has_made_edit and stuck_tool in ("grep", "read_file")
|
|
855
|
-
if is_investigation:
|
|
856
|
-
repeat_warnings += 0.3
|
|
857
|
-
else:
|
|
858
|
-
repeat_warnings += 1
|
|
859
|
-
logger.warning("Repeated tool calls (warning %.1f, investigation=%s)", repeat_warnings, is_investigation)
|
|
860
831
|
|
|
861
|
-
# Prune
|
|
862
|
-
|
|
863
|
-
self._prune_repeated_tool_calls()
|
|
832
|
+
# Prune duplicate tool calls to give model fresh context
|
|
833
|
+
self._prune_repeated_tool_calls()
|
|
864
834
|
|
|
865
|
-
#
|
|
866
|
-
nudge = ""
|
|
835
|
+
# Gentle nudge — just suggest a different approach
|
|
836
|
+
nudge = "Try a different approach."
|
|
867
837
|
if stuck_tool in ("read_file",):
|
|
868
|
-
nudge = "
|
|
838
|
+
nudge = "You already read this. Try search_replace or a different file."
|
|
869
839
|
elif stuck_tool in ("grep",):
|
|
870
|
-
nudge = "
|
|
840
|
+
nudge = "Try a different search term or read a file you found."
|
|
871
841
|
elif stuck_tool in ("bash", "run_command"):
|
|
872
|
-
nudge = "
|
|
873
|
-
self._inject_system_note(
|
|
874
|
-
f"You are repeating the same tool call.{nudge} Try something different."
|
|
875
|
-
)
|
|
842
|
+
nudge = "If the command failed, read the error and fix the code."
|
|
843
|
+
self._inject_system_note(nudge)
|
|
876
844
|
|
|
877
845
|
# Extract tool-specific nudge
|
|
878
846
|
nudge = ""
|
|
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.2.0 → drydock_cli-2.2.1}/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.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/notifications/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-2.2.0 → drydock_cli-2.2.1}/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.2.0 → drydock_cli-2.2.1}/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.2.0 → drydock_cli-2.2.1}/drydock/cli/textual_ui/widgets/chat_input/container.py
RENAMED
|
File without changes
|
{drydock_cli-2.2.0 → drydock_cli-2.2.1}/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.2.0 → drydock_cli-2.2.1}/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.2.0 → drydock_cli-2.2.1}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py
RENAMED
|
File without changes
|
{drydock_cli-2.2.0 → drydock_cli-2.2.1}/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.2.0 → drydock_cli-2.2.1}/drydock/core/autocompletion/file_indexer/__init__.py
RENAMED
|
File without changes
|
{drydock_cli-2.2.0 → drydock_cli-2.2.1}/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.2.0 → drydock_cli-2.2.1}/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
|
|
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
|