digitalkin 0.3.3.dev4__tar.gz → 0.3.3.dev6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/PKG-INFO +1 -1
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/pyproject.toml +1 -1
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/__version__.py +1 -1
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/job_manager/taskiq_broker.py +44 -3
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/job_manager/taskiq_job_manager.py +3 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/tool_reference.py +17 -9
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin.egg-info/PKG-INFO +1 -1
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/LICENSE +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/README.md +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/mock/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/mock/mock_pb2.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/server_async_insecure.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/server_async_secure.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/server_sync_insecure.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/server_sync_secure.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/modules/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/modules/archetype_with_tools_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/modules/cpu_intensive_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/modules/dynamic_setup_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/modules/minimal_llm_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/modules/text_transform_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/monitoring/tests/test_metrics.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/services/filesystem_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/services/storage_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/setup.cfg +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/common/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/common/factories.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/job_manager/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/job_manager/single_job_manager.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/profiling/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/profiling/asyncio_monitor.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/profiling/task_profiler.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/task_executor.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/task_session.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/_base_server.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/module_server.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/module_servicer.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/logger.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/base_mixin.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/callback_mixin.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/chat_history_mixin.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/cost_mixin.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/file_history_mixin.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/logger_mixin.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/mixins/storage_mixin.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/core/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/core/job_manager_models.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/core/task_monitor.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/grpc_servers/models.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/grpc_servers/types.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/base_types.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/module_context.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/module_types.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/request_metadata.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/select_schema.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/setup_types.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/tool_cache.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/utility.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/services/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/services/cost.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/services/registry.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/services/storage.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/_base_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/archetype_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/tool_module.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/trigger_handler.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/triggers/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/py.typed +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/agent/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/agent/agent_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/agent/default_agent.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/base_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/communication/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/communication/communication_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/communication/default_communication.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/communication/grpc_communication.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/cost/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/cost/cost_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/cost/default_cost.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/cost/grpc_cost.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/filesystem/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/identity/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/identity/default_identity.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/identity/identity_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/default_registry.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/exceptions.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/grpc_registry.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/registry_models.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/registry_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/services_config.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/services_models.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/setup/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/setup/default_setup.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/setup/grpc_setup.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/setup/setup_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/snapshot/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/snapshot/default_snapshot.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/snapshot/snapshot_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/storage/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/storage/default_storage.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/storage/grpc_storage.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/storage/storage_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/task_manager/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/task_manager/default_task_manager.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/task_manager/grpc_task_manager.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/task_manager/task_manager_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/user_profile/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/__init__.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/arg_parser.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/conditional_schema.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/development_mode_action.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/dynamic_schema.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/llm_ready_schema.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/package_discover.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/proto_utils.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/schema_splitter.py +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin.egg-info/SOURCES.txt +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin.egg-info/dependency_links.txt +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin.egg-info/requires.txt +0 -0
- {digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin.egg-info/top_level.txt +0 -0
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/job_manager/taskiq_broker.py
RENAMED
|
@@ -61,15 +61,36 @@ class PickleFormatter(TaskiqFormatter):
|
|
|
61
61
|
def loads(self, message: bytes) -> TaskiqMessage: # Required by TaskiqFormatter interface # noqa: PLR6301
|
|
62
62
|
"""Recreate Python object from bytes.
|
|
63
63
|
|
|
64
|
+
Non-pickle messages (e.g. raw JSON left in the queue by other producers)
|
|
65
|
+
are logged and converted to a no-op ``TaskiqMessage`` so that Taskiq
|
|
66
|
+
acknowledges (consumes) them instead of nack-ing and re-delivering in a loop.
|
|
67
|
+
|
|
64
68
|
Args:
|
|
65
69
|
message: Broker message from bytes.
|
|
66
70
|
|
|
67
71
|
Returns:
|
|
68
72
|
message with TaskIQ format
|
|
69
73
|
"""
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
74
|
+
try:
|
|
75
|
+
json_str = pickle.loads( # noqa: S301
|
|
76
|
+
message
|
|
77
|
+
) # Pickle: required for Taskiq deserialization (internal broker messages only)
|
|
78
|
+
except Exception as e:
|
|
79
|
+
logger.warning(
|
|
80
|
+
"Discarding non-pickle message (size=%d, preview=%r): %s",
|
|
81
|
+
len(message),
|
|
82
|
+
message[:80],
|
|
83
|
+
e,
|
|
84
|
+
)
|
|
85
|
+
# Return a no-op message that Taskiq will ack and discard
|
|
86
|
+
# (no task named "__discarded__" exists, so Taskiq logs a warning and moves on)
|
|
87
|
+
return TaskiqMessage(
|
|
88
|
+
task_id="__discarded__",
|
|
89
|
+
task_name="__discarded__",
|
|
90
|
+
labels={"_discarded": "true"},
|
|
91
|
+
args=[],
|
|
92
|
+
kwargs={},
|
|
93
|
+
)
|
|
73
94
|
return model_validate(TaskiqMessage, json_str)
|
|
74
95
|
|
|
75
96
|
|
|
@@ -208,6 +229,17 @@ RSTREAM_PRODUCER = TaskiqBrokerConfig.define_producer()
|
|
|
208
229
|
TASKIQ_BROKER = TaskiqBrokerConfig.define_broker()
|
|
209
230
|
|
|
210
231
|
|
|
232
|
+
@TASKIQ_BROKER.task(task_name="__discarded__")
|
|
233
|
+
async def _discarded_message() -> None: # noqa: RUF029
|
|
234
|
+
"""No-op sink for poison messages consumed by PickleFormatter.
|
|
235
|
+
|
|
236
|
+
Taskiq's receiver early-returns without acking when a task name is unknown,
|
|
237
|
+
so we register this dummy task to ensure the message is executed (no-op),
|
|
238
|
+
acked, and removed from the queue.
|
|
239
|
+
"""
|
|
240
|
+
logger.debug("Poison message acknowledged and discarded")
|
|
241
|
+
|
|
242
|
+
|
|
211
243
|
@TASKIQ_BROKER.task
|
|
212
244
|
async def run_start_module(
|
|
213
245
|
mission_id: str,
|
|
@@ -335,6 +367,7 @@ async def run_config_module(
|
|
|
335
367
|
services_mode: ServicesMode,
|
|
336
368
|
config_setup_data: dict,
|
|
337
369
|
request_metadata: dict[str, str] | None = None,
|
|
370
|
+
registry_config: dict[str, Any] | None = None,
|
|
338
371
|
context: Context = TaskiqDepends(),
|
|
339
372
|
) -> None:
|
|
340
373
|
"""TaskIQ task allowing a module to compute in the background asynchronously.
|
|
@@ -347,9 +380,17 @@ async def run_config_module(
|
|
|
347
380
|
services_mode: ServicesMode,
|
|
348
381
|
config_setup_data: dict,
|
|
349
382
|
request_metadata: gRPC request metadata (headers) to forward to the module.
|
|
383
|
+
registry_config: Registry config (client_config) forwarded from the main process.
|
|
350
384
|
context: Allow TaskIQ context access
|
|
351
385
|
"""
|
|
352
386
|
logger.info("Starting config module with services_mode: %s", services_mode)
|
|
387
|
+
|
|
388
|
+
# Restore registry config lost during pickle (worker re-imports class without runtime mutations)
|
|
389
|
+
if registry_config is not None:
|
|
390
|
+
if "services_config_params" not in module_class.__dict__:
|
|
391
|
+
module_class.services_config_params = dict(module_class.services_config_params)
|
|
392
|
+
module_class.services_config_params["registry"] = registry_config
|
|
393
|
+
|
|
353
394
|
services_config = ServicesConfig(
|
|
354
395
|
services_config_strategies=module_class.services_config_strategies,
|
|
355
396
|
services_config_params=module_class.services_config_params,
|
|
@@ -245,6 +245,8 @@ class TaskiqJobManager(BaseJobManager[InputModelT, OutputModelT, SetupModelT]):
|
|
|
245
245
|
raise TypeError(msg)
|
|
246
246
|
|
|
247
247
|
# Submit task to Taskiq
|
|
248
|
+
registry_config = self.module_class.services_config_params.get("registry")
|
|
249
|
+
|
|
248
250
|
running_task: AsyncTaskiqTask[Any] = await task.kiq(
|
|
249
251
|
mission_id,
|
|
250
252
|
setup_id,
|
|
@@ -253,6 +255,7 @@ class TaskiqJobManager(BaseJobManager[InputModelT, OutputModelT, SetupModelT]):
|
|
|
253
255
|
self.services_mode,
|
|
254
256
|
config_setup_data.model_dump(mode="json"), # SetupModelT generic bound to BaseModel # type: ignore
|
|
255
257
|
request_metadata,
|
|
258
|
+
registry_config,
|
|
256
259
|
)
|
|
257
260
|
|
|
258
261
|
job_id = running_task.task_id
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/tool_reference.py
RENAMED
|
@@ -219,18 +219,26 @@ def tool_reference_input(
|
|
|
219
219
|
"""
|
|
220
220
|
return [{"setupId": t.setup_id, "triggers": t.triggers} for t in v.selected_tools]
|
|
221
221
|
|
|
222
|
+
schema = _ToolReferenceInputSchema(
|
|
223
|
+
setup_ids=setup_ids or [],
|
|
224
|
+
module_ids=module_ids,
|
|
225
|
+
tag_ids=tag_ids or [],
|
|
226
|
+
categories=categories or [],
|
|
227
|
+
max_tools=max_tools,
|
|
228
|
+
min_tools=min_tools,
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
# When min_tools > 0, omit the default so the field is required — an empty
|
|
232
|
+
# ToolReference can never satisfy the constraint, and Pydantic v2 ignores
|
|
233
|
+
# validate_default inside Annotated/Field, so the only reliable way to
|
|
234
|
+
# prevent silent acceptance of the default is to not have one.
|
|
235
|
+
field = Field() if min_tools > 0 else Field(default_factory=ToolReference)
|
|
236
|
+
|
|
222
237
|
return Annotated[ # type: ignore[return-value] # Returns Annotated type, not ToolReference directly
|
|
223
238
|
ToolReference,
|
|
224
239
|
BeforeValidator(convert_to_tool_reference),
|
|
225
240
|
AfterValidator(validate_tools_count),
|
|
226
241
|
PlainSerializer(serialize_to_list, return_type=list[dict[str, object]]),
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
module_ids=module_ids,
|
|
230
|
-
tag_ids=tag_ids or [],
|
|
231
|
-
categories=categories or [],
|
|
232
|
-
max_tools=max_tools,
|
|
233
|
-
min_tools=min_tools,
|
|
234
|
-
),
|
|
235
|
-
Field(default_factory=ToolReference),
|
|
242
|
+
schema,
|
|
243
|
+
field,
|
|
236
244
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/server_async_insecure.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/base_server/server_sync_insecure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/examples/modules/archetype_with_tools_module.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/job_manager/base_job_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/profiling/asyncio_monitor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/profiling/task_profiler.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/task_executor.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/core/task_manager/task_session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/module_server.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/module_servicer.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/utils/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/grpc_servers/utils/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/core/job_manager_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/grpc_servers/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/grpc_servers/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/module_context.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/module_types.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/request_metadata.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/models/module/select_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/agent/agent_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/agent/default_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/communication/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/cost/cost_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/cost/default_cost.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/filesystem/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/identity/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/identity/default_identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/default_registry.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/exceptions.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/grpc_registry.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/registry/registry_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/setup/default_setup.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/setup/setup_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/snapshot/__init__.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/snapshot/default_snapshot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/storage/default_storage.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/storage/grpc_storage.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/storage/storage_strategy.py
RENAMED
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/services/user_profile/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin/utils/development_mode_action.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-0.3.3.dev4 → digitalkin-0.3.3.dev6}/src/digitalkin.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|