digitalkin 0.4.3.dev2__tar.gz → 0.4.5.dev0__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.
Files changed (174) hide show
  1. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/PKG-INFO +1 -1
  2. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/pyproject.toml +1 -1
  3. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/__version__.py +1 -1
  4. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/module_servicer.py +13 -6
  5. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/tool_reference.py +6 -5
  6. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin.egg-info/PKG-INFO +1 -1
  7. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/LICENSE +0 -0
  8. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/README.md +0 -0
  9. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/base_server/__init__.py +0 -0
  10. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/base_server/mock/__init__.py +0 -0
  11. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/base_server/mock/mock_pb2.py +0 -0
  12. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
  13. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/base_server/server_async_insecure.py +0 -0
  14. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/base_server/server_async_secure.py +0 -0
  15. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/base_server/server_sync_insecure.py +0 -0
  16. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/base_server/server_sync_secure.py +0 -0
  17. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/modules/__init__.py +0 -0
  18. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/modules/archetype_with_tools_module.py +0 -0
  19. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/modules/cpu_intensive_module.py +0 -0
  20. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/modules/dynamic_setup_module.py +0 -0
  21. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/modules/minimal_llm_module.py +0 -0
  22. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/modules/text_transform_module.py +0 -0
  23. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
  24. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
  25. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
  26. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
  27. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
  28. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/monitoring/tests/test_metrics.py +0 -0
  29. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/services/filesystem_module.py +0 -0
  30. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/examples/services/storage_module.py +0 -0
  31. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/setup.cfg +0 -0
  32. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/__init__.py +0 -0
  33. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/community/__init__.py +0 -0
  34. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/community/agno/__init__.py +0 -0
  35. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/community/agno/agno_adapter.py +0 -0
  36. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/community/agno/agui_tools.py +0 -0
  37. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/community/agno/hitl.py +0 -0
  38. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/__init__.py +0 -0
  39. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/common/__init__.py +0 -0
  40. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/common/factories.py +0 -0
  41. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/job_manager/__init__.py +0 -0
  42. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
  43. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/job_manager/single_job_manager.py +0 -0
  44. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/job_manager/taskiq_broker.py +0 -0
  45. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/job_manager/taskiq_job_manager.py +0 -0
  46. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/profiling/__init__.py +0 -0
  47. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/profiling/asyncio_monitor.py +0 -0
  48. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/profiling/task_profiler.py +0 -0
  49. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/task_manager/__init__.py +0 -0
  50. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
  51. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
  52. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
  53. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/task_manager/task_executor.py +0 -0
  54. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/core/task_manager/task_session.py +0 -0
  55. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/__init__.py +0 -0
  56. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/_base_server.py +0 -0
  57. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/module_server.py +0 -0
  58. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
  59. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
  60. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
  61. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
  62. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
  63. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/logger.py +0 -0
  64. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/__init__.py +0 -0
  65. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/agui_mixin.py +0 -0
  66. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/base_mixin.py +0 -0
  67. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/callback_mixin.py +0 -0
  68. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/chat_history_mixin.py +0 -0
  69. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/cost_mixin.py +0 -0
  70. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/file_history_mixin.py +0 -0
  71. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
  72. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/logger_mixin.py +0 -0
  73. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/mixins/storage_mixin.py +0 -0
  74. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/__init__.py +0 -0
  75. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/core/__init__.py +0 -0
  76. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/core/job_manager_models.py +0 -0
  77. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/core/task_monitor.py +0 -0
  78. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/events/__init__.py +0 -0
  79. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/events/agent_events.py +0 -0
  80. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
  81. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/grpc_servers/models.py +0 -0
  82. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/grpc_servers/types.py +0 -0
  83. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/__init__.py +0 -0
  84. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/ag_ui.py +0 -0
  85. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/base_types.py +0 -0
  86. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/module.py +0 -0
  87. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/module_context.py +0 -0
  88. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/module_types.py +0 -0
  89. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/request_metadata.py +0 -0
  90. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/select_schema.py +0 -0
  91. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/setup_types.py +0 -0
  92. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/tool_cache.py +0 -0
  93. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/module/utility.py +0 -0
  94. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/services/__init__.py +0 -0
  95. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/services/cost.py +0 -0
  96. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/services/registry.py +0 -0
  97. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/services/storage.py +0 -0
  98. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/settings/__init__.py +0 -0
  99. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/settings/server/__init__.py +0 -0
  100. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/settings/server/channel.py +0 -0
  101. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/settings/server/grpc.py +0 -0
  102. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/settings/server/server.py +0 -0
  103. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/settings/utils/__init__.py +0 -0
  104. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/models/settings/utils/channel.py +0 -0
  105. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/__init__.py +0 -0
  106. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/_base_module.py +0 -0
  107. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/archetype_module.py +0 -0
  108. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/tool_module.py +0 -0
  109. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/trigger_handler.py +0 -0
  110. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/triggers/__init__.py +0 -0
  111. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
  112. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
  113. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
  114. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/py.typed +0 -0
  115. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/__init__.py +0 -0
  116. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/agent/__init__.py +0 -0
  117. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/agent/agent_strategy.py +0 -0
  118. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/agent/default_agent.py +0 -0
  119. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/base_strategy.py +0 -0
  120. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/communication/__init__.py +0 -0
  121. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/communication/communication_strategy.py +0 -0
  122. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/communication/default_communication.py +0 -0
  123. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/communication/grpc_communication.py +0 -0
  124. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/cost/__init__.py +0 -0
  125. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/cost/cost_strategy.py +0 -0
  126. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/cost/default_cost.py +0 -0
  127. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/cost/grpc_cost.py +0 -0
  128. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/filesystem/__init__.py +0 -0
  129. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
  130. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
  131. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
  132. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/identity/__init__.py +0 -0
  133. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/identity/default_identity.py +0 -0
  134. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/identity/identity_strategy.py +0 -0
  135. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/registry/__init__.py +0 -0
  136. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/registry/default_registry.py +0 -0
  137. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/registry/exceptions.py +0 -0
  138. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/registry/grpc_registry.py +0 -0
  139. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/registry/registry_models.py +0 -0
  140. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/registry/registry_strategy.py +0 -0
  141. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/services_config.py +0 -0
  142. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/services_models.py +0 -0
  143. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/setup/__init__.py +0 -0
  144. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/setup/default_setup.py +0 -0
  145. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/setup/grpc_setup.py +0 -0
  146. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/setup/setup_strategy.py +0 -0
  147. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/snapshot/__init__.py +0 -0
  148. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/snapshot/default_snapshot.py +0 -0
  149. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/snapshot/snapshot_strategy.py +0 -0
  150. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/storage/__init__.py +0 -0
  151. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/storage/default_storage.py +0 -0
  152. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/storage/grpc_storage.py +0 -0
  153. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/storage/storage_strategy.py +0 -0
  154. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/task_manager/__init__.py +0 -0
  155. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/task_manager/default_task_manager.py +0 -0
  156. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/task_manager/grpc_task_manager.py +0 -0
  157. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/task_manager/task_manager_strategy.py +0 -0
  158. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/user_profile/__init__.py +0 -0
  159. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
  160. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
  161. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
  162. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/__init__.py +0 -0
  163. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/arg_parser.py +0 -0
  164. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/conditional_schema.py +0 -0
  165. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/development_mode_action.py +0 -0
  166. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/dynamic_schema.py +0 -0
  167. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/llm_ready_schema.py +0 -0
  168. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/package_discover.py +0 -0
  169. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/proto_utils.py +0 -0
  170. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin/utils/schema_splitter.py +0 -0
  171. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin.egg-info/SOURCES.txt +0 -0
  172. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin.egg-info/dependency_links.txt +0 -0
  173. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/src/digitalkin.egg-info/requires.txt +0 -0
  174. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5.dev0}/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: 0.4.3.dev2
3
+ Version: 0.4.5.dev0
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
@@ -35,7 +35,7 @@
35
35
  "grpcio-status==1.78.0",
36
36
  "pydantic==2.12.5",
37
37
  ]
38
- version = "0.4.3.dev2"
38
+ version = "0.4.5.dev0"
39
39
 
40
40
  [project.optional-dependencies]
41
41
  profiling = [
@@ -5,4 +5,4 @@ from importlib.metadata import PackageNotFoundError, version
5
5
  try:
6
6
  __version__ = version("digitalkin")
7
7
  except PackageNotFoundError:
8
- __version__ = "0.4.3.dev2"
8
+ __version__ = "0.4.5.dev0"
@@ -2,6 +2,7 @@
2
2
 
3
3
  import asyncio
4
4
  import os
5
+ import time
5
6
  from argparse import ArgumentParser, Namespace
6
7
  from collections.abc import AsyncGenerator
7
8
  from typing import Any, cast
@@ -86,8 +87,9 @@ class ModuleServicer(module_service_pb2_grpc.ModuleServiceServicer, ArgParser):
86
87
  extra={"job_manager": self.job_manager},
87
88
  )
88
89
  self.setup = GrpcSetup() if self.args.services_mode == ServicesMode.REMOTE else DefaultSetup()
89
- self._setup_cache: dict[str, SetupVersionData] = {}
90
+ self._setup_cache: dict[str, tuple[float, SetupVersionData]] = {}
90
91
  self._setup_cache_max = int(os.environ.get("DIGITALKIN_SETUP_CACHE_MAX", "100"))
92
+ self._setup_cache_ttl = float(os.environ.get("DIGITALKIN_SETUP_CACHE_TTL", "600.0"))
91
93
  self._setup_inflight: dict[str, asyncio.Future[SetupVersionData]] = {}
92
94
  self._completion_timeout = float(os.environ.get("DIGITALKIN_COMPLETION_TIMEOUT", "300.0"))
93
95
 
@@ -129,11 +131,11 @@ class ModuleServicer(module_service_pb2_grpc.ModuleServiceServicer, ArgParser):
129
131
  return self._registry_cache
130
132
 
131
133
  def _cache_setup(self, setup_id: str, version_data: SetupVersionData) -> None:
132
- """Cache setup version data, evicting oldest entry if at capacity."""
134
+ """Cache setup version data with fetch timestamp, evicting oldest entry if at capacity."""
133
135
  if len(self._setup_cache) >= self._setup_cache_max:
134
136
  oldest_key = next(iter(self._setup_cache))
135
137
  del self._setup_cache[oldest_key]
136
- self._setup_cache[setup_id] = version_data
138
+ self._setup_cache[setup_id] = (time.monotonic(), version_data)
137
139
 
138
140
  async def _resolve_setup(self, setup_id: str, mission_id: str) -> SetupVersionData:
139
141
  """Return setup version data from cache or remote service.
@@ -151,10 +153,13 @@ class ModuleServicer(module_service_pb2_grpc.ModuleServiceServicer, ArgParser):
151
153
  ServerError: gRPC communication failed.
152
154
  ValidationError: Setup data failed validation.
153
155
  """
154
- # Fast path: cache hit
156
+ # Fast path: cache hit within TTL
155
157
  if (cached := self._setup_cache.get(setup_id)) is not None:
156
- logger.debug("debug:_resolve_setup cache hit setup_id=%s", setup_id)
157
- return cached
158
+ if time.monotonic() - cached[0] < self._setup_cache_ttl:
159
+ logger.debug("debug:_resolve_setup cache hit setup_id=%s", setup_id)
160
+ return cached[1]
161
+ del self._setup_cache[setup_id]
162
+ logger.debug("debug:_resolve_setup cache expired setup_id=%s", setup_id)
158
163
 
159
164
  # Coalesce concurrent misses: first caller fetches, others await the same future
160
165
  if setup_id in self._setup_inflight:
@@ -220,6 +225,8 @@ class ModuleServicer(module_service_pb2_grpc.ModuleServiceServicer, ArgParser):
220
225
  },
221
226
  )
222
227
  setup_version = request.setup_version
228
+ # Invalidate cached setup so concurrent/subsequent starts refetch the reconfigured version
229
+ self._setup_cache.pop(setup_version.setup_id, None)
223
230
  config_setup_data = self.module_class.create_config_setup_model(json_format.MessageToDict(request.content))
224
231
  setup_version_data = await self.module_class.create_setup_model(
225
232
  json_format.MessageToDict(request.setup_version.content),
@@ -69,7 +69,11 @@ class ToolReference(BaseModel):
69
69
  registry: RegistryStrategy,
70
70
  communication: CommunicationStrategy,
71
71
  ) -> ToolModuleInfo | None:
72
- """Resolve a single tool selection.
72
+ """Resolve a single tool selection to its complete ``ToolModuleInfo``.
73
+
74
+ Per-selection trigger filtering is intentionally NOT applied here — the
75
+ cache is keyed by ``setup_id`` and shared across agents with disjoint
76
+ trigger sets; consumers (e.g. ``ModuleToolkit`` ``allowed_tools``) filter.
73
77
 
74
78
  Args:
75
79
  entry: Tool selection to resolve.
@@ -85,10 +89,7 @@ class ToolReference(BaseModel):
85
89
  info = await registry.discover_by_id(setup.module_id)
86
90
  if not info:
87
91
  return None
88
- tool_info = await module_info_to_tool_module_info(info, entry.setup_id, setup.name, communication)
89
- if enabled_triggers := {name for name, enabled in entry.triggers.items() if enabled}:
90
- tool_info.tools = [t for t in tool_info.tools if t.name in enabled_triggers]
91
- return tool_info
92
+ return await module_info_to_tool_module_info(info, entry.setup_id, setup.name, communication)
92
93
 
93
94
 
94
95
  class _ToolReferenceInputSchema:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: digitalkin
3
- Version: 0.4.3.dev2
3
+ Version: 0.4.5.dev0
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
File without changes