digitalkin 1.0.0.dev3__tar.gz → 1.0.0.dev4__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-1.0.0.dev3 → digitalkin-1.0.0.dev4}/PKG-INFO +2 -2
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/pyproject.toml +6 -6
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/__version__.py +1 -1
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/job_manager/single_job_manager.py +9 -2
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/gateway_constants.py +0 -2
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/stream_registry.py +12 -58
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/gateway.py +0 -1
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin.egg-info/PKG-INFO +2 -2
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin.egg-info/requires.txt +1 -1
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/LICENSE +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/README.md +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/mock/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/mock/mock_pb2.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/server_async_insecure.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/server_async_secure.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/server_sync_insecure.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/server_sync_secure.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/echo_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/models/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/models/input.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/models/output.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/models/secret.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/models/setup.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/server.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/triggers/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/triggers/message_trigger.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/modules/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/modules/archetype_with_tools_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/modules/cpu_intensive_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/modules/dynamic_setup_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/modules/minimal_llm_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/modules/text_transform_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/monitoring/tests/test_metrics.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/client.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/echo_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/models/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/models/input.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/models/output.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/models/secret.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/models/setup.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/server.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/triggers/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/triggers/message_trigger.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/services/filesystem_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/services/storage_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/setup.cfg +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/community/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/community/agno/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/community/agno/agno_adapter.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/community/agno/agui_tools.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/community/agno/hitl.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/common/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/common/factories.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/job_manager/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/profiling/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/profiling/step_timer.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/profiling/task_profiler.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/bulkhead.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/graceful_shutdown.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/session_reaper.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/task_supervisor.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/watchdog.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/module_runner.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/instrumented.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/proto_streams.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/redis_checkpoint.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/redis_client.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/redis_idempotency.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/redis_signal.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/redis_state.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/redis_streams.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/shadow.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/task_executor.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/task_session.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/task_wrapper.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/_base_server.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/gateway_servicer.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/interceptors/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/interceptors/circuit_breaker_interceptor.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/module_server.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/module_servicer.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/stream_error_codes.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/stream_session.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/utils/circuit_breaker.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/logger.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/mixins/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/mixins/agui_mixin.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/mixins/base_mixin.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/mixins/cost_mixin.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/mixins/file_history_mixin.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/mixins/logger_mixin.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/mixins/storage_mixin.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/core/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/core/job_manager_models.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/core/task_monitor.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/events/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/events/agent_events.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/grpc_servers/models.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/grpc_servers/types.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/ag_ui.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/base_types.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/module_context.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/module_types.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/request_metadata.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/select_schema.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/setup_types.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/tool_cache.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/tool_reference.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/utility.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/services/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/services/cost.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/services/registry.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/services/storage.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/consumer.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/profiling.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/redis.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/server/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/server/channel.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/server/grpc.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/server/server.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/utils/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/utils/channel.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/_base_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/archetype_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/tool_module.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/trigger_handler.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/triggers/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/py.typed +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/base_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/communication/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/communication/communication_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/communication/default_communication.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/communication/gateway_consumer.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/communication/grpc_communication.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/cost/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/cost/cost_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/cost/default_cost.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/cost/grpc_cost.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/filesystem/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/identity/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/identity/default_identity.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/identity/identity_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/default_registry.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/exceptions.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/grpc_registry.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/registry_models.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/registry_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/services_config.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/services_models.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/setup/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/setup/default_setup.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/setup/grpc_setup.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/setup/setup_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/storage/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/storage/default_storage.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/storage/grpc_storage.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/storage/storage_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/task_manager/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/task_manager/default_task_manager.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/task_manager/redis_task_manager.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/task_manager/task_manager_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/user_profile/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/__init__.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/arg_parser.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/conditional_schema.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/development_mode_action.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/dynamic_schema.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/llm_ready_schema.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/package_discover.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/proto_utils.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/utils/schema_splitter.py +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin.egg-info/SOURCES.txt +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin.egg-info/dependency_links.txt +0 -0
- {digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalkin
|
|
3
|
-
Version: 1.0.0.
|
|
3
|
+
Version: 1.0.0.dev4
|
|
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
|
|
@@ -458,7 +458,7 @@ Requires-Dist: anyio>=4.13.0
|
|
|
458
458
|
Requires-Dist: grpcio-health-checking==1.80.0
|
|
459
459
|
Requires-Dist: grpcio-reflection==1.80.0
|
|
460
460
|
Requires-Dist: grpcio-status==1.80.0
|
|
461
|
-
Requires-Dist: pydantic>=2.
|
|
461
|
+
Requires-Dist: pydantic>=2.13.4
|
|
462
462
|
Requires-Dist: pydantic-settings>=2.14.0
|
|
463
463
|
Requires-Dist: redis[hiredis]<8,>=7.4.0
|
|
464
464
|
Provides-Extra: performance
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"grpcio-health-checking==1.80.0",
|
|
34
34
|
"grpcio-reflection==1.80.0",
|
|
35
35
|
"grpcio-status==1.80.0",
|
|
36
|
-
"pydantic>=2.
|
|
36
|
+
"pydantic>=2.13.4",
|
|
37
37
|
"pydantic-settings>=2.14.0",
|
|
38
38
|
"redis[hiredis]>=7.4.0,<8",
|
|
39
39
|
]
|
|
40
|
-
version = "1.0.0.
|
|
40
|
+
version = "1.0.0.dev4"
|
|
41
41
|
|
|
42
42
|
[project.optional-dependencies]
|
|
43
43
|
performance = [ "uvloop>=0.21" ]
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
dev = [
|
|
60
60
|
"build>=1.5.0",
|
|
61
61
|
"bump-my-version>=1.3.0",
|
|
62
|
-
"cryptography>=
|
|
63
|
-
"mypy>=
|
|
62
|
+
"cryptography>=48.0.0",
|
|
63
|
+
"mypy>=2.0.0",
|
|
64
64
|
"pre-commit>=4.6.0",
|
|
65
65
|
"pyright>=1.1.409",
|
|
66
66
|
"ruff>=0.15.12",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"types-grpcio-health-checking>=1.0.0.20260408",
|
|
69
69
|
"types-grpcio-reflection>=1.0.0.20260408",
|
|
70
70
|
"types-grpcio>=1.0.0.20260408",
|
|
71
|
-
"types-protobuf>=7.34.1.
|
|
72
|
-
"typos>=1.
|
|
71
|
+
"types-protobuf>=7.34.1.20260503",
|
|
72
|
+
"typos>=1.46.0",
|
|
73
73
|
]
|
|
74
74
|
docs = [
|
|
75
75
|
"griffe-inherited-docstrings>=1.1.3",
|
|
@@ -83,6 +83,13 @@ class SingleJobManager(BaseJobManager[InputModelT, OutputModelT, SetupModelT]):
|
|
|
83
83
|
self._redis_client = redis_client
|
|
84
84
|
self._stream_writers: dict[str, RedisStreamWriter] = {}
|
|
85
85
|
|
|
86
|
+
# Pool one RedisTaskManager across all preload_instance calls.
|
|
87
|
+
# The class is task-id-stateless; its `_listener` is already a
|
|
88
|
+
# process-wide singleton via SharedRedisListener.get_or_create.
|
|
89
|
+
from digitalkin.services.task_manager.redis_task_manager import RedisTaskManager
|
|
90
|
+
|
|
91
|
+
self._task_manager_strategy = RedisTaskManager(self._redis_client)
|
|
92
|
+
|
|
86
93
|
async def start(self) -> None:
|
|
87
94
|
"""Start manager (no-op, no external connections needed)."""
|
|
88
95
|
|
|
@@ -273,7 +280,6 @@ class SingleJobManager(BaseJobManager[InputModelT, OutputModelT, SetupModelT]):
|
|
|
273
280
|
``(module, job_id, callback)`` — pass to ``run_preloaded``.
|
|
274
281
|
"""
|
|
275
282
|
from digitalkin.core.profiling.step_timer import StepTimer
|
|
276
|
-
from digitalkin.services.task_manager.redis_task_manager import RedisTaskManager
|
|
277
283
|
|
|
278
284
|
timer = StepTimer()
|
|
279
285
|
job_id = job_id or str(uuid.uuid4())
|
|
@@ -288,7 +294,8 @@ class SingleJobManager(BaseJobManager[InputModelT, OutputModelT, SetupModelT]):
|
|
|
288
294
|
)
|
|
289
295
|
timer.mark("factory_create")
|
|
290
296
|
|
|
291
|
-
|
|
297
|
+
# Reuse the pooled RedisTaskManager — task-id-stateless, safe to share.
|
|
298
|
+
module.context.task_manager = self._task_manager_strategy
|
|
292
299
|
timer.mark("redis_task_manager")
|
|
293
300
|
|
|
294
301
|
if callback is None:
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/gateway_constants.py
RENAMED
|
@@ -19,7 +19,6 @@ _prof = ProfilingSettings()
|
|
|
19
19
|
# Redis Key Patterns (not configurable — structural)
|
|
20
20
|
# ══════════════════════════════════════════════════════════════════
|
|
21
21
|
|
|
22
|
-
REDIS_KEY_SESSION = "gateway:session:{task_id}"
|
|
23
22
|
REDIS_KEY_STREAM = "task:{task_id}:stream"
|
|
24
23
|
REDIS_KEY_INPUT_STREAM = "task:{task_id}:input"
|
|
25
24
|
REDIS_KEY_CURSOR = "task:{task_id}:cursor"
|
|
@@ -31,7 +30,6 @@ REDIS_KEY_SIGNAL_CHANNEL = "signal_ch:{task_id}"
|
|
|
31
30
|
|
|
32
31
|
MAX_STREAMS = _gw.max_streams
|
|
33
32
|
MAX_LOCAL_CACHE = _gw.max_local_cache
|
|
34
|
-
SESSION_STATE_TTL_S = _gw.session_state_ttl
|
|
35
33
|
DIAL_BACK_BIDI_TIMEOUT_S = _gw.dial_back_bidi_timeout_s
|
|
36
34
|
|
|
37
35
|
# ══════════════════════════════════════════════════════════════════
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/stream_registry.py
RENAMED
|
@@ -6,10 +6,9 @@ bound to the dial-back asyncio task: the task's ``finally`` calls
|
|
|
6
6
|
``BaseException`` propagated past finally), the task done-callback
|
|
7
7
|
force-unregisters as a backstop.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
were getting cut off when their heartbeat zset entry went stale.
|
|
9
|
+
No Redis I/O on register/unregister — the gateway is fully local for
|
|
10
|
+
session lifecycle. The previous Redis session-state mirror had no readers
|
|
11
|
+
once the heartbeat reaper was retired.
|
|
13
12
|
"""
|
|
14
13
|
|
|
15
14
|
from __future__ import annotations
|
|
@@ -18,13 +17,10 @@ import asyncio
|
|
|
18
17
|
from collections import OrderedDict
|
|
19
18
|
from typing import TYPE_CHECKING, Any
|
|
20
19
|
|
|
21
|
-
from redis.exceptions import RedisError
|
|
22
|
-
|
|
23
20
|
from digitalkin.core.resilience.task_supervisor import log_unhandled
|
|
24
21
|
from digitalkin.grpc_servers.gateway_constants import (
|
|
25
22
|
MAX_LOCAL_CACHE,
|
|
26
23
|
MAX_STREAMS,
|
|
27
|
-
SESSION_STATE_TTL_S,
|
|
28
24
|
)
|
|
29
25
|
from digitalkin.logger import logger
|
|
30
26
|
|
|
@@ -32,62 +28,38 @@ if TYPE_CHECKING:
|
|
|
32
28
|
from digitalkin.core.task_manager.redis.redis_client import RedisClient
|
|
33
29
|
from digitalkin.grpc_servers.stream_session import StreamSession
|
|
34
30
|
|
|
35
|
-
# Lua: atomic session-state write on register.
|
|
36
|
-
# KEYS: [1]=session_key (empty string to skip)
|
|
37
|
-
# ARGV: [1]=setup_id, [2]=mission_id, [3]=session_ttl
|
|
38
|
-
# Returns 1 unconditionally — capacity is enforced process-locally now.
|
|
39
|
-
_LUA_REGISTER = """
|
|
40
|
-
local session_key = KEYS[1]
|
|
41
|
-
if session_key ~= '' then
|
|
42
|
-
redis.call('HSET', session_key, 'status', 'starting', 'setup_id', ARGV[1], 'mission_id', ARGV[2])
|
|
43
|
-
redis.call('EXPIRE', session_key, tonumber(ARGV[3]))
|
|
44
|
-
end
|
|
45
|
-
return 1
|
|
46
|
-
"""
|
|
47
|
-
|
|
48
31
|
|
|
49
32
|
class StreamRegistry:
|
|
50
33
|
"""Tracks active stream sessions per-instance + supervises spawned tasks.
|
|
51
34
|
|
|
52
35
|
Local dict is a bounded LRU cache of sessions with active BiDi
|
|
53
36
|
connections on this gateway instance. Capacity is enforced
|
|
54
|
-
process-locally against ``max_streams``.
|
|
55
|
-
mirrors session metadata for observability.
|
|
37
|
+
process-locally against ``max_streams``.
|
|
56
38
|
"""
|
|
57
39
|
|
|
58
40
|
_local_cache: OrderedDict[str, StreamSession]
|
|
59
41
|
_max_local: int
|
|
60
42
|
_max_streams: int
|
|
61
43
|
_monitored_tasks: set[asyncio.Task[Any]]
|
|
62
|
-
_redis_client: RedisClient
|
|
63
|
-
|
|
64
|
-
@staticmethod
|
|
65
|
-
def session_key(task_id: str) -> str:
|
|
66
|
-
"""Redis hash key for session metadata.
|
|
67
|
-
|
|
68
|
-
Returns:
|
|
69
|
-
Key in the format ``gateway:session:{task_id}``.
|
|
70
|
-
"""
|
|
71
|
-
return f"gateway:session:{task_id}"
|
|
72
44
|
|
|
73
45
|
def __init__(
|
|
74
46
|
self,
|
|
75
|
-
redis_client: RedisClient,
|
|
47
|
+
redis_client: RedisClient | None = None, # noqa: ARG002 — kept for back-compat with callers
|
|
76
48
|
max_streams: int = MAX_STREAMS,
|
|
77
49
|
max_local: int = MAX_LOCAL_CACHE,
|
|
78
50
|
) -> None:
|
|
79
51
|
"""Initialize the stream registry.
|
|
80
52
|
|
|
81
53
|
Args:
|
|
54
|
+
redis_client: Unused (kept for back-compat); the registry no
|
|
55
|
+
longer touches Redis on register/unregister.
|
|
82
56
|
max_streams: Maximum concurrent streams on this instance.
|
|
83
57
|
max_local: Maximum sessions cached locally on this instance.
|
|
84
|
-
redis_client: Redis client for the optional session-state mirror.
|
|
85
58
|
"""
|
|
86
59
|
self._local_cache = OrderedDict()
|
|
87
60
|
self._max_local = max_local
|
|
88
61
|
self._max_streams = max_streams
|
|
89
62
|
self._monitored_tasks = set()
|
|
90
|
-
self._redis_client = redis_client
|
|
91
63
|
|
|
92
64
|
@property
|
|
93
65
|
def active_count(self) -> int:
|
|
@@ -97,15 +69,15 @@ class StreamRegistry:
|
|
|
97
69
|
async def register(
|
|
98
70
|
self,
|
|
99
71
|
session: StreamSession,
|
|
100
|
-
setup_id: str = "",
|
|
101
|
-
mission_id: str = "",
|
|
72
|
+
setup_id: str = "", # noqa: ARG002 — accepted for back-compat with callers
|
|
73
|
+
mission_id: str = "", # noqa: ARG002 — accepted for back-compat with callers
|
|
102
74
|
) -> bool:
|
|
103
75
|
"""Register a new session. Capacity is enforced process-locally.
|
|
104
76
|
|
|
105
77
|
Args:
|
|
106
78
|
session: The stream session to register.
|
|
107
|
-
setup_id:
|
|
108
|
-
mission_id:
|
|
79
|
+
setup_id: Accepted for back-compat; no longer persisted to Redis.
|
|
80
|
+
mission_id: Accepted for back-compat; no longer persisted to Redis.
|
|
109
81
|
|
|
110
82
|
Returns:
|
|
111
83
|
True if registered, False if at capacity (this instance).
|
|
@@ -114,18 +86,6 @@ class StreamRegistry:
|
|
|
114
86
|
if len(self._local_cache) >= self._max_streams:
|
|
115
87
|
return False
|
|
116
88
|
|
|
117
|
-
# Optional: mirror session metadata to Redis for observability.
|
|
118
|
-
if setup_id:
|
|
119
|
-
try:
|
|
120
|
-
await self._redis_client.eval(
|
|
121
|
-
_LUA_REGISTER,
|
|
122
|
-
[self.session_key(session.task_id)],
|
|
123
|
-
[setup_id, mission_id, str(SESSION_STATE_TTL_S)],
|
|
124
|
-
)
|
|
125
|
-
except RedisError:
|
|
126
|
-
logger.exception("Redis session-state write failed: task_id=%s", session.task_id)
|
|
127
|
-
# Continue — local registration is enough.
|
|
128
|
-
|
|
129
89
|
# LRU cache — evict oldest if past max_local (separate from
|
|
130
90
|
# max_streams which gates new admissions above).
|
|
131
91
|
if len(self._local_cache) >= self._max_local:
|
|
@@ -151,7 +111,7 @@ class StreamRegistry:
|
|
|
151
111
|
return session
|
|
152
112
|
|
|
153
113
|
async def unregister(self, task_id: str) -> StreamSession | None:
|
|
154
|
-
"""Unregister a session
|
|
114
|
+
"""Unregister a session from the local cache.
|
|
155
115
|
|
|
156
116
|
Args:
|
|
157
117
|
task_id: Session to remove.
|
|
@@ -160,12 +120,6 @@ class StreamRegistry:
|
|
|
160
120
|
The removed session, or None if not found locally.
|
|
161
121
|
"""
|
|
162
122
|
session = self._local_cache.pop(task_id, None)
|
|
163
|
-
|
|
164
|
-
try:
|
|
165
|
-
await self._redis_client.delete(self.session_key(task_id))
|
|
166
|
-
except RedisError:
|
|
167
|
-
logger.exception("Redis session-state delete failed: task_id=%s", task_id)
|
|
168
|
-
|
|
169
123
|
if session is not None:
|
|
170
124
|
logger.debug("StreamRegistry.unregister: task_id=%s local=%d", task_id, len(self._local_cache))
|
|
171
125
|
return session
|
|
@@ -56,7 +56,6 @@ class GatewaySettings(BaseSettings):
|
|
|
56
56
|
|
|
57
57
|
max_streams: int = Field(default=20000, description="Max concurrent gateway sessions (per instance)")
|
|
58
58
|
max_local_cache: int = Field(default=5000, description="Max local session cache entries")
|
|
59
|
-
session_state_ttl: int = Field(default=3600, description="Session metadata TTL in seconds")
|
|
60
59
|
redis_health_timeout: float = Field(default=5.0, description="Redis health check timeout in seconds")
|
|
61
60
|
dial_back_bidi_timeout_s: float = Field(
|
|
62
61
|
default=300.0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalkin
|
|
3
|
-
Version: 1.0.0.
|
|
3
|
+
Version: 1.0.0.dev4
|
|
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
|
|
@@ -458,7 +458,7 @@ Requires-Dist: anyio>=4.13.0
|
|
|
458
458
|
Requires-Dist: grpcio-health-checking==1.80.0
|
|
459
459
|
Requires-Dist: grpcio-reflection==1.80.0
|
|
460
460
|
Requires-Dist: grpcio-status==1.80.0
|
|
461
|
-
Requires-Dist: pydantic>=2.
|
|
461
|
+
Requires-Dist: pydantic>=2.13.4
|
|
462
462
|
Requires-Dist: pydantic-settings>=2.14.0
|
|
463
463
|
Requires-Dist: redis[hiredis]<8,>=7.4.0
|
|
464
464
|
Provides-Extra: performance
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/server_async_insecure.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/base_server/server_sync_insecure.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
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/bench_module/triggers/message_trigger.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/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
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/examples/redis_demo/triggers/message_trigger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/community/agno/agno_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/job_manager/base_job_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/profiling/task_profiler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/graceful_shutdown.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/session_reaper.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/resilience/task_supervisor.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/module_runner.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/__init__.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
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/redis/shadow.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/task_executor.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/task_session.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/core/task_manager/task_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/gateway_servicer.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/interceptors/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/module_server.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/module_servicer.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/stream_error_codes.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/stream_session.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/utils/__init__.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/grpc_servers/utils/circuit_breaker.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/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
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/core/job_manager_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/events/agent_events.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/grpc_servers/__init__.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/grpc_servers/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/module_context.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/module_types.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/request_metadata.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/select_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/module/tool_reference.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
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/server/__init__.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/server/channel.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/server/grpc.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/server/server.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/utils/__init__.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/models/settings/utils/channel.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
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/communication/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/cost/cost_strategy.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/cost/default_cost.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/filesystem/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/identity/__init__.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/identity/default_identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/__init__.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/default_registry.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/exceptions.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/grpc_registry.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/registry/registry_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/setup/default_setup.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/setup/setup_strategy.py
RENAMED
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/storage/default_storage.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/storage/grpc_storage.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/storage/storage_strategy.py
RENAMED
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin/services/task_manager/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{digitalkin-1.0.0.dev3 → digitalkin-1.0.0.dev4}/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-1.0.0.dev3 → digitalkin-1.0.0.dev4}/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-1.0.0.dev3 → digitalkin-1.0.0.dev4}/src/digitalkin.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|