codee-agent 0.6.8__tar.gz → 0.6.9__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 (92) hide show
  1. {codee_agent-0.6.8 → codee_agent-0.6.9}/PKG-INFO +1 -1
  2. {codee_agent-0.6.8 → codee_agent-0.6.9}/pyproject.toml +1 -1
  3. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/executor.py +7 -1
  4. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_executor.py +34 -0
  5. {codee_agent-0.6.8 → codee_agent-0.6.9}/LICENSE +0 -0
  6. {codee_agent-0.6.8 → codee_agent-0.6.9}/README.md +0 -0
  7. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/.gitignore +0 -0
  8. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/__init__.py +0 -0
  9. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/admin.py +0 -0
  10. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/admin_api.py +0 -0
  11. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/admin_cli.py +0 -0
  12. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/admin_service.py +0 -0
  13. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/agent_cli.py +0 -0
  14. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/coding_agents.py +0 -0
  15. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/init_cli.py +0 -0
  16. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/__init__.py +0 -0
  17. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/claude_key_rotation.py +0 -0
  18. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/cron_describe.py +0 -0
  19. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/mcp_config.py +0 -0
  20. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/runs_db.py +0 -0
  21. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/test_claude_key_rotation.py +0 -0
  22. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/test_mcp_config.py +0 -0
  23. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/test_runs_db.py +0 -0
  24. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/test_trigger_cron_skills.py +0 -0
  25. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/test_trigger_issue_skills.py +0 -0
  26. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/trigger_aws_sqs_skills.py +0 -0
  27. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/trigger_cron_skills.py +0 -0
  28. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/trigger_email_skills.py +0 -0
  29. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/lib/trigger_issue_skills.py +0 -0
  30. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/mail_server.py +0 -0
  31. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/setup_wizard.py +0 -0
  32. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/start_cli.py +0 -0
  33. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/tasks_providers.py +0 -0
  34. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/AGENTS.md +0 -0
  35. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/CLAUDE.md +0 -0
  36. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/aws-sqs-alarm-response/SKILL.md +0 -0
  37. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/cron-research-5xx-errors/SKILL.md +0 -0
  38. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/story-code-reviewer/SKILL.md +0 -0
  39. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/story-developer/SKILL.md +0 -0
  40. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/story-planner/SKILL.md +0 -0
  41. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/story-planner/assets/readme-template.md +0 -0
  42. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/story-qa/SKILL.md +0 -0
  43. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/story-security-reviewer/SKILL.md +0 -0
  44. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/task-code-reviewer/SKILL.md +0 -0
  45. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/task-developer/SKILL.md +0 -0
  46. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/task-qa/SKILL.md +0 -0
  47. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/templates/skills/task-security-reviewer/SKILL.md +0 -0
  48. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_admin_api.py +0 -0
  49. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_admin_cli.py +0 -0
  50. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_admin_service.py +0 -0
  51. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_agent_cli.py +0 -0
  52. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_coding_agents.py +0 -0
  53. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_init_cli.py +0 -0
  54. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_memory_index.py +0 -0
  55. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_setup_wizard.py +0 -0
  56. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/test_start_cli.py +0 -0
  57. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee/workflow_graph.py +0 -0
  58. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_admin/__init__.py +0 -0
  59. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_admin/codee_admin.py +0 -0
  60. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_abstract/__init__.py +0 -0
  61. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_abstract/provider.py +0 -0
  62. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_claude_code/__init__.py +0 -0
  63. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_claude_code/account.py +0 -0
  64. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_claude_code/credentials.py +0 -0
  65. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_claude_code/oauth.py +0 -0
  66. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_claude_code/provider.py +0 -0
  67. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_claude_code/test.py +0 -0
  68. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_claude_code/usage.py +0 -0
  69. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_codex/__init__.py +0 -0
  70. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_codex/provider.py +0 -0
  71. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_codex/test.py +0 -0
  72. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_github_copilot/__init__.py +0 -0
  73. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_github_copilot/provider.py +0 -0
  74. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_agent_github_copilot/test.py +0 -0
  75. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_database/__init__.py +0 -0
  76. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_database/claude_code_accounts.py +0 -0
  77. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_database/database.py +0 -0
  78. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_database/oauth_tokens.py +0 -0
  79. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_main_context/__init__.py +0 -0
  80. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_main_context/context.py +0 -0
  81. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_main_context/logging.py +0 -0
  82. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_main_context/test_context.py +0 -0
  83. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_main_context/test_logging.py +0 -0
  84. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_abstract/__init__.py +0 -0
  85. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_abstract/provider.py +0 -0
  86. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_azure_devops/__init__.py +0 -0
  87. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_azure_devops/oauth.py +0 -0
  88. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_azure_devops/provider.py +0 -0
  89. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_azure_devops/test.py +0 -0
  90. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_jira/__init__.py +0 -0
  91. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_jira/provider.py +0 -0
  92. {codee_agent-0.6.8 → codee_agent-0.6.9}/src/codee_tasks_jira/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codee-agent
3
- Version: 0.6.8
3
+ Version: 0.6.9
4
4
  Summary: A virtual co-worker that picks up Jira and Azure DevOps tasks and solves them with coding agents.
5
5
  Keywords: ai,agent,jira,azure-devops,claude-code,github-copilot,codex,automation
6
6
  Author: Denis Kibalko
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codee-agent"
3
- version = "0.6.8"
3
+ version = "0.6.9"
4
4
  description = "A virtual co-worker that picks up Jira and Azure DevOps tasks and solves them with coding agents."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -180,7 +180,13 @@ def _refresh_config() -> None:
180
180
  else:
181
181
  log.info("Reloaded tasks provider: %s", tasks_provider.describe())
182
182
 
183
- if settings.coding_agent != previous.coding_agent:
183
+ coding_agent_changed = settings.coding_agent != previous.coding_agent
184
+ copilot_settings_changed = (
185
+ settings.coding_agent == CodingAgent.GITHUB_COPILOT
186
+ and settings.github_copilot_prompt_prefix
187
+ != previous.github_copilot_prompt_prefix
188
+ )
189
+ if coding_agent_changed or copilot_settings_changed:
184
190
  try:
185
191
  coding_agent = _build_coding_agent(settings)
186
192
  except Exception as exc:
@@ -167,6 +167,40 @@ class RefreshConfigTest(unittest.TestCase):
167
167
  self.assertEqual(executor.context.settings.coding_agent,
168
168
  CodingAgent.GITHUB_COPILOT)
169
169
 
170
+ def test_changing_copilot_prompt_prefix_rebuilds_the_default_agent(self) -> None:
171
+ self._save(coding_agent=CodingAgent.GITHUB_COPILOT)
172
+ executor._refresh_config()
173
+ original = executor.coding_agent
174
+
175
+ self._save(
176
+ coding_agent=CodingAgent.GITHUB_COPILOT,
177
+ github_copilot_prompt_prefix="Follow repository policy.",
178
+ )
179
+ executor._refresh_config()
180
+
181
+ self.assertIsNot(executor.coding_agent, original)
182
+ completed = Mock(
183
+ returncode=0,
184
+ stdout=(
185
+ '{"type":"assistant.message","data":{"content":"ok"}}\n'
186
+ '{"type":"result","exitCode":0}\n'
187
+ ),
188
+ stderr="",
189
+ )
190
+ issue_prompt = (
191
+ "Read .claude/skills/story-qa/SKILL.md and follow its "
192
+ "instructions exactly. STORY_ID = 92146"
193
+ )
194
+ with patch("codee_agent_github_copilot.provider.subprocess.run",
195
+ return_value=completed) as run:
196
+ executor._agent_for_skill("").run(issue_prompt, "session-1")
197
+
198
+ command = run.call_args.args[0]
199
+ self.assertEqual(
200
+ command[command.index("-p") + 1],
201
+ f"Follow repository policy.\n\n{issue_prompt}",
202
+ )
203
+
170
204
  def test_broken_coding_agent_settings_keep_polling_with_the_old_one(self) -> None:
171
205
  self._save(coding_agent=CodingAgent.CLAUDE_CODE)
172
206
  executor._refresh_config()
File without changes
File without changes