digitalkin 0.3.1.dev1__py3-none-any.whl → 0.3.2a2__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 +78 -36
- digitalkin/core/job_manager/taskiq_broker.py +8 -7
- digitalkin/core/job_manager/taskiq_job_manager.py +9 -5
- digitalkin/core/task_manager/base_task_manager.py +3 -1
- digitalkin/core/task_manager/surrealdb_repository.py +13 -7
- digitalkin/core/task_manager/task_executor.py +27 -10
- digitalkin/core/task_manager/task_session.py +133 -101
- digitalkin/grpc_servers/module_server.py +95 -171
- digitalkin/grpc_servers/module_servicer.py +133 -27
- digitalkin/grpc_servers/utils/grpc_client_wrapper.py +36 -10
- digitalkin/grpc_servers/utils/utility_schema_extender.py +106 -0
- digitalkin/models/__init__.py +1 -1
- digitalkin/models/core/job_manager_models.py +0 -8
- digitalkin/models/core/task_monitor.py +23 -1
- digitalkin/models/grpc_servers/models.py +95 -8
- digitalkin/models/module/__init__.py +26 -13
- digitalkin/models/module/base_types.py +61 -0
- digitalkin/models/module/module_context.py +279 -13
- digitalkin/models/module/module_types.py +29 -109
- digitalkin/models/module/setup_types.py +547 -0
- digitalkin/models/module/tool_cache.py +230 -0
- digitalkin/models/module/tool_reference.py +160 -0
- digitalkin/models/module/utility.py +167 -0
- digitalkin/models/services/cost.py +22 -1
- digitalkin/models/services/registry.py +77 -0
- digitalkin/modules/__init__.py +5 -1
- digitalkin/modules/_base_module.py +253 -90
- 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 +87 -0
- digitalkin/services/communication/default_communication.py +104 -0
- digitalkin/services/communication/grpc_communication.py +264 -0
- digitalkin/services/cost/cost_strategy.py +36 -14
- digitalkin/services/cost/default_cost.py +61 -1
- digitalkin/services/cost/grpc_cost.py +98 -2
- digitalkin/services/filesystem/grpc_filesystem.py +9 -2
- digitalkin/services/registry/__init__.py +22 -1
- digitalkin/services/registry/default_registry.py +156 -4
- digitalkin/services/registry/exceptions.py +47 -0
- digitalkin/services/registry/grpc_registry.py +382 -0
- digitalkin/services/registry/registry_models.py +15 -0
- digitalkin/services/registry/registry_strategy.py +106 -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/__init__.py +40 -0
- digitalkin/utils/conditional_schema.py +260 -0
- digitalkin/utils/dynamic_schema.py +487 -0
- digitalkin/utils/schema_splitter.py +290 -0
- {digitalkin-0.3.1.dev1.dist-info → digitalkin-0.3.2a2.dist-info}/METADATA +13 -13
- digitalkin-0.3.2a2.dist-info/RECORD +144 -0
- {digitalkin-0.3.1.dev1.dist-info → digitalkin-0.3.2a2.dist-info}/WHEEL +1 -1
- {digitalkin-0.3.1.dev1.dist-info → digitalkin-0.3.2a2.dist-info}/top_level.txt +1 -0
- modules/archetype_with_tools_module.py +232 -0
- modules/cpu_intensive_module.py +1 -1
- modules/dynamic_setup_module.py +338 -0
- 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.dev1.dist-info/RECORD +0 -117
- {digitalkin-0.3.1.dev1.dist-info → digitalkin-0.3.2a2.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,290 @@
|
|
|
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
|
+
schema_defs = combined_schema.get("$defs", {})
|
|
21
|
+
if schema_defs:
|
|
22
|
+
for def_name, def_value in schema_defs.items():
|
|
23
|
+
if isinstance(def_value, dict):
|
|
24
|
+
defs_ui[def_name] = {}
|
|
25
|
+
cls._extract_ui_properties(def_value, defs_ui[def_name], schema_defs)
|
|
26
|
+
|
|
27
|
+
json_schema: dict[str, Any] = {}
|
|
28
|
+
ui_schema: dict[str, Any] = {}
|
|
29
|
+
cls._process_object(combined_schema, json_schema, ui_schema, defs_ui, schema_defs)
|
|
30
|
+
return json_schema, ui_schema
|
|
31
|
+
|
|
32
|
+
@classmethod
|
|
33
|
+
def _extract_ui_properties( # noqa: C901, PLR0912
|
|
34
|
+
cls,
|
|
35
|
+
source: dict[str, Any],
|
|
36
|
+
ui_target: dict[str, Any],
|
|
37
|
+
defs: dict[str, Any] | None = None,
|
|
38
|
+
) -> None:
|
|
39
|
+
"""Extract ui:* properties from source into ui_target recursively.
|
|
40
|
+
|
|
41
|
+
Args:
|
|
42
|
+
source: Source dict to extract from.
|
|
43
|
+
ui_target: Target dict for ui properties.
|
|
44
|
+
defs: The $defs dictionary to resolve $ref references.
|
|
45
|
+
"""
|
|
46
|
+
for key, value in source.items():
|
|
47
|
+
if key.startswith("ui:"):
|
|
48
|
+
ui_target[key] = value
|
|
49
|
+
elif key == "properties" and isinstance(value, dict):
|
|
50
|
+
for prop_name, prop_value in value.items():
|
|
51
|
+
if isinstance(prop_value, dict):
|
|
52
|
+
prop_ui: dict[str, Any] = {}
|
|
53
|
+
cls._extract_ui_properties(prop_value, prop_ui, defs)
|
|
54
|
+
if prop_ui:
|
|
55
|
+
ui_target[prop_name] = prop_ui
|
|
56
|
+
elif key == "items" and isinstance(value, dict):
|
|
57
|
+
items_ui: dict[str, Any] = {}
|
|
58
|
+
cls._extract_ui_properties(value, items_ui, defs)
|
|
59
|
+
if items_ui:
|
|
60
|
+
ui_target["items"] = items_ui
|
|
61
|
+
elif key in {"allOf", "oneOf", "anyOf"} and isinstance(value, list):
|
|
62
|
+
# For oneOf/anyOf, create a mirrored structure in ui_target
|
|
63
|
+
if key in {"oneOf", "anyOf"}:
|
|
64
|
+
ui_target[key] = []
|
|
65
|
+
for item in value:
|
|
66
|
+
if isinstance(item, dict):
|
|
67
|
+
item_ui: dict[str, Any] = {}
|
|
68
|
+
cls._extract_ui_properties(item, item_ui, defs)
|
|
69
|
+
ui_target[key].append(item_ui)
|
|
70
|
+
else: # allOf - merge into parent
|
|
71
|
+
for item in value:
|
|
72
|
+
if isinstance(item, dict):
|
|
73
|
+
cls._extract_ui_properties(item, ui_target, defs)
|
|
74
|
+
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
75
|
+
cls._extract_ui_properties(value, ui_target, defs)
|
|
76
|
+
elif key == "$ref" and isinstance(value, str) and defs is not None and value.startswith("#/$defs/"):
|
|
77
|
+
# Resolve $ref and extract UI properties from the referenced definition
|
|
78
|
+
def_name = value[8:]
|
|
79
|
+
if def_name in defs:
|
|
80
|
+
cls._extract_ui_properties(defs[def_name], ui_target, defs)
|
|
81
|
+
|
|
82
|
+
@classmethod
|
|
83
|
+
def _process_object( # noqa: C901, PLR0912, PLR0915
|
|
84
|
+
cls,
|
|
85
|
+
source: dict[str, Any],
|
|
86
|
+
json_target: dict[str, Any],
|
|
87
|
+
ui_target: dict[str, Any],
|
|
88
|
+
defs_ui: dict[str, dict[str, Any]],
|
|
89
|
+
schema_defs: dict[str, Any] | None = None,
|
|
90
|
+
) -> None:
|
|
91
|
+
"""Process an object, splitting json and ui properties.
|
|
92
|
+
|
|
93
|
+
Args:
|
|
94
|
+
source: Source object to process.
|
|
95
|
+
json_target: Target dict for json schema.
|
|
96
|
+
ui_target: Target dict for ui schema.
|
|
97
|
+
defs_ui: Pre-extracted UI properties from $defs.
|
|
98
|
+
schema_defs: The original $defs dictionary to resolve $ref in _extract_ui_properties.
|
|
99
|
+
"""
|
|
100
|
+
for key, value in source.items():
|
|
101
|
+
if key.startswith("ui:"):
|
|
102
|
+
ui_target[key] = value
|
|
103
|
+
elif key == "properties" and isinstance(value, dict):
|
|
104
|
+
json_target["properties"] = {}
|
|
105
|
+
for prop_name, prop_value in value.items():
|
|
106
|
+
if isinstance(prop_value, dict):
|
|
107
|
+
# Skip hidden fields
|
|
108
|
+
if prop_value.get("hidden") is True:
|
|
109
|
+
continue
|
|
110
|
+
json_target["properties"][prop_name] = {}
|
|
111
|
+
prop_ui: dict[str, Any] = {}
|
|
112
|
+
cls._process_property(prop_value, json_target["properties"][prop_name], prop_ui, defs_ui)
|
|
113
|
+
if prop_ui:
|
|
114
|
+
ui_target[prop_name] = prop_ui
|
|
115
|
+
else:
|
|
116
|
+
json_target["properties"][prop_name] = prop_value
|
|
117
|
+
elif key == "$defs" and isinstance(value, dict):
|
|
118
|
+
json_target["$defs"] = {}
|
|
119
|
+
for def_name, def_value in value.items():
|
|
120
|
+
if isinstance(def_value, dict):
|
|
121
|
+
json_target["$defs"][def_name] = {}
|
|
122
|
+
cls._strip_ui_properties(def_value, json_target["$defs"][def_name])
|
|
123
|
+
else:
|
|
124
|
+
json_target["$defs"][def_name] = def_value
|
|
125
|
+
elif key == "items" and isinstance(value, dict):
|
|
126
|
+
json_target["items"] = {}
|
|
127
|
+
items_ui: dict[str, Any] = {}
|
|
128
|
+
cls._process_property(value, json_target["items"], items_ui, defs_ui)
|
|
129
|
+
if items_ui:
|
|
130
|
+
ui_target["items"] = items_ui
|
|
131
|
+
elif key == "allOf" and isinstance(value, list):
|
|
132
|
+
json_target["allOf"] = []
|
|
133
|
+
for item in value:
|
|
134
|
+
if isinstance(item, dict):
|
|
135
|
+
item_json_all_of: dict[str, Any] = {}
|
|
136
|
+
cls._strip_ui_properties(item, item_json_all_of)
|
|
137
|
+
json_target["allOf"].append(item_json_all_of)
|
|
138
|
+
# Extract UI properties from allOf item
|
|
139
|
+
cls._extract_ui_properties(item, ui_target, schema_defs)
|
|
140
|
+
else:
|
|
141
|
+
json_target["allOf"].append(item)
|
|
142
|
+
elif key in {"oneOf", "anyOf"} and isinstance(value, list):
|
|
143
|
+
json_target[key] = []
|
|
144
|
+
ui_target[key] = [] # Mirror structure in ui_schema
|
|
145
|
+
for item in value:
|
|
146
|
+
if isinstance(item, dict):
|
|
147
|
+
item_json_oneof_anyof: dict[str, Any] = {}
|
|
148
|
+
cls._strip_ui_properties(item, item_json_oneof_anyof)
|
|
149
|
+
json_target[key].append(item_json_oneof_anyof)
|
|
150
|
+
# Extract UI properties into a separate dict for this variant
|
|
151
|
+
item_ui_oneof_anyof: dict[str, Any] = {}
|
|
152
|
+
cls._extract_ui_properties(item, item_ui_oneof_anyof, schema_defs)
|
|
153
|
+
ui_target[key].append(item_ui_oneof_anyof)
|
|
154
|
+
else:
|
|
155
|
+
json_target[key].append(item)
|
|
156
|
+
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
157
|
+
json_target[key] = {}
|
|
158
|
+
cls._strip_ui_properties(value, json_target[key])
|
|
159
|
+
# Extract UI properties from conditional
|
|
160
|
+
cls._extract_ui_properties(value, ui_target, schema_defs)
|
|
161
|
+
elif key == "hidden":
|
|
162
|
+
# Strip hidden key from json schema
|
|
163
|
+
continue
|
|
164
|
+
else:
|
|
165
|
+
json_target[key] = value
|
|
166
|
+
|
|
167
|
+
@classmethod
|
|
168
|
+
def _process_property( # noqa: C901, PLR0912
|
|
169
|
+
cls,
|
|
170
|
+
source: dict[str, Any],
|
|
171
|
+
json_target: dict[str, Any],
|
|
172
|
+
ui_target: dict[str, Any],
|
|
173
|
+
defs_ui: dict[str, dict[str, Any]],
|
|
174
|
+
) -> None:
|
|
175
|
+
"""Process a property, resolving $ref for UI properties.
|
|
176
|
+
|
|
177
|
+
Args:
|
|
178
|
+
source: Source property dict.
|
|
179
|
+
json_target: Target dict for json schema.
|
|
180
|
+
ui_target: Target dict for ui schema.
|
|
181
|
+
defs_ui: Pre-extracted UI properties from $defs.
|
|
182
|
+
"""
|
|
183
|
+
if "$ref" in source:
|
|
184
|
+
ref_path = source["$ref"]
|
|
185
|
+
if ref_path.startswith("#/$defs/"):
|
|
186
|
+
def_name = ref_path[8:]
|
|
187
|
+
if def_name in defs_ui:
|
|
188
|
+
ui_target.update(defs_ui[def_name])
|
|
189
|
+
|
|
190
|
+
for key, value in source.items():
|
|
191
|
+
if key.startswith("ui:"):
|
|
192
|
+
ui_target[key] = value
|
|
193
|
+
elif key == "properties" and isinstance(value, dict):
|
|
194
|
+
json_target["properties"] = {}
|
|
195
|
+
for prop_name, prop_value in value.items():
|
|
196
|
+
if isinstance(prop_value, dict):
|
|
197
|
+
# Skip hidden fields
|
|
198
|
+
if prop_value.get("hidden") is True:
|
|
199
|
+
continue
|
|
200
|
+
json_target["properties"][prop_name] = {}
|
|
201
|
+
prop_ui: dict[str, Any] = {}
|
|
202
|
+
cls._process_property(prop_value, json_target["properties"][prop_name], prop_ui, defs_ui)
|
|
203
|
+
if prop_ui:
|
|
204
|
+
ui_target[prop_name] = prop_ui
|
|
205
|
+
else:
|
|
206
|
+
json_target["properties"][prop_name] = prop_value
|
|
207
|
+
elif key == "items" and isinstance(value, dict):
|
|
208
|
+
json_target["items"] = {}
|
|
209
|
+
items_ui: dict[str, Any] = {}
|
|
210
|
+
cls._process_property(value, json_target["items"], items_ui, defs_ui)
|
|
211
|
+
if items_ui:
|
|
212
|
+
ui_target["items"] = items_ui
|
|
213
|
+
elif key in {"oneOf", "anyOf"} and isinstance(value, list):
|
|
214
|
+
json_target[key] = []
|
|
215
|
+
ui_target[key] = [] # Mirror structure in ui_schema
|
|
216
|
+
for item in value:
|
|
217
|
+
if isinstance(item, dict):
|
|
218
|
+
item_json_oneof_anyof: dict[str, Any] = {}
|
|
219
|
+
cls._strip_ui_properties(item, item_json_oneof_anyof)
|
|
220
|
+
json_target[key].append(item_json_oneof_anyof)
|
|
221
|
+
# Extract UI properties for this variant
|
|
222
|
+
item_ui_oneof_anyof: dict[str, Any] = {}
|
|
223
|
+
ref_path = item.get("$ref", "")
|
|
224
|
+
if ref_path.startswith("#/$defs/") and ref_path[8:] in defs_ui:
|
|
225
|
+
item_ui_oneof_anyof.update(defs_ui[ref_path[8:]])
|
|
226
|
+
ui_target[key].append(item_ui_oneof_anyof)
|
|
227
|
+
else:
|
|
228
|
+
json_target[key].append(item)
|
|
229
|
+
elif key == "hidden":
|
|
230
|
+
# Strip hidden key from json schema
|
|
231
|
+
continue
|
|
232
|
+
else:
|
|
233
|
+
json_target[key] = value
|
|
234
|
+
|
|
235
|
+
@classmethod
|
|
236
|
+
def _strip_ui_properties(cls, source: dict[str, Any], json_target: dict[str, Any]) -> None: # noqa: C901, PLR0912
|
|
237
|
+
"""Copy source to json_target, stripping ui:* properties.
|
|
238
|
+
|
|
239
|
+
Args:
|
|
240
|
+
source: Source dict.
|
|
241
|
+
json_target: Target dict without ui:* properties.
|
|
242
|
+
"""
|
|
243
|
+
for key, value in source.items():
|
|
244
|
+
if key.startswith("ui:") or key == "hidden":
|
|
245
|
+
continue
|
|
246
|
+
if key == "properties" and isinstance(value, dict):
|
|
247
|
+
json_target["properties"] = {}
|
|
248
|
+
for prop_name, prop_value in value.items():
|
|
249
|
+
if isinstance(prop_value, dict):
|
|
250
|
+
# Skip hidden fields
|
|
251
|
+
if prop_value.get("hidden") is True:
|
|
252
|
+
continue
|
|
253
|
+
json_target["properties"][prop_name] = {}
|
|
254
|
+
cls._strip_ui_properties(prop_value, json_target["properties"][prop_name])
|
|
255
|
+
else:
|
|
256
|
+
json_target["properties"][prop_name] = prop_value
|
|
257
|
+
elif key == "$defs" and isinstance(value, dict):
|
|
258
|
+
json_target["$defs"] = {}
|
|
259
|
+
for def_name, def_value in value.items():
|
|
260
|
+
if isinstance(def_value, dict):
|
|
261
|
+
json_target["$defs"][def_name] = {}
|
|
262
|
+
cls._strip_ui_properties(def_value, json_target["$defs"][def_name])
|
|
263
|
+
else:
|
|
264
|
+
json_target["$defs"][def_name] = def_value
|
|
265
|
+
elif key == "items" and isinstance(value, dict):
|
|
266
|
+
json_target["items"] = {}
|
|
267
|
+
cls._strip_ui_properties(value, json_target["items"])
|
|
268
|
+
elif key == "allOf" and isinstance(value, list):
|
|
269
|
+
json_target["allOf"] = []
|
|
270
|
+
for item in value:
|
|
271
|
+
if isinstance(item, dict):
|
|
272
|
+
item_json_all_of: dict[str, Any] = {}
|
|
273
|
+
cls._strip_ui_properties(item, item_json_all_of)
|
|
274
|
+
json_target["allOf"].append(item_json_all_of)
|
|
275
|
+
else:
|
|
276
|
+
json_target["allOf"].append(item)
|
|
277
|
+
elif key in {"oneOf", "anyOf"} and isinstance(value, list):
|
|
278
|
+
json_target[key] = []
|
|
279
|
+
for item in value:
|
|
280
|
+
if isinstance(item, dict):
|
|
281
|
+
item_json_oneof_anyof: dict[str, Any] = {}
|
|
282
|
+
cls._strip_ui_properties(item, item_json_oneof_anyof)
|
|
283
|
+
json_target[key].append(item_json_oneof_anyof)
|
|
284
|
+
else:
|
|
285
|
+
json_target[key].append(item)
|
|
286
|
+
elif key in {"if", "then", "else"} and isinstance(value, dict):
|
|
287
|
+
json_target[key] = {}
|
|
288
|
+
cls._strip_ui_properties(value, json_target[key])
|
|
289
|
+
else:
|
|
290
|
+
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.2a2
|
|
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
|
|
@@ -434,35 +434,35 @@ License: Attribution-NonCommercial-ShareAlike 4.0 International
|
|
|
434
434
|
Creative Commons may be contacted at creativecommons.org.
|
|
435
435
|
https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
436
436
|
|
|
437
|
-
Project-URL: Homepage, https://github.com/DigitalKin-ai/digitalkin
|
|
438
437
|
Project-URL: Documentation, https://github.com/DigitalKin-ai/digitalkin
|
|
438
|
+
Project-URL: Homepage, https://github.com/DigitalKin-ai/digitalkin
|
|
439
439
|
Project-URL: Issues, https://github.com/DigitalKin-ai/digitalkin/issues
|
|
440
|
-
Keywords: digitalkin,kin,
|
|
440
|
+
Keywords: agent,digitalkin,gprc,kin,sdk
|
|
441
441
|
Classifier: Development Status :: 3 - Alpha
|
|
442
442
|
Classifier: Intended Audience :: Developers
|
|
443
|
+
Classifier: License :: Other/Proprietary License
|
|
443
444
|
Classifier: Operating System :: OS Independent
|
|
444
|
-
Classifier:
|
|
445
|
-
Classifier: Programming Language :: Python
|
|
445
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
446
446
|
Classifier: Programming Language :: Python :: 3.10
|
|
447
447
|
Classifier: Programming Language :: Python :: 3.11
|
|
448
448
|
Classifier: Programming Language :: Python :: 3.12
|
|
449
449
|
Classifier: Programming Language :: Python :: 3.13
|
|
450
|
-
Classifier: Programming Language :: Python
|
|
451
|
-
Classifier:
|
|
450
|
+
Classifier: Programming Language :: Python
|
|
451
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
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.dev1
|
|
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
|
-
Requires-Dist: pydantic>=2.12.
|
|
460
|
-
Requires-Dist: surrealdb>=1.0.
|
|
459
|
+
Requires-Dist: pydantic>=2.12.5
|
|
460
|
+
Requires-Dist: surrealdb>=1.0.7
|
|
461
461
|
Provides-Extra: taskiq
|
|
462
|
-
Requires-Dist: rstream>=0.40.
|
|
462
|
+
Requires-Dist: rstream>=0.40.1; 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.
|
|
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,144 @@
|
|
|
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=Ax_aYd7TkL4irPiANTsxbqr0Wwn-cJMP8BvBEqQjCzE,193
|
|
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=XWI5xOtaiQ20UeiYYfh6GWgKj8bssG5GVupbKeYVfWU,15280
|
|
19
|
+
digitalkin/core/job_manager/taskiq_broker.py,sha256=ORGg2QSLDaWiCqie8ZGkbcDq7LDuWWSx7hg-SoUv99E,11544
|
|
20
|
+
digitalkin/core/job_manager/taskiq_job_manager.py,sha256=i18uu2Cikd0thaEizWK_ZSsD7G27IuqBIW57929G9wU,21432
|
|
21
|
+
digitalkin/core/task_manager/__init__.py,sha256=k9i-qIoee_1yXogyQolaVFDUQBIZU3ENbYKtjrCNmTQ,31
|
|
22
|
+
digitalkin/core/task_manager/base_task_manager.py,sha256=9njUerhlJ7s3KA7IKgpVC3DYxq_HMHSqOcDhtZKkDiU,19439
|
|
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=rUNPGK_flDdOl3-ritZif97zYHxQ7SIt_Aq_P2dymTQ,10092
|
|
26
|
+
digitalkin/core/task_manager/task_executor.py,sha256=ByON-CxRBMbaDUgL6z5XYjbrUwV9X4DGktUBa0jqIPE,12005
|
|
27
|
+
digitalkin/core/task_manager/task_session.py,sha256=iujisx6SHTP7qqQxZbMHG9xQTiDsGOsblg35zsejt30,14739
|
|
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=JE1hn1JTUPFakQOmhcTLTohC9n5-kVYUZD6ZKZKQBx8,7035
|
|
31
|
+
digitalkin/grpc_servers/module_servicer.py,sha256=eK3mZoyBt-Ym46mJUe1xqI0-cv3qLjre2-PAe8PoG60,23734
|
|
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=5y26tvoJWlKs1xljI3Rx35QcD7M4ebuEssuucfeI-ic,3626
|
|
35
|
+
digitalkin/grpc_servers/utils/grpc_error_handler.py,sha256=0wPEU4713_ZlgIilaeXJV2bi90tHwYO1myDrSLeenKk,1848
|
|
36
|
+
digitalkin/grpc_servers/utils/utility_schema_extender.py,sha256=79zivSnkuJbtvgNuLQ0jLlVjpnkOyNV8HT694P-x2Bo,4064
|
|
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=yo-WKEXu8slKnahfdtUV6ISIf5fYrTVDuvh60nQLrEw,3207
|
|
50
|
+
digitalkin/models/grpc_servers/__init__.py,sha256=0tA71nPSXgRrh9DoLvx-TSwZXdYIRUEItoadpTL1cTo,42
|
|
51
|
+
digitalkin/models/grpc_servers/models.py,sha256=kuoH2QTZwbUa8HsB5e7hm9X2S5tCqKArFKhYxGmaozE,13917
|
|
52
|
+
digitalkin/models/grpc_servers/types.py,sha256=rQ78s4nAet2jy-NIDj_PUWriT0kuGHr_w6ELjmjgBao,539
|
|
53
|
+
digitalkin/models/module/__init__.py,sha256=YDOsaX-4fYaZR6Cs3ksTr6pa0LSzo7lvSzWftLZJuwU,913
|
|
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=pcIiNd_Je3rK4xRrfSykYQJUxJR8RCepjdL_76CNlWo,14234
|
|
57
|
+
digitalkin/models/module/module_types.py,sha256=C9azCNBk76xMa-Mww8_6AiwQR8MLAsEyUOvBYxytovI,739
|
|
58
|
+
digitalkin/models/module/setup_types.py,sha256=Jh6zkSoKTdRTU2YsSoLGrVquLcYHvSeFUX9jpEiZyLU,19268
|
|
59
|
+
digitalkin/models/module/tool_cache.py,sha256=5e7PFm2-GavgDPXk9Gkw-i6DO7D2rWtsD4U5a8DRS04,6760
|
|
60
|
+
digitalkin/models/module/tool_reference.py,sha256=sgbLeIJfDr4xIgB8V_W0q2yQgekc_CqSSN3S1xr09Mk,5559
|
|
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=yA0gnv1g16u21d_InZwD8TckXwQaOvMizeLZAyqTGHo,2139
|
|
64
|
+
digitalkin/models/services/registry.py,sha256=bCdVpsiu8bqKL-7P5r3OPmllZj4MAtpsfsdlsg5TAww,1887
|
|
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=OfN3pqd5qu_WsttBcr94dX7skyoJhwHD-Rlp2sYDyAk,23635
|
|
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=yRicJTOjEnDNLNfpN3ZjGL14ZF5oD18e9kZKAdekB4U,2709
|
|
84
|
+
digitalkin/services/communication/default_communication.py,sha256=f1MA6MxIw-uuGy9sqVCcIqDAxykD7IvzjLhCm047v3E,3249
|
|
85
|
+
digitalkin/services/communication/grpc_communication.py,sha256=EoR8_CQcrRG-e2v8U1DSwQOYSaauBJb7Pt7uHOxhBnM,9442
|
|
86
|
+
digitalkin/services/cost/__init__.py,sha256=sD_a5LrnLluASOC5m5vgIqjaco-MzZJd6XhillIBHr0,400
|
|
87
|
+
digitalkin/services/cost/cost_strategy.py,sha256=cJV226YMXEG2tDhtnP1HaJvTR-n4xlfZDnVqu8JPOWw,3229
|
|
88
|
+
digitalkin/services/cost/default_cost.py,sha256=5VCb8CsIoKuvknkhiiLFGG7ECljA8_rH1WVCs8fRqHc,6020
|
|
89
|
+
digitalkin/services/cost/grpc_cost.py,sha256=_yWpKMjQ2Enz7qco80sU7yDOJGlNlhE160tBReJbwHM,9104
|
|
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=7vUR0n8_1KmG35mXsSWgfFRIGsb6_m9A3NAOIHDfHyw,12384
|
|
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=Uzt5bmdjl64dNsJk44f_d0ofJKL2piRa8b9E2Lcn1Vk,4838
|
|
99
|
+
digitalkin/services/registry/exceptions.py,sha256=tAcVXioCzDqfBvxB_P0uQpaK_LDLrFb0KpymROuqs-8,1371
|
|
100
|
+
digitalkin/services/registry/grpc_registry.py,sha256=pbDneAYt03y8mkNZFsyJYt5lwL8vXgKoAClwYVh4zjE,13805
|
|
101
|
+
digitalkin/services/registry/registry_models.py,sha256=DJEwMJg5_BewpgHDtY8xIGWj9jA9H07iYgHLCv81giY,331
|
|
102
|
+
digitalkin/services/registry/registry_strategy.py,sha256=Y2KiFR6VoioJN1Ms2HIUtqJueQTkhfZwi24Oim4ywV8,3239
|
|
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=_RXXALotIr_JToSQdhwDi3eizghKz9KrQtvC8Um80H8,808
|
|
119
|
+
digitalkin/utils/arg_parser.py,sha256=wzscRlE1Qp1gGl-lAJlkkwnbU1O2oezj6BwK_BZFBIk,3158
|
|
120
|
+
digitalkin/utils/conditional_schema.py,sha256=ZyGvY-DWkM_d0OuLElUpqnvUeDgZ2hXX3dFnKXbgL5k,8373
|
|
121
|
+
digitalkin/utils/development_mode_action.py,sha256=2hznh0ajW_4ZTysfoc0Y49161f_PQPATRgNk8NAn1_o,1623
|
|
122
|
+
digitalkin/utils/dynamic_schema.py,sha256=y5csxjuqVHjWDpnTUzxbcUuI_wou9-ibRVHQlBs_btY,15275
|
|
123
|
+
digitalkin/utils/llm_ready_schema.py,sha256=JjMug_lrQllqFoanaC091VgOqwAd-_YzcpqFlS7p778,2375
|
|
124
|
+
digitalkin/utils/package_discover.py,sha256=sa6Zp5Kape1Zr4iYiNrnZxiHDnqM06ODk6yfWHom53w,13465
|
|
125
|
+
digitalkin/utils/schema_splitter.py,sha256=lMaReyLD4kGAZSQ9MSxpNZ4D4luWANVArFqNWV_bsko,14040
|
|
126
|
+
digitalkin-0.3.2a2.dist-info/licenses/LICENSE,sha256=Ies4HFv2r2hzDRakJYxk3Y60uDFLiG-orIgeTpstnIo,20327
|
|
127
|
+
modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
|
+
modules/archetype_with_tools_module.py,sha256=kJkVhAFWG0aDDqzupOXOnV3l8j3z5bEdWos_6Z9rUP8,7303
|
|
129
|
+
modules/cpu_intensive_module.py,sha256=GZlirQDZdYuXrI46sv1q4RNAHZjL4EptHVQTvgK9zz8,8363
|
|
130
|
+
modules/dynamic_setup_module.py,sha256=tKvUWZdlYZkfAgKR0mLuFcLiFGKpVgpsz10LeJ6B2QI,11410
|
|
131
|
+
modules/minimal_llm_module.py,sha256=N9aIzZQI-miyH4AB4xTmGHpMvdSLnYyXNOD4Z3YFzis,11216
|
|
132
|
+
modules/text_transform_module.py,sha256=MfhI_Ki1U6qk379ne6oazNEu4PhO4R3cRezEcr0nGPw,7251
|
|
133
|
+
monitoring/digitalkin_observability/__init__.py,sha256=PXG4xbMbmiVNkIaVG899H9CHvcld7c0bSbaLHqKeDeo,1247
|
|
134
|
+
monitoring/digitalkin_observability/http_server.py,sha256=kFbWFQvaqq2VVwwqDozV0pRPe7RkAXsa9xCWruMlOyk,4527
|
|
135
|
+
monitoring/digitalkin_observability/interceptors.py,sha256=Sx6o0s8FSMfIGKVAtjVl7l-sIygP45od6eITl7DroBU,6219
|
|
136
|
+
monitoring/digitalkin_observability/metrics.py,sha256=XhVRE8y6tbzJqxIzEHa5MT3I0k3hgpxjzZf_R6SyjbQ,7553
|
|
137
|
+
monitoring/digitalkin_observability/prometheus.py,sha256=gDmM9ySaVwPAe7Yg84pLxmEKu0Cudezi8pK3RtqWs6g,5457
|
|
138
|
+
monitoring/tests/test_metrics.py,sha256=ugnYfAwqBPO6zA8z4afKTlyBWECTivacYSN-URQCn2E,5856
|
|
139
|
+
services/filesystem_module.py,sha256=U4dgqtuDadaXz8PJ1d_uQ_1EPncBqudAQCLUICF9yL4,7421
|
|
140
|
+
services/storage_module.py,sha256=Wz2MzLvqs2D_bnBBgtnujYcAKK2V2KFMk8K21RoepSE,6972
|
|
141
|
+
digitalkin-0.3.2a2.dist-info/METADATA,sha256=H_Vj7SYn9cFu8jpO3-zwsiQFB_NC4x_xsQT1I746tYU,29721
|
|
142
|
+
digitalkin-0.3.2a2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
143
|
+
digitalkin-0.3.2a2.dist-info/top_level.txt,sha256=AYVIesKrO0jnedQ-Muog9JBehG81WeTCNeOFoJgwsgE,51
|
|
144
|
+
digitalkin-0.3.2a2.dist-info/RECORD,,
|