digitalkin 0.3.1__py3-none-any.whl → 0.3.1.dev1__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.
@@ -107,18 +107,14 @@ class BaseModule( # noqa: PLR0904
107
107
  return self._status
108
108
 
109
109
  @classmethod
110
- async def get_secret_format(cls, *, llm_format: bool) -> str:
110
+ def get_secret_format(cls, *, llm_format: bool) -> str:
111
111
  """Get the JSON schema of the secret format model.
112
112
 
113
- Args:
114
- llm_format: If True, return LLM-optimized schema format with inlined
115
- references and simplified structure.
113
+ Raises:
114
+ NotImplementedError: If the `secret_format` is not defined.
116
115
 
117
116
  Returns:
118
- The JSON schema of the secret format as a JSON string.
119
-
120
- Raises:
121
- NotImplementedError: If the `secret_format` class attribute is not defined.
117
+ The JSON schema of the secret format as a string.
122
118
  """
123
119
  if cls.secret_format is not None:
124
120
  if llm_format:
@@ -128,18 +124,14 @@ class BaseModule( # noqa: PLR0904
128
124
  raise NotImplementedError(msg)
129
125
 
130
126
  @classmethod
131
- async def get_input_format(cls, *, llm_format: bool) -> str:
127
+ def get_input_format(cls, *, llm_format: bool) -> str:
132
128
  """Get the JSON schema of the input format model.
133
129
 
134
- Args:
135
- llm_format: If True, return LLM-optimized schema format with inlined
136
- references and simplified structure.
130
+ Raises:
131
+ NotImplementedError: If the `input_format` is not defined.
137
132
 
138
133
  Returns:
139
- The JSON schema of the input format as a JSON string.
140
-
141
- Raises:
142
- NotImplementedError: If the `input_format` class attribute is not defined.
134
+ The JSON schema of the input format as a string.
143
135
  """
144
136
  if cls.input_format is not None:
145
137
  if llm_format:
@@ -149,18 +141,14 @@ class BaseModule( # noqa: PLR0904
149
141
  raise NotImplementedError(msg)
150
142
 
151
143
  @classmethod
152
- async def get_output_format(cls, *, llm_format: bool) -> str:
144
+ def get_output_format(cls, *, llm_format: bool) -> str:
153
145
  """Get the JSON schema of the output format model.
154
146
 
155
- Args:
156
- llm_format: If True, return LLM-optimized schema format with inlined
157
- references and simplified structure.
147
+ Raises:
148
+ NotImplementedError: If the `output_format` is not defined.
158
149
 
159
150
  Returns:
160
- The JSON schema of the output format as a JSON string.
161
-
162
- Raises:
163
- NotImplementedError: If the `output_format` class attribute is not defined.
151
+ The JSON schema of the output format as a string.
164
152
  """
165
153
  if cls.output_format is not None:
166
154
  if llm_format:
@@ -170,29 +158,20 @@ class BaseModule( # noqa: PLR0904
170
158
  raise NotImplementedError(msg)
171
159
 
172
160
  @classmethod
173
- async def get_config_setup_format(cls, *, llm_format: bool) -> str:
161
+ def get_config_setup_format(cls, *, llm_format: bool) -> str:
174
162
  """Gets the JSON schema of the config setup format model.
175
163
 
176
- The config setup format is used only to initialize the module with configuration
177
- data. It includes fields marked with `json_schema_extra={"config": True}` and
178
- excludes hidden runtime fields.
179
-
180
- Dynamic schema fields are always resolved when generating the schema, as this
181
- method is typically called during module discovery or schema generation where
182
- fresh values are needed.
164
+ The config setup format is used only to initialize the module with configuration data.
165
+ The setup format is used to initialize an run the module with setup data.
183
166
 
184
- Args:
185
- llm_format: If True, return LLM-optimized schema format with inlined
186
- references and simplified structure.
167
+ Raises:
168
+ NotImplementedError: If the `setup_format` is not defined.
187
169
 
188
170
  Returns:
189
- The JSON schema of the config setup format as a JSON string.
190
-
191
- Raises:
192
- NotImplementedError: If the `setup_format` class attribute is not defined.
171
+ The JSON schema of the config setup format as a string.
193
172
  """
194
173
  if cls.setup_format is not None:
195
- setup_format = await cls.setup_format.get_clean_model(config_fields=True, hidden_fields=False, force=True)
174
+ setup_format = cls.setup_format.get_clean_model(config_fields=True, hidden_fields=False)
196
175
  if llm_format:
197
176
  return json.dumps(llm_ready_schema(setup_format), indent=2)
198
177
  return json.dumps(setup_format.model_json_schema(), indent=2)
@@ -200,28 +179,17 @@ class BaseModule( # noqa: PLR0904
200
179
  raise NotImplementedError(msg)
201
180
 
202
181
  @classmethod
203
- async def get_setup_format(cls, *, llm_format: bool) -> str:
182
+ def get_setup_format(cls, *, llm_format: bool) -> str:
204
183
  """Gets the JSON schema of the setup format model.
205
184
 
206
- The setup format is used at runtime and includes hidden fields but excludes
207
- config-only fields. This is the schema used when running the module.
208
-
209
- Dynamic schema fields are always resolved when generating the schema, as this
210
- method is typically called during module discovery or schema generation where
211
- fresh values are needed.
212
-
213
- Args:
214
- llm_format: If True, return LLM-optimized schema format with inlined
215
- references and simplified structure.
185
+ Raises:
186
+ NotImplementedError: If the `setup_format` is not defined.
216
187
 
217
188
  Returns:
218
- The JSON schema of the setup format as a JSON string.
219
-
220
- Raises:
221
- NotImplementedError: If the `setup_format` class attribute is not defined.
189
+ The JSON schema of the setup format as a string.
222
190
  """
223
191
  if cls.setup_format is not None:
224
- setup_format = await cls.setup_format.get_clean_model(config_fields=False, hidden_fields=True, force=True)
192
+ setup_format = cls.setup_format.get_clean_model(config_fields=False, hidden_fields=True)
225
193
  if llm_format:
226
194
  return json.dumps(llm_ready_schema(setup_format), indent=2)
227
195
  return json.dumps(setup_format.model_json_schema(), indent=2)
@@ -253,22 +221,17 @@ class BaseModule( # noqa: PLR0904
253
221
  return cls.input_format(**input_data)
254
222
 
255
223
  @classmethod
256
- async def create_setup_model(cls, setup_data: dict[str, Any], *, config_fields: bool = False) -> SetupModelT:
224
+ def create_setup_model(cls, setup_data: dict[str, Any], *, config_fields: bool = False) -> SetupModelT:
257
225
  """Create the setup model from the setup data.
258
226
 
259
- Creates a filtered setup model instance based on the provided data.
260
- Uses `get_clean_model()` internally to get the appropriate model class
261
- with field filtering applied.
262
-
263
227
  Args:
264
228
  setup_data: The setup data to create the model from.
265
229
  config_fields: If True, include only fields with json_schema_extra["config"] == True.
266
230
 
267
231
  Returns:
268
- An instance of the setup model with the provided data.
232
+ The setup model.
269
233
  """
270
- model_cls = await cls.setup_format.get_clean_model(config_fields=config_fields, hidden_fields=True)
271
- return model_cls(**setup_data)
234
+ return cls.setup_format.get_clean_model(config_fields=config_fields, hidden_fields=True)(**setup_data)
272
235
 
273
236
  @classmethod
274
237
  def create_secret_model(cls, secret_data: dict[str, Any]) -> SecretModelT:
@@ -473,8 +436,7 @@ class BaseModule( # noqa: PLR0904
473
436
 
474
437
  wrapper = config_setup_data.model_dump()
475
438
  wrapper["content"] = content.model_dump()
476
- setup_model = await self.create_setup_model(wrapper)
477
- await callback(setup_model)
439
+ await callback(self.create_setup_model(wrapper))
478
440
  self._status = ModuleStatus.STOPPING
479
441
  except Exception:
480
442
  logger.error("Error during module lifecyle")
@@ -12,7 +12,6 @@ from digitalkin.services.registry import DefaultRegistry, RegistryStrategy
12
12
  from digitalkin.services.services_models import ServicesMode, ServicesStrategy
13
13
  from digitalkin.services.snapshot import DefaultSnapshot, SnapshotStrategy
14
14
  from digitalkin.services.storage import DefaultStorage, GrpcStorage, StorageStrategy
15
- from digitalkin.services.user_profile import DefaultUserProfile, GrpcUserProfile, UserProfileStrategy
16
15
 
17
16
 
18
17
  class ServicesConfig(BaseModel):
@@ -54,10 +53,6 @@ class ServicesConfig(BaseModel):
54
53
  default_factory=lambda: ServicesStrategy(local=DefaultIdentity, remote=DefaultIdentity)
55
54
  )
56
55
  _config_identity: dict[str, Any | None] = PrivateAttr(default_factory=dict)
57
- _user_profile: ServicesStrategy[UserProfileStrategy] = PrivateAttr(
58
- default_factory=lambda: ServicesStrategy(local=DefaultUserProfile, remote=GrpcUserProfile)
59
- )
60
- _config_user_profile: dict[str, Any | None] = PrivateAttr(default_factory=dict)
61
56
 
62
57
  # List of valid strategy names for validation
63
58
  _valid_strategy_names: ClassVar[set[str]] = {
@@ -68,7 +63,6 @@ class ServicesConfig(BaseModel):
68
63
  "filesystem",
69
64
  "agent",
70
65
  "identity",
71
- "user_profile",
72
66
  }
73
67
 
74
68
  def __init__(
@@ -175,11 +169,6 @@ class ServicesConfig(BaseModel):
175
169
  """Get the identity service strategy class based on the current mode."""
176
170
  return self._identity[self.mode.value]
177
171
 
178
- @property
179
- def user_profile(self) -> type[UserProfileStrategy]:
180
- """Get the user_profile service strategy class based on the current mode."""
181
- return self._user_profile[self.mode.value]
182
-
183
172
  def update_mode(self, mode: ServicesMode) -> None:
184
173
  """Update the strategy mode.
185
174
 
@@ -13,7 +13,6 @@ from digitalkin.services.identity import IdentityStrategy
13
13
  from digitalkin.services.registry import RegistryStrategy
14
14
  from digitalkin.services.snapshot import SnapshotStrategy
15
15
  from digitalkin.services.storage import StorageStrategy
16
- from digitalkin.services.user_profile import UserProfileStrategy
17
16
 
18
17
  # Define type variables
19
18
  T = TypeVar(
@@ -24,8 +23,7 @@ T = TypeVar(
24
23
  | IdentityStrategy
25
24
  | RegistryStrategy
26
25
  | SnapshotStrategy
27
- | StorageStrategy
28
- | UserProfileStrategy,
26
+ | StorageStrategy,
29
27
  )
30
28
 
31
29
 
@@ -1,12 +1 @@
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
- ]
@@ -49,8 +49,8 @@ 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 maps to the user context in the proto request
53
- request = user_profile_pb2.GetUserProfileRequest(mission_id=self.mission_id)
52
+ # mission_id typically contains user context
53
+ request = user_profile_pb2.GetUserProfileRequest(user_id=self.mission_id)
54
54
  response = self.exec_grpc_query("GetUserProfile", request)
55
55
 
56
56
  if not response.success:
@@ -1,29 +1 @@
1
1
  """General utils folder."""
2
-
3
- from digitalkin.utils.dynamic_schema import (
4
- DEFAULT_TIMEOUT,
5
- DynamicField,
6
- Fetcher,
7
- ResolveResult,
8
- get_dynamic_metadata,
9
- get_fetchers,
10
- has_dynamic,
11
- resolve,
12
- resolve_safe,
13
- )
14
-
15
- # Alias for cleaner API: `Dynamic` is shorter than `DynamicField`
16
- Dynamic = DynamicField
17
-
18
- __all__ = [
19
- "DEFAULT_TIMEOUT",
20
- "Dynamic",
21
- "DynamicField",
22
- "Fetcher",
23
- "ResolveResult",
24
- "get_dynamic_metadata",
25
- "get_fetchers",
26
- "has_dynamic",
27
- "resolve",
28
- "resolve_safe",
29
- ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: digitalkin
3
- Version: 0.3.1
3
+ Version: 0.3.1.dev1
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: digitalkin-proto==0.2.0
455
+ Requires-Dist: digitalkin-proto==0.2.0.dev4
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.5
459
+ Requires-Dist: pydantic>=2.12.4
460
460
  Requires-Dist: surrealdb>=1.0.6
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
464
  Requires-Dist: taskiq-redis>=1.1.2; extra == "taskiq"
465
- Requires-Dist: taskiq[reload]>=0.12.0; extra == "taskiq"
465
+ Requires-Dist: taskiq[reload]>=0.11.20; extra == "taskiq"
466
466
  Dynamic: license-file
467
467
 
468
468
  # DigitalKin Python SDK
@@ -7,7 +7,7 @@ base_server/mock/__init__.py,sha256=YZFT-F1l_TpvJYuIPX-7kTeE1CfOjhx9YmNRXVoi-jQ,
7
7
  base_server/mock/mock_pb2.py,sha256=sETakcS3PAAm4E-hTCV1jIVaQTPEAIoVVHupB8Z_k7Y,1843
8
8
  base_server/mock/mock_pb2_grpc.py,sha256=BbOT70H6q3laKgkHfOx1QdfmCS_HxCY4wCOX84YAdG4,3180
9
9
  digitalkin/__init__.py,sha256=7LLBAba0th-3SGqcpqFO-lopWdUkVLKzLZiMtB-mW3M,162
10
- digitalkin/__version__.py,sha256=0omxzqFcYfxaU-TVHe1JXWxx_WF4A1CqJ5Rn6pCDm30,190
10
+ digitalkin/__version__.py,sha256=IXDN38pf9GYznzUOcCygvxQc4p61JPJp3xDMpPowM8o,195
11
11
  digitalkin/logger.py,sha256=8ze_tjt2G6mDTuQcsf7-UTXWP3UHZ7LZVSs_iqF4rX4,4685
12
12
  digitalkin/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  digitalkin/core/__init__.py,sha256=FJRcJ-B1Viyn-38L8XpOpZ8KOnf1I7PCDOAmKXLQhqc,71
@@ -16,7 +16,7 @@ digitalkin/core/common/factories.py,sha256=mV6SmXXrZxzIQ7DLdDtPdjapSDZt5Ua-nBIDs
16
16
  digitalkin/core/job_manager/__init__.py,sha256=gGtgQpE6vbBHxAj1SYMbcpj45Q6x8IcsqnyQPfyZZ-8,25
17
17
  digitalkin/core/job_manager/base_job_manager.py,sha256=yVaakJNIEPWc6ND1bWrUgBA-8r1yEEQZ_iNP1RnK0jY,10076
18
18
  digitalkin/core/job_manager/single_job_manager.py,sha256=7MkttI7pP0aZUHgz8apQf3kXHNI3Mbh8F5LfKwLhRpo,13789
19
- digitalkin/core/job_manager/taskiq_broker.py,sha256=ti-wb9yNsspQEDOCbL0OhUwsvcA447lLKywjvKHgVQA,11406
19
+ digitalkin/core/job_manager/taskiq_broker.py,sha256=4BbuvKZNWIVbAHmle8XdpPolHhiOv9XgCWR1VGAFg8E,11400
20
20
  digitalkin/core/job_manager/taskiq_job_manager.py,sha256=IQ2g34mA_AsbIHNiSpzxxT6KzoOEUVb_67659LgBT_4,21251
21
21
  digitalkin/core/task_manager/__init__.py,sha256=k9i-qIoee_1yXogyQolaVFDUQBIZU3ENbYKtjrCNmTQ,31
22
22
  digitalkin/core/task_manager/base_task_manager.py,sha256=ahkflSul07hMAWRX22CoJf9FxpQhWzi_oKZz3YAN6lc,19416
@@ -24,11 +24,11 @@ digitalkin/core/task_manager/local_task_manager.py,sha256=Z1gv4dCGD32LBSfMZJ4dGy
24
24
  digitalkin/core/task_manager/remote_task_manager.py,sha256=zgccmnwwtB0nyeIZlL5Ji8SY1J89z_vjA4JD9ur7HzY,3082
25
25
  digitalkin/core/task_manager/surrealdb_repository.py,sha256=eNOVrYhTiIM0jd8j46fsKDr_THbGdK3xrog2jeqSQyA,9671
26
26
  digitalkin/core/task_manager/task_executor.py,sha256=8xh5_1zuRAaGZIH_gWyNsA4T7YYaF0sl51dLS8a6aAk,10981
27
- digitalkin/core/task_manager/task_session.py,sha256=ZU2GqtWAZidG7M7K_6GgEemBKRZ_RP2pW-3ODQSqP84,13665
27
+ digitalkin/core/task_manager/task_session.py,sha256=0p8jPsPhtD0TgBNaE4AdU_0QLLHERhD5s2eV5HBLbU0,13307
28
28
  digitalkin/grpc_servers/__init__.py,sha256=ZIRMJ1Lcas8yQ106GCup6hn2UBOsx1sNk8ap0lpEDnY,72
29
29
  digitalkin/grpc_servers/_base_server.py,sha256=ZVeCDwI7w7fFbPTXPkeJb_SOuLfd2T7za3T4oCu2UWY,18680
30
30
  digitalkin/grpc_servers/module_server.py,sha256=fJncoCQ-nHK4rs1PFM99Ds0U1Axjxj1X4ILeud96AvM,10235
31
- digitalkin/grpc_servers/module_servicer.py,sha256=V8rlOUKGF4wq27dBtCpqvYUd0WVgXRDBB7jaGtofTck,19724
31
+ digitalkin/grpc_servers/module_servicer.py,sha256=8enBRV5EArfZ9g4ak9fIC4PDk4IRNoHm4e3_B-Mx6VI,19614
32
32
  digitalkin/grpc_servers/registry_server.py,sha256=v4pFpkcnWHL3Sm4CHw8wTKbSAvppEYgg_ikgdirmazc,2235
33
33
  digitalkin/grpc_servers/registry_servicer.py,sha256=5AaGacM875fHCiOmMRuqx4Q3ZsR5yvdfjuRsV4xhRcA,16485
34
34
  digitalkin/grpc_servers/utils/__init__.py,sha256=ZnAIb_F8z4NhtPypqkdmzgRSzolKnJTk3oZx5GfWH5Y,38
@@ -49,24 +49,24 @@ digitalkin/models/core/__init__.py,sha256=jOMDmPX0uSfGA9zUi0u_kOvYJ46VdIssoIhVYv
49
49
  digitalkin/models/core/job_manager_models.py,sha256=RCrW20HCTQ7l2D1JtNgEKefZpMzoN-uAXK8bPorIqqA,1120
50
50
  digitalkin/models/core/task_monitor.py,sha256=XNYCxhN9QqJZhuO2LoiWEHZwhA35dsupyfYvek_pgE8,2295
51
51
  digitalkin/models/grpc_servers/__init__.py,sha256=0tA71nPSXgRrh9DoLvx-TSwZXdYIRUEItoadpTL1cTo,42
52
- digitalkin/models/grpc_servers/models.py,sha256=unV1Wo0u3Efm7ddgYyYZZYUC_W6F0S5BQYH3xsOmXjw,8965
52
+ digitalkin/models/grpc_servers/models.py,sha256=ZQ1Gk4zmLRX_ueuwFOwXgtyG9OEPSzFa_91I_CXZmZ0,8957
53
53
  digitalkin/models/grpc_servers/types.py,sha256=rQ78s4nAet2jy-NIDj_PUWriT0kuGHr_w6ELjmjgBao,539
54
54
  digitalkin/models/module/__init__.py,sha256=nFPHp0JcAZq9ISkcSu1y2zeNyXH3V4j10oMjHzMBYBU,599
55
55
  digitalkin/models/module/module.py,sha256=k0W8vfJJFth8XdDzkHm32SyTuSf3h2qF0hSrxAfGF1s,956
56
- digitalkin/models/module/module_context.py,sha256=Ykul3foD_-dpn-b54vkTeGOYvktagMp2fFEkCI_1-5A,4905
57
- digitalkin/models/module/module_types.py,sha256=Z46NPBCf8yDot4ZT_iJfBMo8J-IhpYiJJlKJsXxe6vA,14445
56
+ digitalkin/models/module/module_context.py,sha256=0sKIvLYt0KHR4oF0MUQ4RQZDBrPjmOSaIHNMcl7vUmI,4649
57
+ digitalkin/models/module/module_types.py,sha256=FPoF5PenhfFr6gCDF7ZyyJQDkt9JZAfpiHlE8HErIuM,3699
58
58
  digitalkin/models/services/__init__.py,sha256=jhfVw6egq0OcHmos_fypH9XFehbHTBw09wluVFVFEyw,226
59
59
  digitalkin/models/services/cost.py,sha256=9PXvd5RrIk9vCrRjcUGQ9ZyAokEbwLg4s0RfnE-aLP4,1616
60
60
  digitalkin/models/services/storage.py,sha256=wp7F-AvTsU46ujGPcguqM5kUKRZx4399D4EGAAJt2zs,1143
61
61
  digitalkin/modules/__init__.py,sha256=VwVbKok81NGyPIBZgEj_SR-59G8tTlSb4eBJI9W6Vx4,281
62
- digitalkin/modules/_base_module.py,sha256=g9QhgZAkTOei7_eB76Yg6WX87noN2G8V016FF6guTEk,18359
62
+ digitalkin/modules/_base_module.py,sha256=UDLPbsVqlRdvT1weJ_Skzgv7R16TOyfSWeddg5ZqxzI,16513
63
63
  digitalkin/modules/archetype_module.py,sha256=lOe3yYufwfylZR_VGy1w-zqdqVaMI_JANfKkbH9eODE,471
64
64
  digitalkin/modules/tool_module.py,sha256=rLJfdYMWddiUgPLBDGG_UcHnRCHEeaqX6Fdp4DOUaCs,472
65
65
  digitalkin/modules/trigger_handler.py,sha256=qPNMi-8NHqscOxciHeaXtpwjXApT3YzjMF23zQAjaZY,1770
66
66
  digitalkin/services/__init__.py,sha256=LqGk_5DJy8Bzz62ajIq9jCeYNKQUIgtSCpafZk15FLc,910
67
67
  digitalkin/services/base_strategy.py,sha256=yA9KUJGRKuuaxA6l3GcMv8zKfWoIsW03UxJT80Yea2I,766
68
- digitalkin/services/services_config.py,sha256=r9h6iYdsIifyBxaEEuZ4cKRPo3u-703Ea9hOjiK3GLU,8063
69
- digitalkin/services/services_models.py,sha256=0HmveQ1H-dvGRl1ljFSpWNlLWIiDhbhyqKUxq5UjbLo,1759
68
+ digitalkin/services/services_config.py,sha256=JnyzZcG7OYBelwgn-wdVgY2n3yFTEkwLPHRZB8Tjw10,7468
69
+ digitalkin/services/services_models.py,sha256=5zXkWcfKnXGwQi9sN4OAL3XrgqOcmsTl8ai5Mi4RPsw,1668
70
70
  digitalkin/services/agent/__init__.py,sha256=vJc8JN0pdtA8ecypLBeHrwAUIW6H2C8NyW-dk24rTpk,244
71
71
  digitalkin/services/agent/agent_strategy.py,sha256=42Q9RciHX6tg3CgDQkbrlIx4h_TX0WIuSpLmCjitVmA,492
72
72
  digitalkin/services/agent/default_agent.py,sha256=4N_E_eQxJGOx1KVUUg5jNOje-3ncMxF3ePB-uDuGrJc,345
@@ -95,25 +95,23 @@ digitalkin/services/storage/__init__.py,sha256=T-ocYLLphudkQgzvG47jBOm5GQsRFRIGA
95
95
  digitalkin/services/storage/default_storage.py,sha256=D8e-UYUkb2GvDEHMWcN3EkcIKXWA8DrsaQsXVjoXAYQ,7975
96
96
  digitalkin/services/storage/grpc_storage.py,sha256=fFg83gvwJZW1a7f2AwSrxJFx949-KbNwpakPaCuGEvo,7217
97
97
  digitalkin/services/storage/storage_strategy.py,sha256=sERF5tIJnzpb1iNqTXic9xRkGaXMifo6kb709ubB-Yo,8848
98
- digitalkin/services/user_profile/__init__.py,sha256=RKEZCsgCHS7fmswhWgUoQd6vZ_1pYnRqERoF8fmu7jw,434
98
+ digitalkin/services/user_profile/__init__.py,sha256=zwD91Q6Q8iL6RXFB5GmtE6ldFQXU6_OVir6dVXAGKqI,35
99
99
  digitalkin/services/user_profile/default_user_profile.py,sha256=46DH_VBCHKXJVyagVcc8kH5sLwRK54Fe_0ahqYJ1maA,1847
100
- digitalkin/services/user_profile/grpc_user_profile.py,sha256=VBjXTySGBJO7cQ_hMsdYSUUyk3KFykeQqed82LlTihk,2811
100
+ digitalkin/services/user_profile/grpc_user_profile.py,sha256=97-19z7ioBVFeiF3Fc-gejY84pWuRZQXVNPr56gksg8,2794
101
101
  digitalkin/services/user_profile/user_profile_strategy.py,sha256=luzpPvm2f4xXajWAbRGSk5YCIPBUrn5EOrXSz8NL1So,1148
102
- digitalkin/utils/__init__.py,sha256=gDoEk5CP8tiBmIq-38aPhIMlnDUiqRrduuVXhpSPQnc,541
102
+ digitalkin/utils/__init__.py,sha256=sJnY-ZUgsjMfojAjONC1VN14mhgIDnzyOlGkw21rRnM,28
103
103
  digitalkin/utils/arg_parser.py,sha256=wzscRlE1Qp1gGl-lAJlkkwnbU1O2oezj6BwK_BZFBIk,3158
104
104
  digitalkin/utils/development_mode_action.py,sha256=2hznh0ajW_4ZTysfoc0Y49161f_PQPATRgNk8NAn1_o,1623
105
- digitalkin/utils/dynamic_schema.py,sha256=5-B3dBGlCYYv6uRJkgudtc0ZpBOTYxl0yKedDGsteZQ,15184
106
105
  digitalkin/utils/llm_ready_schema.py,sha256=JjMug_lrQllqFoanaC091VgOqwAd-_YzcpqFlS7p778,2375
107
106
  digitalkin/utils/package_discover.py,sha256=sa6Zp5Kape1Zr4iYiNrnZxiHDnqM06ODk6yfWHom53w,13465
108
- digitalkin-0.3.1.dist-info/licenses/LICENSE,sha256=Ies4HFv2r2hzDRakJYxk3Y60uDFLiG-orIgeTpstnIo,20327
107
+ digitalkin-0.3.1.dev1.dist-info/licenses/LICENSE,sha256=Ies4HFv2r2hzDRakJYxk3Y60uDFLiG-orIgeTpstnIo,20327
109
108
  modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
109
  modules/cpu_intensive_module.py,sha256=ejB9XPnFfA0uCuFUQbM3fy5UYfqqAlF36rv_P5Ri8ho,8363
111
- modules/dynamic_setup_module.py,sha256=GPJwfaPZUkcOlMX9d_sYUDzT8aPrfjrCCQ4OyPtulD8,12507
112
110
  modules/minimal_llm_module.py,sha256=Ijld__ZnhzfLwpXD1XVkLZ7jyKZKyOFZczOpiPttJZc,11216
113
111
  modules/text_transform_module.py,sha256=bwPSnEUthZQyfLwcTLo52iAxItAoknkLh8Y3m5aywaY,7251
114
112
  services/filesystem_module.py,sha256=71Mcja8jCQqiqFHPdsIXplFIHTvgkxRhp0TRXuCfgkk,7430
115
113
  services/storage_module.py,sha256=ybTMqmvGaTrR8PqJ4FU0cwxaDjT36TskVrGoetTGmno,6955
116
- digitalkin-0.3.1.dist-info/METADATA,sha256=TLih9e_7ssTTi6R8maDOVg7J4TZkdILV_qR9jYbGjqk,29709
117
- digitalkin-0.3.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
118
- digitalkin-0.3.1.dist-info/top_level.txt,sha256=gcjqlyrZuLjIyxrOIavCQM_olpr6ND5kPKkZd2j0xGo,40
119
- digitalkin-0.3.1.dist-info/RECORD,,
114
+ digitalkin-0.3.1.dev1.dist-info/METADATA,sha256=Aw7Z4ekcYlhBCCGu7x1gut_2YhOaOvxCoWlNPNBgAOU,29720
115
+ digitalkin-0.3.1.dev1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
116
+ digitalkin-0.3.1.dev1.dist-info/top_level.txt,sha256=gcjqlyrZuLjIyxrOIavCQM_olpr6ND5kPKkZd2j0xGo,40
117
+ digitalkin-0.3.1.dev1.dist-info/RECORD,,