agentbyte 0.51.0__tar.gz → 0.53.0__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 (438) hide show
  1. {agentbyte-0.51.0 → agentbyte-0.53.0}/CHANGELOG.md +74 -0
  2. {agentbyte-0.51.0 → agentbyte-0.53.0}/PKG-INFO +13 -3
  3. {agentbyte-0.51.0 → agentbyte-0.53.0}/README.md +6 -2
  4. {agentbyte-0.51.0 → agentbyte-0.53.0}/pyproject.toml +11 -1
  5. agentbyte-0.53.0/src/agentbyte/__about__.py +2 -0
  6. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/__init__.py +0 -4
  7. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/base.py +32 -0
  8. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/types.py +0 -12
  9. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/__init__.py +51 -4
  10. agentbyte-0.53.0/src/agentbyte/llm/anthropic/__init__.py +10 -0
  11. agentbyte-0.53.0/src/agentbyte/llm/anthropic/_conversion.py +440 -0
  12. agentbyte-0.53.0/src/agentbyte/llm/anthropic/chat.py +164 -0
  13. agentbyte-0.53.0/src/agentbyte/llm/anthropic/settings.py +22 -0
  14. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/chat.py +17 -6
  15. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/embedding.py +11 -1
  16. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/base.py +38 -3
  17. agentbyte-0.53.0/src/agentbyte/llm/bedrock/__init__.py +58 -0
  18. agentbyte-0.53.0/src/agentbyte/llm/bedrock/_client.py +24 -0
  19. agentbyte-0.53.0/src/agentbyte/llm/bedrock/anthropic_chat.py +174 -0
  20. agentbyte-0.53.0/src/agentbyte/llm/bedrock/cohere_embedding.py +138 -0
  21. agentbyte-0.53.0/src/agentbyte/llm/bedrock/settings.py +16 -0
  22. agentbyte-0.51.0/src/agentbyte/agents/embedding_agent.py → agentbyte-0.53.0/src/agentbyte/llm/embedding_batcher.py +18 -47
  23. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/embeddings_base.py +40 -2
  24. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai/chat.py +11 -6
  25. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai/embedding.py +5 -1
  26. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/pricing.py +111 -1
  27. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/types.py +14 -0
  28. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/__init__.py +2 -0
  29. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/base.py +16 -3
  30. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/otel.py +2 -2
  31. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/clients.py +26 -4
  32. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/streaming.py +1 -1
  33. agentbyte-0.53.0/tests/agents/test_agent_client_middleware_overlap.py +83 -0
  34. agentbyte-0.53.0/tests/llm/test_anthropic_bedrock_client.py +153 -0
  35. agentbyte-0.53.0/tests/llm/test_anthropic_client.py +388 -0
  36. agentbyte-0.53.0/tests/llm/test_client_middleware.py +185 -0
  37. agentbyte-0.53.0/tests/llm/test_cohere_bedrock_embedding_client.py +237 -0
  38. agentbyte-0.51.0/tests/agents/test_embedding_agent.py → agentbyte-0.53.0/tests/llm/test_embedding_batcher.py +26 -90
  39. agentbyte-0.51.0/src/agentbyte/__about__.py +0 -2
  40. {agentbyte-0.51.0 → agentbyte-0.53.0}/.gitignore +0 -0
  41. {agentbyte-0.51.0 → agentbyte-0.53.0}/LICENSE +0 -0
  42. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/__init__.py +0 -0
  43. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/_optional.py +0 -0
  44. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/__init__.py +0 -0
  45. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/app.py +0 -0
  46. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/distributed_context.py +0 -0
  47. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/executor.py +0 -0
  48. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/tool.py +0 -0
  49. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/agent.py +0 -0
  50. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/agent_as_tool.py +0 -0
  51. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cancellation_token.py +0 -0
  52. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/catalog.py +0 -0
  53. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/__init__.py +0 -0
  54. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/__main__.py +0 -0
  55. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/eval_commands.py +0 -0
  56. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/history_args.py +0 -0
  57. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/loading.py +0 -0
  58. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/main.py +0 -0
  59. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/optim_commands.py +0 -0
  60. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/report_output.py +0 -0
  61. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/serve_commands.py +0 -0
  62. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/__init__.py +0 -0
  63. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/counters.py +0 -0
  64. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/errors.py +0 -0
  65. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/grouping.py +0 -0
  66. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/strategies.py +0 -0
  67. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/component.py +0 -0
  68. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context.py +0 -0
  69. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context_providers/__init__.py +0 -0
  70. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context_providers/base.py +0 -0
  71. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context_providers/skill_tools.py +0 -0
  72. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context_providers/skills.py +0 -0
  73. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/__init__.py +0 -0
  74. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/_aiosqlite.py +0 -0
  75. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/base.py +0 -0
  76. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/config.py +0 -0
  77. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/importer.py +0 -0
  78. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/json.py +0 -0
  79. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/loader.py +0 -0
  80. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/publish.py +0 -0
  81. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/publish_config.py +0 -0
  82. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/publishers.py +0 -0
  83. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/s3.py +0 -0
  84. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/sources.py +0 -0
  85. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/sqlite.py +0 -0
  86. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/sqlite_db.py +0 -0
  87. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/write_config.py +0 -0
  88. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/writers.py +0 -0
  89. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/entity.py +0 -0
  90. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/__init__.py +0 -0
  91. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/base.py +0 -0
  92. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/__init__.py +0 -0
  93. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/decorator.py +0 -0
  94. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/keyword.py +0 -0
  95. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/local.py +0 -0
  96. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/process.py +0 -0
  97. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/tool.py +0 -0
  98. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/types.py +0 -0
  99. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/comparison.py +0 -0
  100. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/eval_dataset.py +0 -0
  101. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/__init__.py +0 -0
  102. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/_writer_lock.py +0 -0
  103. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/config.py +0 -0
  104. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/conformance.py +0 -0
  105. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/errors.py +0 -0
  106. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/models.py +0 -0
  107. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/recorder.py +0 -0
  108. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/sql.py +0 -0
  109. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/sqlite.py +0 -0
  110. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/store.py +0 -0
  111. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/transitions.py +0 -0
  112. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/__init__.py +0 -0
  113. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/base.py +0 -0
  114. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/composite.py +0 -0
  115. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/llm.py +0 -0
  116. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/pairwise.py +0 -0
  117. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/reference.py +0 -0
  118. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/trajectory.py +0 -0
  119. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/validation.py +0 -0
  120. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/pairwise.py +0 -0
  121. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/report.py +0 -0
  122. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/runner.py +0 -0
  123. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/splitting.py +0 -0
  124. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/__init__.py +0 -0
  125. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/agent.py +0 -0
  126. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/model.py +0 -0
  127. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/multi_turn.py +0 -0
  128. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/orchestrator.py +0 -0
  129. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/runtime.py +0 -0
  130. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/workflow.py +0 -0
  131. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/types.py +0 -0
  132. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/__init__.py +0 -0
  133. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/benchmark.py +0 -0
  134. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/compare.py +0 -0
  135. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/coordinator.py +0 -0
  136. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/jobs.py +0 -0
  137. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/smoke.py +0 -0
  138. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/smoke_tasks.json +0 -0
  139. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/suite.py +0 -0
  140. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/verdict.py +0 -0
  141. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/execution_trace/__init__.py +0 -0
  142. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/execution_trace/collector.py +0 -0
  143. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/execution_trace/models.py +0 -0
  144. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/_retry_observability.py +0 -0
  145. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/auth.py +0 -0
  146. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/__init__.py +0 -0
  147. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/auth.py +0 -0
  148. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/settings.py +0 -0
  149. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure_openai.py +0 -0
  150. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure_openai_embedding.py +0 -0
  151. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai/__init__.py +0 -0
  152. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai/settings.py +0 -0
  153. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai_embedding.py +0 -0
  154. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/retry_policy.py +0 -0
  155. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/settings.py +0 -0
  156. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/logger.py +0 -0
  157. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/memory/__init__.py +0 -0
  158. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/memory/base.py +0 -0
  159. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/messages.py +0 -0
  160. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/retry.py +0 -0
  161. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/sql_usage.py +0 -0
  162. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/usage_logger.py +0 -0
  163. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/notebook.py +0 -0
  164. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/__init__.py +0 -0
  165. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/base.py +0 -0
  166. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/binding.py +0 -0
  167. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/config.py +0 -0
  168. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/gepa.py +0 -0
  169. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/job.py +0 -0
  170. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/mipro.py +0 -0
  171. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/pareto.py +0 -0
  172. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/reflective.py +0 -0
  173. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/report.py +0 -0
  174. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/spec.py +0 -0
  175. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/trace.py +0 -0
  176. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/__init__.py +0 -0
  177. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/ai.py +0 -0
  178. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/base.py +0 -0
  179. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/handoff.py +0 -0
  180. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/plan.py +0 -0
  181. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/policies.py +0 -0
  182. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/round_robin.py +0 -0
  183. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/__init__.py +0 -0
  184. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/agents.py +0 -0
  185. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/benchmark.py +0 -0
  186. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/capitals.py +0 -0
  187. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instruction_registry.py +0 -0
  188. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/orchestrator.yaml +0 -0
  189. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/query_rewriter.yaml +0 -0
  190. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/researcher.yaml +0 -0
  191. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/reviewer.yaml +0 -0
  192. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/writer.yaml +0 -0
  193. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/orchestration.py +0 -0
  194. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/capitals-format/SKILL.md +0 -0
  195. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md +0 -0
  196. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/hr-analyst/SKILL.md +0 -0
  197. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/hr-analyst/resources/departments.md +0 -0
  198. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/hr-analyst/resources/employees.md +0 -0
  199. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/hr-analyst/resources/payroll.md +0 -0
  200. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/workflow.py +0 -0
  201. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/session_store.py +0 -0
  202. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/__init__.py +0 -0
  203. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/base.py +0 -0
  204. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/resources.py +0 -0
  205. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/scripts.py +0 -0
  206. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/sources.py +0 -0
  207. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/validation.py +0 -0
  208. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/__init__.py +0 -0
  209. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/base.py +0 -0
  210. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/cancellation.py +0 -0
  211. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/composite.py +0 -0
  212. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/consecutive_agent.py +0 -0
  213. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/external.py +0 -0
  214. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/function_call.py +0 -0
  215. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/handoff.py +0 -0
  216. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/max_message.py +0 -0
  217. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/predicate.py +0 -0
  218. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/source.py +0 -0
  219. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/text_mention.py +0 -0
  220. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/timeout.py +0 -0
  221. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/token_usage.py +0 -0
  222. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/__init__.py +0 -0
  223. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/base.py +0 -0
  224. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/coding_tools.py +0 -0
  225. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/core_tools.py +0 -0
  226. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/decorator.py +0 -0
  227. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/__init__.py +0 -0
  228. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/client.py +0 -0
  229. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/config.py +0 -0
  230. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/errors.py +0 -0
  231. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/tool.py +0 -0
  232. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/transports.py +0 -0
  233. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/memory_tool.py +0 -0
  234. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/research_tools.py +0 -0
  235. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/types.py +0 -0
  236. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/__init__.py +0 -0
  237. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/discovery.py +0 -0
  238. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/eval_routes.py +0 -0
  239. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/execution.py +0 -0
  240. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/__init__.py +0 -0
  241. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/__init__.py +0 -0
  242. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/apps_server.py +0 -0
  243. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/auth_server.py +0 -0
  244. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/basic_server.py +0 -0
  245. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/mrtr_server.py +0 -0
  246. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/notify_server.py +0 -0
  247. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp_playground.py +0 -0
  248. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp_routes.py +0 -0
  249. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/models.py +0 -0
  250. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/registry.py +0 -0
  251. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/server.py +0 -0
  252. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/session_store.py +0 -0
  253. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/sessions.py +0 -0
  254. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/ui/assets/index-BreogZut.js +0 -0
  255. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/ui/assets/index-ptxe7GHs.css +0 -0
  256. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/ui/index.html +0 -0
  257. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/ui/vite.svg +0 -0
  258. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/__init__.py +0 -0
  259. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/agent.py +0 -0
  260. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/__init__.py +0 -0
  261. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/_structure_hash.py +0 -0
  262. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/checkpoint.py +0 -0
  263. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/models.py +0 -0
  264. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/runner.py +0 -0
  265. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/workflow.py +0 -0
  266. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/defaults.py +0 -0
  267. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/errors.py +0 -0
  268. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/loader.py +0 -0
  269. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/schema.py +0 -0
  270. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/schema_utils.py +0 -0
  271. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/sqlite_checkpoint.py +0 -0
  272. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/__init__.py +0 -0
  273. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/agent.py +0 -0
  274. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/echo.py +0 -0
  275. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/function.py +0 -0
  276. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/http.py +0 -0
  277. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/step.py +0 -0
  278. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/subworkflow.py +0 -0
  279. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/transform.py +0 -0
  280. {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/visualizer.py +0 -0
  281. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/a2a/a2a_helpers.py +0 -0
  282. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/a2a/test_a2a_adapters.py +0 -0
  283. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/a2a/test_distributed_context.py +0 -0
  284. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_as_tool.py +0 -0
  285. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_basic.py +0 -0
  286. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_context_providers.py +0 -0
  287. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_error_response.py +0 -0
  288. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_event_types.py +0 -0
  289. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_memory_integration.py +0 -0
  290. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_middleware_integration.py +0 -0
  291. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_response_accessors.py +0 -0
  292. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_retry_middleware.py +0 -0
  293. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_stop_at_tools.py +0 -0
  294. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_stream_events.py +0 -0
  295. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_tool_approval.py +0 -0
  296. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_tool_batch_resolution.py +0 -0
  297. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_tool_metadata.py +0 -0
  298. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_eval_benchmark_commands.py +0 -0
  299. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_loading.py +0 -0
  300. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_registry_check.py +0 -0
  301. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_report_output.py +0 -0
  302. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_serve_command.py +0 -0
  303. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/compaction/test_compaction.py +0 -0
  304. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/conftest.py +0 -0
  305. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/context_providers/__init__.py +0 -0
  306. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/context_providers/test_skill_tools.py +0 -0
  307. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/context_providers/test_skills_provider.py +0 -0
  308. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/fake_s3.py +0 -0
  309. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_dataset_exit.py +0 -0
  310. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_loader.py +0 -0
  311. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_multi_table.py +0 -0
  312. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_publish.py +0 -0
  313. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_sqlite_db.py +0 -0
  314. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_dimension_scores.py +0 -0
  315. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_benchmarks.py +0 -0
  316. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_dataset.py +0 -0
  317. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_history.py +0 -0
  318. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_history_backends.py +0 -0
  319. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_jobs.py +0 -0
  320. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_workbench.py +0 -0
  321. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_execution_trajectories.py +0 -0
  322. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_history_config.py +0 -0
  323. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_multi_turn.py +0 -0
  324. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_pairwise.py +0 -0
  325. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_phase1_runner_and_targets.py +0 -0
  326. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_phase2_checks_and_reports.py +0 -0
  327. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_run_comparison.py +0 -0
  328. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_score_integrity.py +0 -0
  329. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_splitting.py +0 -0
  330. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_types_and_judges.py +0 -0
  331. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_azure_client.py +0 -0
  332. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_azure_embedding_client.py +0 -0
  333. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_llm_types.py +0 -0
  334. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_openai_client.py +0 -0
  335. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_openai_embedding_client.py +0 -0
  336. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_pricing.py +0 -0
  337. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_retry_observability.py +0 -0
  338. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_retry_policy_api.py +0 -0
  339. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_retryable_error_substrings.py +0 -0
  340. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/memory/test_memory.py +0 -0
  341. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_context_compaction.py +0 -0
  342. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_deduplicate_tool_result.py +0 -0
  343. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_middleware_chain.py +0 -0
  344. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_otel.py +0 -0
  345. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_retry_middleware.py +0 -0
  346. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_sql_usage.py +0 -0
  347. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_usage_logger.py +0 -0
  348. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/__init__.py +0 -0
  349. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/fakes.py +0 -0
  350. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_base.py +0 -0
  351. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_base_integration.py +0 -0
  352. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_binding.py +0 -0
  353. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_config.py +0 -0
  354. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_description_tunable.py +0 -0
  355. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_gepa.py +0 -0
  356. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_mipro.py +0 -0
  357. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_orchestrator_optim.py +0 -0
  358. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_pareto.py +0 -0
  359. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_reflective.py +0 -0
  360. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_report.py +0 -0
  361. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_score_integrity.py +0 -0
  362. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_spec.py +0 -0
  363. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_trace.py +0 -0
  364. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_ai_orchestrator.py +0 -0
  365. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_base_orchestrator.py +0 -0
  366. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_handoff_orchestrator.py +0 -0
  367. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_history_tool_call_pairing.py +0 -0
  368. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestration_usage_breakdown.py +0 -0
  369. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_agent_contract.py +0 -0
  370. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_finalization.py +0 -0
  371. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_member_events.py +0 -0
  372. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_otel.py +0 -0
  373. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_synthesis.py +0 -0
  374. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_plan_orchestrator.py +0 -0
  375. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_round_robin.py +0 -0
  376. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_agents.py +0 -0
  377. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_benchmark.py +0 -0
  378. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_capitals.py +0 -0
  379. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_clients.py +0 -0
  380. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_instruction_registry.py +0 -0
  381. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_orchestration.py +0 -0
  382. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_streaming.py +0 -0
  383. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_workflow.py +0 -0
  384. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/__init__.py +0 -0
  385. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/test_base.py +0 -0
  386. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/test_resources.py +0 -0
  387. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/test_scripts.py +0 -0
  388. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/test_sources.py +0 -0
  389. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_base.py +0 -0
  390. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_cancellation.py +0 -0
  391. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_composite.py +0 -0
  392. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_consecutive_agent.py +0 -0
  393. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_external.py +0 -0
  394. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_function_call.py +0 -0
  395. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_handoff.py +0 -0
  396. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_max_message.py +0 -0
  397. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_predicate.py +0 -0
  398. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_source.py +0 -0
  399. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_text_mention.py +0 -0
  400. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_timeout.py +0 -0
  401. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_token_usage.py +0 -0
  402. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_cancellation_token.py +0 -0
  403. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_context.py +0 -0
  404. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_logger.py +0 -0
  405. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_messages.py +0 -0
  406. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_option_enums.py +0 -0
  407. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_optional_extras.py +0 -0
  408. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_package_api.py +0 -0
  409. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_session_store.py +0 -0
  410. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_types.py +0 -0
  411. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/fixtures/mcp_stdio_server.py +0 -0
  412. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_coding_tools.py +0 -0
  413. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_mcp_tools.py +0 -0
  414. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_memory_tool.py +0 -0
  415. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_research_tools.py +0 -0
  416. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_tools.py +0 -0
  417. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/__init__.py +0 -0
  418. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/helpers.py +0 -0
  419. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_eval_routes.py +0 -0
  420. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_execution.py +0 -0
  421. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_mcp_routes.py +0 -0
  422. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_package_api.py +0 -0
  423. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_registry.py +0 -0
  424. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_server.py +0 -0
  425. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_sessions.py +0 -0
  426. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_workflow_streaming.py +0 -0
  427. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/recovery_worker.py +0 -0
  428. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_agent_step_imports.py +0 -0
  429. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_checkpoint.py +0 -0
  430. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_subworkflow_step.py +0 -0
  431. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_agent.py +0 -0
  432. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_class.py +0 -0
  433. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_models.py +0 -0
  434. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_reliability.py +0 -0
  435. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_runner.py +0 -0
  436. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_schema.py +0 -0
  437. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_steps.py +0 -0
  438. {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_visualizer.py +0 -0
@@ -6,6 +6,80 @@ The format follows Keep a Changelog principles and semantic versioning.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.53.0] - 2026-10-10
10
+
11
+ ### Added
12
+
13
+ - `ClientMiddleware`: a marker subclass of `BaseMiddleware` for middleware safe to attach
14
+ directly to a client — no `AgentContext` or conversational state required. `OTelMiddleware`,
15
+ `LoggingMiddleware`, `MetricsMiddleware`, and `RateLimitMiddleware` now qualify. Every
16
+ embedding client (`OpenAIEmbeddingClient`, `AzureOpenAIEmbeddingClient`,
17
+ `CohereBedrockEmbeddingClient`) and every chat client (`OpenAIChatCompletionClient`,
18
+ `AzureOpenAIChatCompletionClient`, `AnthropicChatCompletionClient`,
19
+ `AnthropicBedrockChatCompletionClient`) accepts a `middlewares=[...]` constructor argument,
20
+ getting OTel tracing/logging on direct calls with no `Agent` wrapper required. Passing a
21
+ plain `BaseMiddleware` that needs agent state (e.g. `ApprovalMiddleware`,
22
+ `ContextCompactionMiddleware`) raises `TypeError` immediately. Chat clients wrap only the
23
+ non-streaming `create()`; `create_stream()` remains unwrapped (documented gap for a future
24
+ spec — see `docs/specs/0075-client-level-middleware/`).
25
+ - `agentbyte.llm.EmbeddingBatcher`: batching/concurrency orchestration over any embedding
26
+ client (sequential or semaphore-bounded concurrent batches, `run()`/`run_stream()` with
27
+ `EmbeddingBatchProgressEvent` progress).
28
+ - `BaseEmbeddingClient.middleware_types` / `BaseChatCompletionClient.middleware_types`: a
29
+ public, read-only property exposing the concrete middleware types attached to a client.
30
+ `Agent` uses it to warn (`warnings.warn`, not an error) when it and its `model_client` both
31
+ configure the same middleware class — that call would otherwise run through two nested
32
+ `MiddlewareChain`s, double-emitting spans/logs/metrics for one real API call. See
33
+ `docs/design-guide/01-agent_topics/topic_middleware.md`'s "Client-Level Middleware" caveat.
34
+
35
+ ### Changed (breaking)
36
+
37
+ - Removed `agentbyte.agents.EmbeddingAgent`. It bundled two unrelated concerns — batching and
38
+ middleware/OTel access — under a misleading "agent" name (no reasoning, no tool calls, no
39
+ conversational state). Middleware now lives on the embedding client itself (see
40
+ `ClientMiddleware` above); batching moved to `agentbyte.llm.EmbeddingBatcher`, which drops the
41
+ `middlewares` and `context: AgentContext` parameters entirely since the client it wraps owns
42
+ that chain. No compatibility shim. Migration guide:
43
+ `docs/design-guide/01-agent_topics/topic_embedding_batcher.md`.
44
+ - `EmbeddingBatchProgressEvent` moved from `agentbyte.agents.types` to `agentbyte.llm.types` (now
45
+ a standalone `pydantic.BaseModel`, not an `agents.types.BaseEvent` subclass) — it was never an
46
+ agent event, and keeping it in `agents.types` would have made `agentbyte.llm` depend on
47
+ `agentbyte.agents`, inverting the package layering.
48
+
49
+ ## [0.52.0] - 2026-10-10
50
+
51
+ ### Added
52
+
53
+ - `AnthropicChatCompletionClient`: direct Anthropic Claude chat client (`agentbyte[anthropic]`),
54
+ matching the existing `OpenAIChatCompletionClient` construction/DI/retry/pricing/error-mapping
55
+ contract (`from_api_key()`, `_to_config`/`_from_config` without persisting secrets, tool-use,
56
+ streaming).
57
+ - `AnthropicBedrockChatCompletionClient`: the same Claude Messages API client transported through
58
+ AWS Bedrock (`agentbyte[bedrock]`) via `AsyncAnthropicBedrock` (SigV4, boto3 credential chain),
59
+ constructed with `from_region()`. Shares conversion/parsing logic with the direct client through
60
+ `AnthropicConversionMixin`.
61
+ - `CohereBedrockEmbeddingClient`: Cohere Embed v3 (English/Multilingual) and v4 embeddings via AWS
62
+ Bedrock Runtime (`agentbyte[aws]`, `aioboto3`), with `CohereInputType`/`CohereTruncate` options
63
+ and the same injected-or-fresh-client pattern as `dataset/s3.py`'s `s3_client()`.
64
+ - `build_chat_client` auto-detects `anthropic` (`ANTHROPIC_API_KEY`) and `anthropic-bedrock`
65
+ (`AWS_REGION` + `ANTHROPIC_BEDROCK_MODEL`) alongside the existing OpenAI/Azure detection.
66
+ - Pricing for Claude 5.5 (`claude-opus-5-5`, `claude-haiku-5-5`), Cohere Embed v3 (English/
67
+ Multilingual, estimate), and Cohere Embed v4 (verified against AWS Bedrock's own pricing page).
68
+
69
+ ### Fixed
70
+
71
+ - `AnthropicBedrockChatCompletionClient` was built on `AsyncAnthropicBedrockMantle`, a Bedrock
72
+ access path authenticated by a bearer token (`AWS_BEARER_TOKEN_BEDROCK`), not AWS IAM
73
+ credentials — every call 404'd with a misleading "model does not exist" error against a real
74
+ account. Caught by live smoke-testing against real Bedrock, invisible to the mocked unit tests.
75
+ Swapped to `AsyncAnthropicBedrock`, the real SigV4/boto3-credential-chain transport.
76
+ - The Bedrock Claude pricing normalizer didn't strip cross-region inference-profile prefixes
77
+ (`eu.`/`global.`, required for on-demand invoke on most accounts), silently falling back to
78
+ default pricing for real Bedrock calls.
79
+ - `CohereBedrockEmbeddingClient` read billed tokens from a response-body field that doesn't exist
80
+ on real Bedrock responses, so `tokens_input`/`cost_estimate` were silently always zero despite
81
+ successful calls. Now reads the real `x-amzn-bedrock-input-token-count` response header.
82
+
9
83
  ## [0.51.0] - 2026-10-09
10
84
 
11
85
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentbyte
3
- Version: 0.51.0
3
+ Version: 0.53.0
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
@@ -17,6 +17,8 @@ Requires-Dist: uvicorn[standard]>=0.44.0; extra == 'a2a'
17
17
  Provides-Extra: all
18
18
  Requires-Dist: aioboto3>=15.5.0; extra == 'all'
19
19
  Requires-Dist: aiosqlite>=0.22.1; extra == 'all'
20
+ Requires-Dist: anthropic>=1.13.0; extra == 'all'
21
+ Requires-Dist: anthropic[bedrock]>=1.13.0; extra == 'all'
20
22
  Requires-Dist: arxiv>=2.1; extra == 'all'
21
23
  Requires-Dist: asyncpg>=0.31.0; extra == 'all'
22
24
  Requires-Dist: azure-identity>=1.25.1; extra == 'all'
@@ -35,11 +37,15 @@ Requires-Dist: sqlmodel>=0.0.38; extra == 'all'
35
37
  Requires-Dist: tiktoken>=0.9.0; extra == 'all'
36
38
  Requires-Dist: uvicorn[standard]>=0.44.0; extra == 'all'
37
39
  Requires-Dist: youtube-transcript-api>=0.6; extra == 'all'
40
+ Provides-Extra: anthropic
41
+ Requires-Dist: anthropic>=1.13.0; extra == 'anthropic'
38
42
  Provides-Extra: aws
39
43
  Requires-Dist: aioboto3>=15.5.0; extra == 'aws'
40
44
  Provides-Extra: azureopenai
41
45
  Requires-Dist: azure-identity>=1.25.1; extra == 'azureopenai'
42
46
  Requires-Dist: openai>=1.107.1; extra == 'azureopenai'
47
+ Provides-Extra: bedrock
48
+ Requires-Dist: anthropic[bedrock]>=1.13.0; extra == 'bedrock'
43
49
  Provides-Extra: gunicorn
44
50
  Requires-Dist: fastapi>=0.135.2; extra == 'gunicorn'
45
51
  Requires-Dist: gunicorn>=23.0.0; extra == 'gunicorn'
@@ -84,7 +90,7 @@ Description-Content-Type: text/markdown
84
90
 
85
91
  Agentbyte is an observability-first agentic AI framework for building and studying multiagent systems with a learning-first, implementation-oriented workflow.
86
92
 
87
- Current release: **0.51.0**
93
+ Current release: **0.53.0**
88
94
 
89
95
  ## Building an Agent
90
96
 
@@ -252,6 +258,8 @@ Other orchestrators follow the same `run()`/`run_stream()` shape: `AIOrchestrato
252
258
 
253
259
  ## Middleware
254
260
 
261
+ Chat and embedding clients also accept `middlewares=[...]` directly for client-safe middleware.
262
+
255
263
  Built in: `LoggingMiddleware`, `PIIRedactionMiddleware`, `GuardrailMiddleware`, `MetricsMiddleware`, `RateLimitMiddleware`, `ApprovalMiddleware`, `ContextCompactionMiddleware`, `RetryMiddleware`, `OTelMiddleware`. Attach any combination to the same support agent via `middlewares=[...]`:
256
264
 
257
265
  ```python
@@ -333,7 +341,9 @@ uv add "agentbyte[openai,sqlite]"
333
341
  | --- | --- | --- |
334
342
  | `openai` | `openai` | `OpenAIChatCompletionClient`, `OpenAIEmbeddingClient` |
335
343
  | `azureopenai` | `openai`, `azure-identity` | Azure OpenAI clients and Entra ID credentials |
336
- | `aws` | `aioboto3` | S3 dataset sources, writers and publishers |
344
+ | `anthropic` | `anthropic` | Direct Anthropic Claude chat client |
345
+ | `bedrock` | `anthropic[bedrock]` | Anthropic Claude chat through AWS Bedrock |
346
+ | `aws` | `aioboto3` | S3 dataset I/O and Cohere Bedrock embedding client |
337
347
  | `otel` | OpenTelemetry API, SDK, OTLP exporter | OpenTelemetry tracing and metrics |
338
348
  | `webui` | `fastapi`, `uvicorn` | `agentbyte webui` |
339
349
  | `gunicorn` | `webui` + `gunicorn` | Production single-worker serving (`gunicorn -k uvicorn.workers.UvicornWorker -w 1`) |
@@ -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.51.0**
5
+ Current release: **0.53.0**
6
6
 
7
7
  ## Building an Agent
8
8
 
@@ -170,6 +170,8 @@ Other orchestrators follow the same `run()`/`run_stream()` shape: `AIOrchestrato
170
170
 
171
171
  ## Middleware
172
172
 
173
+ Chat and embedding clients also accept `middlewares=[...]` directly for client-safe middleware.
174
+
173
175
  Built in: `LoggingMiddleware`, `PIIRedactionMiddleware`, `GuardrailMiddleware`, `MetricsMiddleware`, `RateLimitMiddleware`, `ApprovalMiddleware`, `ContextCompactionMiddleware`, `RetryMiddleware`, `OTelMiddleware`. Attach any combination to the same support agent via `middlewares=[...]`:
174
176
 
175
177
  ```python
@@ -251,7 +253,9 @@ uv add "agentbyte[openai,sqlite]"
251
253
  | --- | --- | --- |
252
254
  | `openai` | `openai` | `OpenAIChatCompletionClient`, `OpenAIEmbeddingClient` |
253
255
  | `azureopenai` | `openai`, `azure-identity` | Azure OpenAI clients and Entra ID credentials |
254
- | `aws` | `aioboto3` | S3 dataset sources, writers and publishers |
256
+ | `anthropic` | `anthropic` | Direct Anthropic Claude chat client |
257
+ | `bedrock` | `anthropic[bedrock]` | Anthropic Claude chat through AWS Bedrock |
258
+ | `aws` | `aioboto3` | S3 dataset I/O and Cohere Bedrock embedding client |
255
259
  | `otel` | OpenTelemetry API, SDK, OTLP exporter | OpenTelemetry tracing and metrics |
256
260
  | `webui` | `fastapi`, `uvicorn` | `agentbyte webui` |
257
261
  | `gunicorn` | `webui` + `gunicorn` | Production single-worker serving (`gunicorn -k uvicorn.workers.UvicornWorker -w 1`) |
@@ -24,6 +24,16 @@ azureopenai = [
24
24
  "openai>=1.107.1",
25
25
  "azure-identity>=1.25.1",
26
26
  ]
27
+ anthropic = [
28
+ "anthropic>=1.13.0",
29
+ ]
30
+ # anthropic[bedrock] does its own AWS SigV4 signing via AnthropicBedrock*; deliberately
31
+ # not named "aws" (that extra is aioboto3, which this one does not need).
32
+ bedrock = [
33
+ "anthropic[bedrock]>=1.13.0",
34
+ ]
35
+ # aioboto3 for AWS I/O: S3 dataset access (dataset/s3.py) and Bedrock Runtime
36
+ # (llm/bedrock/, e.g. CohereBedrockEmbeddingClient).
27
37
  aws = [
28
38
  "aioboto3>=15.5.0",
29
39
  ]
@@ -76,7 +86,7 @@ a2a = [
76
86
  "agentbyte[webui]",
77
87
  ]
78
88
  all = [
79
- "agentbyte[openai,azureopenai,aws,otel,webui,gunicorn,sql,tiktoken,optim,viz,research]",
89
+ "agentbyte[openai,azureopenai,anthropic,bedrock,aws,otel,webui,gunicorn,sql,tiktoken,optim,viz,research]",
80
90
  ]
81
91
 
82
92
 
@@ -0,0 +1,2 @@
1
+ __version__ = "0.53.0"
2
+ VERSION = __version__
@@ -11,13 +11,11 @@ from .base import (
11
11
  AgentToolError,
12
12
  BaseAgent,
13
13
  )
14
- from .embedding_agent import EmbeddingAgent
15
14
  from .types import (
16
15
  AgentErrorDetail,
17
16
  AgentEvent,
18
17
  AgentResponse,
19
18
  BaseEvent,
20
- EmbeddingBatchProgressEvent,
21
19
  ErrorEvent,
22
20
  FatalErrorEvent,
23
21
  MemoryRetrievalEvent,
@@ -37,7 +35,6 @@ __all__ = [
37
35
  "BaseAgent",
38
36
  "Agent",
39
37
  "AgentAsTool",
40
- "EmbeddingAgent",
41
38
  "AgentError",
42
39
  "AgentConfigurationError",
43
40
  "AgentExecutionError",
@@ -57,7 +54,6 @@ __all__ = [
57
54
  "MemoryRetrievalEvent",
58
55
  "ErrorEvent",
59
56
  "FatalErrorEvent",
60
- "EmbeddingBatchProgressEvent",
61
57
  "AgentResponse",
62
58
  "AgentErrorDetail",
63
59
  ]
@@ -3,6 +3,7 @@ Base agent abstraction and shared helper behavior.
3
3
  """
4
4
 
5
5
  import json
6
+ import warnings
6
7
  from abc import ABC, abstractmethod
7
8
  from collections.abc import AsyncGenerator, Callable
8
9
  from typing import Any, Dict, List, Optional, Type, Union
@@ -98,6 +99,37 @@ class BaseAgent(ABC):
98
99
  self.extra_config = kwargs
99
100
 
100
101
  self._validate_configuration()
102
+ self._warn_on_duplicate_client_middleware()
103
+
104
+ def _warn_on_duplicate_client_middleware(self) -> None:
105
+ """Warn when this agent and its model_client both configure the same
106
+ middleware type.
107
+
108
+ A client's own ``middlewares`` already wraps its provider call in a
109
+ ``MiddlewareChain``; this agent wraps that same call in a second chain.
110
+ Attaching the same middleware class at both layers runs it twice per
111
+ logical call — e.g. two nested OTel spans and the token/duration
112
+ histograms recorded twice for one real API call. This is sometimes
113
+ intentional (e.g. two differently configured rate limiters), so it is
114
+ a warning, not an error — see ``topic_middleware.md``'s "Client-Level
115
+ Middleware" section for the full caveat.
116
+ """
117
+ client_types = getattr(self.model_client, "middleware_types", None)
118
+ if not client_types:
119
+ return
120
+ agent_types = {type(m) for m in self.middleware_chain.middlewares}
121
+ overlap = agent_types & client_types
122
+ if not overlap:
123
+ return
124
+ names = ", ".join(sorted(t.__name__ for t in overlap))
125
+ warnings.warn(
126
+ f"Agent '{self.name}' and its model_client "
127
+ f"({type(self.model_client).__name__}) both configure: {names}. "
128
+ "Each model call will run through both middleware chains, "
129
+ "double-emitting spans/logs/metrics for one real API call. "
130
+ "Configure each middleware at one layer only.",
131
+ stacklevel=3,
132
+ )
101
133
 
102
134
  def _validate_configuration(self) -> None:
103
135
  """Validate required configuration fields."""
@@ -164,16 +164,6 @@ class FatalErrorEvent(BaseEvent):
164
164
  )
165
165
 
166
166
 
167
- class EmbeddingBatchProgressEvent(BaseEvent):
168
- """Event emitted after each batch completes during an EmbeddingAgent run."""
169
-
170
- event_type: Literal["embedding_batch_progress"] = "embedding_batch_progress"
171
- batch_index: int = Field(..., description="Zero-based index of the completed batch")
172
- total_batches: int = Field(..., description="Total number of batches for this run")
173
- completed_texts: int = Field(..., description="Cumulative number of texts embedded so far")
174
- total_texts: int = Field(..., description="Total number of texts in this run")
175
-
176
-
177
167
  class AgentErrorDetail(BaseModel):
178
168
  """Structured detail for a run that ended with ``finish_reason="error"``.
179
169
 
@@ -350,7 +340,6 @@ AgentEvent = Union[
350
340
  MemoryRetrievalEvent,
351
341
  ErrorEvent,
352
342
  FatalErrorEvent,
353
- EmbeddingBatchProgressEvent,
354
343
  ]
355
344
 
356
345
 
@@ -370,7 +359,6 @@ __all__ = [
370
359
  "ModelStreamChunkEvent",
371
360
  "ErrorEvent",
372
361
  "FatalErrorEvent",
373
- "EmbeddingBatchProgressEvent",
374
362
  "AgentResponse",
375
363
  "AgentErrorDetail",
376
364
  ]
@@ -33,6 +33,7 @@ from .base import (
33
33
  )
34
34
  from .retry_policy import RetryPolicy
35
35
  from .embeddings_base import BaseEmbeddingClient, BaseEmbeddingClientConfig
36
+ from .embedding_batcher import EmbeddingBatcher
36
37
  # Import message types and usage from root module (picoagents-aligned)
37
38
  from agentbyte.messages import (
38
39
  BaseMessage,
@@ -49,6 +50,7 @@ from agentbyte.messages import (
49
50
  from .types import (
50
51
  ChatCompletionChunk,
51
52
  ChatCompletionResult,
53
+ EmbeddingBatchProgressEvent,
52
54
  EmbeddingResult,
53
55
  ModelClientError,
54
56
  ModelPricing,
@@ -60,6 +62,8 @@ __all__ = [
60
62
  "BaseChatCompletionClientConfig",
61
63
  "BaseEmbeddingClient",
62
64
  "BaseEmbeddingClientConfig",
65
+ "EmbeddingBatcher",
66
+ "EmbeddingBatchProgressEvent",
63
67
  # Provider implementations
64
68
  "OpenAIChatCompletionClient",
65
69
  "OpenAIChatCompletionClientConfig",
@@ -69,6 +73,8 @@ __all__ = [
69
73
  "AzureOpenAIChatCompletionClientConfig",
70
74
  "AzureOpenAIEmbeddingClient",
71
75
  "AzureOpenAIEmbeddingClientConfig",
76
+ "AnthropicChatCompletionClient",
77
+ "AnthropicChatCompletionClientConfig",
72
78
  # Authentication utilities
73
79
  "get_default_token_provider",
74
80
  "get_certificate_token_provider",
@@ -77,6 +83,12 @@ __all__ = [
77
83
  "OpenAISettings",
78
84
  "AzureOpenAISettings",
79
85
  "AzureServicePrincipalSettings",
86
+ "AnthropicSettings",
87
+ "AnthropicBedrockChatCompletionClient",
88
+ "AnthropicBedrockChatCompletionClientConfig",
89
+ "CohereBedrockEmbeddingClient",
90
+ "CohereBedrockEmbeddingClientConfig",
91
+ "BedrockSettings",
80
92
  # Retry policy
81
93
  "RetryPolicy",
82
94
  # Exception types
@@ -123,9 +135,22 @@ if TYPE_CHECKING: # editors and type checkers see the provider classes eagerly
123
135
  OpenAIEmbeddingClientConfig,
124
136
  OpenAISettings,
125
137
  )
138
+ from .anthropic import (
139
+ AnthropicChatCompletionClient,
140
+ AnthropicChatCompletionClientConfig,
141
+ AnthropicSettings,
142
+ )
143
+ from .bedrock import (
144
+ AnthropicBedrockChatCompletionClient,
145
+ AnthropicBedrockChatCompletionClientConfig,
146
+ BedrockSettings,
147
+ CohereBedrockEmbeddingClient,
148
+ CohereBedrockEmbeddingClientConfig,
149
+ )
126
150
 
127
- # Provider clients need optional extras (``openai``, ``azureopenai``); they are
128
- # imported on first access so ``import agentbyte`` works with core dependencies only.
151
+ # Provider clients need optional extras (``openai``, ``azureopenai``, ``anthropic``);
152
+ # they are imported on first access so ``import agentbyte`` works with core
153
+ # dependencies only.
129
154
  _PROVIDER_EXPORTS = {
130
155
  "OpenAIChatCompletionClient": ".openai",
131
156
  "OpenAIChatCompletionClientConfig": ".openai",
@@ -141,6 +166,25 @@ _PROVIDER_EXPORTS = {
141
166
  "create_token_provider_from_string": ".azure",
142
167
  "AzureOpenAISettings": ".azure",
143
168
  "AzureServicePrincipalSettings": ".azure",
169
+ "AnthropicChatCompletionClient": ".anthropic",
170
+ "AnthropicChatCompletionClientConfig": ".anthropic",
171
+ "AnthropicSettings": ".anthropic",
172
+ "AnthropicBedrockChatCompletionClient": ".bedrock",
173
+ "AnthropicBedrockChatCompletionClientConfig": ".bedrock",
174
+ "CohereBedrockEmbeddingClient": ".bedrock",
175
+ "CohereBedrockEmbeddingClientConfig": ".bedrock",
176
+ "BedrockSettings": ".bedrock",
177
+ }
178
+
179
+ _PROVIDER_EXTRAS = {
180
+ ".openai": ("openai", "openai"),
181
+ ".azure": ("openai", "azureopenai"),
182
+ ".anthropic": ("anthropic", "anthropic"),
183
+ # `.bedrock` is intentionally absent: its two clients need different extras
184
+ # (`anthropic[bedrock]` vs. `aioboto3`/`aws`), so `llm/bedrock/__init__.py`
185
+ # does its own fine-grained, per-symbol `require()` check instead -- a
186
+ # single module-level check here would wrongly demand both extras for
187
+ # either client.
144
188
  }
145
189
 
146
190
 
@@ -150,9 +194,12 @@ def __getattr__(name: str):
150
194
  raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
151
195
  from importlib import import_module
152
196
 
153
- from agentbyte._optional import require
197
+ extra_spec = _PROVIDER_EXTRAS.get(module_name)
198
+ if extra_spec is not None:
199
+ from agentbyte._optional import require
154
200
 
155
- require("openai", extra="openai" if module_name == ".openai" else "azureopenai", feature=name)
201
+ required_module, extra = extra_spec
202
+ require(required_module, extra=extra, feature=name)
156
203
  value = getattr(import_module(module_name, __name__), name)
157
204
  globals()[name] = value
158
205
  return value
@@ -0,0 +1,10 @@
1
+ """Anthropic provider package."""
2
+
3
+ from .chat import AnthropicChatCompletionClient, AnthropicChatCompletionClientConfig
4
+ from .settings import AnthropicSettings
5
+
6
+ __all__ = [
7
+ "AnthropicChatCompletionClient",
8
+ "AnthropicChatCompletionClientConfig",
9
+ "AnthropicSettings",
10
+ ]