codee-agent 0.6.2__tar.gz → 0.6.3__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.2 → codee_agent-0.6.3}/PKG-INFO +1 -1
  2. {codee_agent-0.6.2 → codee_agent-0.6.3}/pyproject.toml +1 -1
  3. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/admin.py +14 -2
  4. {codee_agent-0.6.2 → codee_agent-0.6.3}/LICENSE +0 -0
  5. {codee_agent-0.6.2 → codee_agent-0.6.3}/README.md +0 -0
  6. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/.gitignore +0 -0
  7. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/__init__.py +0 -0
  8. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/admin_api.py +0 -0
  9. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/admin_cli.py +0 -0
  10. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/admin_service.py +0 -0
  11. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/agent_cli.py +0 -0
  12. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/coding_agents.py +0 -0
  13. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/executor.py +0 -0
  14. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/init_cli.py +0 -0
  15. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/__init__.py +0 -0
  16. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/claude_key_rotation.py +0 -0
  17. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/cron_describe.py +0 -0
  18. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/mcp_config.py +0 -0
  19. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/runs_db.py +0 -0
  20. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/test_claude_key_rotation.py +0 -0
  21. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/test_mcp_config.py +0 -0
  22. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/test_runs_db.py +0 -0
  23. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/test_trigger_cron_skills.py +0 -0
  24. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/test_trigger_issue_skills.py +0 -0
  25. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/trigger_aws_sqs_skills.py +0 -0
  26. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/trigger_cron_skills.py +0 -0
  27. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/trigger_email_skills.py +0 -0
  28. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/lib/trigger_issue_skills.py +0 -0
  29. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/mail_server.py +0 -0
  30. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/setup_wizard.py +0 -0
  31. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/start_cli.py +0 -0
  32. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/tasks_providers.py +0 -0
  33. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/AGENTS.md +0 -0
  34. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/CLAUDE.md +0 -0
  35. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/aws-sqs-alarm-response/SKILL.md +0 -0
  36. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/cron-research-5xx-errors/SKILL.md +0 -0
  37. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/story-code-reviewer/SKILL.md +0 -0
  38. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/story-developer/SKILL.md +0 -0
  39. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/story-planner/SKILL.md +0 -0
  40. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/story-planner/assets/readme-template.md +0 -0
  41. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/story-qa/SKILL.md +0 -0
  42. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/story-security-reviewer/SKILL.md +0 -0
  43. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/task-code-reviewer/SKILL.md +0 -0
  44. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/task-developer/SKILL.md +0 -0
  45. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/task-qa/SKILL.md +0 -0
  46. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/templates/skills/task-security-reviewer/SKILL.md +0 -0
  47. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_admin_api.py +0 -0
  48. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_admin_cli.py +0 -0
  49. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_admin_service.py +0 -0
  50. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_agent_cli.py +0 -0
  51. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_coding_agents.py +0 -0
  52. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_executor.py +0 -0
  53. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_init_cli.py +0 -0
  54. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_memory_index.py +0 -0
  55. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_setup_wizard.py +0 -0
  56. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/test_start_cli.py +0 -0
  57. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee/workflow_graph.py +0 -0
  58. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_admin/__init__.py +0 -0
  59. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_admin/codee_admin.py +0 -0
  60. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_abstract/__init__.py +0 -0
  61. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_abstract/provider.py +0 -0
  62. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_claude_code/__init__.py +0 -0
  63. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_claude_code/account.py +0 -0
  64. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_claude_code/credentials.py +0 -0
  65. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_claude_code/oauth.py +0 -0
  66. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_claude_code/provider.py +0 -0
  67. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_claude_code/test.py +0 -0
  68. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_claude_code/usage.py +0 -0
  69. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_codex/__init__.py +0 -0
  70. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_codex/provider.py +0 -0
  71. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_codex/test.py +0 -0
  72. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_github_copilot/__init__.py +0 -0
  73. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_github_copilot/provider.py +0 -0
  74. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_agent_github_copilot/test.py +0 -0
  75. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_database/__init__.py +0 -0
  76. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_database/claude_code_accounts.py +0 -0
  77. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_database/database.py +0 -0
  78. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_database/oauth_tokens.py +0 -0
  79. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_main_context/__init__.py +0 -0
  80. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_main_context/context.py +0 -0
  81. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_main_context/logging.py +0 -0
  82. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_main_context/test_context.py +0 -0
  83. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_main_context/test_logging.py +0 -0
  84. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_tasks_abstract/__init__.py +0 -0
  85. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_tasks_abstract/provider.py +0 -0
  86. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_tasks_azure_devops/__init__.py +0 -0
  87. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_tasks_azure_devops/oauth.py +0 -0
  88. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_tasks_azure_devops/provider.py +0 -0
  89. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_tasks_azure_devops/test.py +0 -0
  90. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_tasks_jira/__init__.py +0 -0
  91. {codee_agent-0.6.2 → codee_agent-0.6.3}/src/codee_tasks_jira/provider.py +0 -0
  92. {codee_agent-0.6.2 → codee_agent-0.6.3}/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.2
3
+ Version: 0.6.3
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.2"
3
+ version = "0.6.3"
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"
@@ -64,6 +64,16 @@ def _percent(value: float) -> int:
64
64
  return -1 if value < 0 else round(value)
65
65
 
66
66
 
67
+ def local_datetime(value: rx.Var) -> rx.Component:
68
+ """Render an ISO timestamp in the browser's locale and timezone."""
69
+ return rx.moment(
70
+ date=value,
71
+ local=True,
72
+ locale=rx.Var(_js_expr="navigator.language"),
73
+ format="L LT",
74
+ )
75
+
76
+
67
77
  def _save_toast(persisted: bool, pushed: bool, message: str) -> Any:
68
78
  """Warn instead of erroring when the change landed on disk but not in Git."""
69
79
  if not persisted:
@@ -1849,7 +1859,8 @@ def usage_meter(label: str, percent: rx.Var, resets: rx.Var) -> rx.Component:
1849
1859
  # reset time on an account at 4% is noise.
1850
1860
  rx.cond(
1851
1861
  (resets != "") & (percent >= 80),
1852
- rx.text("resets " + resets, color=MUTED, font_size="0.68rem"),
1862
+ rx.text("resets ", local_datetime(resets), color=MUTED,
1863
+ font_size="0.68rem"),
1853
1864
  rx.fragment()),
1854
1865
  spacing="1", width="100%")
1855
1866
 
@@ -2390,7 +2401,8 @@ def run_row(run: RunRecord) -> rx.Component:
2390
2401
  rx.flex(
2391
2402
  rx.vstack(rx.hstack(rx.text(run.skill_name, font_weight="600"),
2392
2403
  rx.badge(run.status, color_scheme=rx.cond(run.status == "succeeded", "green", "red"))),
2393
- rx.text(run.started_at, color=MUTED, font_size="0.8rem",
2404
+ rx.text(local_datetime(run.started_at), color=MUTED,
2405
+ font_size="0.8rem",
2394
2406
  font_family="IBM Plex Mono, monospace"),
2395
2407
  rx.text("Thread ID: ", run.session_id, color=MUTED,
2396
2408
  font_size="0.8rem",
File without changes
File without changes