agentic-devtools 0.2.2__tar.gz → 0.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/test.yml +4 -0
  2. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/PKG-INFO +252 -10
  3. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/README.md +251 -9
  4. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/_version.py +2 -2
  5. agentic_devtools-0.2.4/agentic_devtools/cli/azure_context/__init__.py +29 -0
  6. agentic_devtools-0.2.4/agentic_devtools/cli/azure_context/commands.py +134 -0
  7. agentic_devtools-0.2.4/agentic_devtools/cli/azure_context/config.py +71 -0
  8. agentic_devtools-0.2.4/agentic_devtools/cli/azure_context/management.py +233 -0
  9. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/__init__.py +10 -0
  10. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/async_commands.py +284 -10
  11. agentic_devtools-0.2.4/agentic_devtools/cli/network/__init__.py +20 -0
  12. agentic_devtools-0.2.4/agentic_devtools/cli/network/commands.py +27 -0
  13. agentic_devtools-0.2.4/agentic_devtools/cli/network/detection.py +93 -0
  14. agentic_devtools-0.2.4/agentic_devtools/cli/vpn/__init__.py +15 -0
  15. agentic_devtools-0.2.4/agentic_devtools/cli/vpn/commands.py +85 -0
  16. agentic_devtools-0.2.4/agentic_devtools/cli/vpn/runner.py +199 -0
  17. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/dispatcher.py +50 -5
  18. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/pyproject.toml +11 -0
  19. agentic_devtools-0.2.4/scripts/validate_test_structure.py +88 -0
  20. agentic_devtools-0.2.4/tests/README.md +53 -0
  21. agentic_devtools-0.2.4/tests/azure_context/__init__.py +3 -0
  22. agentic_devtools-0.2.4/tests/azure_context/test_commands.py +166 -0
  23. agentic_devtools-0.2.4/tests/azure_context/test_config.py +99 -0
  24. agentic_devtools-0.2.4/tests/azure_context/test_management.py +261 -0
  25. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_async_commands.py +37 -0
  26. agentic_devtools-0.2.4/tests/network/test_detection.py +134 -0
  27. agentic_devtools-0.2.4/tests/network/test_network_cli.py +64 -0
  28. agentic_devtools-0.2.4/tests/vpn/test_vpn_commands.py +90 -0
  29. agentic_devtools-0.2.4/tests/vpn/test_vpn_runner.py +110 -0
  30. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.devcontainer/README.md +0 -0
  31. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.devcontainer/devcontainer.json +0 -0
  32. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.dfly-temp/background-tasks/all-background-tasks.json +0 -0
  33. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.dfly-temp/dfly-state.json +0 -0
  34. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/MARKDOWN_LINTING.md +0 -0
  35. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/.markdownlint.json +0 -0
  36. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.apply-pr-suggestions.initiate.agent.md +0 -0
  37. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.create-jira-epic.initiate.agent.md +0 -0
  38. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.create-jira-issue.initiate.agent.md +0 -0
  39. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.create-jira-subtask.initiate.agent.md +0 -0
  40. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.pull-request-review.completion.agent.md +0 -0
  41. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.pull-request-review.decision.agent.md +0 -0
  42. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.pull-request-review.file-review.agent.md +0 -0
  43. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.pull-request-review.initiate.agent.md +0 -0
  44. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.pull-request-review.summary.agent.md +0 -0
  45. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.update-jira-issue.initiate.agent.md +0 -0
  46. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.checklist-creation.agent.md +0 -0
  47. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.commit.agent.md +0 -0
  48. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.completion.agent.md +0 -0
  49. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.implementation-review.agent.md +0 -0
  50. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.implementation.agent.md +0 -0
  51. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.initiate.agent.md +0 -0
  52. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.planning.agent.md +0 -0
  53. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.pull-request.agent.md +0 -0
  54. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.retrieve.agent.md +0 -0
  55. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.setup.agent.md +0 -0
  56. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/agdt.work-on-jira-issue.verification.agent.md +0 -0
  57. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/copilot-instructions.md +0 -0
  58. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/senior-python-developer.md +0 -0
  59. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.analyze.agent.md +0 -0
  60. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.checklist.agent.md +0 -0
  61. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.clarify.agent.md +0 -0
  62. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.constitution.agent.md +0 -0
  63. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.implement.agent.md +0 -0
  64. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.plan.agent.md +0 -0
  65. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.specify.agent.md +0 -0
  66. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.tasks.agent.md +0 -0
  67. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/agents/speckit.taskstoissues.agent.md +0 -0
  68. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/copilot-instructions.md +0 -0
  69. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/.markdownlint.json +0 -0
  70. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.apply-pr-suggestions.initiate.prompt.md +0 -0
  71. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.create-jira-epic.initiate.prompt.md +0 -0
  72. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.create-jira-issue.initiate.prompt.md +0 -0
  73. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.create-jira-subtask.initiate.prompt.md +0 -0
  74. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.pull-request-review.completion.prompt.md +0 -0
  75. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.pull-request-review.decision.prompt.md +0 -0
  76. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.pull-request-review.file-review.prompt.md +0 -0
  77. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.pull-request-review.initiate.prompt.md +0 -0
  78. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.pull-request-review.summary.prompt.md +0 -0
  79. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.update-jira-issue.initiate.prompt.md +0 -0
  80. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.checklist-creation.prompt.md +0 -0
  81. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.commit.prompt.md +0 -0
  82. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.completion.prompt.md +0 -0
  83. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.implementation-review.prompt.md +0 -0
  84. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.implementation.prompt.md +0 -0
  85. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.initiate.prompt.md +0 -0
  86. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.planning.prompt.md +0 -0
  87. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.pull-request.prompt.md +0 -0
  88. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.retrieve.prompt.md +0 -0
  89. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.setup.prompt.md +0 -0
  90. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/agdt.work-on-jira-issue.verification.prompt.md +0 -0
  91. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.analyze.prompt.md +0 -0
  92. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.checklist.prompt.md +0 -0
  93. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.clarify.prompt.md +0 -0
  94. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.constitution.prompt.md +0 -0
  95. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.implement.prompt.md +0 -0
  96. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.plan.prompt.md +0 -0
  97. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.specify.prompt.md +0 -0
  98. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.tasks.prompt.md +0 -0
  99. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/prompts/speckit.taskstoissues.prompt.md +0 -0
  100. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/check-idempotency.sh +0 -0
  101. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/create-spec-pr.sh +0 -0
  102. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/generate-spec-from-issue.sh +0 -0
  103. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/post-issue-comment.sh +0 -0
  104. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/sanitize-branch-name.sh +0 -0
  105. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/templates/.markdownlint.json +0 -0
  106. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/templates/already-processed.md +0 -0
  107. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/templates/completed.md +0 -0
  108. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/templates/failed.md +0 -0
  109. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/scripts/speckit-trigger/templates/started.md +0 -0
  110. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/README.md +0 -0
  111. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/auto-fix-on-failure.yml +0 -0
  112. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/lint.yml +0 -0
  113. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/publish.yml +0 -0
  114. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/release.yml +0 -0
  115. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/scripts/check-release-exists.sh +0 -0
  116. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/scripts/create-github-release.sh +0 -0
  117. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/scripts/create-release-packages.ps1 +0 -0
  118. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/scripts/create-release-packages.sh +0 -0
  119. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/scripts/generate-release-notes.sh +0 -0
  120. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/scripts/get-next-version.sh +0 -0
  121. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/scripts/update-version.sh +0 -0
  122. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.github/workflows/speckit-issue-trigger.yml +0 -0
  123. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.gitignore +0 -0
  124. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.markdownlint-cli2.jsonc +0 -0
  125. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.markdownlint.json +0 -0
  126. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.push-trigger +0 -0
  127. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/SDD_QUICK_REFERENCE.md +0 -0
  128. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/memory/constitution.md +0 -0
  129. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  130. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/bash/common.sh +0 -0
  131. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/bash/create-new-feature.sh +0 -0
  132. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/bash/setup-plan.sh +0 -0
  133. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/bash/update-agent-context.sh +0 -0
  134. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/powershell/check-prerequisites.ps1 +0 -0
  135. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/powershell/common.ps1 +0 -0
  136. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/powershell/create-new-feature.ps1 +0 -0
  137. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/powershell/setup-plan.ps1 +0 -0
  138. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/scripts/powershell/update-agent-context.ps1 +0 -0
  139. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/agent-file-template.md +0 -0
  140. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/checklist-template.md +0 -0
  141. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/.markdownlint.json +0 -0
  142. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/analyze.md +0 -0
  143. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/checklist.md +0 -0
  144. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/clarify.md +0 -0
  145. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/constitution.md +0 -0
  146. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/implement.md +0 -0
  147. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/plan.md +0 -0
  148. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/specify.md +0 -0
  149. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/tasks.md +0 -0
  150. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/commands/taskstoissues.md +0 -0
  151. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/plan-template.md +0 -0
  152. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/spec-template.md +0 -0
  153. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/tasks-template.md +0 -0
  154. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.specify/templates/vscode-settings.json +0 -0
  155. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/.work-folder-info +0 -0
  156. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/CHANGELOG.md +0 -0
  157. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/CONTRIBUTING.md +0 -0
  158. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/LICENSE +0 -0
  159. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/PR_DESCRIPTION.md +0 -0
  160. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/PR_INSTRUCTIONS.md +0 -0
  161. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/RELEASING.md +0 -0
  162. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/SOLUTION_SUMMARY.md +0 -0
  163. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/SPEC_DRIVEN_DEVELOPMENT.md +0 -0
  164. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agdt_ai_helpers/__init__.py +0 -0
  165. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/__init__.py +0 -0
  166. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/background_tasks.py +0 -0
  167. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/__init__.py +0 -0
  168. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure/__init__.py +0 -0
  169. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure/app_insights_commands.py +0 -0
  170. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure/auth.py +0 -0
  171. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure/config.py +0 -0
  172. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/auth.py +0 -0
  173. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/commands.py +0 -0
  174. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/config.py +0 -0
  175. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/file_review_commands.py +0 -0
  176. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/helpers.py +0 -0
  177. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/mark_reviewed.py +0 -0
  178. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/pipeline_commands.py +0 -0
  179. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/pr_summary_commands.py +0 -0
  180. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/pull_request_details_commands.py +0 -0
  181. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/review_commands.py +0 -0
  182. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/review_helpers.py +0 -0
  183. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/review_jira.py +0 -0
  184. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/review_prompts.py +0 -0
  185. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/run_details_commands.py +0 -0
  186. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/azure_devops/vpn_toggle.py +0 -0
  187. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/git/__init__.py +0 -0
  188. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/git/async_commands.py +0 -0
  189. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/git/commands.py +0 -0
  190. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/git/core.py +0 -0
  191. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/git/diff.py +0 -0
  192. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/git/operations.py +0 -0
  193. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/__init__.py +0 -0
  194. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/adf.py +0 -0
  195. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/async_commands.py +0 -0
  196. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/async_status.py +0 -0
  197. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/commands.py +0 -0
  198. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/comment_commands.py +0 -0
  199. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/config.py +0 -0
  200. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/create_commands.py +0 -0
  201. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/formatting.py +0 -0
  202. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/get_commands.py +0 -0
  203. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/helpers.py +0 -0
  204. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/parse_error_report.py +0 -0
  205. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/role_commands.py +0 -0
  206. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/state_helpers.py +0 -0
  207. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/update_commands.py +0 -0
  208. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/jira/vpn_wrapper.py +0 -0
  209. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/release/__init__.py +0 -0
  210. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/release/commands.py +0 -0
  211. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/release/helpers.py +0 -0
  212. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/runner.py +0 -0
  213. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/state.py +0 -0
  214. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/subprocess_utils.py +0 -0
  215. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/tasks/__init__.py +0 -0
  216. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/tasks/commands.py +0 -0
  217. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/testing.py +0 -0
  218. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/workflows/__init__.py +0 -0
  219. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/workflows/advancement.py +0 -0
  220. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/workflows/base.py +0 -0
  221. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/workflows/checklist.py +0 -0
  222. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/workflows/commands.py +0 -0
  223. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/workflows/manager.py +0 -0
  224. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/workflows/preflight.py +0 -0
  225. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/cli/workflows/worktree_setup.py +0 -0
  226. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/file_locking.py +0 -0
  227. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/__init__.py +0 -0
  228. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/apply-pull-request-review-suggestions/default-initiate-prompt.md +0 -0
  229. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/create-jira-epic/default-initiate-prompt.md +0 -0
  230. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/create-jira-issue/default-initiate-prompt.md +0 -0
  231. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/create-jira-subtask/default-initiate-prompt.md +0 -0
  232. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/loader.py +0 -0
  233. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/pull-request-review/default-completion-prompt.md +0 -0
  234. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/pull-request-review/default-decision-prompt.md +0 -0
  235. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/pull-request-review/default-file-review-prompt.md +0 -0
  236. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/pull-request-review/default-initiate-prompt.md +0 -0
  237. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/pull-request-review/default-summary-prompt.md +0 -0
  238. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/update-jira-issue/default-initiate-prompt.md +0 -0
  239. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-checklist-creation-prompt.md +0 -0
  240. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-commit-prompt.md +0 -0
  241. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-completion-prompt.md +0 -0
  242. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-prompt.md +0 -0
  243. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-review-prompt.md +0 -0
  244. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-initiate-prompt.md +0 -0
  245. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-planning-prompt.md +0 -0
  246. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-pull-request-prompt.md +0 -0
  247. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-retrieve-prompt.md +0 -0
  248. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-setup-prompt.md +0 -0
  249. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/prompts/work-on-jira-issue/default-verification-prompt.md +0 -0
  250. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/state.py +0 -0
  251. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/agentic_devtools/task_state.py +0 -0
  252. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/ayaiay.json +0 -0
  253. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/scripts/verify-agent-coverage.py +0 -0
  254. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-add-workflow-step-agents/checklists/requirements.md +0 -0
  255. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-add-workflow-step-agents/plan.md +0 -0
  256. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-add-workflow-step-agents/spec.md +0 -0
  257. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-add-workflow-step-agents/tasks.md +0 -0
  258. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-pypi-wheel-release/checklists/requirements.md +0 -0
  259. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-pypi-wheel-release/plan.md +0 -0
  260. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-pypi-wheel-release/spec.md +0 -0
  261. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-pypi-wheel-release/tasks.md +0 -0
  262. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-separate-docs/checklists/requirements.md +0 -0
  263. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-separate-docs/plan.md +0 -0
  264. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-separate-docs/spec.md +0 -0
  265. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/001-separate-docs/tasks.md +0 -0
  266. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/002-github-action-speckit-trigger/checklists/requirements.md +0 -0
  267. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/002-github-action-speckit-trigger/plan.md +0 -0
  268. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/002-github-action-speckit-trigger/spec.md +0 -0
  269. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/002-github-action-speckit-trigger/tasks.md +0 -0
  270. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/002-github-action-speckit-trigger/workflow-sequence-diagram.md +0 -0
  271. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/003-comprehensive-e2e-smoke-tests/checklists/requirements.md +0 -0
  272. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/003-comprehensive-e2e-smoke-tests/spec.md +0 -0
  273. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/003-e2e-smoke-tests-cli/plan.md +0 -0
  274. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/specs/README.md +0 -0
  275. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/__init__.py +0 -0
  276. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/__init__.py +0 -0
  277. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/conftest.py +0 -0
  278. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_auth.py +0 -0
  279. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_commands_api.py +0 -0
  280. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_commands_dry_run.py +0 -0
  281. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_config.py +0 -0
  282. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_file_review_commands.py +0 -0
  283. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_helpers.py +0 -0
  284. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_mark_reviewed.py +0 -0
  285. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_pipeline_commands.py +0 -0
  286. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_pr_summary_commands.py +0 -0
  287. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_pull_request_details_commands.py +0 -0
  288. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_review_commands.py +0 -0
  289. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_run_details_commands.py +0 -0
  290. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/azure_devops/test_vpn_toggle.py +0 -0
  291. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/cli/test_azure_app_insights_commands.py +0 -0
  292. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/cli/test_azure_auth.py +0 -0
  293. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/cli/test_azure_config.py +0 -0
  294. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/cli/test_runner.py +0 -0
  295. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/conftest.py +0 -0
  296. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/README.md +0 -0
  297. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/__init__.py +0 -0
  298. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/conftest.py +0 -0
  299. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/fixtures/cassettes/azure_devops_create_pr.yaml +0 -0
  300. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/fixtures/cassettes/jira_add_comment.yaml +0 -0
  301. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/fixtures/cassettes/jira_get_issue.yaml +0 -0
  302. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/test_azure_devops_commands_e2e.py +0 -0
  303. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/test_git_commands_e2e.py +0 -0
  304. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/e2e_smoke/test_jira_commands_e2e.py +0 -0
  305. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_background_tasks.py +0 -0
  306. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_checklist.py +0 -0
  307. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_checklist_commands.py +0 -0
  308. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_cli_state.py +0 -0
  309. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_dispatcher.py +0 -0
  310. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_file_locking.py +0 -0
  311. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_file_locking_platform.py +0 -0
  312. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_file_review_commands.py +0 -0
  313. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_file_review_queue_management.py +0 -0
  314. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_git_async.py +0 -0
  315. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_git_commands.py +0 -0
  316. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_git_core.py +0 -0
  317. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_git_diff.py +0 -0
  318. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_git_operations.py +0 -0
  319. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_git_utilities.py +0 -0
  320. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_jira_adf.py +0 -0
  321. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_jira_async.py +0 -0
  322. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_jira_commands.py +0 -0
  323. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_jira_config.py +0 -0
  324. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_jira_formatting.py +0 -0
  325. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_jira_helpers.py +0 -0
  326. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_jira_state.py +0 -0
  327. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_jira_update_commands.py +0 -0
  328. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_parse_error_report.py +0 -0
  329. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_preflight.py +0 -0
  330. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_prompt_loader.py +0 -0
  331. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_release_commands.py +0 -0
  332. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_release_helpers.py +0 -0
  333. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_release_integration.py +0 -0
  334. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_review_jira.py +0 -0
  335. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_review_prompts.py +0 -0
  336. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_role_commands.py +0 -0
  337. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_state.py +0 -0
  338. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_subprocess_utils.py +0 -0
  339. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_task_state.py +0 -0
  340. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_tasks_commands.py +0 -0
  341. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_testing.py +0 -0
  342. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_version.py +0 -0
  343. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_vpn_wrapper.py +0 -0
  344. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_workflow_advancement.py +0 -0
  345. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_workflow_commands.py +0 -0
  346. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_workflow_prompt.py +0 -0
  347. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_workflow_state.py +0 -0
  348. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/tests/test_worktree_setup.py +0 -0
  349. {agentic_devtools-0.2.2 → agentic_devtools-0.2.4}/trigger.txt +0 -0
@@ -36,6 +36,10 @@ jobs:
36
36
  python -m pip install --upgrade pip
37
37
  pip install -e ".[dev]"
38
38
 
39
+ - name: Validate 1:1:1 test structure
40
+ run: |
41
+ python scripts/validate_test_structure.py
42
+
39
43
  - name: Run tests with pytest
40
44
  run: |
41
45
  pytest --cov=agentic_devtools --cov-report=term-missing
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentic-devtools
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: AI assistant helper commands for the Dragonfly platform
5
5
  Author: Dragonfly Team
6
6
  License-Expression: MIT
@@ -174,39 +174,190 @@ agdt-show
174
174
 
175
175
  ## Azure DevOps Commands
176
176
 
177
+ All Azure DevOps commands support both CLI parameters and state-based execution.
178
+ Parameters passed via CLI are automatically persisted to state for reuse.
179
+
177
180
  ### Reply to PR Thread
178
181
 
179
182
  ```bash
180
- agdt-set pr_id 23046
183
+ # Option A: With CLI parameters (explicit, self-documenting)
184
+ agdt-reply-to-pull-request-thread --pull-request-id 23046 --thread-id 139474 --content "Your reply"
185
+ agdt-reply-to-pull-request-thread -p 23046 -t 139474 -c "Thanks!"
186
+
187
+ # Option B: Parameterless (uses current state)
188
+ agdt-set pull_request_id 23046
181
189
  agdt-set thread_id 139474
182
190
  agdt-set content "Your reply message"
183
- agdt-reply-to-pr-thread
191
+ agdt-reply-to-pull-request-thread
184
192
 
185
193
  # Optionally resolve the thread after replying
186
194
  agdt-set resolve_thread true
187
- agdt-reply-to-pr-thread
188
- ```text
195
+ agdt-reply-to-pull-request-thread
196
+ ```
189
197
 
190
198
  ### Add New PR Comment
191
199
 
192
200
  ```bash
193
- agdt-set pr_id 23046
201
+ # Option A: With CLI parameters (explicit)
202
+ agdt-add-pull-request-comment --pull-request-id 23046 --content "LGTM!"
203
+ agdt-add-pull-request-comment -p 23046 -c "Looks good"
204
+
205
+ # Option B: Parameterless (uses current state)
206
+ agdt-set pull_request_id 23046
194
207
  agdt-set content "Your comment"
195
- agdt-add-pr-comment
208
+ agdt-add-pull-request-comment
196
209
 
197
210
  # For file-level comment
198
211
  agdt-set path "src/example.py"
199
212
  agdt-set line 42
200
- agdt-add-pr-comment
201
- ```text
213
+ agdt-add-pull-request-comment
214
+ ```
215
+
216
+ ### Approve Pull Request
217
+
218
+ ```bash
219
+ # Option A: With CLI parameters
220
+ agdt-approve-pull-request --pull-request-id 23046 --content "Approved!"
221
+ agdt-approve-pull-request -p 23046
222
+
223
+ # Option B: Parameterless (uses current state)
224
+ agdt-set pull_request_id 23046
225
+ agdt-approve-pull-request
226
+ ```
227
+
228
+ ### Get PR Threads
229
+
230
+ ```bash
231
+ # Option A: With CLI parameter
232
+ agdt-get-pull-request-threads --pull-request-id 23046
233
+ agdt-get-pull-request-threads -p 23046
234
+
235
+ # Option B: Parameterless (uses current state)
236
+ agdt-set pull_request_id 23046
237
+ agdt-get-pull-request-threads
238
+ ```
239
+
240
+ ### Resolve Thread
241
+
242
+ ```bash
243
+ # Option A: With CLI parameters
244
+ agdt-resolve-thread --pull-request-id 23046 --thread-id 139474
245
+ agdt-resolve-thread -p 23046 -t 139474
246
+
247
+ # Option B: Parameterless (uses current state)
248
+ agdt-set pull_request_id 23046
249
+ agdt-set thread_id 139474
250
+ agdt-resolve-thread
251
+ ```
202
252
 
203
253
  ### Dry Run Mode
204
254
 
205
255
  ```bash
206
256
  agdt-set dry_run true
207
- agdt-reply-to-pr-thread # Previews without making API calls
257
+ agdt-reply-to-pull-request-thread # Previews without making API calls
258
+ ```
259
+
260
+ ## Azure Context Management
261
+
262
+ Manage multiple Azure CLI accounts (e.g., corporate account for Azure DevOps and AZA account for App Insights) without repeated `az login` / `az logout` cycles.
263
+
264
+ ### Overview
265
+
266
+ The Azure context system uses separate `AZURE_CONFIG_DIR` directories per account context. Both accounts can stay authenticated simultaneously and can be switched instantly via environment variable.
267
+
268
+ **Available Contexts:**
269
+
270
+ - `devops` - Corporate account for Azure DevOps, Service Bus, etc.
271
+ - `resources` - AZA account for App Insights, Azure resources, Terraform, etc.
272
+
273
+ ### Setup
274
+
275
+ 1. **Switch to a context** (one-time setup per context):
276
+
277
+ ```bash
278
+ # Switch to DevOps context
279
+ agdt-azure-context-use devops
280
+
281
+ # Switch to resources context
282
+ agdt-azure-context-use resources
283
+ ```text
284
+
285
+ 2. **Log in to each context** (one-time per context):
286
+
287
+ ```bash
288
+ # After switching to a context, log in using Azure CLI
289
+ az login
290
+ # This login is stored in the context's isolated config directory
291
+ ```text
292
+
293
+ ### Usage
294
+
295
+ **Show all contexts with login status:**
296
+
297
+ ```bash
298
+ agdt-azure-context-status
299
+ ```text
300
+
301
+ Output:
302
+ ```text
303
+ Azure CLI Contexts:
304
+ ================================================================================
305
+
306
+ devops [ACTIVE]
307
+ Description: Corporate account for Azure DevOps, Service Bus, etc.
308
+ Config Dir: ~/.azure-contexts/devops
309
+ Status: ✓ Logged in as user@company.com
310
+
311
+ resources
312
+ Description: AZA account for App Insights, Azure resources, Terraform, etc.
313
+ Config Dir: ~/.azure-contexts/resources
314
+ Status: ✓ Logged in as user@company.com
315
+
316
+ ================================================================================
317
+ ```text
318
+
319
+ **Check current active context:**
320
+
321
+ ```bash
322
+ agdt-azure-context-current
323
+ ```text
324
+
325
+ **Switch contexts:**
326
+
327
+ ```bash
328
+ # Switch to DevOps context
329
+ agdt-azure-context-use devops
330
+
331
+ # Switch to resources context
332
+ agdt-azure-context-use resources
208
333
  ```text
209
334
 
335
+ **Ensure logged in (prompts if needed):**
336
+
337
+ ```bash
338
+ # Ensure current context is logged in
339
+ agdt-azure-context-ensure-login
340
+
341
+ # Ensure specific context is logged in
342
+ agdt-azure-context-ensure-login devops
343
+ ```text
344
+
345
+ ### How It Works
346
+
347
+ Each context uses its own isolated Azure CLI configuration directory:
348
+ - `~/.azure-contexts/devops/` - DevOps context config and tokens
349
+ - `~/.azure-contexts/resources/` - Resources context config and tokens
350
+
351
+ When you run `az` commands, the active context's `AZURE_CONFIG_DIR` is used, so both accounts stay authenticated simultaneously. Switching contexts is instant (no browser login flow).
352
+
353
+ ### Integration
354
+
355
+ **With VPN toggle:**
356
+ Contexts work seamlessly with the VPN toggle system. When certain contexts require VPN, the system coordinates VPN state automatically.
357
+
358
+ **With Azure CLI:**
359
+ All `az` commands respect the active context automatically via the `AZURE_CONFIG_DIR` environment variable.
360
+
210
361
  ## Git Commands
211
362
 
212
363
  The package provides streamlined Git workflow commands that support the
@@ -428,6 +579,97 @@ agdt-set jira.dry_run true
428
579
  agdt-create-issue # Previews payload without API call
429
580
  ```text
430
581
 
582
+ ## VPN & Network Management
583
+
584
+ The corporate VPN (Pulse Secure/Ivanti) creates a full tunnel that blocks public registries (npm, PyPI) while being required for internal resources (Jira, ESB). These commands provide intelligent VPN management so you don't need to manually connect/disconnect VPN when switching between tasks.
585
+
586
+ ### Network Status
587
+
588
+ Check your current network context:
589
+
590
+ ```bash
591
+ agdt-network-status
592
+ ```
593
+
594
+ Output shows:
595
+
596
+ - 🏢 Corporate network (in office) - VPN operations skipped automatically
597
+ - 🔌 Remote with VPN - Can access internal resources, external blocked
598
+ - 📡 Remote without VPN - Can access external resources, internal blocked
599
+
600
+ ### Run Command with VPN Context
601
+
602
+ Automatically manage VPN based on command requirements:
603
+
604
+ ```bash
605
+ # Ensure VPN is connected before running (for Jira, ESB, etc.)
606
+ agdt-vpn-run --require-vpn "curl https://jira.swica.ch/rest/api/2/issue/DP-123"
607
+
608
+ # Temporarily disconnect VPN for public access (npm, pip, etc.)
609
+ agdt-vpn-run --require-public "npm install"
610
+
611
+ # Auto-detect requirement from command content (default)
612
+ agdt-vpn-run --smart "az devops ..."
613
+ agdt-vpn-run "npm install express" # --smart is the default
614
+ ```
615
+
616
+ The command will:
617
+
618
+ - Detect if you're on corporate network (in office) and skip VPN operations
619
+ - Connect VPN if needed for internal resources
620
+ - Disconnect VPN temporarily for public registry access
621
+ - Restore VPN state after command completes
622
+
623
+ ### Manual VPN Control
624
+
625
+ Direct VPN control commands (run in background):
626
+
627
+ ```bash
628
+ # Connect VPN (skipped if on corporate network)
629
+ agdt-vpn-on
630
+ agdt-task-wait
631
+
632
+ # Disconnect VPN
633
+ agdt-vpn-off
634
+ agdt-task-wait
635
+
636
+ # Check VPN status
637
+ agdt-vpn-status
638
+ agdt-task-wait
639
+ ```
640
+
641
+ ### Common Workflows
642
+
643
+ **Install npm packages (needs public access):**
644
+
645
+ ```bash
646
+ agdt-vpn-run --require-public "npm install"
647
+ ```
648
+
649
+ **Access Jira API (needs VPN):**
650
+
651
+ ```bash
652
+ agdt-vpn-run --require-vpn "curl https://jira.swica.ch/rest/api/2/serverInfo"
653
+ ```
654
+
655
+ **Smart detection (recommended):**
656
+
657
+ ```bash
658
+ # Auto-detects that npm install needs public access
659
+ agdt-vpn-run "npm install express lodash"
660
+
661
+ # Auto-detects that Jira URL needs VPN
662
+ agdt-vpn-run "curl https://jira.swica.ch/rest/api/2/issue/DP-123"
663
+ ```
664
+
665
+ ### In-Office Behavior
666
+
667
+ When on the corporate network (physically in the office), VPN operations are
668
+ automatically skipped since internal resources are already accessible. However,
669
+ note that the corporate network may still block external registries (npm, PyPI) -
670
+ in that case, consider connecting to a different network (e.g., mobile hotspot)
671
+ for external access.
672
+
431
673
  ## Environment Variables
432
674
 
433
675
  | Variable | Purpose
@@ -149,39 +149,190 @@ agdt-show
149
149
 
150
150
  ## Azure DevOps Commands
151
151
 
152
+ All Azure DevOps commands support both CLI parameters and state-based execution.
153
+ Parameters passed via CLI are automatically persisted to state for reuse.
154
+
152
155
  ### Reply to PR Thread
153
156
 
154
157
  ```bash
155
- agdt-set pr_id 23046
158
+ # Option A: With CLI parameters (explicit, self-documenting)
159
+ agdt-reply-to-pull-request-thread --pull-request-id 23046 --thread-id 139474 --content "Your reply"
160
+ agdt-reply-to-pull-request-thread -p 23046 -t 139474 -c "Thanks!"
161
+
162
+ # Option B: Parameterless (uses current state)
163
+ agdt-set pull_request_id 23046
156
164
  agdt-set thread_id 139474
157
165
  agdt-set content "Your reply message"
158
- agdt-reply-to-pr-thread
166
+ agdt-reply-to-pull-request-thread
159
167
 
160
168
  # Optionally resolve the thread after replying
161
169
  agdt-set resolve_thread true
162
- agdt-reply-to-pr-thread
163
- ```text
170
+ agdt-reply-to-pull-request-thread
171
+ ```
164
172
 
165
173
  ### Add New PR Comment
166
174
 
167
175
  ```bash
168
- agdt-set pr_id 23046
176
+ # Option A: With CLI parameters (explicit)
177
+ agdt-add-pull-request-comment --pull-request-id 23046 --content "LGTM!"
178
+ agdt-add-pull-request-comment -p 23046 -c "Looks good"
179
+
180
+ # Option B: Parameterless (uses current state)
181
+ agdt-set pull_request_id 23046
169
182
  agdt-set content "Your comment"
170
- agdt-add-pr-comment
183
+ agdt-add-pull-request-comment
171
184
 
172
185
  # For file-level comment
173
186
  agdt-set path "src/example.py"
174
187
  agdt-set line 42
175
- agdt-add-pr-comment
176
- ```text
188
+ agdt-add-pull-request-comment
189
+ ```
190
+
191
+ ### Approve Pull Request
192
+
193
+ ```bash
194
+ # Option A: With CLI parameters
195
+ agdt-approve-pull-request --pull-request-id 23046 --content "Approved!"
196
+ agdt-approve-pull-request -p 23046
197
+
198
+ # Option B: Parameterless (uses current state)
199
+ agdt-set pull_request_id 23046
200
+ agdt-approve-pull-request
201
+ ```
202
+
203
+ ### Get PR Threads
204
+
205
+ ```bash
206
+ # Option A: With CLI parameter
207
+ agdt-get-pull-request-threads --pull-request-id 23046
208
+ agdt-get-pull-request-threads -p 23046
209
+
210
+ # Option B: Parameterless (uses current state)
211
+ agdt-set pull_request_id 23046
212
+ agdt-get-pull-request-threads
213
+ ```
214
+
215
+ ### Resolve Thread
216
+
217
+ ```bash
218
+ # Option A: With CLI parameters
219
+ agdt-resolve-thread --pull-request-id 23046 --thread-id 139474
220
+ agdt-resolve-thread -p 23046 -t 139474
221
+
222
+ # Option B: Parameterless (uses current state)
223
+ agdt-set pull_request_id 23046
224
+ agdt-set thread_id 139474
225
+ agdt-resolve-thread
226
+ ```
177
227
 
178
228
  ### Dry Run Mode
179
229
 
180
230
  ```bash
181
231
  agdt-set dry_run true
182
- agdt-reply-to-pr-thread # Previews without making API calls
232
+ agdt-reply-to-pull-request-thread # Previews without making API calls
233
+ ```
234
+
235
+ ## Azure Context Management
236
+
237
+ Manage multiple Azure CLI accounts (e.g., corporate account for Azure DevOps and AZA account for App Insights) without repeated `az login` / `az logout` cycles.
238
+
239
+ ### Overview
240
+
241
+ The Azure context system uses separate `AZURE_CONFIG_DIR` directories per account context. Both accounts can stay authenticated simultaneously and can be switched instantly via environment variable.
242
+
243
+ **Available Contexts:**
244
+
245
+ - `devops` - Corporate account for Azure DevOps, Service Bus, etc.
246
+ - `resources` - AZA account for App Insights, Azure resources, Terraform, etc.
247
+
248
+ ### Setup
249
+
250
+ 1. **Switch to a context** (one-time setup per context):
251
+
252
+ ```bash
253
+ # Switch to DevOps context
254
+ agdt-azure-context-use devops
255
+
256
+ # Switch to resources context
257
+ agdt-azure-context-use resources
258
+ ```text
259
+
260
+ 2. **Log in to each context** (one-time per context):
261
+
262
+ ```bash
263
+ # After switching to a context, log in using Azure CLI
264
+ az login
265
+ # This login is stored in the context's isolated config directory
266
+ ```text
267
+
268
+ ### Usage
269
+
270
+ **Show all contexts with login status:**
271
+
272
+ ```bash
273
+ agdt-azure-context-status
274
+ ```text
275
+
276
+ Output:
277
+ ```text
278
+ Azure CLI Contexts:
279
+ ================================================================================
280
+
281
+ devops [ACTIVE]
282
+ Description: Corporate account for Azure DevOps, Service Bus, etc.
283
+ Config Dir: ~/.azure-contexts/devops
284
+ Status: ✓ Logged in as user@company.com
285
+
286
+ resources
287
+ Description: AZA account for App Insights, Azure resources, Terraform, etc.
288
+ Config Dir: ~/.azure-contexts/resources
289
+ Status: ✓ Logged in as user@company.com
290
+
291
+ ================================================================================
292
+ ```text
293
+
294
+ **Check current active context:**
295
+
296
+ ```bash
297
+ agdt-azure-context-current
298
+ ```text
299
+
300
+ **Switch contexts:**
301
+
302
+ ```bash
303
+ # Switch to DevOps context
304
+ agdt-azure-context-use devops
305
+
306
+ # Switch to resources context
307
+ agdt-azure-context-use resources
183
308
  ```text
184
309
 
310
+ **Ensure logged in (prompts if needed):**
311
+
312
+ ```bash
313
+ # Ensure current context is logged in
314
+ agdt-azure-context-ensure-login
315
+
316
+ # Ensure specific context is logged in
317
+ agdt-azure-context-ensure-login devops
318
+ ```text
319
+
320
+ ### How It Works
321
+
322
+ Each context uses its own isolated Azure CLI configuration directory:
323
+ - `~/.azure-contexts/devops/` - DevOps context config and tokens
324
+ - `~/.azure-contexts/resources/` - Resources context config and tokens
325
+
326
+ When you run `az` commands, the active context's `AZURE_CONFIG_DIR` is used, so both accounts stay authenticated simultaneously. Switching contexts is instant (no browser login flow).
327
+
328
+ ### Integration
329
+
330
+ **With VPN toggle:**
331
+ Contexts work seamlessly with the VPN toggle system. When certain contexts require VPN, the system coordinates VPN state automatically.
332
+
333
+ **With Azure CLI:**
334
+ All `az` commands respect the active context automatically via the `AZURE_CONFIG_DIR` environment variable.
335
+
185
336
  ## Git Commands
186
337
 
187
338
  The package provides streamlined Git workflow commands that support the
@@ -403,6 +554,97 @@ agdt-set jira.dry_run true
403
554
  agdt-create-issue # Previews payload without API call
404
555
  ```text
405
556
 
557
+ ## VPN & Network Management
558
+
559
+ The corporate VPN (Pulse Secure/Ivanti) creates a full tunnel that blocks public registries (npm, PyPI) while being required for internal resources (Jira, ESB). These commands provide intelligent VPN management so you don't need to manually connect/disconnect VPN when switching between tasks.
560
+
561
+ ### Network Status
562
+
563
+ Check your current network context:
564
+
565
+ ```bash
566
+ agdt-network-status
567
+ ```
568
+
569
+ Output shows:
570
+
571
+ - 🏢 Corporate network (in office) - VPN operations skipped automatically
572
+ - 🔌 Remote with VPN - Can access internal resources, external blocked
573
+ - 📡 Remote without VPN - Can access external resources, internal blocked
574
+
575
+ ### Run Command with VPN Context
576
+
577
+ Automatically manage VPN based on command requirements:
578
+
579
+ ```bash
580
+ # Ensure VPN is connected before running (for Jira, ESB, etc.)
581
+ agdt-vpn-run --require-vpn "curl https://jira.swica.ch/rest/api/2/issue/DP-123"
582
+
583
+ # Temporarily disconnect VPN for public access (npm, pip, etc.)
584
+ agdt-vpn-run --require-public "npm install"
585
+
586
+ # Auto-detect requirement from command content (default)
587
+ agdt-vpn-run --smart "az devops ..."
588
+ agdt-vpn-run "npm install express" # --smart is the default
589
+ ```
590
+
591
+ The command will:
592
+
593
+ - Detect if you're on corporate network (in office) and skip VPN operations
594
+ - Connect VPN if needed for internal resources
595
+ - Disconnect VPN temporarily for public registry access
596
+ - Restore VPN state after command completes
597
+
598
+ ### Manual VPN Control
599
+
600
+ Direct VPN control commands (run in background):
601
+
602
+ ```bash
603
+ # Connect VPN (skipped if on corporate network)
604
+ agdt-vpn-on
605
+ agdt-task-wait
606
+
607
+ # Disconnect VPN
608
+ agdt-vpn-off
609
+ agdt-task-wait
610
+
611
+ # Check VPN status
612
+ agdt-vpn-status
613
+ agdt-task-wait
614
+ ```
615
+
616
+ ### Common Workflows
617
+
618
+ **Install npm packages (needs public access):**
619
+
620
+ ```bash
621
+ agdt-vpn-run --require-public "npm install"
622
+ ```
623
+
624
+ **Access Jira API (needs VPN):**
625
+
626
+ ```bash
627
+ agdt-vpn-run --require-vpn "curl https://jira.swica.ch/rest/api/2/serverInfo"
628
+ ```
629
+
630
+ **Smart detection (recommended):**
631
+
632
+ ```bash
633
+ # Auto-detects that npm install needs public access
634
+ agdt-vpn-run "npm install express lodash"
635
+
636
+ # Auto-detects that Jira URL needs VPN
637
+ agdt-vpn-run "curl https://jira.swica.ch/rest/api/2/issue/DP-123"
638
+ ```
639
+
640
+ ### In-Office Behavior
641
+
642
+ When on the corporate network (physically in the office), VPN operations are
643
+ automatically skipped since internal resources are already accessible. However,
644
+ note that the corporate network may still block external registries (npm, PyPI) -
645
+ in that case, consider connecting to a different network (e.g., mobile hotspot)
646
+ for external access.
647
+
406
648
  ## Environment Variables
407
649
 
408
650
  | Variable | Purpose
@@ -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.2'
32
- __version_tuple__ = version_tuple = (0, 2, 2)
31
+ __version__ = version = '0.2.4'
32
+ __version_tuple__ = version_tuple = (0, 2, 4)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -0,0 +1,29 @@
1
+ """
2
+ Azure CLI context management for multi-account support.
3
+
4
+ Exports all public functions for managing Azure CLI contexts.
5
+ """
6
+
7
+ from agentic_devtools.cli.azure_context.config import (
8
+ AzureContext,
9
+ AzureContextConfig,
10
+ get_context_config,
11
+ )
12
+ from agentic_devtools.cli.azure_context.management import (
13
+ ensure_logged_in,
14
+ get_current_context,
15
+ run_with_context,
16
+ show_all_contexts,
17
+ switch_context,
18
+ )
19
+
20
+ __all__ = [
21
+ "AzureContext",
22
+ "AzureContextConfig",
23
+ "get_context_config",
24
+ "ensure_logged_in",
25
+ "get_current_context",
26
+ "run_with_context",
27
+ "show_all_contexts",
28
+ "switch_context",
29
+ ]