digitalkin 0.3.2.dev29__tar.gz → 0.3.2.dev31__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.2.dev29 → digitalkin-0.3.2.dev31}/PKG-INFO +1 -1
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/pyproject.toml +2 -2
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/__version__.py +1 -1
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/module_server.py +13 -39
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/grpc_servers/models.py +4 -2
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/tool_reference.py +4 -3
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/schema_splitter.py +22 -7
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin.egg-info/PKG-INFO +1 -1
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/LICENSE +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/README.md +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/mock/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/mock/mock_pb2.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/server_async_insecure.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/server_async_secure.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/server_sync_insecure.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/server_sync_secure.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/modules/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/modules/archetype_with_tools_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/modules/cpu_intensive_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/modules/dynamic_setup_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/modules/minimal_llm_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/modules/text_transform_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/monitoring/tests/test_metrics.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/services/filesystem_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/services/storage_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/setup.cfg +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/common/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/common/factories.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/job_manager/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/job_manager/single_job_manager.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/job_manager/taskiq_broker.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/job_manager/taskiq_job_manager.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/surrealdb_repository.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/task_executor.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/task_session.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/_base_server.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/module_servicer.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/logger.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/base_mixin.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/callback_mixin.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/chat_history_mixin.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/cost_mixin.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/file_history_mixin.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/logger_mixin.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/storage_mixin.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/core/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/core/job_manager_models.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/core/task_monitor.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/grpc_servers/types.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/base_types.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/module_context.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/module_types.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/setup_types.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/tool_cache.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/utility.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/services/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/services/cost.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/services/registry.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/services/storage.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/_base_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/archetype_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/tool_module.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/trigger_handler.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/triggers/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/py.typed +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/agent/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/agent/agent_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/agent/default_agent.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/base_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/communication/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/communication/communication_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/communication/default_communication.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/communication/grpc_communication.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/cost/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/cost/cost_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/cost/default_cost.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/cost/grpc_cost.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/filesystem/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/identity/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/identity/default_identity.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/identity/identity_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/default_registry.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/exceptions.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/grpc_registry.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/registry_models.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/registry_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/services_config.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/services_models.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/setup/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/setup/default_setup.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/setup/grpc_setup.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/setup/setup_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/snapshot/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/snapshot/default_snapshot.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/snapshot/snapshot_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/storage/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/storage/default_storage.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/storage/grpc_storage.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/storage/storage_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/user_profile/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/__init__.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/arg_parser.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/conditional_schema.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/development_mode_action.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/dynamic_schema.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/llm_ready_schema.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/package_discover.py +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin.egg-info/SOURCES.txt +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin.egg-info/dependency_links.txt +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin.egg-info/requires.txt +0 -0
- {digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin.egg-info/top_level.txt +0 -0
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"Programming Language :: Python",
|
|
26
26
|
"Topic :: Software Development :: Libraries",
|
|
27
27
|
]
|
|
28
|
-
version = "0.3.2.
|
|
28
|
+
version = "0.3.2.dev31"
|
|
29
29
|
|
|
30
30
|
dependencies = [
|
|
31
31
|
"agentic-mesh-protocol==0.2.1.dev0",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"mypy>=1.19.1",
|
|
62
62
|
"pre-commit>=4.5.1",
|
|
63
63
|
"pyright>=1.1.407",
|
|
64
|
-
"ruff>=0.14.
|
|
64
|
+
"ruff>=0.14.14",
|
|
65
65
|
"twine>=6.2.0",
|
|
66
66
|
"typos>=1.40.0",
|
|
67
67
|
]
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/module_server.py
RENAMED
|
@@ -13,7 +13,6 @@ from digitalkin.logger import logger
|
|
|
13
13
|
from digitalkin.models.grpc_servers.models import (
|
|
14
14
|
ClientConfig,
|
|
15
15
|
ModuleServerConfig,
|
|
16
|
-
SecurityMode,
|
|
17
16
|
)
|
|
18
17
|
from digitalkin.modules._base_module import BaseModule
|
|
19
18
|
from digitalkin.services.registry import GrpcRegistry
|
|
@@ -45,8 +44,8 @@ class ModuleServer(BaseServer):
|
|
|
45
44
|
|
|
46
45
|
Args:
|
|
47
46
|
module_class: The module instance to be served.
|
|
48
|
-
server_config: Server configuration
|
|
49
|
-
client_config: Client configuration used by services.
|
|
47
|
+
server_config: Server configuration.
|
|
48
|
+
client_config: Client configuration used by services and registry connection.
|
|
50
49
|
"""
|
|
51
50
|
super().__init__(server_config)
|
|
52
51
|
self.module_class = module_class
|
|
@@ -55,9 +54,6 @@ class ModuleServer(BaseServer):
|
|
|
55
54
|
self.module_servicer: ModuleServicer | None = None
|
|
56
55
|
self.registry: RegistryStrategy | None = None
|
|
57
56
|
|
|
58
|
-
self._registry_client_config: ClientConfig | None = None
|
|
59
|
-
if self.server_config.registry_address:
|
|
60
|
-
self._registry_client_config = self._build_registry_client_config()
|
|
61
57
|
self._prepare_registry_config()
|
|
62
58
|
|
|
63
59
|
def _register_servicers(self) -> None:
|
|
@@ -85,36 +81,17 @@ class ModuleServer(BaseServer):
|
|
|
85
81
|
This ensures ServicesConfig created by JobManager will have registry config,
|
|
86
82
|
allowing spawned module instances to inherit the registry configuration.
|
|
87
83
|
"""
|
|
88
|
-
if not self.
|
|
84
|
+
if not self.client_config:
|
|
89
85
|
return
|
|
90
86
|
|
|
91
|
-
self.module_class.services_config_params["registry"] = {"client_config": self.
|
|
92
|
-
|
|
93
|
-
def _build_registry_client_config(self) -> ClientConfig:
|
|
94
|
-
"""Build ClientConfig for registry from server_config.registry_address.
|
|
95
|
-
|
|
96
|
-
Returns:
|
|
97
|
-
ClientConfig configured for registry connection.
|
|
98
|
-
"""
|
|
99
|
-
host, port = self.server_config.registry_address.rsplit(":", 1)
|
|
100
|
-
return ClientConfig(
|
|
101
|
-
host=host,
|
|
102
|
-
port=int(port),
|
|
103
|
-
mode=self.server_config.mode,
|
|
104
|
-
security=self.client_config.security if self.client_config else SecurityMode.INSECURE,
|
|
105
|
-
credentials=self.client_config.credentials if self.client_config else None,
|
|
106
|
-
)
|
|
87
|
+
self.module_class.services_config_params["registry"] = {"client_config": self.client_config}
|
|
107
88
|
|
|
108
89
|
def _init_registry(self) -> None:
|
|
109
|
-
"""Initialize server-level registry client for registration.
|
|
110
|
-
|
|
111
|
-
Note: services_config_params["registry"] is already set in _prepare_registry_config()
|
|
112
|
-
which runs in __init__(). This method only creates the server-level client instance.
|
|
113
|
-
"""
|
|
114
|
-
if not self._registry_client_config:
|
|
90
|
+
"""Initialize server-level registry client for registration."""
|
|
91
|
+
if not self.client_config:
|
|
115
92
|
return
|
|
116
93
|
|
|
117
|
-
self.registry = GrpcRegistry("", "", "", self.
|
|
94
|
+
self.registry = GrpcRegistry("", "", "", self.client_config)
|
|
118
95
|
|
|
119
96
|
def start(self) -> None:
|
|
120
97
|
"""Start the module server and register with the registry if configured."""
|
|
@@ -170,20 +147,21 @@ class ModuleServer(BaseServer):
|
|
|
170
147
|
)
|
|
171
148
|
return
|
|
172
149
|
|
|
150
|
+
advertise_address = self.server_config.advertise_host or self.server_config.host
|
|
151
|
+
|
|
173
152
|
logger.info(
|
|
174
153
|
"Attempting to register module with registry",
|
|
175
154
|
extra={
|
|
176
155
|
"module_id": module_id,
|
|
177
|
-
"address":
|
|
156
|
+
"address": advertise_address,
|
|
178
157
|
"port": self.server_config.port,
|
|
179
158
|
"version": version,
|
|
180
|
-
"registry_address": self.server_config.registry_address,
|
|
181
159
|
},
|
|
182
160
|
)
|
|
183
161
|
|
|
184
162
|
result = self.registry.register(
|
|
185
163
|
module_id=module_id,
|
|
186
|
-
address=
|
|
164
|
+
address=advertise_address,
|
|
187
165
|
port=self.server_config.port,
|
|
188
166
|
version=version,
|
|
189
167
|
)
|
|
@@ -193,16 +171,12 @@ class ModuleServer(BaseServer):
|
|
|
193
171
|
"Module registered successfully",
|
|
194
172
|
extra={
|
|
195
173
|
"module_id": result.module_id,
|
|
196
|
-
"address":
|
|
174
|
+
"address": advertise_address,
|
|
197
175
|
"port": self.server_config.port,
|
|
198
|
-
"registry_address": self.server_config.registry_address,
|
|
199
176
|
},
|
|
200
177
|
)
|
|
201
178
|
else:
|
|
202
179
|
logger.warning(
|
|
203
180
|
"Module registration returned None (module may not exist in registry)",
|
|
204
|
-
extra={
|
|
205
|
-
"module_id": module_id,
|
|
206
|
-
"registry_address": self.server_config.registry_address,
|
|
207
|
-
},
|
|
181
|
+
extra={"module_id": module_id, "address": advertise_address},
|
|
208
182
|
)
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/grpc_servers/models.py
RENAMED
|
@@ -344,10 +344,12 @@ class ModuleServerConfig(ServerConfig):
|
|
|
344
344
|
"""Configuration for Module gRPC server.
|
|
345
345
|
|
|
346
346
|
Attributes:
|
|
347
|
-
|
|
347
|
+
advertise_host: Public hostname/IP sent to registry for discovery. Falls back to host if not set.
|
|
348
348
|
"""
|
|
349
349
|
|
|
350
|
-
|
|
350
|
+
advertise_host: str | None = Field(
|
|
351
|
+
None, description="Public hostname/IP sent to registry for discovery. Falls back to host if not set."
|
|
352
|
+
)
|
|
351
353
|
|
|
352
354
|
|
|
353
355
|
class RegistryServerConfig(ServerConfig):
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/tool_reference.py
RENAMED
|
@@ -43,7 +43,7 @@ class _ToolReferenceInputSchema:
|
|
|
43
43
|
def __init__(
|
|
44
44
|
self,
|
|
45
45
|
setup_ids: list[str],
|
|
46
|
-
module_ids: list[str],
|
|
46
|
+
module_ids: list[str] | None,
|
|
47
47
|
tag_ids: list[str],
|
|
48
48
|
categories: list[str],
|
|
49
49
|
max_tools: int = 0,
|
|
@@ -77,16 +77,17 @@ class _ToolReferenceInputSchema:
|
|
|
77
77
|
json_schema["ui:widget"] = "toolSelect"
|
|
78
78
|
json_schema["ui:options"] = {
|
|
79
79
|
"setupIds": self.setup_ids,
|
|
80
|
-
"moduleIds": self.module_ids,
|
|
81
80
|
"tagIds": self.tag_ids,
|
|
82
81
|
"categories": self.categories,
|
|
82
|
+
"moduleIds": self.module_ids or [],
|
|
83
|
+
"showModules": self.module_ids is not None,
|
|
83
84
|
}
|
|
84
85
|
return json_schema
|
|
85
86
|
|
|
86
87
|
|
|
87
88
|
def tool_reference_input(
|
|
88
89
|
setup_ids: list[str] = [],
|
|
89
|
-
module_ids: list[str] = [],
|
|
90
|
+
module_ids: list[str] | None = [],
|
|
90
91
|
tag_ids: list[str] = [],
|
|
91
92
|
categories: list[str] = [],
|
|
92
93
|
max_tools: int = 0,
|
|
@@ -59,9 +59,18 @@ class SchemaSplitter:
|
|
|
59
59
|
if items_ui:
|
|
60
60
|
ui_target["items"] = items_ui
|
|
61
61
|
elif key in {"allOf", "oneOf", "anyOf"} and isinstance(value, list):
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
# For oneOf/anyOf, create a mirrored structure in ui_target
|
|
63
|
+
if key in {"oneOf", "anyOf"}:
|
|
64
|
+
ui_target[key] = []
|
|
65
|
+
for item in value:
|
|
66
|
+
if isinstance(item, dict):
|
|
67
|
+
item_ui: dict[str, Any] = {}
|
|
68
|
+
cls._extract_ui_properties(item, item_ui, defs)
|
|
69
|
+
ui_target[key].append(item_ui)
|
|
70
|
+
else: # allOf - merge into parent
|
|
71
|
+
for item in value:
|
|
72
|
+
if isinstance(item, dict):
|
|
73
|
+
cls._extract_ui_properties(item, ui_target, defs)
|
|
65
74
|
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
66
75
|
cls._extract_ui_properties(value, ui_target, defs)
|
|
67
76
|
elif key == "$ref" and isinstance(value, str) and defs is not None and value.startswith("#/$defs/"):
|
|
@@ -132,13 +141,16 @@ class SchemaSplitter:
|
|
|
132
141
|
json_target["allOf"].append(item)
|
|
133
142
|
elif key in {"oneOf", "anyOf"} and isinstance(value, list):
|
|
134
143
|
json_target[key] = []
|
|
144
|
+
ui_target[key] = [] # Mirror structure in ui_schema
|
|
135
145
|
for item in value:
|
|
136
146
|
if isinstance(item, dict):
|
|
137
147
|
item_json_oneof_anyof: dict[str, Any] = {}
|
|
138
148
|
cls._strip_ui_properties(item, item_json_oneof_anyof)
|
|
139
149
|
json_target[key].append(item_json_oneof_anyof)
|
|
140
|
-
# Extract UI properties
|
|
141
|
-
|
|
150
|
+
# Extract UI properties into a separate dict for this variant
|
|
151
|
+
item_ui_oneof_anyof: dict[str, Any] = {}
|
|
152
|
+
cls._extract_ui_properties(item, item_ui_oneof_anyof, schema_defs)
|
|
153
|
+
ui_target[key].append(item_ui_oneof_anyof)
|
|
142
154
|
else:
|
|
143
155
|
json_target[key].append(item)
|
|
144
156
|
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
@@ -200,15 +212,18 @@ class SchemaSplitter:
|
|
|
200
212
|
ui_target["items"] = items_ui
|
|
201
213
|
elif key in {"oneOf", "anyOf"} and isinstance(value, list):
|
|
202
214
|
json_target[key] = []
|
|
215
|
+
ui_target[key] = [] # Mirror structure in ui_schema
|
|
203
216
|
for item in value:
|
|
204
217
|
if isinstance(item, dict):
|
|
205
218
|
item_json_oneof_anyof: dict[str, Any] = {}
|
|
206
219
|
cls._strip_ui_properties(item, item_json_oneof_anyof)
|
|
207
220
|
json_target[key].append(item_json_oneof_anyof)
|
|
208
|
-
# Extract UI properties
|
|
221
|
+
# Extract UI properties for this variant
|
|
222
|
+
item_ui_oneof_anyof: dict[str, Any] = {}
|
|
209
223
|
ref_path = item.get("$ref", "")
|
|
210
224
|
if ref_path.startswith("#/$defs/") and ref_path[8:] in defs_ui:
|
|
211
|
-
|
|
225
|
+
item_ui_oneof_anyof.update(defs_ui[ref_path[8:]])
|
|
226
|
+
ui_target[key].append(item_ui_oneof_anyof)
|
|
212
227
|
else:
|
|
213
228
|
json_target[key].append(item)
|
|
214
229
|
elif key == "hidden":
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/mock/mock_pb2_grpc.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/server_async_insecure.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/server_async_secure.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/server_sync_insecure.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/examples/base_server/server_sync_secure.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/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
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/job_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/job_manager/taskiq_broker.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/task_executor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/core/task_manager/task_session.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/_base_server.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/module_servicer.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/grpc_servers/utils/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/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
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/mixins/chat_history_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/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-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/core/job_manager_models.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/core/task_monitor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/grpc_servers/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/grpc_servers/types.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/base_types.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/module_context.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/module_types.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/setup_types.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/module/tool_cache.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/models/services/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/archetype_module.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/modules/triggers/__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.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/agent/agent_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/agent/default_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/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.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/cost/cost_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/cost/default_cost.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/filesystem/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/identity/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/exceptions.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/registry/grpc_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/services_config.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/services_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/setup/default_setup.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/setup/grpc_setup.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/setup/setup_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/snapshot/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/storage/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/storage/default_storage.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/services/storage/grpc_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/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
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/conditional_schema.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin/utils/development_mode_action.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev29 → digitalkin-0.3.2.dev31}/src/digitalkin.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|