kailash 0.4.0__tar.gz → 0.4.2__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 (241) hide show
  1. {kailash-0.4.0/src/kailash.egg-info → kailash-0.4.2}/PKG-INFO +4 -1
  2. {kailash-0.4.0 → kailash-0.4.2}/README.md +3 -0
  3. {kailash-0.4.0 → kailash-0.4.2}/pyproject.toml +1 -1
  4. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/__init__.py +3 -4
  5. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/__init__.py +4 -2
  6. kailash-0.4.2/src/kailash/middleware/auth/__init__.py +76 -0
  7. kailash-0.4.2/src/kailash/middleware/auth/exceptions.py +80 -0
  8. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/auth/jwt_auth.py +265 -123
  9. kailash-0.4.2/src/kailash/middleware/auth/models.py +137 -0
  10. kailash-0.4.2/src/kailash/middleware/auth/utils.py +257 -0
  11. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/communication/api_gateway.py +49 -7
  12. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/core/agent_ui.py +108 -1
  13. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/mcp/enhanced_server.py +2 -2
  14. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/__init__.py +2 -0
  15. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/admin/__init__.py +9 -2
  16. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/admin/audit_log.py +1 -1
  17. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/admin/security_event.py +7 -3
  18. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/ai_providers.py +247 -40
  19. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/llm_agent.py +29 -3
  20. kailash-0.4.2/src/kailash/nodes/ai/vision_utils.py +148 -0
  21. kailash-0.4.2/src/kailash/nodes/alerts/__init__.py +26 -0
  22. kailash-0.4.2/src/kailash/nodes/alerts/base.py +234 -0
  23. kailash-0.4.2/src/kailash/nodes/alerts/discord.py +499 -0
  24. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/code/python.py +18 -0
  25. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/streaming.py +8 -8
  26. kailash-0.4.2/src/kailash/nodes/security/audit_log.py +103 -0
  27. kailash-0.4.2/src/kailash/nodes/security/security_event.py +133 -0
  28. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/security.py +1 -1
  29. {kailash-0.4.0 → kailash-0.4.2/src/kailash.egg-info}/PKG-INFO +4 -1
  30. {kailash-0.4.0 → kailash-0.4.2}/src/kailash.egg-info/SOURCES.txt +7 -1
  31. kailash-0.4.0/src/kailash/middleware/auth/__init__.py +0 -33
  32. kailash-0.4.0/src/kailash/middleware/auth/kailash_jwt_auth.py +0 -616
  33. kailash-0.4.0/src/kailash/nodes/security/audit_log.py +0 -91
  34. kailash-0.4.0/src/kailash/nodes/security/security_event.py +0 -132
  35. {kailash-0.4.0 → kailash-0.4.2}/LICENSE +0 -0
  36. {kailash-0.4.0 → kailash-0.4.2}/MANIFEST.in +0 -0
  37. {kailash-0.4.0 → kailash-0.4.2}/setup.cfg +0 -0
  38. {kailash-0.4.0 → kailash-0.4.2}/setup.py +0 -0
  39. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/__main__.py +0 -0
  40. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/access_control/__init__.py +0 -0
  41. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/access_control/managers.py +0 -0
  42. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/access_control/rule_evaluators.py +0 -0
  43. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/access_control.py +0 -0
  44. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/access_control_abac.py +0 -0
  45. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/api/auth.py +0 -0
  46. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/api/custom_nodes.py +0 -0
  47. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/api/custom_nodes_secure.py +0 -0
  48. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/api/gateway.py +0 -0
  49. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/api/mcp_integration.py +0 -0
  50. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/api/studio.py +0 -0
  51. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/api/workflow_api.py +0 -0
  52. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/cli/__init__.py +0 -0
  53. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/cli/commands.py +0 -0
  54. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/config/__init__.py +0 -0
  55. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/config/database_config.py +0 -0
  56. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/database/__init__.py +0 -0
  57. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/database/execution_pipeline.py +0 -0
  58. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/manifest.py +0 -0
  59. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/__init__.py +0 -0
  60. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/ai_registry_server.py +0 -0
  61. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/client.py +0 -0
  62. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/client_new.py +0 -0
  63. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/server.py +0 -0
  64. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/server_enhanced.py +0 -0
  65. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/servers/ai_registry.py +0 -0
  66. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/utils/__init__.py +0 -0
  67. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/utils/cache.py +0 -0
  68. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/utils/config.py +0 -0
  69. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/utils/formatters.py +0 -0
  70. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/mcp/utils/metrics.py +0 -0
  71. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/auth/access_control.py +0 -0
  72. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/auth/auth_manager.py +0 -0
  73. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/communication/__init__.py +0 -0
  74. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/communication/ai_chat.py +0 -0
  75. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/communication/events.py +0 -0
  76. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/communication/realtime.py +0 -0
  77. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/core/__init__.py +0 -0
  78. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/core/schema.py +0 -0
  79. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/core/workflows.py +0 -0
  80. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/database/__init__.py +0 -0
  81. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/database/base.py +0 -0
  82. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/database/base_models.py +0 -0
  83. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/database/enums.py +0 -0
  84. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/database/migrations.py +0 -0
  85. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/database/models.py +0 -0
  86. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/database/repositories.py +0 -0
  87. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/database/session_manager.py +0 -0
  88. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/mcp/__init__.py +0 -0
  89. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/middleware/mcp/client_integration.py +0 -0
  90. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/admin/permission_check.py +0 -0
  91. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/admin/role_management.py +0 -0
  92. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/admin/user_management.py +0 -0
  93. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/__init__.py +0 -0
  94. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/a2a.py +0 -0
  95. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/agents.py +0 -0
  96. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/embedding_generator.py +0 -0
  97. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/intelligent_agent_orchestrator.py +0 -0
  98. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/iterative_llm_agent.py +0 -0
  99. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/models.py +0 -0
  100. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/ai/self_organizing.py +0 -0
  101. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/api/__init__.py +0 -0
  102. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/api/auth.py +0 -0
  103. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/api/graphql.py +0 -0
  104. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/api/http.py +0 -0
  105. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/api/monitoring.py +0 -0
  106. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/api/rate_limiting.py +0 -0
  107. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/api/rest.py +0 -0
  108. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/api/security.py +0 -0
  109. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/auth/__init__.py +0 -0
  110. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/auth/directory_integration.py +0 -0
  111. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/auth/enterprise_auth_provider.py +0 -0
  112. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/auth/mfa.py +0 -0
  113. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/auth/risk_assessment.py +0 -0
  114. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/auth/session_management.py +0 -0
  115. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/auth/sso.py +0 -0
  116. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/base.py +0 -0
  117. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/base_async.py +0 -0
  118. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/base_cycle_aware.py +0 -0
  119. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/base_with_acl.py +0 -0
  120. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/code/__init__.py +0 -0
  121. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/compliance/__init__.py +0 -0
  122. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/compliance/data_retention.py +0 -0
  123. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/compliance/gdpr.py +0 -0
  124. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/__init__.py +0 -0
  125. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/async_connection.py +0 -0
  126. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/async_sql.py +0 -0
  127. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/async_vector.py +0 -0
  128. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/directory.py +0 -0
  129. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/event_generation.py +0 -0
  130. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/file_discovery.py +0 -0
  131. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/readers.py +0 -0
  132. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/retrieval.py +0 -0
  133. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/sharepoint_graph.py +0 -0
  134. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/sources.py +0 -0
  135. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/sql.py +0 -0
  136. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/vector_db.py +0 -0
  137. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/data/writers.py +0 -0
  138. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/enterprise/__init__.py +0 -0
  139. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/enterprise/batch_processor.py +0 -0
  140. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/enterprise/data_lineage.py +0 -0
  141. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/logic/__init__.py +0 -0
  142. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/logic/async_operations.py +0 -0
  143. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/logic/convergence.py +0 -0
  144. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/logic/loop.py +0 -0
  145. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/logic/operations.py +0 -0
  146. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/logic/workflow.py +0 -0
  147. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/mixins/__init__.py +0 -0
  148. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/mixins/event_emitter.py +0 -0
  149. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/mixins/mcp.py +0 -0
  150. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/mixins/security.py +0 -0
  151. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/mixins.py +0 -0
  152. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/monitoring/__init__.py +0 -0
  153. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/monitoring/performance_benchmark.py +0 -0
  154. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/__init__.py +0 -0
  155. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/advanced.py +0 -0
  156. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/agentic.py +0 -0
  157. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/conversational.py +0 -0
  158. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/evaluation.py +0 -0
  159. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/federated.py +0 -0
  160. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/graph.py +0 -0
  161. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/multimodal.py +0 -0
  162. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/optimized.py +0 -0
  163. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/privacy.py +0 -0
  164. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/query_processing.py +0 -0
  165. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/realtime.py +0 -0
  166. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/registry.py +0 -0
  167. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/router.py +0 -0
  168. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/similarity.py +0 -0
  169. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/strategies.py +0 -0
  170. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/rag/workflows.py +0 -0
  171. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/security/__init__.py +0 -0
  172. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/security/abac_evaluator.py +0 -0
  173. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/security/behavior_analysis.py +0 -0
  174. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/security/credential_manager.py +0 -0
  175. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/security/rotating_credentials.py +0 -0
  176. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/security/threat_detection.py +0 -0
  177. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/testing/__init__.py +0 -0
  178. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/testing/credential_testing.py +0 -0
  179. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/transform/__init__.py +0 -0
  180. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/transform/chunkers.py +0 -0
  181. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/transform/formatters.py +0 -0
  182. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/transform/processors.py +0 -0
  183. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/nodes/validation.py +0 -0
  184. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/__init__.py +0 -0
  185. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/access_controlled.py +0 -0
  186. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/async_local.py +0 -0
  187. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/docker.py +0 -0
  188. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/local.py +0 -0
  189. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/parallel.py +0 -0
  190. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/parallel_cyclic.py +0 -0
  191. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/runner.py +0 -0
  192. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/runtime/testing.py +0 -0
  193. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/sdk_exceptions.py +0 -0
  194. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/tracking/__init__.py +0 -0
  195. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/tracking/manager.py +0 -0
  196. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/tracking/metrics_collector.py +0 -0
  197. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/tracking/models.py +0 -0
  198. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/tracking/storage/__init__.py +0 -0
  199. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/tracking/storage/base.py +0 -0
  200. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/tracking/storage/database.py +0 -0
  201. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/tracking/storage/filesystem.py +0 -0
  202. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/utils/__init__.py +0 -0
  203. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/utils/export.py +0 -0
  204. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/utils/migrations/__init__.py +0 -0
  205. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/utils/migrations/generator.py +0 -0
  206. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/utils/migrations/models.py +0 -0
  207. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/utils/migrations/runner.py +0 -0
  208. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/utils/secure_logging.py +0 -0
  209. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/utils/templates.py +0 -0
  210. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/visualization/__init__.py +0 -0
  211. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/visualization/api.py +0 -0
  212. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/visualization/dashboard.py +0 -0
  213. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/visualization/performance.py +0 -0
  214. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/visualization/reports.py +0 -0
  215. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/__init__.py +0 -0
  216. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/builder.py +0 -0
  217. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/convergence.py +0 -0
  218. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/cycle_analyzer.py +0 -0
  219. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/cycle_builder.py +0 -0
  220. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/cycle_config.py +0 -0
  221. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/cycle_debugger.py +0 -0
  222. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/cycle_exceptions.py +0 -0
  223. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/cycle_profiler.py +0 -0
  224. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/cycle_state.py +0 -0
  225. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/cyclic_runner.py +0 -0
  226. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/graph.py +0 -0
  227. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/mermaid_visualizer.py +0 -0
  228. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/migration.py +0 -0
  229. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/mock_registry.py +0 -0
  230. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/resilience.py +0 -0
  231. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/runner.py +0 -0
  232. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/safety.py +0 -0
  233. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/state.py +0 -0
  234. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/templates.py +0 -0
  235. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/validation.py +0 -0
  236. {kailash-0.4.0 → kailash-0.4.2}/src/kailash/workflow/visualization.py +0 -0
  237. {kailash-0.4.0 → kailash-0.4.2}/src/kailash.egg-info/dependency_links.txt +0 -0
  238. {kailash-0.4.0 → kailash-0.4.2}/src/kailash.egg-info/entry_points.txt +0 -0
  239. {kailash-0.4.0 → kailash-0.4.2}/src/kailash.egg-info/not-zip-safe +0 -0
  240. {kailash-0.4.0 → kailash-0.4.2}/src/kailash.egg-info/requires.txt +0 -0
  241. {kailash-0.4.0 → kailash-0.4.2}/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.4.0
3
+ Version: 0.4.2
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
@@ -116,6 +116,7 @@ Dynamic: requires-python
116
116
  - 📈 **High Performance**: Optimized execution engine supporting 100,000+ iteration workflows
117
117
  - 📁 **Complete Finance Workflow Library (v0.3.1)**: Production-ready financial workflows with AI analysis
118
118
  - 💼 **Enterprise Workflow Patterns**: Credit risk, portfolio optimization, trading signals, fraud detection
119
+ - 🔔 **Production Alert System**: Rich Discord alerts with rate limiting, retry logic, and rich embed support
119
120
  - 🏭 **Session 067 Enhancements**: Business workflow templates, data lineage tracking, automatic credential rotation
120
121
  - 🔄 **Zero-Downtime Operations**: Automatic credential rotation with enterprise notifications and audit trails
121
122
  - 🌉 **Enterprise Middleware (v0.4.0)**: Production-ready middleware architecture with real-time agent-frontend communication, dynamic workflows, and AI chat integration
@@ -174,6 +175,7 @@ pip install kailash[user-management]
174
175
  # Everything
175
176
  pip install kailash[all]
176
177
  ```
178
+ >>>>>>> origin/main
177
179
 
178
180
  ## 🎯 Who Is This For?
179
181
 
@@ -522,6 +524,7 @@ api.run()
522
524
  - **API**: RESTClientNode, GraphQLNode, AuthNode, HTTPRequestNode
523
525
  - **Logic**: SwitchNode, MergeNode, ConvergenceCheckerNode
524
526
  - **Code**: PythonCodeNode, WorkflowNode
527
+ - **Alerts**: DiscordAlertNode with rich embeds and rate limiting
525
528
  - **Security**: EnhancedAccessControlManager (ABAC with 16 operators)
526
529
 
527
530
  ### Runtimes
@@ -42,6 +42,7 @@
42
42
  - 📈 **High Performance**: Optimized execution engine supporting 100,000+ iteration workflows
43
43
  - 📁 **Complete Finance Workflow Library (v0.3.1)**: Production-ready financial workflows with AI analysis
44
44
  - 💼 **Enterprise Workflow Patterns**: Credit risk, portfolio optimization, trading signals, fraud detection
45
+ - 🔔 **Production Alert System**: Rich Discord alerts with rate limiting, retry logic, and rich embed support
45
46
  - 🏭 **Session 067 Enhancements**: Business workflow templates, data lineage tracking, automatic credential rotation
46
47
  - 🔄 **Zero-Downtime Operations**: Automatic credential rotation with enterprise notifications and audit trails
47
48
  - 🌉 **Enterprise Middleware (v0.4.0)**: Production-ready middleware architecture with real-time agent-frontend communication, dynamic workflows, and AI chat integration
@@ -100,6 +101,7 @@ pip install kailash[user-management]
100
101
  # Everything
101
102
  pip install kailash[all]
102
103
  ```
104
+ >>>>>>> origin/main
103
105
 
104
106
  ## 🎯 Who Is This For?
105
107
 
@@ -448,6 +450,7 @@ api.run()
448
450
  - **API**: RESTClientNode, GraphQLNode, AuthNode, HTTPRequestNode
449
451
  - **Logic**: SwitchNode, MergeNode, ConvergenceCheckerNode
450
452
  - **Code**: PythonCodeNode, WorkflowNode
453
+ - **Alerts**: DiscordAlertNode with rich embeds and rate limiting
451
454
  - **Security**: EnhancedAccessControlManager (ABAC with 16 operators)
452
455
 
453
456
  ### Runtimes
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "kailash"
7
- version = "0.4.0"
7
+ version = "0.4.2"
8
8
  description = "Python SDK for the Kailash container-node architecture"
9
9
  authors = [
10
10
  {name = "Integrum", email = "info@integrum.com"}
@@ -3,9 +3,8 @@
3
3
  The Kailash SDK provides a comprehensive framework for creating nodes and workflows
4
4
  that align with container-node architecture while allowing rapid prototyping.
5
5
 
6
- New in v0.4.0: Enterprise middleware architecture with real-time agent-frontend
7
- communication, dynamic workflows, AI chat integration, and production-ready
8
- session management. Complete refactor from monolithic to composable middleware.
6
+ New in v0.4.2: Bug fixes including circular import resolution and JWT implementation
7
+ consolidation. Improved changelog organization with individual release files.
9
8
  """
10
9
 
11
10
  from kailash.nodes.base import Node, NodeMetadata, NodeParameter
@@ -34,7 +33,7 @@ except ImportError:
34
33
  # For backward compatibility
35
34
  WorkflowGraph = Workflow
36
35
 
37
- __version__ = "0.4.0"
36
+ __version__ = "0.4.2"
38
37
 
39
38
  __all__ = [
40
39
  # Core workflow components
@@ -36,7 +36,7 @@ The middleware consists of these interconnected layers:
36
36
 
37
37
  **API Gateway Layer**:
38
38
  - RESTful API endpoints with OpenAPI documentation
39
- - JWT-based authentication using JWTConfigNode
39
+ - JWT-based authentication using JWTAuthManager
40
40
  - Request/response middleware with comprehensive logging
41
41
  - Dynamic schema generation for node discovery
42
42
 
@@ -181,9 +181,11 @@ Usage Examples
181
181
  >>> workflow_id = await agent_ui.create_dynamic_workflow(
182
182
  ... session_id, workflow_config
183
183
  ... )
184
- >>> execution_id = await agent_ui.execute_workflow(
184
+ >>> # Use execute() for consistency with runtime API (preferred)
185
+ >>> execution_id = await agent_ui.execute(
185
186
  ... session_id, workflow_id, inputs={}
186
187
  ... )
188
+ >>> # Note: execute_workflow() is deprecated and will be removed in v1.0.0
187
189
 
188
190
  Production Deployment
189
191
  --------------------
@@ -0,0 +1,76 @@
1
+ """
2
+ Enterprise Authentication and Authorization for Kailash Middleware
3
+
4
+ Provides comprehensive authentication, authorization, and tenant isolation
5
+ capabilities for the Kailash middleware layer.
6
+
7
+ Features:
8
+ - JWT-based authentication with refresh tokens
9
+ - Role-based access control (RBAC)
10
+ - Attribute-based access control (ABAC)
11
+ - Multi-tenant isolation
12
+ - API key authentication
13
+ - OAuth2/OIDC integration
14
+ - Session management
15
+ - Audit logging
16
+ """
17
+
18
+ from .exceptions import (
19
+ AuthenticationError,
20
+ InvalidTokenError,
21
+ PermissionDeniedError,
22
+ TokenBlacklistedError,
23
+ TokenExpiredError,
24
+ )
25
+
26
+ # Import without circular dependencies
27
+ from .jwt_auth import JWTAuthManager
28
+ from .models import AuthenticationResult, JWTConfig, TokenPair, TokenPayload, UserClaims
29
+ from .utils import generate_key_pair, generate_secret_key, parse_bearer_token
30
+
31
+ # Import other components (check for circular deps)
32
+ try:
33
+ from .access_control import (
34
+ MiddlewareAccessControlManager,
35
+ MiddlewareAuthenticationMiddleware,
36
+ )
37
+ from .auth_manager import AuthLevel, MiddlewareAuthManager
38
+
39
+ _has_access_control = True
40
+ except ImportError:
41
+ # These imports might fail due to circular dependencies with communication
42
+ _has_access_control = False
43
+
44
+ # KailashJWTAuthManager has been consolidated into JWTAuthManager
45
+ # For backward compatibility, use JWTAuthManager directly
46
+
47
+ __all__ = [
48
+ # Core authentication (always available)
49
+ "JWTAuthManager",
50
+ "JWTConfig",
51
+ "TokenPayload",
52
+ "TokenPair",
53
+ "UserClaims",
54
+ "AuthenticationResult",
55
+ # Exceptions
56
+ "AuthenticationError",
57
+ "TokenExpiredError",
58
+ "InvalidTokenError",
59
+ "TokenBlacklistedError",
60
+ "PermissionDeniedError",
61
+ # Utilities
62
+ "generate_secret_key",
63
+ "generate_key_pair",
64
+ "parse_bearer_token",
65
+ ]
66
+
67
+ # Add access control components if available
68
+ if _has_access_control:
69
+ __all__.extend(
70
+ [
71
+ "MiddlewareAuthManager",
72
+ "AuthLevel",
73
+ "MiddlewareAccessControlManager",
74
+ "MiddlewareAuthenticationMiddleware",
75
+ ]
76
+ )
@@ -0,0 +1,80 @@
1
+ """
2
+ Authentication Exceptions for Kailash Middleware
3
+
4
+ Provides exception classes for authentication errors without circular dependencies.
5
+ """
6
+
7
+
8
+ class AuthenticationError(Exception):
9
+ """Base exception for authentication errors."""
10
+
11
+ def __init__(self, message: str, error_code: str = None):
12
+ super().__init__(message)
13
+ self.error_code = error_code
14
+
15
+
16
+ class TokenExpiredError(AuthenticationError):
17
+ """Raised when a JWT token has expired."""
18
+
19
+ def __init__(self, message: str = "Token has expired"):
20
+ super().__init__(message, "TOKEN_EXPIRED")
21
+
22
+
23
+ class InvalidTokenError(AuthenticationError):
24
+ """Raised when a JWT token is invalid."""
25
+
26
+ def __init__(self, message: str = "Invalid token"):
27
+ super().__init__(message, "INVALID_TOKEN")
28
+
29
+
30
+ class TokenBlacklistedError(AuthenticationError):
31
+ """Raised when a JWT token has been blacklisted/revoked."""
32
+
33
+ def __init__(self, message: str = "Token has been revoked"):
34
+ super().__init__(message, "TOKEN_BLACKLISTED")
35
+
36
+
37
+ class KeyRotationError(AuthenticationError):
38
+ """Raised when key rotation fails."""
39
+
40
+ def __init__(self, message: str = "Key rotation failed"):
41
+ super().__init__(message, "KEY_ROTATION_ERROR")
42
+
43
+
44
+ class RefreshTokenError(AuthenticationError):
45
+ """Raised when refresh token operations fail."""
46
+
47
+ def __init__(self, message: str = "Refresh token error"):
48
+ super().__init__(message, "REFRESH_TOKEN_ERROR")
49
+
50
+
51
+ class PermissionDeniedError(AuthenticationError):
52
+ """Raised when user lacks required permissions."""
53
+
54
+ def __init__(
55
+ self, message: str = "Permission denied", required_permission: str = None
56
+ ):
57
+ super().__init__(message, "PERMISSION_DENIED")
58
+ self.required_permission = required_permission
59
+
60
+
61
+ class RateLimitError(AuthenticationError):
62
+ """Raised when authentication rate limit is exceeded."""
63
+
64
+ def __init__(self, message: str = "Rate limit exceeded", retry_after: int = None):
65
+ super().__init__(message, "RATE_LIMIT_EXCEEDED")
66
+ self.retry_after = retry_after
67
+
68
+
69
+ class InvalidCredentialsError(AuthenticationError):
70
+ """Raised when login credentials are invalid."""
71
+
72
+ def __init__(self, message: str = "Invalid credentials"):
73
+ super().__init__(message, "INVALID_CREDENTIALS")
74
+
75
+
76
+ class SessionExpiredError(AuthenticationError):
77
+ """Raised when a session has expired."""
78
+
79
+ def __init__(self, message: str = "Session has expired"):
80
+ super().__init__(message, "SESSION_EXPIRED")