drydock-cli 2.6.88__tar.gz → 2.6.90__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.90/.auto_release.lock +1 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/PKG-INFO +1 -1
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/agent_loop.py +77 -52
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/pyproject.toml +1 -1
- drydock_cli-2.6.90/scripts/stress_prompts_50.txt +55 -0
- drydock_cli-2.6.88/.auto_release.lock +0 -1
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.claude/scheduled_tasks.lock +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.gitignore +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.python-version +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.typos.toml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.vscode/extensions.json +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.vscode/launch.json +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/.vscode/settings.json +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/AGENTS.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/BASELINE_412.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/CHANGELOG.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/CLAUDE.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/Drydock_rebrand.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/LICENSE +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/MODEL_SHORTCOMINGS.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/NOTICE +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/OVERNIGHT_REPORT_2026_04_13.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/PRD.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/README.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/action.yml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/README.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results1.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results13.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results14.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results15.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results16.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results17.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results18.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results19.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results2.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results20.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results3.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results4.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results5.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results6.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results7.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results8.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results9.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/baseline_history/results_evolved_v1.tsv +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/docs/README.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/docs/acp-setup.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/config/doctor.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/logger.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/paths/_vibe_home.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/gemma4.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/slug.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/_task_manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/types.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/core/utils.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/audit-tests/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/strong-tests/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/whats_new.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock-acp.spec +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock_terms.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/flake.lock +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/flake.nix +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/README.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/audit_sampler.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/auto_generate_tests.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/auto_test_loop.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/backup.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/bump_version.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/comprehensive_loop.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/discover_cli_tools.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/evolve_tests.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/install.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/llm_balancer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/mega_loop.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/meta_ralph_loop.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/monitor_swebench.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/monitor_test_battery.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/notify_release.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/oss_task_harness.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/overnight_agents_test.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/port_task.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/prepare_release.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/ralph_loop.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/session_loop_audit.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/shakedown.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/shakedown_interactive.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/shakedown_regression.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/shakedown_suite.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/shakedown_variance.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/stress_prompts_tool_agent.txt +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/stress_shakedown.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/test_bank.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/test_full.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/test_smoke.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/test_tui_path.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/tui_test.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/scripts/vllm_failover.sh +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/conftest.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/e2e/common.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/fixtures/doc_qa_system_prd.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/mock/utils.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/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.88 → drydock_cli-2.6.90}/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.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_agents.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_integration.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_message_id.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_middleware.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_smoke.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/test_workloads.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/uv.lock +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/worked_examples/README.md +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/worked_examples/cli_subcommand_dispatch.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/worked_examples/lookup.json +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/worked_examples/sql_parser.py +0 -0
- {drydock_cli-2.6.88 → drydock_cli-2.6.90}/worked_examples/tree_walking_interpreter.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1489935
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drydock-cli
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.90
|
|
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
|
|
@@ -1445,26 +1445,42 @@ class AgentLoop:
|
|
|
1445
1445
|
available_tools = self.format_handler.get_available_tools(self.tool_manager)
|
|
1446
1446
|
tool_choice = self.format_handler.get_tool_choice()
|
|
1447
1447
|
|
|
1448
|
-
# Loop-break
|
|
1449
|
-
#
|
|
1450
|
-
#
|
|
1451
|
-
#
|
|
1452
|
-
#
|
|
1453
|
-
#
|
|
1454
|
-
#
|
|
1455
|
-
#
|
|
1456
|
-
#
|
|
1457
|
-
#
|
|
1448
|
+
# Loop-break when FORCE_STOP detected. Two-tier:
|
|
1449
|
+
# 1. If _hot_tool_path is set (specific tool+path dominates the
|
|
1450
|
+
# recent window), REMOVE that tool from available_tools for
|
|
1451
|
+
# this turn. Model must diversify — can still use other tools.
|
|
1452
|
+
# This is surgical: the model can read, bash, SR, etc., just
|
|
1453
|
+
# can't call the over-used tool on the over-used path.
|
|
1454
|
+
# 2. Otherwise (generic FORCE_STOP), fall back to tool_choice=none
|
|
1455
|
+
# so model emits text. Last resort.
|
|
1456
|
+
# The hot-path flag is consumed (cleared) here so it's a one-turn
|
|
1457
|
+
# mute. If the model goes back to looping next turn, we'll re-detect
|
|
1458
|
+
# and re-mute.
|
|
1458
1459
|
if getattr(self, "_loop_detected", False) and getattr(self, "_loop_signal", "") == "FORCE_STOP":
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1460
|
+
hot = getattr(self, "_hot_tool_path", None)
|
|
1461
|
+
if hot and hot[0] and available_tools:
|
|
1462
|
+
hot_tool_name, hot_path = hot
|
|
1463
|
+
before = len(available_tools)
|
|
1464
|
+
available_tools = [
|
|
1465
|
+
t for t in available_tools
|
|
1466
|
+
if getattr(t.function, "name", None) != hot_tool_name
|
|
1467
|
+
]
|
|
1468
|
+
after = len(available_tools)
|
|
1469
|
+
if before != after:
|
|
1470
|
+
logger.info(
|
|
1471
|
+
"[LOOP-BREAK] FORCE_STOP hot=(%s, %s) — "
|
|
1472
|
+
"removed '%s' from available_tools for 1 turn "
|
|
1473
|
+
"(%d → %d tools). Model must diversify.",
|
|
1474
|
+
hot_tool_name, hot_path[:50], hot_tool_name, before, after,
|
|
1475
|
+
)
|
|
1476
|
+
else:
|
|
1477
|
+
# No specific tool+path hot-combo — fall back to text-only.
|
|
1462
1478
|
tool_choice = "none"
|
|
1463
|
-
self._last_tool_choice_none_turn = current_turn
|
|
1464
1479
|
logger.info(
|
|
1465
|
-
"[LOOP-BREAK] FORCE_STOP
|
|
1466
|
-
"for this turn (forces text response, breaks attractor)"
|
|
1480
|
+
"[LOOP-BREAK] FORCE_STOP (no hot-combo) → tool_choice=none"
|
|
1467
1481
|
)
|
|
1482
|
+
# Consume the flag — one-turn action.
|
|
1483
|
+
self._hot_tool_path = None
|
|
1468
1484
|
_t2 = time.perf_counter()
|
|
1469
1485
|
|
|
1470
1486
|
n_msgs = len(self.messages)
|
|
@@ -1914,44 +1930,53 @@ class AgentLoop:
|
|
|
1914
1930
|
):
|
|
1915
1931
|
return "FORCE_STOP"
|
|
1916
1932
|
|
|
1917
|
-
# Check 1b:
|
|
1918
|
-
#
|
|
1919
|
-
#
|
|
1920
|
-
#
|
|
1921
|
-
#
|
|
1922
|
-
#
|
|
1933
|
+
# Check 1b: Path-dominance oscillation. The model is stuck on a
|
|
1934
|
+
# single file — writing, rewriting, SR-patching, reading — even
|
|
1935
|
+
# though each call's signature differs enough to dodge Check 1.
|
|
1936
|
+
# If ≥9 of the last 12 tool calls touch the SAME path, record
|
|
1937
|
+
# the (tool, path) hot-combo for the NEXT turn to act on.
|
|
1938
|
+
#
|
|
1939
|
+
# Tolerance: normal feature-addition work spreads writes across
|
|
1940
|
+
# many prompts (+3 writes per prompt over 100+ tool calls in
|
|
1941
|
+
# the stress run), so 9-of-12 is a much tighter cluster than
|
|
1942
|
+
# legitimate progress.
|
|
1923
1943
|
if len(sigs) >= 12:
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
continue
|
|
1942
|
-
p = a.get("file_path") or a.get("path") or ""
|
|
1943
|
-
if p:
|
|
1944
|
-
paths.append(p)
|
|
1945
|
-
if len(paths) >= 12:
|
|
1946
|
-
break
|
|
1947
|
-
if len(paths) >= 12:
|
|
1944
|
+
# Collect recent (tool_name, path) pairs for hot-combo detection
|
|
1945
|
+
path_tool_pairs: list[tuple[str, str]] = []
|
|
1946
|
+
paths_only: list[str] = []
|
|
1947
|
+
for msg in list(reversed(self.messages))[:40]:
|
|
1948
|
+
if msg.role == Role.assistant and msg.tool_calls:
|
|
1949
|
+
for tc in msg.tool_calls:
|
|
1950
|
+
if not tc.function:
|
|
1951
|
+
continue
|
|
1952
|
+
try:
|
|
1953
|
+
a = json.loads(tc.function.arguments or "{}")
|
|
1954
|
+
except (json.JSONDecodeError, AttributeError):
|
|
1955
|
+
continue
|
|
1956
|
+
p = a.get("file_path") or a.get("path") or ""
|
|
1957
|
+
if p:
|
|
1958
|
+
paths_only.append(p)
|
|
1959
|
+
path_tool_pairs.append((tc.function.name or "", p))
|
|
1960
|
+
if len(paths_only) >= 12:
|
|
1948
1961
|
break
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1962
|
+
if len(paths_only) >= 12:
|
|
1963
|
+
break
|
|
1964
|
+
last_12_paths = paths_only[:12]
|
|
1965
|
+
last_12_pairs = path_tool_pairs[:12]
|
|
1966
|
+
if len(last_12_paths) >= 12:
|
|
1967
|
+
most_path = max(set(last_12_paths), key=last_12_paths.count)
|
|
1968
|
+
if last_12_paths.count(most_path) >= 9:
|
|
1969
|
+
# Record the dominating (tool, path) pair with the
|
|
1970
|
+
# highest count so the agent can mute that specific
|
|
1971
|
+
# tool on that path next turn.
|
|
1972
|
+
from collections import Counter
|
|
1973
|
+
pair_counts = Counter(last_12_pairs)
|
|
1974
|
+
top_pair, top_count = pair_counts.most_common(1)[0]
|
|
1975
|
+
self._hot_tool_path = top_pair if top_count >= 5 else (None, most_path)
|
|
1976
|
+
return "FORCE_STOP"
|
|
1977
|
+
# Reset hot-path when no path-dominance detected
|
|
1978
|
+
if not getattr(self, "_hot_tool_path", None) or True:
|
|
1979
|
+
pass # hot path set only when triggered; consumed in _chat
|
|
1955
1980
|
|
|
1956
1981
|
if (
|
|
1957
1982
|
len(sigs) >= REPEAT_WARNING_THRESHOLD
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Bootstrap: build tool_agent from PRD first
|
|
2
|
+
Review the PRD.md in this directory. Build the initial tool_agent package with the 6 built-in tools, pipe syntax parser, plugin loader, conversation memory, and CLI entrypoint. After all files are written, run `python3 -m tool_agent --list-tools` to verify it works.
|
|
3
|
+
|
|
4
|
+
# New built-in tools (40)
|
|
5
|
+
Add a hash tool that computes SHA-256 of a string. Usage: hash <text>. Update --list-tools.
|
|
6
|
+
Add an md5 tool that computes MD5 of a string. Usage: md5 <text>.
|
|
7
|
+
Add a base64 tool with encode and decode modes. Usage: base64 encode <text> | base64 decode <text>.
|
|
8
|
+
Add a url_encode tool. Usage: url_encode <text>.
|
|
9
|
+
Add a url_decode tool. Usage: url_decode <text>.
|
|
10
|
+
Add a timestamp tool that returns current Unix timestamp.
|
|
11
|
+
Add a random tool that picks a random integer between two bounds. Usage: random <min> <max>.
|
|
12
|
+
Add a uuid tool that generates a random UUID v4.
|
|
13
|
+
Add a reverse_words tool (not reverse chars) that reverses word order.
|
|
14
|
+
Add a title_case tool that title-cases input.
|
|
15
|
+
Add a upper tool for uppercase.
|
|
16
|
+
Add a lower tool for lowercase.
|
|
17
|
+
Add a length tool that returns character count.
|
|
18
|
+
Add a line_count tool that counts newlines in a file.
|
|
19
|
+
Add a char_count tool that counts characters excluding whitespace.
|
|
20
|
+
Add a env_get tool that returns an environment variable value. Usage: env_get <name>.
|
|
21
|
+
Add a env_list tool that prints all env vars.
|
|
22
|
+
Add a path_join tool that joins path components.
|
|
23
|
+
Add a path_basename tool that returns the basename of a path.
|
|
24
|
+
Add a path_dirname tool that returns the dirname of a path.
|
|
25
|
+
Add a json_get tool that extracts a field by dotted path. Usage: json_get <json> <path>.
|
|
26
|
+
Add a json_set tool that sets a field by dotted path. Usage: json_set <json> <path> <value>.
|
|
27
|
+
Add a json_keys tool that lists top-level keys.
|
|
28
|
+
Add a yaml_to_json tool that converts YAML to JSON.
|
|
29
|
+
Add a json_to_yaml tool that converts JSON to YAML.
|
|
30
|
+
Add a xml_parse tool that converts XML to JSON dict.
|
|
31
|
+
Add a count_lines tool for number of lines in string input.
|
|
32
|
+
Add a head tool that returns first N lines. Usage: head <n> <text>.
|
|
33
|
+
Add a tail tool that returns last N lines. Usage: tail <n> <text>.
|
|
34
|
+
Add a sort_lines tool. Usage: sort_lines <text>.
|
|
35
|
+
Add a uniq tool that removes consecutive duplicate lines.
|
|
36
|
+
Add a replace tool with three args: old, new, text. Usage: replace <old> <new> <text>.
|
|
37
|
+
Add a regex_match tool. Usage: regex_match <pattern> <text>, returns first match.
|
|
38
|
+
Add a regex_replace tool. Usage: regex_replace <pattern> <replacement> <text>.
|
|
39
|
+
Add a regex_findall tool. Usage: regex_findall <pattern> <text>.
|
|
40
|
+
Add a echo_tool that simply echoes input.
|
|
41
|
+
Add a sleep tool that pauses for N seconds (useful for testing).
|
|
42
|
+
Add a noop tool that does nothing.
|
|
43
|
+
Add a ping_check tool that checks if a host resolves (no actual ping, use socket).
|
|
44
|
+
Add a disk_usage tool that returns free/used/total bytes of cwd.
|
|
45
|
+
|
|
46
|
+
# Plugin / extension features (20)
|
|
47
|
+
Support hot-reload of plugins without restarting the CLI.
|
|
48
|
+
Add a --plugin-path CLI flag that accepts a directory of plugins.
|
|
49
|
+
Allow plugins to declare dependencies on other tools, resolved at load time.
|
|
50
|
+
Plugin manifest format: a plugin may include a manifest.json with metadata (name, version, author).
|
|
51
|
+
Ignore plugins whose manifest.json declares enabled: false.
|
|
52
|
+
Auto-generate --list-plugins that lists every loaded plugin with version.
|
|
53
|
+
Allow plugins to register multiple tools via a register_tools() function.
|
|
54
|
+
Support per-plugin configuration files at plugins/<name>.conf.
|
|
55
|
+
Add plugin load timing logged in --verbose mode.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1473078
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.88 → drydock_cli-2.6.90}/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.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/notifications/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.88 → drydock_cli-2.6.90}/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.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/banner/petit_chat.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/braille_renderer.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.88 → drydock_cli-2.6.90}/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.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/chat_input/container.py
RENAMED
|
File without changes
|
{drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/chat_input/text_area.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.88 → drydock_cli-2.6.90}/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.88 → drydock_cli-2.6.90}/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
|
|
File without changes
|
{drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/widgets/teleport_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/textual_ui/windowing/history_windowing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.6.88 → drydock_cli-2.6.90}/drydock/cli/update_notifier/ports/update_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
|