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.
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/copilot-instructions.md +117 -22
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/PKG-INFO +1 -1
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/_version.py +2 -2
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/commands.py +62 -2
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/review_commands.py +22 -0
- agentic_devtools-0.2.10/agentic_devtools/cli/copilot/__init__.py +14 -0
- agentic_devtools-0.2.10/agentic_devtools/cli/copilot/session.py +338 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/commands.py +59 -24
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/preflight.py +4 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/worktree_setup.py +135 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-initiate-prompt.md +31 -7
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/README.md +20 -4
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/conftest.py +3 -49
- agentic_devtools-0.2.10/tests/helpers.py +125 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_app_insights.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_app_insights_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_errors.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_errors_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_provisioning.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_provisioning_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_timeline.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_timeline_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_detect_account_type.py +32 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_ensure_azure_account.py +40 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_get_current_azure_account.py +58 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_is_aza_account.py +27 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_switch_azure_account.py +58 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/auth/test_verify_azure_cli.py +50 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/config/test_get_account_for_environment.py +31 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure/config/test_get_app_insights_config.py +42 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands/test_azure_context_current_command.py +35 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands/test_azure_context_ensure_login_command.py +37 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands/test_azure_context_status_command.py +32 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/commands/test_azure_context_use_command.py +34 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/config/test_get_context_config.py +37 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_check_login_status.py +50 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_ensure_logged_in.py +34 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_get_context_env.py +38 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_get_current_context.py +50 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_run_with_context.py +46 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_show_all_contexts.py +57 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_context/management/test_switch_context.py +49 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_add_pull_request_comment_async_cli.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_approve_file_async_cli.py +55 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_approve_pull_request_async_cli.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_checkout_and_sync_branch_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_create_pipeline_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_create_pull_request_async_cli.py +51 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_generate_review_prompts_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_get_pipeline_id_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_threads_async_cli.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_list_pipelines_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_lookup_jira_issue_from_pr_async.py +48 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_lookup_pr_from_jira_issue_async.py +48 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_reply_to_pull_request_thread_async_cli.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_request_changes_async_cli.py +59 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_request_changes_with_suggestion_async_cli.py +59 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_resolve_thread_async_cli.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_setup_pull_request_review_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_update_pipeline_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/async_commands/test_wait_for_run_async.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/commands/test_add_pull_request_comment.py +489 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/commands/test_parse_bool_from_state.py +49 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/commands/test_require_content.py +39 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_get_failed_submissions.py +59 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_get_queue_status.py +61 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_print_next_file_prompt.py +52 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_reset_failed_submission.py +71 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_sync_submission_pending_with_tasks.py +54 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/file_review_commands/test_update_submission_to_failed.py +70 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_find_jira_issue_from_pr.py +51 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_find_pr_from_jira_issue.py +67 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_find_pull_request_by_issue_key.py +57 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_get_pull_request_details.py +50 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_get_pull_request_source_branch.py +46 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_parse_json_response.py +26 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_print_threads.py +45 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_resolve_thread_by_id.py +57 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/helpers/test_verify_az_cli.py +37 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/review_commands/test_setup_pull_request_review.py +412 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/run_details_commands/test_get_run_details_impl.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/run_details_commands/test_wait_for_run_impl.py +34 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_ensure_jira_vpn_access.py +20 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_get_vpn_url_from_state.py +41 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_off_async.py +44 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_off_cmd.py +39 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_on_async.py +44 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_on_cmd.py +54 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_status_async.py +44 -0
- agentic_devtools-0.2.10/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_status_cmd.py +50 -0
- agentic_devtools-0.2.10/tests/unit/cli/copilot/session/test_copilotsessionresult.py +64 -0
- agentic_devtools-0.2.10/tests/unit/cli/copilot/session/test_is_gh_copilot_available.py +58 -0
- agentic_devtools-0.2.10/tests/unit/cli/copilot/session/test_start_copilot_session.py +309 -0
- agentic_devtools-0.2.10/tests/unit/cli/git/conftest.py +36 -0
- agentic_devtools-0.2.10/tests/unit/cli/jira/async_commands/test_add_comment_async_cli.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/jira/comment_commands/test_add_comment_cli.py +11 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/conftest.py +5 -4
- agentic_devtools-0.2.10/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report.py +37 -0
- agentic_devtools-0.2.10/tests/unit/cli/jira/role_commands/test_check_users_exist.py +43 -0
- agentic_devtools-0.2.10/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context.py +36 -0
- agentic_devtools-0.2.10/tests/unit/cli/network/commands/test_network_status_cmd.py +56 -0
- agentic_devtools-0.2.10/tests/unit/cli/network/detection/test_detect_network_context.py +80 -0
- agentic_devtools-0.2.10/tests/unit/cli/network/detection/test_get_network_context_display.py +41 -0
- agentic_devtools-0.2.10/tests/unit/cli/release/commands/test_release_pypi_async.py +58 -0
- agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_build_distribution.py +61 -0
- agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_normalize_package_name.py +35 -0
- agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_pypi_version_exists.py +93 -0
- agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_upload_distribution.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/release/helpers/test_validate_distribution.py +63 -0
- agentic_devtools-0.2.10/tests/unit/cli/testing/test_run_tests.py +49 -0
- agentic_devtools-0.2.10/tests/unit/cli/testing/test_run_tests_file.py +57 -0
- agentic_devtools-0.2.10/tests/unit/cli/testing/test_run_tests_quick.py +48 -0
- agentic_devtools-0.2.10/tests/unit/cli/vpn/commands/test_vpn_run_cmd.py +11 -0
- agentic_devtools-0.2.10/tests/unit/cli/vpn/runner/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/advancement/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/base/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/base/test_clear_state_for_workflow_initiation.py +26 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/checklist/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/commands/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_pull_request_review_workflow.py +128 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/manager/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/manager/test_get_next_workflow_prompt_cmd.py +59 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/manager/test_notify_workflow_event.py +58 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/preflight/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_perform_auto_setup.py +30 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/worktree_setup/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test__setup_worktree_from_state.py +56 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_pr_review.py +298 -0
- agentic_devtools-0.2.10/tests/unit/cli/workflows/worktree_setup/test__wait_for_prompt_file.py +55 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_start_worktree_setup_background.py +32 -0
- agentic_devtools-0.2.10/tests/unit/config/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/conftest.py +3 -4
- agentic_devtools-0.2.10/tests/unit/file_locking/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/prompts/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/prompts/loader/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/prompts/loader/test_pr_review_initiate_prompt_rendering.py +87 -0
- agentic_devtools-0.2.10/tests/unit/state/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/task_state/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/unit/task_state/test_cleanup_expired_tasks.py +11 -0
- agentic_devtools-0.2.10/tests/unit/task_state/test_get_all_tasks.py +54 -0
- agentic_devtools-0.2.10/tests/unit/task_state/test_get_all_tasks_file_path.py +41 -0
- agentic_devtools-0.2.10/tests/unit/task_state/test_get_background_tasks_dir.py +33 -0
- agentic_devtools-0.2.10/tests/unit/task_state/test_get_logs_dir.py +41 -0
- agentic_devtools-0.2.10/tests/unit/task_state/test_get_recent_tasks.py +71 -0
- agentic_devtools-0.2.10/tests/unit/task_state/test_get_task_from_all_tasks.py +51 -0
- agentic_devtools-0.2.10/tests/unit/task_state/test_save_background_tasks.py +11 -0
- agentic_devtools-0.2.10/tests/workflows/__init__.py +0 -0
- agentic_devtools-0.2.10/tests/workflows/conftest.py +180 -0
- agentic_devtools-0.2.10/tests/workflows/test_workflow_end_to_end.py +803 -0
- agentic_devtools-0.2.9/tests/unit/cli/azure_devops/commands/test_add_pull_request_comment.py +0 -203
- agentic_devtools-0.2.9/tests/unit/cli/azure_devops/review_commands/test_setup_pull_request_review.py +0 -197
- agentic_devtools-0.2.9/tests/unit/cli/git/conftest.py +0 -68
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.devcontainer/README.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.devcontainer/devcontainer.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.dfly-temp/background-tasks/all-background-tasks.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.dfly-temp/dfly-state.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/MARKDOWN_LINTING.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/.markdownlint.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.apply-pr-suggestions.initiate.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.create-jira-epic.initiate.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.create-jira-issue.initiate.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.create-jira-subtask.initiate.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.completion.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.decision.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.file-review.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.initiate.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.pull-request-review.summary.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.update-jira-issue.initiate.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.checklist-creation.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.commit.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.completion.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.implementation-review.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.implementation.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.initiate.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.planning.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.pull-request.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.retrieve.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.setup.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/agdt.work-on-jira-issue.verification.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/copilot-instructions.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/security-scan.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/senior-python-developer.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.analyze.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.checklist.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.clarify.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.constitution.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.implement.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.plan.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.specify.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.tasks.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/agents/speckit.taskstoissues.agent.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/.markdownlint.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.apply-pr-suggestions.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.create-jira-epic.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.create-jira-issue.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.create-jira-subtask.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.completion.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.decision.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.file-review.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.pull-request-review.summary.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.update-jira-issue.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.checklist-creation.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.commit.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.completion.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.implementation-review.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.implementation.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.planning.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.pull-request.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.retrieve.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.setup.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/agdt.work-on-jira-issue.verification.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.analyze.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.checklist.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.clarify.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.constitution.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.implement.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.plan.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.specify.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.tasks.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/prompts/speckit.taskstoissues.prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/check-idempotency.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/create-spec-pr.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/generate-spec-from-issue.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/post-issue-comment.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/sanitize-branch-name.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/.markdownlint.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/already-processed.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/completed.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/failed.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/scripts/speckit-trigger/templates/started.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/README.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/auto-fix-on-failure.yml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/copilot-setup-steps.yml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/lint.yml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/publish.yml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/release.yml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/check-release-exists.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/create-github-release.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/create-release-packages.ps1 +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/create-release-packages.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/generate-release-notes.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/get-next-version.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/scripts/update-version.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/security-scan-on-merge.yml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/speckit-issue-trigger.yml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.github/workflows/test.yml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.gitignore +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.markdownlint-cli2.jsonc +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.markdownlint.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.push-trigger +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/SDD_QUICK_REFERENCE.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/memory/constitution.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/common.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/setup-plan.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/check-prerequisites.ps1 +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/common.ps1 +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/create-new-feature.ps1 +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/setup-plan.ps1 +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/scripts/powershell/update-agent-context.ps1 +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/agent-file-template.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/checklist-template.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/.markdownlint.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/analyze.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/checklist.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/clarify.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/constitution.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/implement.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/plan.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/specify.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/tasks.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/commands/taskstoissues.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/plan-template.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/spec-template.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/tasks-template.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.specify/templates/vscode-settings.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/.work-folder-info +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/CHANGELOG.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/COMMIT_CONVENTION.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/CONTRIBUTING.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/LICENSE +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/PR_DESCRIPTION.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/PR_INSTRUCTIONS.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/README.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/RELEASING.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/SECURITY_SCANNING.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/SOLUTION_SUMMARY.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/SPEC_DRIVEN_DEVELOPMENT.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agdt_ai_helpers/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/background_tasks.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure/app_insights_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure/auth.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure/config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_context/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_context/commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_context/config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_context/management.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/async_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/auth.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/file_review_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/mark_reviewed.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/pipeline_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/pr_summary_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/pull_request_details_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/review_helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/review_jira.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/review_prompts.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/run_details_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/vpn_toggle.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/async_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/core.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/diff.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/git/operations.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/github/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/github/async_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/github/issue_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/github/state_helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/adf.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/async_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/async_status.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/comment_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/create_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/formatting.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/get_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/parse_error_report.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/role_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/state_helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/update_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/jira/vpn_wrapper.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/network/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/network/commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/network/detection.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/release/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/release/commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/release/helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/runner.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/subprocess_utils.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/tasks/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/tasks/commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/testing.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/vpn/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/vpn/commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/vpn/runner.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/advancement.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/base.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/checklist.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/workflows/manager.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/file_locking.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/apply-pull-request-review-suggestions/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/create-jira-epic/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/create-jira-issue/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/create-jira-subtask/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/loader.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-completion-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-decision-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-file-review-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/pull-request-review/default-summary-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/update-jira-issue/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-checklist-creation-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-commit-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-completion-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-review-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-planning-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-pull-request-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-retrieve-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-setup-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/prompts/work-on-jira-issue/default-verification-prompt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/task_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/ayaiay.json +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/01-introduction-and-goals.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/02-architecture-constraints.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/03-system-context.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/04-solution-strategy.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/05-building-blocks.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/06-runtime-view.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/07-deployment-view.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/08-cross-cutting-concepts.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/09-architecture-decisions.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/10-quality-requirements.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/11-risks-and-technical-debt.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/12-glossary.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/docs/README.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/pyproject.toml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/scripts/run-pr-checks.sh +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/scripts/scaffold_tests.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/scripts/validate_test_structure.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/scripts/verify-agent-coverage.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-add-workflow-step-agents/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-add-workflow-step-agents/plan.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-add-workflow-step-agents/spec.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-add-workflow-step-agents/tasks.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-pypi-wheel-release/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-pypi-wheel-release/plan.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-pypi-wheel-release/spec.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-pypi-wheel-release/tasks.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-separate-docs/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-separate-docs/plan.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-separate-docs/spec.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/001-separate-docs/tasks.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/plan.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/spec.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/tasks.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/002-github-action-speckit-trigger/workflow-sequence-diagram.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/003-comprehensive-e2e-smoke-tests/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/003-comprehensive-e2e-smoke-tests/spec.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/003-e2e-smoke-tests-cli/plan.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/specs/README.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_context/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_context/test_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_context/test_config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_context/test_management.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/conftest.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_async_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_auth.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_commands_api.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_commands_dry_run.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_file_review_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_mark_reviewed.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_pipeline_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_pr_summary_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_pull_request_details_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_review_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_run_details_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/azure_devops/test_vpn_toggle.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/cli/test_azure_app_insights_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/cli/test_azure_auth.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/cli/test_azure_config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/conftest.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/README.md +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/fixtures/cassettes/azure_devops_create_pr.yaml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/fixtures/cassettes/jira_add_comment.yaml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/fixtures/cassettes/jira_get_issue.yaml +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/test_azure_devops_commands_e2e.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/test_git_commands_e2e.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/e2e_smoke/test_jira_commands_e2e.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/network/test_detection.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/network/test_network_cli.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_file_review_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_file_review_queue_management.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_core.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_diff.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_operations.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_git_utilities.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_release_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_release_helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_release_integration.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_scaffold_tests.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_validate_test_structure.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/test_version.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_cleanup_old_logs.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_create_log_file_path.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_get_task_log_content.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_run_function_in_background.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_run_in_background.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/background_tasks/test_wait_for_task.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/__init__.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/azure_devops → agentic_devtools-0.2.10/tests/unit/cli/azure}/__init__.py +0 -0
- {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
- {agentic_devtools-0.2.9/tests/unit/cli/azure_devops → agentic_devtools-0.2.10/tests/unit/cli/azure}/auth/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/_helpers.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_approve_file_async.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_request_changes_async.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/async_commands/test_resolve_thread_async.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/auth/test_get_auth_headers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/auth/test_get_pat.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_approve_pull_request.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_create_pull_request.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_get_pull_request_threads.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_mark_pull_request_draft.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_publish_pull_request.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/commands/test_resolve_thread.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/config/test_azure_devops_config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/config/test_constants.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/conftest.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/file_review_commands/test_approve_file.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/file_review_commands/test_request_changes.py +0 -0
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_build_thread_context.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_format_approval_content.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_get_repository_id.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_require_content.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/helpers/test_require_requests.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/mark_reviewed/test_mark_file_reviewed.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/mark_reviewed/test_normalize_repo_path.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_create_pipeline.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_get_pipeline_id.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_list_pipelines.py +0 -0
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_run_wb_patch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/pipeline_commands/test_update_pipeline.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_filter_threads.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_generate_review_prompts.py +0 -0
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_get_root_folder.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_normalize_repo_path.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_print_review_instructions.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_commands/test_write_file_prompt.py +0 -0
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_filter_threads.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_get_root_folder.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_helpers/test_normalize_repo_path.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_fetch_jira_issue.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_jira/test_get_jira_credentials.py +0 -0
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_generate_review_prompts.py +0 -0
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_print_review_instructions.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/review_prompts/test_write_file_prompt.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_print_parameters.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_print_summary.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/run_details_commands/test_save_json.py +0 -0
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_check_network_status.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_connect_vpn.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_disconnect_vpn.py +0 -0
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_is_vpn_connected.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_reconnect_vpn.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/azure_devops/vpn_toggle/test_smart_connect_vpn.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/github/issue_commands → agentic_devtools-0.2.10/tests/unit/cli/copilot}/__init__.py +0 -0
- {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
- {agentic_devtools-0.2.9/tests/unit/cli/jira → agentic_devtools-0.2.10/tests/unit/cli/git}/__init__.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/_helpers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_amend_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_commit_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_force_push_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_publish_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_push_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/async_commands/test_stage_async.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/conftest.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test__get_issue_key_from_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test__mark_checklist_items_completed.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test__sync_with_main.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test__trigger_implementation_review.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_amend_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_commit_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_force_push_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_publish_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_push_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/commands/test_stage_cmd.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_get_bool_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_get_commit_message.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_get_current_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_run_git.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/core/test_temp_message_file.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_addedline.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_addedlinesinfo.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_diffentry.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_get_added_lines_info.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_get_diff_entries.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_get_diff_patch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_normalize_ref_name.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/diff/test_sync_git_ref.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/jira/config → agentic_devtools-0.2.10/tests/unit/cli/git/operations}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_amend_commit.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_branchsafetycheckresult.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_check_branch_safe_to_recreate.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_checkout_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_checkoutresult.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_create_commit.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_fetch_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_fetch_main.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_force_push.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_get_commits_behind_main.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_get_files_changed_on_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_get_last_commit_message.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_has_local_changes.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_last_commit_contains_issue_key.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_local_branch_matches_origin.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_publish_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_push.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_rebase_onto_main.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_rebaseresult.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_should_amend_instead_of_commit.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/git/operations/test_stage_changes.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/jira/create_commands → agentic_devtools-0.2.10/tests/unit/cli/github}/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/async_commands/test_create_agdt_issue_async.py +0 -0
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__append_related_issues.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__append_terminal_log.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__build_gh_create_args.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__check_gh_cli.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__get_environment_info.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test__gh_supports_issue_type.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_bug_issue.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_documentation_issue.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_feature_issue.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_issue.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/issue_commands/test_create_agdt_task_issue.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/state_helpers/test_get_issue_value.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/github/state_helpers/test_set_issue_value.py +0 -0
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/adf/test__convert_adf_to_text.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/adf/test__process_adf_children.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/conftest.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_add_comment_async.py +0 -0
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_check_user_exists_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_check_users_exist_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_create_epic_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_create_issue_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_create_subtask_async.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_get_issue_async.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_list_project_roles_async.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_commands/test_update_issue_async.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_status/conftest.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/async_status/test_write_async_status.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/comment_commands/test_add_comment.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/release → agentic_devtools-0.2.10/tests/unit/cli/jira/config}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/config/test_get_jira_auth_header.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/config/test_get_jira_base_url.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/config/test_get_jira_headers.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/create_commands/test_create_epic.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/create_commands/test_create_issue.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/create_commands/test_create_issue_sync.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/create_commands/test_create_subtask.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/runner → agentic_devtools-0.2.10/tests/unit/cli/jira/formatting}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/formatting/test_build_user_story_description.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/formatting/test_format_bullet_list.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/formatting/test_merge_labels.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/state → agentic_devtools-0.2.10/tests/unit/cli/jira/get_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/get_commands/test__fetch_epic.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/get_commands/test__fetch_parent_issue.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/get_commands/test__fetch_remote_links.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/get_commands/test_get_issue.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/subprocess_utils → agentic_devtools-0.2.10/tests/unit/cli/jira/helpers}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__count_certificates_in_pem.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__ensure_jira_pem.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__fetch_certificate_chain_openssl.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__fetch_certificate_chain_ssl.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__get_repo_jira_pem_path.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__get_requests.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__get_ssl_verify.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__get_temp_jira_pem_path.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__parse_comma_separated.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/helpers/test__parse_multiline_string.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_get_user_details.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/parse_error_report/test_parse_error_file.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_check_user_exists.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_check_user_exists_command.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_check_users_exist_command.py +0 -0
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_get_project_role_details.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_list_project_roles.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_role_commands_error_handling.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/role_commands/test_role_id_extraction.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/testing → agentic_devtools-0.2.10/tests/unit/cli/jira/state_helpers}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/state_helpers/test_get_jira_value.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/state_helpers/test_set_jira_value.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/vpn → agentic_devtools-0.2.10/tests/unit/cli/jira/update_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/update_commands/test__build_update_payload.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/jira/update_commands/test_update_issue.py +0 -0
- {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
- {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
- {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
- {agentic_devtools-0.2.9/tests/unit/cli/workflows → agentic_devtools-0.2.10/tests/unit/cli/network}/__init__.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/workflows/advancement → agentic_devtools-0.2.10/tests/unit/cli/network/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/workflows/base → agentic_devtools-0.2.10/tests/unit/cli/network/detection}/__init__.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/workflows/checklist → agentic_devtools-0.2.10/tests/unit/cli/release}/__init__.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/workflows → agentic_devtools-0.2.10/tests/unit/cli/release}/commands/__init__.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/workflows/manager → agentic_devtools-0.2.10/tests/unit/cli/release/helpers}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/release/helpers/test_compute_sha256.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/workflows/preflight → agentic_devtools-0.2.10/tests/unit/cli/runner}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_command_map.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_command_map_integrity.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_main.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_main_entry_point.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_run_as_script.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/runner/test_run_command.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/cli/workflows/worktree_setup → agentic_devtools-0.2.10/tests/unit/cli/state}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_clear_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_clear_workflow_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_delete_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_get_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_get_workflow_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_set_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/state/test_show_cmd.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/config → agentic_devtools-0.2.10/tests/unit/cli/subprocess_utils}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/subprocess_utils/test_run_safe.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/subprocess_utils/test_run_safe_integration.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/file_locking → agentic_devtools-0.2.10/tests/unit/cli/tasks}/__init__.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/prompts → agentic_devtools-0.2.10/tests/unit/cli/tasks/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_handle_task_completed.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_helper_functions.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_list_tasks.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_safe_print_unicode_error.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_show_other_incomplete_tasks.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_command_integration.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_id_argument.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_log.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_log_line_limits.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_status.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_wait.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_task_wait_value_error_handling.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_tasks_clean.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/tasks/commands/test_try_complete_pr_review_workflow.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/prompts/loader → agentic_devtools-0.2.10/tests/unit/cli/testing}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test__infer_test_file_from_source.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_async_wrappers.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_create_test_file_parser.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_get_package_root.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_subprocess_with_streaming.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_tests_file_sync.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_tests_pattern.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_tests_quick_sync.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/testing/test_run_tests_sync.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/state → agentic_devtools-0.2.10/tests/unit/cli/vpn}/__init__.py +0 -0
- {agentic_devtools-0.2.9/tests/unit/task_state → agentic_devtools-0.2.10/tests/unit/cli/vpn/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/vpn/runner/test__detect_vpn_requirement_from_command.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/vpn/runner/test__execute_command.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/vpn/runner/test_run_with_vpn_context.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/vpn/runner/test_vpnrequirement.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_commit.py +0 -0
- {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
- {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
- {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
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test__state_key_to_variable_name.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test_advance_workflow_step.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test_collect_variables_from_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test_initiate_workflow.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/base/test_validate_required_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_checklist.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_checklistitem.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_get_checklist.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_initialize_checklist.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_mark_items_completed.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_parse_completed_items_arg.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/checklist/test_save_checklist.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test__execute_retrieve_step.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_advance_pull_request_review_workflow.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_advance_workflow_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_create_checklist_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_get_workflow_cmd.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_create_jira_epic_workflow.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_create_jira_issue_workflow.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_create_jira_subtask_workflow.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_initiate_update_jira_issue_workflow.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_notify_workflow_event.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_setup_worktree_background_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_show_checklist_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/commands/test_update_checklist_cmd.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test__build_command_hint.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test__check_required_tasks_status.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test__render_failure_prompt.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test__render_waiting_prompt.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_get_next_step.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_get_next_workflow_prompt.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_get_workflow_definition.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_nextpromptresult.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/manager/test_promptstatus.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_check_worktree_and_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_generate_setup_instructions.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_get_current_git_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_get_git_repo_root.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/preflight/test_preflightresult.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test__detect_git_root.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test__run_auto_execute_command.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_check_worktree_exists.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_create_placeholder_issue.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_create_worktree.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_find_workspace_file.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_generate_workflow_branch_name.py +0 -0
- {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
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_current_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_main_repo_root.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_repos_parent_dir.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_get_worktree_continuation_prompt.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_inject_git_path_settings.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_is_in_worktree.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_is_vscode_available.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_open_vscode_workspace.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_placeholderissueresult.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_run_worktree_setup_script.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_setup_worktree_environment.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_switch_to_main_branch.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/cli/workflows/worktree_setup/test_worktreesetupresult.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/config/test_load_repo_config.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/config/test_load_review_focus_areas.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_cross_platform_behavior.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_file_lock_error.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_lock_file.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_lock_functions.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_locked_file.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_locked_file_edge_cases.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_locked_state_file.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_unix_file_locking.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_unlock_file.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/file_locking/test_windows_file_locking.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/conftest.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_prompts_dir.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_required_variables.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_temp_output_dir.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_template_filename.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_get_template_path.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_load_and_render_prompt.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_load_prompt_template.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_log_prompt_with_save_notice.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_save_generated_prompt.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_silentundefined.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_substitute_variables.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_substitute_variables_syntax_error.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_template_validation_error.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/prompts/loader/test_validate_template_variables.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_clear_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_clear_temp_folder.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_clear_workflow_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_delete_value.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_all_keys.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pull_request_id.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pypi_dry_run.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pypi_package_name.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pypi_repository.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_pypi_version.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_state_dir.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_state_file_path.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_thread_id.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_value.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_get_workflow_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_is_dry_run.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_is_workflow_active.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_load_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_load_state_locked.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_save_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_save_state_locked.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_context_value.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_dry_run.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pull_request_id.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pypi_dry_run.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pypi_package_name.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pypi_repository.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_pypi_version.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_resolve_thread.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_thread_id.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_value.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_set_workflow_state.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_should_resolve_thread.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_update_workflow_context.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_update_workflow_step.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/state/test_workflow_state_integration.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_add_task.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_background_task.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_duration_seconds.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_from_dict_invalid_status.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_active_tasks.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_background_tasks.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_failed_most_recent_per_command.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_incomplete_most_recent_per_command.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_most_recent_tasks_per_command.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_other_incomplete_tasks.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_task_by_id.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_get_tasks_by_status.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_print_task_tracking_info.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_remove_task.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_sort_tasks.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_task_lifecycle.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_task_status.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/unit/task_state/test_update_task.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/vpn/test_vpn_commands.py +0 -0
- {agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/tests/vpn/test_vpn_runner.py +0 -0
- {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
|
|
1469
|
+
The end-to-end automated PR review is initiated with a **single command**:
|
|
1470
1470
|
|
|
1471
1471
|
```bash
|
|
1472
|
-
#
|
|
1473
|
-
agdt-
|
|
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
|
-
#
|
|
1477
|
-
agdt-
|
|
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
|
-
#
|
|
1484
|
-
agdt-review-pull-request --
|
|
1478
|
+
# Non-interactive / pipeline mode
|
|
1479
|
+
agdt-initiate-pull-request-review-workflow --pull-request-id 12345 --interactive false
|
|
1485
1480
|
```
|
|
1486
1481
|
|
|
1487
|
-
|
|
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
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
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
|
|
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
|
|
@@ -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.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 2,
|
|
31
|
+
__version__ = version = '0.2.10'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 2, 10)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
{agentic_devtools-0.2.9 → agentic_devtools-0.2.10}/agentic_devtools/cli/azure_devops/commands.py
RENAMED
|
@@ -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
|
|
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
|