digitalkin 0.4.3.dev2__tar.gz → 0.4.5__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}/PKG-INFO +1 -1
  2. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/pyproject.toml +1 -1
  3. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/__version__.py +1 -1
  4. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/module_servicer.py +13 -6
  5. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/tool_reference.py +6 -5
  6. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin.egg-info/PKG-INFO +1 -1
  7. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/LICENSE +0 -0
  8. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/README.md +0 -0
  9. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/base_server/__init__.py +0 -0
  10. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/base_server/mock/__init__.py +0 -0
  11. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/base_server/mock/mock_pb2.py +0 -0
  12. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/base_server/mock/mock_pb2_grpc.py +0 -0
  13. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/base_server/server_async_insecure.py +0 -0
  14. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/base_server/server_async_secure.py +0 -0
  15. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/base_server/server_sync_insecure.py +0 -0
  16. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/base_server/server_sync_secure.py +0 -0
  17. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/modules/__init__.py +0 -0
  18. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/modules/archetype_with_tools_module.py +0 -0
  19. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/modules/cpu_intensive_module.py +0 -0
  20. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/modules/dynamic_setup_module.py +0 -0
  21. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/modules/minimal_llm_module.py +0 -0
  22. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/modules/text_transform_module.py +0 -0
  23. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/monitoring/digitalkin_observability/__init__.py +0 -0
  24. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/monitoring/digitalkin_observability/http_server.py +0 -0
  25. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/monitoring/digitalkin_observability/interceptors.py +0 -0
  26. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/monitoring/digitalkin_observability/metrics.py +0 -0
  27. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/monitoring/digitalkin_observability/prometheus.py +0 -0
  28. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/monitoring/tests/test_metrics.py +0 -0
  29. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/services/filesystem_module.py +0 -0
  30. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/examples/services/storage_module.py +0 -0
  31. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/setup.cfg +0 -0
  32. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/__init__.py +0 -0
  33. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/community/__init__.py +0 -0
  34. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/community/agno/__init__.py +0 -0
  35. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/community/agno/agno_adapter.py +0 -0
  36. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/community/agno/agui_tools.py +0 -0
  37. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/community/agno/hitl.py +0 -0
  38. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/__init__.py +0 -0
  39. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/common/__init__.py +0 -0
  40. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/common/factories.py +0 -0
  41. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/job_manager/__init__.py +0 -0
  42. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/job_manager/base_job_manager.py +0 -0
  43. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/job_manager/single_job_manager.py +0 -0
  44. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/job_manager/taskiq_broker.py +0 -0
  45. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/job_manager/taskiq_job_manager.py +0 -0
  46. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/profiling/__init__.py +0 -0
  47. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/profiling/asyncio_monitor.py +0 -0
  48. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/profiling/task_profiler.py +0 -0
  49. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/task_manager/__init__.py +0 -0
  50. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/task_manager/base_task_manager.py +0 -0
  51. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/task_manager/local_task_manager.py +0 -0
  52. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/task_manager/remote_task_manager.py +0 -0
  53. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/task_manager/task_executor.py +0 -0
  54. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/core/task_manager/task_session.py +0 -0
  55. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/__init__.py +0 -0
  56. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/_base_server.py +0 -0
  57. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/module_server.py +0 -0
  58. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/utils/__init__.py +0 -0
  59. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/utils/exceptions.py +0 -0
  60. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/utils/grpc_client_wrapper.py +0 -0
  61. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/utils/grpc_error_handler.py +0 -0
  62. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/grpc_servers/utils/utility_schema_extender.py +0 -0
  63. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/logger.py +0 -0
  64. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/__init__.py +0 -0
  65. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/agui_mixin.py +0 -0
  66. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/base_mixin.py +0 -0
  67. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/callback_mixin.py +0 -0
  68. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/chat_history_mixin.py +0 -0
  69. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/cost_mixin.py +0 -0
  70. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/file_history_mixin.py +0 -0
  71. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/filesystem_mixin.py +0 -0
  72. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/logger_mixin.py +0 -0
  73. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/mixins/storage_mixin.py +0 -0
  74. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/__init__.py +0 -0
  75. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/core/__init__.py +0 -0
  76. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/core/job_manager_models.py +0 -0
  77. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/core/task_monitor.py +0 -0
  78. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/events/__init__.py +0 -0
  79. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/events/agent_events.py +0 -0
  80. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/grpc_servers/__init__.py +0 -0
  81. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/grpc_servers/models.py +0 -0
  82. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/grpc_servers/types.py +0 -0
  83. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/__init__.py +0 -0
  84. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/ag_ui.py +0 -0
  85. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/base_types.py +0 -0
  86. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/module.py +0 -0
  87. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/module_context.py +0 -0
  88. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/module_types.py +0 -0
  89. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/request_metadata.py +0 -0
  90. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/select_schema.py +0 -0
  91. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/setup_types.py +0 -0
  92. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/tool_cache.py +0 -0
  93. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/module/utility.py +0 -0
  94. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/services/__init__.py +0 -0
  95. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/services/cost.py +0 -0
  96. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/services/registry.py +0 -0
  97. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/services/storage.py +0 -0
  98. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/settings/__init__.py +0 -0
  99. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/settings/server/__init__.py +0 -0
  100. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/settings/server/channel.py +0 -0
  101. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/settings/server/grpc.py +0 -0
  102. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/settings/server/server.py +0 -0
  103. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/settings/utils/__init__.py +0 -0
  104. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/models/settings/utils/channel.py +0 -0
  105. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/__init__.py +0 -0
  106. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/_base_module.py +0 -0
  107. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/archetype_module.py +0 -0
  108. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/tool_module.py +0 -0
  109. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/trigger_handler.py +0 -0
  110. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/triggers/__init__.py +0 -0
  111. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/triggers/healthcheck_ping_trigger.py +0 -0
  112. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/triggers/healthcheck_services_trigger.py +0 -0
  113. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/modules/triggers/healthcheck_status_trigger.py +0 -0
  114. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/py.typed +0 -0
  115. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/__init__.py +0 -0
  116. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/agent/__init__.py +0 -0
  117. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/agent/agent_strategy.py +0 -0
  118. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/agent/default_agent.py +0 -0
  119. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/base_strategy.py +0 -0
  120. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/communication/__init__.py +0 -0
  121. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/communication/communication_strategy.py +0 -0
  122. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/communication/default_communication.py +0 -0
  123. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/communication/grpc_communication.py +0 -0
  124. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/cost/__init__.py +0 -0
  125. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/cost/cost_strategy.py +0 -0
  126. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/cost/default_cost.py +0 -0
  127. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/cost/grpc_cost.py +0 -0
  128. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/filesystem/__init__.py +0 -0
  129. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/filesystem/default_filesystem.py +0 -0
  130. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/filesystem/filesystem_strategy.py +0 -0
  131. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/filesystem/grpc_filesystem.py +0 -0
  132. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/identity/__init__.py +0 -0
  133. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/identity/default_identity.py +0 -0
  134. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/identity/identity_strategy.py +0 -0
  135. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/registry/__init__.py +0 -0
  136. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/registry/default_registry.py +0 -0
  137. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/registry/exceptions.py +0 -0
  138. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/registry/grpc_registry.py +0 -0
  139. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/registry/registry_models.py +0 -0
  140. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/registry/registry_strategy.py +0 -0
  141. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/services_config.py +0 -0
  142. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/services_models.py +0 -0
  143. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/setup/__init__.py +0 -0
  144. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/setup/default_setup.py +0 -0
  145. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/setup/grpc_setup.py +0 -0
  146. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/setup/setup_strategy.py +0 -0
  147. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/snapshot/__init__.py +0 -0
  148. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/snapshot/default_snapshot.py +0 -0
  149. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/snapshot/snapshot_strategy.py +0 -0
  150. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/storage/__init__.py +0 -0
  151. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/storage/default_storage.py +0 -0
  152. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/storage/grpc_storage.py +0 -0
  153. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/storage/storage_strategy.py +0 -0
  154. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/task_manager/__init__.py +0 -0
  155. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/task_manager/default_task_manager.py +0 -0
  156. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/task_manager/grpc_task_manager.py +0 -0
  157. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/task_manager/task_manager_strategy.py +0 -0
  158. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/user_profile/__init__.py +0 -0
  159. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/user_profile/default_user_profile.py +0 -0
  160. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/user_profile/grpc_user_profile.py +0 -0
  161. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/services/user_profile/user_profile_strategy.py +0 -0
  162. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/__init__.py +0 -0
  163. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/arg_parser.py +0 -0
  164. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/conditional_schema.py +0 -0
  165. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/development_mode_action.py +0 -0
  166. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/dynamic_schema.py +0 -0
  167. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/llm_ready_schema.py +0 -0
  168. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/package_discover.py +0 -0
  169. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/proto_utils.py +0 -0
  170. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin/utils/schema_splitter.py +0 -0
  171. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin.egg-info/SOURCES.txt +0 -0
  172. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin.egg-info/dependency_links.txt +0 -0
  173. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/src/digitalkin.egg-info/requires.txt +0 -0
  174. {digitalkin-0.4.3.dev2 → digitalkin-0.4.5}/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
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"
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"
@@ -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
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
File without changes
File without changes