agentbyte 0.42.2__tar.gz → 0.42.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentbyte-0.42.2 → agentbyte-0.42.4}/CHANGELOG.md +18 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/PKG-INFO +2 -2
- {agentbyte-0.42.2 → agentbyte-0.42.4}/README.md +1 -1
- agentbyte-0.42.4/src/agentbyte/__about__.py +2 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/orchestration/ai.py +4 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/orchestration/handoff.py +6 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/orchestration/plan.py +4 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/orchestration/round_robin.py +4 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/streaming.py +9 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_orchestrator_agent_contract.py +44 -12
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/presets/test_streaming.py +23 -0
- agentbyte-0.42.2/src/agentbyte/__about__.py +0 -2
- {agentbyte-0.42.2 → agentbyte-0.42.4}/.gitignore +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/LICENSE +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/pyproject.toml +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/_optional.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/agents/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/agents/agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/agents/agent_as_tool.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/agents/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/agents/embedding_agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/agents/types.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/cancellation_token.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/catalog.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/cli/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/cli/__main__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/cli/eval_commands.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/cli/loading.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/cli/main.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/compaction/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/compaction/counters.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/compaction/errors.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/compaction/grouping.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/compaction/strategies.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/component.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/context.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/context_providers/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/context_providers/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/context_providers/skill_tools.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/context_providers/skills.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/_aiosqlite.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/config.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/importer.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/json.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/loader.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/publish.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/publish_config.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/publishers.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/s3.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/sources.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/sqlite.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/sqlite_db.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/write_config.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/dataset/writers.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/entity.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/checks/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/checks/decorator.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/checks/keyword.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/checks/local.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/checks/process.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/checks/tool.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/checks/types.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/comparison.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/eval_dataset.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/conformance.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/errors.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/models.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/recorder.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/sql.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/sqlite.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/store.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/history/transitions.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/judges/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/judges/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/judges/composite.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/judges/llm.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/judges/pairwise.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/judges/reference.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/judges/trajectory.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/judges/validation.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/pairwise.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/report.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/runner.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/splitting.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/targets/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/targets/agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/targets/model.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/targets/multi_turn.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/targets/orchestrator.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/targets/runtime.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/targets/workflow.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/types.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/workbench/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/workbench/coordinator.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/workbench/jobs.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/workbench/smoke.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/workbench/smoke_tasks.json +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/workbench/suite.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/eval/workbench/verdict.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/execution_trace/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/execution_trace/collector.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/execution_trace/models.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/_retry_observability.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/auth.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/azure/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/azure/auth.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/azure/chat.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/azure/embedding.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/azure/settings.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/azure_openai.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/azure_openai_embedding.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/embeddings_base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/openai/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/openai/chat.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/openai/embedding.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/openai/settings.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/openai_embedding.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/pricing.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/retry_policy.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/settings.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/llm/types.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/logger.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/memory/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/memory/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/messages.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/middleware/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/middleware/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/middleware/otel.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/middleware/retry.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/middleware/sql_usage.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/middleware/usage_logger.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/notebook.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/config.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/gepa.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/mipro.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/pareto.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/reflective.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/spec.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/optim/trace.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/orchestration/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/orchestration/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/orchestration/policies.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/agents.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/clients.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/instruction_registry.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/instructions/orchestrator.yaml +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/instructions/query_rewriter.yaml +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/instructions/researcher.yaml +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/instructions/reviewer.yaml +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/instructions/writer.yaml +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/orchestration.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/skills/hr-analyst/SKILL.md +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/skills/hr-analyst/resources/departments.md +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/skills/hr-analyst/resources/employees.md +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/skills/hr-analyst/resources/payroll.md +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/presets/workflow.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/session_store.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/skills/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/skills/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/skills/resources.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/skills/scripts.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/skills/sources.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/skills/validation.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/cancellation.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/composite.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/consecutive_agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/external.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/function_call.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/handoff.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/max_message.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/predicate.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/source.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/text_mention.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/timeout.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/termination/token_usage.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/tools/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/tools/base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/tools/coding_tools.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/tools/core_tools.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/tools/decorator.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/tools/memory_tool.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/tools/research_tools.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/types.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/discovery.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/eval_routes.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/execution.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/models.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/registry.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/server.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/session_store.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/sessions.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/ui/assets/index-BsS4WYZu.css +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/ui/assets/index-tGvO1yue.js +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/ui/index.html +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/webui/ui/vite.svg +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/core/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/core/_structure_hash.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/core/checkpoint.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/core/models.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/core/runner.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/core/workflow.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/defaults.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/errors.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/loader.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/schema.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/schema_utils.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/sqlite_checkpoint.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/steps/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/steps/agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/steps/echo.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/steps/function.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/steps/http.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/steps/step.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/steps/subworkflow.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/steps/transform.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/src/agentbyte/workflow/visualizer.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_as_tool.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_basic.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_context_providers.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_error_response.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_event_types.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_memory_integration.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_middleware_integration.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_response_accessors.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_retry_middleware.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_agent_stream_events.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_embedding_agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_tool_approval.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_tool_batch_resolution.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/agents/test_tool_metadata.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/cli/test_loading.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/cli/test_registry_check.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/compaction/test_compaction.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/context_providers/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/context_providers/test_skill_tools.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/context_providers/test_skills_provider.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/dataset/fake_s3.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/dataset/test_dataset_exit.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/dataset/test_loader.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/dataset/test_multi_table.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/dataset/test_publish.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/dataset/test_sqlite_db.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_eval_dataset.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_eval_history.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_eval_history_backends.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_eval_jobs.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_eval_workbench.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_execution_trajectories.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_multi_turn.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_pairwise.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_phase1_runner_and_targets.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_phase2_checks_and_reports.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_score_integrity.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_splitting.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/eval/test_types_and_judges.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/examples/test_compaction_webapp.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_azure_client.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_azure_embedding_client.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_llm_types.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_openai_client.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_openai_embedding_client.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_pricing.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_retry_observability.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_retry_policy_api.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/llm/test_retryable_error_substrings.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/memory/test_memory.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/middleware/test_context_compaction.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/middleware/test_deduplicate_tool_result.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/middleware/test_middleware_chain.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/middleware/test_otel.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/middleware/test_retry_middleware.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/middleware/test_sql_usage.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/middleware/test_usage_logger.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_base_integration.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_config.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_description_tunable.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_gepa.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_mipro.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_orchestrator_optim.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_pareto.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_reflective.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_score_integrity.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_spec.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/optim/test_trace.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_ai_orchestrator.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_base_orchestrator.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_handoff_orchestrator.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_history_tool_call_pairing.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_orchestration_usage_breakdown.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_orchestrator_finalization.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_orchestrator_member_events.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_orchestrator_otel.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_orchestrator_synthesis.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_plan_orchestrator.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_round_robin.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/presets/test_agents.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/presets/test_clients.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/presets/test_instruction_registry.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/presets/test_orchestration.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/presets/test_workflow.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/skills/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/skills/test_base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/skills/test_resources.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/skills/test_scripts.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/skills/test_sources.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_base.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_cancellation.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_composite.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_consecutive_agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_external.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_function_call.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_handoff.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_max_message.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_predicate.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_source.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_text_mention.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_timeout.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/termination/test_token_usage.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_cancellation_token.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_context.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_logger.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_messages.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_optional_extras.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_package_api.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_session_store.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_types.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/test_vanilla_chunker.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/tools/test_coding_tools.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/tools/test_memory_tool.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/tools/test_research_tools.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/tools/test_tools.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/__init__.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/helpers.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/test_eval_routes.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/test_execution.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/test_package_api.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/test_registry.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/test_server.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/test_sessions.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/webui/test_workflow_streaming.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/recovery_worker.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_agent_step_imports.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_checkpoint.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_subworkflow_step.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_workflow_agent.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_workflow_class.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_workflow_models.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_workflow_reliability.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_workflow_runner.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_workflow_schema.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_workflow_steps.py +0 -0
- {agentbyte-0.42.2 → agentbyte-0.42.4}/tests/workflow/test_workflow_visualizer.py +0 -0
|
@@ -6,6 +6,24 @@ The format follows Keep a Changelog principles and semantic versioning.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.42.4] - 2026-10-05
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Orchestration (spec 0066 follow-up): `PlanBasedOrchestrator`, `AIOrchestrator`,
|
|
14
|
+
`RoundRobinOrchestrator`, and `HandoffOrchestrator` now accept `name=` and `description=` and
|
|
15
|
+
forward them to `BaseOrchestrator`. Previously a team could not be named at construction, so
|
|
16
|
+
`response.source` was always the class name (e.g. `"PlanBasedOrchestrator"`) unless `name` was
|
|
17
|
+
set on the instance afterwards.
|
|
18
|
+
|
|
19
|
+
## [0.42.3] - 2026-10-05
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- Console preset (spec 0066 A4 follow-up): `agentbyte.presets.streaming.render_stream_item` now
|
|
24
|
+
recognizes `StepEvent` with a dedicated `[STEP EVENT] <step_id> -> <inner event_type>` line
|
|
25
|
+
instead of the generic `WorkflowEvent` repr.
|
|
26
|
+
|
|
9
27
|
## [0.42.2] - 2026-10-05
|
|
10
28
|
|
|
11
29
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agentbyte
|
|
3
|
-
Version: 0.42.
|
|
3
|
+
Version: 0.42.4
|
|
4
4
|
Summary: A toolkit for designing multiagent systems
|
|
5
5
|
Author-email: MrDataPsycho <mr.data.psycho@gmail.com>
|
|
6
6
|
License-Expression: LicenseRef-Proprietary
|
|
@@ -77,7 +77,7 @@ Description-Content-Type: text/markdown
|
|
|
77
77
|
|
|
78
78
|
Agentbyte is an observability-first agentic AI framework for building and studying multiagent systems with a learning-first, implementation-oriented workflow.
|
|
79
79
|
|
|
80
|
-
Current release: **0.42.
|
|
80
|
+
Current release: **0.42.4**
|
|
81
81
|
|
|
82
82
|
## Building an Agent
|
|
83
83
|
|
|
@@ -54,11 +54,15 @@ class AIOrchestrator(BaseOrchestrator):
|
|
|
54
54
|
history_policy: HistoryContextPolicy | None = None,
|
|
55
55
|
selector_policy: SelectorContextPolicy | None = None,
|
|
56
56
|
final_result_policy: FinalResultPolicy | None = None,
|
|
57
|
+
name: str | None = None,
|
|
58
|
+
description: str | None = None,
|
|
57
59
|
):
|
|
58
60
|
super().__init__(
|
|
59
61
|
agents,
|
|
60
62
|
termination,
|
|
61
63
|
max_iterations,
|
|
64
|
+
name=name,
|
|
65
|
+
description=description,
|
|
62
66
|
history_policy=history_policy,
|
|
63
67
|
final_result_policy=final_result_policy,
|
|
64
68
|
)
|
|
@@ -104,6 +104,8 @@ class HandoffOrchestrator(BaseOrchestrator):
|
|
|
104
104
|
max_iterations: int = 50,
|
|
105
105
|
history_policy: HistoryContextPolicy | None = None,
|
|
106
106
|
final_result_policy: FinalResultPolicy | None = None,
|
|
107
|
+
name: str | None = None,
|
|
108
|
+
description: str | None = None,
|
|
107
109
|
):
|
|
108
110
|
"""
|
|
109
111
|
Initialise the handoff orchestrator.
|
|
@@ -124,11 +126,15 @@ class HandoffOrchestrator(BaseOrchestrator):
|
|
|
124
126
|
max_iterations: Safety cap on orchestration iterations.
|
|
125
127
|
history_policy: History window/format configuration.
|
|
126
128
|
final_result_policy: Final-message selection and finalization config.
|
|
129
|
+
name: Team name; reported as ``response.source`` (defaults to the class name).
|
|
130
|
+
description: Optional description of the team's purpose.
|
|
127
131
|
"""
|
|
128
132
|
super().__init__(
|
|
129
133
|
agents,
|
|
130
134
|
termination,
|
|
131
135
|
max_iterations,
|
|
136
|
+
name=name,
|
|
137
|
+
description=description,
|
|
132
138
|
history_policy=history_policy,
|
|
133
139
|
final_result_policy=final_result_policy,
|
|
134
140
|
)
|
|
@@ -78,11 +78,15 @@ class PlanBasedOrchestrator(BaseOrchestrator):
|
|
|
78
78
|
history_policy: HistoryContextPolicy | None = None,
|
|
79
79
|
review_gate_policy: ReviewGatePolicy | None = None,
|
|
80
80
|
final_result_policy: FinalResultPolicy | None = None,
|
|
81
|
+
name: str | None = None,
|
|
82
|
+
description: str | None = None,
|
|
81
83
|
):
|
|
82
84
|
super().__init__(
|
|
83
85
|
agents,
|
|
84
86
|
termination,
|
|
85
87
|
max_iterations,
|
|
88
|
+
name=name,
|
|
89
|
+
description=description,
|
|
86
90
|
history_policy=history_policy,
|
|
87
91
|
final_result_policy=final_result_policy,
|
|
88
92
|
)
|
|
@@ -32,11 +32,15 @@ class RoundRobinOrchestrator(BaseOrchestrator):
|
|
|
32
32
|
max_iterations: int = 50,
|
|
33
33
|
history_policy: HistoryContextPolicy | None = None,
|
|
34
34
|
final_result_policy: FinalResultPolicy | None = None,
|
|
35
|
+
name: str | None = None,
|
|
36
|
+
description: str | None = None,
|
|
35
37
|
):
|
|
36
38
|
super().__init__(
|
|
37
39
|
agents,
|
|
38
40
|
termination,
|
|
39
41
|
max_iterations,
|
|
42
|
+
name=name,
|
|
43
|
+
description=description,
|
|
40
44
|
history_policy=history_policy,
|
|
41
45
|
final_result_policy=final_result_policy,
|
|
42
46
|
)
|
|
@@ -39,6 +39,7 @@ from agentbyte.workflow.core.models import (
|
|
|
39
39
|
CheckpointSavedEvent,
|
|
40
40
|
EdgeActivatedEvent,
|
|
41
41
|
StepCompletedEvent,
|
|
42
|
+
StepEvent,
|
|
42
43
|
StepFailedEvent,
|
|
43
44
|
StepProgressEvent,
|
|
44
45
|
StepStartedEvent,
|
|
@@ -197,6 +198,14 @@ def render_stream_item(item: Any, *, max_chars: int = 500) -> str | None:
|
|
|
197
198
|
f"steps={item.completed_steps}/{item.total_steps}"
|
|
198
199
|
)
|
|
199
200
|
|
|
201
|
+
if isinstance(item, StepEvent):
|
|
202
|
+
inner_type = item.event.get("event_type", "unknown")
|
|
203
|
+
attempt = f" attempt={item.attempt}" if item.attempt > 1 else ""
|
|
204
|
+
return (
|
|
205
|
+
f"[STEP EVENT] {item.step_id}{attempt} -> {inner_type}\n"
|
|
206
|
+
f" {_short(item.event, max_chars)}"
|
|
207
|
+
)
|
|
208
|
+
|
|
200
209
|
if isinstance(item, ToolResult):
|
|
201
210
|
return f"[TOOL FINAL] success={item.success} result={_short(item.result, max_chars)}"
|
|
202
211
|
|
{agentbyte-0.42.2 → agentbyte-0.42.4}/tests/orchestration/test_orchestrator_agent_contract.py
RENAMED
|
@@ -123,26 +123,58 @@ def _never() -> TextMentionTermination:
|
|
|
123
123
|
return TextMentionTermination("NEVER_SAID")
|
|
124
124
|
|
|
125
125
|
|
|
126
|
-
def _team(
|
|
126
|
+
def _team(
|
|
127
|
+
pattern: str,
|
|
128
|
+
*agents: BaseAgent,
|
|
129
|
+
client: CoordinatorClient | None = None,
|
|
130
|
+
**identity: str,
|
|
131
|
+
):
|
|
127
132
|
members = list(agents) or [ScriptAgent("worker")]
|
|
128
133
|
client = client or CoordinatorClient()
|
|
134
|
+
if not identity:
|
|
135
|
+
identity = {"name": "team"}
|
|
129
136
|
if pattern == "round_robin":
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
raise AssertionError(pattern)
|
|
139
|
-
team.name = "team"
|
|
140
|
-
return team
|
|
137
|
+
return RoundRobinOrchestrator(members, _never(), max_iterations=1, **identity)
|
|
138
|
+
if pattern == "handoff":
|
|
139
|
+
return HandoffOrchestrator(members, _never(), max_iterations=1, **identity)
|
|
140
|
+
if pattern == "ai":
|
|
141
|
+
return AIOrchestrator(members, _never(), client, max_iterations=1, **identity)
|
|
142
|
+
if pattern == "plan":
|
|
143
|
+
return PlanBasedOrchestrator(members, _never(), client, max_iterations=1, **identity)
|
|
144
|
+
raise AssertionError(pattern)
|
|
141
145
|
|
|
142
146
|
|
|
143
147
|
PATTERNS = ["round_robin", "handoff", "ai", "plan"]
|
|
144
148
|
|
|
145
149
|
|
|
150
|
+
_PATTERN_CLASSES = {
|
|
151
|
+
"round_robin": "RoundRobinOrchestrator",
|
|
152
|
+
"handoff": "HandoffOrchestrator",
|
|
153
|
+
"ai": "AIOrchestrator",
|
|
154
|
+
"plan": "PlanBasedOrchestrator",
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
@pytest.mark.asyncio
|
|
159
|
+
class TestTeamIdentity:
|
|
160
|
+
@pytest.mark.parametrize("pattern", PATTERNS)
|
|
161
|
+
async def test_name_and_description_are_constructor_arguments(self, pattern: str) -> None:
|
|
162
|
+
team = _team(pattern, name="procurement", description="Procurement specialists")
|
|
163
|
+
|
|
164
|
+
response = await team.run("fix it")
|
|
165
|
+
|
|
166
|
+
assert team.name == "procurement"
|
|
167
|
+
assert team.description == "Procurement specialists"
|
|
168
|
+
assert response.source == "procurement"
|
|
169
|
+
|
|
170
|
+
@pytest.mark.parametrize("pattern", PATTERNS)
|
|
171
|
+
async def test_name_defaults_to_class_name(self, pattern: str) -> None:
|
|
172
|
+
team = _team(pattern, description="unnamed")
|
|
173
|
+
|
|
174
|
+
assert team.name == _PATTERN_CLASSES[pattern]
|
|
175
|
+
assert team.description == "unnamed"
|
|
176
|
+
|
|
177
|
+
|
|
146
178
|
@pytest.mark.asyncio
|
|
147
179
|
class TestStreamInvariant:
|
|
148
180
|
@pytest.mark.parametrize("pattern", PATTERNS)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from collections.abc import AsyncGenerator
|
|
4
|
+
from datetime import datetime
|
|
4
5
|
from typing import Any
|
|
5
6
|
|
|
6
7
|
import pytest
|
|
@@ -22,6 +23,7 @@ from agentbyte.workflow import (
|
|
|
22
23
|
WorkflowConfig,
|
|
23
24
|
WorkflowContext,
|
|
24
25
|
)
|
|
26
|
+
from agentbyte.workflow.core.models import StepEvent
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
class _Input(BaseModel):
|
|
@@ -72,6 +74,27 @@ def test_render_stream_item_formats_sql_tool_calls() -> None:
|
|
|
72
74
|
assert " from suppliers" in rendered
|
|
73
75
|
|
|
74
76
|
|
|
77
|
+
def test_render_stream_item_unwraps_step_event() -> None:
|
|
78
|
+
event = StepEvent(
|
|
79
|
+
timestamp=datetime.now(),
|
|
80
|
+
workflow_id="wf-1",
|
|
81
|
+
source="writer",
|
|
82
|
+
execution_id="exec-1",
|
|
83
|
+
invocation_id="inv-1",
|
|
84
|
+
step_id="draft",
|
|
85
|
+
attempt=2,
|
|
86
|
+
sequence=3,
|
|
87
|
+
event={"event_type": "tool_call", "tool_name": "search"},
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
rendered = render_stream_item(event)
|
|
91
|
+
|
|
92
|
+
assert rendered is not None
|
|
93
|
+
assert rendered.startswith("[STEP EVENT] draft attempt=2 -> tool_call")
|
|
94
|
+
assert "tool_call" in rendered
|
|
95
|
+
assert "search" in rendered
|
|
96
|
+
|
|
97
|
+
|
|
75
98
|
def test_console_stream_printer_truncates_output() -> None:
|
|
76
99
|
lines: list[str] = []
|
|
77
100
|
printer = ConsoleStreamPrinter(max_chars=5, output=lines.append)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|