drydock-cli 1.6.7__tar.gz → 1.6.9__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-1.6.7 → drydock_cli-1.6.9}/PKG-INFO +1 -1
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/build_orchestrator.py +61 -3
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/pyproject.toml +1 -1
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.github/CODEOWNERS +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.github/workflows/ci.yml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.github/workflows/release.yml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.gitignore +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.pre-commit-config.yaml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.python-version +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.typos.toml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.vscode/extensions.json +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.vscode/launch.json +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/.vscode/settings.json +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/AGENTS.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/CHANGELOG.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/CLAUDE.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/CONTRIBUTING.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/Drydock_rebrand.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/LICENSE +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/NOTICE +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/PRD.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/README.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/action.yml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/distribution/zed/LICENSE +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/distribution/zed/extension.toml +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/docs/README.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/docs/acp-setup.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/docs/proxy-setup.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/acp/utils.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/cli.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/commands.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/agent_loop.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/agents/models.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/auth/github.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/consultant.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/hooks.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/format.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/llm/types.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/logger.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/middleware.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/paths/_vibe_home.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/plan_session.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/plugins.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/programmatic.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/skills/models.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/slug.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/base.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/task_manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/types.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/utils.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/skills/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/whats_new.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock-acp.spec +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock_terms.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/flake.lock +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/flake.nix +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/README.md +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/backup.sh +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/bump_version.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/install.sh +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/monitor_test_battery.sh +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/prepare_release.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/test_bank.sh +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/test_full.sh +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/scripts/test_smoke.sh +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/conftest.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_acp.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_bash.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_content.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_utils.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/backend/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/backend/test_backend.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_commands.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/conftest.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_agents.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_slug.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/core/test_utils.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/e2e/common.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/e2e/conftest.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/mock/__init__.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/mock/utils.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/skills/conftest.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/skills/test_manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/skills/test_models.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/skills/test_parser.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_agent_backend.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_agent_stats.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_agents.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_bank_build.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_bank_debug.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_bank_prd.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_bank_tools.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_bank_update.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_build_projects.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_current_bugs.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_full_regression.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_history_manager.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_integration.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_loop_detection.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_message_id.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_message_merging.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_middleware.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_multi_agent.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_real_failures.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_real_issues.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_real_workflow.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_smoke.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_system_prompt.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_tagged_text.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_user_issues.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/test_workloads.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/testbank_helpers.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_bash.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_grep.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_task.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-1.6.7 → drydock_cli-1.6.9}/uv.lock +0 -0
|
@@ -293,8 +293,11 @@ async def implement_file(
|
|
|
293
293
|
{"role": "system", "content": (
|
|
294
294
|
"You are a code implementation agent. Write a CONCISE Python file. "
|
|
295
295
|
"Output ONLY Python code. No markdown fences. No explanation. "
|
|
296
|
+
"FIRST LINE MUST BE: from __future__ import annotations\n"
|
|
296
297
|
"Keep it under 150 lines. Use absolute imports (from pkg.module import X). "
|
|
297
|
-
"Do NOT use relative imports.
|
|
298
|
+
"Do NOT use relative imports. Do NOT import classes just for type hints — "
|
|
299
|
+
"use string literals instead: def foo(x: 'ClassName'). "
|
|
300
|
+
"Import EXACT names from the EXISTING APIs listed."
|
|
298
301
|
)},
|
|
299
302
|
{"role": "user", "content": prompt},
|
|
300
303
|
]
|
|
@@ -341,6 +344,11 @@ async def implement_file(
|
|
|
341
344
|
logger.warning("Syntax error in generated %s: %s", file_spec.path, e)
|
|
342
345
|
return False
|
|
343
346
|
|
|
347
|
+
# Ensure from __future__ import annotations is first line
|
|
348
|
+
if "from __future__ import annotations" not in content:
|
|
349
|
+
content = "from __future__ import annotations\n\n" + content
|
|
350
|
+
file_path.write_text(content)
|
|
351
|
+
|
|
344
352
|
return True
|
|
345
353
|
|
|
346
354
|
except Exception as e:
|
|
@@ -398,9 +406,10 @@ async def run_build_pipeline(
|
|
|
398
406
|
logger.warning(" Attempt %d error for %s: %s", attempt + 1, file_spec.path, e)
|
|
399
407
|
results.append((file_spec.path, success))
|
|
400
408
|
|
|
401
|
-
# Phase 3.5: Auto-fix cross-file import mismatches
|
|
402
|
-
logger.info("BUILD PHASE 3.5: Fixing
|
|
409
|
+
# Phase 3.5: Auto-fix cross-file import mismatches and circular imports
|
|
410
|
+
logger.info("BUILD PHASE 3.5: Fixing imports...")
|
|
403
411
|
_fix_cross_file_imports(plan, base_dir)
|
|
412
|
+
_fix_circular_imports(plan, base_dir)
|
|
404
413
|
|
|
405
414
|
# Build summary
|
|
406
415
|
succeeded = sum(1 for _, ok in results if ok)
|
|
@@ -534,6 +543,55 @@ def _find_closest(name: str, available: set[str]) -> str | None:
|
|
|
534
543
|
return None
|
|
535
544
|
|
|
536
545
|
|
|
546
|
+
def _fix_circular_imports(plan: BuildPlan, base_dir: Path) -> None:
|
|
547
|
+
"""Detect and break circular imports by removing unnecessary ones."""
|
|
548
|
+
import ast
|
|
549
|
+
|
|
550
|
+
# Build import graph: module -> set of modules it imports from
|
|
551
|
+
graph: dict[str, set[str]] = {}
|
|
552
|
+
for f in plan.files:
|
|
553
|
+
fp = base_dir / f.path
|
|
554
|
+
if not fp.exists():
|
|
555
|
+
continue
|
|
556
|
+
module = f"{plan.package_name}.{fp.stem}"
|
|
557
|
+
graph[module] = set()
|
|
558
|
+
try:
|
|
559
|
+
tree = ast.parse(fp.read_text())
|
|
560
|
+
for node in ast.walk(tree):
|
|
561
|
+
if isinstance(node, ast.ImportFrom) and node.module:
|
|
562
|
+
if node.module.startswith(plan.package_name + "."):
|
|
563
|
+
graph[module].add(node.module)
|
|
564
|
+
except Exception:
|
|
565
|
+
continue
|
|
566
|
+
|
|
567
|
+
# Find cycles
|
|
568
|
+
for mod_a in graph:
|
|
569
|
+
for mod_b in graph.get(mod_a, set()):
|
|
570
|
+
if mod_a in graph.get(mod_b, set()):
|
|
571
|
+
# Circular: A imports B and B imports A
|
|
572
|
+
# Break by removing the import from the "utility" module
|
|
573
|
+
# (the one with fewer definitions is likely the utility)
|
|
574
|
+
file_a = base_dir / plan.package_name / f"{mod_a.split('.')[-1]}.py"
|
|
575
|
+
file_b = base_dir / plan.package_name / f"{mod_b.split('.')[-1]}.py"
|
|
576
|
+
try:
|
|
577
|
+
content_b = file_b.read_text()
|
|
578
|
+
# Remove the import line from B that imports A
|
|
579
|
+
lines = content_b.split("\n")
|
|
580
|
+
new_lines = []
|
|
581
|
+
removed = False
|
|
582
|
+
for line in lines:
|
|
583
|
+
if f"from {mod_a} import" in line and not removed:
|
|
584
|
+
logger.info("Breaking circular import: removed '%s' from %s",
|
|
585
|
+
line.strip(), file_b.name)
|
|
586
|
+
removed = True
|
|
587
|
+
continue
|
|
588
|
+
new_lines.append(line)
|
|
589
|
+
if removed:
|
|
590
|
+
file_b.write_text("\n".join(new_lines))
|
|
591
|
+
except Exception:
|
|
592
|
+
pass
|
|
593
|
+
|
|
594
|
+
|
|
537
595
|
def _fix_imports(file_path: Path, package_name: str) -> None:
|
|
538
596
|
"""Fix relative imports in a file to absolute imports."""
|
|
539
597
|
try:
|
|
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-1.6.7 → drydock_cli-1.6.9}/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-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/notifications/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.7 → drydock_cli-1.6.9}/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-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/chat_input/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/cli/textual_ui/widgets/chat_input/container.py
RENAMED
|
File without changes
|
{drydock_cli-1.6.7 → drydock_cli-1.6.9}/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-1.6.7 → drydock_cli-1.6.9}/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-1.6.7 → drydock_cli-1.6.9}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py
RENAMED
|
File without changes
|
{drydock_cli-1.6.7 → drydock_cli-1.6.9}/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
|
|
File without changes
|
{drydock_cli-1.6.7 → drydock_cli-1.6.9}/drydock/core/autocompletion/file_indexer/__init__.py
RENAMED
|
File without changes
|
{drydock_cli-1.6.7 → drydock_cli-1.6.9}/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
|
{drydock_cli-1.6.7 → drydock_cli-1.6.9}/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
|