digitalkin 0.3.5.dev11__tar.gz → 0.3.5.dev13__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.dev11 → digitalkin-0.3.5.dev13}/PKG-INFO +3 -3
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/modules/archetype_with_tools_module.py +3 -2
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/pyproject.toml +12 -12
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/__version__.py +1 -1
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/community/agno/agno_adapter.py +34 -25
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/job_manager/base_job_manager.py +6 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/job_manager/single_job_manager.py +1 -4
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/job_manager/taskiq_broker.py +211 -13
- digitalkin-0.3.5.dev13/src/digitalkin/core/job_manager/taskiq_job_manager.py +659 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/task_manager/task_session.py +2 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/_base_server.py +56 -48
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/module_server.py +37 -12
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/module_servicer.py +42 -3
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +35 -10
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/__init__.py +0 -4
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/agui_mixin.py +3 -3
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/base_mixin.py +2 -2
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/callback_mixin.py +19 -5
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/chat_history_mixin.py +14 -8
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/grpc_servers/models.py +2 -138
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/__init__.py +0 -2
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/module_context.py +2 -18
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/setup_types.py +124 -13
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/tool_cache.py +51 -45
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/tool_reference.py +17 -9
- digitalkin-0.3.5.dev13/src/digitalkin/models/settings/__init__.py +1 -0
- digitalkin-0.3.5.dev13/src/digitalkin/models/settings/server/__init__.py +1 -0
- digitalkin-0.3.5.dev13/src/digitalkin/models/settings/server/channel.py +36 -0
- digitalkin-0.3.5.dev13/src/digitalkin/models/settings/server/grpc.py +99 -0
- digitalkin-0.3.5.dev13/src/digitalkin/models/settings/server/server.py +47 -0
- digitalkin-0.3.5.dev13/src/digitalkin/models/settings/utils/__init__.py +1 -0
- digitalkin-0.3.5.dev13/src/digitalkin/models/settings/utils/channel.py +148 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/_base_module.py +38 -15
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +1 -1
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +2 -2
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +1 -1
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/registry/registry_strategy.py +12 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/conditional_schema.py +2 -3
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin.egg-info/PKG-INFO +3 -3
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin.egg-info/SOURCES.txt +7 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin.egg-info/requires.txt +2 -2
- digitalkin-0.3.5.dev11/src/digitalkin/core/job_manager/taskiq_job_manager.py +0 -477
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/LICENSE +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/README.md +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/base_server/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/base_server/mock/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/base_server/mock/mock_pb2.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/base_server/server_async_insecure.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/base_server/server_async_secure.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/base_server/server_sync_insecure.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/base_server/server_sync_secure.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/modules/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/modules/cpu_intensive_module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/modules/dynamic_setup_module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/modules/minimal_llm_module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/modules/text_transform_module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/monitoring/tests/test_metrics.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/services/filesystem_module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/services/storage_module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/setup.cfg +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/community/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/community/agno/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/common/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/common/factories.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/job_manager/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/profiling/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/profiling/asyncio_monitor.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/profiling/task_profiler.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/task_manager/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/core/task_manager/task_executor.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/logger.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/cost_mixin.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/file_history_mixin.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/logger_mixin.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/mixins/storage_mixin.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/core/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/core/job_manager_models.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/core/task_monitor.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/events/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/events/agent_events.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/grpc_servers/types.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/ag_ui.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/base_types.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/module_types.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/request_metadata.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/select_schema.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/module/utility.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/services/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/services/cost.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/services/registry.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/models/services/storage.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/archetype_module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/tool_module.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/trigger_handler.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/modules/triggers/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/py.typed +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/agent/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/agent/agent_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/agent/default_agent.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/base_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/communication/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/communication/communication_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/communication/default_communication.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/communication/grpc_communication.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/cost/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/cost/cost_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/cost/default_cost.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/cost/grpc_cost.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/filesystem/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/identity/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/identity/default_identity.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/identity/identity_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/registry/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/registry/default_registry.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/registry/exceptions.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/registry/grpc_registry.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/registry/registry_models.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/services_config.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/services_models.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/setup/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/setup/default_setup.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/setup/grpc_setup.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/setup/setup_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/snapshot/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/snapshot/default_snapshot.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/snapshot/snapshot_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/storage/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/storage/default_storage.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/storage/grpc_storage.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/storage/storage_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/task_manager/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/task_manager/default_task_manager.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/task_manager/grpc_task_manager.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/task_manager/task_manager_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/user_profile/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/__init__.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/arg_parser.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/development_mode_action.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/dynamic_schema.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/llm_ready_schema.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/package_discover.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/proto_utils.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/utils/schema_splitter.py +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin.egg-info/dependency_links.txt +0 -0
- {digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalkin
|
|
3
|
-
Version: 0.3.5.
|
|
3
|
+
Version: 0.3.5.dev13
|
|
4
4
|
Summary: SDK to build kin used in DigitalKin
|
|
5
5
|
Author-email: "DigitalKin.ai" <contact@digitalkin.ai>
|
|
6
6
|
License: Attribution-NonCommercial-ShareAlike 4.0 International
|
|
@@ -454,7 +454,7 @@ Description-Content-Type: text/markdown
|
|
|
454
454
|
License-File: LICENSE
|
|
455
455
|
Requires-Dist: ag-ui-protocol>=0.1.14
|
|
456
456
|
Requires-Dist: agentic-mesh-protocol==0.2.3
|
|
457
|
-
Requires-Dist: anyio==4.
|
|
457
|
+
Requires-Dist: anyio==4.13.0
|
|
458
458
|
Requires-Dist: grpcio-health-checking==1.78.0
|
|
459
459
|
Requires-Dist: grpcio-reflection==1.78.0
|
|
460
460
|
Requires-Dist: grpcio-status==1.78.0
|
|
@@ -463,7 +463,7 @@ Provides-Extra: profiling
|
|
|
463
463
|
Requires-Dist: asyncio-inspector==0.1.0; extra == "profiling"
|
|
464
464
|
Requires-Dist: pyinstrument==5.1.2; extra == "profiling"
|
|
465
465
|
Requires-Dist: viztracer==1.1.1; extra == "profiling"
|
|
466
|
-
Requires-Dist: yappi==1.7.
|
|
466
|
+
Requires-Dist: yappi==1.7.6; extra == "profiling"
|
|
467
467
|
Provides-Extra: taskiq
|
|
468
468
|
Requires-Dist: rstream==1.0.0; extra == "taskiq"
|
|
469
469
|
Requires-Dist: taskiq-aio-pika==0.6.0; extra == "taskiq"
|
{digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/examples/modules/archetype_with_tools_module.py
RENAMED
|
@@ -5,10 +5,11 @@ from typing import Any, ClassVar, Literal
|
|
|
5
5
|
|
|
6
6
|
from pydantic import BaseModel, Field
|
|
7
7
|
|
|
8
|
-
from digitalkin.models.grpc_servers.models import ClientConfig
|
|
8
|
+
from digitalkin.models.grpc_servers.models import ClientConfig
|
|
9
9
|
from digitalkin.models.module.module_context import ModuleContext
|
|
10
10
|
from digitalkin.models.module.setup_types import SetupModel
|
|
11
11
|
from digitalkin.models.module.tool_reference import ToolReference
|
|
12
|
+
from digitalkin.models.settings.utils.channel import ControlFlow, SecurityMode
|
|
12
13
|
from digitalkin.modules._base_module import BaseModule # noqa: PLC2701
|
|
13
14
|
from digitalkin.services.services_models import ServicesStrategy
|
|
14
15
|
|
|
@@ -98,7 +99,7 @@ class ArchetypeSecret(BaseModel):
|
|
|
98
99
|
client_config = ClientConfig(
|
|
99
100
|
host="[::]",
|
|
100
101
|
port=50152,
|
|
101
|
-
mode=
|
|
102
|
+
mode=ControlFlow.ASYNC,
|
|
102
103
|
security=SecurityMode.INSECURE,
|
|
103
104
|
credentials=None,
|
|
104
105
|
)
|
|
@@ -29,20 +29,20 @@
|
|
|
29
29
|
dependencies = [
|
|
30
30
|
"ag-ui-protocol>=0.1.14",
|
|
31
31
|
"agentic-mesh-protocol==0.2.3",
|
|
32
|
-
"anyio==4.
|
|
32
|
+
"anyio==4.13.0",
|
|
33
33
|
"grpcio-health-checking==1.78.0",
|
|
34
34
|
"grpcio-reflection==1.78.0",
|
|
35
35
|
"grpcio-status==1.78.0",
|
|
36
36
|
"pydantic==2.12.5",
|
|
37
|
-
]
|
|
38
|
-
version = "0.3.5.
|
|
37
|
+
]
|
|
38
|
+
version = "0.3.5.dev13"
|
|
39
39
|
|
|
40
40
|
[project.optional-dependencies]
|
|
41
41
|
profiling = [
|
|
42
42
|
"asyncio-inspector==0.1.0",
|
|
43
43
|
"pyinstrument==5.1.2",
|
|
44
44
|
"viztracer==1.1.1",
|
|
45
|
-
"yappi==1.7.
|
|
45
|
+
"yappi==1.7.6",
|
|
46
46
|
]
|
|
47
47
|
taskiq = [
|
|
48
48
|
"rstream==1.0.0",
|
|
@@ -61,13 +61,13 @@
|
|
|
61
61
|
|
|
62
62
|
[dependency-groups]
|
|
63
63
|
dev = [
|
|
64
|
-
"build==1.4.
|
|
64
|
+
"build==1.4.2",
|
|
65
65
|
"bump-my-version==1.2.7",
|
|
66
|
-
"cryptography==46.0.
|
|
66
|
+
"cryptography==46.0.6",
|
|
67
67
|
"mypy==1.19.1",
|
|
68
68
|
"pre-commit==4.5.1",
|
|
69
69
|
"pyright==1.1.408",
|
|
70
|
-
"ruff==0.15.
|
|
70
|
+
"ruff==0.15.8",
|
|
71
71
|
"twine==6.2.0",
|
|
72
72
|
"types-grpcio-health-checking==1.0.0.20250506",
|
|
73
73
|
"types-grpcio-reflection==1.0.0.20250506",
|
|
@@ -87,17 +87,17 @@
|
|
|
87
87
|
"mkdocs-git-revision-date-localized-plugin==1.5.1",
|
|
88
88
|
"mkdocs-glightbox==0.5.2",
|
|
89
89
|
"mkdocs-include-markdown-plugin==7.2.1",
|
|
90
|
-
"mkdocs-literate-nav==0.6.
|
|
90
|
+
"mkdocs-literate-nav==0.6.3",
|
|
91
91
|
"mkdocs-llmstxt==0.5.0",
|
|
92
|
-
"mkdocs-material[imaging]==9.7.
|
|
92
|
+
"mkdocs-material[imaging]==9.7.6",
|
|
93
93
|
"mkdocs-minify-plugin==0.8.0",
|
|
94
94
|
"mkdocs-open-in-new-tab==1.0.8",
|
|
95
95
|
"mkdocs-redirects==1.2.2",
|
|
96
|
-
"mkdocs-section-index==0.3.
|
|
96
|
+
"mkdocs-section-index==0.3.11",
|
|
97
97
|
"mkdocs==1.6.1",
|
|
98
98
|
"mkdocstrings-python==2.0.3",
|
|
99
99
|
"mkdocstrings==1.0.3",
|
|
100
|
-
"tomli==2.4.
|
|
100
|
+
"tomli==2.4.1",
|
|
101
101
|
]
|
|
102
102
|
tests = [
|
|
103
103
|
"freezegun==1.5.5",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"hdrhistogram==0.10.3",
|
|
106
106
|
"psutil==7.2.2",
|
|
107
107
|
"pytest-asyncio==1.3.0",
|
|
108
|
-
"pytest-cov==7.
|
|
108
|
+
"pytest-cov==7.1.0",
|
|
109
109
|
"pytest-html==4.2.0",
|
|
110
110
|
"pytest-json-report==1.5.0",
|
|
111
111
|
"pytest-timeout==2.4.0",
|
{digitalkin-0.3.5.dev11 → digitalkin-0.3.5.dev13}/src/digitalkin/community/agno/agno_adapter.py
RENAMED
|
@@ -63,6 +63,9 @@ class AgnoStreamAdapter:
|
|
|
63
63
|
|
|
64
64
|
self._closed_tool_call_ids: set[str] = set()
|
|
65
65
|
|
|
66
|
+
self._active_run_id: str | None = None
|
|
67
|
+
self._completed_run_ids: set[str] = set()
|
|
68
|
+
|
|
66
69
|
def to_digitalkin_events(self, agno_event: Any) -> list[BaseAgentRunEvent]: # noqa: C901, PLR0911, PLR0912, PLR0915
|
|
67
70
|
"""Convert one Agno event into one or more DigitalKin events.
|
|
68
71
|
|
|
@@ -83,17 +86,25 @@ class AgnoStreamAdapter:
|
|
|
83
86
|
|
|
84
87
|
event_type = agno_event.event
|
|
85
88
|
|
|
86
|
-
logger.
|
|
89
|
+
logger.debug("Converting Agno event: %s", event_type)
|
|
87
90
|
|
|
88
91
|
timestamp = getattr(agno_event, "timestamp", None)
|
|
89
92
|
|
|
90
93
|
# ── Run Lifecycle ────────────────────────────────────────────────
|
|
91
94
|
|
|
92
95
|
if event_type == RunEvent.run_started:
|
|
96
|
+
run_id = getattr(agno_event, "run_id", None)
|
|
97
|
+
|
|
98
|
+
# Skip duplicate RunStarted for the same run_id
|
|
99
|
+
if run_id and run_id == self._active_run_id:
|
|
100
|
+
logger.debug("Skipping duplicate RunStarted for run_id=%s", run_id)
|
|
101
|
+
return []
|
|
102
|
+
|
|
103
|
+
self._active_run_id = run_id
|
|
93
104
|
return [
|
|
94
105
|
RunStartedEvent(
|
|
95
106
|
event=AgentRunEvent.RUN_STARTED,
|
|
96
|
-
run_id=
|
|
107
|
+
run_id=run_id,
|
|
97
108
|
thread_id=getattr(agno_event, "thread_id", None),
|
|
98
109
|
timestamp=timestamp,
|
|
99
110
|
metadata=None,
|
|
@@ -104,6 +115,13 @@ class AgnoStreamAdapter:
|
|
|
104
115
|
return self._handle_run_content(agno_event, timestamp)
|
|
105
116
|
|
|
106
117
|
if event_type == RunEvent.run_completed:
|
|
118
|
+
run_id = getattr(agno_event, "run_id", None)
|
|
119
|
+
|
|
120
|
+
# Skip if this run was already completed and not reopened
|
|
121
|
+
if run_id and run_id in self._completed_run_ids and run_id != self._active_run_id:
|
|
122
|
+
logger.debug("Skipping duplicate RunCompleted for run_id=%s", run_id)
|
|
123
|
+
return []
|
|
124
|
+
|
|
107
125
|
events: list[BaseAgentRunEvent] = []
|
|
108
126
|
|
|
109
127
|
# Close any open sequences before completing the run
|
|
@@ -112,10 +130,14 @@ class AgnoStreamAdapter:
|
|
|
112
130
|
if self._reasoning_active:
|
|
113
131
|
events.extend(self._close_reasoning(timestamp))
|
|
114
132
|
|
|
133
|
+
if run_id:
|
|
134
|
+
self._completed_run_ids.add(run_id)
|
|
135
|
+
self._active_run_id = None
|
|
136
|
+
|
|
115
137
|
events.append(
|
|
116
138
|
RunCompletedEvent(
|
|
117
139
|
event=AgentRunEvent.RUN_COMPLETED,
|
|
118
|
-
run_id=
|
|
140
|
+
run_id=run_id,
|
|
119
141
|
final_content=str(agno_event.content) if getattr(agno_event, "content", None) else None,
|
|
120
142
|
usage=None,
|
|
121
143
|
timestamp=timestamp,
|
|
@@ -147,10 +169,7 @@ class AgnoStreamAdapter:
|
|
|
147
169
|
|
|
148
170
|
self._current_reasoning_id = str(uuid.uuid4())
|
|
149
171
|
self._reasoning_active = True
|
|
150
|
-
logger.
|
|
151
|
-
"[DK STREAM-DEBUG => agno_adapter] Reasoning started (explicit), id=%s",
|
|
152
|
-
self._current_reasoning_id,
|
|
153
|
-
)
|
|
172
|
+
logger.debug("Reasoning started, id=%s", self._current_reasoning_id)
|
|
154
173
|
events.append(
|
|
155
174
|
ReasoningStartedEvent(
|
|
156
175
|
event=AgentRunEvent.REASONING_STARTED,
|
|
@@ -186,7 +205,7 @@ class AgnoStreamAdapter:
|
|
|
186
205
|
]
|
|
187
206
|
|
|
188
207
|
if event_type == RunEvent.reasoning_completed:
|
|
189
|
-
logger.
|
|
208
|
+
logger.debug("Reasoning completed")
|
|
190
209
|
return self._close_reasoning(timestamp)
|
|
191
210
|
|
|
192
211
|
# ── Tool Call Events ─────────────────────────────────────────────
|
|
@@ -196,7 +215,7 @@ class AgnoStreamAdapter:
|
|
|
196
215
|
|
|
197
216
|
# Close both reasoning and content before tool calls
|
|
198
217
|
if self._reasoning_active:
|
|
199
|
-
logger.
|
|
218
|
+
logger.debug("Reasoning auto-completed (tool call started)")
|
|
200
219
|
events.extend(self._close_reasoning(timestamp))
|
|
201
220
|
if self._content_active:
|
|
202
221
|
events.extend(self._close_content(timestamp))
|
|
@@ -253,10 +272,7 @@ class AgnoStreamAdapter:
|
|
|
253
272
|
|
|
254
273
|
# Skip if already closed by ToolCallCompleted (Agno emits both for the same tool_call_id)
|
|
255
274
|
if tool_call_id and tool_call_id in self._closed_tool_call_ids:
|
|
256
|
-
logger.
|
|
257
|
-
"[DK STREAM-DEBUG => agno_adapter] Skipping duplicate ToolCallError for already-closed tool %s",
|
|
258
|
-
tool_call_id,
|
|
259
|
-
)
|
|
275
|
+
logger.debug("Skipping duplicate ToolCallError for tool %s", tool_call_id)
|
|
260
276
|
return []
|
|
261
277
|
|
|
262
278
|
tool_info = None
|
|
@@ -293,10 +309,10 @@ class AgnoStreamAdapter:
|
|
|
293
309
|
"""
|
|
294
310
|
events: list[BaseAgentRunEvent] = []
|
|
295
311
|
if self._content_active:
|
|
296
|
-
logger.
|
|
312
|
+
logger.debug("Flushing active content sequence")
|
|
297
313
|
events.extend(self._close_content(None))
|
|
298
314
|
if self._reasoning_active:
|
|
299
|
-
logger.
|
|
315
|
+
logger.debug("Flushing active reasoning sequence")
|
|
300
316
|
events.extend(self._close_reasoning(None))
|
|
301
317
|
return events
|
|
302
318
|
|
|
@@ -372,7 +388,7 @@ class AgnoStreamAdapter:
|
|
|
372
388
|
|
|
373
389
|
# Edge case: neither reasoning_content nor content
|
|
374
390
|
if reasoning_content is None and content is None:
|
|
375
|
-
logger.debug("
|
|
391
|
+
logger.debug("run_content with no content, skipping")
|
|
376
392
|
|
|
377
393
|
return events
|
|
378
394
|
|
|
@@ -398,10 +414,7 @@ class AgnoStreamAdapter:
|
|
|
398
414
|
# Auto-open reasoning on first chunk
|
|
399
415
|
if not self._reasoning_active:
|
|
400
416
|
self._current_reasoning_id = str(uuid.uuid4())
|
|
401
|
-
logger.
|
|
402
|
-
"[DK STREAM-DEBUG => agno_adapter] Reasoning auto-started from run_content, id=%s",
|
|
403
|
-
self._current_reasoning_id,
|
|
404
|
-
)
|
|
417
|
+
logger.debug("Reasoning auto-started, id=%s", self._current_reasoning_id)
|
|
405
418
|
events.append(
|
|
406
419
|
ReasoningStartedEvent(
|
|
407
420
|
event=AgentRunEvent.REASONING_STARTED,
|
|
@@ -412,10 +425,6 @@ class AgnoStreamAdapter:
|
|
|
412
425
|
)
|
|
413
426
|
self._reasoning_active = True
|
|
414
427
|
|
|
415
|
-
logger.info(
|
|
416
|
-
"[DK STREAM-DEBUG => agno_adapter] Reasoning content delta (len=%d)",
|
|
417
|
-
len(reasoning_content),
|
|
418
|
-
)
|
|
419
428
|
events.append(
|
|
420
429
|
ReasoningContentDeltaEvent(
|
|
421
430
|
event=AgentRunEvent.REASONING_CONTENT_DELTA,
|
|
@@ -444,7 +453,7 @@ class AgnoStreamAdapter:
|
|
|
444
453
|
# Non-empty string → text data
|
|
445
454
|
# Close reasoning if transitioning from reasoning to content
|
|
446
455
|
if self._reasoning_active:
|
|
447
|
-
logger.
|
|
456
|
+
logger.debug("Reasoning auto-completed (text content arrived)")
|
|
448
457
|
events.extend(self._close_reasoning(timestamp))
|
|
449
458
|
|
|
450
459
|
# Auto-open text message on first chunk
|
|
@@ -130,6 +130,12 @@ class BaseJobManager(abc.ABC, Generic[InputModelT, OutputModelT, SetupModelT]):
|
|
|
130
130
|
required for the job manager to function.
|
|
131
131
|
"""
|
|
132
132
|
|
|
133
|
+
async def stop(self) -> None:
|
|
134
|
+
"""Stop the job manager and clean up resources.
|
|
135
|
+
|
|
136
|
+
Default no-op. Subclasses with external connections override.
|
|
137
|
+
"""
|
|
138
|
+
|
|
133
139
|
@staticmethod
|
|
134
140
|
async def job_specific_callback(
|
|
135
141
|
callback: Callable[[str, DataModel | ModuleCodeModel], Coroutine[Any, Any, None]],
|
|
@@ -285,10 +285,7 @@ class SingleJobManager(BaseJobManager[InputModelT, OutputModelT, SetupModelT]):
|
|
|
285
285
|
if session.cancelled:
|
|
286
286
|
break
|
|
287
287
|
|
|
288
|
-
|
|
289
|
-
yield _stream()
|
|
290
|
-
finally:
|
|
291
|
-
session.close_stream()
|
|
288
|
+
yield _stream()
|
|
292
289
|
|
|
293
290
|
async def create_module_instance_job(
|
|
294
291
|
self,
|