digitalkin 0.3.2.dev19__tar.gz → 0.3.2.dev21__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.dev19 → digitalkin-0.3.2.dev21}/PKG-INFO +1 -1
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/pyproject.toml +1 -1
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/__version__.py +1 -1
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/schema_splitter.py +42 -12
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin.egg-info/PKG-INFO +1 -1
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/LICENSE +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/README.md +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/mock/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/mock/mock_pb2.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/server_async_insecure.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/server_async_secure.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/server_sync_insecure.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/server_sync_secure.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/modules/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/modules/archetype_with_tools_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/modules/cpu_intensive_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/modules/dynamic_setup_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/modules/minimal_llm_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/modules/text_transform_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/monitoring/tests/test_metrics.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/services/filesystem_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/services/storage_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/setup.cfg +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/common/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/common/factories.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/job_manager/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/job_manager/single_job_manager.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/job_manager/taskiq_broker.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/job_manager/taskiq_job_manager.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/surrealdb_repository.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/task_executor.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/task_session.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/_base_server.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/module_server.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/module_servicer.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/logger.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/base_mixin.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/callback_mixin.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/chat_history_mixin.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/cost_mixin.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/file_history_mixin.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/logger_mixin.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/storage_mixin.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/core/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/core/job_manager_models.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/core/task_monitor.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/grpc_servers/models.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/grpc_servers/types.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/base_types.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/module_context.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/module_types.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/setup_types.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/tool_cache.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/tool_reference.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/utility.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/services/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/services/cost.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/services/registry.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/services/storage.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/_base_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/archetype_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/tool_module.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/trigger_handler.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/triggers/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/py.typed +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/agent/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/agent/agent_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/agent/default_agent.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/base_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/communication/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/communication/communication_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/communication/default_communication.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/communication/grpc_communication.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/cost/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/cost/cost_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/cost/default_cost.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/cost/grpc_cost.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/filesystem/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/identity/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/identity/default_identity.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/identity/identity_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/default_registry.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/exceptions.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/grpc_registry.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/registry_models.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/registry_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/services_config.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/services_models.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/setup/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/setup/default_setup.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/setup/grpc_setup.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/setup/setup_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/snapshot/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/snapshot/default_snapshot.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/snapshot/snapshot_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/storage/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/storage/default_storage.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/storage/grpc_storage.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/storage/storage_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/user_profile/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/__init__.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/arg_parser.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/conditional_schema.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/development_mode_action.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/dynamic_schema.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/llm_ready_schema.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/package_discover.py +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin.egg-info/SOURCES.txt +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin.egg-info/dependency_links.txt +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin.egg-info/requires.txt +0 -0
- {digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin.egg-info/top_level.txt +0 -0
|
@@ -17,24 +17,31 @@ class SchemaSplitter:
|
|
|
17
17
|
Tuple of (jsonschema, uischema).
|
|
18
18
|
"""
|
|
19
19
|
defs_ui: dict[str, dict[str, Any]] = {}
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
schema_defs = combined_schema.get("$defs", {})
|
|
21
|
+
if schema_defs:
|
|
22
|
+
for def_name, def_value in schema_defs.items():
|
|
22
23
|
if isinstance(def_value, dict):
|
|
23
24
|
defs_ui[def_name] = {}
|
|
24
|
-
cls._extract_ui_properties(def_value, defs_ui[def_name])
|
|
25
|
+
cls._extract_ui_properties(def_value, defs_ui[def_name], schema_defs)
|
|
25
26
|
|
|
26
27
|
json_schema: dict[str, Any] = {}
|
|
27
28
|
ui_schema: dict[str, Any] = {}
|
|
28
|
-
cls._process_object(combined_schema, json_schema, ui_schema, defs_ui)
|
|
29
|
+
cls._process_object(combined_schema, json_schema, ui_schema, defs_ui, schema_defs)
|
|
29
30
|
return json_schema, ui_schema
|
|
30
31
|
|
|
31
32
|
@classmethod
|
|
32
|
-
def _extract_ui_properties(
|
|
33
|
+
def _extract_ui_properties(
|
|
34
|
+
cls,
|
|
35
|
+
source: dict[str, Any],
|
|
36
|
+
ui_target: dict[str, Any],
|
|
37
|
+
defs: dict[str, Any] | None = None,
|
|
38
|
+
) -> None:
|
|
33
39
|
"""Extract ui:* properties from source into ui_target recursively.
|
|
34
40
|
|
|
35
41
|
Args:
|
|
36
42
|
source: Source dict to extract from.
|
|
37
43
|
ui_target: Target dict for ui properties.
|
|
44
|
+
defs: The $defs dictionary to resolve $ref references.
|
|
38
45
|
"""
|
|
39
46
|
for key, value in source.items():
|
|
40
47
|
if key.startswith("ui:"):
|
|
@@ -43,20 +50,26 @@ class SchemaSplitter:
|
|
|
43
50
|
for prop_name, prop_value in value.items():
|
|
44
51
|
if isinstance(prop_value, dict):
|
|
45
52
|
prop_ui: dict[str, Any] = {}
|
|
46
|
-
cls._extract_ui_properties(prop_value, prop_ui)
|
|
53
|
+
cls._extract_ui_properties(prop_value, prop_ui, defs)
|
|
47
54
|
if prop_ui:
|
|
48
55
|
ui_target[prop_name] = prop_ui
|
|
49
56
|
elif key == "items" and isinstance(value, dict):
|
|
50
57
|
items_ui: dict[str, Any] = {}
|
|
51
|
-
cls._extract_ui_properties(value, items_ui)
|
|
58
|
+
cls._extract_ui_properties(value, items_ui, defs)
|
|
52
59
|
if items_ui:
|
|
53
60
|
ui_target["items"] = items_ui
|
|
54
61
|
elif key == "allOf" and isinstance(value, list):
|
|
55
62
|
for item in value:
|
|
56
63
|
if isinstance(item, dict):
|
|
57
|
-
cls._extract_ui_properties(item, ui_target)
|
|
64
|
+
cls._extract_ui_properties(item, ui_target, defs)
|
|
58
65
|
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
59
|
-
cls._extract_ui_properties(value, ui_target)
|
|
66
|
+
cls._extract_ui_properties(value, ui_target, defs)
|
|
67
|
+
elif key == "$ref" and isinstance(value, str) and defs is not None:
|
|
68
|
+
# Resolve $ref and extract UI properties from the referenced definition
|
|
69
|
+
if value.startswith("#/$defs/"):
|
|
70
|
+
def_name = value[8:]
|
|
71
|
+
if def_name in defs:
|
|
72
|
+
cls._extract_ui_properties(defs[def_name], ui_target, defs)
|
|
60
73
|
|
|
61
74
|
@classmethod
|
|
62
75
|
def _process_object( # noqa: C901, PLR0912
|
|
@@ -65,6 +78,7 @@ class SchemaSplitter:
|
|
|
65
78
|
json_target: dict[str, Any],
|
|
66
79
|
ui_target: dict[str, Any],
|
|
67
80
|
defs_ui: dict[str, dict[str, Any]],
|
|
81
|
+
schema_defs: dict[str, Any] | None = None,
|
|
68
82
|
) -> None:
|
|
69
83
|
"""Process an object, splitting json and ui properties.
|
|
70
84
|
|
|
@@ -73,6 +87,7 @@ class SchemaSplitter:
|
|
|
73
87
|
json_target: Target dict for json schema.
|
|
74
88
|
ui_target: Target dict for ui schema.
|
|
75
89
|
defs_ui: Pre-extracted UI properties from $defs.
|
|
90
|
+
schema_defs: The original $defs dictionary to resolve $ref in _extract_ui_properties.
|
|
76
91
|
"""
|
|
77
92
|
for key, value in source.items():
|
|
78
93
|
if key.startswith("ui:"):
|
|
@@ -81,6 +96,9 @@ class SchemaSplitter:
|
|
|
81
96
|
json_target["properties"] = {}
|
|
82
97
|
for prop_name, prop_value in value.items():
|
|
83
98
|
if isinstance(prop_value, dict):
|
|
99
|
+
# Skip hidden fields
|
|
100
|
+
if prop_value.get("hidden") is True:
|
|
101
|
+
continue
|
|
84
102
|
json_target["properties"][prop_name] = {}
|
|
85
103
|
prop_ui: dict[str, Any] = {}
|
|
86
104
|
cls._process_property(prop_value, json_target["properties"][prop_name], prop_ui, defs_ui)
|
|
@@ -110,14 +128,17 @@ class SchemaSplitter:
|
|
|
110
128
|
cls._strip_ui_properties(item, item_json)
|
|
111
129
|
json_target["allOf"].append(item_json)
|
|
112
130
|
# Extract UI properties from allOf item
|
|
113
|
-
cls._extract_ui_properties(item, ui_target)
|
|
131
|
+
cls._extract_ui_properties(item, ui_target, schema_defs)
|
|
114
132
|
else:
|
|
115
133
|
json_target["allOf"].append(item)
|
|
116
134
|
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
117
135
|
json_target[key] = {}
|
|
118
136
|
cls._strip_ui_properties(value, json_target[key])
|
|
119
137
|
# Extract UI properties from conditional
|
|
120
|
-
cls._extract_ui_properties(value, ui_target)
|
|
138
|
+
cls._extract_ui_properties(value, ui_target, schema_defs)
|
|
139
|
+
elif key == "hidden":
|
|
140
|
+
# Strip hidden key from json schema
|
|
141
|
+
continue
|
|
121
142
|
else:
|
|
122
143
|
json_target[key] = value
|
|
123
144
|
|
|
@@ -151,6 +172,9 @@ class SchemaSplitter:
|
|
|
151
172
|
json_target["properties"] = {}
|
|
152
173
|
for prop_name, prop_value in value.items():
|
|
153
174
|
if isinstance(prop_value, dict):
|
|
175
|
+
# Skip hidden fields
|
|
176
|
+
if prop_value.get("hidden") is True:
|
|
177
|
+
continue
|
|
154
178
|
json_target["properties"][prop_name] = {}
|
|
155
179
|
prop_ui: dict[str, Any] = {}
|
|
156
180
|
cls._process_property(prop_value, json_target["properties"][prop_name], prop_ui, defs_ui)
|
|
@@ -164,6 +188,9 @@ class SchemaSplitter:
|
|
|
164
188
|
cls._process_property(value, json_target["items"], items_ui, defs_ui)
|
|
165
189
|
if items_ui:
|
|
166
190
|
ui_target["items"] = items_ui
|
|
191
|
+
elif key == "hidden":
|
|
192
|
+
# Strip hidden key from json schema
|
|
193
|
+
continue
|
|
167
194
|
else:
|
|
168
195
|
json_target[key] = value
|
|
169
196
|
|
|
@@ -176,12 +203,15 @@ class SchemaSplitter:
|
|
|
176
203
|
json_target: Target dict without ui:* properties.
|
|
177
204
|
"""
|
|
178
205
|
for key, value in source.items():
|
|
179
|
-
if key.startswith("ui:"):
|
|
206
|
+
if key.startswith("ui:") or key == "hidden":
|
|
180
207
|
continue
|
|
181
208
|
if key == "properties" and isinstance(value, dict):
|
|
182
209
|
json_target["properties"] = {}
|
|
183
210
|
for prop_name, prop_value in value.items():
|
|
184
211
|
if isinstance(prop_value, dict):
|
|
212
|
+
# Skip hidden fields
|
|
213
|
+
if prop_value.get("hidden") is True:
|
|
214
|
+
continue
|
|
185
215
|
json_target["properties"][prop_name] = {}
|
|
186
216
|
cls._strip_ui_properties(prop_value, json_target["properties"][prop_name])
|
|
187
217
|
else:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/mock/mock_pb2_grpc.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/server_async_insecure.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/server_async_secure.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/server_sync_insecure.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/examples/base_server/server_sync_secure.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/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.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/job_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/job_manager/taskiq_broker.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/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.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/task_executor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/core/task_manager/task_session.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/_base_server.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/module_server.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/module_servicer.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/grpc_servers/utils/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/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.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/mixins/chat_history_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/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.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/core/job_manager_models.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/core/task_monitor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/grpc_servers/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/grpc_servers/models.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/grpc_servers/types.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/base_types.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/module_context.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/module_types.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/setup_types.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/tool_cache.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/module/tool_reference.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/models/services/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/modules/archetype_module.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/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.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/agent/agent_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/agent/default_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/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.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/cost/cost_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/cost/default_cost.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/filesystem/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/identity/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/exceptions.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/registry/grpc_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/services_config.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/services_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/setup/default_setup.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/setup/grpc_setup.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/setup/setup_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/snapshot/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/storage/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/storage/default_storage.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/services/storage/grpc_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/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.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin/utils/conditional_schema.py
RENAMED
|
File without changes
|
{digitalkin-0.3.2.dev19 → digitalkin-0.3.2.dev21}/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.dev19 → digitalkin-0.3.2.dev21}/src/digitalkin.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|