agentbyte 0.50.0__tar.gz → 0.52.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.50.0 → agentbyte-0.52.0}/CHANGELOG.md +46 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/PKG-INFO +11 -3
- {agentbyte-0.50.0 → agentbyte-0.52.0}/README.md +4 -2
- {agentbyte-0.50.0 → agentbyte-0.52.0}/pyproject.toml +11 -1
- agentbyte-0.52.0/src/agentbyte/__about__.py +2 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/compare.py +21 -3
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/verdict.py +18 -2
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/__init__.py +47 -4
- agentbyte-0.52.0/src/agentbyte/llm/anthropic/__init__.py +10 -0
- agentbyte-0.52.0/src/agentbyte/llm/anthropic/_conversion.py +439 -0
- agentbyte-0.52.0/src/agentbyte/llm/anthropic/chat.py +160 -0
- agentbyte-0.52.0/src/agentbyte/llm/anthropic/settings.py +22 -0
- agentbyte-0.52.0/src/agentbyte/llm/bedrock/__init__.py +58 -0
- agentbyte-0.52.0/src/agentbyte/llm/bedrock/_client.py +24 -0
- agentbyte-0.52.0/src/agentbyte/llm/bedrock/anthropic_chat.py +170 -0
- agentbyte-0.52.0/src/agentbyte/llm/bedrock/cohere_embedding.py +136 -0
- agentbyte-0.52.0/src/agentbyte/llm/bedrock/settings.py +16 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/pricing.py +111 -1
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/clients.py +26 -4
- agentbyte-0.52.0/src/agentbyte/webui/ui/assets/index-BreogZut.js +82 -0
- agentbyte-0.52.0/src/agentbyte/webui/ui/assets/index-ptxe7GHs.css +1 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/ui/index.html +2 -2
- agentbyte-0.52.0/tests/eval/test_dimension_scores.py +108 -0
- agentbyte-0.52.0/tests/llm/test_anthropic_bedrock_client.py +153 -0
- agentbyte-0.52.0/tests/llm/test_anthropic_client.py +388 -0
- agentbyte-0.52.0/tests/llm/test_cohere_bedrock_embedding_client.py +237 -0
- agentbyte-0.50.0/src/agentbyte/__about__.py +0 -2
- agentbyte-0.50.0/src/agentbyte/webui/ui/assets/index-BjfexJCO.css +0 -1
- agentbyte-0.50.0/src/agentbyte/webui/ui/assets/index-jmZ_5o6A.js +0 -82
- {agentbyte-0.50.0 → agentbyte-0.52.0}/.gitignore +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/LICENSE +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/_optional.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/a2a/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/a2a/app.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/a2a/distributed_context.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/a2a/executor.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/a2a/tool.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/agents/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/agents/agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/agents/agent_as_tool.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/agents/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/agents/embedding_agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/agents/types.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cancellation_token.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/catalog.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/__main__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/eval_commands.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/history_args.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/loading.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/main.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/optim_commands.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/report_output.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/cli/serve_commands.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/compaction/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/compaction/counters.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/compaction/errors.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/compaction/grouping.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/compaction/strategies.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/component.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/context.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/context_providers/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/context_providers/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/context_providers/skill_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/context_providers/skills.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/_aiosqlite.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/config.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/importer.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/json.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/loader.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/publish.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/publish_config.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/publishers.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/s3.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/sources.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/sqlite.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/sqlite_db.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/write_config.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/dataset/writers.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/entity.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/checks/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/checks/decorator.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/checks/keyword.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/checks/local.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/checks/process.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/checks/tool.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/checks/types.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/comparison.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/eval_dataset.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/_writer_lock.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/config.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/conformance.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/errors.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/models.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/recorder.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/sql.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/sqlite.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/store.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/history/transitions.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/judges/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/judges/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/judges/composite.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/judges/llm.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/judges/pairwise.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/judges/reference.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/judges/trajectory.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/judges/validation.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/pairwise.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/report.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/runner.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/splitting.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/targets/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/targets/agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/targets/model.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/targets/multi_turn.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/targets/orchestrator.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/targets/runtime.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/targets/workflow.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/types.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/benchmark.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/coordinator.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/jobs.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/smoke.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/smoke_tasks.json +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/eval/workbench/suite.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/execution_trace/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/execution_trace/collector.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/execution_trace/models.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/_retry_observability.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/auth.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/azure/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/azure/auth.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/azure/chat.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/azure/embedding.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/azure/settings.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/azure_openai.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/azure_openai_embedding.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/embeddings_base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/openai/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/openai/chat.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/openai/embedding.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/openai/settings.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/openai_embedding.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/retry_policy.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/settings.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/llm/types.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/logger.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/memory/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/memory/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/messages.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/middleware/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/middleware/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/middleware/otel.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/middleware/retry.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/middleware/sql_usage.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/middleware/usage_logger.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/notebook.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/binding.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/config.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/gepa.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/job.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/mipro.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/pareto.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/reflective.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/report.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/spec.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/optim/trace.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/orchestration/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/orchestration/ai.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/orchestration/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/orchestration/handoff.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/orchestration/plan.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/orchestration/policies.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/orchestration/round_robin.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/agents.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/benchmark.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/capitals.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/instruction_registry.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/instructions/orchestrator.yaml +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/instructions/query_rewriter.yaml +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/instructions/researcher.yaml +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/instructions/reviewer.yaml +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/instructions/writer.yaml +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/orchestration.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/skills/capitals-format/SKILL.md +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/skills/hr-analyst/SKILL.md +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/skills/hr-analyst/resources/departments.md +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/skills/hr-analyst/resources/employees.md +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/skills/hr-analyst/resources/payroll.md +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/streaming.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/presets/workflow.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/session_store.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/skills/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/skills/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/skills/resources.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/skills/scripts.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/skills/sources.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/skills/validation.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/cancellation.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/composite.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/consecutive_agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/external.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/function_call.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/handoff.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/max_message.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/predicate.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/source.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/text_mention.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/timeout.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/termination/token_usage.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/coding_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/core_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/decorator.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/mcp/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/mcp/client.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/mcp/config.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/mcp/errors.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/mcp/tool.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/mcp/transports.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/memory_tool.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/tools/research_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/types.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/discovery.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/eval_routes.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/execution.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp/servers/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp/servers/apps_server.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp/servers/auth_server.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp/servers/basic_server.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp/servers/mrtr_server.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp/servers/notify_server.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp_playground.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/mcp_routes.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/models.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/registry.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/server.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/session_store.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/sessions.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/webui/ui/vite.svg +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/core/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/core/_structure_hash.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/core/checkpoint.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/core/models.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/core/runner.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/core/workflow.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/defaults.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/errors.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/loader.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/schema.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/schema_utils.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/sqlite_checkpoint.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/steps/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/steps/agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/steps/echo.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/steps/function.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/steps/http.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/steps/step.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/steps/subworkflow.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/steps/transform.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/src/agentbyte/workflow/visualizer.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/a2a/a2a_helpers.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/a2a/test_a2a_adapters.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/a2a/test_distributed_context.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_as_tool.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_basic.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_context_providers.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_error_response.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_event_types.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_memory_integration.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_middleware_integration.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_response_accessors.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_retry_middleware.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_stop_at_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_agent_stream_events.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_embedding_agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_tool_approval.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_tool_batch_resolution.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/agents/test_tool_metadata.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/cli/test_eval_benchmark_commands.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/cli/test_loading.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/cli/test_registry_check.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/cli/test_report_output.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/cli/test_serve_command.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/compaction/test_compaction.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/conftest.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/context_providers/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/context_providers/test_skill_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/context_providers/test_skills_provider.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/dataset/fake_s3.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/dataset/test_dataset_exit.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/dataset/test_loader.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/dataset/test_multi_table.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/dataset/test_publish.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/dataset/test_sqlite_db.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_eval_benchmarks.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_eval_dataset.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_eval_history.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_eval_history_backends.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_eval_jobs.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_eval_workbench.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_execution_trajectories.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_history_config.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_multi_turn.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_pairwise.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_phase1_runner_and_targets.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_phase2_checks_and_reports.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_run_comparison.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_score_integrity.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_splitting.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/eval/test_types_and_judges.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_azure_client.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_azure_embedding_client.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_llm_types.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_openai_client.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_openai_embedding_client.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_pricing.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_retry_observability.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_retry_policy_api.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/llm/test_retryable_error_substrings.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/memory/test_memory.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/middleware/test_context_compaction.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/middleware/test_deduplicate_tool_result.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/middleware/test_middleware_chain.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/middleware/test_otel.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/middleware/test_retry_middleware.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/middleware/test_sql_usage.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/middleware/test_usage_logger.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/fakes.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_base_integration.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_binding.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_config.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_description_tunable.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_gepa.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_mipro.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_orchestrator_optim.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_pareto.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_reflective.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_report.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_score_integrity.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_spec.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/optim/test_trace.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_ai_orchestrator.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_base_orchestrator.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_handoff_orchestrator.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_history_tool_call_pairing.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_orchestration_usage_breakdown.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_orchestrator_agent_contract.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_orchestrator_finalization.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_orchestrator_member_events.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_orchestrator_otel.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_orchestrator_synthesis.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_plan_orchestrator.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/orchestration/test_round_robin.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/presets/test_agents.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/presets/test_benchmark.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/presets/test_capitals.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/presets/test_clients.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/presets/test_instruction_registry.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/presets/test_orchestration.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/presets/test_streaming.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/presets/test_workflow.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/skills/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/skills/test_base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/skills/test_resources.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/skills/test_scripts.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/skills/test_sources.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_base.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_cancellation.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_composite.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_consecutive_agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_external.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_function_call.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_handoff.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_max_message.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_predicate.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_source.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_text_mention.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_timeout.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/termination/test_token_usage.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_cancellation_token.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_context.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_logger.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_messages.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_option_enums.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_optional_extras.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_package_api.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_session_store.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/test_types.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/tools/fixtures/mcp_stdio_server.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/tools/test_coding_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/tools/test_mcp_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/tools/test_memory_tool.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/tools/test_research_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/tools/test_tools.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/__init__.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/helpers.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/test_eval_routes.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/test_execution.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/test_mcp_routes.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/test_package_api.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/test_registry.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/test_server.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/test_sessions.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/webui/test_workflow_streaming.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/recovery_worker.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_agent_step_imports.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_checkpoint.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_subworkflow_step.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_workflow_agent.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_workflow_class.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_workflow_models.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_workflow_reliability.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_workflow_runner.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_workflow_schema.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_workflow_steps.py +0 -0
- {agentbyte-0.50.0 → agentbyte-0.52.0}/tests/workflow/test_workflow_visualizer.py +0 -0
|
@@ -6,6 +6,52 @@ The format follows Keep a Changelog principles and semantic versioning.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.52.0] - 2026-10-10
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- `AnthropicChatCompletionClient`: direct Anthropic Claude chat client (`agentbyte[anthropic]`),
|
|
14
|
+
matching the existing `OpenAIChatCompletionClient` construction/DI/retry/pricing/error-mapping
|
|
15
|
+
contract (`from_api_key()`, `_to_config`/`_from_config` without persisting secrets, tool-use,
|
|
16
|
+
streaming).
|
|
17
|
+
- `AnthropicBedrockChatCompletionClient`: the same Claude Messages API client transported through
|
|
18
|
+
AWS Bedrock (`agentbyte[bedrock]`) via `AsyncAnthropicBedrock` (SigV4, boto3 credential chain),
|
|
19
|
+
constructed with `from_region()`. Shares conversion/parsing logic with the direct client through
|
|
20
|
+
`AnthropicConversionMixin`.
|
|
21
|
+
- `CohereBedrockEmbeddingClient`: Cohere Embed v3 (English/Multilingual) and v4 embeddings via AWS
|
|
22
|
+
Bedrock Runtime (`agentbyte[aws]`, `aioboto3`), with `CohereInputType`/`CohereTruncate` options
|
|
23
|
+
and the same injected-or-fresh-client pattern as `dataset/s3.py`'s `s3_client()`.
|
|
24
|
+
- `build_chat_client` auto-detects `anthropic` (`ANTHROPIC_API_KEY`) and `anthropic-bedrock`
|
|
25
|
+
(`AWS_REGION` + `ANTHROPIC_BEDROCK_MODEL`) alongside the existing OpenAI/Azure detection.
|
|
26
|
+
- Pricing for Claude 5.5 (`claude-opus-5-5`, `claude-haiku-5-5`), Cohere Embed v3 (English/
|
|
27
|
+
Multilingual, estimate), and Cohere Embed v4 (verified against AWS Bedrock's own pricing page).
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- `AnthropicBedrockChatCompletionClient` was built on `AsyncAnthropicBedrockMantle`, a Bedrock
|
|
32
|
+
access path authenticated by a bearer token (`AWS_BEARER_TOKEN_BEDROCK`), not AWS IAM
|
|
33
|
+
credentials — every call 404'd with a misleading "model does not exist" error against a real
|
|
34
|
+
account. Caught by live smoke-testing against real Bedrock, invisible to the mocked unit tests.
|
|
35
|
+
Swapped to `AsyncAnthropicBedrock`, the real SigV4/boto3-credential-chain transport.
|
|
36
|
+
- The Bedrock Claude pricing normalizer didn't strip cross-region inference-profile prefixes
|
|
37
|
+
(`eu.`/`global.`, required for on-demand invoke on most accounts), silently falling back to
|
|
38
|
+
default pricing for real Bedrock calls.
|
|
39
|
+
- `CohereBedrockEmbeddingClient` read billed tokens from a response-body field that doesn't exist
|
|
40
|
+
on real Bedrock responses, so `tokens_input`/`cost_estimate` were silently always zero despite
|
|
41
|
+
successful calls. Now reads the real `x-amzn-bedrock-input-token-count` response header.
|
|
42
|
+
|
|
43
|
+
## [0.51.0] - 2026-10-09
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
|
|
47
|
+
- Per-dimension scores in the WebUI and reports: `SuiteItemVerdict.dimensions` and
|
|
48
|
+
`SuiteRunSummary.dimension_means`, `TaskCell.dimensions` and `RunColumn.mean_dimensions` (over the
|
|
49
|
+
shared tasks). The run page gets a Dimensions table, run comparisons and benchmark reports get
|
|
50
|
+
per-dimension means with the change against the baseline plus a per-task breakdown, and the run and
|
|
51
|
+
benchmark Markdown reports list the dimension means. Runs without dimensions are unchanged.
|
|
52
|
+
- Benchmark report page: a "Show per-task" selector switches the task-by-variant matrix between the
|
|
53
|
+
overall score and any judged dimension, with the change against the baseline variant.
|
|
54
|
+
|
|
9
55
|
## [0.50.0] - 2026-10-09
|
|
10
56
|
|
|
11
57
|
### Changed (breaking)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agentbyte
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.52.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.51.0**
|
|
88
94
|
|
|
89
95
|
## Building an Agent
|
|
90
96
|
|
|
@@ -333,7 +339,9 @@ uv add "agentbyte[openai,sqlite]"
|
|
|
333
339
|
| --- | --- | --- |
|
|
334
340
|
| `openai` | `openai` | `OpenAIChatCompletionClient`, `OpenAIEmbeddingClient` |
|
|
335
341
|
| `azureopenai` | `openai`, `azure-identity` | Azure OpenAI clients and Entra ID credentials |
|
|
336
|
-
| `
|
|
342
|
+
| `anthropic` | `anthropic` | Direct Anthropic Claude chat client |
|
|
343
|
+
| `bedrock` | `anthropic[bedrock]` | Anthropic Claude chat through AWS Bedrock |
|
|
344
|
+
| `aws` | `aioboto3` | S3 dataset I/O and Cohere Bedrock embedding client |
|
|
337
345
|
| `otel` | OpenTelemetry API, SDK, OTLP exporter | OpenTelemetry tracing and metrics |
|
|
338
346
|
| `webui` | `fastapi`, `uvicorn` | `agentbyte webui` |
|
|
339
347
|
| `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.51.0**
|
|
6
6
|
|
|
7
7
|
## Building an Agent
|
|
8
8
|
|
|
@@ -251,7 +251,9 @@ uv add "agentbyte[openai,sqlite]"
|
|
|
251
251
|
| --- | --- | --- |
|
|
252
252
|
| `openai` | `openai` | `OpenAIChatCompletionClient`, `OpenAIEmbeddingClient` |
|
|
253
253
|
| `azureopenai` | `openai`, `azure-identity` | Azure OpenAI clients and Entra ID credentials |
|
|
254
|
-
| `
|
|
254
|
+
| `anthropic` | `anthropic` | Direct Anthropic Claude chat client |
|
|
255
|
+
| `bedrock` | `anthropic[bedrock]` | Anthropic Claude chat through AWS Bedrock |
|
|
256
|
+
| `aws` | `aioboto3` | S3 dataset I/O and Cohere Bedrock embedding client |
|
|
255
257
|
| `otel` | OpenTelemetry API, SDK, OTLP exporter | OpenTelemetry tracing and metrics |
|
|
256
258
|
| `webui` | `fastapi`, `uvicorn` | `agentbyte webui` |
|
|
257
259
|
| `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
|
|
|
@@ -17,14 +17,13 @@ from collections.abc import Sequence
|
|
|
17
17
|
from enum import StrEnum
|
|
18
18
|
from typing import Any
|
|
19
19
|
|
|
20
|
-
from pydantic import BaseModel, ConfigDict
|
|
21
|
-
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
22
21
|
from agentbyte.eval.comparison import improvement_pct
|
|
23
22
|
from agentbyte.messages import Usage
|
|
24
23
|
|
|
25
24
|
from .benchmark import EvalBenchmark, TaskSet, combine_task_sets
|
|
26
25
|
from .suite import EvalSuiteConfigError
|
|
27
|
-
from .verdict import ItemOutcome, SuiteItemVerdict, SuiteRunSummary
|
|
26
|
+
from .verdict import ItemOutcome, SuiteItemVerdict, SuiteRunSummary, mean_dimensions
|
|
28
27
|
|
|
29
28
|
|
|
30
29
|
class RegressionFlag(StrEnum):
|
|
@@ -44,6 +43,7 @@ class TaskCell(BaseModel):
|
|
|
44
43
|
run_id: str
|
|
45
44
|
present: bool
|
|
46
45
|
overall: float | None = None
|
|
46
|
+
dimensions: dict[str, float] = Field(default_factory=dict)
|
|
47
47
|
outcome: ItemOutcome | None = None
|
|
48
48
|
passed: bool | None = None
|
|
49
49
|
delta_vs_baseline: float | None = None
|
|
@@ -83,6 +83,7 @@ class RunColumn(BaseModel):
|
|
|
83
83
|
min_score: float
|
|
84
84
|
is_baseline: bool
|
|
85
85
|
mean_overall: float | None = None
|
|
86
|
+
mean_dimensions: dict[str, float] = Field(default_factory=dict)
|
|
86
87
|
passed_count: int = 0
|
|
87
88
|
scored_count: int = 0
|
|
88
89
|
improvement_pct: float | None = None
|
|
@@ -163,6 +164,19 @@ class ComparisonReport(BaseModel):
|
|
|
163
164
|
)
|
|
164
165
|
lines.append("")
|
|
165
166
|
|
|
167
|
+
dimension_names = list(
|
|
168
|
+
dict.fromkeys(name for variant in self.variants for name in variant.run.mean_dimensions)
|
|
169
|
+
)
|
|
170
|
+
if dimension_names:
|
|
171
|
+
lines.append("## Dimension means")
|
|
172
|
+
dimension_header = ["Dimension", *(variant.variant_name for variant in self.variants)]
|
|
173
|
+
lines.append("| " + " | ".join(dimension_header) + " |")
|
|
174
|
+
lines.append("| " + " | ".join(["---"] * len(dimension_header)) + " |")
|
|
175
|
+
for name in dimension_names:
|
|
176
|
+
means = " | ".join(_fmt(variant.run.mean_dimensions.get(name)) for variant in self.variants)
|
|
177
|
+
lines.append(f"| {name} | {means} |")
|
|
178
|
+
lines.append("")
|
|
179
|
+
|
|
166
180
|
if self.failed_variants:
|
|
167
181
|
lines.append("## Failed variants")
|
|
168
182
|
for failed in self.failed_variants:
|
|
@@ -375,6 +389,7 @@ def _cell(
|
|
|
375
389
|
run_id=run_id,
|
|
376
390
|
present=True,
|
|
377
391
|
overall=verdict.overall,
|
|
392
|
+
dimensions=dict(verdict.dimensions),
|
|
378
393
|
outcome=verdict.outcome,
|
|
379
394
|
passed=verdict.passed,
|
|
380
395
|
delta_vs_baseline=delta,
|
|
@@ -404,6 +419,9 @@ def _column(
|
|
|
404
419
|
min_score=summary.min_score,
|
|
405
420
|
is_baseline=is_baseline,
|
|
406
421
|
mean_overall=mean,
|
|
422
|
+
mean_dimensions=mean_dimensions(
|
|
423
|
+
[v for name in shared_names if (v := run.get(name)) is not None]
|
|
424
|
+
),
|
|
407
425
|
passed_count=passed,
|
|
408
426
|
scored_count=scored,
|
|
409
427
|
improvement_pct=None if is_baseline else improvement_pct(baseline_mean, mean),
|
|
@@ -6,8 +6,7 @@ import math
|
|
|
6
6
|
from datetime import datetime
|
|
7
7
|
from enum import StrEnum
|
|
8
8
|
|
|
9
|
-
from pydantic import BaseModel, ConfigDict
|
|
10
|
-
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
11
10
|
from agentbyte.eval.history import (
|
|
12
11
|
CaptureMode,
|
|
13
12
|
EvalItemRecord,
|
|
@@ -44,6 +43,7 @@ class SuiteItemVerdict(BaseModel):
|
|
|
44
43
|
outcome: ItemOutcome
|
|
45
44
|
passed: bool
|
|
46
45
|
overall: float | None = None
|
|
46
|
+
dimensions: dict[str, float] = Field(default_factory=dict)
|
|
47
47
|
scoring_status: ScoringStatus | None = None
|
|
48
48
|
failure_reason: str | None = None
|
|
49
49
|
execution_status: ExecutionStatus | None = None
|
|
@@ -82,6 +82,7 @@ class SuiteRunSummary(BaseModel):
|
|
|
82
82
|
started_at: datetime | None
|
|
83
83
|
finished_at: datetime | None
|
|
84
84
|
items: list[SuiteItemVerdict]
|
|
85
|
+
dimension_means: dict[str, float] = Field(default_factory=dict)
|
|
85
86
|
|
|
86
87
|
@property
|
|
87
88
|
def failed_count(self) -> int:
|
|
@@ -120,6 +121,9 @@ class SuiteRunSummary(BaseModel):
|
|
|
120
121
|
rows.append(("Error", _cell(self.error)))
|
|
121
122
|
lines = [f"# Eval run: {self.suite or self.run_id}", "", "| | |", "|---|---|"]
|
|
122
123
|
lines += [f"| {key} | {value} |" for key, value in rows]
|
|
124
|
+
if self.dimension_means:
|
|
125
|
+
lines += ["", "## Dimensions (mean over scored items)", "", "| Dimension | Mean |", "|---|---|"]
|
|
126
|
+
lines += [f"| {_cell(name)} | {mean:.2f} |" for name, mean in self.dimension_means.items()]
|
|
123
127
|
lines += ["", "## Items", "", "| # | Task | Outcome | Score | Reason |", "|---|---|---|---|---|"]
|
|
124
128
|
for item in self.items:
|
|
125
129
|
score = f"{item.overall:g}" if item.overall is not None else "-"
|
|
@@ -148,6 +152,7 @@ def item_verdict(item: EvalItemRecord, min_score: float) -> SuiteItemVerdict:
|
|
|
148
152
|
outcome=outcome,
|
|
149
153
|
passed=outcome == "passed",
|
|
150
154
|
overall=item.overall if item.scoring_status == "scored" else None,
|
|
155
|
+
dimensions=dict(item.dimensions) if item.scoring_status == "scored" else {},
|
|
151
156
|
scoring_status=item.scoring_status,
|
|
152
157
|
failure_reason=item.failure_reason,
|
|
153
158
|
execution_status=item.execution_status,
|
|
@@ -216,9 +221,20 @@ def summarize(
|
|
|
216
221
|
started_at=run.started_at,
|
|
217
222
|
finished_at=run.finished_at,
|
|
218
223
|
items=verdicts,
|
|
224
|
+
dimension_means=mean_dimensions(verdicts),
|
|
219
225
|
)
|
|
220
226
|
|
|
221
227
|
|
|
228
|
+
def mean_dimensions(verdicts: list[SuiteItemVerdict]) -> dict[str, float]:
|
|
229
|
+
"""Mean score per dimension over the items that scored it, in first-seen order."""
|
|
230
|
+
values: dict[str, list[float]] = {}
|
|
231
|
+
for verdict in verdicts:
|
|
232
|
+
for name, value in verdict.dimensions.items():
|
|
233
|
+
if math.isfinite(value):
|
|
234
|
+
values.setdefault(name, []).append(value)
|
|
235
|
+
return {name: sum(scores) / len(scores) for name, scores in values.items()}
|
|
236
|
+
|
|
237
|
+
|
|
222
238
|
def _total_usage(items: list[EvalItemRecord]) -> Usage | None:
|
|
223
239
|
usages = [item.usage for item in items if item.usage is not None]
|
|
224
240
|
if not usages:
|
|
@@ -69,6 +69,8 @@ __all__ = [
|
|
|
69
69
|
"AzureOpenAIChatCompletionClientConfig",
|
|
70
70
|
"AzureOpenAIEmbeddingClient",
|
|
71
71
|
"AzureOpenAIEmbeddingClientConfig",
|
|
72
|
+
"AnthropicChatCompletionClient",
|
|
73
|
+
"AnthropicChatCompletionClientConfig",
|
|
72
74
|
# Authentication utilities
|
|
73
75
|
"get_default_token_provider",
|
|
74
76
|
"get_certificate_token_provider",
|
|
@@ -77,6 +79,12 @@ __all__ = [
|
|
|
77
79
|
"OpenAISettings",
|
|
78
80
|
"AzureOpenAISettings",
|
|
79
81
|
"AzureServicePrincipalSettings",
|
|
82
|
+
"AnthropicSettings",
|
|
83
|
+
"AnthropicBedrockChatCompletionClient",
|
|
84
|
+
"AnthropicBedrockChatCompletionClientConfig",
|
|
85
|
+
"CohereBedrockEmbeddingClient",
|
|
86
|
+
"CohereBedrockEmbeddingClientConfig",
|
|
87
|
+
"BedrockSettings",
|
|
80
88
|
# Retry policy
|
|
81
89
|
"RetryPolicy",
|
|
82
90
|
# Exception types
|
|
@@ -123,9 +131,22 @@ if TYPE_CHECKING: # editors and type checkers see the provider classes eagerly
|
|
|
123
131
|
OpenAIEmbeddingClientConfig,
|
|
124
132
|
OpenAISettings,
|
|
125
133
|
)
|
|
134
|
+
from .anthropic import (
|
|
135
|
+
AnthropicChatCompletionClient,
|
|
136
|
+
AnthropicChatCompletionClientConfig,
|
|
137
|
+
AnthropicSettings,
|
|
138
|
+
)
|
|
139
|
+
from .bedrock import (
|
|
140
|
+
AnthropicBedrockChatCompletionClient,
|
|
141
|
+
AnthropicBedrockChatCompletionClientConfig,
|
|
142
|
+
BedrockSettings,
|
|
143
|
+
CohereBedrockEmbeddingClient,
|
|
144
|
+
CohereBedrockEmbeddingClientConfig,
|
|
145
|
+
)
|
|
126
146
|
|
|
127
|
-
# Provider clients need optional extras (``openai``, ``azureopenai``);
|
|
128
|
-
# imported on first access so ``import agentbyte`` works with core
|
|
147
|
+
# Provider clients need optional extras (``openai``, ``azureopenai``, ``anthropic``);
|
|
148
|
+
# they are imported on first access so ``import agentbyte`` works with core
|
|
149
|
+
# dependencies only.
|
|
129
150
|
_PROVIDER_EXPORTS = {
|
|
130
151
|
"OpenAIChatCompletionClient": ".openai",
|
|
131
152
|
"OpenAIChatCompletionClientConfig": ".openai",
|
|
@@ -141,6 +162,25 @@ _PROVIDER_EXPORTS = {
|
|
|
141
162
|
"create_token_provider_from_string": ".azure",
|
|
142
163
|
"AzureOpenAISettings": ".azure",
|
|
143
164
|
"AzureServicePrincipalSettings": ".azure",
|
|
165
|
+
"AnthropicChatCompletionClient": ".anthropic",
|
|
166
|
+
"AnthropicChatCompletionClientConfig": ".anthropic",
|
|
167
|
+
"AnthropicSettings": ".anthropic",
|
|
168
|
+
"AnthropicBedrockChatCompletionClient": ".bedrock",
|
|
169
|
+
"AnthropicBedrockChatCompletionClientConfig": ".bedrock",
|
|
170
|
+
"CohereBedrockEmbeddingClient": ".bedrock",
|
|
171
|
+
"CohereBedrockEmbeddingClientConfig": ".bedrock",
|
|
172
|
+
"BedrockSettings": ".bedrock",
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
_PROVIDER_EXTRAS = {
|
|
176
|
+
".openai": ("openai", "openai"),
|
|
177
|
+
".azure": ("openai", "azureopenai"),
|
|
178
|
+
".anthropic": ("anthropic", "anthropic"),
|
|
179
|
+
# `.bedrock` is intentionally absent: its two clients need different extras
|
|
180
|
+
# (`anthropic[bedrock]` vs. `aioboto3`/`aws`), so `llm/bedrock/__init__.py`
|
|
181
|
+
# does its own fine-grained, per-symbol `require()` check instead -- a
|
|
182
|
+
# single module-level check here would wrongly demand both extras for
|
|
183
|
+
# either client.
|
|
144
184
|
}
|
|
145
185
|
|
|
146
186
|
|
|
@@ -150,9 +190,12 @@ def __getattr__(name: str):
|
|
|
150
190
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
151
191
|
from importlib import import_module
|
|
152
192
|
|
|
153
|
-
|
|
193
|
+
extra_spec = _PROVIDER_EXTRAS.get(module_name)
|
|
194
|
+
if extra_spec is not None:
|
|
195
|
+
from agentbyte._optional import require
|
|
154
196
|
|
|
155
|
-
|
|
197
|
+
required_module, extra = extra_spec
|
|
198
|
+
require(required_module, extra=extra, feature=name)
|
|
156
199
|
value = getattr(import_module(module_name, __name__), name)
|
|
157
200
|
globals()[name] = value
|
|
158
201
|
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
|
+
]
|