agentbyte 0.20.2__tar.gz → 0.20.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.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-agent/SKILL.md +3 -1
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-workflow/SKILL.md +50 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/CHANGELOG.md +17 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/PKG-INFO +3 -8
- {agentbyte-0.20.2 → agentbyte-0.20.4}/README.md +2 -7
- agentbyte-0.20.4/src/agentbyte/__about__.py +2 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/agents/agent.py +1 -1
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/azure/chat.py +4 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/openai/chat.py +4 -0
- agentbyte-0.20.2/src/agentbyte/__about__.py +0 -2
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-ai-driven-orchestration/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-coding-tools/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-dataset/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-eval/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-function-tools/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-handoff-orchestration/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-list-memory/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-llm-client/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-memory-tool/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-middleware/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-otel-tracing/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-plan-based-orchestration/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-research-tools/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-round-robin-orchestration/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/git-multi-remote-push/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/skill-authoring/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/.gitignore +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/LICENSE +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/pyproject.toml +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/agents/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/agents/agent_as_tool.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/agents/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/agents/embedding_agent.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/agents/types.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/cancellation_token.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/catalog.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/cli/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/cli/main.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/component.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/context.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/context_providers/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/context_providers/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/context_providers/skill_tools.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/context_providers/skills.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/config.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/json.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/loader.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/publish.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/publish_config.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/publishers.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/sources.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/dataset/sqlite.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/entity.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/checks/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/checks/decorator.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/checks/keyword.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/checks/local.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/checks/tool.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/checks/types.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/comparison.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/eval_dataset.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/judges/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/judges/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/judges/composite.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/judges/llm.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/judges/pairwise.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/judges/reference.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/pairwise.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/report.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/runner.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/targets/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/targets/agent.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/targets/model.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/targets/orchestrator.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/eval/types.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/_retry_observability.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/auth.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/azure/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/azure/auth.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/azure/embedding.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/azure/settings.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/azure_openai.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/azure_openai_embedding.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/embeddings_base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/openai/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/openai/embedding.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/openai/settings.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/openai.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/openai_embedding.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/pricing.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/retry_policy.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/settings.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/llm/types.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/logger.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/memory/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/memory/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/messages.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/microwebui/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/microwebui/server.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/microwebui/ui/index.html +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/middleware/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/middleware/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/middleware/otel.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/middleware/retry.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/middleware/sql_usage.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/middleware/usage_logger.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/notebook.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/orchestration/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/orchestration/ai.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/orchestration/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/orchestration/handoff.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/orchestration/plan.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/orchestration/policies.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/orchestration/round_robin.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/agents.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/clients.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/instruction_registry.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/instructions/orchestrator.yaml +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/instructions/query_rewriter.yaml +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/instructions/researcher.yaml +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/instructions/reviewer.yaml +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/instructions/writer.yaml +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/orchestration.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/workflow.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/session_store.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/skills/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/skills/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/skills/resources.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/skills/scripts.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/skills/sources.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/cancellation.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/composite.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/consecutive_agent.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/external.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/function_call.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/handoff.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/max_message.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/predicate.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/source.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/text_mention.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/timeout.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/termination/token_usage.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/tools/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/tools/base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/tools/coding_tools.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/tools/core_tools.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/tools/decorator.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/tools/memory_tool.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/tools/research_tools.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/types.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/discovery.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/execution.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/.gitignore +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/README.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/components.json +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/eslint.config.js +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/index.html +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/package-lock.json +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/package.json +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/plan.md +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/public/vite.svg +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/App.css +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/App.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/assets/react.svg +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/agent/agent-view.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/message_renderer/ContentRenderer.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/message_renderer/MessageRenderer.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/message_renderer/index.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/message_renderer/types.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/mode-toggle.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/orchestrator/orchestrator-view.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/shared/app-header.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/shared/chat-base.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/shared/context-inspector.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/shared/debug-panel.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/shared/entity-selector.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/shared/example-tasks-display.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/shared/session-switcher.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/shared/tool-approval-banner.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/theme-provider.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/attachment-gallery.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/badge.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/button.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/card.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/dialog.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/dropdown-menu.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/file-upload.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/input.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/label.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/loading-spinner.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/loading-state.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/message-input.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/scroll-area.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/slider.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/tabs.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/ui/textarea.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/workflow/workflow-result-renderer.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/components/workflow/workflow-view.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/hooks/messageHandlers.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/hooks/useEntityExecution.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/index.css +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/lib/format-utils.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/lib/user-id.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/lib/utils.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/main.tsx +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/services/api.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/types/index.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/types/picoagents.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/utils/message-utils.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/src/vite-env.d.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/tsconfig.app.json +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/tsconfig.json +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/tsconfig.node.json +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/vite.config.ts +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/frontend/yarn.lock +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/models.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/registry.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/server.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/session_store.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/sessions.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/ui/assets/index-DDp5MYFO.js +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/ui/assets/index-ar5tOeqt.css +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/ui/index.html +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/webui/ui/vite.svg +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/agent.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/core/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/core/_structure_hash.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/core/checkpoint.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/core/models.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/core/runner.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/core/workflow.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/defaults.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/loader.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/schema.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/schema_utils.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/steps/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/steps/agentbyte_agent.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/steps/echo.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/steps/function.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/steps/http.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/steps/step.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/steps/subworkflow.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/steps/transform.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/workflow/visualizer.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_agent_as_tool.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_agent_basic.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_agent_context_providers.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_agent_event_types.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_agent_memory_integration.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_agent_middleware_integration.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_agent_retry_middleware.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_agent_stream_events.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_embedding_agent.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/agents/test_tool_approval.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/cli/test_registry_check.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/context_providers/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/context_providers/test_skill_tools.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/context_providers/test_skills_provider.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/dataset/test_loader.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/dataset/test_multi_table.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/dataset/test_publish.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/eval/test_eval_dataset.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/eval/test_pairwise.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/eval/test_phase1_runner_and_targets.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/eval/test_phase2_checks_and_reports.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/eval/test_types_and_judges.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/llm/test_azure_client.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/llm/test_azure_embedding_client.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/llm/test_llm_types.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/llm/test_openai_client.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/llm/test_openai_embedding_client.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/llm/test_retry_observability.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/llm/test_retry_policy_api.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/memory/test_memory.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/middleware/test_middleware_chain.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/middleware/test_otel.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/middleware/test_retry_middleware.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/middleware/test_sql_usage.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/middleware/test_usage_logger.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/orchestration/test_ai_orchestrator.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/orchestration/test_base_orchestrator.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/orchestration/test_handoff_orchestrator.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/orchestration/test_plan_orchestrator.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/orchestration/test_round_robin.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/presets/test_agents.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/presets/test_clients.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/presets/test_instruction_registry.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/presets/test_orchestration.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/presets/test_workflow.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/skills/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/skills/test_base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/skills/test_resources.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/skills/test_scripts.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/skills/test_sources.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_base.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_cancellation.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_composite.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_consecutive_agent.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_external.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_function_call.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_handoff.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_max_message.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_predicate.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_source.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_text_mention.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_timeout.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/termination/test_token_usage.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/test_cancellation_token.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/test_context.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/test_logger.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/test_messages.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/test_package_api.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/test_session_store.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/test_types.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/tools/test_coding_tools.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/tools/test_memory_tool.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/tools/test_research_tools.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/tools/test_tools.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/webui/__init__.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/webui/helpers.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/webui/test_execution.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/webui/test_microwebui_server.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/webui/test_package_api.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/webui/test_registry.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/webui/test_server.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/webui/test_sessions.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_checkpoint.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_subworkflow_step.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_workflow_agent.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_workflow_class.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_workflow_models.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_workflow_runner.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_workflow_schema.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_workflow_steps.py +0 -0
- {agentbyte-0.20.2 → agentbyte-0.20.4}/tests/workflow/test_workflow_visualizer.py +0 -0
|
@@ -444,7 +444,7 @@ def build_contract_agent(*, model_client) -> Agent:
|
|
|
444
444
|
required_tools=["think"],
|
|
445
445
|
max_iterations=6,
|
|
446
446
|
example_tasks=[
|
|
447
|
-
"Who signed CW347209 from
|
|
447
|
+
"Who signed CW347209 from XYZ?",
|
|
448
448
|
"List all contracts expiring in Q3 2025.",
|
|
449
449
|
],
|
|
450
450
|
)
|
|
@@ -481,6 +481,7 @@ async def run_with_filters(
|
|
|
481
481
|
```python
|
|
482
482
|
from agentbyte.agents import EmbeddingAgent
|
|
483
483
|
from agentbyte.llm.openai import OpenAIEmbeddingClient
|
|
484
|
+
from agentbyte.llm.types import EmbeddingResult
|
|
484
485
|
from agentbyte.middleware import OTelMiddleware
|
|
485
486
|
|
|
486
487
|
client = OpenAIEmbeddingClient.from_api_key(model="text-embedding-3-small")
|
|
@@ -510,6 +511,7 @@ print(f"Cost: ${result.usage.cost_estimate:.4f}, tokens: {result.usage.tokens_in
|
|
|
510
511
|
|
|
511
512
|
```python
|
|
512
513
|
from agentbyte.agents import EmbeddingBatchProgressEvent
|
|
514
|
+
from agentbyte.llm.types import EmbeddingResult
|
|
513
515
|
|
|
514
516
|
async for event in agent.run_stream(texts=chunks):
|
|
515
517
|
if isinstance(event, EmbeddingBatchProgressEvent):
|
|
@@ -101,6 +101,38 @@ FunctionStep(
|
|
|
101
101
|
)
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
+
Design guidance:
|
|
105
|
+
|
|
106
|
+
- `input_type` and `output_type` should be concrete Pydantic model classes that represent the real data crossing the step boundary.
|
|
107
|
+
- Prefer step outputs as the primary transport for business data that flows from one step to the next.
|
|
108
|
+
- Use `WorkflowContext` for cross-cutting concerns such as progress, flags, lightweight shared metadata, and values that are needed outside the direct step-to-step path.
|
|
109
|
+
|
|
110
|
+
Preferred pattern:
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
from pydantic import BaseModel
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
class ParsedInput(BaseModel):
|
|
117
|
+
record_id: str
|
|
118
|
+
file_name: str
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
class EnrichedOutput(ParsedInput):
|
|
122
|
+
content_hash: str
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
async def enrich(input_data: ParsedInput, context) -> EnrichedOutput:
|
|
126
|
+
context.set("started_enrichment", True)
|
|
127
|
+
return EnrichedOutput(
|
|
128
|
+
record_id=input_data.record_id,
|
|
129
|
+
file_name=input_data.file_name,
|
|
130
|
+
content_hash="abc123",
|
|
131
|
+
)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Avoid using placeholder or pass-through output types while putting the real business payload only into `WorkflowContext.state`. That pattern weakens validation, makes step contracts less clear, and pushes too much logic into string-keyed shared state.
|
|
135
|
+
|
|
104
136
|
### TransformStep
|
|
105
137
|
|
|
106
138
|
Maps fields from one schema to another without custom code. Use `"static:<value>"` for literal values, or a field name string to copy from input.
|
|
@@ -341,6 +373,13 @@ async def step_b(input_data: MyOutput, context: WorkflowContext) -> MyOutput:
|
|
|
341
373
|
return MyOutput(value=f"Got: {shared}")
|
|
342
374
|
```
|
|
343
375
|
|
|
376
|
+
Use `WorkflowContext` intentionally:
|
|
377
|
+
|
|
378
|
+
- Put primary business data in step outputs when that data is part of the direct step-to-step contract.
|
|
379
|
+
- Put small shared values in `WorkflowContext` when they are cross-cutting, optional, or orthogonal to the main output shape.
|
|
380
|
+
- For simple linear enrichment pipelines, a good default is typed outputs for the main payload plus a small amount of primitive state for bookkeeping.
|
|
381
|
+
- Avoid making `WorkflowContext.state` the only source of truth for the workflow's main data flow unless the workflow genuinely needs loose coupling between many steps.
|
|
382
|
+
|
|
344
383
|
`WorkflowContext` API:
|
|
345
384
|
|
|
346
385
|
| Method | Purpose |
|
|
@@ -447,6 +486,14 @@ resumed_execution = await runner.run(
|
|
|
447
486
|
|
|
448
487
|
The runner validates the checkpoint's structure hash against the live workflow graph on resume. If steps were added/removed, `can_resume=False` is set on the `CheckpointValidationResult`.
|
|
449
488
|
|
|
489
|
+
State size guidance:
|
|
490
|
+
|
|
491
|
+
- Workflow state is retained for the lifetime of the run.
|
|
492
|
+
- When checkpointing is enabled, that state is serialized into checkpoints.
|
|
493
|
+
- Prefer storing IDs, keys, counters, flags, and other small primitives in shared state.
|
|
494
|
+
- Avoid storing large domain objects, open clients, or heavyweight in-memory payloads in `WorkflowContext.state` unless they are truly required for resume semantics.
|
|
495
|
+
- If a step can reconstruct a full object from a lightweight identifier, prefer storing the identifier and reconstructing on demand.
|
|
496
|
+
|
|
450
497
|
---
|
|
451
498
|
|
|
452
499
|
## 11. Suspend / resume — human-in-the-loop
|
|
@@ -556,6 +603,9 @@ if not validation.is_valid:
|
|
|
556
603
|
## Guardrails
|
|
557
604
|
|
|
558
605
|
- Use `chain()` for linear flows; use `add_step()` + `add_edge()` only when branching or fan-out is required.
|
|
606
|
+
- Design `FunctionStep` input and output types as real Pydantic contracts for the data flowing between steps; do not use placeholder output models when the actual payload lives only in workflow state.
|
|
607
|
+
- Use step outputs for primary business data flow, and reserve `WorkflowContext.state` for compact shared metadata, flags, and bookkeeping.
|
|
608
|
+
- Keep workflow state small and checkpoint-friendly; prefer IDs and lightweight values over large domain objects.
|
|
559
609
|
- A fan-in join step with ≥ 2 upstream `always` edges receives `{"branch_outputs": {...}, "failed_branches": [...]}` — its input model must declare these fields, not the upstream output shape.
|
|
560
610
|
- Always pass a workflow factory (callable) to `SubWorkflowStep`, not a live instance — the runner calls it to get a fresh copy per execution.
|
|
561
611
|
- Do not pass `initial_input` and `responses` together — they are mutually exclusive.
|
|
@@ -4,6 +4,23 @@ All notable changes to Agentbyte are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format follows Keep a Changelog principles and semantic versioning.
|
|
6
6
|
|
|
7
|
+
## [0.20.4] - 2026-05-18
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Fixed `structured_content` always being `None` on `AssistantMessage` when `output_format` is used; agent now correctly reads `completion_result.structured_output` instead of `completion_result.message.structured_content`.
|
|
12
|
+
- Fixed `_make_schema_compatible` in OpenAI and Azure chat clients to include all object properties in the `required` array, satisfying OpenAI structured outputs strict mode for models with optional (`str | None`) fields.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## [0.20.3] - 2026-05-11
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- Removed internal file links from README; logo image and doc file references no longer appear in the published package page.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
7
24
|
## [0.20.2] - 2026-05-11
|
|
8
25
|
|
|
9
26
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbyte
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.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
|
|
@@ -72,15 +72,11 @@ Requires-Dist: fastapi>=0.135.2; extra == 'webui'
|
|
|
72
72
|
Requires-Dist: uvicorn[standard]>=0.44.0; extra == 'webui'
|
|
73
73
|
Description-Content-Type: text/markdown
|
|
74
74
|
|
|
75
|
-
<p align="center">
|
|
76
|
-
<img src="logo/agent-byte-avatar-low.png" alt="Agentbyte" width="200"/>
|
|
77
|
-
</p>
|
|
78
|
-
|
|
79
75
|
# Agentbyte
|
|
80
76
|
|
|
81
77
|
Agentbyte is an observability-first agentic AI framework for building and studying multiagent systems with a learning-first, implementation-oriented workflow.
|
|
82
78
|
|
|
83
|
-
Current release: **0.20.
|
|
79
|
+
Current release: **0.20.4**
|
|
84
80
|
|
|
85
81
|
## Current Capabilities
|
|
86
82
|
|
|
@@ -116,8 +112,7 @@ Per-call span attributes emitted by `OTelMiddleware`:
|
|
|
116
112
|
- `gen_ai.request.model`
|
|
117
113
|
- `gen_ai.tool.name`, `gen_ai.tool.success`
|
|
118
114
|
|
|
119
|
-
##
|
|
120
|
-
details can be found in the [OTel spans guide](docs/study/topic_otel_spans.md#debugging-traces-without-ui).
|
|
115
|
+
## Debugging Traces without UI
|
|
121
116
|
|
|
122
117
|
Practical interpretation:
|
|
123
118
|
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<img src="logo/agent-byte-avatar-low.png" alt="Agentbyte" width="200"/>
|
|
3
|
-
</p>
|
|
4
|
-
|
|
5
1
|
# Agentbyte
|
|
6
2
|
|
|
7
3
|
Agentbyte is an observability-first agentic AI framework for building and studying multiagent systems with a learning-first, implementation-oriented workflow.
|
|
8
4
|
|
|
9
|
-
Current release: **0.20.
|
|
5
|
+
Current release: **0.20.4**
|
|
10
6
|
|
|
11
7
|
## Current Capabilities
|
|
12
8
|
|
|
@@ -42,8 +38,7 @@ Per-call span attributes emitted by `OTelMiddleware`:
|
|
|
42
38
|
- `gen_ai.request.model`
|
|
43
39
|
- `gen_ai.tool.name`, `gen_ai.tool.success`
|
|
44
40
|
|
|
45
|
-
##
|
|
46
|
-
details can be found in the [OTel spans guide](docs/study/topic_otel_spans.md#debugging-traces-without-ui).
|
|
41
|
+
## Debugging Traces without UI
|
|
47
42
|
|
|
48
43
|
Practical interpretation:
|
|
49
44
|
|
|
@@ -601,7 +601,7 @@ class Agent(BaseAgent):
|
|
|
601
601
|
content=completion_result.message.content,
|
|
602
602
|
source=self.name,
|
|
603
603
|
tool_calls=completion_result.message.tool_calls,
|
|
604
|
-
structured_content=completion_result.
|
|
604
|
+
structured_content=completion_result.structured_output,
|
|
605
605
|
usage=completion_result.usage,
|
|
606
606
|
)
|
|
607
607
|
|
|
@@ -616,6 +616,10 @@ class AzureOpenAIChatCompletionClient(
|
|
|
616
616
|
|
|
617
617
|
if compatible_schema.get("type") == "object":
|
|
618
618
|
compatible_schema["additionalProperties"] = False
|
|
619
|
+
if "properties" in compatible_schema:
|
|
620
|
+
all_keys = list(compatible_schema["properties"].keys())
|
|
621
|
+
existing = compatible_schema.get("required", [])
|
|
622
|
+
compatible_schema["required"] = list(dict.fromkeys(existing + all_keys))
|
|
619
623
|
|
|
620
624
|
return compatible_schema
|
|
621
625
|
|
|
@@ -394,6 +394,10 @@ class OpenAIChatCompletionClient(
|
|
|
394
394
|
|
|
395
395
|
if compatible_schema.get("type") == "object":
|
|
396
396
|
compatible_schema["additionalProperties"] = False
|
|
397
|
+
if "properties" in compatible_schema:
|
|
398
|
+
all_keys = list(compatible_schema["properties"].keys())
|
|
399
|
+
existing = compatible_schema.get("required", [])
|
|
400
|
+
compatible_schema["required"] = list(dict.fromkeys(existing + all_keys))
|
|
397
401
|
|
|
398
402
|
return compatible_schema
|
|
399
403
|
|
{agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-ai-driven-orchestration/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-handoff-orchestration/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-plan-based-orchestration/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{agentbyte-0.20.2 → agentbyte-0.20.4}/.github/skills/agentbyte-round-robin-orchestration/SKILL.md
RENAMED
|
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
|
{agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/instructions/query_rewriter.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentbyte-0.20.2 → agentbyte-0.20.4}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md
RENAMED
|
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
|