digitalkin 0.3.4.dev0__tar.gz → 0.3.4.dev1__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.4.dev0 → digitalkin-0.3.4.dev1}/PKG-INFO +1 -1
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/pyproject.toml +1 -1
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/__version__.py +1 -1
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/__init__.py +0 -2
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/module_context.py +2 -18
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/tool_cache.py +51 -45
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/_base_module.py +11 -5
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin.egg-info/PKG-INFO +1 -1
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/LICENSE +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/README.md +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/mock/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/mock/mock_pb2.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/server_async_insecure.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/server_async_secure.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/server_sync_insecure.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/server_sync_secure.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/modules/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/modules/archetype_with_tools_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/modules/cpu_intensive_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/modules/dynamic_setup_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/modules/minimal_llm_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/modules/text_transform_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/monitoring/tests/test_metrics.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/services/filesystem_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/services/storage_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/setup.cfg +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/common/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/common/factories.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/job_manager/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/job_manager/single_job_manager.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/job_manager/taskiq_broker.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/job_manager/taskiq_job_manager.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/profiling/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/profiling/asyncio_monitor.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/profiling/task_profiler.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/task_executor.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/task_session.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/_base_server.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/module_server.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/module_servicer.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/logger.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/base_mixin.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/callback_mixin.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/chat_history_mixin.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/cost_mixin.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/file_history_mixin.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/logger_mixin.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/mixins/storage_mixin.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/core/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/core/job_manager_models.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/core/task_monitor.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/grpc_servers/models.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/grpc_servers/types.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/base_types.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/module_types.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/request_metadata.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/select_schema.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/setup_types.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/tool_reference.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/utility.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/services/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/services/cost.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/services/registry.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/services/storage.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/archetype_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/tool_module.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/trigger_handler.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/triggers/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/py.typed +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/agent/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/agent/agent_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/agent/default_agent.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/base_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/communication/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/communication/communication_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/communication/default_communication.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/communication/grpc_communication.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/cost/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/cost/cost_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/cost/default_cost.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/cost/grpc_cost.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/filesystem/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/identity/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/identity/default_identity.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/identity/identity_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/default_registry.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/exceptions.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/grpc_registry.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/registry_models.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/registry_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/services_config.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/services_models.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/setup/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/setup/default_setup.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/setup/grpc_setup.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/setup/setup_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/snapshot/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/snapshot/default_snapshot.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/snapshot/snapshot_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/storage/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/storage/default_storage.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/storage/grpc_storage.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/storage/storage_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/task_manager/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/task_manager/default_task_manager.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/task_manager/grpc_task_manager.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/task_manager/task_manager_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/user_profile/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/__init__.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/arg_parser.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/conditional_schema.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/development_mode_action.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/dynamic_schema.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/llm_ready_schema.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/package_discover.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/proto_utils.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/schema_splitter.py +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin.egg-info/SOURCES.txt +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin.egg-info/dependency_links.txt +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin.egg-info/requires.txt +0 -0
- {digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin.egg-info/top_level.txt +0 -0
|
@@ -12,7 +12,6 @@ from digitalkin.models.module.tool_cache import (
|
|
|
12
12
|
ToolCache,
|
|
13
13
|
ToolDefinition,
|
|
14
14
|
ToolModuleInfo,
|
|
15
|
-
ToolParameter,
|
|
16
15
|
)
|
|
17
16
|
from digitalkin.models.module.tool_reference import (
|
|
18
17
|
ToolReference,
|
|
@@ -38,7 +37,6 @@ __all__ = [
|
|
|
38
37
|
"ToolCache",
|
|
39
38
|
"ToolDefinition",
|
|
40
39
|
"ToolModuleInfo",
|
|
41
|
-
"ToolParameter",
|
|
42
40
|
"ToolReference",
|
|
43
41
|
"ToolSelection",
|
|
44
42
|
"UtilityProtocol",
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/module_context.py
RENAMED
|
@@ -9,7 +9,7 @@ from zoneinfo import ZoneInfo
|
|
|
9
9
|
|
|
10
10
|
from digitalkin.logger import logger
|
|
11
11
|
from digitalkin.models.module.request_metadata import RequestMetadata
|
|
12
|
-
from digitalkin.models.module.tool_cache import ToolCache, ToolDefinition, ToolModuleInfo
|
|
12
|
+
from digitalkin.models.module.tool_cache import ToolCache, ToolDefinition, ToolModuleInfo
|
|
13
13
|
from digitalkin.services.agent.agent_strategy import AgentStrategy
|
|
14
14
|
from digitalkin.services.communication.communication_strategy import CommunicationStrategy
|
|
15
15
|
from digitalkin.services.cost.cost_strategy import CostStrategy
|
|
@@ -225,29 +225,13 @@ class ModuleContext:
|
|
|
225
225
|
"toolkit_name": tool_module_info.tool_name or "undefined",
|
|
226
226
|
"name": tool_module_info.slug + "__" + tool_def.name,
|
|
227
227
|
"description": tool_def.description + cost_description,
|
|
228
|
-
"parameters":
|
|
228
|
+
"parameters": tool_def.parameters_schema,
|
|
229
229
|
},
|
|
230
230
|
"cost_info": cost_info,
|
|
231
231
|
}
|
|
232
232
|
for tool_def in tool_module_info.tools
|
|
233
233
|
]
|
|
234
234
|
|
|
235
|
-
@staticmethod
|
|
236
|
-
def _build_parameters_schema(params: list[ToolParameter]) -> dict[str, Any]:
|
|
237
|
-
"""Convert ToolParameter list to JSON Schema.
|
|
238
|
-
|
|
239
|
-
Args:
|
|
240
|
-
params: List of tool parameters.
|
|
241
|
-
|
|
242
|
-
Returns:
|
|
243
|
-
JSON Schema object with properties and required fields.
|
|
244
|
-
"""
|
|
245
|
-
return {
|
|
246
|
-
"type": "object",
|
|
247
|
-
"properties": {p.name: {"type": p.type, "description": p.description or ""} for p in params},
|
|
248
|
-
"required": [p.name for p in params if p.required],
|
|
249
|
-
}
|
|
250
|
-
|
|
251
235
|
@staticmethod
|
|
252
236
|
def _build_cost_info(cost_config: dict[str, Any]) -> dict[str, Any]:
|
|
253
237
|
"""Build cost information structure for tool metadata.
|
|
@@ -7,6 +7,7 @@ from pydantic import BaseModel, Field
|
|
|
7
7
|
|
|
8
8
|
from digitalkin.logger import logger
|
|
9
9
|
from digitalkin.models.services.registry import ModuleInfo
|
|
10
|
+
from digitalkin.utils.llm_ready_schema import inline_refs
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
class SelectedTool(BaseModel):
|
|
@@ -22,40 +23,30 @@ if TYPE_CHECKING:
|
|
|
22
23
|
from digitalkin.services.communication import CommunicationStrategy
|
|
23
24
|
|
|
24
25
|
|
|
25
|
-
class ToolParameter(BaseModel):
|
|
26
|
-
"""Definition of a single tool parameter.
|
|
27
|
-
|
|
28
|
-
Attributes:
|
|
29
|
-
name: Parameter name.
|
|
30
|
-
type: JSON Schema type (string, integer, number, boolean, array, object).
|
|
31
|
-
description: Parameter description for the LLM.
|
|
32
|
-
required: Whether this parameter is required.
|
|
33
|
-
enum: Optional list of allowed values.
|
|
34
|
-
items: Optional schema for array item types.
|
|
35
|
-
properties: Optional schema for object properties.
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
name: str
|
|
39
|
-
type: str
|
|
40
|
-
description: str
|
|
41
|
-
required: bool = True
|
|
42
|
-
enum: list[str] | None = None
|
|
43
|
-
items: dict[str, Any] | None = None
|
|
44
|
-
properties: dict[str, Any] | None = None
|
|
45
|
-
|
|
46
|
-
|
|
47
26
|
class ToolDefinition(BaseModel):
|
|
48
|
-
"""Complete definition of an LLM tool with
|
|
27
|
+
"""Complete definition of an LLM tool with resolved JSON Schema parameters.
|
|
49
28
|
|
|
50
29
|
Attributes:
|
|
51
30
|
name: Tool name (from protocol const or trigger class name).
|
|
52
31
|
description: Tool description (from trigger docstring).
|
|
53
|
-
|
|
32
|
+
parameters_schema: JSON Schema object describing the tool's parameters.
|
|
54
33
|
"""
|
|
55
34
|
|
|
56
35
|
name: str
|
|
57
36
|
description: str
|
|
58
|
-
|
|
37
|
+
parameters_schema: dict[str, Any] = Field(
|
|
38
|
+
default_factory=lambda: {"type": "object", "properties": {}, "required": []}
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
@property
|
|
42
|
+
def parameter_names(self) -> set[str]:
|
|
43
|
+
"""Return the set of parameter names from the schema."""
|
|
44
|
+
return set[str](self.parameters_schema.get("properties", {}).keys())
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def parameter_count(self) -> int:
|
|
48
|
+
"""Return the number of parameters in the schema."""
|
|
49
|
+
return len(self.parameters_schema.get("properties", {}))
|
|
59
50
|
|
|
60
51
|
|
|
61
52
|
class ToolModuleInfo(ModuleInfo):
|
|
@@ -192,14 +183,44 @@ async def module_info_to_tool_module_info(
|
|
|
192
183
|
)
|
|
193
184
|
|
|
194
185
|
|
|
186
|
+
def _build_parameters_from_schema(def_schema: dict[str, Any]) -> dict[str, Any]:
|
|
187
|
+
"""Build parameters_schema directly from an inlined JSON Schema.
|
|
188
|
+
|
|
189
|
+
Extracts tool parameters from the trigger's JSON Schema, skipping
|
|
190
|
+
internal fields (``protocol``, ``created_at``).
|
|
191
|
+
|
|
192
|
+
Args:
|
|
193
|
+
def_schema: JSON Schema for the trigger with all ``$ref`` already inlined.
|
|
194
|
+
|
|
195
|
+
Returns:
|
|
196
|
+
JSON Schema dict with properties and required fields.
|
|
197
|
+
"""
|
|
198
|
+
properties = def_schema.get("properties", {})
|
|
199
|
+
required_fields = set[Any](def_schema.get("required", []))
|
|
200
|
+
param_properties: dict[str, Any] = {}
|
|
201
|
+
required_list: list[str] = []
|
|
202
|
+
|
|
203
|
+
for prop_name, prop_info in properties.items():
|
|
204
|
+
if prop_name in {"protocol", "created_at"}:
|
|
205
|
+
continue
|
|
206
|
+
param_properties[prop_name] = dict[Any, Any](prop_info.items())
|
|
207
|
+
if prop_name in required_fields:
|
|
208
|
+
required_list.append(prop_name)
|
|
209
|
+
|
|
210
|
+
return {"type": "object", "properties": param_properties, "required": required_list}
|
|
211
|
+
|
|
212
|
+
|
|
195
213
|
def _extract_tools_from_schema(schema: dict[str, Any]) -> list[ToolDefinition]:
|
|
196
214
|
"""Extract tool definitions from a discriminated union input schema.
|
|
197
215
|
|
|
216
|
+
Inlines ``$ref`` references and extracts parameters directly from the
|
|
217
|
+
JSON Schema — no intermediate Python model reconstruction needed.
|
|
218
|
+
|
|
198
219
|
Args:
|
|
199
220
|
schema: JSON schema with $defs containing protocol-based types.
|
|
200
221
|
|
|
201
222
|
Returns:
|
|
202
|
-
List of ToolDefinition with
|
|
223
|
+
List of ToolDefinition with parameters_schema per trigger.
|
|
203
224
|
"""
|
|
204
225
|
tools: list[ToolDefinition] = []
|
|
205
226
|
defs = schema.get("$defs", {})
|
|
@@ -220,33 +241,18 @@ def _extract_tools_from_schema(schema: dict[str, Any]) -> list[ToolDefinition]:
|
|
|
220
241
|
if "const" not in protocol_prop:
|
|
221
242
|
continue
|
|
222
243
|
|
|
223
|
-
# Extract tool-level info from trigger
|
|
224
244
|
tool_name = protocol_prop.get("const", def_name)
|
|
225
245
|
tool_description = def_schema.get("description", "")
|
|
226
246
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
for prop_name, prop_info in properties.items():
|
|
231
|
-
if prop_name in {"protocol", "created_at"}:
|
|
232
|
-
continue
|
|
233
|
-
|
|
234
|
-
param = ToolParameter(
|
|
235
|
-
name=prop_name,
|
|
236
|
-
type=prop_info.get("type", "string"),
|
|
237
|
-
description=prop_info.get("description", ""),
|
|
238
|
-
required=prop_name in required_fields,
|
|
239
|
-
enum=prop_info.get("enum"),
|
|
240
|
-
items=prop_info.get("items"),
|
|
241
|
-
properties=prop_info.get("properties"),
|
|
242
|
-
)
|
|
243
|
-
parameters.append(param)
|
|
247
|
+
# Inline $ref references so properties are self-contained
|
|
248
|
+
inlined = inline_refs({**def_schema, "$defs": defs})
|
|
249
|
+
parameters_schema = _build_parameters_from_schema(inlined)
|
|
244
250
|
|
|
245
251
|
tools.append(
|
|
246
252
|
ToolDefinition(
|
|
247
253
|
name=tool_name,
|
|
248
254
|
description=tool_description,
|
|
249
|
-
|
|
255
|
+
parameters_schema=parameters_schema,
|
|
250
256
|
)
|
|
251
257
|
)
|
|
252
258
|
|
|
@@ -626,12 +626,18 @@ class BaseModule( # Module SDK base class requires many public methods # noqa:
|
|
|
626
626
|
await handler.flush_file_history(self.context)
|
|
627
627
|
except Exception:
|
|
628
628
|
logger.warning("Failed to flush handler history during stop", exc_info=True)
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
629
|
+
try:
|
|
630
|
+
await self.context.callbacks.send_message(
|
|
631
|
+
DataModel[EndOfStreamOutput](
|
|
632
|
+
root=EndOfStreamOutput(),
|
|
633
|
+
annotations={"role": BaseRole.SYSTEM},
|
|
634
|
+
)
|
|
635
|
+
)
|
|
636
|
+
except AttributeError:
|
|
637
|
+
logger.warning(
|
|
638
|
+
"send_message callback not set, skipping end-of-stream"
|
|
639
|
+
" (expected for start_config_setup which does not register send_message)"
|
|
633
640
|
)
|
|
634
|
-
)
|
|
635
641
|
self._status = ModuleStatus.STOPPED
|
|
636
642
|
logger.debug("Module %s cleaned", self.name)
|
|
637
643
|
except Exception:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/server_async_insecure.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/examples/base_server/server_sync_insecure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/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
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/job_manager/base_job_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/job_manager/taskiq_broker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/profiling/asyncio_monitor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/profiling/task_profiler.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/task_executor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/core/task_manager/task_session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/module_server.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/module_servicer.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/utils/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/grpc_servers/utils/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/core/job_manager_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/grpc_servers/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/grpc_servers/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/module_types.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/request_metadata.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/select_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/models/module/tool_reference.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/agent/agent_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/agent/default_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/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.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/cost/cost_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/cost/default_cost.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/filesystem/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/identity/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/identity/default_identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/default_registry.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/exceptions.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/grpc_registry.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/registry/registry_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/setup/default_setup.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/setup/setup_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/snapshot/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/snapshot/default_snapshot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/storage/default_storage.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/storage/grpc_storage.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/storage/storage_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/services/user_profile/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin/utils/development_mode_action.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.4.dev0 → digitalkin-0.3.4.dev1}/src/digitalkin.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|