agentic-devtools 0.2.15__tar.gz → 0.2.17__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.15 → agentic_devtools-0.2.17}/PKG-INFO +1 -1
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/_version.py +2 -2
- agentic_devtools-0.2.17/agentic_devtools/cli/cert_utils.py +194 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/copilot/session.py +33 -23
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/helpers.py +9 -83
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/setup/commands.py +54 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/setup/copilot_cli_installer.py +4 -2
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/setup/gh_cli_installer.py +9 -3
- agentic_devtools-0.2.17/tests/unit/cli/cert_utils/test_count_certificates_in_pem.py +29 -0
- agentic_devtools-0.2.17/tests/unit/cli/cert_utils/test_ensure_ca_bundle.py +163 -0
- agentic_devtools-0.2.17/tests/unit/cli/cert_utils/test_fetch_certificate_chain_openssl.py +58 -0
- agentic_devtools-0.2.17/tests/unit/cli/cert_utils/test_fetch_certificate_chain_ssl.py +52 -0
- agentic_devtools-0.2.17/tests/unit/cli/cert_utils/test_get_ssl_verify.py +69 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/copilot/session/test_start_copilot_session.py +32 -10
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/comment_commands/test_add_comment.py +31 -0
- agentic_devtools-0.2.17/tests/unit/cli/setup/commands/test__prefetch_certs.py +74 -0
- agentic_devtools-0.2.17/tests/unit/cli/setup/conftest.py +18 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/copilot_cli_installer/test_get_latest_release_info.py +1 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/gh_cli_installer/test_get_latest_release_info.py +1 -0
- agentic_devtools-0.2.17/tests/workflows/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.devcontainer/README.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.devcontainer/devcontainer.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.dfly-temp/background-tasks/all-background-tasks.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.dfly-temp/dfly-state.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/ISSUE_TEMPLATE/speckit-test.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/MARKDOWN_LINTING.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/.markdownlint.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.apply-pr-suggestions.initiate.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.create-jira-epic.initiate.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.create-jira-issue.initiate.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.create-jira-subtask.initiate.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.pull-request-review.completion.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.pull-request-review.decision.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.pull-request-review.file-review.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.pull-request-review.initiate.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.pull-request-review.summary.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.update-jira-issue.initiate.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.checklist-creation.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.commit.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.completion.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.implementation-review.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.implementation.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.initiate.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.planning.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.pull-request.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.retrieve.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.setup.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/agdt.work-on-jira-issue.verification.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/copilot-instructions.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/security-scan.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/senior-python-developer.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.analyze.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.checklist.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.clarify.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.constitution.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.implement.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.plan.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.specify.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.tasks.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/agents/speckit.taskstoissues.agent.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/copilot-instructions.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/.markdownlint.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.apply-pr-suggestions.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.create-jira-epic.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.create-jira-issue.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.create-jira-subtask.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.pull-request-review.completion.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.pull-request-review.decision.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.pull-request-review.file-review.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.pull-request-review.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.pull-request-review.summary.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.update-jira-issue.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.checklist-creation.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.commit.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.completion.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.implementation-review.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.implementation.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.initiate.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.planning.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.pull-request.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.retrieve.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.setup.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/agdt.work-on-jira-issue.verification.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.analyze.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.checklist.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.clarify.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.constitution.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.implement.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.plan.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.specify.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.tasks.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/prompts/speckit.taskstoissues.prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/check-idempotency.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/create-spec-pr.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/generate-spec-from-issue.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/post-issue-comment.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/sanitize-branch-name.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/templates/.markdownlint.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/templates/already-processed.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/templates/completed.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/templates/failed.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/templates/started.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/scripts/speckit-trigger/validate-label.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/README.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/auto-fix-on-failure.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/copilot-review-gate.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/copilot-setup-steps.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/lint.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/publish.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/release.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/scripts/check-release-exists.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/scripts/create-github-release.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/scripts/create-release-packages.ps1 +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/scripts/create-release-packages.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/scripts/generate-release-notes.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/scripts/get-next-version.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/scripts/update-version.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/security-scan-on-merge.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/speckit-issue-trigger.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/test.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.github/workflows/workflow-tests.yml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.gitignore +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.markdownlint-cli2.jsonc +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.markdownlint.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.push-trigger +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/SDD_QUICK_REFERENCE.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/memory/constitution.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/bash/common.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/bash/setup-plan.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/powershell/check-prerequisites.ps1 +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/powershell/common.ps1 +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/powershell/create-new-feature.ps1 +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/powershell/setup-plan.ps1 +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/scripts/powershell/update-agent-context.ps1 +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/agent-file-template.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/checklist-template.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/.markdownlint.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/analyze.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/checklist.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/clarify.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/constitution.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/implement.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/plan.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/specify.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/tasks.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/commands/taskstoissues.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/plan-template.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/spec-template.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/tasks-template.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.specify/templates/vscode-settings.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/.work-folder-info +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/CHANGELOG.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/COMMIT_CONVENTION.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/CONTRIBUTING.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/LICENSE +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/PR_DESCRIPTION.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/PR_INSTRUCTIONS.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/README.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/RELEASING.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/SECURITY_SCANNING.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/SOLUTION_SUMMARY.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/SPEC_DRIVEN_DEVELOPMENT.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agdt_ai_helpers/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/background_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure/app_insights_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure/auth.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure/config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_context/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_context/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_context/config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_context/management.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/__init__.py +9 -9
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/async_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/auth.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/file_review_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/mark_reviewed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/pipeline_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/pr_summary_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/pull_request_details_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/review_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/review_helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/review_jira.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/review_prompts.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/review_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/review_templates.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/run_details_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/status_cascade.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/azure_devops/vpn_toggle.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/copilot/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/git/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/git/async_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/git/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/git/core.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/git/diff.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/git/operations.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/github/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/github/async_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/github/issue_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/github/state_helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/adf.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/async_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/async_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/comment_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/create_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/formatting.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/get_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/parse_error_report.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/role_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/state_helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/update_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/jira/vpn_wrapper.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/network/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/network/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/network/detection.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/release/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/release/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/release/helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/runner.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/setup/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/setup/dependency_checker.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/speckit/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/speckit/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/subprocess_utils.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/tasks/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/tasks/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/testing.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/vpn/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/vpn/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/vpn/runner.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/workflows/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/workflows/advancement.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/workflows/base.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/workflows/checklist.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/workflows/commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/workflows/manager.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/workflows/preflight.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/workflows/worktree_setup.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/file_locking.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/apply-pull-request-review-suggestions/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/create-jira-epic/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/create-jira-issue/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/create-jira-subtask/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/loader.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/pull-request-review/default-completion-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/pull-request-review/default-decision-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/pull-request-review/default-file-review-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/pull-request-review/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/pull-request-review/default-summary-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/update-jira-issue/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-checklist-creation-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-commit-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-completion-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-review-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-initiate-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-planning-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-pull-request-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-retrieve-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-setup-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/prompts/work-on-jira-issue/default-verification-prompt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/task_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/ayaiay.json +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/01-introduction-and-goals.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/02-architecture-constraints.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/03-system-context.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/04-solution-strategy.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/05-building-blocks.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/06-runtime-view.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/07-deployment-view.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/08-cross-cutting-concepts.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/09-architecture-decisions.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/10-quality-requirements.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/11-risks-and-technical-debt.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/12-glossary.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/README.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/docs/copilot-commands.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/pyproject.toml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/scripts/run-pr-checks.sh +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/scripts/scaffold_tests.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/scripts/validate_test_structure.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/scripts/verify-agent-coverage.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-add-workflow-step-agents/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-add-workflow-step-agents/plan.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-add-workflow-step-agents/spec.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-add-workflow-step-agents/tasks.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-pypi-wheel-release/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-pypi-wheel-release/plan.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-pypi-wheel-release/spec.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-pypi-wheel-release/tasks.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-separate-docs/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-separate-docs/plan.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-separate-docs/spec.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-separate-docs/tasks.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-workflow-step-skills/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/001-workflow-step-skills/spec.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/002-github-action-speckit-trigger/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/002-github-action-speckit-trigger/plan.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/002-github-action-speckit-trigger/spec.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/002-github-action-speckit-trigger/tasks.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/002-github-action-speckit-trigger/workflow-sequence-diagram.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/003-comprehensive-e2e-smoke-tests/checklists/requirements.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/003-comprehensive-e2e-smoke-tests/spec.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/003-e2e-smoke-tests-cli/plan.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/specs/README.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/README.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_context/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_context/test_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_context/test_config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_context/test_management.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_async_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_auth.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_commands_api.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_commands_dry_run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_file_review_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_mark_reviewed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_pipeline_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_pr_summary_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_pull_request_details_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_review_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_run_details_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/azure_devops/test_vpn_toggle.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/cli/test_azure_app_insights_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/cli/test_azure_auth.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/cli/test_azure_config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/README.md +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/fixtures/cassettes/azure_devops_create_pr.yaml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/fixtures/cassettes/jira_add_comment.yaml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/fixtures/cassettes/jira_get_issue.yaml +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/test_azure_devops_commands_e2e.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/test_git_commands_e2e.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/e2e_smoke/test_jira_commands_e2e.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/network/test_detection.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/network/test_network_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_file_review_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_file_review_queue_management.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_git_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_git_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_git_core.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_git_diff.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_git_operations.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_git_utilities.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_release_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_release_helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_release_integration.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_scaffold_tests.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_validate_test_structure.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/test_version.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/background_tasks/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/background_tasks/test_cleanup_old_logs.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/background_tasks/test_create_log_file_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/background_tasks/test_get_task_log_content.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/background_tasks/test_run_function_in_background.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/background_tasks/test_run_in_background.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/background_tasks/test_wait_for_task.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/test_query_app_insights.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/test_query_app_insights_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_errors.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_errors_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_provisioning.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_provisioning_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_timeline.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_timeline_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/auth/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/auth/test_detect_account_type.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/auth/test_ensure_azure_account.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/auth/test_get_current_azure_account.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/auth/test_is_aza_account.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/auth/test_switch_azure_account.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/auth/test_verify_azure_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/config/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/config/test_get_account_for_environment.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure/config/test_get_app_insights_config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/commands/test_azure_context_current_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/commands/test_azure_context_ensure_login_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/commands/test_azure_context_status_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/commands/test_azure_context_use_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/config/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/config/test_get_context_config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/management/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/management/test_check_login_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/management/test_ensure_logged_in.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/management/test_get_context_env.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/management/test_get_current_context.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/management/test_run_with_context.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/management/test_show_all_contexts.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_context/management/test_switch_context.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/_helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_add_pull_request_comment_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_add_pull_request_comment_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_approve_file_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_approve_file_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_approve_pull_request_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_approve_pull_request_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_checkout_and_sync_branch_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_create_pipeline_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_create_pull_request_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_create_pull_request_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_generate_pr_summary_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_generate_review_prompts_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_get_pipeline_id_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_details_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_threads_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_threads_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_get_run_details_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_list_pipelines_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_lookup_jira_issue_from_pr_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_lookup_pr_from_jira_issue_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_mark_file_reviewed_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_mark_pull_request_draft_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_publish_pull_request_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_reply_to_pull_request_thread_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_reply_to_pull_request_thread_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_request_changes_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_request_changes_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_request_changes_with_suggestion_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_request_changes_with_suggestion_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_resolve_thread_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_resolve_thread_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_run_e2e_tests_fabric_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_run_e2e_tests_synapse_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_run_wb_patch_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_setup_pull_request_review_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_submit_file_review_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_update_pipeline_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/async_commands/test_wait_for_run_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/auth/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/auth/test_get_auth_headers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/auth/test_get_pat.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test__extract_issue_key_from_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_add_pull_request_comment.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_approve_pull_request.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_create_pull_request.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_get_pull_request_threads.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_mark_pull_request_draft.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_parse_bool_from_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_publish_pull_request.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_reply_to_pull_request_thread.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_require_content.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/commands/test_resolve_thread.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/config/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/config/test_azure_devops_config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/config/test_constants.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/config/test_get_repository_name_from_git_remote.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_approve_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_get_failed_submissions.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_get_queue_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_mark_file_as_submission_pending.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_print_next_file_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_request_changes.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_request_changes_with_suggestion.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_reset_failed_submission.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_submit_file_review.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_sync_submission_pending_with_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_update_submission_to_completed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/file_review_commands/test_update_submission_to_failed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_build_thread_context.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_convert_to_pull_request_title.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_find_jira_issue_from_pr.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_find_pr_from_jira_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_find_pull_request_by_issue_key.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_format_approval_content.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_get_pull_request_details.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_get_pull_request_source_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_get_repository_id.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_parse_bool_from_state_value.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_parse_json_response.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_patch_comment.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_patch_thread_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_print_threads.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_require_content.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_require_requests.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_resolve_thread_by_id.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/helpers/test_verify_az_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/mark_reviewed/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/mark_reviewed/test_mark_file_reviewed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/mark_reviewed/test_mark_file_reviewed_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/mark_reviewed/test_normalize_repo_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pipeline_commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pipeline_commands/test_create_pipeline.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pipeline_commands/test_get_pipeline_id.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pipeline_commands/test_list_pipelines.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pipeline_commands/test_run_e2e_tests_fabric.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pipeline_commands/test_run_e2e_tests_synapse.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pipeline_commands/test_run_wb_patch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pipeline_commands/test_update_pipeline.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pr_summary_commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pr_summary_commands/test_generate_overarching_pr_comments.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pr_summary_commands/test_generate_overarching_pr_comments_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_change_tracking_id_for_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_iteration_change_tracking_map.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_iteration_changes.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_details.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_iterations.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_threads.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_reviewer_payload.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_viewed_files_via_contribution.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_invoke_ado_rest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/pull_request_details_commands/test_invoke_ado_rest_post.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_build_reviewed_paths_set.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_checkout_and_sync_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_convert_to_prompt_filename.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_extract_jira_issue_key_from_title.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_fetch_and_display_jira_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_fetch_pull_request_basic_info.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_filter_threads.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_generate_review_prompts.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_get_jira_issue_key_from_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_get_linked_pull_request_from_jira.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_get_pull_request_id_from_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_get_root_folder.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_get_threads_for_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_normalize_repo_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_print_review_instructions.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_setup_pull_request_review.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_commands/test_write_file_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_helpers/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_helpers/test_build_reviewed_paths_set.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_helpers/test_convert_to_prompt_filename.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_helpers/test_extract_jira_issue_key_from_title.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_helpers/test_filter_threads.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_helpers/test_get_root_folder.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_helpers/test_get_threads_for_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_helpers/test_normalize_repo_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_display_jira_issue_summary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_extract_linked_pr_from_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_extract_pr_id_from_development_panel.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_fetch_and_display_jira_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_fetch_development_panel_prs.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_fetch_jira_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_get_jira_credentials.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_get_linked_pull_request_from_jira.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_jira/test_get_pr_from_development_panel.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_prompts/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_prompts/test_build_file_prompt_content.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_prompts/test_generate_review_prompts.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_prompts/test_generate_review_prompts_edge_cases.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_prompts/test_get_prompts_output_dir.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_prompts/test_print_review_instructions.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_prompts/test_write_file_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_add_suggestion_to_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_fileentry.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_folderentry.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_get_file_entry.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_get_folder_entry.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_get_review_state_file_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_load_review_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_normalize_file_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_overallsummary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_reviewstate.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_reviewstatus.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_save_review_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_suggestionentry.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_state/test_update_file_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_templates/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_templates/test_build_discussion_url.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_templates/test_render_file_summary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_templates/test_render_folder_summary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/review_templates/test_render_overall_summary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_build_run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_build_timeline.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_failed_job_logs.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_pipeline_run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_task_log.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_get_failed_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_get_run_details.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_get_run_details_impl.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_get_temp_folder.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_is_run_finished.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_print_failed_logs_summary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_print_parameters.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_print_summary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_save_json.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_save_log_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_wait_for_run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/run_details_commands/test_wait_for_run_impl.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/status_cascade/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/status_cascade/test_cascade_status_update.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/status_cascade/test_derive_folder_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/status_cascade/test_derive_overall_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/status_cascade/test_execute_cascade.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/status_cascade/test_patch_operation.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_check_network_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_connect_vpn.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_disconnect_vpn.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_ensure_jira_vpn_access.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_get_vpn_url_from_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_is_on_corporate_network.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_is_pulse_secure_installed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_is_vpn_connected.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_reconnect_vpn.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_smart_connect_vpn.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_off_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_off_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_on_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_on_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_status_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_status_cmd.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/copilot → agentic_devtools-0.2.17/tests/unit/cli/cert_utils}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/copilot/session → agentic_devtools-0.2.17/tests/unit/cli/copilot}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/git → agentic_devtools-0.2.17/tests/unit/cli/copilot/session}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/copilot/session/test__get_copilot_binary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/copilot/session/test_copilotsessionresult.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/copilot/session/test_is_gh_copilot_available.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/git/async_commands → agentic_devtools-0.2.17/tests/unit/cli/git}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/git/commands → agentic_devtools-0.2.17/tests/unit/cli/git/async_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/async_commands/_helpers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/async_commands/test_amend_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/async_commands/test_commit_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/async_commands/test_force_push_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/async_commands/test_publish_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/async_commands/test_push_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/async_commands/test_stage_async.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/git/core → agentic_devtools-0.2.17/tests/unit/cli/git/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test__get_issue_key_from_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test__mark_checklist_items_completed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test__sync_with_main.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test__trigger_implementation_review.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test_amend_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test_commit_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test_force_push_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test_publish_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test_push_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/commands/test_stage_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/conftest.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/git/diff → agentic_devtools-0.2.17/tests/unit/cli/git/core}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/core/test_get_bool_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/core/test_get_commit_message.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/core/test_get_current_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/core/test_run_git.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/core/test_temp_message_file.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/git/operations → agentic_devtools-0.2.17/tests/unit/cli/git/diff}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/diff/test_addedline.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/diff/test_addedlinesinfo.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/diff/test_diffentry.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/diff/test_get_added_lines_info.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/diff/test_get_diff_entries.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/diff/test_get_diff_patch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/diff/test_normalize_ref_name.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/diff/test_sync_git_ref.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/github → agentic_devtools-0.2.17/tests/unit/cli/git/operations}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_amend_commit.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_branch_has_commits_ahead_of_main.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_branchsafetycheckresult.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_check_branch_safe_to_recreate.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_checkout_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_checkoutresult.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_create_commit.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_fetch_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_fetch_main.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_force_push.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_get_commits_behind_main.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_get_files_changed_on_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_get_last_commit_message.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_has_local_changes.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_last_commit_contains_issue_key.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_local_branch_matches_origin.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_publish_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_push.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_rebase_onto_main.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_rebaseresult.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_should_amend_instead_of_commit.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/git/operations/test_stage_changes.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/github/async_commands → agentic_devtools-0.2.17/tests/unit/cli/github}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/github/issue_commands → agentic_devtools-0.2.17/tests/unit/cli/github/async_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_bug_issue_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_bug_issue_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_documentation_issue_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_documentation_issue_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_feature_issue_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_feature_issue_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_issue_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_issue_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_task_issue_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/async_commands/test_create_agdt_task_issue_async_cli.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/github/state_helpers → agentic_devtools-0.2.17/tests/unit/cli/github/issue_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test__append_related_issues.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test__append_terminal_log.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test__build_gh_create_args.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test__check_gh_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test__get_environment_info.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test__gh_supports_issue_type.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test_create_agdt_bug_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test_create_agdt_documentation_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test_create_agdt_feature_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test_create_agdt_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/issue_commands/test_create_agdt_task_issue.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira → agentic_devtools-0.2.17/tests/unit/cli/github/state_helpers}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/state_helpers/test_get_issue_value.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/github/state_helpers/test_set_issue_value.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/adf → agentic_devtools-0.2.17/tests/unit/cli/jira}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/async_commands → agentic_devtools-0.2.17/tests/unit/cli/jira/adf}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/adf/test__convert_adf_to_text.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/adf/test__process_adf_children.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/async_status → agentic_devtools-0.2.17/tests/unit/cli/jira/async_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_add_comment_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_add_comment_async_cli.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_add_users_to_project_role_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_add_users_to_project_role_batch_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_check_user_exists_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_check_users_exist_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_create_epic_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_create_issue_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_create_subtask_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_find_role_id_by_name_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_get_issue_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_get_project_role_details_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_list_project_roles_async.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_commands/test_update_issue_async.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/comment_commands → agentic_devtools-0.2.17/tests/unit/cli/jira/async_status}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_status/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/async_status/test_write_async_status.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/config → agentic_devtools-0.2.17/tests/unit/cli/jira/comment_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/comment_commands/test_add_comment_cli.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/create_commands → agentic_devtools-0.2.17/tests/unit/cli/jira/config}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/config/test_get_jira_auth_header.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/config/test_get_jira_base_url.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/config/test_get_jira_headers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/conftest.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/formatting → agentic_devtools-0.2.17/tests/unit/cli/jira/create_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/create_commands/test_create_epic.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/create_commands/test_create_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/create_commands/test_create_issue_sync.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/create_commands/test_create_subtask.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/get_commands → agentic_devtools-0.2.17/tests/unit/cli/jira/formatting}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/formatting/test_build_user_story_description.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/formatting/test_format_bullet_list.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/formatting/test_merge_labels.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/helpers → agentic_devtools-0.2.17/tests/unit/cli/jira/get_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/get_commands/test__fetch_epic.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/get_commands/test__fetch_parent_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/get_commands/test__fetch_remote_links.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/get_commands/test_get_issue.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/parse_error_report → agentic_devtools-0.2.17/tests/unit/cli/jira/helpers}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__count_certificates_in_pem.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__ensure_jira_pem.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__fetch_certificate_chain_openssl.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__fetch_certificate_chain_ssl.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__get_repo_jira_pem_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__get_requests.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__get_ssl_verify.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__get_temp_jira_pem_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__parse_comma_separated.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/helpers/test__parse_multiline_string.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/role_commands → agentic_devtools-0.2.17/tests/unit/cli/jira/parse_error_report}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/parse_error_report/test_get_user_details.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/parse_error_report/test_get_user_details_api_calls.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/parse_error_report/test_parse_error_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/parse_error_report/test_parse_error_file_combined_errors.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/parse_error_report/test_parse_error_file_multiple_dataproducts.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report_integration.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/state_helpers → agentic_devtools-0.2.17/tests/unit/cli/jira/role_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role_additional_cases.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role_batch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_check_user_exists.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_check_user_exists_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_check_users_exist.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_check_users_exist_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_check_users_exist_command_paths.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_find_role_id_by_name.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_get_project_role_details.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_get_project_role_details_command_paths.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_list_project_roles.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_list_project_roles_command_paths.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_role_commands_error_handling.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/role_commands/test_role_id_extraction.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/update_commands → agentic_devtools-0.2.17/tests/unit/cli/jira/state_helpers}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/state_helpers/test_get_jira_value.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/state_helpers/test_set_jira_value.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/jira/vpn_wrapper → agentic_devtools-0.2.17/tests/unit/cli/jira/update_commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/update_commands/test__build_update_payload.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/update_commands/test_update_issue.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/network → agentic_devtools-0.2.17/tests/unit/cli/jira/vpn_wrapper}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context_decorator.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context_integration.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/network/commands → agentic_devtools-0.2.17/tests/unit/cli/network}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/network/detection → agentic_devtools-0.2.17/tests/unit/cli/network/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/network/commands/test_network_status_cmd.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/release → agentic_devtools-0.2.17/tests/unit/cli/network/detection}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/network/detection/test_detect_network_context.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/network/detection/test_get_network_context_display.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/release/commands → agentic_devtools-0.2.17/tests/unit/cli/release}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/release/helpers → agentic_devtools-0.2.17/tests/unit/cli/release/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/release/commands/test_release_pypi_async.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/runner → agentic_devtools-0.2.17/tests/unit/cli/release/helpers}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/release/helpers/test_build_distribution.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/release/helpers/test_compute_sha256.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/release/helpers/test_normalize_package_name.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/release/helpers/test_pypi_version_exists.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/release/helpers/test_upload_distribution.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/release/helpers/test_validate_distribution.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/setup → agentic_devtools-0.2.17/tests/unit/cli/runner}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/runner/test_command_map.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/runner/test_command_map_integrity.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/runner/test_main.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/runner/test_main_entry_point.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/runner/test_run_as_script.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/runner/test_run_command.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/setup/commands → agentic_devtools-0.2.17/tests/unit/cli/setup}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/setup/copilot_cli_installer → agentic_devtools-0.2.17/tests/unit/cli/setup/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/commands/test__print_path_instructions_if_needed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/commands/test_setup_check_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/commands/test_setup_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/commands/test_setup_copilot_cli_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/commands/test_setup_gh_cli_cmd.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/setup/dependency_checker → agentic_devtools-0.2.17/tests/unit/cli/setup/copilot_cli_installer}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/copilot_cli_installer/test_detect_platform_asset.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/copilot_cli_installer/test_download_and_install.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/copilot_cli_installer/test_get_copilot_cli_binary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/copilot_cli_installer/test_get_installed_version.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/copilot_cli_installer/test_install_copilot_cli.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/setup/gh_cli_installer → agentic_devtools-0.2.17/tests/unit/cli/setup/dependency_checker}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/dependency_checker/test__find_binary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/dependency_checker/test__get_version.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/dependency_checker/test__run_version.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/dependency_checker/test_check_all_dependencies.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/dependency_checker/test_dependencystatus.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/dependency_checker/test_print_dependency_report.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/speckit → agentic_devtools-0.2.17/tests/unit/cli/setup/gh_cli_installer}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/gh_cli_installer/test_detect_platform_asset.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/gh_cli_installer/test_download_and_install.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/gh_cli_installer/test_get_gh_cli_binary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/gh_cli_installer/test_get_installed_version.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/setup/gh_cli_installer/test_install_gh_cli.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/speckit/commands → agentic_devtools-0.2.17/tests/unit/cli/speckit}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/state → agentic_devtools-0.2.17/tests/unit/cli/speckit/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test__load_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test__parse_args.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test__run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_analyze.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_checklist.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_clarify.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_constitution.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_implement.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_plan.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_specify.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/speckit/commands/test_speckit_taskstoissues.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/subprocess_utils → agentic_devtools-0.2.17/tests/unit/cli/state}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/state/test_clear_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/state/test_clear_workflow_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/state/test_delete_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/state/test_get_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/state/test_get_workflow_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/state/test_set_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/state/test_show_cmd.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/tasks → agentic_devtools-0.2.17/tests/unit/cli/subprocess_utils}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/subprocess_utils/test_run_safe.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/subprocess_utils/test_run_safe_integration.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/tasks/commands → agentic_devtools-0.2.17/tests/unit/cli/tasks}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/testing → agentic_devtools-0.2.17/tests/unit/cli/tasks/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_handle_task_completed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_helper_functions.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_list_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_safe_print_unicode_error.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_show_other_incomplete_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_task_command_integration.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_task_id_argument.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_task_log.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_task_log_line_limits.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_task_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_task_wait.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_task_wait_value_error_handling.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_tasks_clean.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_try_advance_pr_review_to_summary.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/tasks/commands/test_try_complete_pr_review_workflow.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/vpn → agentic_devtools-0.2.17/tests/unit/cli/testing}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test__infer_test_file_from_source.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_async_wrappers.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_create_test_file_parser.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_get_package_root.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_run_subprocess_with_streaming.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_run_tests.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_run_tests_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_run_tests_file_sync.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_run_tests_pattern.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_run_tests_quick.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_run_tests_quick_sync.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/testing/test_run_tests_sync.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/vpn/commands → agentic_devtools-0.2.17/tests/unit/cli/vpn}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/vpn/runner → agentic_devtools-0.2.17/tests/unit/cli/vpn/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/vpn/commands/test_vpn_run_cmd.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/workflows → agentic_devtools-0.2.17/tests/unit/cli/vpn/runner}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/vpn/runner/test__detect_vpn_requirement_from_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/vpn/runner/test__execute_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/vpn/runner/test_run_with_vpn_context.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/vpn/runner/test_vpnrequirement.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/workflows/advancement → agentic_devtools-0.2.17/tests/unit/cli/workflows}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/workflows/base → agentic_devtools-0.2.17/tests/unit/cli/workflows/advancement}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_branch_pushed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_commit.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_jira_comment.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_jira_issue_retrieved.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_pr_creation.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_pr_review.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/workflows/checklist → agentic_devtools-0.2.17/tests/unit/cli/workflows/base}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/base/test__state_key_to_variable_name.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/base/test_advance_workflow_step.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/base/test_clear_state_for_workflow_initiation.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/base/test_collect_variables_from_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/base/test_initiate_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/base/test_validate_required_state.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/workflows/commands → agentic_devtools-0.2.17/tests/unit/cli/workflows/checklist}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/checklist/test_checklist.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/checklist/test_checklistitem.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/checklist/test_get_checklist.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/checklist/test_initialize_checklist.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/checklist/test_mark_items_completed.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/checklist/test_parse_completed_items_arg.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/checklist/test_save_checklist.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/workflows/manager → agentic_devtools-0.2.17/tests/unit/cli/workflows/commands}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test__execute_retrieve_step.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_advance_pull_request_review_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_advance_work_on_jira_issue_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_advance_workflow_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_create_checklist_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_get_workflow_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_initiate_apply_pull_request_review_suggestions_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_initiate_create_jira_epic_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_initiate_create_jira_issue_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_initiate_create_jira_subtask_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_initiate_pull_request_review_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_initiate_update_jira_issue_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_initiate_work_on_jira_issue_workflow.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_notify_workflow_event.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_setup_worktree_background_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_show_checklist_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/commands/test_update_checklist_cmd.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/workflows/preflight → agentic_devtools-0.2.17/tests/unit/cli/workflows/manager}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test__build_command_hint.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test__check_required_tasks_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test__render_failure_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test__render_step_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test__render_waiting_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test_get_next_step.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test_get_next_workflow_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test_get_next_workflow_prompt_cmd.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test_get_workflow_definition.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test_nextpromptresult.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test_notify_workflow_event.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/manager/test_promptstatus.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/cli/workflows/worktree_setup → agentic_devtools-0.2.17/tests/unit/cli/workflows/preflight}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/preflight/test_check_worktree_and_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/preflight/test_generate_setup_instructions.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/preflight/test_get_current_git_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/preflight/test_get_git_repo_root.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/preflight/test_perform_auto_setup.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/preflight/test_preflightresult.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/config → agentic_devtools-0.2.17/tests/unit/cli/workflows/worktree_setup}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test__detect_git_root.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test__run_auto_execute_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test__setup_worktree_from_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_pr_review.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test__wait_for_prompt_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_check_worktree_exists.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_create_placeholder_and_setup_worktree.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_create_placeholder_issue.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_create_worktree.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_find_workspace_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_generate_workflow_branch_name.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_get_ai_agent_continuation_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_get_current_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_get_main_repo_root.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_get_repos_parent_dir.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_get_worktree_continuation_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_inject_git_path_settings.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_is_in_worktree.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_is_vscode_available.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_open_vscode_workspace.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_placeholderissueresult.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_run_worktree_setup_script.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_setup_worktree_environment.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_setup_worktree_in_background_sync.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_start_worktree_setup_background.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_switch_to_main_branch.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/cli/workflows/worktree_setup/test_worktreesetupresult.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/file_locking → agentic_devtools-0.2.17/tests/unit/config}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/config/test_load_repo_config.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/config/test_load_review_focus_areas.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/conftest.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/prompts → agentic_devtools-0.2.17/tests/unit/file_locking}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_cross_platform_behavior.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_file_lock_error.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_lock_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_lock_functions.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_locked_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_locked_file_edge_cases.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_locked_state_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_unix_file_locking.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_unlock_file.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/file_locking/test_windows_file_locking.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/prompts/loader → agentic_devtools-0.2.17/tests/unit/prompts}/__init__.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/state → agentic_devtools-0.2.17/tests/unit/prompts/loader}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_get_prompts_dir.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_get_required_variables.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_get_temp_output_dir.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_get_template_filename.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_get_template_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_load_and_render_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_load_prompt_template.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_log_prompt_with_save_notice.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_pr_review_initiate_prompt_rendering.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_save_generated_prompt.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_silentundefined.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_substitute_variables.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_substitute_variables_syntax_error.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_template_validation_error.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/prompts/loader/test_validate_template_variables.py +0 -0
- {agentic_devtools-0.2.15/tests/unit/task_state → agentic_devtools-0.2.17/tests/unit/state}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_clear_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_clear_temp_folder.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_clear_workflow_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_delete_value.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_all_keys.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_pull_request_id.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_pypi_dry_run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_pypi_package_name.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_pypi_repository.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_pypi_version.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_state_dir.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_state_file_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_thread_id.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_value.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_get_workflow_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_is_dry_run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_is_workflow_active.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_load_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_load_state_locked.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_save_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_save_state_locked.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_context_value.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_dry_run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_pull_request_id.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_pypi_dry_run.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_pypi_package_name.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_pypi_repository.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_pypi_version.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_resolve_thread.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_thread_id.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_value.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_set_workflow_state.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_should_resolve_thread.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_update_workflow_context.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_update_workflow_step.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/state/test_workflow_state_integration.py +0 -0
- {agentic_devtools-0.2.15/tests/workflows → agentic_devtools-0.2.17/tests/unit/task_state}/__init__.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test__update_task_in_all_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_add_task.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_background_task.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_cleanup_expired_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_duration_seconds.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_from_dict_invalid_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_active_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_all_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_all_tasks_file_path.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_background_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_background_tasks_dir.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_failed_most_recent_per_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_incomplete_most_recent_per_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_logs_dir.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_most_recent_tasks_per_command.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_other_incomplete_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_recent_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_task_by_id.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_task_from_all_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_get_tasks_by_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_is_expired.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_print_task_tracking_info.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_remove_task.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_save_background_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_sort_tasks.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_task_lifecycle.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_task_status.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/unit/task_state/test_update_task.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/vpn/test_vpn_commands.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/vpn/test_vpn_runner.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/workflows/conftest.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/tests/workflows/test_workflow_end_to_end.py +0 -0
- {agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/trigger.txt +0 -0
|
@@ -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.17'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 2, 17)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Shared SSL certificate utilities for agentic-devtools.
|
|
3
|
+
|
|
4
|
+
Fetches and caches corporate CA certificate chains so that ``requests``
|
|
5
|
+
calls succeed on corporate networks where a proxy re-signs TLS connections
|
|
6
|
+
with a custom CA certificate.
|
|
7
|
+
|
|
8
|
+
Certificates are cached in ``~/.agdt/certs/<hostname>.pem`` and only
|
|
9
|
+
re-fetched when the cached file is missing or empty.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
import os
|
|
13
|
+
import re
|
|
14
|
+
import socket
|
|
15
|
+
import ssl
|
|
16
|
+
import subprocess
|
|
17
|
+
from pathlib import Path
|
|
18
|
+
from typing import Optional, Union
|
|
19
|
+
|
|
20
|
+
from agentic_devtools.cli.subprocess_utils import run_safe
|
|
21
|
+
|
|
22
|
+
# Default directory for cached CA bundles
|
|
23
|
+
_CERTS_DIR = Path.home() / ".agdt" / "certs"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def fetch_certificate_chain_openssl(hostname: str, port: int = 443) -> Optional[str]:
|
|
27
|
+
"""Fetch the SSL certificate chain from *hostname* using ``openssl s_client``.
|
|
28
|
+
|
|
29
|
+
Returns the full chain (all certificates) as a PEM string, or ``None``
|
|
30
|
+
if ``openssl`` is unavailable or the connection fails.
|
|
31
|
+
|
|
32
|
+
Args:
|
|
33
|
+
hostname: The server hostname.
|
|
34
|
+
port: The server port (default 443).
|
|
35
|
+
|
|
36
|
+
Returns:
|
|
37
|
+
PEM-encoded certificate chain string, or ``None`` on failure.
|
|
38
|
+
"""
|
|
39
|
+
try:
|
|
40
|
+
result = run_safe(
|
|
41
|
+
[
|
|
42
|
+
"openssl",
|
|
43
|
+
"s_client",
|
|
44
|
+
"-showcerts",
|
|
45
|
+
"-servername",
|
|
46
|
+
hostname,
|
|
47
|
+
"-connect",
|
|
48
|
+
f"{hostname}:{port}",
|
|
49
|
+
],
|
|
50
|
+
input=b"",
|
|
51
|
+
capture_output=True,
|
|
52
|
+
timeout=10,
|
|
53
|
+
shell=False,
|
|
54
|
+
)
|
|
55
|
+
output = result.stdout.decode("utf-8", errors="ignore")
|
|
56
|
+
cert_pattern = r"-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----"
|
|
57
|
+
certs = re.findall(cert_pattern, output, re.DOTALL)
|
|
58
|
+
if certs:
|
|
59
|
+
return "\n".join(certs)
|
|
60
|
+
except (subprocess.TimeoutExpired, FileNotFoundError, OSError, subprocess.SubprocessError):
|
|
61
|
+
pass
|
|
62
|
+
except Exception: # noqa: BLE001 — cert fetch must not crash setup
|
|
63
|
+
pass
|
|
64
|
+
return None
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def fetch_certificate_chain_ssl(hostname: str, port: int = 443) -> Optional[str]:
|
|
68
|
+
"""Fetch the SSL certificate from *hostname* using Python's :mod:`ssl` module.
|
|
69
|
+
|
|
70
|
+
This is a fallback for when ``openssl`` is not available. Note that the
|
|
71
|
+
:mod:`ssl` module can only retrieve the server certificate, **not** the
|
|
72
|
+
full chain.
|
|
73
|
+
|
|
74
|
+
Args:
|
|
75
|
+
hostname: The server hostname.
|
|
76
|
+
port: The server port (default 443).
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
PEM-encoded certificate string, or ``None`` on failure.
|
|
80
|
+
"""
|
|
81
|
+
try:
|
|
82
|
+
# Intentionally disable SSL verification here: we must fetch the certificate
|
|
83
|
+
# chain *before* we can trust it. The chain is only used as a CA bundle for
|
|
84
|
+
# subsequent requests — never to authenticate the connection where it was fetched.
|
|
85
|
+
context = ssl.create_default_context()
|
|
86
|
+
context.check_hostname = False
|
|
87
|
+
context.verify_mode = ssl.CERT_NONE # noqa: S501
|
|
88
|
+
|
|
89
|
+
with socket.create_connection((hostname, port), timeout=10) as sock:
|
|
90
|
+
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
|
|
91
|
+
cert_der = ssock.getpeercert(binary_form=True)
|
|
92
|
+
if cert_der:
|
|
93
|
+
return ssl.DER_cert_to_PEM_cert(cert_der)
|
|
94
|
+
except Exception: # pragma: no cover
|
|
95
|
+
pass
|
|
96
|
+
|
|
97
|
+
return None # pragma: no cover
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def count_certificates_in_pem(pem_content: str) -> int:
|
|
101
|
+
"""Return the number of ``BEGIN CERTIFICATE`` blocks in *pem_content*."""
|
|
102
|
+
return pem_content.count("-----BEGIN CERTIFICATE-----")
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def ensure_ca_bundle(
|
|
106
|
+
hostname: str,
|
|
107
|
+
cache_file: Optional[Path] = None,
|
|
108
|
+
) -> Optional[str]:
|
|
109
|
+
"""Ensure a CA bundle PEM file exists for *hostname* and return its path.
|
|
110
|
+
|
|
111
|
+
The certificate chain is fetched exactly once and cached. Subsequent
|
|
112
|
+
calls return the cached path immediately when the cache contains at
|
|
113
|
+
least one certificate — even if only the server cert was available.
|
|
114
|
+
|
|
115
|
+
On the *first* fetch the function prefers ``openssl`` (which usually
|
|
116
|
+
retrieves the full chain including the root CA). If ``openssl``
|
|
117
|
+
fails to return any certificates, the :mod:`ssl` module is used as a
|
|
118
|
+
fallback to obtain at least the server certificate.
|
|
119
|
+
|
|
120
|
+
All certificate fetching targets port 443 (standard HTTPS). For
|
|
121
|
+
non-standard ports, use :func:`fetch_certificate_chain_openssl` or
|
|
122
|
+
:func:`fetch_certificate_chain_ssl` directly.
|
|
123
|
+
|
|
124
|
+
Args:
|
|
125
|
+
hostname: Server hostname to fetch certificates from.
|
|
126
|
+
cache_file: Explicit path to store the PEM file. Defaults to
|
|
127
|
+
``~/.agdt/certs/<hostname>.pem``.
|
|
128
|
+
|
|
129
|
+
Returns:
|
|
130
|
+
Absolute path to the cached PEM file, or ``None`` if fetching failed.
|
|
131
|
+
"""
|
|
132
|
+
if cache_file is None:
|
|
133
|
+
# Sanitize hostname to prevent path traversal (e.g. "../" in hostname).
|
|
134
|
+
safe_name = re.sub(r"[^\w.\-]", "_", hostname)
|
|
135
|
+
cache_file = _CERTS_DIR / f"{safe_name}.pem"
|
|
136
|
+
cache_file = cache_file.expanduser().resolve()
|
|
137
|
+
|
|
138
|
+
# Return cached file when it already contains at least one certificate.
|
|
139
|
+
# We accept single-cert caches to avoid re-fetching on every call for
|
|
140
|
+
# hosts that only ever yield one cert (e.g. ssl-module fallback).
|
|
141
|
+
if cache_file.exists():
|
|
142
|
+
try:
|
|
143
|
+
existing = cache_file.read_text(encoding="utf-8")
|
|
144
|
+
except (OSError, UnicodeDecodeError):
|
|
145
|
+
# Treat unreadable or undecodable cache as missing and refetch.
|
|
146
|
+
existing = ""
|
|
147
|
+
if count_certificates_in_pem(existing) >= 1:
|
|
148
|
+
return str(cache_file)
|
|
149
|
+
|
|
150
|
+
# Prefer openssl — it retrieves the full chain including the root CA
|
|
151
|
+
cert_chain = fetch_certificate_chain_openssl(hostname)
|
|
152
|
+
if cert_chain and count_certificates_in_pem(cert_chain) >= 2:
|
|
153
|
+
cache_file.parent.mkdir(parents=True, exist_ok=True)
|
|
154
|
+
cache_file.write_text(cert_chain, encoding="utf-8")
|
|
155
|
+
return str(cache_file)
|
|
156
|
+
|
|
157
|
+
# Fallback: ssl module (server cert only — may not work as a CA bundle)
|
|
158
|
+
if not cert_chain:
|
|
159
|
+
cert_chain = fetch_certificate_chain_ssl(hostname)
|
|
160
|
+
|
|
161
|
+
if cert_chain:
|
|
162
|
+
cache_file.parent.mkdir(parents=True, exist_ok=True)
|
|
163
|
+
cache_file.write_text(cert_chain, encoding="utf-8")
|
|
164
|
+
return str(cache_file)
|
|
165
|
+
|
|
166
|
+
return None
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def get_ssl_verify(hostname: str) -> Union[bool, str]:
|
|
170
|
+
"""Return the ``verify`` argument for :func:`requests.get` when connecting to *hostname*.
|
|
171
|
+
|
|
172
|
+
Priority:
|
|
173
|
+
1. ``REQUESTS_CA_BUNDLE`` environment variable (if set and file exists).
|
|
174
|
+
2. Cached CA bundle at ``~/.agdt/certs/<hostname>.pem``, fetched on
|
|
175
|
+
demand if not present.
|
|
176
|
+
3. ``True`` — fall back to the system default CA bundle.
|
|
177
|
+
|
|
178
|
+
Args:
|
|
179
|
+
hostname: The target server hostname.
|
|
180
|
+
|
|
181
|
+
Returns:
|
|
182
|
+
Path to a CA bundle file, or ``True`` to use the system CA bundle.
|
|
183
|
+
"""
|
|
184
|
+
ca_bundle = os.environ.get("REQUESTS_CA_BUNDLE")
|
|
185
|
+
if ca_bundle:
|
|
186
|
+
normalized = os.path.abspath(os.path.expanduser(os.path.expandvars(ca_bundle)))
|
|
187
|
+
if os.path.exists(normalized):
|
|
188
|
+
return normalized
|
|
189
|
+
|
|
190
|
+
pem_path = ensure_ca_bundle(hostname)
|
|
191
|
+
if pem_path:
|
|
192
|
+
return pem_path
|
|
193
|
+
|
|
194
|
+
return True
|
|
@@ -186,33 +186,35 @@ def _get_log_file_path(session_id: str, start_time: str) -> Path:
|
|
|
186
186
|
return state_dir / _LOG_DIR_NAME / filename
|
|
187
187
|
|
|
188
188
|
|
|
189
|
-
def _build_copilot_args(prompt: str,
|
|
189
|
+
def _build_copilot_args(prompt: str, *, interactive: bool = True) -> Optional[list[str]]:
|
|
190
190
|
"""Build the copilot argument list.
|
|
191
191
|
|
|
192
192
|
Uses the standalone ``copilot`` binary when available (preferred), falling
|
|
193
193
|
back to the ``gh copilot`` extension for backward compatibility.
|
|
194
194
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
returned so the caller can use a fallback.
|
|
195
|
+
Neither the standalone binary nor the ``gh copilot`` extension supports
|
|
196
|
+
``--file``. The standalone binary accepts the prompt via ``-p``/``--prompt``
|
|
197
|
+
for non-interactive use and ``-i`` for interactive use, while the
|
|
198
|
+
``gh copilot`` extension accepts the prompt as a positional ``[subject]``
|
|
199
|
+
argument. When the prompt exceeds :data:`_MAX_GH_COPILOT_ARGV_LENGTH`,
|
|
200
|
+
``None`` is returned so the caller can use a fallback.
|
|
201
201
|
|
|
202
202
|
Args:
|
|
203
|
-
prompt: The full prompt text
|
|
204
|
-
|
|
205
|
-
|
|
203
|
+
prompt: The full prompt text to pass to the copilot command.
|
|
204
|
+
interactive: When ``True`` (default) the standalone binary receives
|
|
205
|
+
``-i``; when ``False`` it receives ``-p``. Ignored for the
|
|
206
|
+
``gh copilot`` extension path which always uses a positional arg.
|
|
206
207
|
|
|
207
208
|
Returns:
|
|
208
209
|
List of strings suitable for :func:`subprocess.Popen`, or ``None``
|
|
209
|
-
when the prompt is too large for the
|
|
210
|
+
when the prompt is too large for the argv path.
|
|
210
211
|
"""
|
|
211
|
-
standalone = _get_copilot_binary()
|
|
212
|
-
if standalone:
|
|
213
|
-
return [standalone, "suggest", "--file", prompt_file]
|
|
214
212
|
if len(prompt) > _MAX_GH_COPILOT_ARGV_LENGTH:
|
|
215
213
|
return None
|
|
214
|
+
standalone = _get_copilot_binary()
|
|
215
|
+
if standalone:
|
|
216
|
+
flag = "-i" if interactive else "-p"
|
|
217
|
+
return [standalone, "suggest", flag, prompt]
|
|
216
218
|
return ["gh", "copilot", "suggest", prompt]
|
|
217
219
|
|
|
218
220
|
|
|
@@ -264,11 +266,19 @@ def start_copilot_session(
|
|
|
264
266
|
|
|
265
267
|
Behaviour:
|
|
266
268
|
- Generates (or reuses) a unique session ID.
|
|
267
|
-
- Writes *prompt* to a temporary file
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
269
|
+
- Writes *prompt* to a temporary file for persistence and manual
|
|
270
|
+
reuse. The prompt is passed directly as a CLI argument to the
|
|
271
|
+
Copilot process; when it exceeds safe argv-length limits it is
|
|
272
|
+
printed to stdout instead.
|
|
273
|
+
- Starts ``copilot suggest <prompt>`` (standalone binary) or
|
|
274
|
+
``gh copilot suggest <prompt>`` (extension fallback).
|
|
275
|
+
|
|
276
|
+
.. note::
|
|
277
|
+
|
|
278
|
+
The prompt text is visible in the child-process command line
|
|
279
|
+
(e.g. Task Manager / ``ps`` output). Neither the standalone
|
|
280
|
+
binary nor the ``gh copilot`` extension currently supports
|
|
281
|
+
receiving the prompt via stdin or a file flag.
|
|
272
282
|
- In **interactive** mode the child process inherits the current
|
|
273
283
|
terminal (stdin / stdout / stderr), so the user can interact with
|
|
274
284
|
it directly. This call blocks until the interactive session ends.
|
|
@@ -328,13 +338,13 @@ def start_copilot_session(
|
|
|
328
338
|
return result
|
|
329
339
|
|
|
330
340
|
# --- Build command -------------------------------------------------------
|
|
331
|
-
args = _build_copilot_args(prompt,
|
|
341
|
+
args = _build_copilot_args(prompt, interactive=interactive)
|
|
332
342
|
|
|
333
|
-
# When the prompt is too large for
|
|
334
|
-
#
|
|
343
|
+
# When the prompt is too large for safe argv passing, fall back to
|
|
344
|
+
# printing the prompt. This applies regardless of binary variant.
|
|
335
345
|
if args is None:
|
|
336
346
|
warnings.warn(
|
|
337
|
-
"Prompt too large for
|
|
347
|
+
"Prompt too large for copilot argv; printing prompt to stdout as fallback.",
|
|
338
348
|
stacklevel=2,
|
|
339
349
|
)
|
|
340
350
|
_print_fallback_prompt(prompt)
|
|
@@ -3,15 +3,19 @@ Jira utility helpers: request handling, SSL, parsing.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
|
-
import re
|
|
7
|
-
import socket
|
|
8
|
-
import ssl
|
|
9
|
-
import subprocess
|
|
10
6
|
import warnings
|
|
11
7
|
from pathlib import Path
|
|
12
8
|
from typing import Any, List, Optional, Union
|
|
13
9
|
|
|
14
|
-
from agentic_devtools.cli.
|
|
10
|
+
from agentic_devtools.cli.cert_utils import (
|
|
11
|
+
count_certificates_in_pem as _count_certificates_in_pem,
|
|
12
|
+
)
|
|
13
|
+
from agentic_devtools.cli.cert_utils import (
|
|
14
|
+
fetch_certificate_chain_openssl as _fetch_certificate_chain_openssl,
|
|
15
|
+
)
|
|
16
|
+
from agentic_devtools.cli.cert_utils import (
|
|
17
|
+
fetch_certificate_chain_ssl as _fetch_certificate_chain_ssl,
|
|
18
|
+
)
|
|
15
19
|
from agentic_devtools.state import get_state_dir
|
|
16
20
|
|
|
17
21
|
|
|
@@ -69,84 +73,6 @@ def _get_temp_jira_pem_path() -> Path:
|
|
|
69
73
|
return state_dir / "jira_ca_bundle.pem"
|
|
70
74
|
|
|
71
75
|
|
|
72
|
-
def _fetch_certificate_chain_openssl(hostname: str, port: int = 443) -> Optional[str]:
|
|
73
|
-
"""
|
|
74
|
-
Fetch the SSL certificate chain from a server using openssl command.
|
|
75
|
-
|
|
76
|
-
Args:
|
|
77
|
-
hostname: The server hostname
|
|
78
|
-
port: The server port (default 443)
|
|
79
|
-
|
|
80
|
-
Returns:
|
|
81
|
-
PEM-encoded certificate chain string, or None if failed
|
|
82
|
-
"""
|
|
83
|
-
try:
|
|
84
|
-
# Use openssl s_client to get the full certificate chain
|
|
85
|
-
result = run_safe(
|
|
86
|
-
[
|
|
87
|
-
"openssl",
|
|
88
|
-
"s_client",
|
|
89
|
-
"-showcerts",
|
|
90
|
-
"-servername",
|
|
91
|
-
hostname,
|
|
92
|
-
"-connect",
|
|
93
|
-
f"{hostname}:{port}",
|
|
94
|
-
],
|
|
95
|
-
input=b"",
|
|
96
|
-
capture_output=True,
|
|
97
|
-
timeout=10,
|
|
98
|
-
)
|
|
99
|
-
|
|
100
|
-
output = result.stdout.decode("utf-8", errors="ignore")
|
|
101
|
-
|
|
102
|
-
# Extract all certificates from the output
|
|
103
|
-
cert_pattern = r"-----BEGIN CERTIFICATE-----.*?-----END CERTIFICATE-----"
|
|
104
|
-
certs = re.findall(cert_pattern, output, re.DOTALL)
|
|
105
|
-
|
|
106
|
-
if certs:
|
|
107
|
-
return "\n".join(certs)
|
|
108
|
-
|
|
109
|
-
except (subprocess.TimeoutExpired, FileNotFoundError, Exception):
|
|
110
|
-
pass
|
|
111
|
-
|
|
112
|
-
return None
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
def _fetch_certificate_chain_ssl(hostname: str, port: int = 443) -> Optional[str]:
|
|
116
|
-
"""
|
|
117
|
-
Fetch SSL certificate using Python's ssl module (fallback if openssl not available).
|
|
118
|
-
|
|
119
|
-
Note: This only gets the server certificate, not the full chain.
|
|
120
|
-
|
|
121
|
-
Args:
|
|
122
|
-
hostname: The server hostname
|
|
123
|
-
port: The server port (default 443)
|
|
124
|
-
|
|
125
|
-
Returns:
|
|
126
|
-
PEM-encoded certificate string, or None if failed
|
|
127
|
-
"""
|
|
128
|
-
try:
|
|
129
|
-
context = ssl.create_default_context()
|
|
130
|
-
context.check_hostname = False
|
|
131
|
-
context.verify_mode = ssl.CERT_NONE
|
|
132
|
-
|
|
133
|
-
with socket.create_connection((hostname, port), timeout=10) as sock:
|
|
134
|
-
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
|
|
135
|
-
cert_der = ssock.getpeercert(binary_form=True)
|
|
136
|
-
if cert_der:
|
|
137
|
-
cert_pem = ssl.DER_cert_to_PEM_cert(cert_der)
|
|
138
|
-
return cert_pem
|
|
139
|
-
except Exception: # pragma: no cover
|
|
140
|
-
pass
|
|
141
|
-
|
|
142
|
-
return None # pragma: no cover
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
def _count_certificates_in_pem(pem_content: str) -> int:
|
|
146
|
-
"""Count the number of certificates in a PEM file content."""
|
|
147
|
-
return pem_content.count("-----BEGIN CERTIFICATE-----")
|
|
148
|
-
|
|
149
|
-
|
|
150
76
|
def _ensure_jira_pem(hostname: str = "jira.swica.ch") -> Optional[str]:
|
|
151
77
|
"""
|
|
152
78
|
Ensure the Jira CA bundle PEM file exists with a complete certificate chain.
|
|
@@ -11,6 +11,8 @@ Entry points:
|
|
|
11
11
|
import sys
|
|
12
12
|
from pathlib import Path
|
|
13
13
|
|
|
14
|
+
from agentic_devtools.cli.cert_utils import ensure_ca_bundle as _ensure_ca_bundle
|
|
15
|
+
|
|
14
16
|
from .copilot_cli_installer import install_copilot_cli
|
|
15
17
|
from .dependency_checker import check_all_dependencies, print_dependency_report
|
|
16
18
|
from .gh_cli_installer import install_gh_cli
|
|
@@ -33,6 +35,55 @@ _PATH_INSTRUCTIONS = (
|
|
|
33
35
|
)
|
|
34
36
|
|
|
35
37
|
|
|
38
|
+
def _prefetch_certs() -> None:
|
|
39
|
+
"""Pre-fetch and cache corporate CA certificates for common setup hosts.
|
|
40
|
+
|
|
41
|
+
Fetches the certificate chain for external hosts used during setup and
|
|
42
|
+
stores the PEM bundles in ``~/.agdt/certs/``. Also writes an
|
|
43
|
+
``~/.agdt/npmrc`` file that configures npm to use the cached CA bundle
|
|
44
|
+
for ``registry.npmjs.org``, enabling npm installs on corporate networks.
|
|
45
|
+
|
|
46
|
+
The cert cache only needs to be refreshed infrequently (e.g. yearly).
|
|
47
|
+
To force a refresh, delete ``~/.agdt/certs/``.
|
|
48
|
+
"""
|
|
49
|
+
print("Fetching CA certificates for external hosts...")
|
|
50
|
+
|
|
51
|
+
# Hosts used by the CLI installers — store api.github.com result for pip hint below
|
|
52
|
+
gh_pem = None
|
|
53
|
+
for hostname in ("api.github.com", "github.com"):
|
|
54
|
+
pem = _ensure_ca_bundle(hostname)
|
|
55
|
+
if hostname == "api.github.com":
|
|
56
|
+
gh_pem = pem
|
|
57
|
+
if pem:
|
|
58
|
+
print(f" ✓ CA bundle cached for {hostname}")
|
|
59
|
+
else:
|
|
60
|
+
print(f" ⚠ Could not cache CA bundle for {hostname}; will try system CA")
|
|
61
|
+
|
|
62
|
+
# npm registry — write cafile to ~/.agdt/npmrc so npm works on corporate networks
|
|
63
|
+
npm_pem = _ensure_ca_bundle("registry.npmjs.org")
|
|
64
|
+
if npm_pem:
|
|
65
|
+
npmrc_path = Path.home() / ".agdt" / "npmrc"
|
|
66
|
+
npmrc_path.parent.mkdir(parents=True, exist_ok=True)
|
|
67
|
+
npmrc_path.write_text(f"cafile={npm_pem}\n", encoding="utf-8")
|
|
68
|
+
print(" ✓ CA bundle cached for registry.npmjs.org")
|
|
69
|
+
print(" ✓ npm CA config written to ~/.agdt/npmrc")
|
|
70
|
+
print(" ℹ To apply:")
|
|
71
|
+
print(" # bash/zsh:")
|
|
72
|
+
print(' export NPM_CONFIG_USERCONFIG="$HOME/.agdt/npmrc"')
|
|
73
|
+
print(" # PowerShell:")
|
|
74
|
+
print(' $env:NPM_CONFIG_USERCONFIG = "$env:USERPROFILE\\.agdt\\npmrc"')
|
|
75
|
+
else:
|
|
76
|
+
print(" ⚠ Could not cache CA bundle for registry.npmjs.org; will try system CA")
|
|
77
|
+
|
|
78
|
+
# Print pip CA instructions (pip respects REQUESTS_CA_BUNDLE or PIP_CERT)
|
|
79
|
+
if gh_pem:
|
|
80
|
+
print(" ℹ For pip/requests:")
|
|
81
|
+
print(" # bash/zsh:")
|
|
82
|
+
print(f' export REQUESTS_CA_BUNDLE="{gh_pem}"')
|
|
83
|
+
print(" # PowerShell:")
|
|
84
|
+
print(f' $env:REQUESTS_CA_BUNDLE = "{gh_pem}"')
|
|
85
|
+
|
|
86
|
+
|
|
36
87
|
def _print_path_instructions_if_needed() -> None:
|
|
37
88
|
"""Print PATH setup instructions when ``~/.agdt/bin`` is not on the PATH."""
|
|
38
89
|
import os
|
|
@@ -54,6 +105,9 @@ def setup_cmd() -> None:
|
|
|
54
105
|
print(_BANNER)
|
|
55
106
|
print()
|
|
56
107
|
|
|
108
|
+
_prefetch_certs()
|
|
109
|
+
print()
|
|
110
|
+
|
|
57
111
|
copilot_ok = install_copilot_cli()
|
|
58
112
|
print()
|
|
59
113
|
gh_ok = install_gh_cli()
|
|
@@ -20,6 +20,8 @@ from urllib.parse import urlparse
|
|
|
20
20
|
|
|
21
21
|
import requests
|
|
22
22
|
|
|
23
|
+
from agentic_devtools.cli.cert_utils import get_ssl_verify as _get_ssl_verify
|
|
24
|
+
|
|
23
25
|
# ---------------------------------------------------------------------------
|
|
24
26
|
# Constants
|
|
25
27
|
# ---------------------------------------------------------------------------
|
|
@@ -77,7 +79,7 @@ def get_latest_release_info() -> Dict[str, Any]:
|
|
|
77
79
|
Raises:
|
|
78
80
|
requests.RequestException: On network or HTTP errors.
|
|
79
81
|
"""
|
|
80
|
-
response = requests.get(_RELEASES_URL, timeout=30)
|
|
82
|
+
response = requests.get(_RELEASES_URL, timeout=30, verify=_get_ssl_verify("api.github.com"))
|
|
81
83
|
response.raise_for_status()
|
|
82
84
|
result: Dict[str, Any] = response.json()
|
|
83
85
|
return result
|
|
@@ -164,7 +166,7 @@ def download_and_install(version: str, asset_url: str, asset_name: str) -> bool:
|
|
|
164
166
|
dest = _INSTALL_DIR / _BINARY_NAME
|
|
165
167
|
|
|
166
168
|
try:
|
|
167
|
-
response = requests.get(asset_url, timeout=120, stream=True)
|
|
169
|
+
response = requests.get(asset_url, timeout=120, stream=True, verify=_get_ssl_verify("github.com"))
|
|
168
170
|
response.raise_for_status()
|
|
169
171
|
asset_bytes = b"".join(response.iter_content(chunk_size=65536))
|
|
170
172
|
except requests.RequestException as exc:
|
{agentic_devtools-0.2.15 → agentic_devtools-0.2.17}/agentic_devtools/cli/setup/gh_cli_installer.py
RENAMED
|
@@ -18,6 +18,8 @@ from urllib.parse import urlparse
|
|
|
18
18
|
|
|
19
19
|
import requests
|
|
20
20
|
|
|
21
|
+
from agentic_devtools.cli.cert_utils import get_ssl_verify as _get_ssl_verify
|
|
22
|
+
|
|
21
23
|
# ---------------------------------------------------------------------------
|
|
22
24
|
# Constants
|
|
23
25
|
# ---------------------------------------------------------------------------
|
|
@@ -75,7 +77,7 @@ def get_latest_release_info() -> Dict[str, Any]:
|
|
|
75
77
|
Raises:
|
|
76
78
|
requests.RequestException: On network or HTTP errors.
|
|
77
79
|
"""
|
|
78
|
-
response = requests.get(_RELEASES_URL, timeout=30)
|
|
80
|
+
response = requests.get(_RELEASES_URL, timeout=30, verify=_get_ssl_verify("api.github.com"))
|
|
79
81
|
response.raise_for_status()
|
|
80
82
|
result: Dict[str, Any] = response.json()
|
|
81
83
|
return result
|
|
@@ -172,7 +174,7 @@ def download_and_install(version: str, asset_url: str, asset_name: str) -> bool:
|
|
|
172
174
|
import zipfile
|
|
173
175
|
|
|
174
176
|
try:
|
|
175
|
-
response = requests.get(asset_url, timeout=120, stream=True)
|
|
177
|
+
response = requests.get(asset_url, timeout=120, stream=True, verify=_get_ssl_verify("github.com"))
|
|
176
178
|
response.raise_for_status()
|
|
177
179
|
|
|
178
180
|
with tempfile.TemporaryDirectory() as tmp_dir:
|
|
@@ -209,7 +211,11 @@ def download_and_install(version: str, asset_url: str, asset_name: str) -> bool:
|
|
|
209
211
|
extracted = False
|
|
210
212
|
for name in zf.namelist():
|
|
211
213
|
normalized = name.replace("\\", "/")
|
|
212
|
-
if
|
|
214
|
+
if (
|
|
215
|
+
normalized.endswith("/bin/gh")
|
|
216
|
+
or normalized.endswith("/bin/gh.exe")
|
|
217
|
+
or normalized in ("gh", "gh.exe")
|
|
218
|
+
):
|
|
213
219
|
data = zf.read(name)
|
|
214
220
|
dest.write_bytes(data)
|
|
215
221
|
extracted = True
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"""Tests for count_certificates_in_pem."""
|
|
2
|
+
|
|
3
|
+
from agentic_devtools.cli import cert_utils
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TestCountCertificatesInPem:
|
|
7
|
+
"""Tests for count_certificates_in_pem."""
|
|
8
|
+
|
|
9
|
+
def test_returns_zero_for_empty_string(self):
|
|
10
|
+
"""Returns 0 for an empty string."""
|
|
11
|
+
assert cert_utils.count_certificates_in_pem("") == 0
|
|
12
|
+
|
|
13
|
+
def test_returns_one_for_single_cert(self):
|
|
14
|
+
"""Returns 1 when there is one certificate block."""
|
|
15
|
+
pem = "-----BEGIN CERTIFICATE-----\ndata\n-----END CERTIFICATE-----"
|
|
16
|
+
assert cert_utils.count_certificates_in_pem(pem) == 1
|
|
17
|
+
|
|
18
|
+
def test_returns_two_for_full_chain(self):
|
|
19
|
+
"""Returns 2 for a two-certificate chain."""
|
|
20
|
+
pem = (
|
|
21
|
+
"-----BEGIN CERTIFICATE-----\nserver\n-----END CERTIFICATE-----\n"
|
|
22
|
+
"-----BEGIN CERTIFICATE-----\nca\n-----END CERTIFICATE-----"
|
|
23
|
+
)
|
|
24
|
+
assert cert_utils.count_certificates_in_pem(pem) == 2
|
|
25
|
+
|
|
26
|
+
def test_returns_three_for_three_certs(self):
|
|
27
|
+
"""Returns 3 for a three-certificate chain."""
|
|
28
|
+
block = "-----BEGIN CERTIFICATE-----\ndata\n-----END CERTIFICATE-----\n"
|
|
29
|
+
assert cert_utils.count_certificates_in_pem(block * 3) == 3
|