kailash 0.9.3__tar.gz → 0.9.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 (419) hide show
  1. {kailash-0.9.3/src/kailash.egg-info → kailash-0.9.5}/PKG-INFO +21 -12
  2. {kailash-0.9.3 → kailash-0.9.5}/README.md +20 -11
  3. {kailash-0.9.3 → kailash-0.9.5}/pyproject.toml +1 -1
  4. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/__init__.py +1 -1
  5. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/local.py +117 -1
  6. {kailash-0.9.3 → kailash-0.9.5/src/kailash.egg-info}/PKG-INFO +21 -12
  7. {kailash-0.9.3 → kailash-0.9.5}/LICENSE +0 -0
  8. {kailash-0.9.3 → kailash-0.9.5}/MANIFEST.in +0 -0
  9. {kailash-0.9.3 → kailash-0.9.5}/setup.cfg +0 -0
  10. {kailash-0.9.3 → kailash-0.9.5}/setup.py +0 -0
  11. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/__main__.py +0 -0
  12. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/access_control/__init__.py +0 -0
  13. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/access_control/managers.py +0 -0
  14. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/access_control/rule_evaluators.py +0 -0
  15. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/access_control.py +0 -0
  16. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/access_control_abac.py +0 -0
  17. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/adapters/__init__.py +0 -0
  18. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/adapters/mcp_platform_adapter.py +0 -0
  19. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/analysis/__init__.py +0 -0
  20. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/analysis/conditional_branch_analyzer.py +0 -0
  21. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/api/auth.py +0 -0
  22. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/api/custom_nodes.py +0 -0
  23. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/api/custom_nodes_secure.py +0 -0
  24. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/api/gateway.py +0 -0
  25. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/api/mcp_integration.py +0 -0
  26. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/api/studio.py +0 -0
  27. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/api/workflow_api.py +0 -0
  28. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/channels/__init__.py +0 -0
  29. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/channels/api_channel.py +0 -0
  30. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/channels/base.py +0 -0
  31. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/channels/cli_channel.py +0 -0
  32. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/channels/event_router.py +0 -0
  33. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/channels/mcp_channel.py +0 -0
  34. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/channels/session.py +0 -0
  35. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/cli/__init__.py +0 -0
  36. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/cli/commands.py +0 -0
  37. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/cli/validate_imports.py +0 -0
  38. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/cli/validation_audit.py +0 -0
  39. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/client/__init__.py +0 -0
  40. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/client/enhanced_client.py +0 -0
  41. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/config/__init__.py +0 -0
  42. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/config/database_config.py +0 -0
  43. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/actors/__init__.py +0 -0
  44. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/actors/adaptive_pool_controller.py +0 -0
  45. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/actors/connection_actor.py +0 -0
  46. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/actors/supervisor.py +0 -0
  47. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/ml/__init__.py +0 -0
  48. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/ml/query_patterns.py +0 -0
  49. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/monitoring/__init__.py +0 -0
  50. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/monitoring/connection_metrics.py +0 -0
  51. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/optimization/__init__.py +0 -0
  52. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/resilience/__init__.py +0 -0
  53. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/resilience/bulkhead.py +0 -0
  54. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/resilience/circuit_breaker.py +0 -0
  55. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/core/resilience/health_monitor.py +0 -0
  56. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/database/__init__.py +0 -0
  57. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/database/execution_pipeline.py +0 -0
  58. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/__init__.py +0 -0
  59. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/compliance.py +0 -0
  60. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/consistency.py +0 -0
  61. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/coordination/__init__.py +0 -0
  62. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/coordination/global_ordering.py +0 -0
  63. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/coordination/leader_election.py +0 -0
  64. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/coordination/partition_detector.py +0 -0
  65. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/coordination/raft.py +0 -0
  66. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/discovery.py +0 -0
  67. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/location.py +0 -0
  68. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/migration/__init__.py +0 -0
  69. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/migration/edge_migration_service.py +0 -0
  70. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/migration/edge_migrator.py +0 -0
  71. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/monitoring/__init__.py +0 -0
  72. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/monitoring/edge_monitor.py +0 -0
  73. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/prediction/__init__.py +0 -0
  74. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/prediction/predictive_warmer.py +0 -0
  75. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/__init__.py +0 -0
  76. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/cloud_integration.py +0 -0
  77. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/cost_optimizer.py +0 -0
  78. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/docker_integration.py +0 -0
  79. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/kubernetes_integration.py +0 -0
  80. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/platform_integration.py +0 -0
  81. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/predictive_scaler.py +0 -0
  82. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/resource_analyzer.py +0 -0
  83. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/edge/resource/resource_pools.py +0 -0
  84. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/gateway/__init__.py +0 -0
  85. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/gateway/api.py +0 -0
  86. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/gateway/enhanced_gateway.py +0 -0
  87. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/gateway/resource_resolver.py +0 -0
  88. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/gateway/security.py +0 -0
  89. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/integrations/dataflow_edge.py +0 -0
  90. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/manifest.py +0 -0
  91. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/__init__.py +0 -0
  92. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/advanced_features.py +0 -0
  93. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/ai_registry_server.py +0 -0
  94. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/auth.py +0 -0
  95. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/client.py +0 -0
  96. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/client_new.py +0 -0
  97. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/discovery.py +0 -0
  98. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/errors.py +0 -0
  99. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/oauth.py +0 -0
  100. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/protocol.py +0 -0
  101. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/registry_integration.py +0 -0
  102. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/server.py +0 -0
  103. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/servers/ai_registry.py +0 -0
  104. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/subscriptions.py +0 -0
  105. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/transports.py +0 -0
  106. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/utils/__init__.py +0 -0
  107. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/utils/cache.py +0 -0
  108. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/utils/config.py +0 -0
  109. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/utils/formatters.py +0 -0
  110. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/mcp_server/utils/metrics.py +0 -0
  111. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/__init__.py +0 -0
  112. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/auth/__init__.py +0 -0
  113. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/auth/access_control.py +0 -0
  114. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/auth/auth_manager.py +0 -0
  115. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/auth/exceptions.py +0 -0
  116. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/auth/jwt_auth.py +0 -0
  117. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/auth/models.py +0 -0
  118. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/auth/utils.py +0 -0
  119. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/communication/__init__.py +0 -0
  120. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/communication/ai_chat.py +0 -0
  121. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/communication/api_gateway.py +0 -0
  122. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/communication/events.py +0 -0
  123. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/communication/realtime.py +0 -0
  124. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/core/__init__.py +0 -0
  125. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/core/agent_ui.py +0 -0
  126. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/core/schema.py +0 -0
  127. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/core/workflows.py +0 -0
  128. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/database/__init__.py +0 -0
  129. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/database/base.py +0 -0
  130. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/database/base_models.py +0 -0
  131. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/database/enums.py +0 -0
  132. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/database/migrations.py +0 -0
  133. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/database/models.py +0 -0
  134. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/database/repositories.py +0 -0
  135. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/database/session_manager.py +0 -0
  136. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/gateway/__init__.py +0 -0
  137. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/gateway/checkpoint_manager.py +0 -0
  138. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/gateway/deduplicator.py +0 -0
  139. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/gateway/durable_gateway.py +0 -0
  140. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/gateway/durable_request.py +0 -0
  141. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/gateway/event_store.py +0 -0
  142. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/gateway/storage_backends.py +0 -0
  143. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/mcp/__init__.py +0 -0
  144. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/mcp/client_integration.py +0 -0
  145. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/middleware/mcp/enhanced_server.py +0 -0
  146. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/monitoring/__init__.py +0 -0
  147. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/monitoring/alerts.py +0 -0
  148. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/monitoring/metrics.py +0 -0
  149. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/__init__.py +0 -0
  150. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/__init__.py +0 -0
  151. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/audit_log.py +0 -0
  152. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/permission_check.py +0 -0
  153. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/role_management.py +0 -0
  154. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/schema.sql +0 -0
  155. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/schema_manager.py +0 -0
  156. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/security_event.py +0 -0
  157. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/tenant_isolation.py +0 -0
  158. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/transaction_utils.py +0 -0
  159. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/admin/user_management.py +0 -0
  160. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/__init__.py +0 -0
  161. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/a2a.py +0 -0
  162. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/a2a_backup.py +0 -0
  163. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/agents.py +0 -0
  164. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/ai_providers.py +0 -0
  165. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/embedding_generator.py +0 -0
  166. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/hybrid_search.py +0 -0
  167. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/intelligent_agent_orchestrator.py +0 -0
  168. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/iterative_llm_agent.py +0 -0
  169. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/llm_agent.py +0 -0
  170. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/models.py +0 -0
  171. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/self_organizing.py +0 -0
  172. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/semantic_memory.py +0 -0
  173. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/streaming_analytics.py +0 -0
  174. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ai/vision_utils.py +0 -0
  175. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/alerts/__init__.py +0 -0
  176. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/alerts/base.py +0 -0
  177. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/alerts/discord.py +0 -0
  178. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/api/__init__.py +0 -0
  179. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/api/auth.py +0 -0
  180. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/api/graphql.py +0 -0
  181. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/api/http.py +0 -0
  182. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/api/monitoring.py +0 -0
  183. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/api/rate_limiting.py +0 -0
  184. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/api/rest.py +0 -0
  185. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/api/security.py +0 -0
  186. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/auth/__init__.py +0 -0
  187. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/auth/directory_integration.py +0 -0
  188. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/auth/enterprise_auth_provider.py +0 -0
  189. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/auth/mfa.py +0 -0
  190. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/auth/risk_assessment.py +0 -0
  191. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/auth/session_management.py +0 -0
  192. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/auth/sso.py +0 -0
  193. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/base.py +0 -0
  194. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/base_async.py +0 -0
  195. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/base_cycle_aware.py +0 -0
  196. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/base_with_acl.py +0 -0
  197. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/cache/__init__.py +0 -0
  198. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/cache/cache.py +0 -0
  199. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/cache/cache_invalidation.py +0 -0
  200. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/cache/redis_pool_manager.py +0 -0
  201. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/code/__init__.py +0 -0
  202. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/code/async_python.py +0 -0
  203. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/code/python.py +0 -0
  204. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/compliance/__init__.py +0 -0
  205. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/compliance/data_retention.py +0 -0
  206. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/compliance/gdpr.py +0 -0
  207. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/__init__.py +0 -0
  208. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/async_connection.py +0 -0
  209. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/async_sql.py +0 -0
  210. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/async_vector.py +0 -0
  211. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/bulk_operations.py +0 -0
  212. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/directory.py +0 -0
  213. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/event_generation.py +0 -0
  214. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/file_discovery.py +0 -0
  215. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/optimistic_locking.py +0 -0
  216. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/query_builder.py +0 -0
  217. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/query_cache.py +0 -0
  218. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/query_pipeline.py +0 -0
  219. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/query_router.py +0 -0
  220. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/readers.py +0 -0
  221. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/redis.py +0 -0
  222. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/retrieval.py +0 -0
  223. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/sharepoint_graph.py +0 -0
  224. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/sources.py +0 -0
  225. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/sql.py +0 -0
  226. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/streaming.py +0 -0
  227. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/vector_db.py +0 -0
  228. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/workflow_connection_pool.py +0 -0
  229. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/data/writers.py +0 -0
  230. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/__init__.py +0 -0
  231. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/base.py +0 -0
  232. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/cloud_node.py +0 -0
  233. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/coordination.py +0 -0
  234. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/docker_node.py +0 -0
  235. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/edge_data.py +0 -0
  236. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/edge_migration_node.py +0 -0
  237. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/edge_monitoring_node.py +0 -0
  238. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/edge_state.py +0 -0
  239. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/edge_warming_node.py +0 -0
  240. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/kubernetes_node.py +0 -0
  241. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/platform_node.py +0 -0
  242. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/resource_analyzer_node.py +0 -0
  243. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/resource_optimizer_node.py +0 -0
  244. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/edge/resource_scaler_node.py +0 -0
  245. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/enterprise/__init__.py +0 -0
  246. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/enterprise/audit_logger.py +0 -0
  247. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/enterprise/batch_processor.py +0 -0
  248. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/enterprise/data_lineage.py +0 -0
  249. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/enterprise/mcp_executor.py +0 -0
  250. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/enterprise/service_discovery.py +0 -0
  251. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/enterprise/tenant_assignment.py +0 -0
  252. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/governance.py +0 -0
  253. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/logic/__init__.py +0 -0
  254. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/logic/async_operations.py +0 -0
  255. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/logic/convergence.py +0 -0
  256. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/logic/intelligent_merge.py +0 -0
  257. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/logic/loop.py +0 -0
  258. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/logic/operations.py +0 -0
  259. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/logic/workflow.py +0 -0
  260. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/mixins/__init__.py +0 -0
  261. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/mixins/event_emitter.py +0 -0
  262. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/mixins/mcp.py +0 -0
  263. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/mixins/security.py +0 -0
  264. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/mixins.py +0 -0
  265. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/__init__.py +0 -0
  266. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/connection_dashboard.py +0 -0
  267. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/deadlock_detector.py +0 -0
  268. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/health_check.py +0 -0
  269. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/log_processor.py +0 -0
  270. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/metrics_collector.py +0 -0
  271. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/performance_anomaly.py +0 -0
  272. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/performance_benchmark.py +0 -0
  273. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/race_condition_detector.py +0 -0
  274. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/transaction_metrics.py +0 -0
  275. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/monitoring/transaction_monitor.py +0 -0
  276. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/ports.py +0 -0
  277. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/__init__.py +0 -0
  278. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/advanced.py +0 -0
  279. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/agentic.py +0 -0
  280. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/conversational.py +0 -0
  281. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/evaluation.py +0 -0
  282. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/federated.py +0 -0
  283. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/graph.py +0 -0
  284. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/multimodal.py +0 -0
  285. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/optimized.py +0 -0
  286. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/privacy.py +0 -0
  287. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/query_processing.py +0 -0
  288. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/realtime.py +0 -0
  289. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/registry.py +0 -0
  290. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/router.py +0 -0
  291. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/similarity.py +0 -0
  292. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/strategies.py +0 -0
  293. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/rag/workflows.py +0 -0
  294. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/security/__init__.py +0 -0
  295. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/security/abac_evaluator.py +0 -0
  296. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/security/audit_log.py +0 -0
  297. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/security/behavior_analysis.py +0 -0
  298. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/security/credential_manager.py +0 -0
  299. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/security/rotating_credentials.py +0 -0
  300. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/security/security_event.py +0 -0
  301. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/security/threat_detection.py +0 -0
  302. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/system/__init__.py +0 -0
  303. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/system/command_parser.py +0 -0
  304. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/testing/__init__.py +0 -0
  305. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/testing/credential_testing.py +0 -0
  306. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transaction/__init__.py +0 -0
  307. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transaction/distributed_transaction_manager.py +0 -0
  308. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transaction/saga_coordinator.py +0 -0
  309. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transaction/saga_state_storage.py +0 -0
  310. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transaction/saga_step.py +0 -0
  311. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transaction/transaction_context.py +0 -0
  312. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transaction/two_phase_commit.py +0 -0
  313. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transform/__init__.py +0 -0
  314. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transform/chunkers.py +0 -0
  315. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transform/formatters.py +0 -0
  316. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/transform/processors.py +0 -0
  317. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/validation/__init__.py +0 -0
  318. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/validation/test_executor.py +0 -0
  319. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/validation/validation_nodes.py +0 -0
  320. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/nodes/validation.py +0 -0
  321. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/planning/__init__.py +0 -0
  322. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/planning/dynamic_execution_planner.py +0 -0
  323. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/resources/__init__.py +0 -0
  324. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/resources/factory.py +0 -0
  325. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/resources/health.py +0 -0
  326. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/resources/reference.py +0 -0
  327. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/resources/registry.py +0 -0
  328. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/__init__.py +0 -0
  329. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/access_controlled.py +0 -0
  330. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/async_local.py +0 -0
  331. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/compatibility_reporter.py +0 -0
  332. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/docker.py +0 -0
  333. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/hierarchical_switch_executor.py +0 -0
  334. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/parallel.py +0 -0
  335. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/parallel_cyclic.py +0 -0
  336. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/parameter_injection.py +0 -0
  337. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/parameter_injector.py +0 -0
  338. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/performance_monitor.py +0 -0
  339. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/runner.py +0 -0
  340. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/secret_provider.py +0 -0
  341. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/testing.py +0 -0
  342. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/validation/__init__.py +0 -0
  343. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/validation/connection_context.py +0 -0
  344. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/validation/enhanced_error_formatter.py +0 -0
  345. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/validation/error_categorizer.py +0 -0
  346. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/validation/import_validator.py +0 -0
  347. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/validation/metrics.py +0 -0
  348. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/validation/performance.py +0 -0
  349. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/runtime/validation/suggestion_engine.py +0 -0
  350. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/sdk_exceptions.py +0 -0
  351. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/security.py +0 -0
  352. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/servers/__init__.py +0 -0
  353. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/servers/durable_workflow_server.py +0 -0
  354. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/servers/enterprise_workflow_server.py +0 -0
  355. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/servers/gateway.py +0 -0
  356. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/servers/workflow_server.py +0 -0
  357. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/testing/__init__.py +0 -0
  358. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/testing/async_test_case.py +0 -0
  359. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/testing/async_utils.py +0 -0
  360. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/testing/fixtures.py +0 -0
  361. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/testing/mock_registry.py +0 -0
  362. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/tracking/__init__.py +0 -0
  363. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/tracking/manager.py +0 -0
  364. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/tracking/metrics_collector.py +0 -0
  365. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/tracking/models.py +0 -0
  366. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/tracking/storage/__init__.py +0 -0
  367. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/tracking/storage/base.py +0 -0
  368. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/tracking/storage/database.py +0 -0
  369. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/tracking/storage/filesystem.py +0 -0
  370. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/__init__.py +0 -0
  371. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/data_paths.py +0 -0
  372. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/data_validation.py +0 -0
  373. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/export.py +0 -0
  374. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/migrations/__init__.py +0 -0
  375. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/migrations/generator.py +0 -0
  376. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/migrations/models.py +0 -0
  377. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/migrations/runner.py +0 -0
  378. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/resource_manager.py +0 -0
  379. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/secure_logging.py +0 -0
  380. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/utils/templates.py +0 -0
  381. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/visualization/__init__.py +0 -0
  382. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/visualization/api.py +0 -0
  383. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/visualization/dashboard.py +0 -0
  384. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/visualization/performance.py +0 -0
  385. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/visualization/reports.py +0 -0
  386. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/__init__.py +0 -0
  387. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/async_builder.py +0 -0
  388. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/async_patterns.py +0 -0
  389. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/builder.py +0 -0
  390. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/contracts.py +0 -0
  391. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/convergence.py +0 -0
  392. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/cycle_analyzer.py +0 -0
  393. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/cycle_builder.py +0 -0
  394. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/cycle_config.py +0 -0
  395. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/cycle_debugger.py +0 -0
  396. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/cycle_exceptions.py +0 -0
  397. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/cycle_profiler.py +0 -0
  398. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/cycle_state.py +0 -0
  399. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/cyclic_runner.py +0 -0
  400. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/edge_infrastructure.py +0 -0
  401. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/graph.py +0 -0
  402. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/input_handling.py +0 -0
  403. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/mermaid_visualizer.py +0 -0
  404. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/migration.py +0 -0
  405. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/mock_registry.py +0 -0
  406. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/resilience.py +0 -0
  407. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/runner.py +0 -0
  408. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/safety.py +0 -0
  409. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/state.py +0 -0
  410. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/templates.py +0 -0
  411. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/type_inference.py +0 -0
  412. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/validation.py +0 -0
  413. {kailash-0.9.3 → kailash-0.9.5}/src/kailash/workflow/visualization.py +0 -0
  414. {kailash-0.9.3 → kailash-0.9.5}/src/kailash.egg-info/SOURCES.txt +0 -0
  415. {kailash-0.9.3 → kailash-0.9.5}/src/kailash.egg-info/dependency_links.txt +0 -0
  416. {kailash-0.9.3 → kailash-0.9.5}/src/kailash.egg-info/entry_points.txt +0 -0
  417. {kailash-0.9.3 → kailash-0.9.5}/src/kailash.egg-info/not-zip-safe +0 -0
  418. {kailash-0.9.3 → kailash-0.9.5}/src/kailash.egg-info/requires.txt +0 -0
  419. {kailash-0.9.3 → kailash-0.9.5}/src/kailash.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kailash
3
- Version: 0.9.3
3
+ Version: 0.9.5
4
4
  Summary: Python SDK for the Kailash container-node architecture
5
5
  Home-page: https://github.com/integrum/kailash-python-sdk
6
6
  Author: Integrum
@@ -117,18 +117,27 @@ Dynamic: requires-python
117
117
 
118
118
  ---
119
119
 
120
- ## 🔥 Latest Release: v0.8.5 (January 20, 2025)
120
+ ## 🔥 Latest Release: v0.9.5 (July 31, 2025)
121
121
 
122
- **Architecture Cleanup & Enterprise Security**
122
+ **PythonCodeNode Serialization Stability & Testing**
123
123
 
124
- - 🏗️ **Architecture Clarity**: Removed confusing `src/kailash/nexus` module
125
- - 🔒 **Connection Validation**: Enterprise-grade parameter validation with type safety
126
- - 🌐 **Edge Computing**: 50+ new nodes for geo-distributed infrastructure
127
- - 📊 **Advanced Monitoring**: AlertManager with proactive threshold monitoring
128
- - 🚀 **Performance**: <1ms validation overhead with intelligent caching
129
- - ✅ **Breaking Changes**: See [migration guide](sdk-users/6-reference/changelogs/releases/v0.8.5-2025-07-20.md)
124
+ ### 🧪 Comprehensive Regression Test Suite (TODO-129)
125
+ - **Added**: 33 unit tests validating PythonCodeNode serialization behavior and JSON compatibility
126
+ - **Added**: 6 integration tests with real infrastructure using only allowed modules
127
+ - **Added**: 6 E2E tests for complete business workflows and multi-channel consistency
128
+ - **Impact**: Ensures serialization fix from commit 2fcf8591 (June 11, 2025) stays stable
130
129
 
131
- [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.8.5-2025-07-20.md) | [PyPI Packages](https://pypi.org/project/kailash/0.8.5/)
130
+ ### 📚 Documentation Clarifications
131
+ - **Updated**: PythonCodeNode output structure documentation (all outputs wrapped in "result" key)
132
+ - **Enhanced**: Serialization consistency notes for multi-channel deployment
133
+ - **Improved**: Testing patterns for node serialization validation
134
+
135
+ ### 🛡️ Stability Improvements
136
+ - **Focus**: Testing and documentation release to ensure PythonCodeNode serialization remains stable
137
+ - **Validation**: Complete test coverage for serialization edge cases
138
+ - **Quality**: Comprehensive regression prevention for critical workflow components
139
+
140
+ [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.9.5-2025-07-31.md) | [Core SDK 0.9.5](https://pypi.org/project/kailash/0.9.5/) | [DataFlow 0.3.4](https://pypi.org/project/kailash-dataflow/0.3.4/)
132
141
 
133
142
  ## 🎯 What Makes Kailash Different
134
143
 
@@ -345,7 +354,7 @@ results, run_id = runtime.execute(workflow.build())
345
354
 
346
355
  ## 🚀 Applications Built with Kailash
347
356
 
348
- ### 1. DataFlow - Zero-Config Database Platform (v0.3.1)
357
+ ### 1. DataFlow - Zero-Config Database Platform (v0.3.3)
349
358
  ```bash
350
359
  pip install kailash-dataflow
351
360
  ```
@@ -353,7 +362,7 @@ pip install kailash-dataflow
353
362
  - **Redis caching** with enterprise-grade invalidation
354
363
  - **Automatic API generation** with OpenAPI documentation
355
364
  - **4 production examples** with complete deployment guides
356
- - **Latest**: v0.3.1 - Enhanced transaction support and schema management
365
+ - **Latest**: v0.3.3 - Critical connection parsing fix for special characters in passwords
357
366
 
358
367
  ### 2. Nexus - Multi-Channel Platform (v1.0.3)
359
368
  ```bash
@@ -22,18 +22,27 @@
22
22
 
23
23
  ---
24
24
 
25
- ## 🔥 Latest Release: v0.8.5 (January 20, 2025)
25
+ ## 🔥 Latest Release: v0.9.5 (July 31, 2025)
26
26
 
27
- **Architecture Cleanup & Enterprise Security**
27
+ **PythonCodeNode Serialization Stability & Testing**
28
28
 
29
- - 🏗️ **Architecture Clarity**: Removed confusing `src/kailash/nexus` module
30
- - 🔒 **Connection Validation**: Enterprise-grade parameter validation with type safety
31
- - 🌐 **Edge Computing**: 50+ new nodes for geo-distributed infrastructure
32
- - 📊 **Advanced Monitoring**: AlertManager with proactive threshold monitoring
33
- - 🚀 **Performance**: <1ms validation overhead with intelligent caching
34
- - ✅ **Breaking Changes**: See [migration guide](sdk-users/6-reference/changelogs/releases/v0.8.5-2025-07-20.md)
29
+ ### 🧪 Comprehensive Regression Test Suite (TODO-129)
30
+ - **Added**: 33 unit tests validating PythonCodeNode serialization behavior and JSON compatibility
31
+ - **Added**: 6 integration tests with real infrastructure using only allowed modules
32
+ - **Added**: 6 E2E tests for complete business workflows and multi-channel consistency
33
+ - **Impact**: Ensures serialization fix from commit 2fcf8591 (June 11, 2025) stays stable
35
34
 
36
- [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.8.5-2025-07-20.md) | [PyPI Packages](https://pypi.org/project/kailash/0.8.5/)
35
+ ### 📚 Documentation Clarifications
36
+ - **Updated**: PythonCodeNode output structure documentation (all outputs wrapped in "result" key)
37
+ - **Enhanced**: Serialization consistency notes for multi-channel deployment
38
+ - **Improved**: Testing patterns for node serialization validation
39
+
40
+ ### 🛡️ Stability Improvements
41
+ - **Focus**: Testing and documentation release to ensure PythonCodeNode serialization remains stable
42
+ - **Validation**: Complete test coverage for serialization edge cases
43
+ - **Quality**: Comprehensive regression prevention for critical workflow components
44
+
45
+ [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.9.5-2025-07-31.md) | [Core SDK 0.9.5](https://pypi.org/project/kailash/0.9.5/) | [DataFlow 0.3.4](https://pypi.org/project/kailash-dataflow/0.3.4/)
37
46
 
38
47
  ## 🎯 What Makes Kailash Different
39
48
 
@@ -250,7 +259,7 @@ results, run_id = runtime.execute(workflow.build())
250
259
 
251
260
  ## 🚀 Applications Built with Kailash
252
261
 
253
- ### 1. DataFlow - Zero-Config Database Platform (v0.3.1)
262
+ ### 1. DataFlow - Zero-Config Database Platform (v0.3.3)
254
263
  ```bash
255
264
  pip install kailash-dataflow
256
265
  ```
@@ -258,7 +267,7 @@ pip install kailash-dataflow
258
267
  - **Redis caching** with enterprise-grade invalidation
259
268
  - **Automatic API generation** with OpenAPI documentation
260
269
  - **4 production examples** with complete deployment guides
261
- - **Latest**: v0.3.1 - Enhanced transaction support and schema management
270
+ - **Latest**: v0.3.3 - Critical connection parsing fix for special characters in passwords
262
271
 
263
272
  ### 2. Nexus - Multi-Channel Platform (v1.0.3)
264
273
  ```bash
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "kailash"
7
- version = "0.9.3"
7
+ version = "0.9.5"
8
8
  description = "Python SDK for the Kailash container-node architecture"
9
9
  authors = [
10
10
  {name = "Integrum", email = "info@integrum.com"}
@@ -50,7 +50,7 @@ except ImportError:
50
50
  # For backward compatibility
51
51
  WorkflowGraph = Workflow
52
52
 
53
- __version__ = "0.9.3"
53
+ __version__ = "0.9.5"
54
54
 
55
55
  __all__ = [
56
56
  # Core workflow components
@@ -72,6 +72,75 @@ from kailash.workflow.cyclic_runner import CyclicWorkflowExecutor
72
72
 
73
73
  logger = logging.getLogger(__name__)
74
74
 
75
+
76
+ class ContentAwareExecutionError(Exception):
77
+ """Exception raised when content-aware success detection identifies a failure."""
78
+
79
+ pass
80
+
81
+
82
+ def detect_success(result):
83
+ """Detect success or failure from a node execution result."""
84
+ # Handle None result (backward compatibility)
85
+ if result is None:
86
+ return True, None
87
+
88
+ # Handle non-dict results (backward compatibility)
89
+ if not isinstance(result, dict):
90
+ return True, None
91
+
92
+ # Handle empty dict (backward compatibility)
93
+ if not result:
94
+ return True, None
95
+
96
+ # Check for success field
97
+ if "success" not in result:
98
+ # No success field, default to success (backward compatibility)
99
+ return True, None
100
+
101
+ success_value = result["success"]
102
+
103
+ # Evaluate success value as boolean
104
+ is_success = bool(success_value)
105
+
106
+ if is_success:
107
+ # Operation succeeded
108
+ return True, None
109
+ else:
110
+ # Operation failed, extract error information
111
+ error_info = result.get("error", "Operation failed (no error details provided)")
112
+ return False, error_info
113
+
114
+
115
+ def should_stop_on_content_failure(result, content_aware_mode=True, stop_on_error=True):
116
+ """Check if execution should stop based on content indicating failure."""
117
+ if not content_aware_mode or not stop_on_error:
118
+ return False, None
119
+
120
+ # Use detect_success for the actual detection logic
121
+ is_success, error_info = detect_success(result)
122
+
123
+ if is_success:
124
+ # Operation succeeded, continue execution
125
+ return False, None
126
+ else:
127
+ # Operation failed, stop execution
128
+ return True, error_info
129
+
130
+
131
+ def create_content_aware_error(node_id, result, error_message=None):
132
+ """Create a ContentAwareExecutionError from node result."""
133
+ if error_message is None:
134
+ error_message = result.get("error", "Operation failed")
135
+
136
+ error = ContentAwareExecutionError(
137
+ f"Node '{node_id}' reported failure: {error_message}"
138
+ )
139
+ error.node_id = node_id
140
+ error.failure_data = result
141
+ return error
142
+
143
+
75
144
  # Conditional execution imports (lazy-loaded to avoid circular imports)
76
145
  _ConditionalBranchAnalyzer = None
77
146
  _DynamicExecutionPlanner = None
@@ -129,6 +198,7 @@ class LocalRuntime:
129
198
  secret_provider: Optional[Any] = None,
130
199
  connection_validation: str = "warn",
131
200
  conditional_execution: str = "route_data",
201
+ content_aware_success_detection: bool = True,
132
202
  ):
133
203
  """Initialize the unified runtime.
134
204
 
@@ -150,6 +220,9 @@ class LocalRuntime:
150
220
  conditional_execution: Execution strategy for conditional routing:
151
221
  - "route_data": Current behavior - all nodes execute, data routing only (default)
152
222
  - "skip_branches": New behavior - skip unreachable branches entirely
223
+ content_aware_success_detection: Whether to enable content-aware success detection:
224
+ - True: Check return value content for success/failure patterns (default)
225
+ - False: Only use exception-based failure detection (legacy mode)
153
226
  """
154
227
  # Validate connection_validation parameter
155
228
  valid_conn_modes = {"off", "warn", "strict"}
@@ -179,6 +252,7 @@ class LocalRuntime:
179
252
  self.resource_limits = resource_limits or {}
180
253
  self.connection_validation = connection_validation
181
254
  self.conditional_execution = conditional_execution
255
+ self.content_aware_success_detection = content_aware_success_detection
182
256
  self.logger = logger
183
257
 
184
258
  # Enterprise feature managers (lazy initialization)
@@ -869,6 +943,43 @@ class LocalRuntime:
869
943
  if self.debug:
870
944
  self.logger.debug(f"Node {node_id} outputs: {outputs}")
871
945
 
946
+ # Content-aware success detection (CRITICAL FIX)
947
+ if self.content_aware_success_detection:
948
+ should_stop, error_message = should_stop_on_content_failure(
949
+ result=outputs,
950
+ content_aware_mode=True,
951
+ stop_on_error=True, # Always stop on content failures when content-aware mode is enabled
952
+ )
953
+
954
+ if should_stop:
955
+ # Create detailed error for content-aware failure
956
+ error = create_content_aware_error(
957
+ node_id=node_id,
958
+ result=(
959
+ outputs
960
+ if isinstance(outputs, dict)
961
+ else {"error": error_message}
962
+ ),
963
+ error_message=error_message,
964
+ )
965
+
966
+ # Log the content-aware failure
967
+ self.logger.error(
968
+ f"Content-aware failure detected in node {node_id}: {error_message}"
969
+ )
970
+
971
+ # Update task status to failed if task manager exists
972
+ if task and task_manager:
973
+ task_manager.update_task_status(
974
+ task.task_id,
975
+ TaskStatus.FAILED,
976
+ error=str(error),
977
+ ended_at=datetime.now(UTC),
978
+ )
979
+
980
+ # Raise the content-aware execution error
981
+ raise error
982
+
872
983
  # Update task status with enhanced metrics
873
984
  if task and task_manager:
874
985
  # Convert performance metrics to TaskMetrics format
@@ -922,7 +1033,12 @@ class LocalRuntime:
922
1033
  f"Error during node {node_id} cleanup after failure: {cleanup_error}"
923
1034
  )
924
1035
 
925
- # Determine if we should continue
1036
+ # Content-aware execution errors should always stop execution
1037
+ if isinstance(e, ContentAwareExecutionError):
1038
+ error_msg = f"Content-aware failure in node '{node_id}': {e}"
1039
+ raise WorkflowExecutionError(error_msg) from e
1040
+
1041
+ # Determine if we should continue for other exceptions
926
1042
  if self._should_stop_on_error(workflow, node_id):
927
1043
  error_msg = f"Node '{node_id}' failed: {e}"
928
1044
  if len(failed_nodes) > 1:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kailash
3
- Version: 0.9.3
3
+ Version: 0.9.5
4
4
  Summary: Python SDK for the Kailash container-node architecture
5
5
  Home-page: https://github.com/integrum/kailash-python-sdk
6
6
  Author: Integrum
@@ -117,18 +117,27 @@ Dynamic: requires-python
117
117
 
118
118
  ---
119
119
 
120
- ## 🔥 Latest Release: v0.8.5 (January 20, 2025)
120
+ ## 🔥 Latest Release: v0.9.5 (July 31, 2025)
121
121
 
122
- **Architecture Cleanup & Enterprise Security**
122
+ **PythonCodeNode Serialization Stability & Testing**
123
123
 
124
- - 🏗️ **Architecture Clarity**: Removed confusing `src/kailash/nexus` module
125
- - 🔒 **Connection Validation**: Enterprise-grade parameter validation with type safety
126
- - 🌐 **Edge Computing**: 50+ new nodes for geo-distributed infrastructure
127
- - 📊 **Advanced Monitoring**: AlertManager with proactive threshold monitoring
128
- - 🚀 **Performance**: <1ms validation overhead with intelligent caching
129
- - ✅ **Breaking Changes**: See [migration guide](sdk-users/6-reference/changelogs/releases/v0.8.5-2025-07-20.md)
124
+ ### 🧪 Comprehensive Regression Test Suite (TODO-129)
125
+ - **Added**: 33 unit tests validating PythonCodeNode serialization behavior and JSON compatibility
126
+ - **Added**: 6 integration tests with real infrastructure using only allowed modules
127
+ - **Added**: 6 E2E tests for complete business workflows and multi-channel consistency
128
+ - **Impact**: Ensures serialization fix from commit 2fcf8591 (June 11, 2025) stays stable
130
129
 
131
- [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.8.5-2025-07-20.md) | [PyPI Packages](https://pypi.org/project/kailash/0.8.5/)
130
+ ### 📚 Documentation Clarifications
131
+ - **Updated**: PythonCodeNode output structure documentation (all outputs wrapped in "result" key)
132
+ - **Enhanced**: Serialization consistency notes for multi-channel deployment
133
+ - **Improved**: Testing patterns for node serialization validation
134
+
135
+ ### 🛡️ Stability Improvements
136
+ - **Focus**: Testing and documentation release to ensure PythonCodeNode serialization remains stable
137
+ - **Validation**: Complete test coverage for serialization edge cases
138
+ - **Quality**: Comprehensive regression prevention for critical workflow components
139
+
140
+ [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.9.5-2025-07-31.md) | [Core SDK 0.9.5](https://pypi.org/project/kailash/0.9.5/) | [DataFlow 0.3.4](https://pypi.org/project/kailash-dataflow/0.3.4/)
132
141
 
133
142
  ## 🎯 What Makes Kailash Different
134
143
 
@@ -345,7 +354,7 @@ results, run_id = runtime.execute(workflow.build())
345
354
 
346
355
  ## 🚀 Applications Built with Kailash
347
356
 
348
- ### 1. DataFlow - Zero-Config Database Platform (v0.3.1)
357
+ ### 1. DataFlow - Zero-Config Database Platform (v0.3.3)
349
358
  ```bash
350
359
  pip install kailash-dataflow
351
360
  ```
@@ -353,7 +362,7 @@ pip install kailash-dataflow
353
362
  - **Redis caching** with enterprise-grade invalidation
354
363
  - **Automatic API generation** with OpenAPI documentation
355
364
  - **4 production examples** with complete deployment guides
356
- - **Latest**: v0.3.1 - Enhanced transaction support and schema management
365
+ - **Latest**: v0.3.3 - Critical connection parsing fix for special characters in passwords
357
366
 
358
367
  ### 2. Nexus - Multi-Channel Platform (v1.0.3)
359
368
  ```bash
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes