digitalkin 1.0.0.dev9__tar.gz → 1.0.0.dev11__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-1.0.0.dev9 → digitalkin-1.0.0.dev11}/PKG-INFO +1 -1
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/pyproject.toml +1 -1
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/__version__.py +1 -1
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/setup_types.py +23 -7
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/tool_reference.py +95 -26
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/_base_module.py +3 -6
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin.egg-info/PKG-INFO +1 -1
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/LICENSE +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/README.md +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/mock/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/mock/mock_pb2.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/server_async_insecure.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/server_async_secure.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/server_sync_insecure.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/server_sync_secure.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/echo_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/models/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/models/input.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/models/output.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/models/secret.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/models/setup.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/server.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/triggers/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/triggers/message_trigger.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/modules/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/modules/archetype_with_tools_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/modules/cpu_intensive_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/modules/dynamic_setup_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/modules/minimal_llm_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/modules/text_transform_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/monitoring/tests/test_metrics.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/client.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/echo_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/models/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/models/input.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/models/output.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/models/secret.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/models/setup.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/server.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/triggers/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/triggers/message_trigger.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/services/filesystem_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/services/storage_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/setup.cfg +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/community/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/community/agno/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/community/agno/agno_adapter.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/community/agno/agui_tools.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/community/agno/hitl.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/community/agno/models.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/common/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/common/factories.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/job_manager/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/job_manager/single_job_manager.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/profiling/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/profiling/step_timer.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/profiling/task_profiler.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/resilience/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/resilience/bulkhead.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/resilience/task_supervisor.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/module_runner.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/instrumented.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/proto_streams.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/redis_checkpoint.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/redis_client.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/redis_idempotency.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/redis_signal.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/redis_state.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/redis_streams.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/shadow.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/task_executor.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/task_session.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/_base_server.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/gateway_servicer.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/interceptors/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/interceptors/circuit_breaker_interceptor.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/m2m_call_registry.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/module_server.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/module_servicer.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/stream_registry.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/stream_session.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/utils/circuit_breaker.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/utils/validators.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/logger.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/agui_mixin.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/base_mixin.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/cost_mixin.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/file_history_mixin.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/logger_mixin.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/storage_mixin.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/core/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/core/job_manager_models.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/core/redis.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/core/task_monitor.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/events/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/events/agent_events.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/circuit_breaker.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/m2m.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/models.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/stream_error_codes.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/types.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/ag_ui.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/base_types.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/module_context.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/module_types.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/request_metadata.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/select_schema.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/tool_cache.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/utility.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/services/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/services/cost.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/services/registry.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/services/services.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/services/storage.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/consumer.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/gateway.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/grpc_client.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/log.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/profiling.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/queue.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/redis.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/resilience.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/server/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/server/channel.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/server/grpc.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/server/server.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/server/servicer.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/task_manager.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/utils/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/settings/utils/channel.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/utils/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/utils/dynamic_schema.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/archetype_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/tool_module.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/trigger_handler.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/triggers/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/py.typed +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/base_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/communication/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/communication/communication_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/communication/default_communication.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/communication/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/communication/grpc_communication.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/cost/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/cost/cost_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/cost/default_cost.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/cost/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/cost/grpc_cost.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/filesystem/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/filesystem/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/identity/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/identity/default_identity.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/identity/identity_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/registry/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/registry/default_registry.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/registry/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/registry/grpc_registry.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/registry/registry_models.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/registry/registry_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/services_config.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/services_models.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/setup/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/setup/default_setup.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/setup/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/setup/grpc_setup.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/setup/setup_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/storage/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/storage/default_storage.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/storage/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/storage/grpc_storage.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/storage/storage_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/task_manager/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/task_manager/default_task_manager.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/task_manager/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/task_manager/redis_task_manager.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/task_manager/task_manager_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/user_profile/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/user_profile/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/__init__.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/arg_parser.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/conditional_schema.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/development_mode_action.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/dynamic_schema.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/exceptions.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/llm_ready_schema.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/package_discover.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/proto_utils.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/utils/schema_splitter.py +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin.egg-info/SOURCES.txt +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin.egg-info/dependency_links.txt +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin.egg-info/requires.txt +0 -0
- {digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin.egg-info/top_level.txt +0 -0
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/setup_types.py
RENAMED
|
@@ -37,6 +37,7 @@ class SetupModel(BaseModel, Generic[SetupModelT]):
|
|
|
37
37
|
resolved_tools: dict[str, ToolModuleInfo] = Field(
|
|
38
38
|
default_factory=dict,
|
|
39
39
|
json_schema_extra={"ui:widget": "hidden"},
|
|
40
|
+
exclude=True,
|
|
40
41
|
)
|
|
41
42
|
|
|
42
43
|
@classmethod
|
|
@@ -438,11 +439,12 @@ class SetupModel(BaseModel, Generic[SetupModelT]):
|
|
|
438
439
|
registry: "RegistryStrategy | None" = None,
|
|
439
440
|
communication: "CommunicationStrategy | None" = None,
|
|
440
441
|
) -> ToolCache:
|
|
441
|
-
"""Build tool cache, resolving
|
|
442
|
+
"""Build tool cache, resolving tools via registry.
|
|
442
443
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
444
|
+
``resolved_tools`` is a within-build dedup cache, not a cross-request
|
|
445
|
+
store: when a registry is available it is cleared first so a stale or
|
|
446
|
+
empty entry can never be served — every build re-resolves. Without a
|
|
447
|
+
registry the existing entries are kept (degraded/embedded path).
|
|
446
448
|
|
|
447
449
|
Args:
|
|
448
450
|
registry: Registry service for resolving uncached tools.
|
|
@@ -451,9 +453,12 @@ class SetupModel(BaseModel, Generic[SetupModelT]):
|
|
|
451
453
|
Returns:
|
|
452
454
|
ToolCache with resolved tool entries.
|
|
453
455
|
"""
|
|
456
|
+
if registry and communication:
|
|
457
|
+
self.resolved_tools.clear()
|
|
454
458
|
cache = ToolCache()
|
|
455
459
|
await self._collect_tools_recursive(self, cache, registry, communication)
|
|
456
|
-
|
|
460
|
+
counts = " ".join(f"{sid}={len(info.tools)}" for sid, info in cache.entries.items())
|
|
461
|
+
logger.info("Tool cache built: %d entries [%s]", len(cache.entries), counts)
|
|
457
462
|
return cache
|
|
458
463
|
|
|
459
464
|
async def _collect_tools_recursive( # noqa: C901
|
|
@@ -531,7 +536,18 @@ class SetupModel(BaseModel, Generic[SetupModelT]):
|
|
|
531
536
|
except Exception:
|
|
532
537
|
logger.exception("Failed to resolve ToolReference '%s'", field_name)
|
|
533
538
|
|
|
539
|
+
missing: list[str] = []
|
|
534
540
|
for entry in tool_ref.selected_tools:
|
|
535
541
|
tool_info = self.resolved_tools.get(entry.setup_id) if entry.setup_id else None
|
|
536
|
-
if tool_info:
|
|
537
|
-
|
|
542
|
+
if tool_info is None:
|
|
543
|
+
if entry.setup_id:
|
|
544
|
+
missing.append(entry.setup_id)
|
|
545
|
+
continue
|
|
546
|
+
cache.add(tool_info)
|
|
547
|
+
|
|
548
|
+
if missing:
|
|
549
|
+
logger.warning(
|
|
550
|
+
"ToolReference '%s' has %d unresolved setup_id(s): %s "
|
|
551
|
+
"(each has an upstream 'Tool resolve failed' log with the reason)",
|
|
552
|
+
field_name, len(missing), missing,
|
|
553
|
+
)
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/module/tool_reference.py
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Tool reference types for module configuration."""
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
|
+
import logging
|
|
4
5
|
from typing import Annotated, ClassVar
|
|
5
6
|
|
|
6
7
|
from pydantic import AfterValidator, BaseModel, BeforeValidator, Field, PlainSerializer
|
|
@@ -29,37 +30,49 @@ class ToolReference(BaseModel):
|
|
|
29
30
|
default_factory=list, description="Selected tools with trigger filters."
|
|
30
31
|
)
|
|
31
32
|
|
|
32
|
-
async def resolve(
|
|
33
|
+
async def resolve(
|
|
34
|
+
self,
|
|
35
|
+
registry: RegistryStrategy,
|
|
36
|
+
communication: CommunicationStrategy,
|
|
37
|
+
) -> list[ToolModuleInfo]:
|
|
33
38
|
"""Resolve selected tools using the registry.
|
|
34
39
|
|
|
35
|
-
Each tool resolution is bounded by DIGITALKIN_MODULE_TOOL_RESOLVE_TIMEOUT
|
|
40
|
+
Each tool resolution is bounded by ``DIGITALKIN_MODULE_TOOL_RESOLVE_TIMEOUT``
|
|
41
|
+
(default 10s). Inputs that fail to resolve are logged as WARNING with the
|
|
42
|
+
``setup_id`` and a ``reason=...`` field; the returned list contains only
|
|
43
|
+
successful ``ToolModuleInfo``s. The caller can correlate against
|
|
44
|
+
``self.selected_tools`` by ``setup_id``.
|
|
36
45
|
|
|
37
46
|
Args:
|
|
38
47
|
registry: Registry service for module discovery.
|
|
39
48
|
communication: Communication service for module schemas.
|
|
40
49
|
|
|
41
50
|
Returns:
|
|
42
|
-
List of ToolModuleInfo
|
|
51
|
+
List of resolved ``ToolModuleInfo``. Failed resolutions are logged and omitted.
|
|
43
52
|
"""
|
|
44
53
|
timeout = get_module_settings().tool_resolve_timeout
|
|
45
54
|
|
|
46
|
-
async def
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
async def _bounded(entry: ToolSelection) -> ToolModuleInfo | None:
|
|
56
|
+
try:
|
|
57
|
+
return await asyncio.wait_for(
|
|
58
|
+
ToolReference._resolve_single(entry, registry, communication),
|
|
59
|
+
timeout=timeout,
|
|
60
|
+
)
|
|
61
|
+
except asyncio.TimeoutError:
|
|
62
|
+
logger.warning(
|
|
63
|
+
"Tool resolve failed: setup_id=%s reason=resolve_timeout timeout_s=%.1f",
|
|
64
|
+
entry.setup_id, timeout,
|
|
65
|
+
)
|
|
66
|
+
return None
|
|
67
|
+
except Exception:
|
|
68
|
+
logger.exception(
|
|
69
|
+
"Tool resolve failed: setup_id=%s reason=resolve_exception",
|
|
70
|
+
entry.setup_id,
|
|
71
|
+
)
|
|
72
|
+
return None
|
|
51
73
|
|
|
52
|
-
results = await asyncio.gather(
|
|
53
|
-
|
|
54
|
-
return_exceptions=True,
|
|
55
|
-
)
|
|
56
|
-
resolved: list[ToolModuleInfo] = []
|
|
57
|
-
for entry, result in zip(self.selected_tools, results):
|
|
58
|
-
if isinstance(result, BaseException):
|
|
59
|
-
logger.warning("Failed to resolve tool (setup_id=%s): %s", entry.setup_id, result)
|
|
60
|
-
elif isinstance(result, ToolModuleInfo):
|
|
61
|
-
resolved.append(result)
|
|
62
|
-
return resolved
|
|
74
|
+
results = await asyncio.gather(*(_bounded(e) for e in self.selected_tools))
|
|
75
|
+
return [r for r in results if r is not None]
|
|
63
76
|
|
|
64
77
|
@staticmethod
|
|
65
78
|
async def _resolve_single(
|
|
@@ -67,7 +80,15 @@ class ToolReference(BaseModel):
|
|
|
67
80
|
registry: RegistryStrategy,
|
|
68
81
|
communication: CommunicationStrategy,
|
|
69
82
|
) -> ToolModuleInfo | None:
|
|
70
|
-
"""Resolve a single tool selection.
|
|
83
|
+
"""Resolve a single tool selection; emit one structured audit line per call.
|
|
84
|
+
|
|
85
|
+
Every failure path logs a ``WARNING`` with a ``reason=...`` field
|
|
86
|
+
(``setup_not_found``, ``module_not_discovered``, ``schema_fetch_failed``)
|
|
87
|
+
so callers don't need to re-derive the cause. Successful resolutions
|
|
88
|
+
emit ``[lat-audit] tool_resolve`` at INFO with input/output counts.
|
|
89
|
+
Post-filter results of zero functions emit a second ``WARNING`` naming
|
|
90
|
+
the structural cause (``module_exposes_no_triggers``,
|
|
91
|
+
``all_user_triggers_unknown``, or ``post_filter_empty``).
|
|
71
92
|
|
|
72
93
|
Args:
|
|
73
94
|
entry: Tool selection to resolve.
|
|
@@ -75,26 +96,74 @@ class ToolReference(BaseModel):
|
|
|
75
96
|
communication: Communication service for module schemas.
|
|
76
97
|
|
|
77
98
|
Returns:
|
|
78
|
-
ToolModuleInfo
|
|
99
|
+
ToolModuleInfo on success (possibly with empty ``tools``); ``None`` on registry miss.
|
|
79
100
|
"""
|
|
80
101
|
setup = await registry.get_setup(entry.setup_id)
|
|
81
102
|
if not setup or not setup.module_id:
|
|
103
|
+
logger.warning(
|
|
104
|
+
"Tool resolve failed: setup_id=%s reason=setup_not_found",
|
|
105
|
+
entry.setup_id,
|
|
106
|
+
)
|
|
82
107
|
return None
|
|
83
108
|
info = await registry.discover_by_id(setup.module_id)
|
|
84
109
|
if not info:
|
|
110
|
+
logger.warning(
|
|
111
|
+
"Tool resolve failed: setup_id=%s tool_name=%s module_id=%s reason=module_not_discovered",
|
|
112
|
+
entry.setup_id, setup.name, setup.module_id,
|
|
113
|
+
)
|
|
85
114
|
return None
|
|
86
|
-
|
|
115
|
+
|
|
116
|
+
try:
|
|
117
|
+
tool_info = await module_info_to_tool_module_info(
|
|
118
|
+
info, entry.setup_id, setup.name, communication,
|
|
119
|
+
)
|
|
120
|
+
except Exception:
|
|
121
|
+
logger.exception(
|
|
122
|
+
"Tool resolve failed: setup_id=%s tool_name=%s reason=schema_fetch_failed",
|
|
123
|
+
entry.setup_id, setup.name,
|
|
124
|
+
)
|
|
125
|
+
return None
|
|
126
|
+
|
|
127
|
+
available = {t.name for t in tool_info.tools}
|
|
87
128
|
enabled_triggers = {name for name, enabled in entry.triggers.items() if enabled}
|
|
129
|
+
|
|
88
130
|
if enabled_triggers:
|
|
89
|
-
available = {t.name for t in tool_info.tools}
|
|
90
131
|
if unknown := enabled_triggers - available:
|
|
91
132
|
logger.warning(
|
|
92
133
|
"Tool '%s' enables triggers the module does not expose: %s (available: %s)",
|
|
93
|
-
entry.setup_id,
|
|
94
|
-
sorted(unknown),
|
|
95
|
-
sorted(available),
|
|
134
|
+
entry.setup_id, sorted(unknown), sorted(available),
|
|
96
135
|
)
|
|
97
136
|
tool_info.tools = [t for t in tool_info.tools if t.name in enabled_triggers]
|
|
137
|
+
|
|
138
|
+
post_count = len(tool_info.tools)
|
|
139
|
+
logger.info(
|
|
140
|
+
"[lat-audit] tool_resolve: setup_id=%s slug=%s "
|
|
141
|
+
"user_triggers_enabled=%d user_triggers_total=%d "
|
|
142
|
+
"module_available=%d post_filter=%d",
|
|
143
|
+
entry.setup_id, tool_info.slug,
|
|
144
|
+
len(enabled_triggers), len(entry.triggers),
|
|
145
|
+
len(available), post_count,
|
|
146
|
+
)
|
|
147
|
+
if logger.isEnabledFor(logging.DEBUG):
|
|
148
|
+
logger.debug(
|
|
149
|
+
"tool_resolve detail: setup_id=%s user_triggers=%s available=%s",
|
|
150
|
+
entry.setup_id, dict(entry.triggers), sorted(available),
|
|
151
|
+
)
|
|
152
|
+
|
|
153
|
+
if post_count == 0:
|
|
154
|
+
if not available:
|
|
155
|
+
reason = "module_exposes_no_triggers"
|
|
156
|
+
elif enabled_triggers and not (enabled_triggers & available):
|
|
157
|
+
reason = "all_user_triggers_unknown"
|
|
158
|
+
else:
|
|
159
|
+
reason = "post_filter_empty"
|
|
160
|
+
logger.warning(
|
|
161
|
+
"Tool resolved with 0 functions: setup_id=%s slug=%s reason=%s "
|
|
162
|
+
"user_enabled=%d module_available=%d",
|
|
163
|
+
entry.setup_id, tool_info.slug, reason,
|
|
164
|
+
len(enabled_triggers), len(available),
|
|
165
|
+
)
|
|
166
|
+
|
|
98
167
|
return tool_info
|
|
99
168
|
|
|
100
169
|
|
|
@@ -667,18 +667,15 @@ class BaseModule( # Module SDK base class requires many public methods # noqa:
|
|
|
667
667
|
except Exception:
|
|
668
668
|
logger.warning("Failed to flush handler history during stop", exc_info=True)
|
|
669
669
|
t2 = _t.perf_counter_ns()
|
|
670
|
-
|
|
670
|
+
if "send_message" in vars(self.context.callbacks):
|
|
671
671
|
await self.context.callbacks.send_message(
|
|
672
672
|
_EndOfStreamDataModel(
|
|
673
673
|
root=EndOfStreamOutput(),
|
|
674
674
|
annotations={"role": BaseRole.SYSTEM},
|
|
675
675
|
)
|
|
676
676
|
)
|
|
677
|
-
|
|
678
|
-
logger.
|
|
679
|
-
"send_message callback not set, skipping end-of-stream"
|
|
680
|
-
" (expected for start_config_setup which does not register send_message)"
|
|
681
|
-
)
|
|
677
|
+
else:
|
|
678
|
+
logger.debug("send_message not registered; skipping end-of-stream (config-setup path)")
|
|
682
679
|
t3 = _t.perf_counter_ns()
|
|
683
680
|
self._status = ModuleStatus.STOPPED
|
|
684
681
|
ids = self.context.session.current_ids()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/server_async_insecure.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/server_async_secure.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/base_server/server_sync_insecure.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
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/bench_module/triggers/message_trigger.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/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-1.0.0.dev9 → digitalkin-1.0.0.dev11}/examples/redis_demo/triggers/message_trigger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/community/agno/agno_adapter.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/community/agno/agui_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/job_manager/__init__.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/job_manager/base_job_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/profiling/step_timer.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/profiling/task_profiler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/resilience/task_supervisor.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/module_runner.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/__init__.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
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/redis/shadow.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/task_executor.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/core/task_manager/task_session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/_base_server.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/gateway_servicer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/m2m_call_registry.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/module_server.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/module_servicer.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/stream_registry.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/stream_session.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/grpc_servers/utils/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/mixins/file_history_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/core/job_manager_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/events/agent_events.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/models.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev9 → digitalkin-1.0.0.dev11}/src/digitalkin/models/grpc_servers/types.py
RENAMED
|
File without changes
|
|
File without changes
|