digitalkin 0.3.1.dev2__py3-none-any.whl → 0.3.2.dev14__py3-none-any.whl
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.
- base_server/server_async_insecure.py +6 -5
- base_server/server_async_secure.py +6 -5
- base_server/server_sync_insecure.py +5 -4
- base_server/server_sync_secure.py +5 -4
- digitalkin/__version__.py +1 -1
- digitalkin/core/job_manager/base_job_manager.py +1 -1
- digitalkin/core/job_manager/single_job_manager.py +28 -9
- digitalkin/core/job_manager/taskiq_broker.py +7 -6
- digitalkin/core/job_manager/taskiq_job_manager.py +1 -1
- digitalkin/core/task_manager/surrealdb_repository.py +7 -7
- digitalkin/core/task_manager/task_session.py +60 -98
- digitalkin/grpc_servers/module_server.py +109 -168
- digitalkin/grpc_servers/module_servicer.py +38 -16
- digitalkin/grpc_servers/utils/grpc_client_wrapper.py +24 -8
- digitalkin/grpc_servers/utils/utility_schema_extender.py +100 -0
- digitalkin/models/__init__.py +1 -1
- digitalkin/models/core/job_manager_models.py +0 -8
- digitalkin/models/core/task_monitor.py +4 -0
- digitalkin/models/grpc_servers/models.py +91 -6
- digitalkin/models/module/__init__.py +18 -13
- digitalkin/models/module/base_types.py +61 -0
- digitalkin/models/module/module_context.py +173 -13
- digitalkin/models/module/module_types.py +28 -392
- digitalkin/models/module/setup_types.py +490 -0
- digitalkin/models/module/tool_cache.py +68 -0
- digitalkin/models/module/tool_reference.py +117 -0
- digitalkin/models/module/utility.py +167 -0
- digitalkin/models/services/registry.py +35 -0
- digitalkin/modules/__init__.py +5 -1
- digitalkin/modules/_base_module.py +154 -61
- digitalkin/modules/archetype_module.py +6 -1
- digitalkin/modules/tool_module.py +6 -1
- digitalkin/modules/triggers/__init__.py +8 -0
- digitalkin/modules/triggers/healthcheck_ping_trigger.py +45 -0
- digitalkin/modules/triggers/healthcheck_services_trigger.py +63 -0
- digitalkin/modules/triggers/healthcheck_status_trigger.py +52 -0
- digitalkin/services/__init__.py +4 -0
- digitalkin/services/communication/__init__.py +7 -0
- digitalkin/services/communication/communication_strategy.py +76 -0
- digitalkin/services/communication/default_communication.py +101 -0
- digitalkin/services/communication/grpc_communication.py +234 -0
- digitalkin/services/cost/grpc_cost.py +1 -1
- digitalkin/services/filesystem/grpc_filesystem.py +1 -1
- digitalkin/services/registry/__init__.py +22 -1
- digitalkin/services/registry/default_registry.py +135 -4
- digitalkin/services/registry/exceptions.py +47 -0
- digitalkin/services/registry/grpc_registry.py +306 -0
- digitalkin/services/registry/registry_models.py +15 -0
- digitalkin/services/registry/registry_strategy.py +88 -4
- digitalkin/services/services_config.py +25 -3
- digitalkin/services/services_models.py +5 -1
- digitalkin/services/setup/default_setup.py +1 -1
- digitalkin/services/setup/grpc_setup.py +1 -1
- digitalkin/services/storage/grpc_storage.py +1 -1
- digitalkin/services/user_profile/__init__.py +11 -0
- digitalkin/services/user_profile/grpc_user_profile.py +2 -2
- digitalkin/services/user_profile/user_profile_strategy.py +0 -15
- digitalkin/utils/schema_splitter.py +207 -0
- {digitalkin-0.3.1.dev2.dist-info → digitalkin-0.3.2.dev14.dist-info}/METADATA +5 -5
- digitalkin-0.3.2.dev14.dist-info/RECORD +143 -0
- {digitalkin-0.3.1.dev2.dist-info → digitalkin-0.3.2.dev14.dist-info}/top_level.txt +1 -0
- modules/archetype_with_tools_module.py +244 -0
- modules/cpu_intensive_module.py +1 -1
- modules/dynamic_setup_module.py +5 -29
- modules/minimal_llm_module.py +1 -1
- modules/text_transform_module.py +1 -1
- monitoring/digitalkin_observability/__init__.py +46 -0
- monitoring/digitalkin_observability/http_server.py +150 -0
- monitoring/digitalkin_observability/interceptors.py +176 -0
- monitoring/digitalkin_observability/metrics.py +201 -0
- monitoring/digitalkin_observability/prometheus.py +137 -0
- monitoring/tests/test_metrics.py +172 -0
- services/filesystem_module.py +7 -5
- services/storage_module.py +4 -2
- digitalkin/grpc_servers/registry_server.py +0 -65
- digitalkin/grpc_servers/registry_servicer.py +0 -456
- digitalkin-0.3.1.dev2.dist-info/RECORD +0 -119
- {digitalkin-0.3.1.dev2.dist-info → digitalkin-0.3.2.dev14.dist-info}/WHEEL +0 -0
- {digitalkin-0.3.1.dev2.dist-info → digitalkin-0.3.2.dev14.dist-info}/licenses/LICENSE +0 -0
|
@@ -7,23 +7,27 @@ from pydantic import BaseModel
|
|
|
7
7
|
|
|
8
8
|
from digitalkin.logger import logger
|
|
9
9
|
from digitalkin.services.agent import AgentStrategy
|
|
10
|
+
from digitalkin.services.communication import CommunicationStrategy
|
|
10
11
|
from digitalkin.services.cost import CostStrategy
|
|
11
12
|
from digitalkin.services.filesystem import FilesystemStrategy
|
|
12
13
|
from digitalkin.services.identity import IdentityStrategy
|
|
13
14
|
from digitalkin.services.registry import RegistryStrategy
|
|
14
15
|
from digitalkin.services.snapshot import SnapshotStrategy
|
|
15
16
|
from digitalkin.services.storage import StorageStrategy
|
|
17
|
+
from digitalkin.services.user_profile import UserProfileStrategy
|
|
16
18
|
|
|
17
19
|
# Define type variables
|
|
18
20
|
T = TypeVar(
|
|
19
21
|
"T",
|
|
20
22
|
bound=AgentStrategy
|
|
23
|
+
| CommunicationStrategy
|
|
21
24
|
| CostStrategy
|
|
22
25
|
| FilesystemStrategy
|
|
23
26
|
| IdentityStrategy
|
|
24
27
|
| RegistryStrategy
|
|
25
28
|
| SnapshotStrategy
|
|
26
|
-
| StorageStrategy
|
|
29
|
+
| StorageStrategy
|
|
30
|
+
| UserProfileStrategy,
|
|
27
31
|
)
|
|
28
32
|
|
|
29
33
|
|
|
@@ -173,7 +173,7 @@ class DefaultSetup(SetupStrategy):
|
|
|
173
173
|
return [
|
|
174
174
|
value
|
|
175
175
|
for value in self.setup_versions[setup_version_dict["setup_id"]].values()
|
|
176
|
-
if setup_version_dict["query_versions"] in value.version
|
|
176
|
+
if setup_version_dict["query_versions"] in value.version
|
|
177
177
|
]
|
|
178
178
|
|
|
179
179
|
def update_setup_version(self, setup_version_dict: dict[str, Any]) -> bool:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""This module implements the default storage strategy."""
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from agentic_mesh_protocol.storage.v1 import data_pb2, storage_service_pb2_grpc
|
|
4
4
|
from google.protobuf import json_format
|
|
5
5
|
from google.protobuf.struct_pb2 import Struct
|
|
6
6
|
from pydantic import BaseModel
|
|
@@ -1 +1,12 @@
|
|
|
1
1
|
"""UserProfile service package."""
|
|
2
|
+
|
|
3
|
+
from digitalkin.services.user_profile.default_user_profile import DefaultUserProfile
|
|
4
|
+
from digitalkin.services.user_profile.grpc_user_profile import GrpcUserProfile
|
|
5
|
+
from digitalkin.services.user_profile.user_profile_strategy import UserProfileServiceError, UserProfileStrategy
|
|
6
|
+
|
|
7
|
+
__all__ = [
|
|
8
|
+
"DefaultUserProfile",
|
|
9
|
+
"GrpcUserProfile",
|
|
10
|
+
"UserProfileServiceError",
|
|
11
|
+
"UserProfileStrategy",
|
|
12
|
+
]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from agentic_mesh_protocol.user_profile.v1 import (
|
|
6
6
|
user_profile_pb2,
|
|
7
7
|
user_profile_service_pb2_grpc,
|
|
8
8
|
)
|
|
@@ -49,7 +49,7 @@ class GrpcUserProfile(UserProfileStrategy, GrpcClientWrapper, GrpcErrorHandlerMi
|
|
|
49
49
|
ServerError: If gRPC operation fails
|
|
50
50
|
"""
|
|
51
51
|
with self.handle_grpc_errors("GetUserProfile", UserProfileServiceError):
|
|
52
|
-
# mission_id
|
|
52
|
+
# mission_id typically contains user context
|
|
53
53
|
request = user_profile_pb2.GetUserProfileRequest(mission_id=self.mission_id)
|
|
54
54
|
response = self.exec_grpc_query("GetUserProfile", request)
|
|
55
55
|
|
|
@@ -13,21 +13,6 @@ class UserProfileServiceError(Exception):
|
|
|
13
13
|
class UserProfileStrategy(BaseStrategy, ABC):
|
|
14
14
|
"""Abstract base class for UserProfile strategies."""
|
|
15
15
|
|
|
16
|
-
def __init__(
|
|
17
|
-
self,
|
|
18
|
-
mission_id: str,
|
|
19
|
-
setup_id: str,
|
|
20
|
-
setup_version_id: str,
|
|
21
|
-
) -> None:
|
|
22
|
-
"""Initialize the strategy.
|
|
23
|
-
|
|
24
|
-
Args:
|
|
25
|
-
mission_id: The ID of the mission this strategy is associated with
|
|
26
|
-
setup_id: The ID of the setup
|
|
27
|
-
setup_version_id: The ID of the setup version this strategy is associated with
|
|
28
|
-
"""
|
|
29
|
-
super().__init__(mission_id, setup_id, setup_version_id)
|
|
30
|
-
|
|
31
16
|
@abstractmethod
|
|
32
17
|
def get_user_profile(self) -> dict[str, Any]:
|
|
33
18
|
"""Get user profile data.
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"""Schema splitter for react-jsonschema-form."""
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class SchemaSplitter:
|
|
7
|
+
"""Splits a combined JSON schema into jsonschema and uischema for react-jsonschema-form."""
|
|
8
|
+
|
|
9
|
+
@classmethod
|
|
10
|
+
def split(cls, combined_schema: dict[str, Any]) -> tuple[dict[str, Any], dict[str, Any]]:
|
|
11
|
+
"""Split schema into (jsonschema, uischema).
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
combined_schema: Combined JSON schema with ui:* properties.
|
|
15
|
+
|
|
16
|
+
Returns:
|
|
17
|
+
Tuple of (jsonschema, uischema).
|
|
18
|
+
"""
|
|
19
|
+
defs_ui: dict[str, dict[str, Any]] = {}
|
|
20
|
+
if "$defs" in combined_schema:
|
|
21
|
+
for def_name, def_value in combined_schema["$defs"].items():
|
|
22
|
+
if isinstance(def_value, dict):
|
|
23
|
+
defs_ui[def_name] = {}
|
|
24
|
+
cls._extract_ui_properties(def_value, defs_ui[def_name])
|
|
25
|
+
|
|
26
|
+
json_schema: dict[str, Any] = {}
|
|
27
|
+
ui_schema: dict[str, Any] = {}
|
|
28
|
+
cls._process_object(combined_schema, json_schema, ui_schema, defs_ui)
|
|
29
|
+
return json_schema, ui_schema
|
|
30
|
+
|
|
31
|
+
@classmethod
|
|
32
|
+
def _extract_ui_properties(cls, source: dict[str, Any], ui_target: dict[str, Any]) -> None: # noqa: C901
|
|
33
|
+
"""Extract ui:* properties from source into ui_target recursively.
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
source: Source dict to extract from.
|
|
37
|
+
ui_target: Target dict for ui properties.
|
|
38
|
+
"""
|
|
39
|
+
for key, value in source.items():
|
|
40
|
+
if key.startswith("ui:"):
|
|
41
|
+
ui_target[key] = value
|
|
42
|
+
elif key == "properties" and isinstance(value, dict):
|
|
43
|
+
for prop_name, prop_value in value.items():
|
|
44
|
+
if isinstance(prop_value, dict):
|
|
45
|
+
prop_ui: dict[str, Any] = {}
|
|
46
|
+
cls._extract_ui_properties(prop_value, prop_ui)
|
|
47
|
+
if prop_ui:
|
|
48
|
+
ui_target[prop_name] = prop_ui
|
|
49
|
+
elif key == "items" and isinstance(value, dict):
|
|
50
|
+
items_ui: dict[str, Any] = {}
|
|
51
|
+
cls._extract_ui_properties(value, items_ui)
|
|
52
|
+
if items_ui:
|
|
53
|
+
ui_target["items"] = items_ui
|
|
54
|
+
elif key == "allOf" and isinstance(value, list):
|
|
55
|
+
for item in value:
|
|
56
|
+
if isinstance(item, dict):
|
|
57
|
+
cls._extract_ui_properties(item, ui_target)
|
|
58
|
+
|
|
59
|
+
@classmethod
|
|
60
|
+
def _process_object( # noqa: C901, PLR0912
|
|
61
|
+
cls,
|
|
62
|
+
source: dict[str, Any],
|
|
63
|
+
json_target: dict[str, Any],
|
|
64
|
+
ui_target: dict[str, Any],
|
|
65
|
+
defs_ui: dict[str, dict[str, Any]],
|
|
66
|
+
) -> None:
|
|
67
|
+
"""Process an object, splitting json and ui properties.
|
|
68
|
+
|
|
69
|
+
Args:
|
|
70
|
+
source: Source object to process.
|
|
71
|
+
json_target: Target dict for json schema.
|
|
72
|
+
ui_target: Target dict for ui schema.
|
|
73
|
+
defs_ui: Pre-extracted UI properties from $defs.
|
|
74
|
+
"""
|
|
75
|
+
for key, value in source.items():
|
|
76
|
+
if key.startswith("ui:"):
|
|
77
|
+
ui_target[key] = value
|
|
78
|
+
elif key == "properties" and isinstance(value, dict):
|
|
79
|
+
json_target["properties"] = {}
|
|
80
|
+
for prop_name, prop_value in value.items():
|
|
81
|
+
if isinstance(prop_value, dict):
|
|
82
|
+
json_target["properties"][prop_name] = {}
|
|
83
|
+
prop_ui: dict[str, Any] = {}
|
|
84
|
+
cls._process_property(prop_value, json_target["properties"][prop_name], prop_ui, defs_ui)
|
|
85
|
+
if prop_ui:
|
|
86
|
+
ui_target[prop_name] = prop_ui
|
|
87
|
+
else:
|
|
88
|
+
json_target["properties"][prop_name] = prop_value
|
|
89
|
+
elif key == "$defs" and isinstance(value, dict):
|
|
90
|
+
json_target["$defs"] = {}
|
|
91
|
+
for def_name, def_value in value.items():
|
|
92
|
+
if isinstance(def_value, dict):
|
|
93
|
+
json_target["$defs"][def_name] = {}
|
|
94
|
+
cls._strip_ui_properties(def_value, json_target["$defs"][def_name])
|
|
95
|
+
else:
|
|
96
|
+
json_target["$defs"][def_name] = def_value
|
|
97
|
+
elif key == "items" and isinstance(value, dict):
|
|
98
|
+
json_target["items"] = {}
|
|
99
|
+
items_ui: dict[str, Any] = {}
|
|
100
|
+
cls._process_property(value, json_target["items"], items_ui, defs_ui)
|
|
101
|
+
if items_ui:
|
|
102
|
+
ui_target["items"] = items_ui
|
|
103
|
+
elif key == "allOf" and isinstance(value, list):
|
|
104
|
+
json_target["allOf"] = []
|
|
105
|
+
for item in value:
|
|
106
|
+
if isinstance(item, dict):
|
|
107
|
+
item_json: dict[str, Any] = {}
|
|
108
|
+
cls._strip_ui_properties(item, item_json)
|
|
109
|
+
json_target["allOf"].append(item_json)
|
|
110
|
+
else:
|
|
111
|
+
json_target["allOf"].append(item)
|
|
112
|
+
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
113
|
+
json_target[key] = {}
|
|
114
|
+
cls._strip_ui_properties(value, json_target[key])
|
|
115
|
+
else:
|
|
116
|
+
json_target[key] = value
|
|
117
|
+
|
|
118
|
+
@classmethod
|
|
119
|
+
def _process_property( # noqa: C901, PLR0912
|
|
120
|
+
cls,
|
|
121
|
+
source: dict[str, Any],
|
|
122
|
+
json_target: dict[str, Any],
|
|
123
|
+
ui_target: dict[str, Any],
|
|
124
|
+
defs_ui: dict[str, dict[str, Any]],
|
|
125
|
+
) -> None:
|
|
126
|
+
"""Process a property, resolving $ref for UI properties.
|
|
127
|
+
|
|
128
|
+
Args:
|
|
129
|
+
source: Source property dict.
|
|
130
|
+
json_target: Target dict for json schema.
|
|
131
|
+
ui_target: Target dict for ui schema.
|
|
132
|
+
defs_ui: Pre-extracted UI properties from $defs.
|
|
133
|
+
"""
|
|
134
|
+
if "$ref" in source:
|
|
135
|
+
ref_path = source["$ref"]
|
|
136
|
+
if ref_path.startswith("#/$defs/"):
|
|
137
|
+
def_name = ref_path[8:]
|
|
138
|
+
if def_name in defs_ui:
|
|
139
|
+
ui_target.update(defs_ui[def_name])
|
|
140
|
+
|
|
141
|
+
for key, value in source.items():
|
|
142
|
+
if key.startswith("ui:"):
|
|
143
|
+
ui_target[key] = value
|
|
144
|
+
elif key == "properties" and isinstance(value, dict):
|
|
145
|
+
json_target["properties"] = {}
|
|
146
|
+
for prop_name, prop_value in value.items():
|
|
147
|
+
if isinstance(prop_value, dict):
|
|
148
|
+
json_target["properties"][prop_name] = {}
|
|
149
|
+
prop_ui: dict[str, Any] = {}
|
|
150
|
+
cls._process_property(prop_value, json_target["properties"][prop_name], prop_ui, defs_ui)
|
|
151
|
+
if prop_ui:
|
|
152
|
+
ui_target[prop_name] = prop_ui
|
|
153
|
+
else:
|
|
154
|
+
json_target["properties"][prop_name] = prop_value
|
|
155
|
+
elif key == "items" and isinstance(value, dict):
|
|
156
|
+
json_target["items"] = {}
|
|
157
|
+
items_ui: dict[str, Any] = {}
|
|
158
|
+
cls._process_property(value, json_target["items"], items_ui, defs_ui)
|
|
159
|
+
if items_ui:
|
|
160
|
+
ui_target["items"] = items_ui
|
|
161
|
+
else:
|
|
162
|
+
json_target[key] = value
|
|
163
|
+
|
|
164
|
+
@classmethod
|
|
165
|
+
def _strip_ui_properties(cls, source: dict[str, Any], json_target: dict[str, Any]) -> None: # noqa: C901, PLR0912
|
|
166
|
+
"""Copy source to json_target, stripping ui:* properties.
|
|
167
|
+
|
|
168
|
+
Args:
|
|
169
|
+
source: Source dict.
|
|
170
|
+
json_target: Target dict without ui:* properties.
|
|
171
|
+
"""
|
|
172
|
+
for key, value in source.items():
|
|
173
|
+
if key.startswith("ui:"):
|
|
174
|
+
continue
|
|
175
|
+
if key == "properties" and isinstance(value, dict):
|
|
176
|
+
json_target["properties"] = {}
|
|
177
|
+
for prop_name, prop_value in value.items():
|
|
178
|
+
if isinstance(prop_value, dict):
|
|
179
|
+
json_target["properties"][prop_name] = {}
|
|
180
|
+
cls._strip_ui_properties(prop_value, json_target["properties"][prop_name])
|
|
181
|
+
else:
|
|
182
|
+
json_target["properties"][prop_name] = prop_value
|
|
183
|
+
elif key == "$defs" and isinstance(value, dict):
|
|
184
|
+
json_target["$defs"] = {}
|
|
185
|
+
for def_name, def_value in value.items():
|
|
186
|
+
if isinstance(def_value, dict):
|
|
187
|
+
json_target["$defs"][def_name] = {}
|
|
188
|
+
cls._strip_ui_properties(def_value, json_target["$defs"][def_name])
|
|
189
|
+
else:
|
|
190
|
+
json_target["$defs"][def_name] = def_value
|
|
191
|
+
elif key == "items" and isinstance(value, dict):
|
|
192
|
+
json_target["items"] = {}
|
|
193
|
+
cls._strip_ui_properties(value, json_target["items"])
|
|
194
|
+
elif key == "allOf" and isinstance(value, list):
|
|
195
|
+
json_target["allOf"] = []
|
|
196
|
+
for item in value:
|
|
197
|
+
if isinstance(item, dict):
|
|
198
|
+
item_json: dict[str, Any] = {}
|
|
199
|
+
cls._strip_ui_properties(item, item_json)
|
|
200
|
+
json_target["allOf"].append(item_json)
|
|
201
|
+
else:
|
|
202
|
+
json_target["allOf"].append(item)
|
|
203
|
+
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
204
|
+
json_target[key] = {}
|
|
205
|
+
cls._strip_ui_properties(value, json_target[key])
|
|
206
|
+
else:
|
|
207
|
+
json_target[key] = value
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalkin
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2.dev14
|
|
4
4
|
Summary: SDK to build kin used in DigitalKin
|
|
5
5
|
Author-email: "DigitalKin.ai" <contact@digitalkin.ai>
|
|
6
6
|
License: Attribution-NonCommercial-ShareAlike 4.0 International
|
|
@@ -452,17 +452,17 @@ Classifier: License :: Other/Proprietary License
|
|
|
452
452
|
Requires-Python: >=3.10
|
|
453
453
|
Description-Content-Type: text/markdown
|
|
454
454
|
License-File: LICENSE
|
|
455
|
-
Requires-Dist:
|
|
455
|
+
Requires-Dist: agentic-mesh-protocol==0.2.1.dev0
|
|
456
456
|
Requires-Dist: grpcio-health-checking>=1.76.0
|
|
457
457
|
Requires-Dist: grpcio-reflection>=1.76.0
|
|
458
458
|
Requires-Dist: grpcio-status>=1.76.0
|
|
459
459
|
Requires-Dist: pydantic>=2.12.5
|
|
460
|
-
Requires-Dist: surrealdb>=1.0.
|
|
460
|
+
Requires-Dist: surrealdb>=1.0.7
|
|
461
461
|
Provides-Extra: taskiq
|
|
462
462
|
Requires-Dist: rstream>=0.40.0; extra == "taskiq"
|
|
463
463
|
Requires-Dist: taskiq-aio-pika>=0.5.0; extra == "taskiq"
|
|
464
|
-
Requires-Dist: taskiq-redis>=1.
|
|
465
|
-
Requires-Dist: taskiq[reload]>=0.12.
|
|
464
|
+
Requires-Dist: taskiq-redis>=1.2.0; extra == "taskiq"
|
|
465
|
+
Requires-Dist: taskiq[reload]>=0.12.1; extra == "taskiq"
|
|
466
466
|
Dynamic: license-file
|
|
467
467
|
|
|
468
468
|
# DigitalKin Python SDK
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
base_server/__init__.py,sha256=gs8t9Dg0dNVHRdYYbEQY8bn8tzEUv2zE6eBhKNPG3kU,88
|
|
2
|
+
base_server/server_async_insecure.py,sha256=VkOj_v_lDA5QfZi34goVGExf4t03_HfqrntcUC4VwfA,3894
|
|
3
|
+
base_server/server_async_secure.py,sha256=6JFlvs53aAGjgC1uDA3rjA9brBDbnj_tkyOiarVOZfA,4691
|
|
4
|
+
base_server/server_sync_insecure.py,sha256=Z9PUywCOr4gJTZWJ4UxunazKL1t9l4GoW0w7lNr94A8,3133
|
|
5
|
+
base_server/server_sync_secure.py,sha256=BhzXtrT3zFUocq05EReDyhX40ty5oW8RterHV5Pyl40,3945
|
|
6
|
+
base_server/mock/__init__.py,sha256=YZFT-F1l_TpvJYuIPX-7kTeE1CfOjhx9YmNRXVoi-jQ,143
|
|
7
|
+
base_server/mock/mock_pb2.py,sha256=sETakcS3PAAm4E-hTCV1jIVaQTPEAIoVVHupB8Z_k7Y,1843
|
|
8
|
+
base_server/mock/mock_pb2_grpc.py,sha256=BbOT70H6q3laKgkHfOx1QdfmCS_HxCY4wCOX84YAdG4,3180
|
|
9
|
+
digitalkin/__init__.py,sha256=7LLBAba0th-3SGqcpqFO-lopWdUkVLKzLZiMtB-mW3M,162
|
|
10
|
+
digitalkin/__version__.py,sha256=tx0UO-z3MMklNvXWALLHn-_8akwd6_mCkqJ81h4kFg0,196
|
|
11
|
+
digitalkin/logger.py,sha256=8ze_tjt2G6mDTuQcsf7-UTXWP3UHZ7LZVSs_iqF4rX4,4685
|
|
12
|
+
digitalkin/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
digitalkin/core/__init__.py,sha256=FJRcJ-B1Viyn-38L8XpOpZ8KOnf1I7PCDOAmKXLQhqc,71
|
|
14
|
+
digitalkin/core/common/__init__.py,sha256=Gh2eJAJRnrUE93jSEfG7r0nb01Xh1kSkNL6nEpfzK_s,218
|
|
15
|
+
digitalkin/core/common/factories.py,sha256=mV6SmXXrZxzIQ7DLdDtPdjapSDZt5Ua-nBIDsozs_Vk,5047
|
|
16
|
+
digitalkin/core/job_manager/__init__.py,sha256=gGtgQpE6vbBHxAj1SYMbcpj45Q6x8IcsqnyQPfyZZ-8,25
|
|
17
|
+
digitalkin/core/job_manager/base_job_manager.py,sha256=fRnoR74uduImGYOKj4kZ5bo0xv9hrXSCUuq0NHfDpPE,10089
|
|
18
|
+
digitalkin/core/job_manager/single_job_manager.py,sha256=xOgl8HNUpfd_OPmoJpUt8hJznxDTeUzFpEFBRgEYzp4,14464
|
|
19
|
+
digitalkin/core/job_manager/taskiq_broker.py,sha256=ORGg2QSLDaWiCqie8ZGkbcDq7LDuWWSx7hg-SoUv99E,11544
|
|
20
|
+
digitalkin/core/job_manager/taskiq_job_manager.py,sha256=d23iylsc2RUvoE95VxZWa5Kb_yqptMOF63l7MDtuZtk,21264
|
|
21
|
+
digitalkin/core/task_manager/__init__.py,sha256=k9i-qIoee_1yXogyQolaVFDUQBIZU3ENbYKtjrCNmTQ,31
|
|
22
|
+
digitalkin/core/task_manager/base_task_manager.py,sha256=ahkflSul07hMAWRX22CoJf9FxpQhWzi_oKZz3YAN6lc,19416
|
|
23
|
+
digitalkin/core/task_manager/local_task_manager.py,sha256=Z1gv4dCGD32LBSfMZJ4dGyYDe80lZRAyowTgGC6E4Vk,3534
|
|
24
|
+
digitalkin/core/task_manager/remote_task_manager.py,sha256=zgccmnwwtB0nyeIZlL5Ji8SY1J89z_vjA4JD9ur7HzY,3082
|
|
25
|
+
digitalkin/core/task_manager/surrealdb_repository.py,sha256=a22FblutOYbtWtoh0SEqNIm_f6it3XkRReyBBLqy6Qk,9874
|
|
26
|
+
digitalkin/core/task_manager/task_executor.py,sha256=8xh5_1zuRAaGZIH_gWyNsA4T7YYaF0sl51dLS8a6aAk,10981
|
|
27
|
+
digitalkin/core/task_manager/task_session.py,sha256=5jw21bT_SPXUzWE7tk6YG62EXqlRJcrSakFXDFDRy28,12730
|
|
28
|
+
digitalkin/grpc_servers/__init__.py,sha256=ZIRMJ1Lcas8yQ106GCup6hn2UBOsx1sNk8ap0lpEDnY,72
|
|
29
|
+
digitalkin/grpc_servers/_base_server.py,sha256=ZVeCDwI7w7fFbPTXPkeJb_SOuLfd2T7za3T4oCu2UWY,18680
|
|
30
|
+
digitalkin/grpc_servers/module_server.py,sha256=Ec3izzV2YpdN8rGs_cX-iVulQ00FkLR5dBflHlQ8a6Y,7849
|
|
31
|
+
digitalkin/grpc_servers/module_servicer.py,sha256=7GQOyAPYMxHVaJGplgDNiVoKr1oaAIL-zdZpyDpznTA,20530
|
|
32
|
+
digitalkin/grpc_servers/utils/__init__.py,sha256=ZnAIb_F8z4NhtPypqkdmzgRSzolKnJTk3oZx5GfWH5Y,38
|
|
33
|
+
digitalkin/grpc_servers/utils/exceptions.py,sha256=LtaDtlqXCeT6iqApogs4pbtezotOVeg4fhnFzGBvFsY,692
|
|
34
|
+
digitalkin/grpc_servers/utils/grpc_client_wrapper.py,sha256=nGG8QdKnBH0UG9qbKrlPwIvcvPgW3osw7O3cImxisPE,3279
|
|
35
|
+
digitalkin/grpc_servers/utils/grpc_error_handler.py,sha256=0wPEU4713_ZlgIilaeXJV2bi90tHwYO1myDrSLeenKk,1848
|
|
36
|
+
digitalkin/grpc_servers/utils/utility_schema_extender.py,sha256=UCJR5YAKA_Wg5Q9feInf4AZW6AVtSQZYRZuMsaEgZVo,3775
|
|
37
|
+
digitalkin/mixins/__init__.py,sha256=d6ljaoyJZJT9XxOrXZG5FVNvbLURb3_CZrkp4GPZWYM,590
|
|
38
|
+
digitalkin/mixins/base_mixin.py,sha256=uLkg6MbDtVc9DysjdfNIGKahxQLnnjuL3DYpuyNLbk8,486
|
|
39
|
+
digitalkin/mixins/callback_mixin.py,sha256=90nHm9-pbKT14GAy3CB3fsBtpYu5IH0woOQdNLM2e_Y,836
|
|
40
|
+
digitalkin/mixins/chat_history_mixin.py,sha256=SqCmnh6Ybed3TQoQbvUjbzwKs_evvfW_lr4j_Uncg0A,4231
|
|
41
|
+
digitalkin/mixins/cost_mixin.py,sha256=nFqhLsRHdXAt3GOH6qI8sqX9KW3leTPW3gaclensBVw,2274
|
|
42
|
+
digitalkin/mixins/file_history_mixin.py,sha256=5MgxglccVe11M7YnoeuXbJYXNEwVZdiGd5Fl8sytcTM,3504
|
|
43
|
+
digitalkin/mixins/filesystem_mixin.py,sha256=Q1sEY_dKZVi2Sa21fypwpsz9h7uQ7ggVqzpuVgheF_o,1510
|
|
44
|
+
digitalkin/mixins/logger_mixin.py,sha256=l-SK3qACIzRfyHgj7KhzvW3ZhmVa-W1JB9tmppgpqg4,1842
|
|
45
|
+
digitalkin/mixins/storage_mixin.py,sha256=ptZ4a2bydIa48q0V9e395vWHTu7yw4A6rI4jwKY6gwI,2392
|
|
46
|
+
digitalkin/models/__init__.py,sha256=xK0YGXsHI4ghGzIURRhIRYYM3sxbnOsk9UeMXdl5l-o,170
|
|
47
|
+
digitalkin/models/core/__init__.py,sha256=jOMDmPX0uSfGA9zUi0u_kOvYJ46VdIssoIhVYvNSeew,19
|
|
48
|
+
digitalkin/models/core/job_manager_models.py,sha256=wvf2dzRzAu0-zzzAXQe6XTC36cNA10sXRLt2p_TFqjk,1003
|
|
49
|
+
digitalkin/models/core/task_monitor.py,sha256=CW-jydSgXMV464W0pqfar0HpgqlSxqdujmC-f8p9EQc,2639
|
|
50
|
+
digitalkin/models/grpc_servers/__init__.py,sha256=0tA71nPSXgRrh9DoLvx-TSwZXdYIRUEItoadpTL1cTo,42
|
|
51
|
+
digitalkin/models/grpc_servers/models.py,sha256=gRX94eL71a5mLIie-lCOwE7a0As_AuGduxPPzTHbAe4,13797
|
|
52
|
+
digitalkin/models/grpc_servers/types.py,sha256=rQ78s4nAet2jy-NIDj_PUWriT0kuGHr_w6ELjmjgBao,539
|
|
53
|
+
digitalkin/models/module/__init__.py,sha256=N55wan3rAUVPEGLIDjXoFM_-DYY_zxvbQOZHzNDfwoY,751
|
|
54
|
+
digitalkin/models/module/base_types.py,sha256=oIylVNqo0idTFj4dRgCt7P19daNZ-AlvgCPpL9TJvto,1850
|
|
55
|
+
digitalkin/models/module/module.py,sha256=k0W8vfJJFth8XdDzkHm32SyTuSf3h2qF0hSrxAfGF1s,956
|
|
56
|
+
digitalkin/models/module/module_context.py,sha256=qpjyMYgTCyQS0lW2RhTKZsoQKwFpv6l08FIM0sqC6DQ,10326
|
|
57
|
+
digitalkin/models/module/module_types.py,sha256=C9azCNBk76xMa-Mww8_6AiwQR8MLAsEyUOvBYxytovI,739
|
|
58
|
+
digitalkin/models/module/setup_types.py,sha256=XMKyDm-7n_Za9tDBv1AkgXUowlUj46SMxWANa_yg_LU,18311
|
|
59
|
+
digitalkin/models/module/tool_cache.py,sha256=RP3JwASV8dFUZEKudyALbu0_tq81lstuEc4QHMQpmvM,2073
|
|
60
|
+
digitalkin/models/module/tool_reference.py,sha256=6GhLQC4pqCV3b7Nmm0mr0TZC13RDHIUOm1J-pIdWsmo,3479
|
|
61
|
+
digitalkin/models/module/utility.py,sha256=gnbYfWpXGbomUI0fWf7T-Qm_VvT-LXDv1OuA9zObwVg,5589
|
|
62
|
+
digitalkin/models/services/__init__.py,sha256=jhfVw6egq0OcHmos_fypH9XFehbHTBw09wluVFVFEyw,226
|
|
63
|
+
digitalkin/models/services/cost.py,sha256=9PXvd5RrIk9vCrRjcUGQ9ZyAokEbwLg4s0RfnE-aLP4,1616
|
|
64
|
+
digitalkin/models/services/registry.py,sha256=hz_r03-K633XHu2fOb5HWsE59EPFusBBipy0Gz6OBvI,705
|
|
65
|
+
digitalkin/models/services/storage.py,sha256=wp7F-AvTsU46ujGPcguqM5kUKRZx4399D4EGAAJt2zs,1143
|
|
66
|
+
digitalkin/modules/__init__.py,sha256=vTQk8DWopxQSJ17BjE5dNhq247Rou55iQLJdBxoPUmo,296
|
|
67
|
+
digitalkin/modules/_base_module.py,sha256=4-fS376f9ti3xSgM946yRccHcEGttdo2QYKaxdqk1kY,22451
|
|
68
|
+
digitalkin/modules/archetype_module.py,sha256=XC9tl1Yr6QlbPn_x0eov6UUZwQgwW--BYPPMYVJH_NU,505
|
|
69
|
+
digitalkin/modules/tool_module.py,sha256=GBis7bKCkvWFCYLRvaS9oZVmLBBve1w8BhVnKOU2sCc,506
|
|
70
|
+
digitalkin/modules/trigger_handler.py,sha256=qPNMi-8NHqscOxciHeaXtpwjXApT3YzjMF23zQAjaZY,1770
|
|
71
|
+
digitalkin/modules/triggers/__init__.py,sha256=OKzUWqlnm9wzAAvztPocSK36i69giWEQnxn0hbdfCsM,323
|
|
72
|
+
digitalkin/modules/triggers/healthcheck_ping_trigger.py,sha256=fQjfOB_NMPocISXAT8rlk896_pXIY8v0op0JhZNv_G0,1558
|
|
73
|
+
digitalkin/modules/triggers/healthcheck_services_trigger.py,sha256=TpPw5XTnw3Bt9VCoFXQ_V-SIAR8LMoJmDGiyegWW6To,2286
|
|
74
|
+
digitalkin/modules/triggers/healthcheck_status_trigger.py,sha256=rozWQWvO7a2ZTg8BjFCyEWeAai5vdbi7BBwu0vR5jv8,1768
|
|
75
|
+
digitalkin/services/__init__.py,sha256=DugdZZ3uKXFsA5C-DuP41ssGegU1FybI3HQcW_Se4bk,1101
|
|
76
|
+
digitalkin/services/base_strategy.py,sha256=yA9KUJGRKuuaxA6l3GcMv8zKfWoIsW03UxJT80Yea2I,766
|
|
77
|
+
digitalkin/services/services_config.py,sha256=rz1cJdO_dfUN3kwOQ40XRSE4ZH3mgM43vXka94gjymY,8689
|
|
78
|
+
digitalkin/services/services_models.py,sha256=Cb-ajJxHlEOQmoylMCfNdN08T6IOmMLXHrAZ6pxprrQ,1855
|
|
79
|
+
digitalkin/services/agent/__init__.py,sha256=vJc8JN0pdtA8ecypLBeHrwAUIW6H2C8NyW-dk24rTpk,244
|
|
80
|
+
digitalkin/services/agent/agent_strategy.py,sha256=42Q9RciHX6tg3CgDQkbrlIx4h_TX0WIuSpLmCjitVmA,492
|
|
81
|
+
digitalkin/services/agent/default_agent.py,sha256=4N_E_eQxJGOx1KVUUg5jNOje-3ncMxF3ePB-uDuGrJc,345
|
|
82
|
+
digitalkin/services/communication/__init__.py,sha256=YbRjrg_BbNURgS56SlXSCzRBvyUELGgrIkuX19eA1f8,408
|
|
83
|
+
digitalkin/services/communication/communication_strategy.py,sha256=u35O-al9LQxiORM9ZrGeHrBtT7CegtCsMwGdwvu2MlQ,2335
|
|
84
|
+
digitalkin/services/communication/default_communication.py,sha256=zBExaitUxpuIyoWANdx5JHY9pHDRnSffTiHLvU5QqwY,3166
|
|
85
|
+
digitalkin/services/communication/grpc_communication.py,sha256=I78vlWlvn4ACTgOiUedgksApQvX2v1_FkitAGwSgCjs,8023
|
|
86
|
+
digitalkin/services/cost/__init__.py,sha256=sD_a5LrnLluASOC5m5vgIqjaco-MzZJd6XhillIBHr0,400
|
|
87
|
+
digitalkin/services/cost/cost_strategy.py,sha256=MpPX33P_S5b2by6F4zT-rcyeRuh2V4NYPZe05VpDOGQ,2649
|
|
88
|
+
digitalkin/services/cost/default_cost.py,sha256=XE7kNFde8NmbulU9m1lc3mi-vHFkbaJf0XHUc0D4UHE,3945
|
|
89
|
+
digitalkin/services/cost/grpc_cost.py,sha256=2xJ3baTNubCnawpbNftTuFVnPpDZPouSrUWe1cVlInE,5272
|
|
90
|
+
digitalkin/services/filesystem/__init__.py,sha256=BhwMl_BUvM0d65fmglkp0SVwn3RfYiUOKJgIMnOCaGM,381
|
|
91
|
+
digitalkin/services/filesystem/default_filesystem.py,sha256=WQbU-Bsi9r-28VqhKbrplce3otzjSKS-5iqKEpGWdQU,15117
|
|
92
|
+
digitalkin/services/filesystem/filesystem_strategy.py,sha256=zibVLvX_IBQ-kgh-KYzHdszDeiHFPEAZszu_k99x1GQ,9487
|
|
93
|
+
digitalkin/services/filesystem/grpc_filesystem.py,sha256=9Cjp4ie-mJ2EMMZ8DjCqeV6S6CiS_gwWalGoeCAusEk,12137
|
|
94
|
+
digitalkin/services/identity/__init__.py,sha256=InkeyLgFYYwItx8mePA8HpfacOMWZwwuc0G4pWtKq9s,270
|
|
95
|
+
digitalkin/services/identity/default_identity.py,sha256=Y2auZHrGSZTIN5D8HyjLvLcNbYFM1CNUE23x7p5VIGw,386
|
|
96
|
+
digitalkin/services/identity/identity_strategy.py,sha256=skappBbds1_qa0Gr24FGrNX1N0_OYhYT1Lh7dUaAirE,429
|
|
97
|
+
digitalkin/services/registry/__init__.py,sha256=WPGQM3U-QvMXhsaOy9BN0kVMU3QkPFwAMT3lGmTR-Ko,835
|
|
98
|
+
digitalkin/services/registry/default_registry.py,sha256=tOqw9Ve9w_BzhqrZmHuUl5Ps-J_KTEwYg3tu1gNIHmw,4258
|
|
99
|
+
digitalkin/services/registry/exceptions.py,sha256=tAcVXioCzDqfBvxB_P0uQpaK_LDLrFb0KpymROuqs-8,1371
|
|
100
|
+
digitalkin/services/registry/grpc_registry.py,sha256=2_He-I9I4SXdjYA9QYxFWQrr_xBao6LIYXsgiICkeHY,10822
|
|
101
|
+
digitalkin/services/registry/registry_models.py,sha256=DJEwMJg5_BewpgHDtY8xIGWj9jA9H07iYgHLCv81giY,331
|
|
102
|
+
digitalkin/services/registry/registry_strategy.py,sha256=N6oLxMwnYkM_XVW7WDxZoSfFafjUtsFDig3F8VQZj7Q,2745
|
|
103
|
+
digitalkin/services/setup/__init__.py,sha256=t6xcvEWqTbcRZstBFK9cESEqaZKvpW14VtYygxIqfYQ,65
|
|
104
|
+
digitalkin/services/setup/default_setup.py,sha256=zTG9Nvw3Tqy9qctSEnjWE4Mlqol321AUaTlIm6Jl1k0,8195
|
|
105
|
+
digitalkin/services/setup/grpc_setup.py,sha256=aEAHiG0WSzNSQtJjn7xAGQwj70b0HrFO8GBKFXRx3aI,13925
|
|
106
|
+
digitalkin/services/setup/setup_strategy.py,sha256=ZnJ_HwWCkHCPrqKekSD5L9y3p8wMwfjQ8sj2hLZq6go,4004
|
|
107
|
+
digitalkin/services/snapshot/__init__.py,sha256=Uzlnzo0CYlSpVsdiI37hW7xQk8hu3YA1fOI6O6MSzB0,270
|
|
108
|
+
digitalkin/services/snapshot/default_snapshot.py,sha256=Mb8QwWRsHh9I_tN0ln_ZiFa1QCZxOVWmuVLemQOTWpc,1058
|
|
109
|
+
digitalkin/services/snapshot/snapshot_strategy.py,sha256=B1TU3V_k9A-OdqBkdyc41-ihnrW5Btcwd1KyQdHT46A,898
|
|
110
|
+
digitalkin/services/storage/__init__.py,sha256=T-ocYLLphudkQgzvG47jBOm5GQsRFRIGA88y7Ur4akg,341
|
|
111
|
+
digitalkin/services/storage/default_storage.py,sha256=D8e-UYUkb2GvDEHMWcN3EkcIKXWA8DrsaQsXVjoXAYQ,7975
|
|
112
|
+
digitalkin/services/storage/grpc_storage.py,sha256=c6HWDEI3lr6NO9HHSTBpRhZ7h0qqMBIBCMnjjj4e2c4,7200
|
|
113
|
+
digitalkin/services/storage/storage_strategy.py,sha256=sERF5tIJnzpb1iNqTXic9xRkGaXMifo6kb709ubB-Yo,8848
|
|
114
|
+
digitalkin/services/user_profile/__init__.py,sha256=RKEZCsgCHS7fmswhWgUoQd6vZ_1pYnRqERoF8fmu7jw,434
|
|
115
|
+
digitalkin/services/user_profile/default_user_profile.py,sha256=46DH_VBCHKXJVyagVcc8kH5sLwRK54Fe_0ahqYJ1maA,1847
|
|
116
|
+
digitalkin/services/user_profile/grpc_user_profile.py,sha256=xDiUC5Ceofa6QtGPmqJV3ik5j8HDHc1zxtpia49rlRw,2780
|
|
117
|
+
digitalkin/services/user_profile/user_profile_strategy.py,sha256=CH8kT__1MUwA21k5djjmB5ZZ6pYg57OWbe_7owBCgwU,681
|
|
118
|
+
digitalkin/utils/__init__.py,sha256=gDoEk5CP8tiBmIq-38aPhIMlnDUiqRrduuVXhpSPQnc,541
|
|
119
|
+
digitalkin/utils/arg_parser.py,sha256=wzscRlE1Qp1gGl-lAJlkkwnbU1O2oezj6BwK_BZFBIk,3158
|
|
120
|
+
digitalkin/utils/development_mode_action.py,sha256=2hznh0ajW_4ZTysfoc0Y49161f_PQPATRgNk8NAn1_o,1623
|
|
121
|
+
digitalkin/utils/dynamic_schema.py,sha256=5-B3dBGlCYYv6uRJkgudtc0ZpBOTYxl0yKedDGsteZQ,15184
|
|
122
|
+
digitalkin/utils/llm_ready_schema.py,sha256=JjMug_lrQllqFoanaC091VgOqwAd-_YzcpqFlS7p778,2375
|
|
123
|
+
digitalkin/utils/package_discover.py,sha256=sa6Zp5Kape1Zr4iYiNrnZxiHDnqM06ODk6yfWHom53w,13465
|
|
124
|
+
digitalkin/utils/schema_splitter.py,sha256=KMvYRHDHlwdhh_c6FJxkWvLStZo9Kbj-jd3pIGPZfxk,9317
|
|
125
|
+
digitalkin-0.3.2.dev14.dist-info/licenses/LICENSE,sha256=Ies4HFv2r2hzDRakJYxk3Y60uDFLiG-orIgeTpstnIo,20327
|
|
126
|
+
modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
|
+
modules/archetype_with_tools_module.py,sha256=PXTS6IXmC_OjxTmVrL_pYVI0MKwXjD5I1UJO_2xa10Q,7632
|
|
128
|
+
modules/cpu_intensive_module.py,sha256=GZlirQDZdYuXrI46sv1q4RNAHZjL4EptHVQTvgK9zz8,8363
|
|
129
|
+
modules/dynamic_setup_module.py,sha256=tKvUWZdlYZkfAgKR0mLuFcLiFGKpVgpsz10LeJ6B2QI,11410
|
|
130
|
+
modules/minimal_llm_module.py,sha256=N9aIzZQI-miyH4AB4xTmGHpMvdSLnYyXNOD4Z3YFzis,11216
|
|
131
|
+
modules/text_transform_module.py,sha256=MfhI_Ki1U6qk379ne6oazNEu4PhO4R3cRezEcr0nGPw,7251
|
|
132
|
+
monitoring/digitalkin_observability/__init__.py,sha256=PXG4xbMbmiVNkIaVG899H9CHvcld7c0bSbaLHqKeDeo,1247
|
|
133
|
+
monitoring/digitalkin_observability/http_server.py,sha256=kFbWFQvaqq2VVwwqDozV0pRPe7RkAXsa9xCWruMlOyk,4527
|
|
134
|
+
monitoring/digitalkin_observability/interceptors.py,sha256=Sx6o0s8FSMfIGKVAtjVl7l-sIygP45od6eITl7DroBU,6219
|
|
135
|
+
monitoring/digitalkin_observability/metrics.py,sha256=XhVRE8y6tbzJqxIzEHa5MT3I0k3hgpxjzZf_R6SyjbQ,7553
|
|
136
|
+
monitoring/digitalkin_observability/prometheus.py,sha256=gDmM9ySaVwPAe7Yg84pLxmEKu0Cudezi8pK3RtqWs6g,5457
|
|
137
|
+
monitoring/tests/test_metrics.py,sha256=ugnYfAwqBPO6zA8z4afKTlyBWECTivacYSN-URQCn2E,5856
|
|
138
|
+
services/filesystem_module.py,sha256=U4dgqtuDadaXz8PJ1d_uQ_1EPncBqudAQCLUICF9yL4,7421
|
|
139
|
+
services/storage_module.py,sha256=Wz2MzLvqs2D_bnBBgtnujYcAKK2V2KFMk8K21RoepSE,6972
|
|
140
|
+
digitalkin-0.3.2.dev14.dist-info/METADATA,sha256=03YpSbukSbDTJwmfICpNbhT_10U739n0pJL7vJgxk1A,29725
|
|
141
|
+
digitalkin-0.3.2.dev14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
142
|
+
digitalkin-0.3.2.dev14.dist-info/top_level.txt,sha256=AYVIesKrO0jnedQ-Muog9JBehG81WeTCNeOFoJgwsgE,51
|
|
143
|
+
digitalkin-0.3.2.dev14.dist-info/RECORD,,
|