drydock-cli 2.6.7__tar.gz → 2.6.8__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.8/.auto_release.lock +1 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/PKG-INFO +1 -1
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/app.py +10 -2
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/agent_loop.py +4 -4
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/gemma4.md +1 -1
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/manager.py +1 -1
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/pyproject.toml +1 -1
- drydock_cli-2.6.8/tests/test_user_issues.py +67 -0
- drydock_cli-2.6.7/.auto_release.lock +0 -1
- drydock_cli-2.6.7/tests/test_user_issues.py +0 -265
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.gitignore +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.python-version +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.typos.toml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.vscode/extensions.json +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.vscode/launch.json +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/.vscode/settings.json +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/AGENTS.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/CHANGELOG.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/CLAUDE.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/Drydock_rebrand.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/LICENSE +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/NOTICE +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/PRD.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/README.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/action.yml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/docs/README.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/docs/acp-setup.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/logger.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/paths/_vibe_home.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/slug.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/task_manager.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/types.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/core/utils.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/whats_new.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock-acp.spec +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock_terms.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/flake.lock +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/flake.nix +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/log_analyzer/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/log_analyzer/__main__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/log_analyzer/analyzer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/log_analyzer/cli.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/README.md +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/auto_test_loop.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/backup.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/bump_version.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/discover_cli_tools.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/install.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/llm_balancer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/monitor_swebench.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/monitor_test_battery.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/notify_release.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/overnight_agents_test.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/prepare_release.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/test_bank.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/test_full.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/test_smoke.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/test_tui_path.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/tui_test.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/scripts/vllm_failover.sh +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/conftest.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/e2e/common.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/mock/utils.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/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.7 → drydock_cli-2.6.8}/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.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_agents.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_integration.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_message_id.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_middleware.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_smoke.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/test_workloads.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.6.7 → drydock_cli-2.6.8}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3923516
|
|
@@ -394,10 +394,18 @@ class VibeApp(App): # noqa: PLR0904
|
|
|
394
394
|
input_widget.value = ""
|
|
395
395
|
|
|
396
396
|
if self._agent_running:
|
|
397
|
-
# Queue the message
|
|
397
|
+
# Queue the message — join rapid-fire inputs (multi-line paste)
|
|
398
398
|
if not hasattr(self, "_pending_messages"):
|
|
399
399
|
self._pending_messages: list[str] = []
|
|
400
|
-
|
|
400
|
+
import time
|
|
401
|
+
now = time.time()
|
|
402
|
+
last_queue_time = getattr(self, "_last_queue_time", 0)
|
|
403
|
+
if now - last_queue_time < 0.5 and self._pending_messages:
|
|
404
|
+
# Rapid input (< 500ms apart) = likely paste — join with newline
|
|
405
|
+
self._pending_messages[-1] += "\n" + value
|
|
406
|
+
else:
|
|
407
|
+
self._pending_messages.append(value)
|
|
408
|
+
self._last_queue_time = now
|
|
401
409
|
preview = value[:60] + "..." if len(value) > 60 else value
|
|
402
410
|
self.notify(f"Queued: \"{preview}\" ({len(self._pending_messages)} pending)")
|
|
403
411
|
return
|
|
@@ -752,7 +752,7 @@ class AgentLoop:
|
|
|
752
752
|
- Other (bash with commands): block after 3
|
|
753
753
|
"""
|
|
754
754
|
args_str = json.dumps(tool_call.args_dict, sort_keys=True, default=str)
|
|
755
|
-
sig = hashlib.
|
|
755
|
+
sig = hashlib.sha256(
|
|
756
756
|
f"{tool_call.tool_name}:{args_str}".encode()
|
|
757
757
|
).hexdigest()
|
|
758
758
|
|
|
@@ -804,7 +804,7 @@ class AgentLoop:
|
|
|
804
804
|
def _circuit_breaker_record(self, tool_call: ResolvedToolCall, result_text: str) -> None:
|
|
805
805
|
"""Record a tool call execution for circuit breaker tracking."""
|
|
806
806
|
args_str = json.dumps(tool_call.args_dict, sort_keys=True, default=str)
|
|
807
|
-
sig = hashlib.
|
|
807
|
+
sig = hashlib.sha256(
|
|
808
808
|
f"{tool_call.tool_name}:{args_str}".encode()
|
|
809
809
|
).hexdigest()
|
|
810
810
|
count, _ = self._tool_call_history.get(sig, (0, ""))
|
|
@@ -1509,7 +1509,7 @@ class AgentLoop:
|
|
|
1509
1509
|
f"{tc.function.name}:{tc.function.arguments}"
|
|
1510
1510
|
)
|
|
1511
1511
|
tool_names.append(tc.function.name or "")
|
|
1512
|
-
sig = hashlib.
|
|
1512
|
+
sig = hashlib.sha256(
|
|
1513
1513
|
"|".join(sorted(call_parts)).encode()
|
|
1514
1514
|
).hexdigest()[:16]
|
|
1515
1515
|
sigs.append(sig)
|
|
@@ -1942,7 +1942,7 @@ class AgentLoop:
|
|
|
1942
1942
|
except (json.JSONDecodeError, TypeError):
|
|
1943
1943
|
pass
|
|
1944
1944
|
call_parts.append(f"{fn_name}:{fn_args}")
|
|
1945
|
-
sig = hashlib.
|
|
1945
|
+
sig = hashlib.sha256("|".join(sorted(call_parts)).encode()).hexdigest()[:16]
|
|
1946
1946
|
|
|
1947
1947
|
if sig in seen_sigs:
|
|
1948
1948
|
# Duplicate — mark for removal (assistant msg + next tool result)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
You are DryDock, a CLI coding agent. You write code, fix bugs, and build projects.
|
|
2
2
|
|
|
3
|
-
ACT IMMEDIATELY.
|
|
3
|
+
ACT IMMEDIATELY. Your FIRST response must be a tool call — not text. Do NOT explain, plan, or ask. Call a tool NOW.
|
|
4
4
|
|
|
5
5
|
Your tools: read_file, write_file, search_replace, grep, glob, bash.
|
|
6
6
|
|
|
@@ -49,7 +49,7 @@ def _compute_module_name(path: Path) -> str:
|
|
|
49
49
|
return canonical
|
|
50
50
|
|
|
51
51
|
resolved = path.resolve()
|
|
52
|
-
path_hash = hashlib.
|
|
52
|
+
path_hash = hashlib.sha256(str(resolved).encode()).hexdigest()[:8]
|
|
53
53
|
stem = re.sub(r"[^0-9A-Za-z_]", "_", path.stem) or "mod"
|
|
54
54
|
return f"vibe_tools_discovered_{stem}_{path_hash}"
|
|
55
55
|
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"""Tests for user-reported issues (2026-04-07).
|
|
2
|
+
|
|
3
|
+
Each test should FAIL before the fix and PASS after.
|
|
4
|
+
"""
|
|
5
|
+
import hashlib
|
|
6
|
+
import pytest
|
|
7
|
+
from unittest.mock import patch, MagicMock
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class TestMD5Crash:
|
|
11
|
+
"""#61: Crash after install — md5 error in manager.py."""
|
|
12
|
+
|
|
13
|
+
def test_md5_usedforsecurity(self):
|
|
14
|
+
"""md5 should work with usedforsecurity=False."""
|
|
15
|
+
h = hashlib.md5(b"test", usedforsecurity=False)
|
|
16
|
+
assert h.hexdigest() == "098f6bcd4621d373cade4e832627b4f6"
|
|
17
|
+
|
|
18
|
+
def test_tool_manager_import(self):
|
|
19
|
+
"""Tool manager should not crash on import."""
|
|
20
|
+
from drydock.core.tools.manager import ToolManager
|
|
21
|
+
assert ToolManager is not None
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class TestSearchReplaceGarbled:
|
|
25
|
+
"""#55: search_replace garbled characters."""
|
|
26
|
+
|
|
27
|
+
def test_garbled_detection(self):
|
|
28
|
+
from drydock.core.tools.builtins.search_replace import SearchReplaceArgs
|
|
29
|
+
args = SearchReplaceArgs.model_validate({
|
|
30
|
+
"file_path": "test.py",
|
|
31
|
+
"content": "<<<<<<< SEARCH\nold text\n=======\nnew text\n>>>>>>> REPLACE",
|
|
32
|
+
})
|
|
33
|
+
assert args.file_path == "test.py"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class TestTodoEnumQuotes:
|
|
37
|
+
"""#60: Todo enum quoting issues."""
|
|
38
|
+
|
|
39
|
+
def test_double_quoted(self):
|
|
40
|
+
from drydock.core.tools.builtins.todo import TodoItem
|
|
41
|
+
item = TodoItem.model_validate({
|
|
42
|
+
"id": "1", "content": "test",
|
|
43
|
+
"status": '"completed"', "priority": '"high"',
|
|
44
|
+
})
|
|
45
|
+
assert item.status.value == "completed"
|
|
46
|
+
|
|
47
|
+
def test_single_quoted(self):
|
|
48
|
+
from drydock.core.tools.builtins.todo import TodoItem
|
|
49
|
+
item = TodoItem.model_validate({
|
|
50
|
+
"id": "1", "content": "test",
|
|
51
|
+
"status": "'completed'", "priority": "'high'",
|
|
52
|
+
})
|
|
53
|
+
assert item.status.value == "completed"
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class TestEmptyState:
|
|
57
|
+
"""#58: IndexError on empty lists."""
|
|
58
|
+
|
|
59
|
+
def test_empty_tool_calls(self):
|
|
60
|
+
from drydock.core.types import LLMMessage, Role
|
|
61
|
+
msg = LLMMessage(role=Role.assistant, content="hello", tool_calls=None)
|
|
62
|
+
calls = msg.tool_calls or []
|
|
63
|
+
assert calls == []
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
if __name__ == "__main__":
|
|
67
|
+
pytest.main([__file__, "-v"])
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3888135
|
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
"""Tests for user-reported issues.
|
|
2
|
-
|
|
3
|
-
Each test should FAIL before the fix, proving the issue exists.
|
|
4
|
-
After fixing, all should pass.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from __future__ import annotations
|
|
8
|
-
|
|
9
|
-
import inspect
|
|
10
|
-
import os
|
|
11
|
-
from pathlib import Path
|
|
12
|
-
from types import SimpleNamespace
|
|
13
|
-
from unittest.mock import patch
|
|
14
|
-
|
|
15
|
-
import pytest
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
# ============================================================================
|
|
19
|
-
# Issue 1: "DryDock" branding — should be DryDock not Drydock everywhere
|
|
20
|
-
# ============================================================================
|
|
21
|
-
|
|
22
|
-
class TestBranding:
|
|
23
|
-
def test_readme_says_drydock_capital(self):
|
|
24
|
-
readme = Path(__file__).parent.parent / "README.md"
|
|
25
|
-
content = readme.read_text()
|
|
26
|
-
# Title should be "# DryDock" not "# Drydock"
|
|
27
|
-
assert "# DryDock" in content
|
|
28
|
-
|
|
29
|
-
def test_system_prompt_says_drydock(self):
|
|
30
|
-
prompt = Path(__file__).parent.parent / "drydock" / "core" / "prompts" / "cli.md"
|
|
31
|
-
content = prompt.read_text()
|
|
32
|
-
# Should say "DryDock" not "Drydock" as the product name
|
|
33
|
-
assert "DryDock" in content
|
|
34
|
-
|
|
35
|
-
def test_loading_widget_says_drydock(self):
|
|
36
|
-
from drydock.cli.textual_ui.widgets.loading import LoadingWidget
|
|
37
|
-
widget = LoadingWidget.__new__(LoadingWidget)
|
|
38
|
-
status = widget._get_default_status()
|
|
39
|
-
# Anchor emoji is fine, but product references should be DryDock
|
|
40
|
-
assert status # Just verify it doesn't crash
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
# ============================================================================
|
|
44
|
-
# Issue 5: What conda env is pip using? Should preserve user's env
|
|
45
|
-
# ============================================================================
|
|
46
|
-
|
|
47
|
-
class TestCondaEnv:
|
|
48
|
-
def test_bash_env_preserves_active_conda(self):
|
|
49
|
-
"""If user has CONDA_DEFAULT_ENV set, bash should preserve it."""
|
|
50
|
-
from drydock.core.tools.builtins.bash import _get_base_env
|
|
51
|
-
with patch.dict(os.environ, {"CONDA_DEFAULT_ENV": "myproject", "CONDA_EXE": "/opt/conda/bin/conda"}):
|
|
52
|
-
env = _get_base_env()
|
|
53
|
-
# BASH_ENV should reference the user's env, not just base
|
|
54
|
-
if "BASH_ENV" in env:
|
|
55
|
-
bash_env_content = Path(env["BASH_ENV"]).read_text() if Path(env["BASH_ENV"]).exists() else ""
|
|
56
|
-
# Should activate the user's env, not just source conda.sh
|
|
57
|
-
assert "myproject" in bash_env_content or "CONDA_DEFAULT_ENV" in str(env)
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
# ============================================================================
|
|
61
|
-
# Issue 6: Circuit breaker shows message but still repeats
|
|
62
|
-
# ============================================================================
|
|
63
|
-
|
|
64
|
-
class TestCircuitBreakerEnforcement:
|
|
65
|
-
def test_circuit_breaker_disabled(self):
|
|
66
|
-
"""Circuit breaker is disabled — even failed commands are never blocked."""
|
|
67
|
-
from drydock.core.agent_loop import AgentLoop
|
|
68
|
-
from drydock.core.types import MessageList
|
|
69
|
-
|
|
70
|
-
al = object.__new__(AgentLoop)
|
|
71
|
-
al.messages = MessageList()
|
|
72
|
-
al._tool_call_history = {}
|
|
73
|
-
|
|
74
|
-
tc = SimpleNamespace(tool_name="bash", args_dict={"command": "bad_cmd"})
|
|
75
|
-
for _ in range(3):
|
|
76
|
-
al._circuit_breaker_record(tc, "FAILED: command not found")
|
|
77
|
-
|
|
78
|
-
# CB is disabled — always returns None
|
|
79
|
-
assert al._circuit_breaker_check(tc) is None
|
|
80
|
-
|
|
81
|
-
def test_circuit_breaker_resets_for_new_conversation(self):
|
|
82
|
-
"""Circuit breaker history is clearable between conversations."""
|
|
83
|
-
from drydock.core.agent_loop import AgentLoop
|
|
84
|
-
from drydock.core.types import MessageList
|
|
85
|
-
|
|
86
|
-
al = object.__new__(AgentLoop)
|
|
87
|
-
al.messages = MessageList()
|
|
88
|
-
al._tool_call_history = {}
|
|
89
|
-
|
|
90
|
-
tc = SimpleNamespace(tool_name="bash", args_dict={"command": "bad_cmd"})
|
|
91
|
-
for _ in range(3):
|
|
92
|
-
al._circuit_breaker_record(tc, "FAILED: command not found")
|
|
93
|
-
# CB is disabled — returns None even before clearing
|
|
94
|
-
assert al._circuit_breaker_check(tc) is None
|
|
95
|
-
|
|
96
|
-
# Simulate new conversation — history should be clearable
|
|
97
|
-
al._tool_call_history.clear()
|
|
98
|
-
assert al._circuit_breaker_check(tc) is None # Still None
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
# ============================================================================
|
|
102
|
-
# Issue 7: "Understood" after errors then stops
|
|
103
|
-
# ============================================================================
|
|
104
|
-
|
|
105
|
-
class TestUnderstoodBug:
|
|
106
|
-
def test_no_understood_in_agent(self):
|
|
107
|
-
"""The agent should not inject 'Understood.' which causes premature stops."""
|
|
108
|
-
from drydock.core.agent_loop import AgentLoop
|
|
109
|
-
src = inspect.getsource(AgentLoop)
|
|
110
|
-
# "Understood." was causing the model to think conversation ended
|
|
111
|
-
assert "Understood" not in src, \
|
|
112
|
-
"'Understood' found in agent_loop — should use 'Continuing...' instead"
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
# ============================================================================
|
|
116
|
-
# Issue 10: Circuit breaker too sensitive — same command later should be OK
|
|
117
|
-
# ============================================================================
|
|
118
|
-
|
|
119
|
-
class TestCircuitBreakerSensitivity:
|
|
120
|
-
def test_successful_commands_never_blocked(self):
|
|
121
|
-
"""Successful commands are never blocked."""
|
|
122
|
-
from drydock.core.agent_loop import AgentLoop
|
|
123
|
-
from drydock.core.types import MessageList
|
|
124
|
-
|
|
125
|
-
al = object.__new__(AgentLoop)
|
|
126
|
-
al.messages = MessageList()
|
|
127
|
-
al._tool_call_history = {}
|
|
128
|
-
|
|
129
|
-
tc = SimpleNamespace(tool_name="bash", args_dict={"command": "git status"})
|
|
130
|
-
for _ in range(10):
|
|
131
|
-
al._circuit_breaker_record(tc, "clean")
|
|
132
|
-
assert al._circuit_breaker_check(tc) is None # Never blocked
|
|
133
|
-
|
|
134
|
-
def test_failed_commands_not_blocked_cb_disabled(self):
|
|
135
|
-
"""CB disabled — failed commands are NOT blocked even after 3 repeats."""
|
|
136
|
-
from drydock.core.agent_loop import AgentLoop
|
|
137
|
-
from drydock.core.types import MessageList
|
|
138
|
-
|
|
139
|
-
al = object.__new__(AgentLoop)
|
|
140
|
-
al.messages = MessageList()
|
|
141
|
-
al._tool_call_history = {}
|
|
142
|
-
|
|
143
|
-
tc = SimpleNamespace(tool_name="bash", args_dict={"command": "git status"})
|
|
144
|
-
for _ in range(3):
|
|
145
|
-
al._circuit_breaker_record(tc, "FAILED: not a git repo")
|
|
146
|
-
assert al._circuit_breaker_check(tc) is None # CB disabled
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
# ============================================================================
|
|
150
|
-
# Issue 11: /consult needs to show which model is being used
|
|
151
|
-
# ============================================================================
|
|
152
|
-
|
|
153
|
-
class TestConsultModelDisplay:
|
|
154
|
-
def test_consult_handler_shows_model_name(self):
|
|
155
|
-
"""The /consult response should include the model name."""
|
|
156
|
-
from drydock.cli.textual_ui.app import VibeApp
|
|
157
|
-
src = inspect.getsource(VibeApp._consult_command)
|
|
158
|
-
# Should display which model is being used
|
|
159
|
-
assert "consultant_model" in src or "model" in src
|
|
160
|
-
|
|
161
|
-
def test_consult_help_shows_config_instructions(self):
|
|
162
|
-
"""Typing /consult with no args should show how to configure."""
|
|
163
|
-
from drydock.cli.textual_ui.app import VibeApp
|
|
164
|
-
src = inspect.getsource(VibeApp._consult_command)
|
|
165
|
-
assert "config.toml" in src or "consultant_model" in src
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
# ============================================================================
|
|
169
|
-
# Issue 12: SSL error on websearch — should use -k / DRYDOCK_INSECURE
|
|
170
|
-
# ============================================================================
|
|
171
|
-
|
|
172
|
-
class TestWebSearchSSL:
|
|
173
|
-
def test_websearch_respects_insecure_flag(self):
|
|
174
|
-
"""WebSearch should check DRYDOCK_INSECURE env var."""
|
|
175
|
-
from drydock.core.tools.builtins.websearch import WebSearch
|
|
176
|
-
src = inspect.getsource(WebSearch)
|
|
177
|
-
assert "DRYDOCK_INSECURE" in src or "insecure" in src.lower() or "verify" in src
|
|
178
|
-
|
|
179
|
-
def test_webfetch_respects_insecure_flag(self):
|
|
180
|
-
"""WebFetch should check DRYDOCK_INSECURE env var."""
|
|
181
|
-
from drydock.core.tools.builtins.webfetch import WebFetch
|
|
182
|
-
src = inspect.getsource(WebFetch)
|
|
183
|
-
assert "DRYDOCK_INSECURE" in src
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
# ============================================================================
|
|
187
|
-
# Issue 14: Config.toml consultant_model setup
|
|
188
|
-
# ============================================================================
|
|
189
|
-
|
|
190
|
-
class TestConsultantConfig:
|
|
191
|
-
def test_config_has_consultant_model_field(self):
|
|
192
|
-
"""VibeConfig should have consultant_model field."""
|
|
193
|
-
from drydock.core.config import VibeConfig
|
|
194
|
-
assert hasattr(VibeConfig, "model_fields")
|
|
195
|
-
assert "consultant_model" in VibeConfig.model_fields
|
|
196
|
-
|
|
197
|
-
def test_consultant_model_documented_in_readme(self):
|
|
198
|
-
"""README should mention how to set consultant_model."""
|
|
199
|
-
readme = Path(__file__).parent.parent / "README.md"
|
|
200
|
-
content = readme.read_text()
|
|
201
|
-
assert "consultant_model" in content or "consultant" in content.lower()
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
# ============================================================================
|
|
205
|
-
# Issue 15: Auto-consult agent — model should ask consultant when stuck
|
|
206
|
-
# ============================================================================
|
|
207
|
-
|
|
208
|
-
class TestAutoConsult:
|
|
209
|
-
def test_circuit_breaker_disabled_returns_none(self):
|
|
210
|
-
"""CB is disabled — returns None even for repeatedly failed commands."""
|
|
211
|
-
from drydock.core.agent_loop import AgentLoop
|
|
212
|
-
from drydock.core.types import MessageList
|
|
213
|
-
|
|
214
|
-
al = object.__new__(AgentLoop)
|
|
215
|
-
al.messages = MessageList()
|
|
216
|
-
al._tool_call_history = {}
|
|
217
|
-
|
|
218
|
-
tc = SimpleNamespace(tool_name="bash", args_dict={"command": "bad_cmd"})
|
|
219
|
-
for _ in range(3):
|
|
220
|
-
al._circuit_breaker_record(tc, "FAILED: command not found")
|
|
221
|
-
assert al._circuit_breaker_check(tc) is None
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
# ============================================================================
|
|
225
|
-
# Issue 16: /consult should include conversation history
|
|
226
|
-
# ============================================================================
|
|
227
|
-
|
|
228
|
-
class TestConsultHistory:
|
|
229
|
-
def test_consult_sends_context(self):
|
|
230
|
-
"""/consult handler should send conversation context to consultant."""
|
|
231
|
-
from drydock.core.consultant import ask_consultant
|
|
232
|
-
src = inspect.getsource(ask_consultant)
|
|
233
|
-
# Should accept and use context/conversation history
|
|
234
|
-
assert "context" in src or "messages" in src or "history" in src
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
# ============================================================================
|
|
238
|
-
# Issue 17: Deep research skill should exist
|
|
239
|
-
# ============================================================================
|
|
240
|
-
|
|
241
|
-
class TestDeepResearchSkill:
|
|
242
|
-
def test_research_skill_exists(self):
|
|
243
|
-
"""A deep-research skill should be bundled."""
|
|
244
|
-
skills_dir = Path(__file__).parent.parent / "drydock" / "skills"
|
|
245
|
-
skill_dirs = [d.name for d in skills_dir.iterdir() if d.is_dir()] if skills_dir.exists() else []
|
|
246
|
-
has_research = any("research" in d for d in skill_dirs)
|
|
247
|
-
assert has_research, f"No research skill found. Available: {skill_dirs}"
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
# ============================================================================
|
|
251
|
-
# Issue 18: Not using agents — explore/diagnostic agents should be utilized
|
|
252
|
-
# ============================================================================
|
|
253
|
-
|
|
254
|
-
class TestAgentsAvailable:
|
|
255
|
-
def test_explore_agent_registered(self):
|
|
256
|
-
"""The 'explore' agent should be registered."""
|
|
257
|
-
from drydock.core.agents.models import BuiltinAgentName
|
|
258
|
-
assert hasattr(BuiltinAgentName, "EXPLORE") or "explore" in dir(BuiltinAgentName)
|
|
259
|
-
|
|
260
|
-
def test_system_prompt_mentions_agents(self):
|
|
261
|
-
"""System prompt should tell the model about available agents."""
|
|
262
|
-
prompt = Path(__file__).parent.parent / "drydock" / "core" / "prompts" / "cli.md"
|
|
263
|
-
content = prompt.read_text()
|
|
264
|
-
has_agent_ref = "agent" in content.lower() or "subagent" in content.lower() or "task" in content.lower()
|
|
265
|
-
assert has_agent_ref
|
|
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.7 → drydock_cli-2.6.8}/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
|
{drydock_cli-2.6.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/notifications/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.7 → drydock_cli-2.6.8}/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.7 → drydock_cli-2.6.8}/drydock/cli/textual_ui/widgets/chat_input/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|