agentic-devtools 0.2.9__tar.gz → 0.2.10__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 (1030) hide show
  1. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/copilot-instructions.md +117 -22
  2. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/PKG-INFO +1 -1
  3. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/_version.py +2 -2
  4. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/commands.py +62 -2
  5. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/review_commands.py +22 -0
  6. agentic_devtools-0.2.10/agentic_devtools/cli/copilot/__init__.py +14 -0
  7. agentic_devtools-0.2.10/agentic_devtools/cli/copilot/session.py +338 -0
  8. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/commands.py +59 -24
  9. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/preflight.py +4 -0
  10. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/worktree_setup.py +135 -0
  11. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-initiate-prompt.md +31 -7
  12. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/README.md +20 -4
  13. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/conftest.py +3 -49
  14. agentic_devtools-0.2.10/tests/helpers.py +125 -0
  15. agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_app_insights.py +11 -0
  16. agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_app_insights_async.py +11 -0
  17. agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_errors.py +11 -0
  18. agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_errors_async.py +11 -0
  19. agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_provisioning.py +11 -0
  20. agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_provisioning_async.py +11 -0
  21. agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_timeline.py +11 -0
  22. agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_timeline_async.py +11 -0
  23. agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_detect_account_type.py +32 -0
  24. agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_ensure_azure_account.py +40 -0
  25. agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_get_current_azure_account.py +58 -0
  26. agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_is_aza_account.py +27 -0
  27. agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_switch_azure_account.py +58 -0
  28. agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_verify_azure_cli.py +50 -0
  29. agentic_devtools-0.2.10/tests/unit/cli/azure/config/test_get_account_for_environment.py +31 -0
  30. agentic_devtools-0.2.10/tests/unit/cli/azure/config/test_get_app_insights_config.py +42 -0
  31. agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands/test_azure_context_current_command.py +35 -0
  32. agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands/test_azure_context_ensure_login_command.py +37 -0
  33. agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands/test_azure_context_status_command.py +32 -0
  34. agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands/test_azure_context_use_command.py +34 -0
  35. agentic_devtools-0.2.10/tests/unit/cli/azure_context/config/test_get_context_config.py +37 -0
  36. agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_check_login_status.py +50 -0
  37. agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_ensure_logged_in.py +34 -0
  38. agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_get_context_env.py +38 -0
  39. agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_get_current_context.py +50 -0
  40. agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_run_with_context.py +46 -0
  41. agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_show_all_contexts.py +57 -0
  42. agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_switch_context.py +49 -0
  43. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_add_pull_request_comment_async_cli.py +11 -0
  44. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_approve_file_async_cli.py +55 -0
  45. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_approve_pull_request_async_cli.py +11 -0
  46. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_checkout_and_sync_branch_async.py +11 -0
  47. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_create_pipeline_async.py +11 -0
  48. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_create_pull_request_async_cli.py +51 -0
  49. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_generate_review_prompts_async.py +11 -0
  50. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_get_pipeline_id_async.py +11 -0
  51. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_threads_async_cli.py +11 -0
  52. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_list_pipelines_async.py +11 -0
  53. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_lookup_jira_issue_from_pr_async.py +48 -0
  54. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_lookup_pr_from_jira_issue_async.py +48 -0
  55. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_reply_to_pull_request_thread_async_cli.py +11 -0
  56. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_request_changes_async_cli.py +59 -0
  57. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_request_changes_with_suggestion_async_cli.py +59 -0
  58. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_resolve_thread_async_cli.py +11 -0
  59. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_setup_pull_request_review_async.py +11 -0
  60. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_update_pipeline_async.py +11 -0
  61. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_wait_for_run_async.py +11 -0
  62. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/commands/test_add_pull_request_comment.py +489 -0
  63. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/commands/test_parse_bool_from_state.py +49 -0
  64. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/commands/test_require_content.py +39 -0
  65. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_get_failed_submissions.py +59 -0
  66. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_get_queue_status.py +61 -0
  67. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_print_next_file_prompt.py +52 -0
  68. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_reset_failed_submission.py +71 -0
  69. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_sync_submission_pending_with_tasks.py +54 -0
  70. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_update_submission_to_failed.py +70 -0
  71. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_find_jira_issue_from_pr.py +51 -0
  72. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_find_pr_from_jira_issue.py +67 -0
  73. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_find_pull_request_by_issue_key.py +57 -0
  74. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_get_pull_request_details.py +50 -0
  75. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_get_pull_request_source_branch.py +46 -0
  76. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_parse_json_response.py +26 -0
  77. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_print_threads.py +45 -0
  78. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_resolve_thread_by_id.py +57 -0
  79. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_verify_az_cli.py +37 -0
  80. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/review_commands/test_setup_pull_request_review.py +412 -0
  81. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/run_details_commands/test_get_run_details_impl.py +11 -0
  82. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/run_details_commands/test_wait_for_run_impl.py +34 -0
  83. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_ensure_jira_vpn_access.py +20 -0
  84. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_get_vpn_url_from_state.py +41 -0
  85. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_off_async.py +44 -0
  86. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_off_cmd.py +39 -0
  87. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_on_async.py +44 -0
  88. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_on_cmd.py +54 -0
  89. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_status_async.py +44 -0
  90. agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_status_cmd.py +50 -0
  91. agentic_devtools-0.2.10/tests/unit/cli/copilot/session/test_copilotsessionresult.py +64 -0
  92. agentic_devtools-0.2.10/tests/unit/cli/copilot/session/test_is_gh_copilot_available.py +58 -0
  93. agentic_devtools-0.2.10/tests/unit/cli/copilot/session/test_start_copilot_session.py +309 -0
  94. agentic_devtools-0.2.10/tests/unit/cli/git/conftest.py +36 -0
  95. agentic_devtools-0.2.10/tests/unit/cli/jira/async_commands/test_add_comment_async_cli.py +11 -0
  96. agentic_devtools-0.2.10/tests/unit/cli/jira/comment_commands/test_add_comment_cli.py +11 -0
  97. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/conftest.py +5 -4
  98. agentic_devtools-0.2.10/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report.py +37 -0
  99. agentic_devtools-0.2.10/tests/unit/cli/jira/role_commands/test_check_users_exist.py +43 -0
  100. agentic_devtools-0.2.10/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context.py +36 -0
  101. agentic_devtools-0.2.10/tests/unit/cli/network/commands/test_network_status_cmd.py +56 -0
  102. agentic_devtools-0.2.10/tests/unit/cli/network/detection/test_detect_network_context.py +80 -0
  103. agentic_devtools-0.2.10/tests/unit/cli/network/detection/test_get_network_context_display.py +41 -0
  104. agentic_devtools-0.2.10/tests/unit/cli/release/commands/test_release_pypi_async.py +58 -0
  105. agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_build_distribution.py +61 -0
  106. agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_normalize_package_name.py +35 -0
  107. agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_pypi_version_exists.py +93 -0
  108. agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_upload_distribution.py +11 -0
  109. agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_validate_distribution.py +63 -0
  110. agentic_devtools-0.2.10/tests/unit/cli/testing/test_run_tests.py +49 -0
  111. agentic_devtools-0.2.10/tests/unit/cli/testing/test_run_tests_file.py +57 -0
  112. agentic_devtools-0.2.10/tests/unit/cli/testing/test_run_tests_quick.py +48 -0
  113. agentic_devtools-0.2.10/tests/unit/cli/vpn/commands/test_vpn_run_cmd.py +11 -0
  114. agentic_devtools-0.2.10/tests/unit/cli/vpn/runner/__init__.py +0 -0
  115. agentic_devtools-0.2.10/tests/unit/cli/workflows/__init__.py +0 -0
  116. agentic_devtools-0.2.10/tests/unit/cli/workflows/advancement/__init__.py +0 -0
  117. agentic_devtools-0.2.10/tests/unit/cli/workflows/base/__init__.py +0 -0
  118. agentic_devtools-0.2.10/tests/unit/cli/workflows/base/test_clear_state_for_workflow_initiation.py +26 -0
  119. agentic_devtools-0.2.10/tests/unit/cli/workflows/checklist/__init__.py +0 -0
  120. agentic_devtools-0.2.10/tests/unit/cli/workflows/commands/__init__.py +0 -0
  121. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_pull_request_review_workflow.py +128 -0
  122. agentic_devtools-0.2.10/tests/unit/cli/workflows/manager/__init__.py +0 -0
  123. agentic_devtools-0.2.10/tests/unit/cli/workflows/manager/test_get_next_workflow_prompt_cmd.py +59 -0
  124. agentic_devtools-0.2.10/tests/unit/cli/workflows/manager/test_notify_workflow_event.py +58 -0
  125. agentic_devtools-0.2.10/tests/unit/cli/workflows/preflight/__init__.py +0 -0
  126. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_perform_auto_setup.py +30 -0
  127. agentic_devtools-0.2.10/tests/unit/cli/workflows/worktree_setup/__init__.py +0 -0
  128. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test__setup_worktree_from_state.py +56 -0
  129. agentic_devtools-0.2.10/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_pr_review.py +298 -0
  130. agentic_devtools-0.2.10/tests/unit/cli/workflows/worktree_setup/test__wait_for_prompt_file.py +55 -0
  131. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_setup_worktree_in_background_sync.py +202 -0
  132. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_start_worktree_setup_background.py +32 -0
  133. agentic_devtools-0.2.10/tests/unit/config/__init__.py +0 -0
  134. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/conftest.py +3 -4
  135. agentic_devtools-0.2.10/tests/unit/file_locking/__init__.py +0 -0
  136. agentic_devtools-0.2.10/tests/unit/prompts/__init__.py +0 -0
  137. agentic_devtools-0.2.10/tests/unit/prompts/loader/__init__.py +0 -0
  138. agentic_devtools-0.2.10/tests/unit/prompts/loader/test_pr_review_initiate_prompt_rendering.py +87 -0
  139. agentic_devtools-0.2.10/tests/unit/state/__init__.py +0 -0
  140. agentic_devtools-0.2.10/tests/unit/task_state/__init__.py +0 -0
  141. agentic_devtools-0.2.10/tests/unit/task_state/test_cleanup_expired_tasks.py +11 -0
  142. agentic_devtools-0.2.10/tests/unit/task_state/test_get_all_tasks.py +54 -0
  143. agentic_devtools-0.2.10/tests/unit/task_state/test_get_all_tasks_file_path.py +41 -0
  144. agentic_devtools-0.2.10/tests/unit/task_state/test_get_background_tasks_dir.py +33 -0
  145. agentic_devtools-0.2.10/tests/unit/task_state/test_get_logs_dir.py +41 -0
  146. agentic_devtools-0.2.10/tests/unit/task_state/test_get_recent_tasks.py +71 -0
  147. agentic_devtools-0.2.10/tests/unit/task_state/test_get_task_from_all_tasks.py +51 -0
  148. agentic_devtools-0.2.10/tests/unit/task_state/test_save_background_tasks.py +11 -0
  149. agentic_devtools-0.2.10/tests/workflows/__init__.py +0 -0
  150. agentic_devtools-0.2.10/tests/workflows/conftest.py +180 -0
  151. agentic_devtools-0.2.10/tests/workflows/test_workflow_end_to_end.py +803 -0
  152. agentic_devtools-0.2.9/tests/unit/cli/azure_devops/commands/test_add_pull_request_comment.py +0 -203
  153. agentic_devtools-0.2.9/tests/unit/cli/azure_devops/review_commands/test_setup_pull_request_review.py +0 -197
  154. agentic_devtools-0.2.9/tests/unit/cli/git/conftest.py +0 -68
  155. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.devcontainer/README.md +0 -0
  156. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.devcontainer/devcontainer.json +0 -0
  157. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.dfly-temp/background-tasks/all-background-tasks.json +0 -0
  158. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.dfly-temp/dfly-state.json +0 -0
  159. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/MARKDOWN_LINTING.md +0 -0
  160. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/.markdownlint.json +0 -0
  161. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.apply-pr-suggestions.initiate.agent.md +0 -0
  162. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.create-jira-epic.initiate.agent.md +0 -0
  163. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.create-jira-issue.initiate.agent.md +0 -0
  164. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.create-jira-subtask.initiate.agent.md +0 -0
  165. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.completion.agent.md +0 -0
  166. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.decision.agent.md +0 -0
  167. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.file-review.agent.md +0 -0
  168. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.initiate.agent.md +0 -0
  169. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.summary.agent.md +0 -0
  170. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.update-jira-issue.initiate.agent.md +0 -0
  171. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.checklist-creation.agent.md +0 -0
  172. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.commit.agent.md +0 -0
  173. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.completion.agent.md +0 -0
  174. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.implementation-review.agent.md +0 -0
  175. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.implementation.agent.md +0 -0
  176. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.initiate.agent.md +0 -0
  177. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.planning.agent.md +0 -0
  178. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.pull-request.agent.md +0 -0
  179. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.retrieve.agent.md +0 -0
  180. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.setup.agent.md +0 -0
  181. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.verification.agent.md +0 -0
  182. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/copilot-instructions.md +0 -0
  183. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/security-scan.agent.md +0 -0
  184. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/senior-python-developer.md +0 -0
  185. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.analyze.agent.md +0 -0
  186. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.checklist.agent.md +0 -0
  187. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.clarify.agent.md +0 -0
  188. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.constitution.agent.md +0 -0
  189. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.implement.agent.md +0 -0
  190. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.plan.agent.md +0 -0
  191. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.specify.agent.md +0 -0
  192. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.tasks.agent.md +0 -0
  193. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.taskstoissues.agent.md +0 -0
  194. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/.markdownlint.json +0 -0
  195. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.apply-pr-suggestions.initiate.prompt.md +0 -0
  196. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.create-jira-epic.initiate.prompt.md +0 -0
  197. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.create-jira-issue.initiate.prompt.md +0 -0
  198. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.create-jira-subtask.initiate.prompt.md +0 -0
  199. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.completion.prompt.md +0 -0
  200. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.decision.prompt.md +0 -0
  201. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.file-review.prompt.md +0 -0
  202. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.initiate.prompt.md +0 -0
  203. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.summary.prompt.md +0 -0
  204. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.update-jira-issue.initiate.prompt.md +0 -0
  205. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.checklist-creation.prompt.md +0 -0
  206. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.commit.prompt.md +0 -0
  207. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.completion.prompt.md +0 -0
  208. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.implementation-review.prompt.md +0 -0
  209. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.implementation.prompt.md +0 -0
  210. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.initiate.prompt.md +0 -0
  211. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.planning.prompt.md +0 -0
  212. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.pull-request.prompt.md +0 -0
  213. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.retrieve.prompt.md +0 -0
  214. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.setup.prompt.md +0 -0
  215. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.verification.prompt.md +0 -0
  216. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.analyze.prompt.md +0 -0
  217. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.checklist.prompt.md +0 -0
  218. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.clarify.prompt.md +0 -0
  219. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.constitution.prompt.md +0 -0
  220. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.implement.prompt.md +0 -0
  221. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.plan.prompt.md +0 -0
  222. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.specify.prompt.md +0 -0
  223. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.tasks.prompt.md +0 -0
  224. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.taskstoissues.prompt.md +0 -0
  225. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/check-idempotency.sh +0 -0
  226. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/create-spec-pr.sh +0 -0
  227. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/generate-spec-from-issue.sh +0 -0
  228. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/post-issue-comment.sh +0 -0
  229. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/sanitize-branch-name.sh +0 -0
  230. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/.markdownlint.json +0 -0
  231. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/already-processed.md +0 -0
  232. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/completed.md +0 -0
  233. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/failed.md +0 -0
  234. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/started.md +0 -0
  235. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/README.md +0 -0
  236. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/auto-fix-on-failure.yml +0 -0
  237. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/copilot-setup-steps.yml +0 -0
  238. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/lint.yml +0 -0
  239. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/publish.yml +0 -0
  240. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/release.yml +0 -0
  241. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/check-release-exists.sh +0 -0
  242. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/create-github-release.sh +0 -0
  243. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/create-release-packages.ps1 +0 -0
  244. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/create-release-packages.sh +0 -0
  245. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/generate-release-notes.sh +0 -0
  246. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/get-next-version.sh +0 -0
  247. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/update-version.sh +0 -0
  248. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/security-scan-on-merge.yml +0 -0
  249. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/speckit-issue-trigger.yml +0 -0
  250. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/test.yml +0 -0
  251. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.gitignore +0 -0
  252. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.markdownlint-cli2.jsonc +0 -0
  253. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.markdownlint.json +0 -0
  254. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.push-trigger +0 -0
  255. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/SDD_QUICK_REFERENCE.md +0 -0
  256. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/memory/constitution.md +0 -0
  257. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  258. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/common.sh +0 -0
  259. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/create-new-feature.sh +0 -0
  260. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/setup-plan.sh +0 -0
  261. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/update-agent-context.sh +0 -0
  262. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/check-prerequisites.ps1 +0 -0
  263. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/common.ps1 +0 -0
  264. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/create-new-feature.ps1 +0 -0
  265. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/setup-plan.ps1 +0 -0
  266. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/update-agent-context.ps1 +0 -0
  267. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/agent-file-template.md +0 -0
  268. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/checklist-template.md +0 -0
  269. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/.markdownlint.json +0 -0
  270. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/analyze.md +0 -0
  271. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/checklist.md +0 -0
  272. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/clarify.md +0 -0
  273. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/constitution.md +0 -0
  274. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/implement.md +0 -0
  275. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/plan.md +0 -0
  276. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/specify.md +0 -0
  277. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/tasks.md +0 -0
  278. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/taskstoissues.md +0 -0
  279. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/plan-template.md +0 -0
  280. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/spec-template.md +0 -0
  281. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/tasks-template.md +0 -0
  282. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/vscode-settings.json +0 -0
  283. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.work-folder-info +0 -0
  284. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/CHANGELOG.md +0 -0
  285. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/COMMIT_CONVENTION.md +0 -0
  286. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/CONTRIBUTING.md +0 -0
  287. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/LICENSE +0 -0
  288. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/PR_DESCRIPTION.md +0 -0
  289. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/PR_INSTRUCTIONS.md +0 -0
  290. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/README.md +0 -0
  291. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/RELEASING.md +0 -0
  292. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/SECURITY_SCANNING.md +0 -0
  293. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/SOLUTION_SUMMARY.md +0 -0
  294. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/SPEC_DRIVEN_DEVELOPMENT.md +0 -0
  295. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agdt_ai_helpers/__init__.py +0 -0
  296. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/__init__.py +0 -0
  297. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/background_tasks.py +0 -0
  298. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/__init__.py +0 -0
  299. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure/__init__.py +0 -0
  300. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure/app_insights_commands.py +0 -0
  301. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure/auth.py +0 -0
  302. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure/config.py +0 -0
  303. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_context/__init__.py +0 -0
  304. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_context/commands.py +0 -0
  305. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_context/config.py +0 -0
  306. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_context/management.py +0 -0
  307. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/__init__.py +0 -0
  308. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/async_commands.py +0 -0
  309. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/auth.py +0 -0
  310. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/config.py +0 -0
  311. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/file_review_commands.py +0 -0
  312. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/helpers.py +0 -0
  313. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/mark_reviewed.py +0 -0
  314. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/pipeline_commands.py +0 -0
  315. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/pr_summary_commands.py +0 -0
  316. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/pull_request_details_commands.py +0 -0
  317. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/review_helpers.py +0 -0
  318. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/review_jira.py +0 -0
  319. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/review_prompts.py +0 -0
  320. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/run_details_commands.py +0 -0
  321. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/vpn_toggle.py +0 -0
  322. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/__init__.py +0 -0
  323. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/async_commands.py +0 -0
  324. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/commands.py +0 -0
  325. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/core.py +0 -0
  326. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/diff.py +0 -0
  327. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/operations.py +0 -0
  328. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/github/__init__.py +0 -0
  329. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/github/async_commands.py +0 -0
  330. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/github/issue_commands.py +0 -0
  331. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/github/state_helpers.py +0 -0
  332. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/__init__.py +0 -0
  333. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/adf.py +0 -0
  334. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/async_commands.py +0 -0
  335. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/async_status.py +0 -0
  336. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/commands.py +0 -0
  337. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/comment_commands.py +0 -0
  338. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/config.py +0 -0
  339. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/create_commands.py +0 -0
  340. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/formatting.py +0 -0
  341. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/get_commands.py +0 -0
  342. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/helpers.py +0 -0
  343. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/parse_error_report.py +0 -0
  344. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/role_commands.py +0 -0
  345. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/state_helpers.py +0 -0
  346. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/update_commands.py +0 -0
  347. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/vpn_wrapper.py +0 -0
  348. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/network/__init__.py +0 -0
  349. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/network/commands.py +0 -0
  350. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/network/detection.py +0 -0
  351. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/release/__init__.py +0 -0
  352. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/release/commands.py +0 -0
  353. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/release/helpers.py +0 -0
  354. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/runner.py +0 -0
  355. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/state.py +0 -0
  356. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/subprocess_utils.py +0 -0
  357. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/tasks/__init__.py +0 -0
  358. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/tasks/commands.py +0 -0
  359. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/testing.py +0 -0
  360. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/vpn/__init__.py +0 -0
  361. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/vpn/commands.py +0 -0
  362. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/vpn/runner.py +0 -0
  363. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/__init__.py +0 -0
  364. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/advancement.py +0 -0
  365. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/base.py +0 -0
  366. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/checklist.py +0 -0
  367. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/manager.py +0 -0
  368. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/config.py +0 -0
  369. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/file_locking.py +0 -0
  370. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/__init__.py +0 -0
  371. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/apply-pull-request-review-suggestions/default-initiate-prompt.md +0 -0
  372. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/create-jira-epic/default-initiate-prompt.md +0 -0
  373. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/create-jira-issue/default-initiate-prompt.md +0 -0
  374. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/create-jira-subtask/default-initiate-prompt.md +0 -0
  375. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/loader.py +0 -0
  376. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-completion-prompt.md +0 -0
  377. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-decision-prompt.md +0 -0
  378. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-file-review-prompt.md +0 -0
  379. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-summary-prompt.md +0 -0
  380. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/update-jira-issue/default-initiate-prompt.md +0 -0
  381. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-checklist-creation-prompt.md +0 -0
  382. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-commit-prompt.md +0 -0
  383. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-completion-prompt.md +0 -0
  384. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-prompt.md +0 -0
  385. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-review-prompt.md +0 -0
  386. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-initiate-prompt.md +0 -0
  387. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-planning-prompt.md +0 -0
  388. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-pull-request-prompt.md +0 -0
  389. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-retrieve-prompt.md +0 -0
  390. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-setup-prompt.md +0 -0
  391. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-verification-prompt.md +0 -0
  392. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/state.py +0 -0
  393. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/task_state.py +0 -0
  394. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/ayaiay.json +0 -0
  395. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/01-introduction-and-goals.md +0 -0
  396. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/02-architecture-constraints.md +0 -0
  397. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/03-system-context.md +0 -0
  398. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/04-solution-strategy.md +0 -0
  399. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/05-building-blocks.md +0 -0
  400. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/06-runtime-view.md +0 -0
  401. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/07-deployment-view.md +0 -0
  402. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/08-cross-cutting-concepts.md +0 -0
  403. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/09-architecture-decisions.md +0 -0
  404. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/10-quality-requirements.md +0 -0
  405. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/11-risks-and-technical-debt.md +0 -0
  406. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/12-glossary.md +0 -0
  407. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/README.md +0 -0
  408. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/pyproject.toml +0 -0
  409. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/scripts/run-pr-checks.sh +0 -0
  410. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/scripts/scaffold_tests.py +0 -0
  411. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/scripts/validate_test_structure.py +0 -0
  412. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/scripts/verify-agent-coverage.py +0 -0
  413. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-add-workflow-step-agents/checklists/requirements.md +0 -0
  414. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-add-workflow-step-agents/plan.md +0 -0
  415. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-add-workflow-step-agents/spec.md +0 -0
  416. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-add-workflow-step-agents/tasks.md +0 -0
  417. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-pypi-wheel-release/checklists/requirements.md +0 -0
  418. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-pypi-wheel-release/plan.md +0 -0
  419. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-pypi-wheel-release/spec.md +0 -0
  420. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-pypi-wheel-release/tasks.md +0 -0
  421. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-separate-docs/checklists/requirements.md +0 -0
  422. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-separate-docs/plan.md +0 -0
  423. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-separate-docs/spec.md +0 -0
  424. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-separate-docs/tasks.md +0 -0
  425. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/checklists/requirements.md +0 -0
  426. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/plan.md +0 -0
  427. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/spec.md +0 -0
  428. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/tasks.md +0 -0
  429. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/workflow-sequence-diagram.md +0 -0
  430. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/003-comprehensive-e2e-smoke-tests/checklists/requirements.md +0 -0
  431. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/003-comprehensive-e2e-smoke-tests/spec.md +0 -0
  432. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/003-e2e-smoke-tests-cli/plan.md +0 -0
  433. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/README.md +0 -0
  434. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/__init__.py +0 -0
  435. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_context/__init__.py +0 -0
  436. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_context/test_commands.py +0 -0
  437. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_context/test_config.py +0 -0
  438. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_context/test_management.py +0 -0
  439. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/__init__.py +0 -0
  440. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/conftest.py +0 -0
  441. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_async_commands.py +0 -0
  442. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_auth.py +0 -0
  443. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_commands_api.py +0 -0
  444. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_commands_dry_run.py +0 -0
  445. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_config.py +0 -0
  446. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_file_review_commands.py +0 -0
  447. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_helpers.py +0 -0
  448. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_mark_reviewed.py +0 -0
  449. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_pipeline_commands.py +0 -0
  450. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_pr_summary_commands.py +0 -0
  451. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_pull_request_details_commands.py +0 -0
  452. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_review_commands.py +0 -0
  453. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_run_details_commands.py +0 -0
  454. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_vpn_toggle.py +0 -0
  455. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/cli/test_azure_app_insights_commands.py +0 -0
  456. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/cli/test_azure_auth.py +0 -0
  457. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/cli/test_azure_config.py +0 -0
  458. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/conftest.py +0 -0
  459. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/README.md +0 -0
  460. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/__init__.py +0 -0
  461. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/fixtures/cassettes/azure_devops_create_pr.yaml +0 -0
  462. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/fixtures/cassettes/jira_add_comment.yaml +0 -0
  463. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/fixtures/cassettes/jira_get_issue.yaml +0 -0
  464. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/test_azure_devops_commands_e2e.py +0 -0
  465. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/test_git_commands_e2e.py +0 -0
  466. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/test_jira_commands_e2e.py +0 -0
  467. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/network/test_detection.py +0 -0
  468. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/network/test_network_cli.py +0 -0
  469. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_file_review_commands.py +0 -0
  470. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_file_review_queue_management.py +0 -0
  471. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_async.py +0 -0
  472. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_commands.py +0 -0
  473. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_core.py +0 -0
  474. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_diff.py +0 -0
  475. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_operations.py +0 -0
  476. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_utilities.py +0 -0
  477. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_release_commands.py +0 -0
  478. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_release_helpers.py +0 -0
  479. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_release_integration.py +0 -0
  480. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_scaffold_tests.py +0 -0
  481. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_validate_test_structure.py +0 -0
  482. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_version.py +0 -0
  483. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/__init__.py +0 -0
  484. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/__init__.py +0 -0
  485. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_cleanup_old_logs.py +0 -0
  486. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_create_log_file_path.py +0 -0
  487. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_get_task_log_content.py +0 -0
  488. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_run_function_in_background.py +0 -0
  489. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_run_in_background.py +0 -0
  490. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_wait_for_task.py +0 -0
  491. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/__init__.py +0 -0
  492. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops → agentic_devtools-0.2.10/tests/unit/cli/azure}/__init__.py +0 -0
  493. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/async_commands → agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands}/__init__.py +0 -0
  494. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops → agentic_devtools-0.2.10/tests/unit/cli/azure}/auth/__init__.py +0 -0
  495. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/commands → agentic_devtools-0.2.10/tests/unit/cli/azure/config}/__init__.py +0 -0
  496. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/config → agentic_devtools-0.2.10/tests/unit/cli/azure_context}/__init__.py +0 -0
  497. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/file_review_commands → agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands}/__init__.py +0 -0
  498. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/helpers → agentic_devtools-0.2.10/tests/unit/cli/azure_context/config}/__init__.py +0 -0
  499. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/mark_reviewed → agentic_devtools-0.2.10/tests/unit/cli/azure_context/management}/__init__.py +0 -0
  500. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/pipeline_commands → agentic_devtools-0.2.10/tests/unit/cli/azure_devops}/__init__.py +0 -0
  501. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/pr_summary_commands → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands}/__init__.py +0 -0
  502. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/_helpers.py +0 -0
  503. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_add_pull_request_comment_async.py +0 -0
  504. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_approve_file_async.py +0 -0
  505. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_approve_pull_request_async.py +0 -0
  506. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_create_pull_request_async.py +0 -0
  507. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_generate_pr_summary_async.py +0 -0
  508. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_details_async.py +0 -0
  509. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_threads_async.py +0 -0
  510. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_get_run_details_async.py +0 -0
  511. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_mark_file_reviewed_async.py +0 -0
  512. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_mark_pull_request_draft_async.py +0 -0
  513. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_publish_pull_request_async.py +0 -0
  514. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_reply_to_pull_request_thread_async.py +0 -0
  515. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_request_changes_async.py +0 -0
  516. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_request_changes_with_suggestion_async.py +0 -0
  517. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_resolve_thread_async.py +0 -0
  518. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_run_e2e_tests_fabric_async.py +0 -0
  519. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_run_e2e_tests_synapse_async.py +0 -0
  520. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_run_wb_patch_async.py +0 -0
  521. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_submit_file_review_async.py +0 -0
  522. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/pull_request_details_commands → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/auth}/__init__.py +0 -0
  523. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/auth/test_get_auth_headers.py +0 -0
  524. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/auth/test_get_pat.py +0 -0
  525. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/review_commands → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/commands}/__init__.py +0 -0
  526. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_approve_pull_request.py +0 -0
  527. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_create_pull_request.py +0 -0
  528. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_get_pull_request_threads.py +0 -0
  529. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_mark_pull_request_draft.py +0 -0
  530. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_publish_pull_request.py +0 -0
  531. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_reply_to_pull_request_thread.py +0 -0
  532. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_resolve_thread.py +0 -0
  533. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/review_helpers → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/config}/__init__.py +0 -0
  534. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/config/test_azure_devops_config.py +0 -0
  535. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/config/test_constants.py +0 -0
  536. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/config/test_get_repository_name_from_git_remote.py +0 -0
  537. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/conftest.py +0 -0
  538. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/review_jira → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands}/__init__.py +0 -0
  539. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/file_review_commands/test_approve_file.py +0 -0
  540. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/file_review_commands/test_mark_file_as_submission_pending.py +0 -0
  541. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/file_review_commands/test_request_changes.py +0 -0
  542. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/file_review_commands/test_request_changes_with_suggestion.py +0 -0
  543. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/file_review_commands/test_submit_file_review.py +0 -0
  544. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/file_review_commands/test_update_submission_to_completed.py +0 -0
  545. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/review_prompts → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers}/__init__.py +0 -0
  546. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_build_thread_context.py +0 -0
  547. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_convert_to_pull_request_title.py +0 -0
  548. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_format_approval_content.py +0 -0
  549. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_get_repository_id.py +0 -0
  550. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_parse_bool_from_state_value.py +0 -0
  551. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_require_content.py +0 -0
  552. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_require_requests.py +0 -0
  553. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/run_details_commands → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/mark_reviewed}/__init__.py +0 -0
  554. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/mark_reviewed/test_mark_file_reviewed.py +0 -0
  555. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/mark_reviewed/test_mark_file_reviewed_cli.py +0 -0
  556. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/mark_reviewed/test_normalize_repo_path.py +0 -0
  557. {agentic_devtools-0.2.9/tests/unit/cli/azure_devops/vpn_toggle → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/pipeline_commands}/__init__.py +0 -0
  558. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_create_pipeline.py +0 -0
  559. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_get_pipeline_id.py +0 -0
  560. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_list_pipelines.py +0 -0
  561. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_run_e2e_tests_fabric.py +0 -0
  562. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_run_e2e_tests_synapse.py +0 -0
  563. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_run_wb_patch.py +0 -0
  564. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_update_pipeline.py +0 -0
  565. {agentic_devtools-0.2.9/tests/unit/cli/git → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/pr_summary_commands}/__init__.py +0 -0
  566. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pr_summary_commands/test_generate_overarching_pr_comments.py +0 -0
  567. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pr_summary_commands/test_generate_overarching_pr_comments_cli.py +0 -0
  568. {agentic_devtools-0.2.9/tests/unit/cli/git/async_commands → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/pull_request_details_commands}/__init__.py +0 -0
  569. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_change_tracking_id_for_file.py +0 -0
  570. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_iteration_change_tracking_map.py +0 -0
  571. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_iteration_changes.py +0 -0
  572. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_details.py +0 -0
  573. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_iterations.py +0 -0
  574. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_threads.py +0 -0
  575. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_reviewer_payload.py +0 -0
  576. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_viewed_files_via_contribution.py +0 -0
  577. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_invoke_ado_rest.py +0 -0
  578. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pull_request_details_commands/test_invoke_ado_rest_post.py +0 -0
  579. {agentic_devtools-0.2.9/tests/unit/cli/git/commands → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/review_commands}/__init__.py +0 -0
  580. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_build_reviewed_paths_set.py +0 -0
  581. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_checkout_and_sync_branch.py +0 -0
  582. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_convert_to_prompt_filename.py +0 -0
  583. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_extract_jira_issue_key_from_title.py +0 -0
  584. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_fetch_and_display_jira_issue.py +0 -0
  585. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_fetch_pull_request_basic_info.py +0 -0
  586. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_filter_threads.py +0 -0
  587. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_generate_review_prompts.py +0 -0
  588. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_get_jira_issue_key_from_state.py +0 -0
  589. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_get_linked_pull_request_from_jira.py +0 -0
  590. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_get_pull_request_id_from_state.py +0 -0
  591. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_get_root_folder.py +0 -0
  592. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_get_threads_for_file.py +0 -0
  593. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_normalize_repo_path.py +0 -0
  594. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_print_review_instructions.py +0 -0
  595. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_write_file_prompt.py +0 -0
  596. {agentic_devtools-0.2.9/tests/unit/cli/git/core → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/review_helpers}/__init__.py +0 -0
  597. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_build_reviewed_paths_set.py +0 -0
  598. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_convert_to_prompt_filename.py +0 -0
  599. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_extract_jira_issue_key_from_title.py +0 -0
  600. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_filter_threads.py +0 -0
  601. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_get_root_folder.py +0 -0
  602. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_get_threads_for_file.py +0 -0
  603. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_normalize_repo_path.py +0 -0
  604. {agentic_devtools-0.2.9/tests/unit/cli/git/diff → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/review_jira}/__init__.py +0 -0
  605. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_display_jira_issue_summary.py +0 -0
  606. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_extract_linked_pr_from_issue.py +0 -0
  607. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_extract_pr_id_from_development_panel.py +0 -0
  608. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_fetch_and_display_jira_issue.py +0 -0
  609. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_fetch_development_panel_prs.py +0 -0
  610. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_fetch_jira_issue.py +0 -0
  611. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_get_jira_credentials.py +0 -0
  612. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_get_linked_pull_request_from_jira.py +0 -0
  613. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_get_pr_from_development_panel.py +0 -0
  614. {agentic_devtools-0.2.9/tests/unit/cli/git/operations → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/review_prompts}/__init__.py +0 -0
  615. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_build_file_prompt_content.py +0 -0
  616. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_generate_review_prompts.py +0 -0
  617. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_generate_review_prompts_edge_cases.py +0 -0
  618. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_get_prompts_output_dir.py +0 -0
  619. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_print_review_instructions.py +0 -0
  620. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_write_file_prompt.py +0 -0
  621. {agentic_devtools-0.2.9/tests/unit/cli/github → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/run_details_commands}/__init__.py +0 -0
  622. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_build_run.py +0 -0
  623. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_build_timeline.py +0 -0
  624. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_failed_job_logs.py +0 -0
  625. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_pipeline_run.py +0 -0
  626. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_task_log.py +0 -0
  627. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_get_failed_tasks.py +0 -0
  628. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_get_run_details.py +0 -0
  629. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_get_temp_folder.py +0 -0
  630. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_is_run_finished.py +0 -0
  631. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_print_failed_logs_summary.py +0 -0
  632. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_print_parameters.py +0 -0
  633. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_print_summary.py +0 -0
  634. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_save_json.py +0 -0
  635. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_save_log_file.py +0 -0
  636. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_wait_for_run.py +0 -0
  637. {agentic_devtools-0.2.9/tests/unit/cli/github/async_commands → agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle}/__init__.py +0 -0
  638. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_check_network_status.py +0 -0
  639. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_connect_vpn.py +0 -0
  640. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_disconnect_vpn.py +0 -0
  641. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_is_on_corporate_network.py +0 -0
  642. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_is_pulse_secure_installed.py +0 -0
  643. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_is_vpn_connected.py +0 -0
  644. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_reconnect_vpn.py +0 -0
  645. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_smart_connect_vpn.py +0 -0
  646. {agentic_devtools-0.2.9/tests/unit/cli/github/issue_commands → agentic_devtools-0.2.10/tests/unit/cli/copilot}/__init__.py +0 -0
  647. {agentic_devtools-0.2.9/tests/unit/cli/github/state_helpers → agentic_devtools-0.2.10/tests/unit/cli/copilot/session}/__init__.py +0 -0
  648. {agentic_devtools-0.2.9/tests/unit/cli/jira → agentic_devtools-0.2.10/tests/unit/cli/git}/__init__.py +0 -0
  649. {agentic_devtools-0.2.9/tests/unit/cli/jira/adf → agentic_devtools-0.2.10/tests/unit/cli/git/async_commands}/__init__.py +0 -0
  650. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/_helpers.py +0 -0
  651. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_amend_async.py +0 -0
  652. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_commit_async.py +0 -0
  653. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_force_push_async.py +0 -0
  654. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_publish_async.py +0 -0
  655. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_push_async.py +0 -0
  656. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_stage_async.py +0 -0
  657. {agentic_devtools-0.2.9/tests/unit/cli/jira/async_commands → agentic_devtools-0.2.10/tests/unit/cli/git/commands}/__init__.py +0 -0
  658. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/conftest.py +0 -0
  659. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test__get_issue_key_from_state.py +0 -0
  660. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test__mark_checklist_items_completed.py +0 -0
  661. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test__sync_with_main.py +0 -0
  662. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test__trigger_implementation_review.py +0 -0
  663. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_amend_cmd.py +0 -0
  664. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_commit_cmd.py +0 -0
  665. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_force_push_cmd.py +0 -0
  666. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_publish_cmd.py +0 -0
  667. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_push_cmd.py +0 -0
  668. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_stage_cmd.py +0 -0
  669. {agentic_devtools-0.2.9/tests/unit/cli/jira/async_status → agentic_devtools-0.2.10/tests/unit/cli/git/core}/__init__.py +0 -0
  670. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_get_bool_state.py +0 -0
  671. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_get_commit_message.py +0 -0
  672. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_get_current_branch.py +0 -0
  673. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_run_git.py +0 -0
  674. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_temp_message_file.py +0 -0
  675. {agentic_devtools-0.2.9/tests/unit/cli/jira/comment_commands → agentic_devtools-0.2.10/tests/unit/cli/git/diff}/__init__.py +0 -0
  676. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_addedline.py +0 -0
  677. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_addedlinesinfo.py +0 -0
  678. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_diffentry.py +0 -0
  679. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_get_added_lines_info.py +0 -0
  680. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_get_diff_entries.py +0 -0
  681. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_get_diff_patch.py +0 -0
  682. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_normalize_ref_name.py +0 -0
  683. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_sync_git_ref.py +0 -0
  684. {agentic_devtools-0.2.9/tests/unit/cli/jira/config → agentic_devtools-0.2.10/tests/unit/cli/git/operations}/__init__.py +0 -0
  685. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_amend_commit.py +0 -0
  686. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_branch_has_commits_ahead_of_main.py +0 -0
  687. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_branchsafetycheckresult.py +0 -0
  688. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_check_branch_safe_to_recreate.py +0 -0
  689. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_checkout_branch.py +0 -0
  690. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_checkoutresult.py +0 -0
  691. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_create_commit.py +0 -0
  692. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_fetch_branch.py +0 -0
  693. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_fetch_main.py +0 -0
  694. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_force_push.py +0 -0
  695. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_get_commits_behind_main.py +0 -0
  696. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_get_files_changed_on_branch.py +0 -0
  697. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_get_last_commit_message.py +0 -0
  698. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_has_local_changes.py +0 -0
  699. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_last_commit_contains_issue_key.py +0 -0
  700. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_local_branch_matches_origin.py +0 -0
  701. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_publish_branch.py +0 -0
  702. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_push.py +0 -0
  703. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_rebase_onto_main.py +0 -0
  704. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_rebaseresult.py +0 -0
  705. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_should_amend_instead_of_commit.py +0 -0
  706. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_stage_changes.py +0 -0
  707. {agentic_devtools-0.2.9/tests/unit/cli/jira/create_commands → agentic_devtools-0.2.10/tests/unit/cli/github}/__init__.py +0 -0
  708. {agentic_devtools-0.2.9/tests/unit/cli/jira/formatting → agentic_devtools-0.2.10/tests/unit/cli/github/async_commands}/__init__.py +0 -0
  709. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_bug_issue_async.py +0 -0
  710. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_bug_issue_async_cli.py +0 -0
  711. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_documentation_issue_async.py +0 -0
  712. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_documentation_issue_async_cli.py +0 -0
  713. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_feature_issue_async.py +0 -0
  714. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_feature_issue_async_cli.py +0 -0
  715. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_issue_async.py +0 -0
  716. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_issue_async_cli.py +0 -0
  717. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_task_issue_async.py +0 -0
  718. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_task_issue_async_cli.py +0 -0
  719. {agentic_devtools-0.2.9/tests/unit/cli/jira/get_commands → agentic_devtools-0.2.10/tests/unit/cli/github/issue_commands}/__init__.py +0 -0
  720. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__append_related_issues.py +0 -0
  721. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__append_terminal_log.py +0 -0
  722. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__build_gh_create_args.py +0 -0
  723. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__check_gh_cli.py +0 -0
  724. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__get_environment_info.py +0 -0
  725. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__gh_supports_issue_type.py +0 -0
  726. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_bug_issue.py +0 -0
  727. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_documentation_issue.py +0 -0
  728. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_feature_issue.py +0 -0
  729. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_issue.py +0 -0
  730. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_task_issue.py +0 -0
  731. {agentic_devtools-0.2.9/tests/unit/cli/jira/helpers → agentic_devtools-0.2.10/tests/unit/cli/github/state_helpers}/__init__.py +0 -0
  732. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/state_helpers/test_get_issue_value.py +0 -0
  733. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/state_helpers/test_set_issue_value.py +0 -0
  734. {agentic_devtools-0.2.9/tests/unit/cli/jira/parse_error_report → agentic_devtools-0.2.10/tests/unit/cli/jira}/__init__.py +0 -0
  735. {agentic_devtools-0.2.9/tests/unit/cli/jira/role_commands → agentic_devtools-0.2.10/tests/unit/cli/jira/adf}/__init__.py +0 -0
  736. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/adf/test__convert_adf_to_text.py +0 -0
  737. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/adf/test__process_adf_children.py +0 -0
  738. {agentic_devtools-0.2.9/tests/unit/cli/jira/state_helpers → agentic_devtools-0.2.10/tests/unit/cli/jira/async_commands}/__init__.py +0 -0
  739. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/conftest.py +0 -0
  740. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_add_comment_async.py +0 -0
  741. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_add_users_to_project_role_async.py +0 -0
  742. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_add_users_to_project_role_batch_async.py +0 -0
  743. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_check_user_exists_async.py +0 -0
  744. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_check_users_exist_async.py +0 -0
  745. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_create_epic_async.py +0 -0
  746. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_create_issue_async.py +0 -0
  747. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_create_subtask_async.py +0 -0
  748. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_find_role_id_by_name_async.py +0 -0
  749. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_get_issue_async.py +0 -0
  750. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_get_project_role_details_async.py +0 -0
  751. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_list_project_roles_async.py +0 -0
  752. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_update_issue_async.py +0 -0
  753. {agentic_devtools-0.2.9/tests/unit/cli/jira/update_commands → agentic_devtools-0.2.10/tests/unit/cli/jira/async_status}/__init__.py +0 -0
  754. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_status/conftest.py +0 -0
  755. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_status/test_write_async_status.py +0 -0
  756. {agentic_devtools-0.2.9/tests/unit/cli/jira/vpn_wrapper → agentic_devtools-0.2.10/tests/unit/cli/jira/comment_commands}/__init__.py +0 -0
  757. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/comment_commands/test_add_comment.py +0 -0
  758. {agentic_devtools-0.2.9/tests/unit/cli/release → agentic_devtools-0.2.10/tests/unit/cli/jira/config}/__init__.py +0 -0
  759. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/config/test_get_jira_auth_header.py +0 -0
  760. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/config/test_get_jira_base_url.py +0 -0
  761. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/config/test_get_jira_headers.py +0 -0
  762. {agentic_devtools-0.2.9/tests/unit/cli/release/helpers → agentic_devtools-0.2.10/tests/unit/cli/jira/create_commands}/__init__.py +0 -0
  763. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/create_commands/test_create_epic.py +0 -0
  764. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/create_commands/test_create_issue.py +0 -0
  765. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/create_commands/test_create_issue_sync.py +0 -0
  766. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/create_commands/test_create_subtask.py +0 -0
  767. {agentic_devtools-0.2.9/tests/unit/cli/runner → agentic_devtools-0.2.10/tests/unit/cli/jira/formatting}/__init__.py +0 -0
  768. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/formatting/test_build_user_story_description.py +0 -0
  769. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/formatting/test_format_bullet_list.py +0 -0
  770. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/formatting/test_merge_labels.py +0 -0
  771. {agentic_devtools-0.2.9/tests/unit/cli/state → agentic_devtools-0.2.10/tests/unit/cli/jira/get_commands}/__init__.py +0 -0
  772. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/get_commands/test__fetch_epic.py +0 -0
  773. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/get_commands/test__fetch_parent_issue.py +0 -0
  774. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/get_commands/test__fetch_remote_links.py +0 -0
  775. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/get_commands/test_get_issue.py +0 -0
  776. {agentic_devtools-0.2.9/tests/unit/cli/subprocess_utils → agentic_devtools-0.2.10/tests/unit/cli/jira/helpers}/__init__.py +0 -0
  777. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__count_certificates_in_pem.py +0 -0
  778. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__ensure_jira_pem.py +0 -0
  779. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__fetch_certificate_chain_openssl.py +0 -0
  780. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__fetch_certificate_chain_ssl.py +0 -0
  781. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__get_repo_jira_pem_path.py +0 -0
  782. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__get_requests.py +0 -0
  783. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__get_ssl_verify.py +0 -0
  784. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__get_temp_jira_pem_path.py +0 -0
  785. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__parse_comma_separated.py +0 -0
  786. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__parse_multiline_string.py +0 -0
  787. {agentic_devtools-0.2.9/tests/unit/cli/tasks → agentic_devtools-0.2.10/tests/unit/cli/jira/parse_error_report}/__init__.py +0 -0
  788. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_get_user_details.py +0 -0
  789. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_get_user_details_api_calls.py +0 -0
  790. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_parse_error_file.py +0 -0
  791. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_parse_error_file_combined_errors.py +0 -0
  792. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_parse_error_file_multiple_dataproducts.py +0 -0
  793. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report_command.py +0 -0
  794. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report_integration.py +0 -0
  795. {agentic_devtools-0.2.9/tests/unit/cli/tasks/commands → agentic_devtools-0.2.10/tests/unit/cli/jira/role_commands}/__init__.py +0 -0
  796. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role.py +0 -0
  797. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role_additional_cases.py +0 -0
  798. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role_batch.py +0 -0
  799. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_check_user_exists.py +0 -0
  800. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_check_user_exists_command.py +0 -0
  801. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_check_users_exist_command.py +0 -0
  802. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_check_users_exist_command_paths.py +0 -0
  803. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_find_role_id_by_name.py +0 -0
  804. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_get_project_role_details.py +0 -0
  805. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_get_project_role_details_command_paths.py +0 -0
  806. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_list_project_roles.py +0 -0
  807. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_list_project_roles_command_paths.py +0 -0
  808. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_role_commands_error_handling.py +0 -0
  809. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_role_id_extraction.py +0 -0
  810. {agentic_devtools-0.2.9/tests/unit/cli/testing → agentic_devtools-0.2.10/tests/unit/cli/jira/state_helpers}/__init__.py +0 -0
  811. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/state_helpers/test_get_jira_value.py +0 -0
  812. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/state_helpers/test_set_jira_value.py +0 -0
  813. {agentic_devtools-0.2.9/tests/unit/cli/vpn → agentic_devtools-0.2.10/tests/unit/cli/jira/update_commands}/__init__.py +0 -0
  814. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/update_commands/test__build_update_payload.py +0 -0
  815. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/update_commands/test_update_issue.py +0 -0
  816. {agentic_devtools-0.2.9/tests/unit/cli/vpn/runner → agentic_devtools-0.2.10/tests/unit/cli/jira/vpn_wrapper}/__init__.py +0 -0
  817. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context_decorator.py +0 -0
  818. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context_integration.py +0 -0
  819. {agentic_devtools-0.2.9/tests/unit/cli/workflows → agentic_devtools-0.2.10/tests/unit/cli/network}/__init__.py +0 -0
  820. {agentic_devtools-0.2.9/tests/unit/cli/workflows/advancement → agentic_devtools-0.2.10/tests/unit/cli/network/commands}/__init__.py +0 -0
  821. {agentic_devtools-0.2.9/tests/unit/cli/workflows/base → agentic_devtools-0.2.10/tests/unit/cli/network/detection}/__init__.py +0 -0
  822. {agentic_devtools-0.2.9/tests/unit/cli/workflows/checklist → agentic_devtools-0.2.10/tests/unit/cli/release}/__init__.py +0 -0
  823. {agentic_devtools-0.2.9/tests/unit/cli/workflows → agentic_devtools-0.2.10/tests/unit/cli/release}/commands/__init__.py +0 -0
  824. {agentic_devtools-0.2.9/tests/unit/cli/workflows/manager → agentic_devtools-0.2.10/tests/unit/cli/release/helpers}/__init__.py +0 -0
  825. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/release/helpers/test_compute_sha256.py +0 -0
  826. {agentic_devtools-0.2.9/tests/unit/cli/workflows/preflight → agentic_devtools-0.2.10/tests/unit/cli/runner}/__init__.py +0 -0
  827. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_command_map.py +0 -0
  828. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_command_map_integrity.py +0 -0
  829. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_main.py +0 -0
  830. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_main_entry_point.py +0 -0
  831. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_run_as_script.py +0 -0
  832. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_run_command.py +0 -0
  833. {agentic_devtools-0.2.9/tests/unit/cli/workflows/worktree_setup → agentic_devtools-0.2.10/tests/unit/cli/state}/__init__.py +0 -0
  834. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_clear_cmd.py +0 -0
  835. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_clear_workflow_cmd.py +0 -0
  836. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_delete_cmd.py +0 -0
  837. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_get_cmd.py +0 -0
  838. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_get_workflow_cmd.py +0 -0
  839. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_set_cmd.py +0 -0
  840. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_show_cmd.py +0 -0
  841. {agentic_devtools-0.2.9/tests/unit/config → agentic_devtools-0.2.10/tests/unit/cli/subprocess_utils}/__init__.py +0 -0
  842. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/subprocess_utils/test_run_safe.py +0 -0
  843. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/subprocess_utils/test_run_safe_integration.py +0 -0
  844. {agentic_devtools-0.2.9/tests/unit/file_locking → agentic_devtools-0.2.10/tests/unit/cli/tasks}/__init__.py +0 -0
  845. {agentic_devtools-0.2.9/tests/unit/prompts → agentic_devtools-0.2.10/tests/unit/cli/tasks/commands}/__init__.py +0 -0
  846. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_handle_task_completed.py +0 -0
  847. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_helper_functions.py +0 -0
  848. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_list_tasks.py +0 -0
  849. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_safe_print_unicode_error.py +0 -0
  850. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_show_other_incomplete_tasks.py +0 -0
  851. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_command_integration.py +0 -0
  852. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_id_argument.py +0 -0
  853. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_log.py +0 -0
  854. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_log_line_limits.py +0 -0
  855. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_status.py +0 -0
  856. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_wait.py +0 -0
  857. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_wait_value_error_handling.py +0 -0
  858. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_tasks_clean.py +0 -0
  859. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_try_advance_pr_review_to_summary.py +0 -0
  860. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_try_complete_pr_review_workflow.py +0 -0
  861. {agentic_devtools-0.2.9/tests/unit/prompts/loader → agentic_devtools-0.2.10/tests/unit/cli/testing}/__init__.py +0 -0
  862. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test__infer_test_file_from_source.py +0 -0
  863. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_async_wrappers.py +0 -0
  864. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_create_test_file_parser.py +0 -0
  865. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_get_package_root.py +0 -0
  866. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_subprocess_with_streaming.py +0 -0
  867. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_tests_file_sync.py +0 -0
  868. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_tests_pattern.py +0 -0
  869. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_tests_quick_sync.py +0 -0
  870. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_tests_sync.py +0 -0
  871. {agentic_devtools-0.2.9/tests/unit/state → agentic_devtools-0.2.10/tests/unit/cli/vpn}/__init__.py +0 -0
  872. {agentic_devtools-0.2.9/tests/unit/task_state → agentic_devtools-0.2.10/tests/unit/cli/vpn/commands}/__init__.py +0 -0
  873. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/vpn/runner/test__detect_vpn_requirement_from_command.py +0 -0
  874. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/vpn/runner/test__execute_command.py +0 -0
  875. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/vpn/runner/test_run_with_vpn_context.py +0 -0
  876. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/vpn/runner/test_vpnrequirement.py +0 -0
  877. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_branch_pushed.py +0 -0
  878. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_commit.py +0 -0
  879. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_jira_comment.py +0 -0
  880. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_jira_issue_retrieved.py +0 -0
  881. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_pr_creation.py +0 -0
  882. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_pr_review.py +0 -0
  883. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test__state_key_to_variable_name.py +0 -0
  884. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test_advance_workflow_step.py +0 -0
  885. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test_collect_variables_from_state.py +0 -0
  886. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test_initiate_workflow.py +0 -0
  887. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test_validate_required_state.py +0 -0
  888. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_checklist.py +0 -0
  889. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_checklistitem.py +0 -0
  890. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_get_checklist.py +0 -0
  891. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_initialize_checklist.py +0 -0
  892. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_mark_items_completed.py +0 -0
  893. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_parse_completed_items_arg.py +0 -0
  894. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_save_checklist.py +0 -0
  895. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test__execute_retrieve_step.py +0 -0
  896. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_advance_pull_request_review_workflow.py +0 -0
  897. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_advance_work_on_jira_issue_workflow.py +0 -0
  898. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_advance_workflow_cmd.py +0 -0
  899. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_create_checklist_cmd.py +0 -0
  900. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_get_workflow_cmd.py +0 -0
  901. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_apply_pull_request_review_suggestions_workflow.py +0 -0
  902. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_create_jira_epic_workflow.py +0 -0
  903. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_create_jira_issue_workflow.py +0 -0
  904. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_create_jira_subtask_workflow.py +0 -0
  905. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_update_jira_issue_workflow.py +0 -0
  906. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_work_on_jira_issue_workflow.py +0 -0
  907. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_notify_workflow_event.py +0 -0
  908. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_setup_worktree_background_cmd.py +0 -0
  909. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_show_checklist_cmd.py +0 -0
  910. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_update_checklist_cmd.py +0 -0
  911. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test__build_command_hint.py +0 -0
  912. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test__check_required_tasks_status.py +0 -0
  913. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test__render_failure_prompt.py +0 -0
  914. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test__render_waiting_prompt.py +0 -0
  915. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_get_next_step.py +0 -0
  916. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_get_next_workflow_prompt.py +0 -0
  917. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_get_workflow_definition.py +0 -0
  918. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_nextpromptresult.py +0 -0
  919. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_promptstatus.py +0 -0
  920. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_check_worktree_and_branch.py +0 -0
  921. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_generate_setup_instructions.py +0 -0
  922. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_get_current_git_branch.py +0 -0
  923. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_get_git_repo_root.py +0 -0
  924. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_preflightresult.py +0 -0
  925. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test__detect_git_root.py +0 -0
  926. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test__run_auto_execute_command.py +0 -0
  927. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_check_worktree_exists.py +0 -0
  928. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_create_placeholder_and_setup_worktree.py +0 -0
  929. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_create_placeholder_issue.py +0 -0
  930. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_create_worktree.py +0 -0
  931. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_find_workspace_file.py +0 -0
  932. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_generate_workflow_branch_name.py +0 -0
  933. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_ai_agent_continuation_prompt.py +0 -0
  934. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_current_branch.py +0 -0
  935. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_main_repo_root.py +0 -0
  936. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_repos_parent_dir.py +0 -0
  937. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_worktree_continuation_prompt.py +0 -0
  938. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_inject_git_path_settings.py +0 -0
  939. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_is_in_worktree.py +0 -0
  940. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_is_vscode_available.py +0 -0
  941. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_open_vscode_workspace.py +0 -0
  942. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_placeholderissueresult.py +0 -0
  943. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_run_worktree_setup_script.py +0 -0
  944. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_setup_worktree_environment.py +0 -0
  945. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_switch_to_main_branch.py +0 -0
  946. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_worktreesetupresult.py +0 -0
  947. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/config/test_load_repo_config.py +0 -0
  948. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/config/test_load_review_focus_areas.py +0 -0
  949. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_cross_platform_behavior.py +0 -0
  950. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_file_lock_error.py +0 -0
  951. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_lock_file.py +0 -0
  952. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_lock_functions.py +0 -0
  953. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_locked_file.py +0 -0
  954. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_locked_file_edge_cases.py +0 -0
  955. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_locked_state_file.py +0 -0
  956. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_unix_file_locking.py +0 -0
  957. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_unlock_file.py +0 -0
  958. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_windows_file_locking.py +0 -0
  959. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/conftest.py +0 -0
  960. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_prompts_dir.py +0 -0
  961. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_required_variables.py +0 -0
  962. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_temp_output_dir.py +0 -0
  963. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_template_filename.py +0 -0
  964. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_template_path.py +0 -0
  965. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_load_and_render_prompt.py +0 -0
  966. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_load_prompt_template.py +0 -0
  967. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_log_prompt_with_save_notice.py +0 -0
  968. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_save_generated_prompt.py +0 -0
  969. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_silentundefined.py +0 -0
  970. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_substitute_variables.py +0 -0
  971. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_substitute_variables_syntax_error.py +0 -0
  972. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_template_validation_error.py +0 -0
  973. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_validate_template_variables.py +0 -0
  974. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_clear_state.py +0 -0
  975. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_clear_temp_folder.py +0 -0
  976. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_clear_workflow_state.py +0 -0
  977. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_delete_value.py +0 -0
  978. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_all_keys.py +0 -0
  979. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pull_request_id.py +0 -0
  980. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pypi_dry_run.py +0 -0
  981. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pypi_package_name.py +0 -0
  982. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pypi_repository.py +0 -0
  983. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pypi_version.py +0 -0
  984. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_state_dir.py +0 -0
  985. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_state_file_path.py +0 -0
  986. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_thread_id.py +0 -0
  987. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_value.py +0 -0
  988. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_workflow_state.py +0 -0
  989. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_is_dry_run.py +0 -0
  990. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_is_workflow_active.py +0 -0
  991. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_load_state.py +0 -0
  992. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_load_state_locked.py +0 -0
  993. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_save_state.py +0 -0
  994. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_save_state_locked.py +0 -0
  995. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_context_value.py +0 -0
  996. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_dry_run.py +0 -0
  997. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pull_request_id.py +0 -0
  998. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pypi_dry_run.py +0 -0
  999. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pypi_package_name.py +0 -0
  1000. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pypi_repository.py +0 -0
  1001. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pypi_version.py +0 -0
  1002. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_resolve_thread.py +0 -0
  1003. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_thread_id.py +0 -0
  1004. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_value.py +0 -0
  1005. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_workflow_state.py +0 -0
  1006. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_should_resolve_thread.py +0 -0
  1007. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_update_workflow_context.py +0 -0
  1008. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_update_workflow_step.py +0 -0
  1009. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_workflow_state_integration.py +0 -0
  1010. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_add_task.py +0 -0
  1011. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_background_task.py +0 -0
  1012. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_duration_seconds.py +0 -0
  1013. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_from_dict_invalid_status.py +0 -0
  1014. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_active_tasks.py +0 -0
  1015. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_background_tasks.py +0 -0
  1016. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_failed_most_recent_per_command.py +0 -0
  1017. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_incomplete_most_recent_per_command.py +0 -0
  1018. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_most_recent_tasks_per_command.py +0 -0
  1019. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_other_incomplete_tasks.py +0 -0
  1020. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_task_by_id.py +0 -0
  1021. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_tasks_by_status.py +0 -0
  1022. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_print_task_tracking_info.py +0 -0
  1023. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_remove_task.py +0 -0
  1024. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_sort_tasks.py +0 -0
  1025. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_task_lifecycle.py +0 -0
  1026. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_task_status.py +0 -0
  1027. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_update_task.py +0 -0
  1028. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/vpn/test_vpn_commands.py +0 -0
  1029. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/vpn/test_vpn_runner.py +0 -0
  1030. {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/trigger.txt +0 -0
@@ -634,7 +634,7 @@ These commands initiate a workflow, loading and rendering the appropriate prompt
634
634
 
635
635
  | Command | Purpose | Required Parameters |
636
636
  |---------|---------|---------------------|
637
- | `agdt-initiate-pull-request-review-workflow` | Start PR review workflow | `--pull-request-id` or `--issue-key` |
637
+ | `agdt-initiate-pull-request-review-workflow` | Start PR review workflow | `--pull-request-id` or `--issue-key`; optional `--interactive false` for pipeline mode |
638
638
  | `agdt-initiate-work-on-jira-issue-workflow` | Start work on Jira issue | `--issue-key` |
639
639
  | `agdt-initiate-create-jira-issue-workflow` | Start create issue workflow | `--project-key` |
640
640
  | `agdt-initiate-create-jira-epic-workflow` | Start create epic workflow | `--project-key` |
@@ -1466,33 +1466,40 @@ agdt-reply-to-pull-request-thread # Previews without API calls
1466
1466
 
1467
1467
  ### Pull Request Review Workflow
1468
1468
 
1469
- The `agdt-review-pull-request` command orchestrates the entire PR review process:
1469
+ The end-to-end automated PR review is initiated with a **single command**:
1470
1470
 
1471
1471
  ```bash
1472
- # Option 1: Start with Jira issue key
1473
- agdt-set jira.issue_key DFLY-1840
1474
- agdt-review-pull-request
1472
+ # Start with a PR ID (interactive mode — VS Code terminal)
1473
+ agdt-initiate-pull-request-review-workflow --pull-request-id 12345
1475
1474
 
1476
- # Option 2: Start with PR ID
1477
- agdt-set pull_request_id 23523
1478
- agdt-review-pull-request
1479
-
1480
- # Option 3: Pass parameters directly
1481
- agdt-review-pull-request --pull-request-id 23523 --jira-issue-key DFLY-1840
1475
+ # Start with a Jira issue key (looks up the PR automatically)
1476
+ agdt-initiate-pull-request-review-workflow --issue-key DFLY-1234
1482
1477
 
1483
- # Option 4: Include already-reviewed files
1484
- agdt-review-pull-request --include-reviewed
1478
+ # Non-interactive / pipeline mode
1479
+ agdt-initiate-pull-request-review-workflow --pull-request-id 12345 --interactive false
1485
1480
  ```
1486
1481
 
1487
- The command:
1482
+ **Automated flow:**
1483
+
1484
+ 1. Resolves both the PR ID and Jira issue key (cross-lookup when only one is provided).
1485
+ 2. Fetches the PR source branch from Azure DevOps.
1486
+ 3. Validates the current worktree/branch context via pre-flight checks.
1487
+ 4. If the context is wrong, **automatically creates a dedicated worktree**, attempts to open VS Code (when available), then re-runs the command inside the new worktree.
1488
+ 5. Fetches full PR details (diff, threads, iterations) and Jira issue details.
1489
+ 6. Generates per-file review prompts in `scripts/temp/pull-request-review/prompts/<pr_id>/`.
1490
+ 7. **When auto-setup ran (new worktree was created):** starts a `gh copilot` CLI session
1491
+ (interactive or background depending on `--interactive`). When already in the correct
1492
+ worktree context, the rendered initiate prompt is printed to the console for the agent
1493
+ to use manually.
1494
+
1495
+ #### `--interactive` Flag
1488
1496
 
1489
- 1. **Resolves both PR ID and Jira issue key** from params, state, or derived sources:
1490
- - If Jira key provided but no PR ID → searches Jira for linked PRs
1491
- - If PR ID provided but no Jira key extracts issue key from PR title
1492
- 2. **Fetches full PR details** (diff, threads, iterations)
1493
- 3. **Fetches Jira issue details** (if available)
1494
- 4. **Generates per-file review prompts** in `scripts/temp/pull-request-review/prompts/<pr_id>/`
1495
- 5. **Prints instructions** for the review workflow
1497
+ | Value | Behavior (when a Copilot session is started) |
1498
+ |-------|----------------------------------------------|
1499
+ | `true` (default) | Starts `gh copilot suggest` with an attached terminal the reviewer interacts with it directly in VS Code. |
1500
+ | `false` | Starts `gh copilot suggest` as a detached background process, capturing output to `scripts/temp/background-tasks/logs/`. Use for Azure DevOps pipelines or other headless environments. |
1501
+
1502
+ If `gh copilot` is not installed, a warning is printed and the prompt file path is shown so the review can be started manually.
1496
1503
 
1497
1504
  #### Generated Review Artifacts
1498
1505
 
@@ -1506,7 +1513,7 @@ The command:
1506
1513
 
1507
1514
  #### File Review Commands
1508
1515
 
1509
- After starting a review, use these commands for each file:
1516
+ After a review session is active, use these commands for each file:
1510
1517
 
1511
1518
  ```bash
1512
1519
  # Approve a file (no issues found)
@@ -1528,6 +1535,94 @@ const descriptiveVariableName = value;
1528
1535
  agdt-request-changes-with-suggestion
1529
1536
  ```
1530
1537
 
1538
+ #### Pipeline Usage
1539
+
1540
+ For use in Azure DevOps pipelines (headless, no interactive terminal):
1541
+
1542
+ ```yaml
1543
+ # azure-pipelines.yml example
1544
+ - script: agdt-initiate-pull-request-review-workflow --pull-request-id $(System.PullRequest.PullRequestId) --interactive false
1545
+ displayName: 'Run automated PR review'
1546
+ env:
1547
+ AZURE_DEV_OPS_COPILOT_PAT: $(AzureDevOpsCopilotPat)
1548
+ JIRA_COPILOT_PAT: $(JiraCopilotPat)
1549
+ ```
1550
+
1551
+ When running in pipeline mode (`--interactive false`):
1552
+
1553
+ - `gh copilot` output is captured to `scripts/temp/background-tasks/logs/copilot_session_*.log`.
1554
+ - The Copilot process runs as a direct child process (via `subprocess.Popen`), not as an
1555
+ agdt background task, so there is no background task ID and `agdt-task-wait` is not
1556
+ applicable. Monitor completion using the `copilot.pid` state key and/or by tailing the
1557
+ Copilot session log file.
1558
+ - The `worktree_setup.auto_execute_exit_code` state key records the exit code of the
1559
+ setup/auto-execute command, not the Copilot session itself.
1560
+
1561
+ #### Copilot / VS Code Graceful Degradation
1562
+
1563
+ When an interactive Copilot session cannot be started, the workflow falls back to a
1564
+ non-interactive mode:
1565
+
1566
+ - If `gh copilot` is not available on the machine, a warning is printed to stderr.
1567
+ - If the VS Code `code` CLI is not available, or there is no attached TTY (for example,
1568
+ in CI pipelines), interactive mode is automatically disabled and `copilot.mode` is set
1569
+ to `"non-interactive"`.
1570
+ - In all of these cases, the rendered prompt is written to
1571
+ `scripts/temp/copilot-session-<session_id>-prompt.md`, and the session metadata is still
1572
+ persisted to state (`copilot.*` keys).
1573
+ - The reviewer can open the prompt file in VS Code (or any editor) and start a manual
1574
+ Copilot session if desired.
1575
+
1576
+ #### Copilot CLI Session Management
1577
+
1578
+ State keys written to `agdt-state.json` after a session is started:
1579
+
1580
+ | Key | Type | Description |
1581
+ |-----|------|-------------|
1582
+ | `copilot.session_id` | string | UUID4 hex identifying the session |
1583
+ | `copilot.mode` | string | `"interactive"` or `"non-interactive"` |
1584
+ | `copilot.prompt_file` | string | Absolute path to the temporary prompt file |
1585
+ | `copilot.start_time` | string | ISO-8601 UTC timestamp when the session was started |
1586
+ | `copilot.pid` | `integer \| ""` | PID of background process (empty for interactive sessions) |
1587
+
1588
+ Additional `worktree_setup` keys written during automated environment setup:
1589
+
1590
+ | Key | Type | Description |
1591
+ |-----|------|-------------|
1592
+ | `worktree_setup.auto_execute_exit_code` | string | Exit code of the auto-executed setup command |
1593
+
1594
+ #### Target Repository Configuration (`.github/agdt-config.json`)
1595
+
1596
+ Target repositories can place a `.github/agdt-config.json` file in their root to customize the review workflow. The file is **optional** — if absent, the review proceeds with defaults.
1597
+
1598
+ **Schema:**
1599
+
1600
+ ```json
1601
+ {
1602
+ "review": {
1603
+ "focus-areas-file": ".github/review-focus-areas.md"
1604
+ }
1605
+ }
1606
+ ```
1607
+
1608
+ | Field | Type | Description |
1609
+ |-------|------|-------------|
1610
+ | `review.focus-areas-file` | string | Repo-root-relative path to a markdown file listing review focus areas. |
1611
+
1612
+ **`.github/review-focus-areas.md` format:**
1613
+
1614
+ Free-form markdown injected into the review prompt to guide the Copilot reviewer. Example:
1615
+
1616
+ ```markdown
1617
+ ## Review Focus Areas
1618
+
1619
+ - Ensure all public APIs have JSDoc/docstring documentation.
1620
+ - Validate that new database migrations are backward-compatible.
1621
+ - Check that error messages are user-friendly and don't leak internals.
1622
+ ```
1623
+
1624
+ Both files are optional and safe to omit; the review will still run without repo-specific guidance.
1625
+
1531
1626
  ### Get Jira Issue Details
1532
1627
 
1533
1628
  ```bash
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentic-devtools
3
- Version: 0.2.9
3
+ Version: 0.2.10
4
4
  Summary: AI assistant helper commands for the Dragonfly platform
5
5
  Author: Dragonfly Team
6
6
  License-Expression: MIT
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.2.9'
32
- __version_tuple__ = version_tuple = (0, 2, 9)
31
+ __version__ = version = '0.2.10'
32
+ __version_tuple__ = version_tuple = (0, 2, 10)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -10,6 +10,7 @@ import sys
10
10
  from typing import Any, Dict, Optional
11
11
 
12
12
  from ...state import (
13
+ delete_value,
13
14
  get_pull_request_id,
14
15
  get_thread_id,
15
16
  get_value,
@@ -38,6 +39,39 @@ from .pull_request_details_commands import (
38
39
  )
39
40
 
40
41
 
42
+ OVERALL_PR_SUMMARY_HEADING = "## Overall PR Review Summary"
43
+
44
+
45
+ def _find_summary_thread_id(
46
+ requests, headers: Dict[str, str], config: AzureDevOpsConfig, repo_id: str, pull_request_id: int
47
+ ) -> Optional[int]:
48
+ """Find the thread ID of the 'Overall PR Review Summary' thread, if it exists.
49
+
50
+ Returns the ID of the first matching thread. If multiple summary threads exist
51
+ (e.g., from duplicate summary runs), the first one found is used.
52
+ """
53
+ threads_url = config.build_api_url(repo_id, "pullRequests", pull_request_id, "threads")
54
+ try:
55
+ response = requests.get(threads_url, headers=headers, timeout=30)
56
+ response.raise_for_status()
57
+ except Exception as e:
58
+ print(f"Warning: Could not search for summary thread: {e}", file=sys.stderr)
59
+ return None
60
+ threads = response.json().get("value", [])
61
+ for thread in threads:
62
+ for comment in thread.get("comments", []):
63
+ if OVERALL_PR_SUMMARY_HEADING in (comment.get("content") or ""):
64
+ thread_id = thread.get("id")
65
+ if thread_id is None:
66
+ print(
67
+ "Warning: Found summary thread without an 'id' field; skipping.",
68
+ file=sys.stderr,
69
+ )
70
+ break
71
+ return thread_id
72
+ return None
73
+
74
+
41
75
  def _extract_issue_key_from_branch(branch_name: str) -> Optional[str]:
42
76
  """
43
77
  Extract a Jira issue key from a branch name.
@@ -201,7 +235,7 @@ def add_pull_request_comment() -> None:
201
235
  if is_approval:
202
236
  content = format_approval_content(content)
203
237
 
204
- # Optional file context
238
+ # Optional file context (used for both regular and file-level approval comments)
205
239
  path = get_value("path")
206
240
  line = get_value("line")
207
241
  end_line = get_value("end_line")
@@ -216,6 +250,8 @@ def add_pull_request_comment() -> None:
216
250
  print(f"[DRY RUN] File: {path}{line_info}{end_line_info}")
217
251
  if is_approval:
218
252
  print("[DRY RUN] Comment will include approval sentinel banner")
253
+ if not path:
254
+ print("[DRY RUN] Will reply to existing summary thread if found, otherwise create new thread")
219
255
  if not leave_thread_active:
220
256
  print("[DRY RUN] Would also resolve the thread after posting")
221
257
  print(f"Content:\n{content}")
@@ -227,6 +263,26 @@ def add_pull_request_comment() -> None:
227
263
  print(f"Resolving repository ID for '{config.repository}'...")
228
264
  repo_id = get_repository_id(config.organization, config.project, config.repository)
229
265
 
266
+ # For PR-level approval comments (no file path), try to reply to the existing summary thread
267
+ if is_approval and not path:
268
+ summary_thread_id = _find_summary_thread_id(
269
+ requests, headers, config, repo_id, pull_request_id
270
+ )
271
+ if summary_thread_id:
272
+ try:
273
+ comment_url = config.build_api_url(
274
+ repo_id, "pullRequests", pull_request_id, "threads", summary_thread_id, "comments"
275
+ )
276
+ comment_body = {"content": content, "commentType": "text"}
277
+ print(f"Posting approval to existing summary thread {summary_thread_id}...")
278
+ response = requests.post(comment_url, headers=headers, json=comment_body, timeout=30)
279
+ response.raise_for_status()
280
+ result = response.json()
281
+ print(f"Approval reply added (comment ID: {result.get('id')}, thread: {summary_thread_id})")
282
+ return
283
+ except Exception as e:
284
+ print(f"Warning: Could not reply to summary thread, creating new thread: {e}", file=sys.stderr)
285
+
230
286
  # Build thread context for file-level comments
231
287
  thread_context = build_thread_context(path, line, end_line)
232
288
 
@@ -552,8 +608,12 @@ def approve_pull_request() -> None:
552
608
  agdt-set content "LGTM! All acceptance criteria met."
553
609
  agdt-approve-pull-request
554
610
  """
555
- # Set approval mode and delegate to add_pull_request_comment
611
+ # Set approval mode and clear any stale file context from previous file-review
612
+ # operations, so the approval posts as a PR-level comment, not a file-level one.
556
613
  set_value("is_pull_request_approval", True)
614
+ delete_value("path")
615
+ delete_value("line")
616
+ delete_value("end_line")
557
617
  add_pull_request_comment()
558
618
 
559
619
 
@@ -676,6 +676,27 @@ def setup_pull_request_review() -> None:
676
676
  print("WORKFLOW INITIALIZED: pull-request-review")
677
677
  print("=" * 60)
678
678
 
679
+ # Load repo-specific review focus areas (optional — None if not configured)
680
+ from ...config import load_review_focus_areas
681
+
682
+ # Determine repository root for loading .github/agdt-config.json
683
+ try:
684
+ git_root_result = run_safe(
685
+ ["git", "rev-parse", "--show-toplevel"],
686
+ capture_output=True,
687
+ text=True,
688
+ check=False,
689
+ shell=False,
690
+ )
691
+ if git_root_result.returncode == 0 and git_root_result.stdout:
692
+ repo_root = git_root_result.stdout.strip()
693
+ else:
694
+ repo_root = str(Path.cwd())
695
+ except Exception:
696
+ repo_root = str(Path.cwd())
697
+
698
+ repo_review_focus_areas = load_review_focus_areas(repo_root)
699
+
679
700
  variables = {
680
701
  "pull_request_id": pull_request_id,
681
702
  "jira_issue_key": jira_issue_key or "",
@@ -684,6 +705,7 @@ def setup_pull_request_review() -> None:
684
705
  "source_branch": source_branch,
685
706
  "target_branch": target_branch,
686
707
  "file_count": file_count,
708
+ "repo_review_focus_areas": repo_review_focus_areas or "",
687
709
  }
688
710
 
689
711
  load_and_render_prompt(
@@ -0,0 +1,14 @@
1
+ """
2
+ GitHub Copilot CLI session management package.
3
+
4
+ Provides utilities for starting and managing gh copilot CLI sessions,
5
+ supporting both interactive and non-interactive modes.
6
+ """
7
+
8
+ from .session import CopilotSessionResult, is_gh_copilot_available, start_copilot_session
9
+
10
+ __all__ = [
11
+ "is_gh_copilot_available",
12
+ "start_copilot_session",
13
+ "CopilotSessionResult",
14
+ ]
@@ -0,0 +1,338 @@
1
+ """
2
+ GitHub Copilot CLI session management.
3
+
4
+ Provides utilities for starting and managing ``gh copilot`` CLI sessions
5
+ programmatically, supporting both interactive and non-interactive modes,
6
+ with session ID tracking and state persistence.
7
+
8
+ Research notes
9
+ --------------
10
+ The ``gh copilot suggest`` command is the primary entry point for the
11
+ ``gh copilot`` extension. As of early 2025, autonomous / non-interactive
12
+ operation is not natively exposed through a stable flag. The module
13
+ therefore implements non-interactive mode by spawning the process with
14
+ stdin/stdout captured to a log file, which is sufficient for pipeline use
15
+ cases where no interactive terminal is available. When a stable
16
+ ``--non-interactive`` or agent-mode flag is added upstream, the
17
+ ``_build_copilot_args`` helper can be updated to include it without any
18
+ other changes.
19
+
20
+ Fallback behaviour
21
+ ------------------
22
+ When ``gh copilot`` is not installed or is not callable the session cannot
23
+ be started. The module logs a warning and prints the prompt to stdout so
24
+ that the user or pipeline can invoke a session manually.
25
+ """
26
+
27
+ import shutil
28
+ import subprocess
29
+ import sys
30
+ import uuid
31
+ import warnings
32
+ from dataclasses import dataclass, field
33
+ from datetime import datetime, timezone
34
+ from pathlib import Path
35
+ from typing import Optional
36
+
37
+ from agentic_devtools.state import get_state_dir, set_value
38
+
39
+ from ..subprocess_utils import run_safe
40
+
41
+ # ---------------------------------------------------------------------------
42
+ # Constants
43
+ # ---------------------------------------------------------------------------
44
+
45
+ # State key namespace
46
+ _COPILOT_NS = "copilot"
47
+
48
+ # Log file directory (relative to state dir)
49
+ _LOG_DIR_NAME = "background-tasks/logs"
50
+
51
+ # Prompt file naming pattern
52
+ _PROMPT_FILE_PATTERN = "copilot-session-{session_id}-prompt.md"
53
+
54
+
55
+ # ---------------------------------------------------------------------------
56
+ # Public dataclass
57
+ # ---------------------------------------------------------------------------
58
+
59
+
60
+ @dataclass
61
+ class CopilotSessionResult:
62
+ """Result returned by :func:`start_copilot_session`.
63
+
64
+ Attributes:
65
+ session_id: Unique identifier for the session (UUID4 hex).
66
+ mode: ``"interactive"`` or ``"non-interactive"``.
67
+ prompt_file: Absolute path to the temporary prompt file.
68
+ start_time: ISO-8601 UTC timestamp when the session was started.
69
+ pid: Process ID for non-interactive sessions; ``None`` for
70
+ interactive sessions (where the process has already exited
71
+ when this object is returned).
72
+ process: The :class:`subprocess.Popen` handle for non-interactive
73
+ sessions; ``None`` for interactive sessions.
74
+ """
75
+
76
+ session_id: str
77
+ mode: str
78
+ prompt_file: str
79
+ start_time: str
80
+ pid: Optional[int] = field(default=None)
81
+ process: Optional[subprocess.Popen] = field(default=None, repr=False) # type: ignore[type-arg]
82
+
83
+
84
+ # ---------------------------------------------------------------------------
85
+ # Availability check
86
+ # ---------------------------------------------------------------------------
87
+
88
+
89
+ def is_gh_copilot_available() -> bool:
90
+ """Return ``True`` if ``gh copilot`` can be invoked on this machine.
91
+
92
+ Performs two checks:
93
+ 1. The ``gh`` binary is present on ``PATH`` (via :func:`shutil.which`).
94
+ 2. ``gh copilot --help`` exits with return code 0, confirming that the
95
+ ``copilot`` extension is installed and responsive.
96
+
97
+ Returns:
98
+ ``True`` when both checks pass; ``False`` otherwise.
99
+ """
100
+ if not shutil.which("gh"):
101
+ return False
102
+ try:
103
+ result = run_safe(
104
+ ["gh", "copilot", "--help"],
105
+ capture_output=True,
106
+ text=True,
107
+ timeout=10,
108
+ shell=False,
109
+ )
110
+ return result.returncode == 0
111
+ except (OSError, subprocess.TimeoutExpired):
112
+ return False
113
+
114
+
115
+ # ---------------------------------------------------------------------------
116
+ # Internal helpers
117
+ # ---------------------------------------------------------------------------
118
+
119
+
120
+ def _make_session_id() -> str:
121
+ """Generate a new unique session identifier (UUID4 hex string)."""
122
+ return uuid.uuid4().hex
123
+
124
+
125
+ def _get_prompt_file_path(session_id: str) -> Path:
126
+ """Return the path where the prompt file should be written.
127
+
128
+ The file is placed inside ``scripts/temp/`` relative to the state
129
+ directory, following the same convention as other temporary files.
130
+
131
+ Args:
132
+ session_id: The session identifier.
133
+
134
+ Returns:
135
+ Absolute :class:`~pathlib.Path` for the prompt file.
136
+ """
137
+ state_dir = get_state_dir()
138
+ return state_dir / _PROMPT_FILE_PATTERN.format(session_id=session_id)
139
+
140
+
141
+ def _get_log_file_path(session_id: str, start_time: str) -> Path:
142
+ """Return the path for the non-interactive session log file.
143
+
144
+ Args:
145
+ session_id: The session identifier.
146
+ start_time: ISO-8601 timestamp (used in the filename).
147
+
148
+ Returns:
149
+ Absolute :class:`~pathlib.Path` for the log file.
150
+ """
151
+ state_dir = get_state_dir()
152
+ timestamp = start_time.replace(":", "").replace("-", "").replace(".", "_")[:18]
153
+ filename = f"copilot_session_{timestamp}.log"
154
+ return state_dir / _LOG_DIR_NAME / filename
155
+
156
+
157
+ def _build_copilot_args(prompt_file: str) -> list[str]:
158
+ """Build the ``gh copilot suggest`` argument list.
159
+
160
+ The prompt is passed via the ``--file`` flag (when supported) so that
161
+ large prompts do not hit shell argument-length limits. If a stable
162
+ ``--non-interactive`` or ``--agent-mode`` flag is introduced upstream
163
+ it should be appended here.
164
+
165
+ Args:
166
+ prompt_file: Absolute path to the file containing the prompt.
167
+
168
+ Returns:
169
+ List of strings suitable for :func:`subprocess.Popen`.
170
+ """
171
+ return ["gh", "copilot", "suggest", "--file", prompt_file]
172
+
173
+
174
+ def _persist_session_state(result: CopilotSessionResult) -> None:
175
+ """Write session metadata to ``agdt-state.json``.
176
+
177
+ Keys written (all under the ``copilot.`` namespace):
178
+ - ``copilot.session_id``
179
+ - ``copilot.mode``
180
+ - ``copilot.prompt_file``
181
+ - ``copilot.start_time``
182
+ - ``copilot.pid`` (empty string when not applicable)
183
+
184
+ Args:
185
+ result: The :class:`CopilotSessionResult` to persist.
186
+ """
187
+ set_value(f"{_COPILOT_NS}.session_id", result.session_id)
188
+ set_value(f"{_COPILOT_NS}.mode", result.mode)
189
+ set_value(f"{_COPILOT_NS}.prompt_file", result.prompt_file)
190
+ set_value(f"{_COPILOT_NS}.start_time", result.start_time)
191
+ set_value(f"{_COPILOT_NS}.pid", result.pid if result.pid is not None else "")
192
+
193
+
194
+ def _print_fallback_prompt(prompt: str) -> None:
195
+ """Print the prompt to stdout as a fallback when ``gh copilot`` is unavailable.
196
+
197
+ Args:
198
+ prompt: The full prompt text to display.
199
+ """
200
+ print(
201
+ "WARNING: gh copilot is not available. Please start a session manually with the following prompt:\n",
202
+ file=sys.stderr,
203
+ )
204
+ print(prompt)
205
+
206
+
207
+ # ---------------------------------------------------------------------------
208
+ # Public API
209
+ # ---------------------------------------------------------------------------
210
+
211
+
212
+ def start_copilot_session(
213
+ prompt: str,
214
+ working_directory: str,
215
+ interactive: bool = True,
216
+ session_id: Optional[str] = None,
217
+ ) -> CopilotSessionResult:
218
+ """Start a ``gh copilot`` CLI session with the given prompt.
219
+
220
+ Behaviour:
221
+ - Generates (or reuses) a unique session ID.
222
+ - Writes *prompt* to a temporary file so that large prompts do not
223
+ exceed CLI argument-length limits.
224
+ - Starts ``gh copilot suggest --file <prompt_file>``.
225
+ - In **interactive** mode the child process inherits the current
226
+ terminal (stdin / stdout / stderr), so the user can interact with
227
+ it directly. This call blocks until the interactive session ends.
228
+ - In **non-interactive** mode the child process runs in the
229
+ background with stdout and stderr captured to a log file. The
230
+ call returns immediately.
231
+ - Session metadata is written to ``agdt-state.json`` under the
232
+ ``copilot.*`` namespace.
233
+ - If ``gh copilot`` is not available, a warning is emitted and the
234
+ prompt is printed to stdout so the user can start a session
235
+ manually.
236
+
237
+ Args:
238
+ prompt: The full prompt text to send to the Copilot session.
239
+ working_directory: The directory in which to run the command.
240
+ Typically the worktree root.
241
+ interactive: When ``True`` (default) the process runs with an
242
+ attached terminal. When ``False`` the process runs
243
+ detached in the background.
244
+ session_id: Optional pre-generated session ID. A new UUID4 hex
245
+ string is generated when this is ``None``.
246
+
247
+ Returns:
248
+ A :class:`CopilotSessionResult` with session metadata.
249
+
250
+ Raises:
251
+ OSError: If the prompt file cannot be written to disk.
252
+ """
253
+ if session_id is None:
254
+ session_id = _make_session_id()
255
+
256
+ start_time = datetime.now(timezone.utc).isoformat()
257
+ mode = "interactive" if interactive else "non-interactive"
258
+
259
+ # --- Write prompt to temp file -------------------------------------------
260
+ prompt_file_path = _get_prompt_file_path(session_id)
261
+ prompt_file_path.parent.mkdir(parents=True, exist_ok=True)
262
+ prompt_file_path.write_text(prompt, encoding="utf-8")
263
+ prompt_file = str(prompt_file_path)
264
+
265
+ # --- Check availability --------------------------------------------------
266
+ if not is_gh_copilot_available():
267
+ warnings.warn(
268
+ "gh copilot is not available; printing prompt to stdout as fallback.",
269
+ stacklevel=2,
270
+ )
271
+ _print_fallback_prompt(prompt)
272
+ result = CopilotSessionResult(
273
+ session_id=session_id,
274
+ mode=mode,
275
+ prompt_file=prompt_file,
276
+ start_time=start_time,
277
+ pid=None,
278
+ process=None,
279
+ )
280
+ _persist_session_state(result)
281
+ return result
282
+
283
+ # --- Build command -------------------------------------------------------
284
+ args = _build_copilot_args(prompt_file)
285
+
286
+ # --- Launch process -------------------------------------------------------
287
+ if interactive:
288
+ # Inherit stdio so the user can interact with the session.
289
+ # This call blocks until the interactive session ends.
290
+ # shell=False is required: gh is a proper .exe (not a .cmd batch script),
291
+ # and the argument list contains a file path derived from user-supplied
292
+ # prompt content; shell=True on Windows would allow cmd.exe to expand
293
+ # %VAR% patterns inside those values.
294
+ process = subprocess.Popen(
295
+ args,
296
+ cwd=working_directory,
297
+ shell=False,
298
+ )
299
+ process.wait()
300
+ result = CopilotSessionResult(
301
+ session_id=session_id,
302
+ mode=mode,
303
+ prompt_file=prompt_file,
304
+ start_time=start_time,
305
+ pid=None, # process has already exited; PID not meaningful
306
+ process=None,
307
+ )
308
+ else:
309
+ # Non-interactive: run as background process, capture output to log file.
310
+ log_file_path = _get_log_file_path(session_id, start_time)
311
+ log_file_path.parent.mkdir(parents=True, exist_ok=True)
312
+
313
+ # Open without a context manager so the file handle stays open while the
314
+ # background process is still running; the OS will release it when the
315
+ # child process (which inherits the fd) eventually exits.
316
+ # shell=False: same reasoning as the interactive case above.
317
+ log_fh = open(log_file_path, "w", encoding="utf-8") # noqa: WPS515
318
+ process = subprocess.Popen(
319
+ args,
320
+ cwd=working_directory,
321
+ stdout=log_fh,
322
+ stderr=subprocess.STDOUT,
323
+ stdin=subprocess.DEVNULL,
324
+ start_new_session=True if sys.platform != "win32" else False,
325
+ shell=False,
326
+ )
327
+
328
+ result = CopilotSessionResult(
329
+ session_id=session_id,
330
+ mode=mode,
331
+ prompt_file=prompt_file,
332
+ start_time=start_time,
333
+ pid=process.pid,
334
+ process=process,
335
+ )
336
+
337
+ _persist_session_state(result)
338
+ return result