drydock-cli 2.6.30__tar.gz → 2.6.32__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.30 → drydock_cli-2.6.32}/PKG-INFO +6 -6
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/README.md +5 -5
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/gemma4.md +6 -2
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/search_replace.py +8 -6
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/task.py +15 -2
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/todo.py +35 -1
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/pyproject.toml +1 -1
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/shakedown_interactive.py +62 -29
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/uv.lock +1 -1
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.gitignore +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.python-version +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.typos.toml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.vscode/extensions.json +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.vscode/launch.json +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/.vscode/settings.json +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/AGENTS.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/CHANGELOG.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/CLAUDE.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/Drydock_rebrand.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/LICENSE +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/NOTICE +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/PRD.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/action.yml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/docs/README.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/docs/acp-setup.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/agent_loop.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/logger.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/paths/_vibe_home.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/slug.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/_task_manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/types.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/core/utils.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/whats_new.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock-acp.spec +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock_terms.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/flake.lock +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/flake.nix +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/README.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/auto_test_loop.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/backup.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/bump_version.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/discover_cli_tools.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/install.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/llm_balancer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/monitor_swebench.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/monitor_test_battery.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/notify_release.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/overnight_agents_test.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/prepare_release.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/shakedown.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/shakedown_regression.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/shakedown_suite.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/shakedown_variance.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/test_bank.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/test_full.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/test_smoke.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/test_tui_path.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/tui_test.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/scripts/vllm_failover.sh +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/conftest.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/e2e/common.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/fixtures/doc_qa_system_prd.md +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/mock/utils.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/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.30 → drydock_cli-2.6.32}/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.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_agents.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_integration.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_message_id.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_middleware.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_smoke.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/test_workloads.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.6.30 → drydock_cli-2.6.32}/tests/update_notifier/test_whats_new.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drydock-cli
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.32
|
|
4
4
|
Summary: Local-first CLI coding agent — tested with Gemma 4 26B via vLLM
|
|
5
5
|
Project-URL: Homepage, https://github.com/fbobe321/drydock
|
|
6
6
|
Project-URL: Repository, https://github.com/fbobe321/drydock
|
|
@@ -60,11 +60,11 @@ Description-Content-Type: text/markdown
|
|
|
60
60
|
[](https://github.com/fbobe321/drydock/blob/main/LICENSE)
|
|
61
61
|
|
|
62
62
|
```
|
|
63
|
-
____
|
|
64
|
-
| _ \ _ __ _ _
|
|
65
|
-
| | | | '__| | |
|
|
66
|
-
| |_| | | | |_| |
|
|
67
|
-
|____/|_| \__,
|
|
63
|
+
____ ____ _
|
|
64
|
+
| _ \ _ __ _ _ | _ \ ___ ___| | __
|
|
65
|
+
| | | | '__| | | || | | |/ _ \ / __| |/ /
|
|
66
|
+
| |_| | | | |_| || |_| | (_) | (__| <
|
|
67
|
+
|____/|_| \__, ||____/ \___/ \___|_|\_\
|
|
68
68
|
|___/
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
[](https://github.com/fbobe321/drydock/blob/main/LICENSE)
|
|
5
5
|
|
|
6
6
|
```
|
|
7
|
-
____
|
|
8
|
-
| _ \ _ __ _ _
|
|
9
|
-
| | | | '__| | |
|
|
10
|
-
| |_| | | | |_| |
|
|
11
|
-
|____/|_| \__,
|
|
7
|
+
____ ____ _
|
|
8
|
+
| _ \ _ __ _ _ | _ \ ___ ___| | __
|
|
9
|
+
| | | | '__| | | || | | |/ _ \ / __| |/ /
|
|
10
|
+
| |_| | | | |_| || |_| | (_) | (__| <
|
|
11
|
+
|____/|_| \__, ||____/ \___/ \___|_|\_\
|
|
12
12
|
|___/
|
|
13
13
|
```
|
|
14
14
|
|
|
@@ -29,10 +29,11 @@ For multi-module changes that need a plan first:
|
|
|
29
29
|
|
|
30
30
|
DO NOT delegate trivial work. Most PRDs are small — build them directly.
|
|
31
31
|
Rules of thumb:
|
|
32
|
-
- 1-
|
|
33
|
-
-
|
|
32
|
+
- 1-8 files → BUILD INLINE. Do not call task.
|
|
33
|
+
- 9+ files with multiple subdirectories → DELEGATE to builder.
|
|
34
34
|
- Editing an existing file or fixing a known bug → BUILD INLINE.
|
|
35
35
|
- "Where does function X live?" → DELEGATE to explore.
|
|
36
|
+
- If the user asks you to PLAN or EXPLAIN → respond with text. Do not delegate.
|
|
36
37
|
|
|
37
38
|
When in doubt, build inline. A wasted delegation costs 60-90 seconds of
|
|
38
39
|
extra context loading.
|
|
@@ -61,4 +62,7 @@ Rules:
|
|
|
61
62
|
- Follow the EXACT CLI interface specified in the PRD. Match argument names, subcommands, and flags exactly.
|
|
62
63
|
- Every subcommand in the PRD must have a working handler — not just argparse registration.
|
|
63
64
|
- After creating files, run python3 -m package_name [subcommand] to verify each one works.
|
|
65
|
+
- If you have a todo list, update it after completing each major step
|
|
66
|
+
(e.g. after building all files, after tests pass). Use todo(action="write")
|
|
67
|
+
to mark items as done.
|
|
64
68
|
- If a write_file result says "BLOCKED:" you've called it 3+ times with identical content. STOP that path. Write a DIFFERENT file or run bash. Never retry the blocked write.
|
|
@@ -286,12 +286,14 @@ class SearchReplace(
|
|
|
286
286
|
if not search_replace_blocks:
|
|
287
287
|
raise ToolError(
|
|
288
288
|
"No valid SEARCH/REPLACE blocks found in content.\n"
|
|
289
|
-
"
|
|
290
|
-
"
|
|
291
|
-
"
|
|
292
|
-
"
|
|
293
|
-
"
|
|
294
|
-
"
|
|
289
|
+
"You sent raw code without SEARCH/REPLACE markers.\n"
|
|
290
|
+
"Either use this format:\n"
|
|
291
|
+
" <<<<<<< SEARCH\n"
|
|
292
|
+
" [exact text to find]\n"
|
|
293
|
+
" =======\n"
|
|
294
|
+
" [replacement text]\n"
|
|
295
|
+
" >>>>>>> REPLACE\n"
|
|
296
|
+
"Or use write_file to replace the entire file."
|
|
295
297
|
)
|
|
296
298
|
|
|
297
299
|
# Detect garbled token output — only flag obvious corruption
|
|
@@ -194,7 +194,9 @@ class Task(
|
|
|
194
194
|
)
|
|
195
195
|
return
|
|
196
196
|
|
|
197
|
-
# Foreground execution: block and collect results
|
|
197
|
+
# Foreground execution: block and collect results.
|
|
198
|
+
# Stream both tool CALLS and tool RESULTS so the user sees
|
|
199
|
+
# progress in the TUI instead of silence for 10 minutes.
|
|
198
200
|
accumulated_response: list[str] = []
|
|
199
201
|
completed = True
|
|
200
202
|
try:
|
|
@@ -203,13 +205,24 @@ class Task(
|
|
|
203
205
|
accumulated_response.append(event.content)
|
|
204
206
|
if event.stopped_by_middleware:
|
|
205
207
|
completed = False
|
|
208
|
+
elif isinstance(event, ToolCallEvent):
|
|
209
|
+
# Show what the subagent is about to do
|
|
210
|
+
if event.tool_class:
|
|
211
|
+
adapter = ToolUIDataAdapter(event.tool_class)
|
|
212
|
+
display = adapter.get_call_display(event)
|
|
213
|
+
message = f"→ {display.summary}"
|
|
214
|
+
yield ToolStreamEvent(
|
|
215
|
+
tool_name=self.get_name(),
|
|
216
|
+
message=message,
|
|
217
|
+
tool_call_id=ctx.tool_call_id,
|
|
218
|
+
)
|
|
206
219
|
elif isinstance(event, ToolResultEvent):
|
|
207
220
|
if event.skipped:
|
|
208
221
|
completed = False
|
|
209
222
|
elif event.result and event.tool_class:
|
|
210
223
|
adapter = ToolUIDataAdapter(event.tool_class)
|
|
211
224
|
display = adapter.get_result_display(event)
|
|
212
|
-
message = f"{event.tool_name}: {display.message}"
|
|
225
|
+
message = f" {event.tool_name}: {display.message}"
|
|
213
226
|
yield ToolStreamEvent(
|
|
214
227
|
tool_name=self.get_name(),
|
|
215
228
|
message=message,
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from collections.abc import AsyncGenerator
|
|
4
4
|
from enum import StrEnum, auto
|
|
5
|
-
from typing import ClassVar
|
|
5
|
+
from typing import Any, ClassVar
|
|
6
6
|
|
|
7
7
|
from pydantic import BaseModel, Field, field_validator
|
|
8
8
|
|
|
@@ -58,6 +58,40 @@ class TodoArgs(BaseModel):
|
|
|
58
58
|
default=None, description="Complete list of todos when writing."
|
|
59
59
|
)
|
|
60
60
|
|
|
61
|
+
@field_validator("todos", mode="before")
|
|
62
|
+
@classmethod
|
|
63
|
+
def coerce_todos(cls, v: Any) -> Any:
|
|
64
|
+
"""Gemma 4 sends todos in various malformed formats.
|
|
65
|
+
|
|
66
|
+
Common patterns:
|
|
67
|
+
- A single string: "1. Do this 2. Do that"
|
|
68
|
+
- A list of strings: ["Do this", "Do that"]
|
|
69
|
+
- A list of dicts missing required fields
|
|
70
|
+
|
|
71
|
+
Coerce all of these into list[TodoItem]-compatible dicts.
|
|
72
|
+
"""
|
|
73
|
+
if v is None:
|
|
74
|
+
return v
|
|
75
|
+
if isinstance(v, str):
|
|
76
|
+
# Split numbered or newline-separated items
|
|
77
|
+
import re
|
|
78
|
+
items = re.split(r'\n|(?:\d+\.\s)', v)
|
|
79
|
+
return [
|
|
80
|
+
{"content": item.strip(), "status": "pending"}
|
|
81
|
+
for item in items if item.strip()
|
|
82
|
+
]
|
|
83
|
+
if isinstance(v, list):
|
|
84
|
+
result = []
|
|
85
|
+
for item in v:
|
|
86
|
+
if isinstance(item, str):
|
|
87
|
+
result.append({"content": item.strip(), "status": "pending"})
|
|
88
|
+
elif isinstance(item, dict):
|
|
89
|
+
result.append(item)
|
|
90
|
+
else:
|
|
91
|
+
result.append({"content": str(item), "status": "pending"})
|
|
92
|
+
return result
|
|
93
|
+
return v
|
|
94
|
+
|
|
61
95
|
|
|
62
96
|
class TodoResult(BaseModel):
|
|
63
97
|
message: str
|
|
@@ -32,16 +32,20 @@ SESSION_ROOT = Path.home() / ".vibe" / "logs" / "session"
|
|
|
32
32
|
# wait_condition: "msgs>=N" or "writes>=N" or "done"
|
|
33
33
|
|
|
34
34
|
SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
|
|
35
|
-
# ── Tool Agent: build, test, extend, troubleshoot ──
|
|
35
|
+
# ── Tool Agent: plan, todo, build, test, extend, troubleshoot ──
|
|
36
36
|
"tool_agent": [
|
|
37
37
|
("Review the PRD and create a plan. List what files you will create "
|
|
38
38
|
"and in what order. Do NOT write any code yet — just plan.",
|
|
39
39
|
"msgs>=4", 120),
|
|
40
|
-
("Good. Now
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
"writes>=
|
|
44
|
-
("
|
|
40
|
+
("Good plan. Now create a todo list with all the steps needed to "
|
|
41
|
+
"build this package. Include: create files, test, verify each tool. "
|
|
42
|
+
"Then start working through the todo list — build the first 3 files.",
|
|
43
|
+
"writes>=3", 150),
|
|
44
|
+
("Keep going through your todo list. Write the remaining files. "
|
|
45
|
+
"Update each todo item as you complete it.",
|
|
46
|
+
"writes>=5", 150),
|
|
47
|
+
("Run python3 -m {pkg} --help to verify the package works. If it "
|
|
48
|
+
"fails, fix it. Mark the test todo as done when it passes.",
|
|
45
49
|
"msgs>={prev}+3", 120),
|
|
46
50
|
("Explain how the agent loop works. Walk me through what happens when "
|
|
47
51
|
"a user types a query.",
|
|
@@ -52,18 +56,22 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
|
|
|
52
56
|
("Test it: run python3 -m {pkg} \"What is the date today?\"",
|
|
53
57
|
"msgs>={prev}+2", 90),
|
|
54
58
|
("Now test all the original tools still work: "
|
|
55
|
-
"\"What is 23 * 47?\", \"Count words in PRD.md\", \"Search for def in *.py\""
|
|
59
|
+
"\"What is 23 * 47?\", \"Count words in PRD.md\", \"Search for def in *.py\". "
|
|
60
|
+
"Show me the final todo list status.",
|
|
56
61
|
"done", 180),
|
|
57
62
|
],
|
|
58
63
|
|
|
59
|
-
# ── Stock Screener: build
|
|
64
|
+
# ── Stock Screener: todo-driven build + test + feature add ──
|
|
60
65
|
"stock_screener": [
|
|
61
66
|
("Review the PRD. What modules will you need? Plan the architecture "
|
|
62
67
|
"before writing any code.",
|
|
63
68
|
"msgs>=4", 120),
|
|
64
|
-
("
|
|
65
|
-
"
|
|
66
|
-
|
|
69
|
+
("Create a todo list for the full build: 1) data loader, 2) screener "
|
|
70
|
+
"logic, 3) CLI, 4) formatter, 5) sample data, 6) test all commands, "
|
|
71
|
+
"7) export test. Then start working — build the data loader and screener.",
|
|
72
|
+
"writes>=3", 150),
|
|
73
|
+
("Continue through the todo list. Create the CLI, formatter, and "
|
|
74
|
+
"__main__.py. Make sure the package can run. Update todos as you go.",
|
|
67
75
|
"writes>=6", 150),
|
|
68
76
|
("Create a sample portfolio.csv with at least 8 stocks for testing.",
|
|
69
77
|
"msgs>={prev}+2", 90),
|
|
@@ -74,19 +82,21 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
|
|
|
74
82
|
"msgs>={prev}+4", 120),
|
|
75
83
|
("Test the rank command: python3 -m {pkg} rank --data portfolio.csv --top 5",
|
|
76
84
|
"msgs>={prev}+2", 90),
|
|
77
|
-
("Export results to JSON and show me the file contents."
|
|
85
|
+
("Export results to JSON and show me the file contents. "
|
|
86
|
+
"Show me the final todo list — everything should be done.",
|
|
78
87
|
"done", 120),
|
|
79
88
|
],
|
|
80
89
|
|
|
81
|
-
# ── Eval Harness: build
|
|
90
|
+
# ── Eval Harness: todo-driven build + dataset + eval + improve ──
|
|
82
91
|
"eval_harness": [
|
|
83
92
|
("Review the PRD and plan. How will you implement the code evaluator "
|
|
84
93
|
"safely without using eval()? Think through the design.",
|
|
85
94
|
"msgs>=4", 120),
|
|
86
|
-
("
|
|
87
|
-
"and contains
|
|
88
|
-
"writes>=2",
|
|
89
|
-
("
|
|
95
|
+
("Create a todo list for the full build. Then start — build the "
|
|
96
|
+
"evaluators module first with exact match, fuzzy match, and contains.",
|
|
97
|
+
"writes>=2", 150),
|
|
98
|
+
("Continue through the todo list. Build runner.py, report.py, cli.py, "
|
|
99
|
+
"and __main__.py. Update todos as you finish each file.",
|
|
90
100
|
"writes>=6", 150),
|
|
91
101
|
("Create a sample tasks.json with 10 test cases — mix of math, "
|
|
92
102
|
"text, and logic questions.",
|
|
@@ -99,18 +109,22 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
|
|
|
99
109
|
"msgs>={prev}+4", 120),
|
|
100
110
|
("Run the eval again and show me the report. Are the results better?",
|
|
101
111
|
"msgs>={prev}+3", 120),
|
|
102
|
-
("What's the overall accuracy? Which tasks are failing and why?"
|
|
112
|
+
("What's the overall accuracy? Which tasks are failing and why? "
|
|
113
|
+
"Show me the final todo list status.",
|
|
103
114
|
"done", 120),
|
|
104
115
|
],
|
|
105
116
|
|
|
106
|
-
# ── Doc QA: build
|
|
117
|
+
# ── Doc QA: todo-driven build + ingest + query + debug ──
|
|
107
118
|
"doc_qa": [
|
|
108
119
|
("Review the PRD. This is a TF-IDF retrieval system with no external "
|
|
109
120
|
"deps. How will you implement cosine similarity with just stdlib? Plan first.",
|
|
110
121
|
"msgs>=4", 120),
|
|
111
|
-
("
|
|
112
|
-
"
|
|
113
|
-
|
|
122
|
+
("Create a todo list for the build: 1) ingestion, 2) chunking, "
|
|
123
|
+
"3) TF-IDF index, 4) query engine, 5) CLI, 6) test data, 7) test "
|
|
124
|
+
"ingest, 8) test query. Then start — build the ingestion module.",
|
|
125
|
+
"writes>=2", 150),
|
|
126
|
+
("Continue through the todo list. Build the TF-IDF index module "
|
|
127
|
+
"and query processor. Update todos as you complete each.",
|
|
114
128
|
"writes>=4", 150),
|
|
115
129
|
("Build the CLI and __main__.py. Make sure python3 -m {pkg} --help works.",
|
|
116
130
|
"writes>=6", 120),
|
|
@@ -121,18 +135,21 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
|
|
|
121
135
|
("Query: python3 -m {pkg} query \"What is the main topic?\"",
|
|
122
136
|
"msgs>={prev}+2", 90),
|
|
123
137
|
("The retrieval results look off. Read the index.py file and explain "
|
|
124
|
-
"the TF-IDF calculation. Is the IDF formula correct?"
|
|
138
|
+
"the TF-IDF calculation. Is the IDF formula correct? "
|
|
139
|
+
"Show me the final todo list.",
|
|
125
140
|
"done", 120),
|
|
126
141
|
],
|
|
127
142
|
|
|
128
|
-
# ── Prompt Optimizer: build
|
|
143
|
+
# ── Prompt Optimizer: todo-driven build + dataset + optimize + improve ──
|
|
129
144
|
"prompt_optimizer": [
|
|
130
145
|
("Review the PRD. The default executor uses keyword matching — explain "
|
|
131
146
|
"how you'll implement that without an LLM. Plan the architecture.",
|
|
132
147
|
"msgs>=4", 120),
|
|
133
|
-
("
|
|
134
|
-
"
|
|
135
|
-
|
|
148
|
+
("Create a todo list for the full build. Then start — build the "
|
|
149
|
+
"template generation and mutation module first.",
|
|
150
|
+
"writes>=2", 150),
|
|
151
|
+
("Continue through the todo list. Build the executor, scorer, and "
|
|
152
|
+
"optimizer loop. Update todos as you go.",
|
|
136
153
|
"writes>=5", 150),
|
|
137
154
|
("Build the CLI and create a sample sentiment dataset with 15 examples.",
|
|
138
155
|
"writes>=7", 120),
|
|
@@ -143,7 +160,8 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
|
|
|
143
160
|
("The keyword matching is too simple. Add support for negation words "
|
|
144
161
|
"like 'not good' = negative. Use search_replace on executor.py.",
|
|
145
162
|
"msgs>={prev}+4", 120),
|
|
146
|
-
("Run the optimization again and compare results to the previous run."
|
|
163
|
+
("Run the optimization again and compare results to the previous run. "
|
|
164
|
+
"Show me the final todo list — everything should be marked done.",
|
|
147
165
|
"done", 120),
|
|
148
166
|
],
|
|
149
167
|
}
|
|
@@ -320,7 +338,6 @@ def run_interactive(cwd: Path, pkg: str) -> int:
|
|
|
320
338
|
try:
|
|
321
339
|
for step_idx, (prompt_template, condition, max_wait) in enumerate(script):
|
|
322
340
|
prompt = prompt_template.replace("{pkg}", pkg)
|
|
323
|
-
prev_msgs = len(watcher.messages)
|
|
324
341
|
|
|
325
342
|
print(f"\n--- Step {step_idx + 1}/{len(script)} ---")
|
|
326
343
|
print(f" PROMPT: {prompt[:80]}{'...' if len(prompt) > 80 else ''}")
|
|
@@ -329,6 +346,22 @@ def run_interactive(cwd: Path, pkg: str) -> int:
|
|
|
329
346
|
type_message(child, prompt)
|
|
330
347
|
time.sleep(1)
|
|
331
348
|
|
|
349
|
+
# On first step, wait for the session to actually appear
|
|
350
|
+
# before counting messages. The TUI takes a few seconds to
|
|
351
|
+
# create the session directory.
|
|
352
|
+
if step_idx == 0:
|
|
353
|
+
print(" Waiting for session to appear...", end="", flush=True)
|
|
354
|
+
for _ in range(30): # up to 30s
|
|
355
|
+
drain_pty(child)
|
|
356
|
+
if watcher.find_session():
|
|
357
|
+
break
|
|
358
|
+
if watcher.find_session():
|
|
359
|
+
print(f" found: {watcher.session_dir.name}")
|
|
360
|
+
else:
|
|
361
|
+
print(" not found (continuing anyway)")
|
|
362
|
+
|
|
363
|
+
prev_msgs = len(watcher.messages)
|
|
364
|
+
|
|
332
365
|
# Wait for condition
|
|
333
366
|
step_start = time.time()
|
|
334
367
|
met = False
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.30 → drydock_cli-2.6.32}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/ports/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/banner/petit_chat.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/braille_renderer.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/container.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/text_area.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/context_progress.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.30 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/no_markup_static.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|