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.
Files changed (360) hide show
  1. {agentbyte-0.20.5 → agentbyte-0.22.0}/CHANGELOG.md +17 -0
  2. {agentbyte-0.20.5 → agentbyte-0.22.0}/PKG-INFO +2 -2
  3. {agentbyte-0.20.5 → agentbyte-0.22.0}/README.md +1 -1
  4. {agentbyte-0.20.5 → agentbyte-0.22.0}/pyproject.toml +1 -4
  5. agentbyte-0.22.0/src/agentbyte/__about__.py +2 -0
  6. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/cli/main.py +0 -160
  7. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/__init__.py +30 -2
  8. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/base.py +1 -1
  9. agentbyte-0.22.0/src/agentbyte/dataset/importer.py +393 -0
  10. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/json.py +5 -1
  11. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/loader.py +2 -2
  12. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/sources.py +10 -3
  13. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/sqlite.py +75 -117
  14. agentbyte-0.22.0/src/agentbyte/dataset/write_config.py +76 -0
  15. agentbyte-0.22.0/src/agentbyte/dataset/writers.py +99 -0
  16. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/__init__.py +6 -3
  17. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/__init__.py +2 -2
  18. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/local.py +2 -2
  19. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/eval_dataset.py +67 -15
  20. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/runner.py +36 -0
  21. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/targets/__init__.py +2 -1
  22. agentbyte-0.22.0/src/agentbyte/eval/targets/multi_turn.py +142 -0
  23. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/types.py +16 -0
  24. agentbyte-0.22.0/src/agentbyte/presets/skills/hr-analyst/SKILL.md +40 -0
  25. agentbyte-0.22.0/src/agentbyte/presets/skills/hr-analyst/resources/departments.md +23 -0
  26. agentbyte-0.22.0/src/agentbyte/presets/skills/hr-analyst/resources/employees.md +28 -0
  27. agentbyte-0.22.0/src/agentbyte/presets/skills/hr-analyst/resources/payroll.md +34 -0
  28. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/dataset/test_loader.py +53 -39
  29. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/dataset/test_multi_table.py +57 -43
  30. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_eval_dataset.py +65 -56
  31. agentbyte-0.22.0/tests/eval/test_multi_turn.py +444 -0
  32. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_phase1_runner_and_targets.py +46 -0
  33. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_phase2_checks_and_reports.py +2 -2
  34. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_package_api.py +2 -2
  35. agentbyte-0.20.5/.github/skills/agentbyte-agent/SKILL.md +0 -626
  36. agentbyte-0.20.5/.github/skills/agentbyte-ai-driven-orchestration/SKILL.md +0 -320
  37. agentbyte-0.20.5/.github/skills/agentbyte-coding-tools/SKILL.md +0 -167
  38. agentbyte-0.20.5/.github/skills/agentbyte-dataset/SKILL.md +0 -414
  39. agentbyte-0.20.5/.github/skills/agentbyte-eval/SKILL.md +0 -315
  40. agentbyte-0.20.5/.github/skills/agentbyte-function-tools/SKILL.md +0 -231
  41. agentbyte-0.20.5/.github/skills/agentbyte-handoff-orchestration/SKILL.md +0 -284
  42. agentbyte-0.20.5/.github/skills/agentbyte-list-memory/SKILL.md +0 -142
  43. agentbyte-0.20.5/.github/skills/agentbyte-llm-client/SKILL.md +0 -318
  44. agentbyte-0.20.5/.github/skills/agentbyte-memory-tool/SKILL.md +0 -136
  45. agentbyte-0.20.5/.github/skills/agentbyte-middleware/SKILL.md +0 -389
  46. agentbyte-0.20.5/.github/skills/agentbyte-otel-tracing/SKILL.md +0 -117
  47. agentbyte-0.20.5/.github/skills/agentbyte-plan-based-orchestration/SKILL.md +0 -288
  48. agentbyte-0.20.5/.github/skills/agentbyte-research-tools/SKILL.md +0 -166
  49. agentbyte-0.20.5/.github/skills/agentbyte-round-robin-orchestration/SKILL.md +0 -236
  50. agentbyte-0.20.5/.github/skills/agentbyte-workflow/SKILL.md +0 -629
  51. agentbyte-0.20.5/.github/skills/git-multi-remote-push/SKILL.md +0 -70
  52. agentbyte-0.20.5/.github/skills/skill-authoring/SKILL.md +0 -82
  53. agentbyte-0.20.5/.github/skills/webui-smoke-test/SKILL.md +0 -314
  54. agentbyte-0.20.5/src/agentbyte/__about__.py +0 -2
  55. {agentbyte-0.20.5 → agentbyte-0.22.0}/.gitignore +0 -0
  56. {agentbyte-0.20.5 → agentbyte-0.22.0}/LICENSE +0 -0
  57. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/__init__.py +0 -0
  58. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/__init__.py +0 -0
  59. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/agent.py +0 -0
  60. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/agent_as_tool.py +0 -0
  61. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/base.py +0 -0
  62. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/embedding_agent.py +0 -0
  63. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/agents/types.py +0 -0
  64. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/cancellation_token.py +0 -0
  65. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/catalog.py +0 -0
  66. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/cli/__init__.py +0 -0
  67. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/component.py +0 -0
  68. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context.py +0 -0
  69. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context_providers/__init__.py +0 -0
  70. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context_providers/base.py +0 -0
  71. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context_providers/skill_tools.py +0 -0
  72. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/context_providers/skills.py +0 -0
  73. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/config.py +0 -0
  74. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/publish.py +0 -0
  75. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/publish_config.py +0 -0
  76. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/dataset/publishers.py +0 -0
  77. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/entity.py +0 -0
  78. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/base.py +0 -0
  79. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/decorator.py +0 -0
  80. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/keyword.py +0 -0
  81. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/tool.py +0 -0
  82. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/checks/types.py +0 -0
  83. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/comparison.py +0 -0
  84. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/__init__.py +0 -0
  85. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/base.py +0 -0
  86. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/composite.py +0 -0
  87. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/llm.py +0 -0
  88. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/pairwise.py +0 -0
  89. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/judges/reference.py +0 -0
  90. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/pairwise.py +0 -0
  91. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/report.py +0 -0
  92. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/targets/agent.py +0 -0
  93. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/targets/model.py +0 -0
  94. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/eval/targets/orchestrator.py +0 -0
  95. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/__init__.py +0 -0
  96. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/_retry_observability.py +0 -0
  97. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/auth.py +0 -0
  98. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/__init__.py +0 -0
  99. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/auth.py +0 -0
  100. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/chat.py +0 -0
  101. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/embedding.py +0 -0
  102. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure/settings.py +0 -0
  103. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure_openai.py +0 -0
  104. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/azure_openai_embedding.py +0 -0
  105. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/base.py +0 -0
  106. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/embeddings_base.py +0 -0
  107. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai/__init__.py +0 -0
  108. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai/chat.py +0 -0
  109. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai/embedding.py +0 -0
  110. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai/settings.py +0 -0
  111. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai.py +0 -0
  112. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/openai_embedding.py +0 -0
  113. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/pricing.py +0 -0
  114. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/retry_policy.py +0 -0
  115. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/settings.py +0 -0
  116. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/llm/types.py +0 -0
  117. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/logger.py +0 -0
  118. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/memory/__init__.py +0 -0
  119. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/memory/base.py +0 -0
  120. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/messages.py +0 -0
  121. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/microwebui/__init__.py +0 -0
  122. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/microwebui/server.py +0 -0
  123. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/microwebui/ui/index.html +0 -0
  124. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/__init__.py +0 -0
  125. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/base.py +0 -0
  126. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/otel.py +0 -0
  127. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/retry.py +0 -0
  128. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/sql_usage.py +0 -0
  129. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/middleware/usage_logger.py +0 -0
  130. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/notebook.py +0 -0
  131. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/__init__.py +0 -0
  132. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/ai.py +0 -0
  133. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/base.py +0 -0
  134. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/handoff.py +0 -0
  135. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/plan.py +0 -0
  136. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/policies.py +0 -0
  137. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/orchestration/round_robin.py +0 -0
  138. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/__init__.py +0 -0
  139. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/agents.py +0 -0
  140. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/clients.py +0 -0
  141. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instruction_registry.py +0 -0
  142. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/orchestrator.yaml +0 -0
  143. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/query_rewriter.yaml +0 -0
  144. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/researcher.yaml +0 -0
  145. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/reviewer.yaml +0 -0
  146. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/instructions/writer.yaml +0 -0
  147. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/orchestration.py +0 -0
  148. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/skills/contracts-analyst/SKILL.md +0 -0
  149. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/streaming.py +0 -0
  150. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/presets/workflow.py +0 -0
  151. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/session_store.py +0 -0
  152. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/__init__.py +0 -0
  153. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/base.py +0 -0
  154. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/resources.py +0 -0
  155. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/scripts.py +0 -0
  156. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/skills/sources.py +0 -0
  157. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/__init__.py +0 -0
  158. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/base.py +0 -0
  159. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/cancellation.py +0 -0
  160. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/composite.py +0 -0
  161. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/consecutive_agent.py +0 -0
  162. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/external.py +0 -0
  163. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/function_call.py +0 -0
  164. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/handoff.py +0 -0
  165. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/max_message.py +0 -0
  166. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/predicate.py +0 -0
  167. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/source.py +0 -0
  168. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/text_mention.py +0 -0
  169. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/timeout.py +0 -0
  170. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/termination/token_usage.py +0 -0
  171. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/__init__.py +0 -0
  172. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/base.py +0 -0
  173. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/coding_tools.py +0 -0
  174. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/core_tools.py +0 -0
  175. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/decorator.py +0 -0
  176. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/memory_tool.py +0 -0
  177. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/tools/research_tools.py +0 -0
  178. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/types.py +0 -0
  179. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/__init__.py +0 -0
  180. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/discovery.py +0 -0
  181. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/execution.py +0 -0
  182. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/.gitignore +0 -0
  183. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/README.md +0 -0
  184. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/components.json +0 -0
  185. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/eslint.config.js +0 -0
  186. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/index.html +0 -0
  187. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/package-lock.json +0 -0
  188. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/package.json +0 -0
  189. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/plan.md +0 -0
  190. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/public/vite.svg +0 -0
  191. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/App.css +0 -0
  192. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/App.tsx +0 -0
  193. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/assets/react.svg +0 -0
  194. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/agent/agent-view.tsx +0 -0
  195. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/message_renderer/ContentRenderer.tsx +0 -0
  196. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/message_renderer/MessageRenderer.tsx +0 -0
  197. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/message_renderer/index.ts +0 -0
  198. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/message_renderer/types.ts +0 -0
  199. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/mode-toggle.tsx +0 -0
  200. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/orchestrator/orchestrator-view.tsx +0 -0
  201. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/app-header.tsx +0 -0
  202. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/chat-base.tsx +0 -0
  203. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/context-inspector.tsx +0 -0
  204. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/debug-panel.tsx +0 -0
  205. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/entity-selector.tsx +0 -0
  206. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/example-tasks-display.tsx +0 -0
  207. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/session-switcher.tsx +0 -0
  208. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/shared/tool-approval-banner.tsx +0 -0
  209. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/theme-provider.tsx +0 -0
  210. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/attachment-gallery.tsx +0 -0
  211. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/badge.tsx +0 -0
  212. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/button.tsx +0 -0
  213. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/card.tsx +0 -0
  214. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/dialog.tsx +0 -0
  215. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/dropdown-menu.tsx +0 -0
  216. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/file-upload.tsx +0 -0
  217. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/input.tsx +0 -0
  218. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/label.tsx +0 -0
  219. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/loading-spinner.tsx +0 -0
  220. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/loading-state.tsx +0 -0
  221. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/message-input.tsx +0 -0
  222. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/scroll-area.tsx +0 -0
  223. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/slider.tsx +0 -0
  224. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/tabs.tsx +0 -0
  225. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/ui/textarea.tsx +0 -0
  226. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/workflow/workflow-result-renderer.tsx +0 -0
  227. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/components/workflow/workflow-view.tsx +0 -0
  228. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/hooks/messageHandlers.ts +0 -0
  229. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/hooks/useEntityExecution.ts +0 -0
  230. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/index.css +0 -0
  231. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/lib/format-utils.ts +0 -0
  232. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/lib/user-id.ts +0 -0
  233. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/lib/utils.ts +0 -0
  234. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/main.tsx +0 -0
  235. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/services/api.ts +0 -0
  236. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/types/index.ts +0 -0
  237. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/types/picoagents.ts +0 -0
  238. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/utils/message-utils.ts +0 -0
  239. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/src/vite-env.d.ts +0 -0
  240. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/tsconfig.app.json +0 -0
  241. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/tsconfig.json +0 -0
  242. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/tsconfig.node.json +0 -0
  243. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/vite.config.ts +0 -0
  244. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/frontend/yarn.lock +0 -0
  245. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/models.py +0 -0
  246. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/registry.py +0 -0
  247. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/server.py +0 -0
  248. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/session_store.py +0 -0
  249. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/sessions.py +0 -0
  250. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/ui/assets/index-DDp5MYFO.js +0 -0
  251. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/ui/assets/index-ar5tOeqt.css +0 -0
  252. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/ui/index.html +0 -0
  253. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/webui/ui/vite.svg +0 -0
  254. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/__init__.py +0 -0
  255. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/agent.py +0 -0
  256. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/__init__.py +0 -0
  257. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/_structure_hash.py +0 -0
  258. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/checkpoint.py +0 -0
  259. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/models.py +0 -0
  260. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/runner.py +0 -0
  261. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/core/workflow.py +0 -0
  262. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/defaults.py +0 -0
  263. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/loader.py +0 -0
  264. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/schema.py +0 -0
  265. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/schema_utils.py +0 -0
  266. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/__init__.py +0 -0
  267. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/agentbyte_agent.py +0 -0
  268. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/echo.py +0 -0
  269. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/function.py +0 -0
  270. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/http.py +0 -0
  271. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/step.py +0 -0
  272. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/subworkflow.py +0 -0
  273. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/steps/transform.py +0 -0
  274. {agentbyte-0.20.5 → agentbyte-0.22.0}/src/agentbyte/workflow/visualizer.py +0 -0
  275. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_as_tool.py +0 -0
  276. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_basic.py +0 -0
  277. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_context_providers.py +0 -0
  278. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_event_types.py +0 -0
  279. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_memory_integration.py +0 -0
  280. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_middleware_integration.py +0 -0
  281. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_retry_middleware.py +0 -0
  282. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_agent_stream_events.py +0 -0
  283. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_embedding_agent.py +0 -0
  284. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/agents/test_tool_approval.py +0 -0
  285. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/cli/test_registry_check.py +0 -0
  286. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/context_providers/__init__.py +0 -0
  287. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/context_providers/test_skill_tools.py +0 -0
  288. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/context_providers/test_skills_provider.py +0 -0
  289. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/dataset/test_publish.py +0 -0
  290. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_pairwise.py +0 -0
  291. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/eval/test_types_and_judges.py +0 -0
  292. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_azure_client.py +0 -0
  293. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_azure_embedding_client.py +0 -0
  294. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_llm_types.py +0 -0
  295. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_openai_client.py +0 -0
  296. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_openai_embedding_client.py +0 -0
  297. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_retry_observability.py +0 -0
  298. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/llm/test_retry_policy_api.py +0 -0
  299. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/memory/test_memory.py +0 -0
  300. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_middleware_chain.py +0 -0
  301. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_otel.py +0 -0
  302. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_retry_middleware.py +0 -0
  303. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_sql_usage.py +0 -0
  304. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/middleware/test_usage_logger.py +0 -0
  305. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_ai_orchestrator.py +0 -0
  306. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_base_orchestrator.py +0 -0
  307. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_handoff_orchestrator.py +0 -0
  308. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_plan_orchestrator.py +0 -0
  309. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/orchestration/test_round_robin.py +0 -0
  310. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_agents.py +0 -0
  311. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_clients.py +0 -0
  312. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_instruction_registry.py +0 -0
  313. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_orchestration.py +0 -0
  314. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_streaming.py +0 -0
  315. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/presets/test_workflow.py +0 -0
  316. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/__init__.py +0 -0
  317. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/test_base.py +0 -0
  318. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/test_resources.py +0 -0
  319. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/test_scripts.py +0 -0
  320. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/skills/test_sources.py +0 -0
  321. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_base.py +0 -0
  322. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_cancellation.py +0 -0
  323. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_composite.py +0 -0
  324. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_consecutive_agent.py +0 -0
  325. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_external.py +0 -0
  326. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_function_call.py +0 -0
  327. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_handoff.py +0 -0
  328. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_max_message.py +0 -0
  329. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_predicate.py +0 -0
  330. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_source.py +0 -0
  331. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_text_mention.py +0 -0
  332. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_timeout.py +0 -0
  333. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/termination/test_token_usage.py +0 -0
  334. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_cancellation_token.py +0 -0
  335. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_context.py +0 -0
  336. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_logger.py +0 -0
  337. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_messages.py +0 -0
  338. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_session_store.py +0 -0
  339. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/test_types.py +0 -0
  340. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/tools/test_coding_tools.py +0 -0
  341. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/tools/test_memory_tool.py +0 -0
  342. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/tools/test_research_tools.py +0 -0
  343. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/tools/test_tools.py +0 -0
  344. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/__init__.py +0 -0
  345. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/helpers.py +0 -0
  346. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_execution.py +0 -0
  347. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_microwebui_server.py +0 -0
  348. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_package_api.py +0 -0
  349. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_registry.py +0 -0
  350. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_server.py +0 -0
  351. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/webui/test_sessions.py +0 -0
  352. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_checkpoint.py +0 -0
  353. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_subworkflow_step.py +0 -0
  354. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_agent.py +0 -0
  355. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_class.py +0 -0
  356. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_models.py +0 -0
  357. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_runner.py +0 -0
  358. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_schema.py +0 -0
  359. {agentbyte-0.20.5 → agentbyte-0.22.0}/tests/workflow/test_workflow_steps.py +0 -0
  360. {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.20.5
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.20.5**
79
+ Current release: **0.21.0**
80
80
 
81
81
  ## Current Capabilities
82
82
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Agentbyte is an observability-first agentic AI framework for building and studying multiagent systems with a learning-first, implementation-oriented workflow.
4
4
 
5
- Current release: **0.20.5**
5
+ Current release: **0.21.0**
6
6
 
7
7
  ## Current Capabilities
8
8
 
@@ -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", "/.github/skills", "/src/agentbyte/webui/ui", "/src/agentbyte/microwebui/ui"]
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 = [
@@ -0,0 +1,2 @@
1
+ __version__ = "0.22.0"
2
+ VERSION = __version__
@@ -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
- >>> rows = conn.execute("SELECT * FROM contracts_asmd").fetchall()
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.