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.
- {agentbyte-0.51.0 → agentbyte-0.53.0}/CHANGELOG.md +74 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/PKG-INFO +13 -3
- {agentbyte-0.51.0 → agentbyte-0.53.0}/README.md +6 -2
- {agentbyte-0.51.0 → agentbyte-0.53.0}/pyproject.toml +11 -1
- agentbyte-0.53.0/src/agentbyte/__about__.py +2 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/__init__.py +0 -4
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/base.py +32 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/types.py +0 -12
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/__init__.py +51 -4
- agentbyte-0.53.0/src/agentbyte/llm/anthropic/__init__.py +10 -0
- agentbyte-0.53.0/src/agentbyte/llm/anthropic/_conversion.py +440 -0
- agentbyte-0.53.0/src/agentbyte/llm/anthropic/chat.py +164 -0
- agentbyte-0.53.0/src/agentbyte/llm/anthropic/settings.py +22 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/chat.py +17 -6
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/embedding.py +11 -1
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/base.py +38 -3
- agentbyte-0.53.0/src/agentbyte/llm/bedrock/__init__.py +58 -0
- agentbyte-0.53.0/src/agentbyte/llm/bedrock/_client.py +24 -0
- agentbyte-0.53.0/src/agentbyte/llm/bedrock/anthropic_chat.py +174 -0
- agentbyte-0.53.0/src/agentbyte/llm/bedrock/cohere_embedding.py +138 -0
- agentbyte-0.53.0/src/agentbyte/llm/bedrock/settings.py +16 -0
- agentbyte-0.51.0/src/agentbyte/agents/embedding_agent.py → agentbyte-0.53.0/src/agentbyte/llm/embedding_batcher.py +18 -47
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/embeddings_base.py +40 -2
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai/chat.py +11 -6
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai/embedding.py +5 -1
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/pricing.py +111 -1
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/types.py +14 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/__init__.py +2 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/base.py +16 -3
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/otel.py +2 -2
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/clients.py +26 -4
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/streaming.py +1 -1
- agentbyte-0.53.0/tests/agents/test_agent_client_middleware_overlap.py +83 -0
- agentbyte-0.53.0/tests/llm/test_anthropic_bedrock_client.py +153 -0
- agentbyte-0.53.0/tests/llm/test_anthropic_client.py +388 -0
- agentbyte-0.53.0/tests/llm/test_client_middleware.py +185 -0
- agentbyte-0.53.0/tests/llm/test_cohere_bedrock_embedding_client.py +237 -0
- agentbyte-0.51.0/tests/agents/test_embedding_agent.py → agentbyte-0.53.0/tests/llm/test_embedding_batcher.py +26 -90
- agentbyte-0.51.0/src/agentbyte/__about__.py +0 -2
- {agentbyte-0.51.0 → agentbyte-0.53.0}/.gitignore +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/LICENSE +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/_optional.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/app.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/distributed_context.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/executor.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/a2a/tool.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/agent.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/agents/agent_as_tool.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cancellation_token.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/catalog.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/__main__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/eval_commands.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/history_args.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/loading.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/main.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/optim_commands.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/report_output.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/cli/serve_commands.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/counters.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/errors.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/grouping.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/compaction/strategies.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/component.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context_providers/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context_providers/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context_providers/skill_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/context_providers/skills.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/_aiosqlite.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/config.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/importer.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/json.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/loader.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/publish.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/publish_config.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/publishers.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/s3.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/sources.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/sqlite.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/sqlite_db.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/write_config.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/dataset/writers.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/entity.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/decorator.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/keyword.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/local.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/process.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/tool.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/checks/types.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/comparison.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/eval_dataset.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/_writer_lock.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/config.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/conformance.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/errors.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/models.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/recorder.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/sql.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/sqlite.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/store.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/history/transitions.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/composite.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/llm.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/pairwise.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/reference.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/trajectory.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/judges/validation.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/pairwise.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/report.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/runner.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/splitting.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/agent.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/model.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/multi_turn.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/orchestrator.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/runtime.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/targets/workflow.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/types.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/benchmark.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/compare.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/coordinator.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/jobs.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/smoke.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/smoke_tasks.json +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/suite.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/eval/workbench/verdict.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/execution_trace/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/execution_trace/collector.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/execution_trace/models.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/_retry_observability.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/auth.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/auth.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure/settings.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure_openai.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/azure_openai_embedding.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai/settings.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/openai_embedding.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/retry_policy.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/llm/settings.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/logger.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/memory/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/memory/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/messages.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/retry.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/sql_usage.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/middleware/usage_logger.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/notebook.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/binding.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/config.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/gepa.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/job.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/mipro.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/pareto.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/reflective.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/report.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/spec.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/optim/trace.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/ai.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/handoff.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/plan.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/policies.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/orchestration/round_robin.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/agents.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/benchmark.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/capitals.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instruction_registry.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/orchestrator.yaml +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/query_rewriter.yaml +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/researcher.yaml +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/reviewer.yaml +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/instructions/writer.yaml +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/orchestration.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/capitals-format/SKILL.md +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/hr-analyst/SKILL.md +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/hr-analyst/resources/departments.md +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/hr-analyst/resources/employees.md +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/skills/hr-analyst/resources/payroll.md +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/presets/workflow.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/session_store.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/resources.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/scripts.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/sources.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/skills/validation.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/cancellation.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/composite.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/consecutive_agent.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/external.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/function_call.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/handoff.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/max_message.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/predicate.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/source.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/text_mention.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/timeout.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/termination/token_usage.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/coding_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/core_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/decorator.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/client.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/config.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/errors.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/tool.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/mcp/transports.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/memory_tool.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/tools/research_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/types.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/discovery.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/eval_routes.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/execution.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/apps_server.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/auth_server.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/basic_server.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/mrtr_server.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp/servers/notify_server.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp_playground.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/mcp_routes.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/models.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/registry.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/server.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/session_store.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/sessions.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/ui/assets/index-BreogZut.js +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/ui/assets/index-ptxe7GHs.css +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/ui/index.html +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/webui/ui/vite.svg +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/agent.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/_structure_hash.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/checkpoint.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/models.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/runner.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/core/workflow.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/defaults.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/errors.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/loader.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/schema.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/schema_utils.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/sqlite_checkpoint.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/agent.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/echo.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/function.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/http.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/step.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/subworkflow.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/steps/transform.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/src/agentbyte/workflow/visualizer.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/a2a/a2a_helpers.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/a2a/test_a2a_adapters.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/a2a/test_distributed_context.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_as_tool.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_basic.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_context_providers.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_error_response.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_event_types.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_memory_integration.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_middleware_integration.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_response_accessors.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_retry_middleware.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_stop_at_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_agent_stream_events.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_tool_approval.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_tool_batch_resolution.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/agents/test_tool_metadata.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_eval_benchmark_commands.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_loading.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_registry_check.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_report_output.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/cli/test_serve_command.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/compaction/test_compaction.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/conftest.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/context_providers/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/context_providers/test_skill_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/context_providers/test_skills_provider.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/fake_s3.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_dataset_exit.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_loader.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_multi_table.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_publish.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/dataset/test_sqlite_db.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_dimension_scores.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_benchmarks.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_dataset.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_history.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_history_backends.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_jobs.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_eval_workbench.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_execution_trajectories.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_history_config.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_multi_turn.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_pairwise.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_phase1_runner_and_targets.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_phase2_checks_and_reports.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_run_comparison.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_score_integrity.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_splitting.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/eval/test_types_and_judges.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_azure_client.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_azure_embedding_client.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_llm_types.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_openai_client.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_openai_embedding_client.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_pricing.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_retry_observability.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_retry_policy_api.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/llm/test_retryable_error_substrings.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/memory/test_memory.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_context_compaction.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_deduplicate_tool_result.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_middleware_chain.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_otel.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_retry_middleware.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_sql_usage.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/middleware/test_usage_logger.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/fakes.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_base_integration.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_binding.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_config.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_description_tunable.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_gepa.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_mipro.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_orchestrator_optim.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_pareto.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_reflective.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_report.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_score_integrity.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_spec.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/optim/test_trace.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_ai_orchestrator.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_base_orchestrator.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_handoff_orchestrator.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_history_tool_call_pairing.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestration_usage_breakdown.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_agent_contract.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_finalization.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_member_events.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_otel.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_orchestrator_synthesis.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_plan_orchestrator.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/orchestration/test_round_robin.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_agents.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_benchmark.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_capitals.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_clients.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_instruction_registry.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_orchestration.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_streaming.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/presets/test_workflow.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/test_base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/test_resources.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/test_scripts.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/skills/test_sources.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_base.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_cancellation.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_composite.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_consecutive_agent.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_external.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_function_call.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_handoff.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_max_message.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_predicate.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_source.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_text_mention.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_timeout.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/termination/test_token_usage.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_cancellation_token.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_context.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_logger.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_messages.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_option_enums.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_optional_extras.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_package_api.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_session_store.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/test_types.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/fixtures/mcp_stdio_server.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_coding_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_mcp_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_memory_tool.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_research_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/tools/test_tools.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/__init__.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/helpers.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_eval_routes.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_execution.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_mcp_routes.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_package_api.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_registry.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_server.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_sessions.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/webui/test_workflow_streaming.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/recovery_worker.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_agent_step_imports.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_checkpoint.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_subworkflow_step.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_agent.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_class.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_models.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_reliability.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_runner.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_schema.py +0 -0
- {agentbyte-0.51.0 → agentbyte-0.53.0}/tests/workflow/test_workflow_steps.py +0 -0
- {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.
|
|
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.
|
|
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
|
-
| `
|
|
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.
|
|
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
|
-
| `
|
|
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
|
|
|
@@ -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``);
|
|
128
|
-
# imported on first access so ``import agentbyte`` works with core
|
|
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
|
-
|
|
197
|
+
extra_spec = _PROVIDER_EXTRAS.get(module_name)
|
|
198
|
+
if extra_spec is not None:
|
|
199
|
+
from agentbyte._optional import require
|
|
154
200
|
|
|
155
|
-
|
|
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
|
+
]
|