agentbyte 0.20.5__tar.gz → 0.22.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.20.5 → agentbyte-0.22.0}/CHANGELOG.md +17 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/PKG-INFO +2 -2
- {agentbyte-0.20.5 → agentbyte-0.22.0}/README.md +1 -1
- {agentbyte-0.20.5 → agentbyte-0.22.0}/pyproject.toml +1 -4
- agentbyte-0.22.0/src/agentbyte/__about__.py +2 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/cli/main.py +0 -160
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/__init__.py +30 -2
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/base.py +1 -1
- agentbyte-0.22.0/src/agentbyte/dataset/importer.py +393 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/json.py +5 -1
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/loader.py +2 -2
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/sources.py +10 -3
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/sqlite.py +75 -117
- agentbyte-0.22.0/src/agentbyte/dataset/write_config.py +76 -0
- agentbyte-0.22.0/src/agentbyte/dataset/writers.py +99 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/__init__.py +6 -3
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/__init__.py +2 -2
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/local.py +2 -2
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/eval_dataset.py +67 -15
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/runner.py +36 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/targets/__init__.py +2 -1
- agentbyte-0.22.0/src/agentbyte/eval/targets/multi_turn.py +142 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/types.py +16 -0
- agentbyte-0.22.0/src/agentbyte/presets/skills/hr-analyst/SKILL.md +40 -0
- agentbyte-0.22.0/src/agentbyte/presets/skills/hr-analyst/resources/departments.md +23 -0
- agentbyte-0.22.0/src/agentbyte/presets/skills/hr-analyst/resources/employees.md +28 -0
- agentbyte-0.22.0/src/agentbyte/presets/skills/hr-analyst/resources/payroll.md +34 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/dataset/test_loader.py +53 -39
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/dataset/test_multi_table.py +57 -43
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_eval_dataset.py +65 -56
- agentbyte-0.22.0/tests/eval/test_multi_turn.py +444 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_phase1_runner_and_targets.py +46 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_phase2_checks_and_reports.py +2 -2
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_package_api.py +2 -2
- agentbyte-0.20.5/.github/skills/agentbyte-agent/SKILL.md +0 -626
- agentbyte-0.20.5/.github/skills/agentbyte-ai-driven-orchestration/SKILL.md +0 -320
- agentbyte-0.20.5/.github/skills/agentbyte-coding-tools/SKILL.md +0 -167
- agentbyte-0.20.5/.github/skills/agentbyte-dataset/SKILL.md +0 -414
- agentbyte-0.20.5/.github/skills/agentbyte-eval/SKILL.md +0 -315
- agentbyte-0.20.5/.github/skills/agentbyte-function-tools/SKILL.md +0 -231
- agentbyte-0.20.5/.github/skills/agentbyte-handoff-orchestration/SKILL.md +0 -284
- agentbyte-0.20.5/.github/skills/agentbyte-list-memory/SKILL.md +0 -142
- agentbyte-0.20.5/.github/skills/agentbyte-llm-client/SKILL.md +0 -318
- agentbyte-0.20.5/.github/skills/agentbyte-memory-tool/SKILL.md +0 -136
- agentbyte-0.20.5/.github/skills/agentbyte-middleware/SKILL.md +0 -389
- agentbyte-0.20.5/.github/skills/agentbyte-otel-tracing/SKILL.md +0 -117
- agentbyte-0.20.5/.github/skills/agentbyte-plan-based-orchestration/SKILL.md +0 -288
- agentbyte-0.20.5/.github/skills/agentbyte-research-tools/SKILL.md +0 -166
- agentbyte-0.20.5/.github/skills/agentbyte-round-robin-orchestration/SKILL.md +0 -236
- agentbyte-0.20.5/.github/skills/agentbyte-workflow/SKILL.md +0 -629
- agentbyte-0.20.5/.github/skills/git-multi-remote-push/SKILL.md +0 -70
- agentbyte-0.20.5/.github/skills/skill-authoring/SKILL.md +0 -82
- agentbyte-0.20.5/.github/skills/webui-smoke-test/SKILL.md +0 -314
- agentbyte-0.20.5/src/agentbyte/__about__.py +0 -2
- {agentbyte-0.20.5 → agentbyte-0.22.0}/.gitignore +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/LICENSE +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/agent_as_tool.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/embedding_agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/types.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/cancellation_token.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/catalog.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/cli/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/component.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context_providers/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context_providers/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context_providers/skill_tools.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context_providers/skills.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/config.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/publish.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/publish_config.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/publishers.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/entity.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/decorator.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/keyword.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/tool.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/types.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/comparison.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/composite.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/llm.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/pairwise.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/reference.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/pairwise.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/report.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/targets/agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/targets/model.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/targets/orchestrator.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/_retry_observability.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/auth.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/auth.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/chat.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/embedding.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/settings.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure_openai.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure_openai_embedding.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/embeddings_base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai/chat.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai/embedding.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai/settings.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai_embedding.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/pricing.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/retry_policy.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/settings.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/types.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/logger.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/memory/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/memory/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/messages.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/microwebui/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/microwebui/server.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/microwebui/ui/index.html +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/otel.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/retry.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/sql_usage.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/usage_logger.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/notebook.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/ai.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/handoff.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/plan.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/policies.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/round_robin.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/agents.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/clients.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instruction_registry.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/orchestrator.yaml +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/query_rewriter.yaml +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/researcher.yaml +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/reviewer.yaml +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/writer.yaml +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/orchestration.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/streaming.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/workflow.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/session_store.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/resources.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/scripts.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/sources.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/cancellation.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/composite.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/consecutive_agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/external.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/function_call.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/handoff.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/max_message.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/predicate.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/source.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/text_mention.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/timeout.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/token_usage.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/coding_tools.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/core_tools.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/decorator.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/memory_tool.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/research_tools.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/types.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/discovery.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/execution.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/.gitignore +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/README.md +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/components.json +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/eslint.config.js +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/index.html +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/package-lock.json +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/package.json +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/plan.md +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/public/vite.svg +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/App.css +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/App.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/assets/react.svg +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/agent/agent-view.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/message_renderer/ContentRenderer.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/message_renderer/MessageRenderer.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/message_renderer/index.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/message_renderer/types.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/mode-toggle.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/orchestrator/orchestrator-view.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/app-header.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/chat-base.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/context-inspector.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/debug-panel.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/entity-selector.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/example-tasks-display.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/session-switcher.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/tool-approval-banner.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/theme-provider.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/attachment-gallery.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/badge.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/button.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/card.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/dialog.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/dropdown-menu.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/file-upload.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/input.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/label.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/loading-spinner.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/loading-state.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/message-input.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/scroll-area.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/slider.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/tabs.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/textarea.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/workflow/workflow-result-renderer.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/workflow/workflow-view.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/hooks/messageHandlers.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/hooks/useEntityExecution.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/index.css +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/lib/format-utils.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/lib/user-id.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/lib/utils.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/main.tsx +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/services/api.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/types/index.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/types/picoagents.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/utils/message-utils.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/vite-env.d.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/tsconfig.app.json +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/tsconfig.json +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/tsconfig.node.json +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/vite.config.ts +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/yarn.lock +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/models.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/registry.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/server.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/session_store.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/sessions.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/ui/assets/index-DDp5MYFO.js +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/ui/assets/index-ar5tOeqt.css +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/ui/index.html +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/ui/vite.svg +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/_structure_hash.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/checkpoint.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/models.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/runner.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/workflow.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/defaults.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/loader.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/schema.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/schema_utils.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/agentbyte_agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/echo.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/function.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/http.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/step.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/subworkflow.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/transform.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/visualizer.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_as_tool.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_basic.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_context_providers.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_event_types.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_memory_integration.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_middleware_integration.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_retry_middleware.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_stream_events.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_embedding_agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_tool_approval.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/cli/test_registry_check.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/context_providers/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/context_providers/test_skill_tools.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/context_providers/test_skills_provider.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/dataset/test_publish.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_pairwise.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_types_and_judges.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_azure_client.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_azure_embedding_client.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_llm_types.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_openai_client.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_openai_embedding_client.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_retry_observability.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_retry_policy_api.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/memory/test_memory.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_middleware_chain.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_otel.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_retry_middleware.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_sql_usage.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_usage_logger.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_ai_orchestrator.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_base_orchestrator.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_handoff_orchestrator.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_plan_orchestrator.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_round_robin.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_agents.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_clients.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_instruction_registry.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_orchestration.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_streaming.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_workflow.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/test_base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/test_resources.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/test_scripts.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/test_sources.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_base.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_cancellation.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_composite.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_consecutive_agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_external.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_function_call.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_handoff.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_max_message.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_predicate.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_source.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_text_mention.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_timeout.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_token_usage.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_cancellation_token.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_context.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_logger.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_messages.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_session_store.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_types.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/tools/test_coding_tools.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/tools/test_memory_tool.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/tools/test_research_tools.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/tools/test_tools.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/__init__.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/helpers.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_execution.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_microwebui_server.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_package_api.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_registry.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_server.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_sessions.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_checkpoint.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_subworkflow_step.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_agent.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_class.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_models.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_runner.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_schema.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_steps.py +0 -0
- {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_visualizer.py +0 -0
|
@@ -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.21.0] - 2026-05-22
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Added `MultiTurnEvalTask` subclass of `EvalTask` with a `follow_up_inputs: list[str]` field for 2–N turn conversation evaluation scenarios.
|
|
12
|
+
- Added `MultiTurnAgentEvalTarget` that threads the same `AgentContext` across all turns, producing one unified `EvalTrajectory` with aggregated usage and `turn_count` metadata.
|
|
13
|
+
- Added `follow_ups` column to the eval dataset schema (`EvalDatasetRecord.follow_ups`); `tasks_from_eval_dataset()` automatically returns `MultiTurnEvalTask` when the column is non-empty.
|
|
14
|
+
- Added `evaluate_stream()` to `EvalRunner` — an async generator that yields `EvalScore` objects as each task completes; parallel mode uses `asyncio.as_completed` so scores arrive in completion order.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Renamed `LocalEvaluator` to `CheckEvaluator` to better reflect its purpose (rule-based, deterministic checks without an LLM). **Breaking change** — update all imports from `LocalEvaluator` to `CheckEvaluator`.
|
|
19
|
+
- Moved agent skills from `.github/skills/` to `.agents/skills/`.
|
|
20
|
+
- Removed the `create-skills` CLI sub-command; `webui` and `registry check` are unchanged.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
7
24
|
## [0.20.5] - 2026-05-20
|
|
8
25
|
|
|
9
26
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentbyte
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.22.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
|
|
@@ -76,7 +76,7 @@ Description-Content-Type: text/markdown
|
|
|
76
76
|
|
|
77
77
|
Agentbyte is an observability-first agentic AI framework for building and studying multiagent systems with a learning-first, implementation-oriented workflow.
|
|
78
78
|
|
|
79
|
-
Current release: **0.
|
|
79
|
+
Current release: **0.21.0**
|
|
80
80
|
|
|
81
81
|
## Current Capabilities
|
|
82
82
|
|
|
@@ -105,11 +105,8 @@ path = "src/agentbyte/__about__.py"
|
|
|
105
105
|
[tool.hatch.build.targets.wheel]
|
|
106
106
|
packages = ["src/agentbyte"]
|
|
107
107
|
|
|
108
|
-
[tool.hatch.build.targets.wheel.force-include]
|
|
109
|
-
".github/skills" = "agentbyte/skills"
|
|
110
|
-
|
|
111
108
|
[tool.hatch.build.targets.sdist]
|
|
112
|
-
include = ["/src", "/tests", "/README.md", "/LICENSE", "/CHANGELOG.md", "
|
|
109
|
+
include = ["/src", "/tests", "/README.md", "/LICENSE", "/CHANGELOG.md", "/src/agentbyte/webui/ui", "/src/agentbyte/microwebui/ui"]
|
|
113
110
|
|
|
114
111
|
[dependency-groups]
|
|
115
112
|
openai = [
|
|
@@ -6,140 +6,16 @@ import argparse
|
|
|
6
6
|
import asyncio
|
|
7
7
|
import importlib
|
|
8
8
|
import sys
|
|
9
|
-
from pathlib import Path
|
|
10
9
|
|
|
11
10
|
from agentbyte.__about__ import VERSION
|
|
12
11
|
from agentbyte.catalog import BaseInstructionCatalog
|
|
13
12
|
|
|
14
13
|
|
|
15
|
-
# ---------------------------------------------------------------------------
|
|
16
|
-
# Helpers
|
|
17
|
-
# ---------------------------------------------------------------------------
|
|
18
|
-
|
|
19
|
-
def _bundled_skills_root():
|
|
20
|
-
"""Return a Traversable / Path pointing to the bundled skills directory.
|
|
21
|
-
|
|
22
|
-
- Installed wheel: ``agentbyte/skills/`` is inside the package (via hatchling
|
|
23
|
-
force-include), so ``importlib.resources.files`` resolves it directly.
|
|
24
|
-
- Editable / dev install: the wheel bundle doesn't exist yet; we walk up from
|
|
25
|
-
``src/agentbyte/`` to find ``.github/skills/`` in the repo root instead.
|
|
26
|
-
"""
|
|
27
|
-
from importlib.resources import files
|
|
28
|
-
from importlib.util import find_spec
|
|
29
|
-
|
|
30
|
-
traversable = files("agentbyte").joinpath("skills")
|
|
31
|
-
try:
|
|
32
|
-
next(iter(traversable.iterdir()))
|
|
33
|
-
return traversable
|
|
34
|
-
except (FileNotFoundError, NotADirectoryError, StopIteration, OSError):
|
|
35
|
-
pass
|
|
36
|
-
|
|
37
|
-
# Fallback for editable installs: locate the repo root via the package __file__
|
|
38
|
-
spec = find_spec("agentbyte")
|
|
39
|
-
if spec and spec.origin:
|
|
40
|
-
pkg_dir = Path(spec.origin).parent # …/src/agentbyte/
|
|
41
|
-
candidate = pkg_dir
|
|
42
|
-
for _ in range(6):
|
|
43
|
-
candidate = candidate.parent
|
|
44
|
-
skills_dir = candidate / ".github" / "skills"
|
|
45
|
-
if skills_dir.is_dir():
|
|
46
|
-
return skills_dir
|
|
47
|
-
|
|
48
|
-
raise FileNotFoundError(
|
|
49
|
-
"Could not locate bundled skills directory. "
|
|
50
|
-
"Expected agentbyte/skills/ in the installed package or "
|
|
51
|
-
".github/skills/ in the repository root."
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
def _iter_skill_files(source_traversable, relative_prefix: Path):
|
|
56
|
-
"""Recursively yield (relative_path, traversable_file) pairs."""
|
|
57
|
-
for entry in source_traversable.iterdir():
|
|
58
|
-
entry_rel = relative_prefix / entry.name
|
|
59
|
-
if entry.is_dir():
|
|
60
|
-
yield from _iter_skill_files(entry, entry_rel)
|
|
61
|
-
else:
|
|
62
|
-
yield entry_rel, entry
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def _copy_skills(source_traversable, dest_dir: Path) -> list[Path]:
|
|
66
|
-
"""Copy all files from source_traversable into dest_dir. Returns list of written paths."""
|
|
67
|
-
written = []
|
|
68
|
-
for rel_path, src_file in _iter_skill_files(source_traversable, Path()):
|
|
69
|
-
dest_file = dest_dir / rel_path
|
|
70
|
-
dest_file.parent.mkdir(parents=True, exist_ok=True)
|
|
71
|
-
dest_file.write_bytes(src_file.read_bytes())
|
|
72
|
-
written.append(dest_file)
|
|
73
|
-
return written
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
# ---------------------------------------------------------------------------
|
|
77
|
-
# Sub-command: create-skills
|
|
78
|
-
# ---------------------------------------------------------------------------
|
|
79
|
-
|
|
80
|
-
_PROVIDER_TARGET = {
|
|
81
|
-
"github-copilot": Path(".github") / "skills",
|
|
82
|
-
"claude": Path(".claude") / "skills",
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
_PROVIDERS = list(_PROVIDER_TARGET.keys())
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
def cmd_create_skills(args: argparse.Namespace, cwd: Path | None = None) -> int:
|
|
89
|
-
"""Implement the create-skills sub-command."""
|
|
90
|
-
provider: str = args.provider
|
|
91
|
-
target_rel = _PROVIDER_TARGET[provider]
|
|
92
|
-
base = cwd or Path.cwd()
|
|
93
|
-
dest_dir = base / target_rel
|
|
94
|
-
|
|
95
|
-
try:
|
|
96
|
-
skills_root = _bundled_skills_root()
|
|
97
|
-
except Exception as exc:
|
|
98
|
-
print(f"Error: could not locate bundled skills: {exc}", file=sys.stderr)
|
|
99
|
-
return 1
|
|
100
|
-
|
|
101
|
-
# Collect what will be written
|
|
102
|
-
try:
|
|
103
|
-
pending = list(_iter_skill_files(skills_root, Path()))
|
|
104
|
-
except Exception as exc:
|
|
105
|
-
print(f"Error: could not read bundled skills: {exc}", file=sys.stderr)
|
|
106
|
-
return 1
|
|
107
|
-
|
|
108
|
-
if not pending:
|
|
109
|
-
print("No bundled skills found.")
|
|
110
|
-
return 0
|
|
111
|
-
|
|
112
|
-
# Preview
|
|
113
|
-
print(f"\nProvider : {provider}")
|
|
114
|
-
print(f"Target : {dest_dir}")
|
|
115
|
-
print(f"\nFiles to be written ({len(pending)}):")
|
|
116
|
-
for rel_path, _ in sorted(pending, key=lambda x: str(x[0])):
|
|
117
|
-
marker = " [overwrite]" if (dest_dir / rel_path).exists() else ""
|
|
118
|
-
print(f" {rel_path}{marker}")
|
|
119
|
-
|
|
120
|
-
# Confirm
|
|
121
|
-
print()
|
|
122
|
-
try:
|
|
123
|
-
answer = input("Proceed? [y/N]: ").strip().lower()
|
|
124
|
-
except (EOFError, KeyboardInterrupt):
|
|
125
|
-
print("\nAborted.")
|
|
126
|
-
return 0
|
|
127
|
-
|
|
128
|
-
if answer != "y":
|
|
129
|
-
print("Aborted.")
|
|
130
|
-
return 0
|
|
131
|
-
|
|
132
|
-
written = _copy_skills(skills_root, dest_dir)
|
|
133
|
-
print(f"\n✓ {len(written)} file(s) written to {dest_dir}")
|
|
134
|
-
return 0
|
|
135
|
-
|
|
136
|
-
|
|
137
14
|
# ---------------------------------------------------------------------------
|
|
138
15
|
# Interactive wizard
|
|
139
16
|
# ---------------------------------------------------------------------------
|
|
140
17
|
|
|
141
18
|
_COMMANDS = [
|
|
142
|
-
("create-skills", "Copy AI assistant skills into this project"),
|
|
143
19
|
("webui", "Launch the Agentbyte WebUI"),
|
|
144
20
|
]
|
|
145
21
|
|
|
@@ -222,23 +98,6 @@ def _interactive_wizard() -> int:
|
|
|
222
98
|
idx = command_labels.index(selected_label)
|
|
223
99
|
command = command_names[idx]
|
|
224
100
|
|
|
225
|
-
if command == "create-skills":
|
|
226
|
-
# Phase 2 — provider selection
|
|
227
|
-
print("\nSelect provider:\n")
|
|
228
|
-
provider_labels = [
|
|
229
|
-
f"{name:<20} → {target}"
|
|
230
|
-
for name, target in _PROVIDER_TARGET.items()
|
|
231
|
-
]
|
|
232
|
-
selected_provider_label = _prompt_choice("Enter choice", provider_labels, default=1)
|
|
233
|
-
if selected_provider_label is None:
|
|
234
|
-
return 0
|
|
235
|
-
|
|
236
|
-
provider_idx = provider_labels.index(selected_provider_label)
|
|
237
|
-
provider = _PROVIDERS[provider_idx]
|
|
238
|
-
|
|
239
|
-
args = argparse.Namespace(provider=provider)
|
|
240
|
-
return cmd_create_skills(args)
|
|
241
|
-
|
|
242
101
|
if command == "webui":
|
|
243
102
|
args = argparse.Namespace(
|
|
244
103
|
dir=".",
|
|
@@ -347,23 +206,6 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
347
206
|
|
|
348
207
|
subparsers = parser.add_subparsers(dest="command", metavar="<command>")
|
|
349
208
|
|
|
350
|
-
# create-skills
|
|
351
|
-
create_skills_parser = subparsers.add_parser(
|
|
352
|
-
"create-skills",
|
|
353
|
-
help="Copy bundled AI assistant skills into the current project",
|
|
354
|
-
)
|
|
355
|
-
create_skills_parser.add_argument(
|
|
356
|
-
"--provider",
|
|
357
|
-
choices=_PROVIDERS,
|
|
358
|
-
default="github-copilot",
|
|
359
|
-
help=(
|
|
360
|
-
"Which AI assistant provider to target. "
|
|
361
|
-
"'github-copilot' writes to .github/skills/, "
|
|
362
|
-
"'claude' writes to .claude/skills/. "
|
|
363
|
-
"(default: github-copilot)"
|
|
364
|
-
),
|
|
365
|
-
)
|
|
366
|
-
|
|
367
209
|
webui_parser = subparsers.add_parser(
|
|
368
210
|
"webui",
|
|
369
211
|
help="Launch the packaged Agentbyte WebUI",
|
|
@@ -440,8 +282,6 @@ def main() -> None:
|
|
|
440
282
|
parser = _build_parser()
|
|
441
283
|
args = parser.parse_args()
|
|
442
284
|
|
|
443
|
-
if args.command == "create-skills":
|
|
444
|
-
sys.exit(cmd_create_skills(args))
|
|
445
285
|
if args.command == "webui":
|
|
446
286
|
sys.exit(cmd_webui(args))
|
|
447
287
|
if args.command == "registry":
|
|
@@ -75,10 +75,25 @@ Example:
|
|
|
75
75
|
>>> # SQLite-specific SQL query
|
|
76
76
|
>>> from agentbyte.dataset import SQLiteDataset
|
|
77
77
|
>>> assert isinstance(ds, SQLiteDataset)
|
|
78
|
-
>>> conn = ds.connect()
|
|
79
|
-
>>>
|
|
78
|
+
>>> conn = await ds.connect()
|
|
79
|
+
>>> async with conn.execute("SELECT * FROM contracts_asmd") as cursor:
|
|
80
|
+
... rows = await cursor.fetchall()
|
|
80
81
|
"""
|
|
81
82
|
|
|
83
|
+
from agentbyte.dataset.importer import (
|
|
84
|
+
CsvFileSource,
|
|
85
|
+
DatasetImportConfig,
|
|
86
|
+
DatasetImporter,
|
|
87
|
+
InMemorySource,
|
|
88
|
+
RawCsvSource,
|
|
89
|
+
create_dataset,
|
|
90
|
+
)
|
|
91
|
+
from agentbyte.dataset.write_config import (
|
|
92
|
+
DatasetWriteConfig,
|
|
93
|
+
LocalDatasetWriteConfig,
|
|
94
|
+
S3DatasetWriteConfig,
|
|
95
|
+
)
|
|
96
|
+
from agentbyte.dataset.writers import DatasetWriter, LocalDatasetWriter, S3DatasetWriter
|
|
82
97
|
from agentbyte.dataset.base import (
|
|
83
98
|
BaseDataset,
|
|
84
99
|
Column,
|
|
@@ -127,4 +142,17 @@ __all__ = [
|
|
|
127
142
|
"load_dataset",
|
|
128
143
|
"register_engine",
|
|
129
144
|
"publish_dataset",
|
|
145
|
+
# Importer
|
|
146
|
+
"DatasetWriteConfig",
|
|
147
|
+
"LocalDatasetWriteConfig",
|
|
148
|
+
"S3DatasetWriteConfig",
|
|
149
|
+
"DatasetWriter",
|
|
150
|
+
"LocalDatasetWriter",
|
|
151
|
+
"S3DatasetWriter",
|
|
152
|
+
"DatasetImportConfig",
|
|
153
|
+
"DatasetImporter",
|
|
154
|
+
"InMemorySource",
|
|
155
|
+
"CsvFileSource",
|
|
156
|
+
"RawCsvSource",
|
|
157
|
+
"create_dataset",
|
|
130
158
|
]
|
|
@@ -131,7 +131,7 @@ class BaseDataset(ABC):
|
|
|
131
131
|
...
|
|
132
132
|
|
|
133
133
|
@abstractmethod
|
|
134
|
-
def fetch_all(self) -> list[dict[str, Any]] | dict[str, list[dict[str, Any]]]:
|
|
134
|
+
async def fetch_all(self) -> list[dict[str, Any]] | dict[str, list[dict[str, Any]]]:
|
|
135
135
|
"""Return all rows without engine-specific query code.
|
|
136
136
|
|
|
137
137
|
- **Single-table** datasets return ``list[dict[str, Any]]`` — one dict per row.
|