drydock-cli 2.6.31__tar.gz → 2.6.32__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/PKG-INFO +1 -1
  2. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/gemma4.md +3 -0
  3. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/task.py +15 -2
  4. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/pyproject.toml +1 -1
  5. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/shakedown_interactive.py +62 -29
  6. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/uv.lock +1 -1
  7. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.github/CODEOWNERS +0 -0
  8. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
  9. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  10. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  11. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.github/workflows/build-and-upload.yml +0 -0
  12. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.github/workflows/ci.yml +0 -0
  13. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.github/workflows/issue-labeler.yml +0 -0
  14. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.github/workflows/release.yml +0 -0
  15. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.gitignore +0 -0
  16. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.pre-commit-config.yaml +0 -0
  17. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.python-version +0 -0
  18. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.typos.toml +0 -0
  19. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.vscode/extensions.json +0 -0
  20. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.vscode/launch.json +0 -0
  21. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/.vscode/settings.json +0 -0
  22. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/AGENTS.md +0 -0
  23. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/CHANGELOG.md +0 -0
  24. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/CLAUDE.md +0 -0
  25. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/CONTRIBUTING.md +0 -0
  26. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/Drydock_rebrand.md +0 -0
  27. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/LICENSE +0 -0
  28. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/NOTICE +0 -0
  29. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/PRD.md +0 -0
  30. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/README.md +0 -0
  31. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/action.yml +0 -0
  32. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/distribution/zed/LICENSE +0 -0
  33. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/distribution/zed/extension.toml +0 -0
  34. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/distribution/zed/icons/mistral_vibe.svg +0 -0
  35. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/docs/README.md +0 -0
  36. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/docs/acp-setup.md +0 -0
  37. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/docs/proxy-setup.md +0 -0
  38. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/__init__.py +0 -0
  39. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/__init__.py +0 -0
  40. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/acp_agent_loop.py +0 -0
  41. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/acp_logger.py +0 -0
  42. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/entrypoint.py +0 -0
  43. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/tools/__init__.py +0 -0
  44. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/tools/base.py +0 -0
  45. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/bash.py +0 -0
  46. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/read_file.py +0 -0
  47. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/search_replace.py +0 -0
  48. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/todo.py +0 -0
  49. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/tools/builtins/write_file.py +0 -0
  50. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/tools/session_update.py +0 -0
  51. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/acp/utils.py +0 -0
  52. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/__init__.py +0 -0
  53. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/autocompletion/__init__.py +0 -0
  54. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/autocompletion/base.py +0 -0
  55. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/autocompletion/path_completion.py +0 -0
  56. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/autocompletion/slash_command.py +0 -0
  57. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/cli.py +0 -0
  58. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/clipboard.py +0 -0
  59. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/commands.py +0 -0
  60. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/entrypoint.py +0 -0
  61. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/history_manager.py +0 -0
  62. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
  63. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
  64. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
  65. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/terminal_setup.py +0 -0
  66. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/__init__.py +0 -0
  67. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
  68. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/app.py +0 -0
  69. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/app.tcss +0 -0
  70. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/external_editor.py +0 -0
  71. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
  72. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
  73. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
  74. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
  75. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
  76. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
  77. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
  78. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
  79. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
  80. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
  81. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
  82. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
  83. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
  84. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
  85. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
  86. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
  87. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
  88. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
  89. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/compact.py +0 -0
  90. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
  91. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
  92. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
  93. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/loading.py +0 -0
  94. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/messages.py +0 -0
  95. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
  96. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
  97. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
  98. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
  99. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
  100. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
  101. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
  102. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
  103. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
  104. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/tools.py +0 -0
  105. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
  106. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
  107. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/windowing/history.py +0 -0
  108. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
  109. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/textual_ui/windowing/state.py +0 -0
  110. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/update_notifier/__init__.py +0 -0
  111. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
  112. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
  113. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
  114. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
  115. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
  116. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/update_notifier/update.py +0 -0
  117. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/cli/update_notifier/whats_new.py +0 -0
  118. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/__init__.py +0 -0
  119. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/agent_loop.py +0 -0
  120. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/agents/__init__.py +0 -0
  121. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/agents/manager.py +0 -0
  122. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/agents/models.py +0 -0
  123. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/auth/__init__.py +0 -0
  124. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/auth/crypto.py +0 -0
  125. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/auth/github.py +0 -0
  126. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/__init__.py +0 -0
  127. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/completers.py +0 -0
  128. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
  129. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
  130. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
  131. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/store.py +0 -0
  132. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
  133. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/fuzzy.py +0 -0
  134. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/path_prompt.py +0 -0
  135. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
  136. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/build_orchestrator.py +0 -0
  137. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/config/__init__.py +0 -0
  138. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/config/_settings.py +0 -0
  139. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/config/harness_files/__init__.py +0 -0
  140. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/config/harness_files/_harness_manager.py +0 -0
  141. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/config/harness_files/_paths.py +0 -0
  142. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/consultant.py +0 -0
  143. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/drydock_states.py +0 -0
  144. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/hooks.py +0 -0
  145. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/__init__.py +0 -0
  146. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/backend/anthropic.py +0 -0
  147. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/backend/base.py +0 -0
  148. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/backend/factory.py +0 -0
  149. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/backend/generic.py +0 -0
  150. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/backend/mistral.py +0 -0
  151. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
  152. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/backend/vertex.py +0 -0
  153. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/exceptions.py +0 -0
  154. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/format.py +0 -0
  155. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/message_utils.py +0 -0
  156. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/llm/types.py +0 -0
  157. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/logger.py +0 -0
  158. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/middleware.py +0 -0
  159. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/output_formatters.py +0 -0
  160. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/paths/__init__.py +0 -0
  161. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/paths/_local_config_walk.py +0 -0
  162. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/paths/_vibe_home.py +0 -0
  163. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/paths/conventions.py +0 -0
  164. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/plan_session.py +0 -0
  165. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/plugins.py +0 -0
  166. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/programmatic.py +0 -0
  167. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/__init__.py +0 -0
  168. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/builder.md +0 -0
  169. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/cli.md +0 -0
  170. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/compact.md +0 -0
  171. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/dangerous_directory.md +0 -0
  172. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/diagnostic.md +0 -0
  173. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/explore.md +0 -0
  174. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/planner.md +0 -0
  175. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/project_context.md +0 -0
  176. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/prompts/tests.md +0 -0
  177. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/proxy_setup.py +0 -0
  178. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/session/agent_memory.py +0 -0
  179. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/session/checkpoints.py +0 -0
  180. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/session/session_loader.py +0 -0
  181. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/session/session_logger.py +0 -0
  182. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/session/session_migration.py +0 -0
  183. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/session/state_file.py +0 -0
  184. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/session_checker.py +0 -0
  185. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/skills/__init__.py +0 -0
  186. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/skills/manager.py +0 -0
  187. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/skills/models.py +0 -0
  188. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/skills/parser.py +0 -0
  189. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/slug.py +0 -0
  190. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/system_prompt.py +0 -0
  191. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/telemetry/__init__.py +0 -0
  192. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/telemetry/send.py +0 -0
  193. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/teleport/errors.py +0 -0
  194. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/teleport/git.py +0 -0
  195. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/teleport/nuage.py +0 -0
  196. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/teleport/teleport.py +0 -0
  197. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/teleport/types.py +0 -0
  198. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/base.py +0 -0
  199. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/_task_manager.py +0 -0
  200. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/ask_user_question.py +0 -0
  201. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/bash.py +0 -0
  202. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/cron.py +0 -0
  203. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
  204. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/glob_tool.py +0 -0
  205. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/grep.py +0 -0
  206. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/invoke_skill.py +0 -0
  207. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/lsp.py +0 -0
  208. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/mcp_resources.py +0 -0
  209. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/notebook_edit.py +0 -0
  210. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/powershell.py +0 -0
  211. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
  212. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
  213. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/bash.md +0 -0
  214. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/cron.md +0 -0
  215. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/glob.md +0 -0
  216. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/grep.md +0 -0
  217. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
  218. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
  219. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
  220. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
  221. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
  222. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
  223. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
  224. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
  225. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/task.md +0 -0
  226. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
  227. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/todo.md +0 -0
  228. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
  229. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
  230. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
  231. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
  232. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
  233. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/read_file.py +0 -0
  234. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/search_replace.py +0 -0
  235. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/todo.py +0 -0
  236. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/tool_search.py +0 -0
  237. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/webfetch.py +0 -0
  238. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/websearch.py +0 -0
  239. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/worktree.py +0 -0
  240. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/builtins/write_file.py +0 -0
  241. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/injection_guard.py +0 -0
  242. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/manager.py +0 -0
  243. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/mcp/__init__.py +0 -0
  244. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/mcp/registry.py +0 -0
  245. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/mcp/tools.py +0 -0
  246. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/mcp_sampling.py +0 -0
  247. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/ui.py +0 -0
  248. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/tools/utils.py +0 -0
  249. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/trusted_folders.py +0 -0
  250. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/types.py +0 -0
  251. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/core/utils.py +0 -0
  252. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/setup/onboarding/__init__.py +0 -0
  253. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/setup/onboarding/base.py +0 -0
  254. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/setup/onboarding/onboarding.tcss +0 -0
  255. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/setup/onboarding/screens/__init__.py +0 -0
  256. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/setup/onboarding/screens/api_key.py +0 -0
  257. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/setup/onboarding/screens/welcome.py +0 -0
  258. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
  259. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
  260. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/__init__.py +0 -0
  261. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/api-design/SKILL.md +0 -0
  262. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/batch/SKILL.md +0 -0
  263. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/commit-code/SKILL.md +0 -0
  264. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/context-summary/SKILL.md +0 -0
  265. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/create-presentation/SKILL.md +0 -0
  266. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/deep-research/SKILL.md +0 -0
  267. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/deploy/SKILL.md +0 -0
  268. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/diff-review/SKILL.md +0 -0
  269. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/doc-gen/SKILL.md +0 -0
  270. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/explain-code/SKILL.md +0 -0
  271. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/explore-code/SKILL.md +0 -0
  272. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/fix-issue/SKILL.md +0 -0
  273. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/git-ops/SKILL.md +0 -0
  274. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/init-project/SKILL.md +0 -0
  275. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/investigate/SKILL.md +0 -0
  276. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/loop/SKILL.md +0 -0
  277. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/migrate/SKILL.md +0 -0
  278. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/perf-analyze/SKILL.md +0 -0
  279. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/plan-impl/SKILL.md +0 -0
  280. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/pr-review/SKILL.md +0 -0
  281. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/refactor/SKILL.md +0 -0
  282. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/regex-help/SKILL.md +0 -0
  283. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/review/SKILL.md +0 -0
  284. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/security-review/SKILL.md +0 -0
  285. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/ship/SKILL.md +0 -0
  286. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/simplify/SKILL.md +0 -0
  287. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/skills/test-verify/SKILL.md +0 -0
  288. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock/whats_new.md +0 -0
  289. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock-acp.spec +0 -0
  290. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/drydock_terms.md +0 -0
  291. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/flake.lock +0 -0
  292. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/flake.nix +0 -0
  293. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/README.md +0 -0
  294. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/auto_release.sh +0 -0
  295. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/auto_test_loop.sh +0 -0
  296. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/backup.sh +0 -0
  297. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/bump_version.py +0 -0
  298. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/deploy_to_github.sh +0 -0
  299. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/discover_cli_tools.sh +0 -0
  300. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/install.sh +0 -0
  301. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/llm_balancer.py +0 -0
  302. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/monitor_swebench.sh +0 -0
  303. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/monitor_test_battery.sh +0 -0
  304. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/notify_release.py +0 -0
  305. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/overnight_agents_test.sh +0 -0
  306. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/prepare_release.py +0 -0
  307. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/publish_to_pypi.sh +0 -0
  308. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/shakedown.py +0 -0
  309. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/shakedown_regression.sh +0 -0
  310. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/shakedown_suite.sh +0 -0
  311. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/shakedown_variance.sh +0 -0
  312. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/telegram_bot.py +0 -0
  313. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/test_bank.sh +0 -0
  314. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/test_full.sh +0 -0
  315. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/test_smoke.sh +0 -0
  316. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/test_tui_path.py +0 -0
  317. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/tui_test.py +0 -0
  318. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/scripts/vllm_failover.sh +0 -0
  319. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/__init__.py +0 -0
  320. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/conftest.py +0 -0
  321. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_acp.py +0 -0
  322. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_agent_thought.py +0 -0
  323. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_bash.py +0 -0
  324. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_compact_session_updates.py +0 -0
  325. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_content.py +0 -0
  326. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_initialize.py +0 -0
  327. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_list_sessions.py +0 -0
  328. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_load_session.py +0 -0
  329. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_multi_session.py +0 -0
  330. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_new_session.py +0 -0
  331. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_proxy_setup_acp.py +0 -0
  332. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_read_file.py +0 -0
  333. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_search_replace.py +0 -0
  334. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_set_config_option.py +0 -0
  335. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_set_mode.py +0 -0
  336. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_set_model.py +0 -0
  337. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_tool_call_session_update.py +0 -0
  338. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_utils.py +0 -0
  339. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/acp/test_write_file.py +0 -0
  340. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/autocompletion/test_file_indexer.py +0 -0
  341. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/autocompletion/test_fuzzy.py +0 -0
  342. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
  343. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/autocompletion/test_path_completer_recursive.py +0 -0
  344. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/autocompletion/test_path_completion_controller.py +0 -0
  345. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
  346. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/autocompletion/test_slash_command_controller.py +0 -0
  347. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
  348. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/backend/__init__.py +0 -0
  349. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/backend/data/__init__.py +0 -0
  350. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/backend/data/fireworks.py +0 -0
  351. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/backend/data/mistral.py +0 -0
  352. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/backend/test_anthropic_adapter.py +0 -0
  353. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/backend/test_backend.py +0 -0
  354. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/backend/test_reasoning_adapter.py +0 -0
  355. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
  356. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
  357. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
  358. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
  359. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_bell_notifications.py +0 -0
  360. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_braille_renderer.py +0 -0
  361. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_clipboard.py +0 -0
  362. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_commands.py +0 -0
  363. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_copy_shortcuts.py +0 -0
  364. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_external_editor.py +0 -0
  365. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_no_markup_static.py +0 -0
  366. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_question_app.py +0 -0
  367. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_spinner.py +0 -0
  368. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_switching_mode.py +0 -0
  369. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_ui_clipboard_notifications.py +0 -0
  370. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
  371. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_ui_session_resume.py +0 -0
  372. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/test_ui_skill_dispatch.py +0 -0
  373. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/textual_ui/__init__.py +0 -0
  374. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/cli/textual_ui/test_session_picker.py +0 -0
  375. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/conftest.py +0 -0
  376. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_agents.py +0 -0
  377. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_auth_crypto.py +0 -0
  378. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_auth_github.py +0 -0
  379. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_config_load_dotenv.py +0 -0
  380. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_config_paths.py +0 -0
  381. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_config_resolution.py +0 -0
  382. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_file_logging.py +0 -0
  383. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_plan_session.py +0 -0
  384. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_proxy_setup.py +0 -0
  385. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_slug.py +0 -0
  386. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_telemetry_send.py +0 -0
  387. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_teleport_git.py +0 -0
  388. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_teleport_nuage.py +0 -0
  389. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_teleport_service.py +0 -0
  390. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_trusted_folders.py +0 -0
  391. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/core/test_utils.py +0 -0
  392. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/e2e/common.py +0 -0
  393. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/e2e/conftest.py +0 -0
  394. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/e2e/mock_server.py +0 -0
  395. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/e2e/test_cli_tui_onboarding.py +0 -0
  396. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/e2e/test_cli_tui_streaming.py +0 -0
  397. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
  398. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/fixtures/doc_qa_system_prd.md +0 -0
  399. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/mock/__init__.py +0 -0
  400. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/mock/mock_backend_factory.py +0 -0
  401. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/mock/mock_entrypoint.py +0 -0
  402. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/mock/utils.py +0 -0
  403. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/onboarding/test_run_onboarding.py +0 -0
  404. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/onboarding/test_ui_onboarding.py +0 -0
  405. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/session/test_session_loader.py +0 -0
  406. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/session/test_session_logger.py +0 -0
  407. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/session/test_session_migration.py +0 -0
  408. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/skills/conftest.py +0 -0
  409. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/skills/test_manager.py +0 -0
  410. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/skills/test_models.py +0 -0
  411. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/skills/test_parser.py +0 -0
  412. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
  413. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
  414. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
  415. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
  416. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
  417. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
  418. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
  419. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
  420. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
  421. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
  422. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
  423. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
  424. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
  425. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
  426. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
  427. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
  428. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
  429. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
  430. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
  431. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
  432. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
  433. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
  434. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
  435. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
  436. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
  437. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
  438. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
  439. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
  440. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
  441. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
  442. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
  443. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
  444. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
  445. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
  446. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
  447. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
  448. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
  449. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
  450. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
  451. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
  452. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
  453. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
  454. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
  455. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
  456. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
  457. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
  458. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
  459. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
  460. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
  461. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
  462. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
  463. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
  464. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
  465. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
  466. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
  467. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
  468. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
  469. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
  470. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
  471. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
  472. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/base_snapshot_test_app.py +0 -0
  473. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/conftest.py +0 -0
  474. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/snap_compare.py +0 -0
  475. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
  476. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
  477. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
  478. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
  479. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
  480. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
  481. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
  482. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
  483. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
  484. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
  485. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
  486. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
  487. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
  488. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
  489. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/stubs/fake_backend.py +0 -0
  490. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/stubs/fake_client.py +0 -0
  491. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/stubs/fake_tool.py +0 -0
  492. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_agent_auto_compact.py +0 -0
  493. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_agent_backend.py +0 -0
  494. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_agent_observer_streaming.py +0 -0
  495. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_agent_stats.py +0 -0
  496. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_agent_tasks.py +0 -0
  497. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_agent_tool_call.py +0 -0
  498. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_agents.py +0 -0
  499. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_bank_build.py +0 -0
  500. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_bank_debug.py +0 -0
  501. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_bank_multiagent.py +0 -0
  502. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_bank_prd.py +0 -0
  503. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_bank_prd_extended.py +0 -0
  504. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_bank_tools.py +0 -0
  505. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_bank_update.py +0 -0
  506. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_build_projects.py +0 -0
  507. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_cli_programmatic_preload.py +0 -0
  508. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_current_bugs.py +0 -0
  509. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_drydock_regression.py +0 -0
  510. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_drydock_tasks.py +0 -0
  511. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_full_regression.py +0 -0
  512. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_history_manager.py +0 -0
  513. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_integration.py +0 -0
  514. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_loop_detection.py +0 -0
  515. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_message_id.py +0 -0
  516. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_message_merging.py +0 -0
  517. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_middleware.py +0 -0
  518. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_multi_agent.py +0 -0
  519. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_real_failures.py +0 -0
  520. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_real_issues.py +0 -0
  521. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_real_workflow.py +0 -0
  522. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_reasoning_content.py +0 -0
  523. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_smoke.py +0 -0
  524. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_system_prompt.py +0 -0
  525. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_tagged_text.py +0 -0
  526. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_tool_args.py +0 -0
  527. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_ui_external_editor.py +0 -0
  528. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_ui_input_history.py +0 -0
  529. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_user_issues.py +0 -0
  530. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/test_workloads.py +0 -0
  531. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/testbank_helpers.py +0 -0
  532. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_ask_user_question.py +0 -0
  533. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_bash.py +0 -0
  534. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_exit_plan_mode.py +0 -0
  535. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_grep.py +0 -0
  536. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_invoke_context.py +0 -0
  537. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_manager_get_tool_config.py +0 -0
  538. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_mcp.py +0 -0
  539. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_mcp_sampling.py +0 -0
  540. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_task.py +0 -0
  541. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_ui_bash_execution.py +0 -0
  542. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_webfetch.py +0 -0
  543. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/tools/test_websearch.py +0 -0
  544. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
  545. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
  546. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/test_do_update.py +0 -0
  547. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
  548. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/test_github_update_gateway.py +0 -0
  549. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
  550. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/test_ui_update_notification.py +0 -0
  551. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/test_update_use_case.py +0 -0
  552. {drydock_cli-2.6.31 → drydock_cli-2.6.32}/tests/update_notifier/test_whats_new.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drydock-cli
3
- Version: 2.6.31
3
+ Version: 2.6.32
4
4
  Summary: Local-first CLI coding agent — tested with Gemma 4 26B via vLLM
5
5
  Project-URL: Homepage, https://github.com/fbobe321/drydock
6
6
  Project-URL: Repository, https://github.com/fbobe321/drydock
@@ -62,4 +62,7 @@ Rules:
62
62
  - Follow the EXACT CLI interface specified in the PRD. Match argument names, subcommands, and flags exactly.
63
63
  - Every subcommand in the PRD must have a working handler — not just argparse registration.
64
64
  - After creating files, run python3 -m package_name [subcommand] to verify each one works.
65
+ - If you have a todo list, update it after completing each major step
66
+ (e.g. after building all files, after tests pass). Use todo(action="write")
67
+ to mark items as done.
65
68
  - If a write_file result says "BLOCKED:" you've called it 3+ times with identical content. STOP that path. Write a DIFFERENT file or run bash. Never retry the blocked write.
@@ -194,7 +194,9 @@ class Task(
194
194
  )
195
195
  return
196
196
 
197
- # Foreground execution: block and collect results
197
+ # Foreground execution: block and collect results.
198
+ # Stream both tool CALLS and tool RESULTS so the user sees
199
+ # progress in the TUI instead of silence for 10 minutes.
198
200
  accumulated_response: list[str] = []
199
201
  completed = True
200
202
  try:
@@ -203,13 +205,24 @@ class Task(
203
205
  accumulated_response.append(event.content)
204
206
  if event.stopped_by_middleware:
205
207
  completed = False
208
+ elif isinstance(event, ToolCallEvent):
209
+ # Show what the subagent is about to do
210
+ if event.tool_class:
211
+ adapter = ToolUIDataAdapter(event.tool_class)
212
+ display = adapter.get_call_display(event)
213
+ message = f"→ {display.summary}"
214
+ yield ToolStreamEvent(
215
+ tool_name=self.get_name(),
216
+ message=message,
217
+ tool_call_id=ctx.tool_call_id,
218
+ )
206
219
  elif isinstance(event, ToolResultEvent):
207
220
  if event.skipped:
208
221
  completed = False
209
222
  elif event.result and event.tool_class:
210
223
  adapter = ToolUIDataAdapter(event.tool_class)
211
224
  display = adapter.get_result_display(event)
212
- message = f"{event.tool_name}: {display.message}"
225
+ message = f" {event.tool_name}: {display.message}"
213
226
  yield ToolStreamEvent(
214
227
  tool_name=self.get_name(),
215
228
  message=message,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "drydock-cli"
3
- version = "2.6.31"
3
+ version = "2.6.32"
4
4
  description = "Local-first CLI coding agent — tested with Gemma 4 26B via vLLM"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -32,16 +32,20 @@ SESSION_ROOT = Path.home() / ".vibe" / "logs" / "session"
32
32
  # wait_condition: "msgs>=N" or "writes>=N" or "done"
33
33
 
34
34
  SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
35
- # ── Tool Agent: build, test, extend, troubleshoot ──
35
+ # ── Tool Agent: plan, todo, build, test, extend, troubleshoot ──
36
36
  "tool_agent": [
37
37
  ("Review the PRD and create a plan. List what files you will create "
38
38
  "and in what order. Do NOT write any code yet — just plan.",
39
39
  "msgs>=4", 120),
40
- ("Good. Now start building write __init__.py, __main__.py, and tools.py first.",
41
- "writes>=3", 120),
42
- ("Continuewrite agent.py and cli.py.",
43
- "writes>=5", 120),
44
- ("Run python3 -m {pkg} --help to verify the package works. If it fails, fix it.",
40
+ ("Good plan. Now create a todo list with all the steps needed to "
41
+ "build this package. Include: create files, test, verify each tool. "
42
+ "Then start working through the todo list build the first 3 files.",
43
+ "writes>=3", 150),
44
+ ("Keep going through your todo list. Write the remaining files. "
45
+ "Update each todo item as you complete it.",
46
+ "writes>=5", 150),
47
+ ("Run python3 -m {pkg} --help to verify the package works. If it "
48
+ "fails, fix it. Mark the test todo as done when it passes.",
45
49
  "msgs>={prev}+3", 120),
46
50
  ("Explain how the agent loop works. Walk me through what happens when "
47
51
  "a user types a query.",
@@ -52,18 +56,22 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
52
56
  ("Test it: run python3 -m {pkg} \"What is the date today?\"",
53
57
  "msgs>={prev}+2", 90),
54
58
  ("Now test all the original tools still work: "
55
- "\"What is 23 * 47?\", \"Count words in PRD.md\", \"Search for def in *.py\"",
59
+ "\"What is 23 * 47?\", \"Count words in PRD.md\", \"Search for def in *.py\". "
60
+ "Show me the final todo list status.",
56
61
  "done", 180),
57
62
  ],
58
63
 
59
- # ── Stock Screener: build, create data, test filters, add feature ──
64
+ # ── Stock Screener: todo-driven build + test + feature add ──
60
65
  "stock_screener": [
61
66
  ("Review the PRD. What modules will you need? Plan the architecture "
62
67
  "before writing any code.",
63
68
  "msgs>=4", 120),
64
- ("Start building. Create the data loading module and the screener logic first.",
65
- "writes>=3", 120),
66
- ("Create the CLI, formatter, and __main__.py. Make sure the package can run.",
69
+ ("Create a todo list for the full build: 1) data loader, 2) screener "
70
+ "logic, 3) CLI, 4) formatter, 5) sample data, 6) test all commands, "
71
+ "7) export test. Then start working build the data loader and screener.",
72
+ "writes>=3", 150),
73
+ ("Continue through the todo list. Create the CLI, formatter, and "
74
+ "__main__.py. Make sure the package can run. Update todos as you go.",
67
75
  "writes>=6", 150),
68
76
  ("Create a sample portfolio.csv with at least 8 stocks for testing.",
69
77
  "msgs>={prev}+2", 90),
@@ -74,19 +82,21 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
74
82
  "msgs>={prev}+4", 120),
75
83
  ("Test the rank command: python3 -m {pkg} rank --data portfolio.csv --top 5",
76
84
  "msgs>={prev}+2", 90),
77
- ("Export results to JSON and show me the file contents.",
85
+ ("Export results to JSON and show me the file contents. "
86
+ "Show me the final todo list — everything should be done.",
78
87
  "done", 120),
79
88
  ],
80
89
 
81
- # ── Eval Harness: build, create dataset, run eval, fix issues ──
90
+ # ── Eval Harness: todo-driven build + dataset + eval + improve ──
82
91
  "eval_harness": [
83
92
  ("Review the PRD and plan. How will you implement the code evaluator "
84
93
  "safely without using eval()? Think through the design.",
85
94
  "msgs>=4", 120),
86
- ("Build the evaluators module firstexact match, fuzzy match, "
87
- "and contains evaluators.",
88
- "writes>=2", 120),
89
- ("Now build runner.py, report.py, cli.py, and __main__.py.",
95
+ ("Create a todo list for the full build. Then start build the "
96
+ "evaluators module first with exact match, fuzzy match, and contains.",
97
+ "writes>=2", 150),
98
+ ("Continue through the todo list. Build runner.py, report.py, cli.py, "
99
+ "and __main__.py. Update todos as you finish each file.",
90
100
  "writes>=6", 150),
91
101
  ("Create a sample tasks.json with 10 test cases — mix of math, "
92
102
  "text, and logic questions.",
@@ -99,18 +109,22 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
99
109
  "msgs>={prev}+4", 120),
100
110
  ("Run the eval again and show me the report. Are the results better?",
101
111
  "msgs>={prev}+3", 120),
102
- ("What's the overall accuracy? Which tasks are failing and why?",
112
+ ("What's the overall accuracy? Which tasks are failing and why? "
113
+ "Show me the final todo list status.",
103
114
  "done", 120),
104
115
  ],
105
116
 
106
- # ── Doc QA: build, ingest, query, improve retrieval ──
117
+ # ── Doc QA: todo-driven build + ingest + query + debug ──
107
118
  "doc_qa": [
108
119
  ("Review the PRD. This is a TF-IDF retrieval system with no external "
109
120
  "deps. How will you implement cosine similarity with just stdlib? Plan first.",
110
121
  "msgs>=4", 120),
111
- ("Build the ingestion module document loading and chunking.",
112
- "writes>=2", 120),
113
- ("Build the TF-IDF index module and query processor.",
122
+ ("Create a todo list for the build: 1) ingestion, 2) chunking, "
123
+ "3) TF-IDF index, 4) query engine, 5) CLI, 6) test data, 7) test "
124
+ "ingest, 8) test query. Then start build the ingestion module.",
125
+ "writes>=2", 150),
126
+ ("Continue through the todo list. Build the TF-IDF index module "
127
+ "and query processor. Update todos as you complete each.",
114
128
  "writes>=4", 150),
115
129
  ("Build the CLI and __main__.py. Make sure python3 -m {pkg} --help works.",
116
130
  "writes>=6", 120),
@@ -121,18 +135,21 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
121
135
  ("Query: python3 -m {pkg} query \"What is the main topic?\"",
122
136
  "msgs>={prev}+2", 90),
123
137
  ("The retrieval results look off. Read the index.py file and explain "
124
- "the TF-IDF calculation. Is the IDF formula correct?",
138
+ "the TF-IDF calculation. Is the IDF formula correct? "
139
+ "Show me the final todo list.",
125
140
  "done", 120),
126
141
  ],
127
142
 
128
- # ── Prompt Optimizer: build, create dataset, run optimization ──
143
+ # ── Prompt Optimizer: todo-driven build + dataset + optimize + improve ──
129
144
  "prompt_optimizer": [
130
145
  ("Review the PRD. The default executor uses keyword matching — explain "
131
146
  "how you'll implement that without an LLM. Plan the architecture.",
132
147
  "msgs>=4", 120),
133
- ("Build the template generation and mutation module first.",
134
- "writes>=2", 120),
135
- ("Build the executor, scorer, and optimizer loop.",
148
+ ("Create a todo list for the full build. Then start build the "
149
+ "template generation and mutation module first.",
150
+ "writes>=2", 150),
151
+ ("Continue through the todo list. Build the executor, scorer, and "
152
+ "optimizer loop. Update todos as you go.",
136
153
  "writes>=5", 150),
137
154
  ("Build the CLI and create a sample sentiment dataset with 15 examples.",
138
155
  "writes>=7", 120),
@@ -143,7 +160,8 @@ SCRIPTS: dict[str, list[tuple[str, str, int]]] = {
143
160
  ("The keyword matching is too simple. Add support for negation words "
144
161
  "like 'not good' = negative. Use search_replace on executor.py.",
145
162
  "msgs>={prev}+4", 120),
146
- ("Run the optimization again and compare results to the previous run.",
163
+ ("Run the optimization again and compare results to the previous run. "
164
+ "Show me the final todo list — everything should be marked done.",
147
165
  "done", 120),
148
166
  ],
149
167
  }
@@ -320,7 +338,6 @@ def run_interactive(cwd: Path, pkg: str) -> int:
320
338
  try:
321
339
  for step_idx, (prompt_template, condition, max_wait) in enumerate(script):
322
340
  prompt = prompt_template.replace("{pkg}", pkg)
323
- prev_msgs = len(watcher.messages)
324
341
 
325
342
  print(f"\n--- Step {step_idx + 1}/{len(script)} ---")
326
343
  print(f" PROMPT: {prompt[:80]}{'...' if len(prompt) > 80 else ''}")
@@ -329,6 +346,22 @@ def run_interactive(cwd: Path, pkg: str) -> int:
329
346
  type_message(child, prompt)
330
347
  time.sleep(1)
331
348
 
349
+ # On first step, wait for the session to actually appear
350
+ # before counting messages. The TUI takes a few seconds to
351
+ # create the session directory.
352
+ if step_idx == 0:
353
+ print(" Waiting for session to appear...", end="", flush=True)
354
+ for _ in range(30): # up to 30s
355
+ drain_pty(child)
356
+ if watcher.find_session():
357
+ break
358
+ if watcher.find_session():
359
+ print(f" found: {watcher.session_dir.name}")
360
+ else:
361
+ print(" not found (continuing anyway)")
362
+
363
+ prev_msgs = len(watcher.messages)
364
+
332
365
  # Wait for condition
333
366
  step_start = time.time()
334
367
  met = False
@@ -326,7 +326,7 @@ wheels = [
326
326
 
327
327
  [[package]]
328
328
  name = "drydock-cli"
329
- version = "2.6.30"
329
+ version = "2.6.31"
330
330
  source = { editable = "." }
331
331
  dependencies = [
332
332
  { name = "agent-client-protocol" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes