agentbyte 0.22.2__tar.gz → 0.22.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 (344) hide show
  1. {agentbyte-0.22.2 → agentbyte-0.22.4}/CHANGELOG.md +12 -0
  2. {agentbyte-0.22.2 → agentbyte-0.22.4}/PKG-INFO +2 -2
  3. {agentbyte-0.22.2 → agentbyte-0.22.4}/README.md +1 -1
  4. agentbyte-0.22.4/src/agentbyte/__about__.py +2 -0
  5. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/middleware/sql_usage.py +2 -0
  6. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/middleware/test_sql_usage.py +32 -0
  7. agentbyte-0.22.2/src/agentbyte/__about__.py +0 -2
  8. {agentbyte-0.22.2 → agentbyte-0.22.4}/.gitignore +0 -0
  9. {agentbyte-0.22.2 → agentbyte-0.22.4}/LICENSE +0 -0
  10. {agentbyte-0.22.2 → agentbyte-0.22.4}/pyproject.toml +0 -0
  11. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/__init__.py +0 -0
  12. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/agents/__init__.py +0 -0
  13. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/agents/agent.py +0 -0
  14. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/agents/agent_as_tool.py +0 -0
  15. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/agents/base.py +0 -0
  16. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/agents/embedding_agent.py +0 -0
  17. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/agents/types.py +0 -0
  18. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/cancellation_token.py +0 -0
  19. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/catalog.py +0 -0
  20. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/cli/__init__.py +0 -0
  21. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/cli/main.py +0 -0
  22. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/component.py +0 -0
  23. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/context.py +0 -0
  24. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/context_providers/__init__.py +0 -0
  25. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/context_providers/base.py +0 -0
  26. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/context_providers/skill_tools.py +0 -0
  27. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/context_providers/skills.py +0 -0
  28. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/__init__.py +0 -0
  29. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/base.py +0 -0
  30. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/config.py +0 -0
  31. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/importer.py +0 -0
  32. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/json.py +0 -0
  33. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/loader.py +0 -0
  34. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/publish.py +0 -0
  35. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/publish_config.py +0 -0
  36. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/publishers.py +0 -0
  37. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/sources.py +0 -0
  38. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/sqlite.py +0 -0
  39. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/sqlite_db.py +0 -0
  40. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/write_config.py +0 -0
  41. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/dataset/writers.py +0 -0
  42. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/entity.py +0 -0
  43. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/__init__.py +0 -0
  44. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/base.py +0 -0
  45. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/checks/__init__.py +0 -0
  46. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/checks/decorator.py +0 -0
  47. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/checks/keyword.py +0 -0
  48. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/checks/local.py +0 -0
  49. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/checks/tool.py +0 -0
  50. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/checks/types.py +0 -0
  51. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/comparison.py +0 -0
  52. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/eval_dataset.py +0 -0
  53. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/judges/__init__.py +0 -0
  54. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/judges/base.py +0 -0
  55. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/judges/composite.py +0 -0
  56. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/judges/llm.py +0 -0
  57. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/judges/pairwise.py +0 -0
  58. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/judges/reference.py +0 -0
  59. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/pairwise.py +0 -0
  60. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/report.py +0 -0
  61. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/runner.py +0 -0
  62. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/targets/__init__.py +0 -0
  63. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/targets/agent.py +0 -0
  64. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/targets/model.py +0 -0
  65. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/targets/multi_turn.py +0 -0
  66. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/targets/orchestrator.py +0 -0
  67. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/eval/types.py +0 -0
  68. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/__init__.py +0 -0
  69. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/_retry_observability.py +0 -0
  70. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/auth.py +0 -0
  71. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/azure/__init__.py +0 -0
  72. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/azure/auth.py +0 -0
  73. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/azure/chat.py +0 -0
  74. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/azure/embedding.py +0 -0
  75. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/azure/settings.py +0 -0
  76. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/azure_openai.py +0 -0
  77. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/azure_openai_embedding.py +0 -0
  78. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/base.py +0 -0
  79. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/embeddings_base.py +0 -0
  80. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/openai/__init__.py +0 -0
  81. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/openai/chat.py +0 -0
  82. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/openai/embedding.py +0 -0
  83. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/openai/settings.py +0 -0
  84. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/openai.py +0 -0
  85. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/openai_embedding.py +0 -0
  86. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/pricing.py +0 -0
  87. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/retry_policy.py +0 -0
  88. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/settings.py +0 -0
  89. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/llm/types.py +0 -0
  90. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/logger.py +0 -0
  91. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/memory/__init__.py +0 -0
  92. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/memory/base.py +0 -0
  93. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/messages.py +0 -0
  94. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/microwebui/__init__.py +0 -0
  95. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/microwebui/server.py +0 -0
  96. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/microwebui/ui/index.html +0 -0
  97. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/middleware/__init__.py +0 -0
  98. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/middleware/base.py +0 -0
  99. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/middleware/otel.py +0 -0
  100. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/middleware/retry.py +0 -0
  101. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/middleware/usage_logger.py +0 -0
  102. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/notebook.py +0 -0
  103. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/orchestration/__init__.py +0 -0
  104. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/orchestration/ai.py +0 -0
  105. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/orchestration/base.py +0 -0
  106. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/orchestration/handoff.py +0 -0
  107. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/orchestration/plan.py +0 -0
  108. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/orchestration/policies.py +0 -0
  109. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/orchestration/round_robin.py +0 -0
  110. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/__init__.py +0 -0
  111. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/agents.py +0 -0
  112. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/clients.py +0 -0
  113. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/instruction_registry.py +0 -0
  114. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/instructions/orchestrator.yaml +0 -0
  115. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/instructions/query_rewriter.yaml +0 -0
  116. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/instructions/researcher.yaml +0 -0
  117. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/instructions/reviewer.yaml +0 -0
  118. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/instructions/writer.yaml +0 -0
  119. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/orchestration.py +0 -0
  120. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md +0 -0
  121. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/skills/hr-analyst/SKILL.md +0 -0
  122. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/skills/hr-analyst/resources/departments.md +0 -0
  123. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/skills/hr-analyst/resources/employees.md +0 -0
  124. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/skills/hr-analyst/resources/payroll.md +0 -0
  125. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/streaming.py +0 -0
  126. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/presets/workflow.py +0 -0
  127. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/session_store.py +0 -0
  128. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/skills/__init__.py +0 -0
  129. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/skills/base.py +0 -0
  130. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/skills/resources.py +0 -0
  131. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/skills/scripts.py +0 -0
  132. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/skills/sources.py +0 -0
  133. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/__init__.py +0 -0
  134. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/base.py +0 -0
  135. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/cancellation.py +0 -0
  136. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/composite.py +0 -0
  137. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/consecutive_agent.py +0 -0
  138. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/external.py +0 -0
  139. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/function_call.py +0 -0
  140. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/handoff.py +0 -0
  141. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/max_message.py +0 -0
  142. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/predicate.py +0 -0
  143. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/source.py +0 -0
  144. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/text_mention.py +0 -0
  145. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/timeout.py +0 -0
  146. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/termination/token_usage.py +0 -0
  147. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/tools/__init__.py +0 -0
  148. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/tools/base.py +0 -0
  149. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/tools/coding_tools.py +0 -0
  150. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/tools/core_tools.py +0 -0
  151. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/tools/decorator.py +0 -0
  152. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/tools/memory_tool.py +0 -0
  153. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/tools/research_tools.py +0 -0
  154. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/types.py +0 -0
  155. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/__init__.py +0 -0
  156. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/discovery.py +0 -0
  157. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/execution.py +0 -0
  158. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/.gitignore +0 -0
  159. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/README.md +0 -0
  160. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/components.json +0 -0
  161. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/eslint.config.js +0 -0
  162. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/index.html +0 -0
  163. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/package-lock.json +0 -0
  164. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/package.json +0 -0
  165. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/plan.md +0 -0
  166. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/public/vite.svg +0 -0
  167. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/App.css +0 -0
  168. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/App.tsx +0 -0
  169. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/assets/react.svg +0 -0
  170. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/agent/agent-view.tsx +0 -0
  171. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/message_renderer/ContentRenderer.tsx +0 -0
  172. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/message_renderer/MessageRenderer.tsx +0 -0
  173. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/message_renderer/index.ts +0 -0
  174. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/message_renderer/types.ts +0 -0
  175. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/mode-toggle.tsx +0 -0
  176. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/orchestrator/orchestrator-view.tsx +0 -0
  177. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/shared/app-header.tsx +0 -0
  178. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/shared/chat-base.tsx +0 -0
  179. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/shared/context-inspector.tsx +0 -0
  180. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/shared/debug-panel.tsx +0 -0
  181. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/shared/entity-selector.tsx +0 -0
  182. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/shared/example-tasks-display.tsx +0 -0
  183. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/shared/session-switcher.tsx +0 -0
  184. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/shared/tool-approval-banner.tsx +0 -0
  185. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/theme-provider.tsx +0 -0
  186. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/attachment-gallery.tsx +0 -0
  187. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/badge.tsx +0 -0
  188. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/button.tsx +0 -0
  189. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/card.tsx +0 -0
  190. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/dialog.tsx +0 -0
  191. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/dropdown-menu.tsx +0 -0
  192. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/file-upload.tsx +0 -0
  193. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/input.tsx +0 -0
  194. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/label.tsx +0 -0
  195. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/loading-spinner.tsx +0 -0
  196. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/loading-state.tsx +0 -0
  197. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/message-input.tsx +0 -0
  198. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/scroll-area.tsx +0 -0
  199. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/slider.tsx +0 -0
  200. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/tabs.tsx +0 -0
  201. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/ui/textarea.tsx +0 -0
  202. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/workflow/workflow-result-renderer.tsx +0 -0
  203. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/components/workflow/workflow-view.tsx +0 -0
  204. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/hooks/messageHandlers.ts +0 -0
  205. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/hooks/useEntityExecution.ts +0 -0
  206. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/index.css +0 -0
  207. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/lib/format-utils.ts +0 -0
  208. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/lib/user-id.ts +0 -0
  209. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/lib/utils.ts +0 -0
  210. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/main.tsx +0 -0
  211. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/services/api.ts +0 -0
  212. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/types/index.ts +0 -0
  213. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/types/picoagents.ts +0 -0
  214. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/utils/message-utils.ts +0 -0
  215. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/src/vite-env.d.ts +0 -0
  216. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/tsconfig.app.json +0 -0
  217. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/tsconfig.json +0 -0
  218. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/tsconfig.node.json +0 -0
  219. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/vite.config.ts +0 -0
  220. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/frontend/yarn.lock +0 -0
  221. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/models.py +0 -0
  222. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/registry.py +0 -0
  223. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/server.py +0 -0
  224. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/session_store.py +0 -0
  225. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/sessions.py +0 -0
  226. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/ui/assets/index-DDp5MYFO.js +0 -0
  227. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/ui/assets/index-ar5tOeqt.css +0 -0
  228. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/ui/index.html +0 -0
  229. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/webui/ui/vite.svg +0 -0
  230. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/__init__.py +0 -0
  231. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/agent.py +0 -0
  232. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/core/__init__.py +0 -0
  233. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/core/_structure_hash.py +0 -0
  234. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/core/checkpoint.py +0 -0
  235. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/core/models.py +0 -0
  236. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/core/runner.py +0 -0
  237. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/core/workflow.py +0 -0
  238. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/defaults.py +0 -0
  239. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/loader.py +0 -0
  240. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/schema.py +0 -0
  241. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/schema_utils.py +0 -0
  242. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/steps/__init__.py +0 -0
  243. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/steps/agentbyte_agent.py +0 -0
  244. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/steps/echo.py +0 -0
  245. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/steps/function.py +0 -0
  246. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/steps/http.py +0 -0
  247. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/steps/step.py +0 -0
  248. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/steps/subworkflow.py +0 -0
  249. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/steps/transform.py +0 -0
  250. {agentbyte-0.22.2 → agentbyte-0.22.4}/src/agentbyte/workflow/visualizer.py +0 -0
  251. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_as_tool.py +0 -0
  252. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_basic.py +0 -0
  253. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_context_providers.py +0 -0
  254. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_event_types.py +0 -0
  255. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_memory_integration.py +0 -0
  256. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_middleware_integration.py +0 -0
  257. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_response_accessors.py +0 -0
  258. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_retry_middleware.py +0 -0
  259. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_agent_stream_events.py +0 -0
  260. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_embedding_agent.py +0 -0
  261. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/agents/test_tool_approval.py +0 -0
  262. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/cli/test_registry_check.py +0 -0
  263. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/context_providers/__init__.py +0 -0
  264. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/context_providers/test_skill_tools.py +0 -0
  265. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/context_providers/test_skills_provider.py +0 -0
  266. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/dataset/test_loader.py +0 -0
  267. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/dataset/test_multi_table.py +0 -0
  268. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/dataset/test_publish.py +0 -0
  269. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/dataset/test_sqlite_db.py +0 -0
  270. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/eval/test_eval_dataset.py +0 -0
  271. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/eval/test_multi_turn.py +0 -0
  272. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/eval/test_pairwise.py +0 -0
  273. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/eval/test_phase1_runner_and_targets.py +0 -0
  274. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/eval/test_phase2_checks_and_reports.py +0 -0
  275. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/eval/test_types_and_judges.py +0 -0
  276. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/llm/test_azure_client.py +0 -0
  277. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/llm/test_azure_embedding_client.py +0 -0
  278. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/llm/test_llm_types.py +0 -0
  279. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/llm/test_openai_client.py +0 -0
  280. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/llm/test_openai_embedding_client.py +0 -0
  281. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/llm/test_retry_observability.py +0 -0
  282. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/llm/test_retry_policy_api.py +0 -0
  283. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/memory/test_memory.py +0 -0
  284. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/middleware/test_middleware_chain.py +0 -0
  285. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/middleware/test_otel.py +0 -0
  286. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/middleware/test_retry_middleware.py +0 -0
  287. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/middleware/test_usage_logger.py +0 -0
  288. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/orchestration/test_ai_orchestrator.py +0 -0
  289. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/orchestration/test_base_orchestrator.py +0 -0
  290. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/orchestration/test_handoff_orchestrator.py +0 -0
  291. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/orchestration/test_plan_orchestrator.py +0 -0
  292. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/orchestration/test_round_robin.py +0 -0
  293. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/presets/test_agents.py +0 -0
  294. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/presets/test_clients.py +0 -0
  295. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/presets/test_instruction_registry.py +0 -0
  296. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/presets/test_orchestration.py +0 -0
  297. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/presets/test_streaming.py +0 -0
  298. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/presets/test_workflow.py +0 -0
  299. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/skills/__init__.py +0 -0
  300. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/skills/test_base.py +0 -0
  301. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/skills/test_resources.py +0 -0
  302. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/skills/test_scripts.py +0 -0
  303. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/skills/test_sources.py +0 -0
  304. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_base.py +0 -0
  305. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_cancellation.py +0 -0
  306. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_composite.py +0 -0
  307. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_consecutive_agent.py +0 -0
  308. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_external.py +0 -0
  309. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_function_call.py +0 -0
  310. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_handoff.py +0 -0
  311. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_max_message.py +0 -0
  312. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_predicate.py +0 -0
  313. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_source.py +0 -0
  314. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_text_mention.py +0 -0
  315. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_timeout.py +0 -0
  316. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/termination/test_token_usage.py +0 -0
  317. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/test_cancellation_token.py +0 -0
  318. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/test_context.py +0 -0
  319. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/test_logger.py +0 -0
  320. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/test_messages.py +0 -0
  321. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/test_package_api.py +0 -0
  322. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/test_session_store.py +0 -0
  323. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/test_types.py +0 -0
  324. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/tools/test_coding_tools.py +0 -0
  325. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/tools/test_memory_tool.py +0 -0
  326. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/tools/test_research_tools.py +0 -0
  327. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/tools/test_tools.py +0 -0
  328. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/webui/__init__.py +0 -0
  329. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/webui/helpers.py +0 -0
  330. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/webui/test_execution.py +0 -0
  331. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/webui/test_microwebui_server.py +0 -0
  332. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/webui/test_package_api.py +0 -0
  333. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/webui/test_registry.py +0 -0
  334. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/webui/test_server.py +0 -0
  335. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/webui/test_sessions.py +0 -0
  336. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_checkpoint.py +0 -0
  337. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_subworkflow_step.py +0 -0
  338. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_workflow_agent.py +0 -0
  339. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_workflow_class.py +0 -0
  340. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_workflow_models.py +0 -0
  341. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_workflow_runner.py +0 -0
  342. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_workflow_schema.py +0 -0
  343. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_workflow_steps.py +0 -0
  344. {agentbyte-0.22.2 → agentbyte-0.22.4}/tests/workflow/test_workflow_visualizer.py +0 -0
@@ -4,6 +4,18 @@ All notable changes to Agentbyte are documented in this file.
4
4
 
5
5
  The format follows Keep a Changelog principles and semantic versioning.
6
6
 
7
+ ## [0.22.4] - 2026-07-07
8
+
9
+ ### Fixed
10
+
11
+ - Fixed `SqlUsageBackend` to declare `llm_usage_events.recorded_at` as a timezone-aware SQL column and persist UTC-aware timestamps directly, so PostgreSQL usage logging works without coercing timestamps to naive UTC before writes.
12
+
13
+ ## [0.22.3] - 2026-07-07
14
+
15
+ ### Fixed
16
+
17
+ - Fixed `SqlUsageBackend` Postgres writes by normalizing timezone-aware `recorded_at` timestamps to naive UTC before persistence, avoiding asyncpg datetime binding errors that left `llm_usage_events` empty on PostgreSQL-backed runtimes while SQLite continued to work.
18
+
7
19
  ## [0.22.2] - 2026-07-05
8
20
 
9
21
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentbyte
3
- Version: 0.22.2
3
+ Version: 0.22.4
4
4
  Summary: A toolkit for designing multiagent systems
5
5
  Author-email: MrDataPsycho <mr.data.psycho@gmail.com>
6
6
  License-Expression: LicenseRef-Proprietary
@@ -78,7 +78,7 @@ Description-Content-Type: text/markdown
78
78
 
79
79
  Agentbyte is an observability-first agentic AI framework for building and studying multiagent systems with a learning-first, implementation-oriented workflow.
80
80
 
81
- Current release: **0.22.2**
81
+ Current release: **0.22.4**
82
82
 
83
83
  ## Current Capabilities
84
84
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Agentbyte is an observability-first agentic AI framework for building and studying multiagent systems with a learning-first, implementation-oriented workflow.
4
4
 
5
- Current release: **0.22.2**
5
+ Current release: **0.22.4**
6
6
 
7
7
  ## Current Capabilities
8
8
 
@@ -0,0 +1,2 @@
1
+ __version__ = "0.22.4"
2
+ VERSION = __version__
@@ -33,6 +33,7 @@ from collections.abc import AsyncGenerator, Callable
33
33
  from datetime import datetime, timezone
34
34
  from typing import Optional
35
35
 
36
+ from sqlalchemy import Column, DateTime
36
37
  from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession
37
38
  from sqlmodel import Field, SQLModel
38
39
 
@@ -64,6 +65,7 @@ class LlmUsageEvent(SQLModel, table=True):
64
65
  cost_estimate: Optional[float] = Field(default=None)
65
66
  recorded_at: datetime = Field(
66
67
  default_factory=lambda: datetime.now(timezone.utc),
68
+ sa_column=Column(DateTime(timezone=True), nullable=False),
67
69
  )
68
70
 
69
71
 
@@ -9,6 +9,7 @@ from __future__ import annotations
9
9
 
10
10
  import asyncio
11
11
  from collections.abc import AsyncGenerator
12
+ from datetime import datetime, timezone
12
13
  from typing import Any
13
14
 
14
15
  import pytest
@@ -188,6 +189,37 @@ async def test_multiple_calls_write_multiple_rows(middleware, model_ctx, engine)
188
189
  assert len(await _rows(engine)) == 3
189
190
 
190
191
 
192
+ @pytest.mark.asyncio
193
+ async def test_timezone_aware_recorded_at_preserves_timestamp_value(backend, engine) -> None:
194
+ from agentbyte.middleware.usage_logger import UsageEvent
195
+
196
+ await backend.write(
197
+ UsageEvent(
198
+ session_id="sess-aware",
199
+ user_id="user-aware",
200
+ identifier="test-app",
201
+ agent_name="test-agent",
202
+ model="gpt-4o",
203
+ duration_ms=1,
204
+ llm_calls=1,
205
+ tokens_input=1,
206
+ tokens_output=1,
207
+ tool_calls=0,
208
+ memory_operations=0,
209
+ cost_estimate=0.001,
210
+ recorded_at=datetime(2026, 7, 7, 12, 0, tzinfo=timezone.utc),
211
+ )
212
+ )
213
+
214
+ rows = await _rows(engine)
215
+ assert len(rows) == 1
216
+ assert rows[0].recorded_at == datetime(2026, 7, 7, 12, 0)
217
+
218
+
219
+ def test_recorded_at_column_is_timezone_aware() -> None:
220
+ assert LlmUsageEvent.__table__.c.recorded_at.type.timezone is True
221
+
222
+
191
223
  @pytest.mark.asyncio
192
224
  async def test_run_id_injected_by_agent_run() -> None:
193
225
  """agent.run() must stamp run_id when not already present."""
@@ -1,2 +0,0 @@
1
- __version__ = "0.22.2"
2
- VERSION = __version__
File without changes
File without changes
File without changes