kailash 0.9.3__tar.gz → 0.9.4__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.4}/PKG-INFO +22 -12
  2. {kailash-0.9.3 → kailash-0.9.4}/README.md +21 -11
  3. {kailash-0.9.3 → kailash-0.9.4}/pyproject.toml +1 -1
  4. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/__init__.py +1 -1
  5. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/local.py +117 -1
  6. {kailash-0.9.3 → kailash-0.9.4/src/kailash.egg-info}/PKG-INFO +22 -12
  7. {kailash-0.9.3 → kailash-0.9.4}/LICENSE +0 -0
  8. {kailash-0.9.3 → kailash-0.9.4}/MANIFEST.in +0 -0
  9. {kailash-0.9.3 → kailash-0.9.4}/setup.cfg +0 -0
  10. {kailash-0.9.3 → kailash-0.9.4}/setup.py +0 -0
  11. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/__main__.py +0 -0
  12. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/access_control/__init__.py +0 -0
  13. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/access_control/managers.py +0 -0
  14. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/access_control/rule_evaluators.py +0 -0
  15. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/access_control.py +0 -0
  16. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/access_control_abac.py +0 -0
  17. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/adapters/__init__.py +0 -0
  18. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/adapters/mcp_platform_adapter.py +0 -0
  19. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/analysis/__init__.py +0 -0
  20. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/analysis/conditional_branch_analyzer.py +0 -0
  21. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/api/auth.py +0 -0
  22. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/api/custom_nodes.py +0 -0
  23. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/api/custom_nodes_secure.py +0 -0
  24. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/api/gateway.py +0 -0
  25. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/api/mcp_integration.py +0 -0
  26. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/api/studio.py +0 -0
  27. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/api/workflow_api.py +0 -0
  28. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/channels/__init__.py +0 -0
  29. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/channels/api_channel.py +0 -0
  30. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/channels/base.py +0 -0
  31. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/channels/cli_channel.py +0 -0
  32. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/channels/event_router.py +0 -0
  33. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/channels/mcp_channel.py +0 -0
  34. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/channels/session.py +0 -0
  35. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/cli/__init__.py +0 -0
  36. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/cli/commands.py +0 -0
  37. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/cli/validate_imports.py +0 -0
  38. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/cli/validation_audit.py +0 -0
  39. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/client/__init__.py +0 -0
  40. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/client/enhanced_client.py +0 -0
  41. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/config/__init__.py +0 -0
  42. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/config/database_config.py +0 -0
  43. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/actors/__init__.py +0 -0
  44. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/actors/adaptive_pool_controller.py +0 -0
  45. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/actors/connection_actor.py +0 -0
  46. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/actors/supervisor.py +0 -0
  47. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/ml/__init__.py +0 -0
  48. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/ml/query_patterns.py +0 -0
  49. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/monitoring/__init__.py +0 -0
  50. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/monitoring/connection_metrics.py +0 -0
  51. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/optimization/__init__.py +0 -0
  52. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/resilience/__init__.py +0 -0
  53. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/resilience/bulkhead.py +0 -0
  54. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/resilience/circuit_breaker.py +0 -0
  55. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/core/resilience/health_monitor.py +0 -0
  56. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/database/__init__.py +0 -0
  57. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/database/execution_pipeline.py +0 -0
  58. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/__init__.py +0 -0
  59. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/compliance.py +0 -0
  60. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/consistency.py +0 -0
  61. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/coordination/__init__.py +0 -0
  62. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/coordination/global_ordering.py +0 -0
  63. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/coordination/leader_election.py +0 -0
  64. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/coordination/partition_detector.py +0 -0
  65. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/coordination/raft.py +0 -0
  66. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/discovery.py +0 -0
  67. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/location.py +0 -0
  68. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/migration/__init__.py +0 -0
  69. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/migration/edge_migration_service.py +0 -0
  70. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/migration/edge_migrator.py +0 -0
  71. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/monitoring/__init__.py +0 -0
  72. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/monitoring/edge_monitor.py +0 -0
  73. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/prediction/__init__.py +0 -0
  74. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/prediction/predictive_warmer.py +0 -0
  75. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/__init__.py +0 -0
  76. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/cloud_integration.py +0 -0
  77. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/cost_optimizer.py +0 -0
  78. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/docker_integration.py +0 -0
  79. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/kubernetes_integration.py +0 -0
  80. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/platform_integration.py +0 -0
  81. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/predictive_scaler.py +0 -0
  82. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/resource_analyzer.py +0 -0
  83. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/edge/resource/resource_pools.py +0 -0
  84. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/gateway/__init__.py +0 -0
  85. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/gateway/api.py +0 -0
  86. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/gateway/enhanced_gateway.py +0 -0
  87. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/gateway/resource_resolver.py +0 -0
  88. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/gateway/security.py +0 -0
  89. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/integrations/dataflow_edge.py +0 -0
  90. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/manifest.py +0 -0
  91. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/__init__.py +0 -0
  92. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/advanced_features.py +0 -0
  93. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/ai_registry_server.py +0 -0
  94. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/auth.py +0 -0
  95. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/client.py +0 -0
  96. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/client_new.py +0 -0
  97. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/discovery.py +0 -0
  98. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/errors.py +0 -0
  99. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/oauth.py +0 -0
  100. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/protocol.py +0 -0
  101. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/registry_integration.py +0 -0
  102. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/server.py +0 -0
  103. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/servers/ai_registry.py +0 -0
  104. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/subscriptions.py +0 -0
  105. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/transports.py +0 -0
  106. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/utils/__init__.py +0 -0
  107. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/utils/cache.py +0 -0
  108. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/utils/config.py +0 -0
  109. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/utils/formatters.py +0 -0
  110. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/mcp_server/utils/metrics.py +0 -0
  111. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/__init__.py +0 -0
  112. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/auth/__init__.py +0 -0
  113. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/auth/access_control.py +0 -0
  114. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/auth/auth_manager.py +0 -0
  115. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/auth/exceptions.py +0 -0
  116. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/auth/jwt_auth.py +0 -0
  117. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/auth/models.py +0 -0
  118. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/auth/utils.py +0 -0
  119. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/communication/__init__.py +0 -0
  120. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/communication/ai_chat.py +0 -0
  121. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/communication/api_gateway.py +0 -0
  122. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/communication/events.py +0 -0
  123. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/communication/realtime.py +0 -0
  124. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/core/__init__.py +0 -0
  125. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/core/agent_ui.py +0 -0
  126. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/core/schema.py +0 -0
  127. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/core/workflows.py +0 -0
  128. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/database/__init__.py +0 -0
  129. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/database/base.py +0 -0
  130. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/database/base_models.py +0 -0
  131. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/database/enums.py +0 -0
  132. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/database/migrations.py +0 -0
  133. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/database/models.py +0 -0
  134. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/database/repositories.py +0 -0
  135. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/database/session_manager.py +0 -0
  136. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/gateway/__init__.py +0 -0
  137. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/gateway/checkpoint_manager.py +0 -0
  138. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/gateway/deduplicator.py +0 -0
  139. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/gateway/durable_gateway.py +0 -0
  140. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/gateway/durable_request.py +0 -0
  141. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/gateway/event_store.py +0 -0
  142. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/gateway/storage_backends.py +0 -0
  143. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/mcp/__init__.py +0 -0
  144. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/mcp/client_integration.py +0 -0
  145. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/middleware/mcp/enhanced_server.py +0 -0
  146. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/monitoring/__init__.py +0 -0
  147. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/monitoring/alerts.py +0 -0
  148. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/monitoring/metrics.py +0 -0
  149. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/__init__.py +0 -0
  150. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/__init__.py +0 -0
  151. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/audit_log.py +0 -0
  152. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/permission_check.py +0 -0
  153. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/role_management.py +0 -0
  154. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/schema.sql +0 -0
  155. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/schema_manager.py +0 -0
  156. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/security_event.py +0 -0
  157. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/tenant_isolation.py +0 -0
  158. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/transaction_utils.py +0 -0
  159. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/admin/user_management.py +0 -0
  160. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/__init__.py +0 -0
  161. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/a2a.py +0 -0
  162. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/a2a_backup.py +0 -0
  163. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/agents.py +0 -0
  164. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/ai_providers.py +0 -0
  165. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/embedding_generator.py +0 -0
  166. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/hybrid_search.py +0 -0
  167. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/intelligent_agent_orchestrator.py +0 -0
  168. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/iterative_llm_agent.py +0 -0
  169. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/llm_agent.py +0 -0
  170. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/models.py +0 -0
  171. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/self_organizing.py +0 -0
  172. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/semantic_memory.py +0 -0
  173. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/streaming_analytics.py +0 -0
  174. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ai/vision_utils.py +0 -0
  175. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/alerts/__init__.py +0 -0
  176. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/alerts/base.py +0 -0
  177. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/alerts/discord.py +0 -0
  178. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/api/__init__.py +0 -0
  179. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/api/auth.py +0 -0
  180. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/api/graphql.py +0 -0
  181. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/api/http.py +0 -0
  182. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/api/monitoring.py +0 -0
  183. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/api/rate_limiting.py +0 -0
  184. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/api/rest.py +0 -0
  185. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/api/security.py +0 -0
  186. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/auth/__init__.py +0 -0
  187. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/auth/directory_integration.py +0 -0
  188. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/auth/enterprise_auth_provider.py +0 -0
  189. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/auth/mfa.py +0 -0
  190. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/auth/risk_assessment.py +0 -0
  191. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/auth/session_management.py +0 -0
  192. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/auth/sso.py +0 -0
  193. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/base.py +0 -0
  194. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/base_async.py +0 -0
  195. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/base_cycle_aware.py +0 -0
  196. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/base_with_acl.py +0 -0
  197. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/cache/__init__.py +0 -0
  198. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/cache/cache.py +0 -0
  199. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/cache/cache_invalidation.py +0 -0
  200. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/cache/redis_pool_manager.py +0 -0
  201. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/code/__init__.py +0 -0
  202. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/code/async_python.py +0 -0
  203. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/code/python.py +0 -0
  204. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/compliance/__init__.py +0 -0
  205. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/compliance/data_retention.py +0 -0
  206. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/compliance/gdpr.py +0 -0
  207. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/__init__.py +0 -0
  208. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/async_connection.py +0 -0
  209. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/async_sql.py +0 -0
  210. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/async_vector.py +0 -0
  211. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/bulk_operations.py +0 -0
  212. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/directory.py +0 -0
  213. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/event_generation.py +0 -0
  214. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/file_discovery.py +0 -0
  215. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/optimistic_locking.py +0 -0
  216. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/query_builder.py +0 -0
  217. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/query_cache.py +0 -0
  218. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/query_pipeline.py +0 -0
  219. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/query_router.py +0 -0
  220. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/readers.py +0 -0
  221. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/redis.py +0 -0
  222. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/retrieval.py +0 -0
  223. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/sharepoint_graph.py +0 -0
  224. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/sources.py +0 -0
  225. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/sql.py +0 -0
  226. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/streaming.py +0 -0
  227. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/vector_db.py +0 -0
  228. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/workflow_connection_pool.py +0 -0
  229. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/data/writers.py +0 -0
  230. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/__init__.py +0 -0
  231. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/base.py +0 -0
  232. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/cloud_node.py +0 -0
  233. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/coordination.py +0 -0
  234. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/docker_node.py +0 -0
  235. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/edge_data.py +0 -0
  236. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/edge_migration_node.py +0 -0
  237. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/edge_monitoring_node.py +0 -0
  238. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/edge_state.py +0 -0
  239. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/edge_warming_node.py +0 -0
  240. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/kubernetes_node.py +0 -0
  241. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/platform_node.py +0 -0
  242. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/resource_analyzer_node.py +0 -0
  243. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/resource_optimizer_node.py +0 -0
  244. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/edge/resource_scaler_node.py +0 -0
  245. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/enterprise/__init__.py +0 -0
  246. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/enterprise/audit_logger.py +0 -0
  247. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/enterprise/batch_processor.py +0 -0
  248. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/enterprise/data_lineage.py +0 -0
  249. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/enterprise/mcp_executor.py +0 -0
  250. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/enterprise/service_discovery.py +0 -0
  251. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/enterprise/tenant_assignment.py +0 -0
  252. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/governance.py +0 -0
  253. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/logic/__init__.py +0 -0
  254. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/logic/async_operations.py +0 -0
  255. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/logic/convergence.py +0 -0
  256. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/logic/intelligent_merge.py +0 -0
  257. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/logic/loop.py +0 -0
  258. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/logic/operations.py +0 -0
  259. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/logic/workflow.py +0 -0
  260. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/mixins/__init__.py +0 -0
  261. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/mixins/event_emitter.py +0 -0
  262. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/mixins/mcp.py +0 -0
  263. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/mixins/security.py +0 -0
  264. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/mixins.py +0 -0
  265. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/__init__.py +0 -0
  266. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/connection_dashboard.py +0 -0
  267. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/deadlock_detector.py +0 -0
  268. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/health_check.py +0 -0
  269. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/log_processor.py +0 -0
  270. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/metrics_collector.py +0 -0
  271. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/performance_anomaly.py +0 -0
  272. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/performance_benchmark.py +0 -0
  273. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/race_condition_detector.py +0 -0
  274. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/transaction_metrics.py +0 -0
  275. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/monitoring/transaction_monitor.py +0 -0
  276. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/ports.py +0 -0
  277. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/__init__.py +0 -0
  278. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/advanced.py +0 -0
  279. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/agentic.py +0 -0
  280. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/conversational.py +0 -0
  281. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/evaluation.py +0 -0
  282. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/federated.py +0 -0
  283. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/graph.py +0 -0
  284. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/multimodal.py +0 -0
  285. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/optimized.py +0 -0
  286. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/privacy.py +0 -0
  287. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/query_processing.py +0 -0
  288. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/realtime.py +0 -0
  289. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/registry.py +0 -0
  290. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/router.py +0 -0
  291. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/similarity.py +0 -0
  292. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/strategies.py +0 -0
  293. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/rag/workflows.py +0 -0
  294. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/security/__init__.py +0 -0
  295. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/security/abac_evaluator.py +0 -0
  296. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/security/audit_log.py +0 -0
  297. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/security/behavior_analysis.py +0 -0
  298. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/security/credential_manager.py +0 -0
  299. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/security/rotating_credentials.py +0 -0
  300. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/security/security_event.py +0 -0
  301. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/security/threat_detection.py +0 -0
  302. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/system/__init__.py +0 -0
  303. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/system/command_parser.py +0 -0
  304. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/testing/__init__.py +0 -0
  305. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/testing/credential_testing.py +0 -0
  306. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transaction/__init__.py +0 -0
  307. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transaction/distributed_transaction_manager.py +0 -0
  308. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transaction/saga_coordinator.py +0 -0
  309. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transaction/saga_state_storage.py +0 -0
  310. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transaction/saga_step.py +0 -0
  311. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transaction/transaction_context.py +0 -0
  312. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transaction/two_phase_commit.py +0 -0
  313. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transform/__init__.py +0 -0
  314. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transform/chunkers.py +0 -0
  315. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transform/formatters.py +0 -0
  316. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/transform/processors.py +0 -0
  317. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/validation/__init__.py +0 -0
  318. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/validation/test_executor.py +0 -0
  319. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/validation/validation_nodes.py +0 -0
  320. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/nodes/validation.py +0 -0
  321. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/planning/__init__.py +0 -0
  322. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/planning/dynamic_execution_planner.py +0 -0
  323. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/resources/__init__.py +0 -0
  324. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/resources/factory.py +0 -0
  325. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/resources/health.py +0 -0
  326. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/resources/reference.py +0 -0
  327. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/resources/registry.py +0 -0
  328. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/__init__.py +0 -0
  329. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/access_controlled.py +0 -0
  330. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/async_local.py +0 -0
  331. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/compatibility_reporter.py +0 -0
  332. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/docker.py +0 -0
  333. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/hierarchical_switch_executor.py +0 -0
  334. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/parallel.py +0 -0
  335. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/parallel_cyclic.py +0 -0
  336. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/parameter_injection.py +0 -0
  337. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/parameter_injector.py +0 -0
  338. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/performance_monitor.py +0 -0
  339. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/runner.py +0 -0
  340. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/secret_provider.py +0 -0
  341. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/testing.py +0 -0
  342. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/validation/__init__.py +0 -0
  343. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/validation/connection_context.py +0 -0
  344. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/validation/enhanced_error_formatter.py +0 -0
  345. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/validation/error_categorizer.py +0 -0
  346. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/validation/import_validator.py +0 -0
  347. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/validation/metrics.py +0 -0
  348. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/validation/performance.py +0 -0
  349. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/runtime/validation/suggestion_engine.py +0 -0
  350. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/sdk_exceptions.py +0 -0
  351. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/security.py +0 -0
  352. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/servers/__init__.py +0 -0
  353. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/servers/durable_workflow_server.py +0 -0
  354. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/servers/enterprise_workflow_server.py +0 -0
  355. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/servers/gateway.py +0 -0
  356. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/servers/workflow_server.py +0 -0
  357. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/testing/__init__.py +0 -0
  358. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/testing/async_test_case.py +0 -0
  359. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/testing/async_utils.py +0 -0
  360. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/testing/fixtures.py +0 -0
  361. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/testing/mock_registry.py +0 -0
  362. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/tracking/__init__.py +0 -0
  363. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/tracking/manager.py +0 -0
  364. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/tracking/metrics_collector.py +0 -0
  365. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/tracking/models.py +0 -0
  366. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/tracking/storage/__init__.py +0 -0
  367. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/tracking/storage/base.py +0 -0
  368. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/tracking/storage/database.py +0 -0
  369. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/tracking/storage/filesystem.py +0 -0
  370. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/__init__.py +0 -0
  371. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/data_paths.py +0 -0
  372. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/data_validation.py +0 -0
  373. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/export.py +0 -0
  374. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/migrations/__init__.py +0 -0
  375. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/migrations/generator.py +0 -0
  376. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/migrations/models.py +0 -0
  377. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/migrations/runner.py +0 -0
  378. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/resource_manager.py +0 -0
  379. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/secure_logging.py +0 -0
  380. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/utils/templates.py +0 -0
  381. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/visualization/__init__.py +0 -0
  382. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/visualization/api.py +0 -0
  383. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/visualization/dashboard.py +0 -0
  384. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/visualization/performance.py +0 -0
  385. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/visualization/reports.py +0 -0
  386. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/__init__.py +0 -0
  387. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/async_builder.py +0 -0
  388. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/async_patterns.py +0 -0
  389. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/builder.py +0 -0
  390. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/contracts.py +0 -0
  391. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/convergence.py +0 -0
  392. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/cycle_analyzer.py +0 -0
  393. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/cycle_builder.py +0 -0
  394. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/cycle_config.py +0 -0
  395. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/cycle_debugger.py +0 -0
  396. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/cycle_exceptions.py +0 -0
  397. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/cycle_profiler.py +0 -0
  398. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/cycle_state.py +0 -0
  399. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/cyclic_runner.py +0 -0
  400. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/edge_infrastructure.py +0 -0
  401. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/graph.py +0 -0
  402. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/input_handling.py +0 -0
  403. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/mermaid_visualizer.py +0 -0
  404. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/migration.py +0 -0
  405. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/mock_registry.py +0 -0
  406. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/resilience.py +0 -0
  407. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/runner.py +0 -0
  408. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/safety.py +0 -0
  409. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/state.py +0 -0
  410. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/templates.py +0 -0
  411. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/type_inference.py +0 -0
  412. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/validation.py +0 -0
  413. {kailash-0.9.3 → kailash-0.9.4}/src/kailash/workflow/visualization.py +0 -0
  414. {kailash-0.9.3 → kailash-0.9.4}/src/kailash.egg-info/SOURCES.txt +0 -0
  415. {kailash-0.9.3 → kailash-0.9.4}/src/kailash.egg-info/dependency_links.txt +0 -0
  416. {kailash-0.9.3 → kailash-0.9.4}/src/kailash.egg-info/entry_points.txt +0 -0
  417. {kailash-0.9.3 → kailash-0.9.4}/src/kailash.egg-info/not-zip-safe +0 -0
  418. {kailash-0.9.3 → kailash-0.9.4}/src/kailash.egg-info/requires.txt +0 -0
  419. {kailash-0.9.3 → kailash-0.9.4}/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.4
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,28 @@ Dynamic: requires-python
117
117
 
118
118
  ---
119
119
 
120
- ## 🔥 Latest Release: v0.8.5 (January 20, 2025)
120
+ ## 🔥 Latest Release: v0.9.4 (July 31, 2025)
121
121
 
122
- **Architecture Cleanup & Enterprise Security**
122
+ **Critical DataFlow Fixes & Runtime Enhancements**
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
+ ### 🛡️ DataFlow Connection String Parsing
125
+ - **Fixed**: Special characters in passwords (`#`, `$`, `@`, `?`) now work automatically
126
+ - **Before**: `invalid literal for int() with base 10` errors with special characters
127
+ - **After**: All passwords work seamlessly without manual URL encoding
128
+ - **Impact**: Major usability improvement for production deployments
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
+ ### 🎯 Runtime Content-Aware Success Detection
131
+ - **New**: LocalRuntime detects `{"success": False}` patterns in node responses
132
+ - **Benefit**: Earlier failure detection and better error reporting
133
+ - **Default**: Enabled by default, backward compatible
134
+ - **Config**: `LocalRuntime(content_aware_success_detection=True)`
135
+
136
+ ### 📚 Documentation Updates
137
+ - Updated DataFlow connection examples with special character support
138
+ - Added runtime configuration options documentation
139
+ - Enhanced troubleshooting guide with new diagnosis patterns
140
+
141
+ [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.9.4-2025-07-31.md) | [Core SDK 0.9.4](https://pypi.org/project/kailash/0.9.4/) | [DataFlow 0.3.3](https://pypi.org/project/kailash-dataflow/0.3.3/)
132
142
 
133
143
  ## 🎯 What Makes Kailash Different
134
144
 
@@ -345,7 +355,7 @@ results, run_id = runtime.execute(workflow.build())
345
355
 
346
356
  ## 🚀 Applications Built with Kailash
347
357
 
348
- ### 1. DataFlow - Zero-Config Database Platform (v0.3.1)
358
+ ### 1. DataFlow - Zero-Config Database Platform (v0.3.3)
349
359
  ```bash
350
360
  pip install kailash-dataflow
351
361
  ```
@@ -353,7 +363,7 @@ pip install kailash-dataflow
353
363
  - **Redis caching** with enterprise-grade invalidation
354
364
  - **Automatic API generation** with OpenAPI documentation
355
365
  - **4 production examples** with complete deployment guides
356
- - **Latest**: v0.3.1 - Enhanced transaction support and schema management
366
+ - **Latest**: v0.3.3 - Critical connection parsing fix for special characters in passwords
357
367
 
358
368
  ### 2. Nexus - Multi-Channel Platform (v1.0.3)
359
369
  ```bash
@@ -22,18 +22,28 @@
22
22
 
23
23
  ---
24
24
 
25
- ## 🔥 Latest Release: v0.8.5 (January 20, 2025)
25
+ ## 🔥 Latest Release: v0.9.4 (July 31, 2025)
26
26
 
27
- **Architecture Cleanup & Enterprise Security**
27
+ **Critical DataFlow Fixes & Runtime Enhancements**
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
+ ### 🛡️ DataFlow Connection String Parsing
30
+ - **Fixed**: Special characters in passwords (`#`, `$`, `@`, `?`) now work automatically
31
+ - **Before**: `invalid literal for int() with base 10` errors with special characters
32
+ - **After**: All passwords work seamlessly without manual URL encoding
33
+ - **Impact**: Major usability improvement for production deployments
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
+ ### 🎯 Runtime Content-Aware Success Detection
36
+ - **New**: LocalRuntime detects `{"success": False}` patterns in node responses
37
+ - **Benefit**: Earlier failure detection and better error reporting
38
+ - **Default**: Enabled by default, backward compatible
39
+ - **Config**: `LocalRuntime(content_aware_success_detection=True)`
40
+
41
+ ### 📚 Documentation Updates
42
+ - Updated DataFlow connection examples with special character support
43
+ - Added runtime configuration options documentation
44
+ - Enhanced troubleshooting guide with new diagnosis patterns
45
+
46
+ [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.9.4-2025-07-31.md) | [Core SDK 0.9.4](https://pypi.org/project/kailash/0.9.4/) | [DataFlow 0.3.3](https://pypi.org/project/kailash-dataflow/0.3.3/)
37
47
 
38
48
  ## 🎯 What Makes Kailash Different
39
49
 
@@ -250,7 +260,7 @@ results, run_id = runtime.execute(workflow.build())
250
260
 
251
261
  ## 🚀 Applications Built with Kailash
252
262
 
253
- ### 1. DataFlow - Zero-Config Database Platform (v0.3.1)
263
+ ### 1. DataFlow - Zero-Config Database Platform (v0.3.3)
254
264
  ```bash
255
265
  pip install kailash-dataflow
256
266
  ```
@@ -258,7 +268,7 @@ pip install kailash-dataflow
258
268
  - **Redis caching** with enterprise-grade invalidation
259
269
  - **Automatic API generation** with OpenAPI documentation
260
270
  - **4 production examples** with complete deployment guides
261
- - **Latest**: v0.3.1 - Enhanced transaction support and schema management
271
+ - **Latest**: v0.3.3 - Critical connection parsing fix for special characters in passwords
262
272
 
263
273
  ### 2. Nexus - Multi-Channel Platform (v1.0.3)
264
274
  ```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.4"
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.4"
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.4
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,28 @@ Dynamic: requires-python
117
117
 
118
118
  ---
119
119
 
120
- ## 🔥 Latest Release: v0.8.5 (January 20, 2025)
120
+ ## 🔥 Latest Release: v0.9.4 (July 31, 2025)
121
121
 
122
- **Architecture Cleanup & Enterprise Security**
122
+ **Critical DataFlow Fixes & Runtime Enhancements**
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
+ ### 🛡️ DataFlow Connection String Parsing
125
+ - **Fixed**: Special characters in passwords (`#`, `$`, `@`, `?`) now work automatically
126
+ - **Before**: `invalid literal for int() with base 10` errors with special characters
127
+ - **After**: All passwords work seamlessly without manual URL encoding
128
+ - **Impact**: Major usability improvement for production deployments
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
+ ### 🎯 Runtime Content-Aware Success Detection
131
+ - **New**: LocalRuntime detects `{"success": False}` patterns in node responses
132
+ - **Benefit**: Earlier failure detection and better error reporting
133
+ - **Default**: Enabled by default, backward compatible
134
+ - **Config**: `LocalRuntime(content_aware_success_detection=True)`
135
+
136
+ ### 📚 Documentation Updates
137
+ - Updated DataFlow connection examples with special character support
138
+ - Added runtime configuration options documentation
139
+ - Enhanced troubleshooting guide with new diagnosis patterns
140
+
141
+ [Full Changelog](sdk-users/6-reference/changelogs/releases/v0.9.4-2025-07-31.md) | [Core SDK 0.9.4](https://pypi.org/project/kailash/0.9.4/) | [DataFlow 0.3.3](https://pypi.org/project/kailash-dataflow/0.3.3/)
132
142
 
133
143
  ## 🎯 What Makes Kailash Different
134
144
 
@@ -345,7 +355,7 @@ results, run_id = runtime.execute(workflow.build())
345
355
 
346
356
  ## 🚀 Applications Built with Kailash
347
357
 
348
- ### 1. DataFlow - Zero-Config Database Platform (v0.3.1)
358
+ ### 1. DataFlow - Zero-Config Database Platform (v0.3.3)
349
359
  ```bash
350
360
  pip install kailash-dataflow
351
361
  ```
@@ -353,7 +363,7 @@ pip install kailash-dataflow
353
363
  - **Redis caching** with enterprise-grade invalidation
354
364
  - **Automatic API generation** with OpenAPI documentation
355
365
  - **4 production examples** with complete deployment guides
356
- - **Latest**: v0.3.1 - Enhanced transaction support and schema management
366
+ - **Latest**: v0.3.3 - Critical connection parsing fix for special characters in passwords
357
367
 
358
368
  ### 2. Nexus - Multi-Channel Platform (v1.0.3)
359
369
  ```bash
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes