digitalkin 0.3.5.dev5__tar.gz → 0.3.5.dev7__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.
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/PKG-INFO +1 -1
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/pyproject.toml +1 -1
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/__version__.py +1 -1
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/community/agno/__init__.py +2 -2
- digitalkin-0.3.5.dev7/src/digitalkin/community/agno/agno_adapter.py +330 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/agui_mixin.py +1 -1
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin.egg-info/PKG-INFO +1 -1
- digitalkin-0.3.5.dev5/src/digitalkin/community/agno/agno_adapter.py +0 -188
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/LICENSE +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/README.md +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/mock/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/mock/mock_pb2.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/server_async_insecure.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/server_async_secure.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/server_sync_insecure.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/server_sync_secure.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/modules/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/modules/archetype_with_tools_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/modules/cpu_intensive_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/modules/dynamic_setup_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/modules/minimal_llm_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/modules/text_transform_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/monitoring/tests/test_metrics.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/services/filesystem_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/services/storage_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/setup.cfg +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/community/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/common/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/common/factories.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/job_manager/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/job_manager/single_job_manager.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/job_manager/taskiq_broker.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/job_manager/taskiq_job_manager.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/profiling/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/profiling/asyncio_monitor.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/profiling/task_profiler.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/task_executor.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/task_session.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/_base_server.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/module_server.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/module_servicer.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/logger.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/base_mixin.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/callback_mixin.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/chat_history_mixin.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/cost_mixin.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/file_history_mixin.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/logger_mixin.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/mixins/storage_mixin.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/core/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/core/job_manager_models.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/core/task_monitor.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/events/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/events/agent_events.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/grpc_servers/models.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/grpc_servers/types.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/ag_ui.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/base_types.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/module_context.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/module_types.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/request_metadata.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/select_schema.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/setup_types.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/tool_cache.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/tool_reference.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/utility.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/services/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/services/cost.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/services/registry.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/services/storage.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/_base_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/archetype_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/tool_module.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/trigger_handler.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/triggers/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/py.typed +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/agent/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/agent/agent_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/agent/default_agent.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/base_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/communication/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/communication/communication_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/communication/default_communication.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/communication/grpc_communication.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/cost/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/cost/cost_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/cost/default_cost.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/cost/grpc_cost.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/filesystem/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/identity/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/identity/default_identity.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/identity/identity_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/default_registry.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/exceptions.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/grpc_registry.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/registry_models.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/registry_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/services_config.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/services_models.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/setup/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/setup/default_setup.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/setup/grpc_setup.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/setup/setup_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/snapshot/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/snapshot/default_snapshot.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/snapshot/snapshot_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/storage/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/storage/default_storage.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/storage/grpc_storage.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/storage/storage_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/task_manager/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/task_manager/default_task_manager.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/task_manager/grpc_task_manager.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/task_manager/task_manager_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/user_profile/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/__init__.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/arg_parser.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/conditional_schema.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/development_mode_action.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/dynamic_schema.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/llm_ready_schema.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/package_discover.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/proto_utils.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/schema_splitter.py +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin.egg-info/SOURCES.txt +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin.egg-info/dependency_links.txt +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin.egg-info/requires.txt +0 -0
- {digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin.egg-info/top_level.txt +0 -0
|
@@ -4,6 +4,6 @@ This module provides utilities and adapters for integrating Agno agents
|
|
|
4
4
|
with the DigitalKin SDK.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
from digitalkin.community.agno.agno_adapter import
|
|
7
|
+
from digitalkin.community.agno.agno_adapter import AgnoStreamAdapter
|
|
8
8
|
|
|
9
|
-
__all__ = ["
|
|
9
|
+
__all__ = ["AgnoStreamAdapter"]
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
"""Adapter to convert Agno events to DigitalKin framework-agnostic events.
|
|
2
|
+
|
|
3
|
+
This adapter bridges Agno-specific events to the DigitalKin event model,
|
|
4
|
+
allowing the core DigitalKin SDK to remain independent of Agno.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
import logging
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
from digitalkin.models.events import (
|
|
13
|
+
AgentRunEvent,
|
|
14
|
+
BaseAgentRunEvent,
|
|
15
|
+
ReasoningCompletedEvent,
|
|
16
|
+
ReasoningContentDeltaEvent,
|
|
17
|
+
ReasoningStartedEvent,
|
|
18
|
+
ReasoningStepEvent,
|
|
19
|
+
RunCompletedEvent,
|
|
20
|
+
RunContentEvent,
|
|
21
|
+
RunErrorEvent,
|
|
22
|
+
RunStartedEvent,
|
|
23
|
+
ToolCallCompletedEvent,
|
|
24
|
+
ToolCallErrorEvent,
|
|
25
|
+
ToolCallStartedEvent,
|
|
26
|
+
ToolInfo,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
logger = logging.getLogger(__name__)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class AgnoStreamAdapter:
|
|
33
|
+
"""Stateful converter: Agno streaming events -> DigitalKin events.
|
|
34
|
+
|
|
35
|
+
Tracks reasoning state so that ``reasoning_content`` arriving on
|
|
36
|
+
``RunEvent.run_content`` events is automatically wrapped in proper
|
|
37
|
+
ReasoningStarted / ReasoningContentDelta / ReasoningCompleted events.
|
|
38
|
+
|
|
39
|
+
Usage::
|
|
40
|
+
|
|
41
|
+
adapter = AgnoStreamAdapter()
|
|
42
|
+
async for raw_event in agent.arun(..., stream=True, stream_events=True):
|
|
43
|
+
for event in adapter.to_digitalkin_events(raw_event):
|
|
44
|
+
await send(event)
|
|
45
|
+
for event in adapter.flush():
|
|
46
|
+
await send(event)
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
def __init__(self) -> None:
|
|
50
|
+
"""Initialize the AgnoStreamAdapter.
|
|
51
|
+
|
|
52
|
+
This adapter tracks reasoning state to properly handle reasoning_content
|
|
53
|
+
that arrives on RunEvent.run_content events.
|
|
54
|
+
"""
|
|
55
|
+
self._reasoning_active: bool = False
|
|
56
|
+
|
|
57
|
+
def to_digitalkin_events(self, agno_event: Any) -> list[BaseAgentRunEvent]: # noqa: C901, PLR0911, PLR0912
|
|
58
|
+
"""Convert one Agno event into one or more DigitalKin events.
|
|
59
|
+
|
|
60
|
+
Args:
|
|
61
|
+
agno_event: Event from Agno's streaming API.
|
|
62
|
+
|
|
63
|
+
Returns:
|
|
64
|
+
List of corresponding DigitalKin events (may be empty).
|
|
65
|
+
|
|
66
|
+
Raises:
|
|
67
|
+
ImportError: If the optional 'agno' dependency is not installed.
|
|
68
|
+
"""
|
|
69
|
+
try:
|
|
70
|
+
from agno.run.agent import RunEvent # pylint: disable=C0415 # pyright: ignore[reportMissingImports]
|
|
71
|
+
except ImportError as exc:
|
|
72
|
+
message = "The 'agno' package is required to use AgnoStreamAdapter. Install it with: pip install agno"
|
|
73
|
+
raise ImportError(message) from exc
|
|
74
|
+
|
|
75
|
+
event_type = agno_event.event
|
|
76
|
+
event_types = agno_event.events
|
|
77
|
+
|
|
78
|
+
logger.info("[DK STREAM-DEBUG => agno_adapter] Converting Agno event type: %s", event_type)
|
|
79
|
+
logger.info("[DK STREAM-DEBUG => agno_adapter event_types] Converting Agno event types: %s", event_types)
|
|
80
|
+
|
|
81
|
+
timestamp = getattr(agno_event, "timestamp", None)
|
|
82
|
+
|
|
83
|
+
# ── Run Lifecycle ────────────────────────────────────────────────
|
|
84
|
+
|
|
85
|
+
if event_type == RunEvent.run_started:
|
|
86
|
+
return [
|
|
87
|
+
RunStartedEvent(
|
|
88
|
+
event=AgentRunEvent.RUN_STARTED,
|
|
89
|
+
run_id=getattr(agno_event, "run_id", None),
|
|
90
|
+
thread_id=getattr(agno_event, "thread_id", None),
|
|
91
|
+
timestamp=timestamp,
|
|
92
|
+
metadata=None,
|
|
93
|
+
)
|
|
94
|
+
]
|
|
95
|
+
|
|
96
|
+
if event_type == RunEvent.run_content:
|
|
97
|
+
return self._handle_run_content(agno_event, timestamp)
|
|
98
|
+
|
|
99
|
+
if event_type == RunEvent.run_completed:
|
|
100
|
+
return [
|
|
101
|
+
RunCompletedEvent(
|
|
102
|
+
event=AgentRunEvent.RUN_COMPLETED,
|
|
103
|
+
run_id=getattr(agno_event, "run_id", None),
|
|
104
|
+
final_content=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
105
|
+
usage=None,
|
|
106
|
+
timestamp=timestamp,
|
|
107
|
+
metadata=None,
|
|
108
|
+
)
|
|
109
|
+
]
|
|
110
|
+
|
|
111
|
+
if event_type == RunEvent.run_error:
|
|
112
|
+
return [
|
|
113
|
+
RunErrorEvent(
|
|
114
|
+
event=AgentRunEvent.RUN_ERROR,
|
|
115
|
+
error_type=getattr(agno_event, "error_type", None),
|
|
116
|
+
content=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
117
|
+
error_details=None,
|
|
118
|
+
timestamp=timestamp,
|
|
119
|
+
metadata=None,
|
|
120
|
+
)
|
|
121
|
+
]
|
|
122
|
+
|
|
123
|
+
# ── Explicit Reasoning Events (native Agno reasoning models) ────
|
|
124
|
+
|
|
125
|
+
if event_type == RunEvent.reasoning_started:
|
|
126
|
+
self._reasoning_active = True
|
|
127
|
+
logger.info("[DK STREAM-DEBUG => agno_adapter] Reasoning started (explicit)")
|
|
128
|
+
return [
|
|
129
|
+
ReasoningStartedEvent(
|
|
130
|
+
event=AgentRunEvent.REASONING_STARTED,
|
|
131
|
+
timestamp=timestamp,
|
|
132
|
+
metadata=None,
|
|
133
|
+
)
|
|
134
|
+
]
|
|
135
|
+
|
|
136
|
+
if event_type == RunEvent.reasoning_content_delta:
|
|
137
|
+
reasoning_content = getattr(agno_event, "reasoning_content", "")
|
|
138
|
+
return [
|
|
139
|
+
ReasoningContentDeltaEvent(
|
|
140
|
+
event=AgentRunEvent.REASONING_CONTENT_DELTA,
|
|
141
|
+
delta=reasoning_content,
|
|
142
|
+
timestamp=timestamp,
|
|
143
|
+
metadata=None,
|
|
144
|
+
)
|
|
145
|
+
]
|
|
146
|
+
|
|
147
|
+
if event_type == RunEvent.reasoning_step:
|
|
148
|
+
reasoning_content = getattr(agno_event, "reasoning_content", "")
|
|
149
|
+
return [
|
|
150
|
+
ReasoningStepEvent(
|
|
151
|
+
event=AgentRunEvent.REASONING_STEP,
|
|
152
|
+
delta=reasoning_content,
|
|
153
|
+
timestamp=timestamp,
|
|
154
|
+
metadata=None,
|
|
155
|
+
)
|
|
156
|
+
]
|
|
157
|
+
|
|
158
|
+
if event_type == RunEvent.reasoning_completed:
|
|
159
|
+
self._reasoning_active = False
|
|
160
|
+
logger.info("[DK STREAM-DEBUG => agno_adapter] Reasoning completed (explicit)")
|
|
161
|
+
return [
|
|
162
|
+
ReasoningCompletedEvent(
|
|
163
|
+
event=AgentRunEvent.REASONING_COMPLETED,
|
|
164
|
+
timestamp=timestamp,
|
|
165
|
+
metadata=None,
|
|
166
|
+
)
|
|
167
|
+
]
|
|
168
|
+
|
|
169
|
+
# ── Tool Call Events ─────────────────────────────────────────────
|
|
170
|
+
|
|
171
|
+
if event_type == RunEvent.tool_call_started:
|
|
172
|
+
tool = getattr(agno_event, "tool", None)
|
|
173
|
+
tool_info = None
|
|
174
|
+
if tool:
|
|
175
|
+
tool_info = ToolInfo(
|
|
176
|
+
tool_call_id=getattr(tool, "tool_call_id", None),
|
|
177
|
+
tool_name=getattr(tool, "tool_name", None),
|
|
178
|
+
tool_args=getattr(tool, "tool_args", None),
|
|
179
|
+
result=None,
|
|
180
|
+
)
|
|
181
|
+
return [
|
|
182
|
+
ToolCallStartedEvent(
|
|
183
|
+
event=AgentRunEvent.TOOL_CALL_STARTED,
|
|
184
|
+
tool=tool_info,
|
|
185
|
+
timestamp=timestamp,
|
|
186
|
+
metadata=None,
|
|
187
|
+
)
|
|
188
|
+
]
|
|
189
|
+
|
|
190
|
+
if event_type == RunEvent.tool_call_completed:
|
|
191
|
+
tool = getattr(agno_event, "tool", None)
|
|
192
|
+
tool_info = None
|
|
193
|
+
if tool:
|
|
194
|
+
tool_info = ToolInfo(
|
|
195
|
+
tool_call_id=getattr(tool, "tool_call_id", None),
|
|
196
|
+
tool_name=getattr(tool, "tool_name", None),
|
|
197
|
+
tool_args=getattr(tool, "tool_args", None),
|
|
198
|
+
result=getattr(tool, "result", None),
|
|
199
|
+
)
|
|
200
|
+
return [
|
|
201
|
+
ToolCallCompletedEvent(
|
|
202
|
+
event=AgentRunEvent.TOOL_CALL_COMPLETED,
|
|
203
|
+
tool=tool_info,
|
|
204
|
+
content=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
205
|
+
timestamp=timestamp,
|
|
206
|
+
metadata=None,
|
|
207
|
+
)
|
|
208
|
+
]
|
|
209
|
+
|
|
210
|
+
if event_type == RunEvent.tool_call_error:
|
|
211
|
+
tool = getattr(agno_event, "tool", None)
|
|
212
|
+
tool_info = None
|
|
213
|
+
if tool:
|
|
214
|
+
tool_info = ToolInfo(
|
|
215
|
+
tool_call_id=getattr(tool, "tool_call_id", None),
|
|
216
|
+
tool_name=getattr(tool, "tool_name", None),
|
|
217
|
+
tool_args=None,
|
|
218
|
+
result=None,
|
|
219
|
+
)
|
|
220
|
+
return [
|
|
221
|
+
ToolCallErrorEvent(
|
|
222
|
+
event=AgentRunEvent.TOOL_CALL_ERROR,
|
|
223
|
+
tool=tool_info,
|
|
224
|
+
error_message=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
225
|
+
timestamp=timestamp,
|
|
226
|
+
metadata=None,
|
|
227
|
+
)
|
|
228
|
+
]
|
|
229
|
+
|
|
230
|
+
# Unknown event - skip
|
|
231
|
+
logger.debug("Skipping unhandled Agno event type: %s", event_type)
|
|
232
|
+
return []
|
|
233
|
+
|
|
234
|
+
def flush(self) -> list[BaseAgentRunEvent]:
|
|
235
|
+
"""Emit closing events if reasoning is still active at end of stream.
|
|
236
|
+
|
|
237
|
+
Returns:
|
|
238
|
+
List of closing events (empty if no active reasoning).
|
|
239
|
+
"""
|
|
240
|
+
events: list[BaseAgentRunEvent] = []
|
|
241
|
+
if self._reasoning_active:
|
|
242
|
+
logger.info("[DK STREAM-DEBUG => agno_adapter] Flushing: closing active reasoning")
|
|
243
|
+
events.append(
|
|
244
|
+
ReasoningCompletedEvent(
|
|
245
|
+
event=AgentRunEvent.REASONING_COMPLETED,
|
|
246
|
+
timestamp=None,
|
|
247
|
+
metadata=None,
|
|
248
|
+
)
|
|
249
|
+
)
|
|
250
|
+
self._reasoning_active = False
|
|
251
|
+
return events
|
|
252
|
+
|
|
253
|
+
# ── Private Helpers ──────────────────────────────────────────────────
|
|
254
|
+
|
|
255
|
+
def _handle_run_content(self, agno_event: Any, timestamp: Any) -> list[BaseAgentRunEvent]:
|
|
256
|
+
"""Handle RunEvent.run_content with reasoning_content awareness.
|
|
257
|
+
|
|
258
|
+
When reasoning_content is present on a run_content event (native model
|
|
259
|
+
reasoning via LiteLLM/proxy), this method emits proper reasoning
|
|
260
|
+
lifecycle events instead of plain RunContentEvent.
|
|
261
|
+
|
|
262
|
+
Args:
|
|
263
|
+
agno_event: The Agno run_content event.
|
|
264
|
+
timestamp: The timestamp for the event.
|
|
265
|
+
|
|
266
|
+
Returns:
|
|
267
|
+
List of DigitalKin events (reasoning events or run content event).
|
|
268
|
+
"""
|
|
269
|
+
events: list[BaseAgentRunEvent] = []
|
|
270
|
+
|
|
271
|
+
reasoning_content = getattr(agno_event, "reasoning_content", None)
|
|
272
|
+
content = agno_event.content
|
|
273
|
+
|
|
274
|
+
# ── Reasoning content present ────────────────────────────────
|
|
275
|
+
if reasoning_content:
|
|
276
|
+
# Auto-open reasoning sequence on first reasoning chunk
|
|
277
|
+
if not self._reasoning_active:
|
|
278
|
+
logger.info("[DK STREAM-DEBUG => agno_adapter] Reasoning auto-started from run_content")
|
|
279
|
+
events.append(
|
|
280
|
+
ReasoningStartedEvent(
|
|
281
|
+
event=AgentRunEvent.REASONING_STARTED,
|
|
282
|
+
timestamp=timestamp,
|
|
283
|
+
metadata=None,
|
|
284
|
+
)
|
|
285
|
+
)
|
|
286
|
+
self._reasoning_active = True
|
|
287
|
+
|
|
288
|
+
logger.info(
|
|
289
|
+
"[DK STREAM-DEBUG => agno_adapter] Reasoning content delta (len=%d)",
|
|
290
|
+
len(reasoning_content),
|
|
291
|
+
)
|
|
292
|
+
events.append(
|
|
293
|
+
ReasoningContentDeltaEvent(
|
|
294
|
+
event=AgentRunEvent.REASONING_CONTENT_DELTA,
|
|
295
|
+
delta=reasoning_content,
|
|
296
|
+
timestamp=timestamp,
|
|
297
|
+
metadata=None,
|
|
298
|
+
)
|
|
299
|
+
)
|
|
300
|
+
|
|
301
|
+
# ── Text content present ─────────────────────────────────────
|
|
302
|
+
if content:
|
|
303
|
+
# Auto-close reasoning when text content starts
|
|
304
|
+
if self._reasoning_active:
|
|
305
|
+
logger.info("[DK STREAM-DEBUG => agno_adapter] Reasoning auto-completed (text content arrived)")
|
|
306
|
+
events.append(
|
|
307
|
+
ReasoningCompletedEvent(
|
|
308
|
+
event=AgentRunEvent.REASONING_COMPLETED,
|
|
309
|
+
timestamp=timestamp,
|
|
310
|
+
metadata=None,
|
|
311
|
+
)
|
|
312
|
+
)
|
|
313
|
+
self._reasoning_active = False
|
|
314
|
+
|
|
315
|
+
events.append(
|
|
316
|
+
RunContentEvent(
|
|
317
|
+
event=AgentRunEvent.RUN_CONTENT,
|
|
318
|
+
content=str(content),
|
|
319
|
+
reasoning_content=None,
|
|
320
|
+
content_type=None,
|
|
321
|
+
timestamp=timestamp,
|
|
322
|
+
metadata=None,
|
|
323
|
+
)
|
|
324
|
+
)
|
|
325
|
+
|
|
326
|
+
# Edge case: neither reasoning_content nor content
|
|
327
|
+
if not reasoning_content and not content:
|
|
328
|
+
logger.debug("[DK STREAM-DEBUG => agno_adapter] run_content with no content, skipping")
|
|
329
|
+
|
|
330
|
+
return events
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
"""Adapter to convert Agno events to DigitalKin framework-agnostic events.
|
|
2
|
-
|
|
3
|
-
This adapter bridges Agno-specific events to the DigitalKin event model,
|
|
4
|
-
allowing the core DigitalKin SDK to remain independent of Agno.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from __future__ import annotations
|
|
8
|
-
|
|
9
|
-
import logging
|
|
10
|
-
from typing import Any
|
|
11
|
-
|
|
12
|
-
from digitalkin.models.events import (
|
|
13
|
-
AgentRunEvent,
|
|
14
|
-
BaseAgentRunEvent,
|
|
15
|
-
ReasoningCompletedEvent,
|
|
16
|
-
ReasoningContentDeltaEvent,
|
|
17
|
-
ReasoningStartedEvent,
|
|
18
|
-
ReasoningStepEvent,
|
|
19
|
-
RunCompletedEvent,
|
|
20
|
-
RunContentEvent,
|
|
21
|
-
RunErrorEvent,
|
|
22
|
-
RunStartedEvent,
|
|
23
|
-
ToolCallCompletedEvent,
|
|
24
|
-
ToolCallErrorEvent,
|
|
25
|
-
ToolCallStartedEvent,
|
|
26
|
-
ToolInfo,
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
logger = logging.getLogger(__name__)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
def to_digitalkin_event(agno_event: Any) -> BaseAgentRunEvent: # noqa: PLR0911, C901, PLR0912
|
|
33
|
-
"""Convert an Agno event to a DigitalKin framework-agnostic event.
|
|
34
|
-
|
|
35
|
-
Args:
|
|
36
|
-
agno_event: Event from Agno's streaming API.
|
|
37
|
-
|
|
38
|
-
Returns:
|
|
39
|
-
Corresponding DigitalKin BaseAgentRunEvent.
|
|
40
|
-
|
|
41
|
-
Raises:
|
|
42
|
-
ImportError: If the optional 'agno' dependency is not installed.
|
|
43
|
-
ValueError: If the event type is not recognized.
|
|
44
|
-
"""
|
|
45
|
-
try:
|
|
46
|
-
from agno.run.agent import RunEvent # pylint: disable=C0415 # pyright: ignore[reportMissingImports]
|
|
47
|
-
except ImportError as exc:
|
|
48
|
-
message = "The 'agno' package is required to use agno_to_digitalkin_event. \
|
|
49
|
-
Install it with: pip install agno"
|
|
50
|
-
raise ImportError(message) from exc
|
|
51
|
-
|
|
52
|
-
event_type = agno_event.event
|
|
53
|
-
|
|
54
|
-
logger.info("[DK STREAM-DEBUG => agno_adapter] Converting Agno event type: %s", event_type)
|
|
55
|
-
|
|
56
|
-
# Import timestamp if available
|
|
57
|
-
timestamp = getattr(agno_event, "timestamp", None)
|
|
58
|
-
|
|
59
|
-
if event_type == RunEvent.run_started:
|
|
60
|
-
return RunStartedEvent(
|
|
61
|
-
event=AgentRunEvent.RUN_STARTED,
|
|
62
|
-
run_id=getattr(agno_event, "run_id", None),
|
|
63
|
-
thread_id=getattr(agno_event, "thread_id", None),
|
|
64
|
-
timestamp=timestamp,
|
|
65
|
-
metadata=None,
|
|
66
|
-
)
|
|
67
|
-
|
|
68
|
-
if event_type == RunEvent.run_content:
|
|
69
|
-
return RunContentEvent(
|
|
70
|
-
event=AgentRunEvent.RUN_CONTENT,
|
|
71
|
-
content=str(agno_event.content) if agno_event.content else None,
|
|
72
|
-
reasoning_content=getattr(agno_event, "reasoning_content", None),
|
|
73
|
-
content_type=None,
|
|
74
|
-
timestamp=timestamp,
|
|
75
|
-
metadata=None,
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
if event_type == RunEvent.run_completed:
|
|
79
|
-
return RunCompletedEvent(
|
|
80
|
-
event=AgentRunEvent.RUN_COMPLETED,
|
|
81
|
-
run_id=getattr(agno_event, "run_id", None),
|
|
82
|
-
final_content=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
83
|
-
usage=None,
|
|
84
|
-
timestamp=timestamp,
|
|
85
|
-
metadata=None,
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
if event_type == RunEvent.run_error:
|
|
89
|
-
return RunErrorEvent(
|
|
90
|
-
event=AgentRunEvent.RUN_ERROR,
|
|
91
|
-
error_type=getattr(agno_event, "error_type", None),
|
|
92
|
-
content=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
93
|
-
error_details=None,
|
|
94
|
-
timestamp=timestamp,
|
|
95
|
-
metadata=None,
|
|
96
|
-
)
|
|
97
|
-
|
|
98
|
-
if event_type == RunEvent.reasoning_started:
|
|
99
|
-
return ReasoningStartedEvent(
|
|
100
|
-
event=AgentRunEvent.REASONING_STARTED,
|
|
101
|
-
timestamp=timestamp,
|
|
102
|
-
metadata=None,
|
|
103
|
-
)
|
|
104
|
-
|
|
105
|
-
if event_type == RunEvent.reasoning_content_delta:
|
|
106
|
-
reasoning_content = getattr(agno_event, "reasoning_content", "")
|
|
107
|
-
return ReasoningContentDeltaEvent(
|
|
108
|
-
event=AgentRunEvent.REASONING_CONTENT_DELTA,
|
|
109
|
-
delta=reasoning_content,
|
|
110
|
-
timestamp=timestamp,
|
|
111
|
-
metadata=None,
|
|
112
|
-
)
|
|
113
|
-
|
|
114
|
-
if event_type == RunEvent.reasoning_step:
|
|
115
|
-
reasoning_content = getattr(agno_event, "reasoning_content", "")
|
|
116
|
-
return ReasoningStepEvent(
|
|
117
|
-
event=AgentRunEvent.REASONING_STEP,
|
|
118
|
-
delta=reasoning_content,
|
|
119
|
-
timestamp=timestamp,
|
|
120
|
-
metadata=None,
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
if event_type == RunEvent.reasoning_completed:
|
|
124
|
-
return ReasoningCompletedEvent(
|
|
125
|
-
event=AgentRunEvent.REASONING_COMPLETED,
|
|
126
|
-
timestamp=timestamp,
|
|
127
|
-
metadata=None,
|
|
128
|
-
)
|
|
129
|
-
|
|
130
|
-
if event_type == RunEvent.tool_call_started:
|
|
131
|
-
tool = getattr(agno_event, "tool", None)
|
|
132
|
-
tool_info = None
|
|
133
|
-
if tool:
|
|
134
|
-
tool_info = ToolInfo(
|
|
135
|
-
tool_call_id=getattr(tool, "tool_call_id", None),
|
|
136
|
-
tool_name=getattr(tool, "tool_name", None),
|
|
137
|
-
tool_args=getattr(tool, "tool_args", None),
|
|
138
|
-
result=None,
|
|
139
|
-
)
|
|
140
|
-
return ToolCallStartedEvent(
|
|
141
|
-
event=AgentRunEvent.TOOL_CALL_STARTED,
|
|
142
|
-
tool=tool_info,
|
|
143
|
-
timestamp=timestamp,
|
|
144
|
-
metadata=None,
|
|
145
|
-
)
|
|
146
|
-
|
|
147
|
-
if event_type == RunEvent.tool_call_completed:
|
|
148
|
-
tool = getattr(agno_event, "tool", None)
|
|
149
|
-
tool_info = None
|
|
150
|
-
if tool:
|
|
151
|
-
tool_info = ToolInfo(
|
|
152
|
-
tool_call_id=getattr(tool, "tool_call_id", None),
|
|
153
|
-
tool_name=getattr(tool, "tool_name", None),
|
|
154
|
-
tool_args=getattr(tool, "tool_args", None),
|
|
155
|
-
result=getattr(tool, "result", None),
|
|
156
|
-
)
|
|
157
|
-
return ToolCallCompletedEvent(
|
|
158
|
-
event=AgentRunEvent.TOOL_CALL_COMPLETED,
|
|
159
|
-
tool=tool_info,
|
|
160
|
-
content=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
161
|
-
timestamp=timestamp,
|
|
162
|
-
metadata=None,
|
|
163
|
-
)
|
|
164
|
-
|
|
165
|
-
if event_type == RunEvent.tool_call_error:
|
|
166
|
-
tool = getattr(agno_event, "tool", None)
|
|
167
|
-
tool_info = None
|
|
168
|
-
if tool:
|
|
169
|
-
tool_info = ToolInfo(
|
|
170
|
-
tool_call_id=getattr(tool, "tool_call_id", None),
|
|
171
|
-
tool_name=getattr(tool, "tool_name", None),
|
|
172
|
-
tool_args=None,
|
|
173
|
-
result=None,
|
|
174
|
-
)
|
|
175
|
-
return ToolCallErrorEvent(
|
|
176
|
-
event=AgentRunEvent.TOOL_CALL_ERROR,
|
|
177
|
-
tool=tool_info,
|
|
178
|
-
error_message=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
179
|
-
timestamp=timestamp,
|
|
180
|
-
metadata=None,
|
|
181
|
-
)
|
|
182
|
-
|
|
183
|
-
# Unknown event - create a generic base event
|
|
184
|
-
return BaseAgentRunEvent(
|
|
185
|
-
event=AgentRunEvent.RUN_CONTENT, # Default fallback
|
|
186
|
-
timestamp=timestamp,
|
|
187
|
-
metadata={"original_event_type": str(event_type)},
|
|
188
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/server_async_insecure.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/base_server/server_sync_insecure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/examples/modules/archetype_with_tools_module.py
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
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/job_manager/base_job_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/job_manager/taskiq_broker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/profiling/asyncio_monitor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/profiling/task_profiler.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/task_executor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/core/task_manager/task_session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/module_server.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/module_servicer.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/utils/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/grpc_servers/utils/exceptions.py
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
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/core/job_manager_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/events/agent_events.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/grpc_servers/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/grpc_servers/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/module_context.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/module_types.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/request_metadata.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/select_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/models/module/tool_reference.py
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
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/agent/agent_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/agent/default_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/communication/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/cost/cost_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/cost/default_cost.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/filesystem/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/identity/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/identity/default_identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/default_registry.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/exceptions.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/grpc_registry.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/registry/registry_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/setup/default_setup.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/setup/setup_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/snapshot/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/snapshot/default_snapshot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/storage/default_storage.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/storage/grpc_storage.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/storage/storage_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/services/user_profile/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin/utils/development_mode_action.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.5.dev5 → digitalkin-0.3.5.dev7}/src/digitalkin.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|