drydock-cli 1.6.8__tar.gz → 1.7.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-1.6.8 → drydock_cli-1.7.0}/PKG-INFO +1 -1
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/build_orchestrator.py +61 -2
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/pyproject.toml +1 -1
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.github/CODEOWNERS +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.github/workflows/ci.yml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.github/workflows/release.yml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.gitignore +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.pre-commit-config.yaml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.python-version +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.typos.toml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.vscode/extensions.json +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.vscode/launch.json +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/.vscode/settings.json +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/AGENTS.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/CHANGELOG.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/CLAUDE.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/CONTRIBUTING.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/Drydock_rebrand.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/LICENSE +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/NOTICE +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/PRD.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/README.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/action.yml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/distribution/zed/LICENSE +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/distribution/zed/extension.toml +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/docs/README.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/docs/acp-setup.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/docs/proxy-setup.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/acp/utils.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/cli.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/commands.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/agent_loop.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/agents/models.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/auth/github.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/consultant.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/hooks.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/format.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/llm/types.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/logger.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/middleware.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/paths/_vibe_home.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/plan_session.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/plugins.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/programmatic.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/skills/models.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/slug.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/base.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/task_manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/types.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/utils.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/skills/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/whats_new.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock-acp.spec +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock_terms.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/flake.lock +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/flake.nix +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/README.md +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/backup.sh +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/bump_version.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/install.sh +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/monitor_test_battery.sh +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/prepare_release.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/test_bank.sh +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/test_full.sh +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/scripts/test_smoke.sh +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/conftest.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_acp.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_bash.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_content.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_utils.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/backend/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/backend/test_backend.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_commands.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/conftest.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_agents.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_slug.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/core/test_utils.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/e2e/common.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/e2e/conftest.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/mock/__init__.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/mock/utils.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/skills/conftest.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/skills/test_manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/skills/test_models.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/skills/test_parser.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.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-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_agent_backend.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_agent_stats.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_agents.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_bank_build.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_bank_debug.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_bank_prd.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_bank_tools.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_bank_update.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_build_projects.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_current_bugs.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_full_regression.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_history_manager.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_integration.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_loop_detection.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_message_id.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_message_merging.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_middleware.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_multi_agent.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_real_failures.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_real_issues.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_real_workflow.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_smoke.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_system_prompt.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_tagged_text.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_user_issues.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/test_workloads.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/testbank_helpers.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_bash.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_grep.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_task.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-1.6.8 → drydock_cli-1.7.0}/uv.lock +0 -0
|
@@ -154,8 +154,59 @@ async def run_planner(
|
|
|
154
154
|
|
|
155
155
|
full_response = data["choices"][0]["message"]["content"]
|
|
156
156
|
logger.info("Planner response length: %d chars", len(full_response))
|
|
157
|
+
logger.debug("Planner response: %s", full_response[:500])
|
|
157
158
|
|
|
158
|
-
|
|
159
|
+
try:
|
|
160
|
+
return extract_plan(full_response)
|
|
161
|
+
except ValueError:
|
|
162
|
+
# Retry with simpler prompt
|
|
163
|
+
logger.warning("First planner attempt failed, retrying with simpler prompt...")
|
|
164
|
+
simple_messages = [
|
|
165
|
+
{"role": "system", "content": "Output ONLY valid JSON. No text before or after."},
|
|
166
|
+
{"role": "user", "content": (
|
|
167
|
+
"Create a JSON build plan for a Python package. "
|
|
168
|
+
"The package should be called 'log_analyzer' with these files:\n"
|
|
169
|
+
'{"package_name":"log_analyzer","description":"Log analyzer tool",'
|
|
170
|
+
'"entry_point":"cli","files":['
|
|
171
|
+
'{"path":"log_analyzer/parser.py","purpose":"Parse log lines into structured events","imports":[]},'
|
|
172
|
+
'{"path":"log_analyzer/patterns.py","purpose":"Group similar messages, detect frequency spikes","imports":["log_analyzer.parser"]},'
|
|
173
|
+
'{"path":"log_analyzer/anomaly.py","purpose":"Detect anomalies using heuristics","imports":["log_analyzer.parser"]},'
|
|
174
|
+
'{"path":"log_analyzer/root_cause.py","purpose":"Generate root cause suggestions","imports":["log_analyzer.parser","log_analyzer.patterns"]},'
|
|
175
|
+
'{"path":"log_analyzer/cli.py","purpose":"CLI with argparse: analyze command, --format, --level, --summary-only","imports":["log_analyzer.parser","log_analyzer.patterns","log_analyzer.anomaly","log_analyzer.root_cause"]},'
|
|
176
|
+
'{"path":"log_analyzer/utils.py","purpose":"Utility functions for formatting output","imports":[]}]}\n\n'
|
|
177
|
+
"Adapt this plan based on the project description below. "
|
|
178
|
+
"Output ONLY the JSON, no other text.\n\n"
|
|
179
|
+
f"{user_prompt[:3000]}"
|
|
180
|
+
)},
|
|
181
|
+
]
|
|
182
|
+
async with httpx.AsyncClient(timeout=300) as client:
|
|
183
|
+
resp2 = await client.post(
|
|
184
|
+
f"{provider.api_base}/chat/completions",
|
|
185
|
+
json={"model": config.active_model, "messages": simple_messages,
|
|
186
|
+
"max_tokens": 2048, "temperature": 0.1},
|
|
187
|
+
)
|
|
188
|
+
resp2.raise_for_status()
|
|
189
|
+
full_response2 = resp2.json()["choices"][0]["message"]["content"]
|
|
190
|
+
logger.info("Retry planner response: %d chars", len(full_response2))
|
|
191
|
+
|
|
192
|
+
try:
|
|
193
|
+
return extract_plan(full_response2)
|
|
194
|
+
except ValueError:
|
|
195
|
+
# Last resort: use the hardcoded default plan
|
|
196
|
+
logger.warning("Planner retry failed, using default log_analyzer plan")
|
|
197
|
+
return BuildPlan(
|
|
198
|
+
package_name="log_analyzer",
|
|
199
|
+
description="Log analyzer tool",
|
|
200
|
+
entry_point="cli",
|
|
201
|
+
files=[
|
|
202
|
+
FileSpec("log_analyzer/parser.py", "Parse log lines into structured events", []),
|
|
203
|
+
FileSpec("log_analyzer/patterns.py", "Group similar messages, detect spikes", ["log_analyzer.parser"]),
|
|
204
|
+
FileSpec("log_analyzer/anomaly.py", "Detect anomalies using heuristics", ["log_analyzer.parser"]),
|
|
205
|
+
FileSpec("log_analyzer/root_cause.py", "Generate root cause suggestions", ["log_analyzer.parser"]),
|
|
206
|
+
FileSpec("log_analyzer/cli.py", "CLI with argparse: analyze, --format, --level flags", ["log_analyzer.parser", "log_analyzer.patterns", "log_analyzer.anomaly", "log_analyzer.root_cause"]),
|
|
207
|
+
FileSpec("log_analyzer/utils.py", "Utility functions for formatting", []),
|
|
208
|
+
],
|
|
209
|
+
)
|
|
159
210
|
|
|
160
211
|
|
|
161
212
|
# ============================================================================
|
|
@@ -293,8 +344,11 @@ async def implement_file(
|
|
|
293
344
|
{"role": "system", "content": (
|
|
294
345
|
"You are a code implementation agent. Write a CONCISE Python file. "
|
|
295
346
|
"Output ONLY Python code. No markdown fences. No explanation. "
|
|
347
|
+
"FIRST LINE MUST BE: from __future__ import annotations\n"
|
|
296
348
|
"Keep it under 150 lines. Use absolute imports (from pkg.module import X). "
|
|
297
|
-
"Do NOT use relative imports.
|
|
349
|
+
"Do NOT use relative imports. Do NOT import classes just for type hints — "
|
|
350
|
+
"use string literals instead: def foo(x: 'ClassName'). "
|
|
351
|
+
"Import EXACT names from the EXISTING APIs listed."
|
|
298
352
|
)},
|
|
299
353
|
{"role": "user", "content": prompt},
|
|
300
354
|
]
|
|
@@ -341,6 +395,11 @@ async def implement_file(
|
|
|
341
395
|
logger.warning("Syntax error in generated %s: %s", file_spec.path, e)
|
|
342
396
|
return False
|
|
343
397
|
|
|
398
|
+
# Ensure from __future__ import annotations is first line
|
|
399
|
+
if "from __future__ import annotations" not in content:
|
|
400
|
+
content = "from __future__ import annotations\n\n" + content
|
|
401
|
+
file_path.write_text(content)
|
|
402
|
+
|
|
344
403
|
return True
|
|
345
404
|
|
|
346
405
|
except Exception as e:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/notifications/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/notifications/ports/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/container.py
RENAMED
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/widgets/chat_input/text_area.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/textual_ui/windowing/history_windowing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py
RENAMED
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/cli/update_notifier/ports/update_cache_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/file_indexer/__init__.py
RENAMED
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/autocompletion/file_indexer/ignore_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-1.6.8 → drydock_cli-1.7.0}/drydock/core/config/harness_files/_harness_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|