drydock-cli 0.4.2__tar.gz → 0.5.0__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-0.4.2 → drydock_cli-0.5.0}/CLAUDE.md +6 -6
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/PKG-INFO +1 -1
- drydock_cli-0.5.0/drydock/__init__.py +7 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/acp_agent_loop.py +14 -14
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/entrypoint.py +7 -7
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/tools/base.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/tools/builtins/bash.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/tools/builtins/read_file.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/tools/builtins/search_replace.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/tools/builtins/todo.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/tools/builtins/write_file.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/tools/session_update.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/utils.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/autocompletion/path_completion.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/autocompletion/slash_command.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/cli.py +13 -13
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/entrypoint.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/plan_offer/adapters/http_whoami_gateway.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/plan_offer/decide_plan_offer.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/app.py +40 -40
- drydock_cli-0.5.0/drydock/cli/textual_ui/handlers/__init__.py +5 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/handlers/event_handler.py +9 -9
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/notifications/__init__.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/approval_app.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/banner/banner.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/banner/petit_chat.py +1 -1
- drydock_cli-0.5.0/drydock/cli/textual_ui/widgets/chat_input/__init__.py +7 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/chat_input/body.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/chat_input/completion_manager.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/chat_input/container.py +9 -9
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/chat_input/text_area.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/compact.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/config_app.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/context_progress.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/loading.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/messages.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/path_display.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/proxy_setup_app.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/question_app.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/session_picker.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/spinner.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/status_message.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/teleport_message.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/tool_widgets.py +9 -9
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/tools.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/windowing/__init__.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/windowing/history.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/windowing/history_windowing.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/windowing/state.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/update_notifier/__init__.py +7 -7
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/update_notifier/adapters/filesystem_update_cache_repository.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/update_notifier/adapters/github_update_gateway.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/update_notifier/adapters/pypi_update_gateway.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/update_notifier/update.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/update_notifier/whats_new.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/__init__.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/agent_loop.py +29 -29
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/agents/__init__.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/agents/manager.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/agents/models.py +3 -3
- drydock_cli-0.5.0/drydock/core/auth/__init__.py +6 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/completers.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/file_indexer/__init__.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/file_indexer/indexer.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/file_indexer/store.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/path_prompt_adapter.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/config/__init__.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/config/_settings.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/config/harness_files/__init__.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/config/harness_files/_harness_manager.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/config/harness_files/_paths.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/backend/anthropic.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/backend/base.py +2 -2
- drydock_cli-0.5.0/drydock/core/llm/backend/factory.py +7 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/backend/generic.py +9 -9
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/backend/mistral.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/backend/reasoning_adapter.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/backend/vertex.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/exceptions.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/format.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/message_utils.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/llm/types.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/logger.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/middleware.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/output_formatters.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/paths/__init__.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/paths/_local_config_walk.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/paths/_vibe_home.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/plan_session.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/programmatic.py +8 -8
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/__init__.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/proxy_setup.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/session/session_loader.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/session/session_logger.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/session/session_migration.py +2 -2
- drydock_cli-0.5.0/drydock/core/skills/__init__.py +7 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/skills/manager.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/system_prompt.py +7 -7
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/telemetry/send.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/teleport/git.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/teleport/nuage.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/teleport/teleport.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/teleport/types.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/base.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/ask_user_question.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/bash.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/exit_plan_mode.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/grep.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/read_file.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/search_replace.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/task.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/todo.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/webfetch.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/websearch.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/write_file.py +4 -4
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/manager.py +7 -7
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/mcp/__init__.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/mcp/registry.py +5 -5
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/mcp/tools.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/mcp_sampling.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/ui.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/utils.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/trusted_folders.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/types.py +1 -1
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/utils.py +3 -3
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/setup/onboarding/__init__.py +2 -2
- drydock_cli-0.5.0/drydock/setup/onboarding/screens/__init__.py +6 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/setup/onboarding/screens/api_key.py +6 -6
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/setup/onboarding/screens/welcome.py +2 -2
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/setup/trusted_folders/trust_folder_dialog.py +2 -2
- drydock_cli-0.4.2/vibe-acp.spec → drydock_cli-0.5.0/drydock-acp.spec +10 -12
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/pyproject.toml +9 -10
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/conftest.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_acp.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_agent_thought.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_bash.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_compact_session_updates.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_content.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_initialize.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_list_sessions.py +9 -9
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_load_session.py +6 -6
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_multi_session.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_new_session.py +6 -6
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_proxy_setup_acp.py +8 -8
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_read_file.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_search_replace.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_set_config_option.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_set_mode.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_set_model.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_tool_call_session_update.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_utils.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/acp/test_write_file.py +5 -5
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/autocompletion/test_file_indexer.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/autocompletion/test_fuzzy.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/autocompletion/test_path_completer_fuzzy.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/autocompletion/test_path_completer_recursive.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/autocompletion/test_path_completion_controller.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/autocompletion/test_path_prompt_transformer.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/autocompletion/test_slash_command_controller.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/autocompletion/test_ui_chat_autocompletion.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/backend/test_anthropic_adapter.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/backend/test_backend.py +8 -8
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/backend/test_reasoning_adapter.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/backend/test_vertex_anthropic_adapter.py +8 -8
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/plan_offer/test_decide_plan_offer.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/plan_offer/test_http_whoami_gateway.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_bell_notifications.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_braille_renderer.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_clipboard.py +14 -14
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_commands.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_copy_shortcuts.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_external_editor.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_no_markup_static.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_question_app.py +33 -33
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_spinner.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_switching_mode.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_ui_clipboard_notifications.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_ui_session_incremental_renderer.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_ui_session_resume.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/test_ui_skill_dispatch.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/cli/textual_ui/test_session_picker.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/conftest.py +10 -10
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_agents.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_auth_crypto.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_auth_github.py +17 -17
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_config_load_dotenv.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_config_paths.py +8 -8
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_config_resolution.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_file_logging.py +12 -12
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_plan_session.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_proxy_setup.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_slug.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_telemetry_send.py +23 -23
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_teleport_git.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_teleport_nuage.py +6 -6
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_teleport_service.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_trusted_folders.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/core/test_utils.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/mock/mock_backend_factory.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/mock/mock_entrypoint.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/mock/utils.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/onboarding/test_run_onboarding.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/onboarding/test_ui_onboarding.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/session/test_session_loader.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/session/test_session_logger.py +11 -11
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/session/test_session_migration.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/skills/conftest.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/skills/test_manager.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/skills/test_models.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/skills/test_parser.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/base_snapshot_test_app.py +5 -5
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/conftest.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_ask_user_question.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_proxy_setup.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_question_app.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_reasoning_content.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_release_update_notification.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_session_resume.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_teleport.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_whats_new.py +6 -6
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/stubs/fake_backend.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/stubs/fake_tool.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_agent_auto_compact.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_agent_backend.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_agent_observer_streaming.py +8 -8
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_agent_stats.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_agent_tool_call.py +11 -11
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_agents.py +10 -10
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_cli_programmatic_preload.py +6 -6
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_drydock_regression.py +37 -35
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_drydock_tasks.py +33 -33
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_history_manager.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_message_id.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_message_merging.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_middleware.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_reasoning_content.py +5 -5
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_system_prompt.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_tagged_text.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_ui_external_editor.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/test_ui_input_history.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_ask_user_question.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_bash.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_exit_plan_mode.py +4 -4
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_grep.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_invoke_context.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_manager_get_tool_config.py +8 -8
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_mcp.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_mcp_sampling.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_task.py +8 -8
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_ui_bash_execution.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_webfetch.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/tools/test_websearch.py +3 -3
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/adapters/fake_update_cache_repository.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/adapters/fake_update_gateway.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/test_do_update.py +7 -7
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/test_filesystem_update_cache_repository.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/test_github_update_gateway.py +1 -1
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/test_pypi_update_gateway.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/test_ui_update_notification.py +10 -10
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/test_update_use_case.py +2 -2
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/update_notifier/test_whats_new.py +7 -7
- drydock_cli-0.4.2/vibe/__init__.py +0 -6
- drydock_cli-0.4.2/vibe/cli/textual_ui/handlers/__init__.py +0 -5
- drydock_cli-0.4.2/vibe/cli/textual_ui/widgets/chat_input/__init__.py +0 -7
- drydock_cli-0.4.2/vibe/core/auth/__init__.py +0 -6
- drydock_cli-0.4.2/vibe/core/llm/backend/factory.py +0 -7
- drydock_cli-0.4.2/vibe/core/skills/__init__.py +0 -7
- drydock_cli-0.4.2/vibe/setup/onboarding/screens/__init__.py +0 -6
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.github/CODEOWNERS +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.github/workflows/ci.yml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.github/workflows/release.yml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.gitignore +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.pre-commit-config.yaml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.python-version +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.typos.toml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.vscode/extensions.json +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.vscode/launch.json +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/.vscode/settings.json +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/AGENTS.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/CHANGELOG.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/CONTRIBUTING.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/Drydock_rebrand.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/LICENSE +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/NOTICE +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/PRD.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/README.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/action.yml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/distribution/zed/LICENSE +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/distribution/zed/extension.toml +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/docs/README.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/docs/acp-setup.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/docs/proxy-setup.md +0 -0
- {drydock_cli-0.4.2/tests/backend → drydock_cli-0.5.0/drydock/acp}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/acp/acp_logger.py +0 -0
- {drydock_cli-0.4.2/tests/cli/textual_ui → drydock_cli-0.5.0/drydock/acp/tools}/__init__.py +0 -0
- {drydock_cli-0.4.2/tests/mock → drydock_cli-0.5.0/drydock/cli}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe/acp → drydock_cli-0.5.0/drydock/cli/autocompletion}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/autocompletion/base.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/clipboard.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/commands.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/history_manager.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/terminal_setup.py +0 -0
- {drydock_cli-0.4.2/vibe/acp/tools → drydock_cli-0.5.0/drydock/cli/textual_ui}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-0.4.2/vibe/cli → drydock_cli-0.5.0/drydock/cli/textual_ui/notifications/adapters}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe/cli/autocompletion → drydock_cli-0.5.0/drydock/cli/textual_ui/notifications/ports}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-0.4.2/vibe/cli/textual_ui → drydock_cli-0.5.0/drydock/cli/textual_ui/widgets}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/auth/crypto.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/auth/github.py +0 -0
- {drydock_cli-0.4.2/vibe/cli/textual_ui/notifications/adapters → drydock_cli-0.5.0/drydock/core/autocompletion}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/drydock_states.py +0 -0
- {drydock_cli-0.4.2/vibe/cli/textual_ui/notifications/ports → drydock_cli-0.5.0/drydock/core/llm}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/paths/conventions.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/cli.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/compact.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/diagnostic.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/explore.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/planner.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/project_context.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/prompts/tests.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/skills/models.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/skills/parser.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/slug.py +0 -0
- {drydock_cli-0.4.2/vibe/cli/textual_ui/widgets → drydock_cli-0.5.0/drydock/core/telemetry}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/teleport/errors.py +0 -0
- {drydock_cli-0.4.2/vibe/core/autocompletion → drydock_cli-0.5.0/drydock/core/tools/builtins/prompts}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/setup/onboarding/base.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-0.4.2/vibe/core/llm → drydock_cli-0.5.0/drydock/skills}/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/whats_new.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/drydock_terms.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/flake.lock +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/flake.nix +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/scripts/README.md +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/scripts/bump_version.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/scripts/install.sh +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/scripts/prepare_release.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/__init__.py +0 -0
- {drydock_cli-0.4.2/vibe/core/telemetry → drydock_cli-0.5.0/tests/backend}/__init__.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-0.4.2/vibe/core/tools/builtins/prompts → drydock_cli-0.5.0/tests/cli/textual_ui}/__init__.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/e2e/common.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/e2e/conftest.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-0.4.2/vibe/skills → drydock_cli-0.5.0/tests/mock}/__init__.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-0.4.2 → drydock_cli-0.5.0}/uv.lock +0 -0
|
@@ -28,12 +28,12 @@ python3 -c "import ast; ast.parse(open('path/to/file.py').read())"
|
|
|
28
28
|
|
|
29
29
|
## Key Architecture
|
|
30
30
|
|
|
31
|
-
- `
|
|
32
|
-
- `
|
|
33
|
-
- `
|
|
34
|
-
- `
|
|
35
|
-
- `
|
|
36
|
-
- `
|
|
31
|
+
- `drydock/core/agent_loop.py` — Main agent loop. Loop detection, message ordering, tool execution. **Most changes go here.**
|
|
32
|
+
- `drydock/core/programmatic.py` — Headless API entry point used by SWE-bench harness
|
|
33
|
+
- `drydock/core/tools/builtins/bash.py` — Shell tool with allowlist/denylist, conda support
|
|
34
|
+
- `drydock/core/tools/builtins/search_replace.py` — File editing tool with fuzzy matching
|
|
35
|
+
- `drydock/core/prompts/cli.md` — System prompt (two-phase workflow, SWE-bench rules)
|
|
36
|
+
- `drydock/core/types.py` — `MessageList` (custom Sequence, use `.reset()` not `=[]`)
|
|
37
37
|
|
|
38
38
|
## Critical Constraints
|
|
39
39
|
|
|
@@ -53,14 +53,14 @@ from acp.schema import (
|
|
|
53
53
|
)
|
|
54
54
|
from pydantic import BaseModel, ConfigDict
|
|
55
55
|
|
|
56
|
-
from
|
|
57
|
-
from
|
|
58
|
-
from
|
|
59
|
-
from
|
|
56
|
+
from drydock import VIBE_ROOT, __version__
|
|
57
|
+
from drydock.acp.acp_logger import acp_message_observer
|
|
58
|
+
from drydock.acp.tools.base import BaseAcpTool
|
|
59
|
+
from drydock.acp.tools.session_update import (
|
|
60
60
|
tool_call_session_update,
|
|
61
61
|
tool_result_session_update,
|
|
62
62
|
)
|
|
63
|
-
from
|
|
63
|
+
from drydock.acp.utils import (
|
|
64
64
|
TOOL_OPTIONS,
|
|
65
65
|
ToolOption,
|
|
66
66
|
create_assistant_message_replay,
|
|
@@ -75,24 +75,24 @@ from vibe.acp.utils import (
|
|
|
75
75
|
make_mode_response,
|
|
76
76
|
make_model_response,
|
|
77
77
|
)
|
|
78
|
-
from
|
|
79
|
-
from
|
|
80
|
-
from
|
|
81
|
-
from
|
|
78
|
+
from drydock.core.agent_loop import AgentLoop
|
|
79
|
+
from drydock.core.agents.models import CHAT as CHAT_AGENT, BuiltinAgentName
|
|
80
|
+
from drydock.core.autocompletion.path_prompt_adapter import render_path_prompt
|
|
81
|
+
from drydock.core.config import (
|
|
82
82
|
MissingAPIKeyError,
|
|
83
83
|
SessionLoggingConfig,
|
|
84
84
|
VibeConfig,
|
|
85
85
|
load_dotenv_values,
|
|
86
86
|
)
|
|
87
|
-
from
|
|
87
|
+
from drydock.core.proxy_setup import (
|
|
88
88
|
ProxySetupError,
|
|
89
89
|
parse_proxy_command,
|
|
90
90
|
set_proxy_var,
|
|
91
91
|
unset_proxy_var,
|
|
92
92
|
)
|
|
93
|
-
from
|
|
94
|
-
from
|
|
95
|
-
from
|
|
93
|
+
from drydock.core.session.session_loader import SessionLoader
|
|
94
|
+
from drydock.core.tools.base import BaseToolConfig, ToolPermission
|
|
95
|
+
from drydock.core.types import (
|
|
96
96
|
ApprovalResponse,
|
|
97
97
|
AssistantEvent,
|
|
98
98
|
AsyncApprovalCallback,
|
|
@@ -107,7 +107,7 @@ from vibe.core.types import (
|
|
|
107
107
|
ToolStreamEvent,
|
|
108
108
|
UserMessageEvent,
|
|
109
109
|
)
|
|
110
|
-
from
|
|
110
|
+
from drydock.core.utils import CancellationReason, get_user_cancellation_message
|
|
111
111
|
|
|
112
112
|
|
|
113
113
|
class AcpSessionLoop(BaseModel):
|
|
@@ -7,14 +7,14 @@ import sys
|
|
|
7
7
|
|
|
8
8
|
import tomli_w
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
10
|
+
from drydock import __version__
|
|
11
|
+
from drydock.core.config import VibeConfig
|
|
12
|
+
from drydock.core.config.harness_files import (
|
|
13
13
|
get_harness_files_manager,
|
|
14
14
|
init_harness_files_manager,
|
|
15
15
|
)
|
|
16
|
-
from
|
|
17
|
-
from
|
|
16
|
+
from drydock.core.logger import logger
|
|
17
|
+
from drydock.core.paths import HISTORY_FILE
|
|
18
18
|
|
|
19
19
|
# Configure line buffering for subprocess communication
|
|
20
20
|
sys.stdout.reconfigure(line_buffering=True) # pyright: ignore[reportAttributeAccessIssue]
|
|
@@ -77,8 +77,8 @@ def main() -> None:
|
|
|
77
77
|
handle_debug_mode()
|
|
78
78
|
init_harness_files_manager("user", "project")
|
|
79
79
|
|
|
80
|
-
from
|
|
81
|
-
from
|
|
80
|
+
from drydock.acp.acp_agent_loop import run_acp_server
|
|
81
|
+
from drydock.setup.onboarding import run_onboarding
|
|
82
82
|
|
|
83
83
|
bootstrap_config_files()
|
|
84
84
|
args = parse_arguments()
|
|
@@ -8,10 +8,10 @@ from acp.helpers import SessionUpdate, ToolCallContentVariant
|
|
|
8
8
|
from acp.schema import ToolCallProgress
|
|
9
9
|
from pydantic import BaseModel, ConfigDict, Field, SkipValidation
|
|
10
10
|
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
11
|
+
from drydock.core.logger import logger
|
|
12
|
+
from drydock.core.tools.base import BaseTool, ToolError
|
|
13
|
+
from drydock.core.tools.manager import ToolManager
|
|
14
|
+
from drydock.core.types import ToolCallEvent, ToolResultEvent
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
@runtime_checkable
|
|
@@ -11,12 +11,12 @@ from acp.schema import (
|
|
|
11
11
|
WaitForTerminalExitResponse,
|
|
12
12
|
)
|
|
13
13
|
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
14
|
+
from drydock import VIBE_ROOT
|
|
15
|
+
from drydock.acp.tools.base import AcpToolState, BaseAcpTool
|
|
16
|
+
from drydock.core.logger import logger
|
|
17
|
+
from drydock.core.tools.base import BaseToolState, InvokeContext, ToolError
|
|
18
|
+
from drydock.core.tools.builtins.bash import Bash as CoreBashTool, BashArgs, BashResult
|
|
19
|
+
from drydock.core.types import ToolCallEvent, ToolResultEvent, ToolStreamEvent
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
class AcpBashState(BaseToolState, AcpToolState):
|
|
@@ -2,10 +2,10 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
5
|
+
from drydock import VIBE_ROOT
|
|
6
|
+
from drydock.acp.tools.base import AcpToolState, BaseAcpTool
|
|
7
|
+
from drydock.core.tools.base import BaseToolState, ToolError
|
|
8
|
+
from drydock.core.tools.builtins.read_file import (
|
|
9
9
|
ReadFile as CoreReadFileTool,
|
|
10
10
|
ReadFileArgs,
|
|
11
11
|
ReadFileResult,
|
|
@@ -10,15 +10,15 @@ from acp.schema import (
|
|
|
10
10
|
ToolCallStart,
|
|
11
11
|
)
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
13
|
+
from drydock import VIBE_ROOT
|
|
14
|
+
from drydock.acp.tools.base import AcpToolState, BaseAcpTool
|
|
15
|
+
from drydock.core.tools.base import BaseToolState, ToolError
|
|
16
|
+
from drydock.core.tools.builtins.search_replace import (
|
|
17
17
|
SearchReplace as CoreSearchReplaceTool,
|
|
18
18
|
SearchReplaceArgs,
|
|
19
19
|
SearchReplaceResult,
|
|
20
20
|
)
|
|
21
|
-
from
|
|
21
|
+
from drydock.core.types import ToolCallEvent, ToolResultEvent
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class AcpSearchReplaceState(BaseToolState, AcpToolState):
|
|
@@ -5,9 +5,9 @@ from typing import cast
|
|
|
5
5
|
from acp.helpers import SessionUpdate
|
|
6
6
|
from acp.schema import AgentPlanUpdate, PlanEntry, PlanEntryPriority, PlanEntryStatus
|
|
7
7
|
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
8
|
+
from drydock import VIBE_ROOT
|
|
9
|
+
from drydock.acp.tools.base import AcpToolState, BaseAcpTool
|
|
10
|
+
from drydock.core.tools.builtins.todo import (
|
|
11
11
|
Todo as CoreTodoTool,
|
|
12
12
|
TodoArgs,
|
|
13
13
|
TodoPriority,
|
|
@@ -15,7 +15,7 @@ from vibe.core.tools.builtins.todo import (
|
|
|
15
15
|
TodoState,
|
|
16
16
|
TodoStatus,
|
|
17
17
|
)
|
|
18
|
-
from
|
|
18
|
+
from drydock.core.types import ToolCallEvent, ToolResultEvent
|
|
19
19
|
|
|
20
20
|
TodoArgs = TodoArgs
|
|
21
21
|
|
|
@@ -10,15 +10,15 @@ from acp.schema import (
|
|
|
10
10
|
ToolCallStart,
|
|
11
11
|
)
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
13
|
+
from drydock import VIBE_ROOT
|
|
14
|
+
from drydock.acp.tools.base import AcpToolState, BaseAcpTool
|
|
15
|
+
from drydock.core.tools.base import BaseToolState, ToolError
|
|
16
|
+
from drydock.core.tools.builtins.write_file import (
|
|
17
17
|
WriteFile as CoreWriteFileTool,
|
|
18
18
|
WriteFileArgs,
|
|
19
19
|
WriteFileResult,
|
|
20
20
|
)
|
|
21
|
-
from
|
|
21
|
+
from drydock.core.types import ToolCallEvent, ToolResultEvent
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class AcpWriteFileState(BaseToolState, AcpToolState):
|
|
@@ -9,13 +9,13 @@ from acp.schema import (
|
|
|
9
9
|
ToolKind,
|
|
10
10
|
)
|
|
11
11
|
|
|
12
|
-
from
|
|
12
|
+
from drydock.acp.tools.base import (
|
|
13
13
|
ToolCallSessionUpdateProtocol,
|
|
14
14
|
ToolResultSessionUpdateProtocol,
|
|
15
15
|
)
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
16
|
+
from drydock.core.tools.ui import ToolUIDataAdapter
|
|
17
|
+
from drydock.core.types import ToolCallEvent, ToolResultEvent
|
|
18
|
+
from drydock.core.utils import TaggedText, is_user_cancellation_event
|
|
19
19
|
|
|
20
20
|
TOOL_KIND: dict[str, ToolKind] = {
|
|
21
21
|
"grep": "search",
|
|
@@ -21,13 +21,13 @@ from acp.schema import (
|
|
|
21
21
|
UserMessageChunk,
|
|
22
22
|
)
|
|
23
23
|
|
|
24
|
-
from
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from
|
|
24
|
+
from drydock.core.agents.models import AgentProfile, AgentType
|
|
25
|
+
from drydock.core.proxy_setup import SUPPORTED_PROXY_VARS, get_current_proxy_settings
|
|
26
|
+
from drydock.core.types import CompactEndEvent, CompactStartEvent, LLMMessage
|
|
27
|
+
from drydock.core.utils import compact_reduction_display
|
|
28
28
|
|
|
29
29
|
if TYPE_CHECKING:
|
|
30
|
-
from
|
|
30
|
+
from drydock.core.config import ModelConfig
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class ToolOption(StrEnum):
|
|
@@ -6,8 +6,8 @@ from threading import Lock
|
|
|
6
6
|
|
|
7
7
|
from textual import events
|
|
8
8
|
|
|
9
|
-
from
|
|
10
|
-
from
|
|
9
|
+
from drydock.cli.autocompletion.base import CompletionResult, CompletionView
|
|
10
|
+
from drydock.core.autocompletion.completers import PathCompleter
|
|
11
11
|
|
|
12
12
|
MAX_SUGGESTIONS_COUNT = 10
|
|
13
13
|
|
|
@@ -2,8 +2,8 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from textual import events
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from drydock.cli.autocompletion.base import CompletionResult, CompletionView
|
|
6
|
+
from drydock.core.autocompletion.completers import CommandCompleter
|
|
7
7
|
|
|
8
8
|
MAX_SUGGESTIONS_COUNT = 10
|
|
9
9
|
|
|
@@ -7,24 +7,24 @@ import sys
|
|
|
7
7
|
from rich import print as rprint
|
|
8
8
|
import tomli_w
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
10
|
+
from drydock import __version__
|
|
11
|
+
from drydock.cli.textual_ui.app import run_textual_ui
|
|
12
|
+
from drydock.core.agent_loop import AgentLoop
|
|
13
|
+
from drydock.core.agents.models import BuiltinAgentName
|
|
14
|
+
from drydock.core.config import (
|
|
15
15
|
MissingAPIKeyError,
|
|
16
16
|
MissingPromptFileError,
|
|
17
17
|
VibeConfig,
|
|
18
18
|
load_dotenv_values,
|
|
19
19
|
)
|
|
20
|
-
from
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
from
|
|
24
|
-
from
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from
|
|
20
|
+
from drydock.core.config.harness_files import get_harness_files_manager
|
|
21
|
+
from drydock.core.logger import logger
|
|
22
|
+
from drydock.core.paths import HISTORY_FILE
|
|
23
|
+
from drydock.core.programmatic import run_programmatic
|
|
24
|
+
from drydock.core.session.session_loader import SessionLoader
|
|
25
|
+
from drydock.core.types import EntrypointMetadata, LLMMessage, OutputFormat, Role
|
|
26
|
+
from drydock.core.utils import ConversationLimitException
|
|
27
|
+
from drydock.setup.onboarding import run_onboarding
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
def get_initial_agent_name(args: argparse.Namespace) -> str:
|
|
@@ -7,11 +7,11 @@ import sys
|
|
|
7
7
|
|
|
8
8
|
from rich import print as rprint
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
10
|
+
from drydock import __version__
|
|
11
|
+
from drydock.core.agents.models import BuiltinAgentName
|
|
12
|
+
from drydock.core.config.harness_files import init_harness_files_manager
|
|
13
|
+
from drydock.core.trusted_folders import has_trustable_content, trusted_folders_manager
|
|
14
|
+
from drydock.setup.trusted_folders.trust_folder_dialog import (
|
|
15
15
|
TrustDialogQuitException,
|
|
16
16
|
ask_trust_folder,
|
|
17
17
|
)
|
|
@@ -165,7 +165,7 @@ def main() -> None:
|
|
|
165
165
|
check_and_resolve_trusted_folder()
|
|
166
166
|
init_harness_files_manager("user", "project")
|
|
167
167
|
|
|
168
|
-
from
|
|
168
|
+
from drydock.cli.cli import run_cli
|
|
169
169
|
|
|
170
170
|
run_cli(args)
|
|
171
171
|
|
|
@@ -3,14 +3,14 @@ from __future__ import annotations
|
|
|
3
3
|
import logging
|
|
4
4
|
from os import getenv
|
|
5
5
|
|
|
6
|
-
from
|
|
6
|
+
from drydock.cli.plan_offer.ports.whoami_gateway import (
|
|
7
7
|
WhoAmIGateway,
|
|
8
8
|
WhoAmIGatewayError,
|
|
9
9
|
WhoAmIGatewayUnauthorized,
|
|
10
10
|
WhoAmIPlanType,
|
|
11
11
|
WhoAmIResponse,
|
|
12
12
|
)
|
|
13
|
-
from
|
|
13
|
+
from drydock.core.config import DEFAULT_MISTRAL_API_ENV_KEY, Backend, ProviderConfig
|
|
14
14
|
|
|
15
15
|
logger = logging.getLogger(__name__)
|
|
16
16
|
|
|
@@ -20,34 +20,34 @@ from textual.events import AppBlur, AppFocus, MouseUp
|
|
|
20
20
|
from textual.widget import Widget
|
|
21
21
|
from textual.widgets import Static
|
|
22
22
|
|
|
23
|
-
from
|
|
24
|
-
from
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from
|
|
23
|
+
from drydock import __version__ as CORE_VERSION
|
|
24
|
+
from drydock.cli.clipboard import copy_selection_to_clipboard
|
|
25
|
+
from drydock.cli.commands import CommandRegistry
|
|
26
|
+
from drydock.cli.plan_offer.adapters.http_whoami_gateway import HttpWhoAmIGateway
|
|
27
|
+
from drydock.cli.plan_offer.decide_plan_offer import (
|
|
28
28
|
PlanInfo,
|
|
29
29
|
decide_plan_offer,
|
|
30
30
|
plan_offer_cta,
|
|
31
31
|
plan_title,
|
|
32
32
|
resolve_api_key_for_plan,
|
|
33
33
|
)
|
|
34
|
-
from
|
|
35
|
-
from
|
|
36
|
-
from
|
|
37
|
-
from
|
|
34
|
+
from drydock.cli.plan_offer.ports.whoami_gateway import WhoAmIGateway, WhoAmIPlanType
|
|
35
|
+
from drydock.cli.terminal_setup import setup_terminal
|
|
36
|
+
from drydock.cli.textual_ui.handlers.event_handler import EventHandler
|
|
37
|
+
from drydock.cli.textual_ui.notifications import (
|
|
38
38
|
NotificationContext,
|
|
39
39
|
NotificationPort,
|
|
40
40
|
TextualNotificationAdapter,
|
|
41
41
|
)
|
|
42
|
-
from
|
|
43
|
-
from
|
|
44
|
-
from
|
|
45
|
-
from
|
|
46
|
-
from
|
|
47
|
-
from
|
|
48
|
-
from
|
|
49
|
-
from
|
|
50
|
-
from
|
|
42
|
+
from drydock.cli.textual_ui.widgets.approval_app import ApprovalApp
|
|
43
|
+
from drydock.cli.textual_ui.widgets.banner.banner import Banner
|
|
44
|
+
from drydock.cli.textual_ui.widgets.chat_input import ChatInputContainer
|
|
45
|
+
from drydock.cli.textual_ui.widgets.compact import CompactMessage
|
|
46
|
+
from drydock.cli.textual_ui.widgets.config_app import ConfigApp
|
|
47
|
+
from drydock.cli.textual_ui.widgets.context_progress import ContextProgress, TokenState
|
|
48
|
+
from drydock.cli.textual_ui.widgets.load_more import HistoryLoadMoreRequested
|
|
49
|
+
from drydock.cli.textual_ui.widgets.loading import LoadingWidget, paused_timer
|
|
50
|
+
from drydock.cli.textual_ui.widgets.messages import (
|
|
51
51
|
BashOutputMessage,
|
|
52
52
|
ErrorMessage,
|
|
53
53
|
InterruptMessage,
|
|
@@ -57,14 +57,14 @@ from vibe.cli.textual_ui.widgets.messages import (
|
|
|
57
57
|
WarningMessage,
|
|
58
58
|
WhatsNewMessage,
|
|
59
59
|
)
|
|
60
|
-
from
|
|
61
|
-
from
|
|
62
|
-
from
|
|
63
|
-
from
|
|
64
|
-
from
|
|
65
|
-
from
|
|
66
|
-
from
|
|
67
|
-
from
|
|
60
|
+
from drydock.cli.textual_ui.widgets.no_markup_static import NoMarkupStatic
|
|
61
|
+
from drydock.cli.textual_ui.widgets.path_display import PathDisplay
|
|
62
|
+
from drydock.cli.textual_ui.widgets.proxy_setup_app import ProxySetupApp
|
|
63
|
+
from drydock.cli.textual_ui.widgets.question_app import QuestionApp
|
|
64
|
+
from drydock.cli.textual_ui.widgets.session_picker import SessionPickerApp
|
|
65
|
+
from drydock.cli.textual_ui.widgets.teleport_message import TeleportMessage
|
|
66
|
+
from drydock.cli.textual_ui.widgets.tools import ToolResultMessage
|
|
67
|
+
from drydock.cli.textual_ui.windowing import (
|
|
68
68
|
HISTORY_RESUME_TAIL_MESSAGES,
|
|
69
69
|
LOAD_MORE_BATCH_SIZE,
|
|
70
70
|
HistoryLoadMoreManager,
|
|
@@ -75,7 +75,7 @@ from vibe.cli.textual_ui.windowing import (
|
|
|
75
75
|
should_resume_history,
|
|
76
76
|
sync_backfill_state,
|
|
77
77
|
)
|
|
78
|
-
from
|
|
78
|
+
from drydock.cli.update_notifier import (
|
|
79
79
|
FileSystemUpdateCacheRepository,
|
|
80
80
|
PyPIUpdateGateway,
|
|
81
81
|
UpdateCacheRepository,
|
|
@@ -86,15 +86,15 @@ from vibe.cli.update_notifier import (
|
|
|
86
86
|
mark_version_as_seen,
|
|
87
87
|
should_show_whats_new,
|
|
88
88
|
)
|
|
89
|
-
from
|
|
90
|
-
from
|
|
91
|
-
from
|
|
92
|
-
from
|
|
93
|
-
from
|
|
94
|
-
from
|
|
95
|
-
from
|
|
96
|
-
from
|
|
97
|
-
from
|
|
89
|
+
from drydock.cli.update_notifier.update import do_update
|
|
90
|
+
from drydock.core.agent_loop import AgentLoop, TeleportError
|
|
91
|
+
from drydock.core.agents import AgentProfile
|
|
92
|
+
from drydock.core.autocompletion.path_prompt_adapter import render_path_prompt
|
|
93
|
+
from drydock.core.config import Backend, VibeConfig
|
|
94
|
+
from drydock.core.logger import logger
|
|
95
|
+
from drydock.core.paths import HISTORY_FILE
|
|
96
|
+
from drydock.core.session.session_loader import SessionLoader
|
|
97
|
+
from drydock.core.teleport.types import (
|
|
98
98
|
TeleportAuthCompleteEvent,
|
|
99
99
|
TeleportAuthRequiredEvent,
|
|
100
100
|
TeleportCheckingGitEvent,
|
|
@@ -105,21 +105,21 @@ from vibe.core.teleport.types import (
|
|
|
105
105
|
TeleportSendingGithubTokenEvent,
|
|
106
106
|
TeleportStartingWorkflowEvent,
|
|
107
107
|
)
|
|
108
|
-
from
|
|
109
|
-
from
|
|
108
|
+
from drydock.core.tools.base import ToolPermission
|
|
109
|
+
from drydock.core.tools.builtins.ask_user_question import (
|
|
110
110
|
AskUserQuestionArgs,
|
|
111
111
|
AskUserQuestionResult,
|
|
112
112
|
Choice,
|
|
113
113
|
Question,
|
|
114
114
|
)
|
|
115
|
-
from
|
|
115
|
+
from drydock.core.types import (
|
|
116
116
|
AgentStats,
|
|
117
117
|
ApprovalResponse,
|
|
118
118
|
LLMMessage,
|
|
119
119
|
RateLimitError,
|
|
120
120
|
Role,
|
|
121
121
|
)
|
|
122
|
-
from
|
|
122
|
+
from drydock.core.utils import (
|
|
123
123
|
CancellationReason,
|
|
124
124
|
get_user_cancellation_message,
|
|
125
125
|
is_dangerous_directory,
|
{drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/handlers/event_handler.py
RENAMED
|
@@ -3,13 +3,13 @@ from __future__ import annotations
|
|
|
3
3
|
from collections.abc import Callable
|
|
4
4
|
from typing import TYPE_CHECKING
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
6
|
+
from drydock.cli.textual_ui.widgets.compact import CompactMessage
|
|
7
|
+
from drydock.cli.textual_ui.widgets.messages import AssistantMessage, ReasoningMessage
|
|
8
|
+
from drydock.cli.textual_ui.widgets.no_markup_static import NoMarkupStatic
|
|
9
|
+
from drydock.cli.textual_ui.widgets.tools import ToolCallMessage, ToolResultMessage
|
|
10
|
+
from drydock.core.drydock_states import get_state_term
|
|
11
|
+
from drydock.core.tools.ui import ToolUIDataAdapter
|
|
12
|
+
from drydock.core.types import (
|
|
13
13
|
AssistantEvent,
|
|
14
14
|
BaseEvent,
|
|
15
15
|
CompactEndEvent,
|
|
@@ -20,10 +20,10 @@ from vibe.core.types import (
|
|
|
20
20
|
ToolStreamEvent,
|
|
21
21
|
UserMessageEvent,
|
|
22
22
|
)
|
|
23
|
-
from
|
|
23
|
+
from drydock.core.utils import TaggedText
|
|
24
24
|
|
|
25
25
|
if TYPE_CHECKING:
|
|
26
|
-
from
|
|
26
|
+
from drydock.cli.textual_ui.widgets.loading import LoadingWidget
|
|
27
27
|
|
|
28
28
|
# Maps tool status text keywords to drydock nautical state categories.
|
|
29
29
|
_STATUS_TO_NAUTICAL_CATEGORY: dict[str, str] = {
|
{drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/notifications/__init__.py
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from drydock.cli.textual_ui.notifications.adapters.textual_notification_adapter import (
|
|
4
4
|
TextualNotificationAdapter,
|
|
5
5
|
)
|
|
6
|
-
from
|
|
6
|
+
from drydock.cli.textual_ui.notifications.ports.notification_port import (
|
|
7
7
|
NotificationContext,
|
|
8
8
|
NotificationPort,
|
|
9
9
|
)
|
|
@@ -10,9 +10,9 @@ from textual.containers import Container, Vertical, VerticalScroll
|
|
|
10
10
|
from textual.message import Message
|
|
11
11
|
from textual.widgets import Static
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
13
|
+
from drydock.cli.textual_ui.widgets.no_markup_static import NoMarkupStatic
|
|
14
|
+
from drydock.cli.textual_ui.widgets.tool_widgets import get_approval_widget
|
|
15
|
+
from drydock.core.config import VibeConfig
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class ApprovalApp(Container):
|
{drydock_cli-0.4.2/vibe → drydock_cli-0.5.0/drydock}/cli/textual_ui/widgets/banner/banner.py
RENAMED
|
@@ -8,11 +8,11 @@ from textual.containers import Horizontal, Vertical
|
|
|
8
8
|
from textual.reactive import reactive
|
|
9
9
|
from textual.widgets import Static
|
|
10
10
|
|
|
11
|
-
from
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
11
|
+
from drydock import __version__
|
|
12
|
+
from drydock.cli.textual_ui.widgets.banner.petit_chat import PetitChat
|
|
13
|
+
from drydock.cli.textual_ui.widgets.no_markup_static import NoMarkupStatic
|
|
14
|
+
from drydock.core.config import VibeConfig
|
|
15
|
+
from drydock.core.skills.manager import SkillManager
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
@dataclass
|