kailash 0.8.4__tar.gz → 0.8.6__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.
- {kailash-0.8.4/src/kailash.egg-info → kailash-0.8.6}/PKG-INFO +52 -34
- {kailash-0.8.4 → kailash-0.8.6}/README.md +51 -33
- {kailash-0.8.4 → kailash-0.8.6}/pyproject.toml +3 -3
- {kailash-0.8.4 → kailash-0.8.6}/setup.py +5 -5
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/__init__.py +5 -11
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/channels/__init__.py +2 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/channels/mcp_channel.py +23 -4
- kailash-0.8.6/src/kailash/cli/__init__.py +15 -0
- kailash-0.8.6/src/kailash/cli/validate_imports.py +202 -0
- kailash-0.8.6/src/kailash/cli/validation_audit.py +570 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/actors/supervisor.py +1 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/resilience/bulkhead.py +15 -5
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/resilience/circuit_breaker.py +74 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/resilience/health_monitor.py +433 -33
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/edge/compliance.py +33 -0
- kailash-0.8.6/src/kailash/edge/consistency.py +609 -0
- kailash-0.8.6/src/kailash/edge/coordination/__init__.py +30 -0
- kailash-0.8.6/src/kailash/edge/coordination/global_ordering.py +355 -0
- kailash-0.8.6/src/kailash/edge/coordination/leader_election.py +217 -0
- kailash-0.8.6/src/kailash/edge/coordination/partition_detector.py +296 -0
- kailash-0.8.6/src/kailash/edge/coordination/raft.py +485 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/edge/discovery.py +63 -1
- kailash-0.8.6/src/kailash/edge/migration/__init__.py +19 -0
- kailash-0.8.6/src/kailash/edge/migration/edge_migration_service.py +384 -0
- kailash-0.8.6/src/kailash/edge/migration/edge_migrator.py +832 -0
- kailash-0.8.6/src/kailash/edge/monitoring/__init__.py +21 -0
- kailash-0.8.6/src/kailash/edge/monitoring/edge_monitor.py +736 -0
- kailash-0.8.6/src/kailash/edge/prediction/__init__.py +10 -0
- kailash-0.8.6/src/kailash/edge/prediction/predictive_warmer.py +591 -0
- kailash-0.8.6/src/kailash/edge/resource/__init__.py +102 -0
- kailash-0.8.6/src/kailash/edge/resource/cloud_integration.py +796 -0
- kailash-0.8.6/src/kailash/edge/resource/cost_optimizer.py +949 -0
- kailash-0.8.6/src/kailash/edge/resource/docker_integration.py +919 -0
- kailash-0.8.6/src/kailash/edge/resource/kubernetes_integration.py +893 -0
- kailash-0.8.6/src/kailash/edge/resource/platform_integration.py +913 -0
- kailash-0.8.6/src/kailash/edge/resource/predictive_scaler.py +959 -0
- kailash-0.8.6/src/kailash/edge/resource/resource_analyzer.py +824 -0
- kailash-0.8.6/src/kailash/edge/resource/resource_pools.py +610 -0
- kailash-0.8.6/src/kailash/integrations/dataflow_edge.py +261 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/registry_integration.py +1 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/server.py +351 -8
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/transports.py +305 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/gateway/event_store.py +1 -0
- kailash-0.8.6/src/kailash/monitoring/__init__.py +18 -0
- kailash-0.8.6/src/kailash/monitoring/alerts.py +646 -0
- kailash-0.8.6/src/kailash/monitoring/metrics.py +677 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/__init__.py +2 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/semantic_memory.py +2 -2
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/base.py +622 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/code/python.py +44 -3
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/async_sql.py +42 -20
- kailash-0.8.6/src/kailash/nodes/edge/__init__.py +36 -0
- kailash-0.8.6/src/kailash/nodes/edge/base.py +240 -0
- kailash-0.8.6/src/kailash/nodes/edge/cloud_node.py +710 -0
- kailash-0.8.6/src/kailash/nodes/edge/coordination.py +239 -0
- kailash-0.8.6/src/kailash/nodes/edge/docker_node.py +825 -0
- kailash-0.8.6/src/kailash/nodes/edge/edge_data.py +582 -0
- kailash-0.8.6/src/kailash/nodes/edge/edge_migration_node.py +396 -0
- kailash-0.8.6/src/kailash/nodes/edge/edge_monitoring_node.py +421 -0
- kailash-0.8.6/src/kailash/nodes/edge/edge_state.py +673 -0
- kailash-0.8.6/src/kailash/nodes/edge/edge_warming_node.py +393 -0
- kailash-0.8.6/src/kailash/nodes/edge/kubernetes_node.py +652 -0
- kailash-0.8.6/src/kailash/nodes/edge/platform_node.py +766 -0
- kailash-0.8.6/src/kailash/nodes/edge/resource_analyzer_node.py +378 -0
- kailash-0.8.6/src/kailash/nodes/edge/resource_optimizer_node.py +501 -0
- kailash-0.8.6/src/kailash/nodes/edge/resource_scaler_node.py +397 -0
- kailash-0.8.6/src/kailash/nodes/governance.py +410 -0
- kailash-0.8.6/src/kailash/nodes/ports.py +676 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/registry.py +1 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transaction/distributed_transaction_manager.py +48 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transaction/saga_state_storage.py +2 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/validation.py +8 -8
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/local.py +374 -1
- kailash-0.8.6/src/kailash/runtime/validation/__init__.py +12 -0
- kailash-0.8.6/src/kailash/runtime/validation/connection_context.py +119 -0
- kailash-0.8.6/src/kailash/runtime/validation/enhanced_error_formatter.py +202 -0
- kailash-0.8.6/src/kailash/runtime/validation/error_categorizer.py +164 -0
- kailash-0.8.6/src/kailash/runtime/validation/import_validator.py +446 -0
- kailash-0.8.6/src/kailash/runtime/validation/metrics.py +380 -0
- kailash-0.8.6/src/kailash/runtime/validation/performance.py +615 -0
- kailash-0.8.6/src/kailash/runtime/validation/suggestion_engine.py +212 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/testing/fixtures.py +2 -2
- kailash-0.8.6/src/kailash/utils/data_paths.py +74 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/builder.py +413 -8
- kailash-0.8.6/src/kailash/workflow/contracts.py +418 -0
- kailash-0.8.6/src/kailash/workflow/edge_infrastructure.py +369 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/mermaid_visualizer.py +3 -1
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/migration.py +3 -3
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/templates.py +6 -6
- kailash-0.8.6/src/kailash/workflow/type_inference.py +669 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/validation.py +134 -3
- {kailash-0.8.4 → kailash-0.8.6/src/kailash.egg-info}/PKG-INFO +52 -34
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash.egg-info/SOURCES.txt +57 -6
- kailash-0.8.4/src/kailash/cli/__init__.py +0 -5
- kailash-0.8.4/src/kailash/nexus/__init__.py +0 -21
- kailash-0.8.4/src/kailash/nexus/cli/__init__.py +0 -5
- kailash-0.8.4/src/kailash/nexus/cli/__main__.py +0 -6
- kailash-0.8.4/src/kailash/nexus/cli/main.py +0 -176
- kailash-0.8.4/src/kailash/nexus/factory.py +0 -413
- kailash-0.8.4/src/kailash/nexus/gateway.py +0 -545
- {kailash-0.8.4 → kailash-0.8.6}/LICENSE +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/MANIFEST.in +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/setup.cfg +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/__main__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/access_control/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/access_control/managers.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/access_control/rule_evaluators.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/access_control.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/access_control_abac.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/adapters/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/adapters/mcp_platform_adapter.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/api/auth.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/api/custom_nodes.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/api/custom_nodes_secure.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/api/gateway.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/api/mcp_integration.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/api/studio.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/api/workflow_api.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/channels/api_channel.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/channels/base.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/channels/cli_channel.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/channels/event_router.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/channels/session.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/cli/commands.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/client/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/client/enhanced_client.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/config/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/config/database_config.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/actors/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/actors/adaptive_pool_controller.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/actors/connection_actor.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/ml/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/ml/query_patterns.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/monitoring/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/monitoring/connection_metrics.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/optimization/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/core/resilience/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/database/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/database/execution_pipeline.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/edge/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/edge/location.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/gateway/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/gateway/api.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/gateway/enhanced_gateway.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/gateway/resource_resolver.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/gateway/security.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/manifest.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/advanced_features.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/ai_registry_server.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/auth.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/client.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/client_new.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/discovery.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/errors.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/oauth.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/protocol.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/servers/ai_registry.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/utils/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/utils/cache.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/utils/config.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/utils/formatters.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/mcp_server/utils/metrics.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/auth/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/auth/access_control.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/auth/auth_manager.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/auth/exceptions.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/auth/jwt_auth.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/auth/models.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/auth/utils.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/communication/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/communication/ai_chat.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/communication/api_gateway.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/communication/events.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/communication/realtime.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/core/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/core/agent_ui.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/core/schema.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/core/workflows.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/database/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/database/base.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/database/base_models.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/database/enums.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/database/migrations.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/database/models.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/database/repositories.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/database/session_manager.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/gateway/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/gateway/checkpoint_manager.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/gateway/deduplicator.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/gateway/durable_gateway.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/gateway/durable_request.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/gateway/storage_backends.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/mcp/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/mcp/client_integration.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/middleware/mcp/enhanced_server.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/audit_log.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/permission_check.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/role_management.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/schema.sql +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/schema_manager.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/security_event.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/tenant_isolation.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/transaction_utils.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/admin/user_management.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/a2a.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/a2a_backup.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/agents.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/ai_providers.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/embedding_generator.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/hybrid_search.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/intelligent_agent_orchestrator.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/iterative_llm_agent.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/llm_agent.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/models.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/self_organizing.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/streaming_analytics.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/ai/vision_utils.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/alerts/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/alerts/base.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/alerts/discord.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/api/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/api/auth.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/api/graphql.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/api/http.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/api/monitoring.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/api/rate_limiting.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/api/rest.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/api/security.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/auth/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/auth/directory_integration.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/auth/enterprise_auth_provider.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/auth/mfa.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/auth/risk_assessment.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/auth/session_management.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/auth/sso.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/base_async.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/base_cycle_aware.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/base_with_acl.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/cache/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/cache/cache.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/cache/cache_invalidation.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/cache/redis_pool_manager.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/code/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/code/async_python.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/compliance/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/compliance/data_retention.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/compliance/gdpr.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/async_connection.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/async_vector.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/bulk_operations.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/directory.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/event_generation.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/file_discovery.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/optimistic_locking.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/query_builder.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/query_cache.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/query_pipeline.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/query_router.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/readers.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/redis.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/retrieval.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/sharepoint_graph.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/sources.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/sql.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/streaming.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/vector_db.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/workflow_connection_pool.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/data/writers.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/enterprise/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/enterprise/audit_logger.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/enterprise/batch_processor.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/enterprise/data_lineage.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/enterprise/mcp_executor.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/enterprise/service_discovery.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/enterprise/tenant_assignment.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/logic/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/logic/async_operations.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/logic/convergence.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/logic/loop.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/logic/operations.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/logic/workflow.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/mixins/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/mixins/event_emitter.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/mixins/mcp.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/mixins/security.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/mixins.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/connection_dashboard.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/deadlock_detector.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/health_check.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/log_processor.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/metrics_collector.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/performance_anomaly.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/performance_benchmark.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/race_condition_detector.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/transaction_metrics.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/monitoring/transaction_monitor.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/advanced.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/agentic.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/conversational.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/evaluation.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/federated.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/graph.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/multimodal.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/optimized.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/privacy.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/query_processing.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/realtime.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/router.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/similarity.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/strategies.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/rag/workflows.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/security/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/security/abac_evaluator.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/security/audit_log.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/security/behavior_analysis.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/security/credential_manager.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/security/rotating_credentials.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/security/security_event.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/security/threat_detection.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/system/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/system/command_parser.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/testing/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/testing/credential_testing.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transaction/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transaction/saga_coordinator.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transaction/saga_step.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transaction/transaction_context.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transaction/two_phase_commit.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transform/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transform/chunkers.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transform/formatters.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/transform/processors.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/validation/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/validation/test_executor.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/nodes/validation/validation_nodes.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/resources/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/resources/factory.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/resources/health.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/resources/reference.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/resources/registry.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/access_controlled.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/async_local.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/docker.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/parallel.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/parallel_cyclic.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/parameter_injection.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/parameter_injector.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/runner.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/secret_provider.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/runtime/testing.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/sdk_exceptions.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/security.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/servers/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/servers/durable_workflow_server.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/servers/enterprise_workflow_server.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/servers/gateway.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/servers/workflow_server.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/testing/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/testing/async_test_case.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/testing/async_utils.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/testing/mock_registry.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/tracking/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/tracking/manager.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/tracking/metrics_collector.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/tracking/models.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/tracking/storage/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/tracking/storage/base.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/tracking/storage/database.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/tracking/storage/filesystem.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/data_validation.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/export.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/migrations/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/migrations/generator.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/migrations/models.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/migrations/runner.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/resource_manager.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/secure_logging.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/utils/templates.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/visualization/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/visualization/api.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/visualization/dashboard.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/visualization/performance.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/visualization/reports.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/__init__.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/async_builder.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/async_patterns.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/convergence.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/cycle_analyzer.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/cycle_builder.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/cycle_config.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/cycle_debugger.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/cycle_exceptions.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/cycle_profiler.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/cycle_state.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/cyclic_runner.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/graph.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/input_handling.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/mock_registry.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/resilience.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/runner.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/safety.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/state.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash/workflow/visualization.py +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash.egg-info/dependency_links.txt +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash.egg-info/entry_points.txt +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash.egg-info/not-zip-safe +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/src/kailash.egg-info/requires.txt +0 -0
- {kailash-0.8.4 → kailash-0.8.6}/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.8.
|
3
|
+
Version: 0.8.6
|
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,17 +116,18 @@ Dynamic: requires-python
|
|
116
116
|
|
117
117
|
---
|
118
118
|
|
119
|
-
## 🔥 Latest Release: v0.8.
|
119
|
+
## 🔥 Latest Release: v0.8.5 (January 20, 2025)
|
120
120
|
|
121
|
-
**
|
121
|
+
**Architecture Cleanup & Enterprise Security**
|
122
122
|
|
123
|
-
-
|
124
|
-
-
|
125
|
-
-
|
126
|
-
-
|
127
|
-
-
|
123
|
+
- 🏗️ **Architecture Clarity**: Removed confusing `src/kailash/nexus` module
|
124
|
+
- 🔒 **Connection Validation**: Enterprise-grade parameter validation with type safety
|
125
|
+
- 🌐 **Edge Computing**: 50+ new nodes for geo-distributed infrastructure
|
126
|
+
- 📊 **Advanced Monitoring**: AlertManager with proactive threshold monitoring
|
127
|
+
- 🚀 **Performance**: <1ms validation overhead with intelligent caching
|
128
|
+
- ✅ **Breaking Changes**: See [migration guide](sdk-users/6-reference/changelogs/releases/v0.8.5-2025-07-20.md)
|
128
129
|
|
129
|
-
[Full Changelog](changelogs/releases/v0.8.
|
130
|
+
[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
131
|
|
131
132
|
## 🎯 What Makes Kailash Different
|
132
133
|
|
@@ -145,10 +146,12 @@ Not just a toolkit - complete production-ready applications built on enterprise-
|
|
145
146
|
- **100% test pass rate** across 2,400+ tests
|
146
147
|
|
147
148
|
### 🤖 **AI-First Architecture**
|
149
|
+
- **A2A Google Protocol** for enterprise multi-agent coordination
|
148
150
|
- **Real MCP execution** by default for all AI agents
|
149
151
|
- **47+ specialized RAG nodes** for document processing
|
150
|
-
- **
|
151
|
-
- **
|
152
|
+
- **Semantic memory systems** with context-aware retrieval
|
153
|
+
- **Hybrid search algorithms** for intelligent agent discovery
|
154
|
+
- **Self-organizing agent pools** with advanced coordination patterns
|
152
155
|
|
153
156
|
## 🏗️ Project Architecture
|
154
157
|
|
@@ -246,31 +249,32 @@ app.start()
|
|
246
249
|
# - MCP: AI agents can call process_data tool
|
247
250
|
```
|
248
251
|
|
249
|
-
###
|
252
|
+
### A2A Multi-Agent Coordination
|
250
253
|
|
251
254
|
```python
|
252
255
|
from kailash.workflow.builder import WorkflowBuilder
|
253
256
|
from kailash.runtime.local import LocalRuntime
|
254
257
|
|
255
|
-
# Build
|
258
|
+
# Build A2A coordination workflow
|
256
259
|
workflow = WorkflowBuilder()
|
257
|
-
workflow.add_node("
|
258
|
-
"
|
259
|
-
"
|
260
|
+
workflow.add_node("A2ACoordinatorNode", "coordinator", {
|
261
|
+
"use_google_protocol": True,
|
262
|
+
"enable_semantic_memory": True,
|
263
|
+
"delegation_strategy": "skill_based"
|
264
|
+
})
|
265
|
+
workflow.add_node("HybridSearchNode", "discovery", {
|
266
|
+
"strategies": ["semantic", "keyword", "skill_based"],
|
267
|
+
"adaptive_optimization": True
|
260
268
|
})
|
261
|
-
workflow.add_node("
|
262
|
-
"
|
263
|
-
"
|
264
|
-
"
|
269
|
+
workflow.add_node("SemanticMemoryNode", "memory", {
|
270
|
+
"embedding_provider": "openai",
|
271
|
+
"memory_type": "long_term",
|
272
|
+
"context_window": 8192
|
265
273
|
})
|
266
274
|
|
267
|
-
#
|
268
|
-
|
269
|
-
|
270
|
-
.connect("evaluator", "processor") \
|
271
|
-
.max_iterations(50) \
|
272
|
-
.converge_when("quality > 0.95") \
|
273
|
-
.build()
|
275
|
+
# Connect for intelligent agent coordination
|
276
|
+
workflow.add_connection("coordinator", "discovery", "agent_request", "search_query")
|
277
|
+
workflow.add_connection("discovery", "memory", "agent_matches", "context")
|
274
278
|
|
275
279
|
# Execute with enterprise monitoring
|
276
280
|
runtime = LocalRuntime()
|
@@ -309,12 +313,16 @@ results, run_id = runtime.execute(workflow.build())
|
|
309
313
|
### Core Categories
|
310
314
|
- **Data Nodes**: CSVReaderNode, AsyncSQLDatabaseNode, QueryBuilderNode, QueryCacheNode
|
311
315
|
- **AI Nodes**: LLMAgentNode, IterativeLLMAgentNode, EmbeddingGeneratorNode, SelfOrganizingAgentNode
|
316
|
+
- **A2A Nodes**: A2ACoordinatorNode, HybridSearchNode, AdaptiveSearchNode, SemanticMemoryNode, StreamingAnalyticsNode
|
312
317
|
- **RAG Nodes**: 47+ specialized nodes for document processing and retrieval
|
313
318
|
- **Security Nodes**: ThreatDetectionNode, AuditLogNode, AccessControlManager
|
314
319
|
- **Monitoring Nodes**: TransactionMetricsNode, DeadlockDetectorNode, PerformanceAnomalyNode
|
315
320
|
- **Transaction Nodes**: DistributedTransactionManagerNode, SagaCoordinatorNode
|
316
321
|
|
317
322
|
### Advanced Features
|
323
|
+
- **A2A Communication**: Google Protocol-based multi-agent coordination
|
324
|
+
- **Semantic Memory**: Long-term memory management for agent interactions
|
325
|
+
- **Hybrid Search**: Multi-strategy agent discovery and matching
|
318
326
|
- **Cyclic Workflows**: CycleBuilder API with convergence detection
|
319
327
|
- **Distributed Transactions**: Automatic Saga/2PC pattern selection
|
320
328
|
- **Real-time Monitoring**: WebSocket streaming with performance metrics
|
@@ -336,7 +344,7 @@ results, run_id = runtime.execute(workflow.build())
|
|
336
344
|
|
337
345
|
## 🚀 Applications Built with Kailash
|
338
346
|
|
339
|
-
### 1. DataFlow - Zero-Config Database Platform
|
347
|
+
### 1. DataFlow - Zero-Config Database Platform (v0.3.1)
|
340
348
|
```bash
|
341
349
|
pip install kailash-dataflow
|
342
350
|
```
|
@@ -344,8 +352,9 @@ pip install kailash-dataflow
|
|
344
352
|
- **Redis caching** with enterprise-grade invalidation
|
345
353
|
- **Automatic API generation** with OpenAPI documentation
|
346
354
|
- **4 production examples** with complete deployment guides
|
355
|
+
- **Latest**: v0.3.1 - Enhanced transaction support and schema management
|
347
356
|
|
348
|
-
### 2. Nexus - Multi-Channel Platform
|
357
|
+
### 2. Nexus - Multi-Channel Platform (v1.0.3)
|
349
358
|
```bash
|
350
359
|
pip install kailash-nexus
|
351
360
|
```
|
@@ -353,6 +362,7 @@ pip install kailash-nexus
|
|
353
362
|
- **Enterprise orchestration** with multi-tenancy
|
354
363
|
- **Session management** with cross-channel synchronization
|
355
364
|
- **105 tests** with comprehensive validation
|
365
|
+
- **Latest**: v1.0.3 - Production-ready release with enhanced stability
|
356
366
|
|
357
367
|
### 3. AI Registry - Advanced RAG Platform
|
358
368
|
```bash
|
@@ -413,8 +423,8 @@ pytest tests/e2e/ --timeout=10
|
|
413
423
|
|
414
424
|
### For Users
|
415
425
|
- **[SDK Users Guide](sdk-users/)**: Complete workflow development guide
|
416
|
-
- **[Node Selection Guide](sdk-users/nodes/node-selection-guide.md)**: Smart node selection with decision trees
|
417
|
-
- **[Enterprise Patterns](sdk-users/enterprise/)**: Production deployment patterns
|
426
|
+
- **[Node Selection Guide](sdk-users/2-core-concepts/nodes/node-selection-guide.md)**: Smart node selection with decision trees
|
427
|
+
- **[Enterprise Patterns](sdk-users/5-enterprise/)**: Production deployment patterns
|
418
428
|
- **[API Documentation](https://integrum.github.io/kailash-python-sdk)**: Complete API reference
|
419
429
|
|
420
430
|
### For Contributors
|
@@ -423,9 +433,9 @@ pytest tests/e2e/ --timeout=10
|
|
423
433
|
- **[Testing Guide](tests/README.md)**: 3-tier testing strategy
|
424
434
|
|
425
435
|
### Quick References
|
426
|
-
- **[Cheatsheet](sdk-users/cheatsheet/)**: 53 copy-paste patterns
|
427
|
-
- **[Common Mistakes](sdk-users/validation/common-mistakes.md)**: Error patterns and solutions
|
428
|
-
- **[Performance Guide](sdk-users/performance/)**: Optimization patterns
|
436
|
+
- **[Cheatsheet](sdk-users/2-core-concepts/cheatsheet/)**: 53 copy-paste patterns
|
437
|
+
- **[Common Mistakes](sdk-users/2-core-concepts/validation/common-mistakes.md)**: Error patterns and solutions
|
438
|
+
- **[Performance Guide](sdk-users/5-enterprise/performance/)**: Optimization patterns
|
429
439
|
|
430
440
|
## 🚢 Production Deployment
|
431
441
|
|
@@ -492,6 +502,14 @@ See [Contributing Guide](CONTRIBUTING.md) and [sdk-contributors/CLAUDE.md](sdk-c
|
|
492
502
|
|
493
503
|
## 📈 Project Status
|
494
504
|
|
505
|
+
### ✅ v0.8.4 - A2A Google Protocol Enhancement
|
506
|
+
- **Advanced Agent Coordination**: A2ACoordinatorNode with Google Protocol patterns
|
507
|
+
- **Hybrid Search System**: Multi-strategy agent discovery and matching
|
508
|
+
- **Semantic Memory**: Long-term memory management for agent interactions
|
509
|
+
- **Real-time Analytics**: Streaming performance monitoring for A2A workflows
|
510
|
+
- **Backward Compatible**: Seamless integration with existing implementations
|
511
|
+
- **Production Ready**: Enterprise-grade multi-agent coordination patterns
|
512
|
+
|
495
513
|
### ✅ v0.8.1 - Complete App Framework
|
496
514
|
- **Complete Application Framework**: DataFlow, Nexus, AI Registry, User Management
|
497
515
|
- **PyPI Integration**: All packages available with proper extras support
|
@@ -22,17 +22,18 @@
|
|
22
22
|
|
23
23
|
---
|
24
24
|
|
25
|
-
## 🔥 Latest Release: v0.8.
|
25
|
+
## 🔥 Latest Release: v0.8.5 (January 20, 2025)
|
26
26
|
|
27
|
-
**
|
27
|
+
**Architecture Cleanup & Enterprise Security**
|
28
28
|
|
29
|
-
-
|
30
|
-
-
|
31
|
-
-
|
32
|
-
-
|
33
|
-
-
|
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)
|
34
35
|
|
35
|
-
[Full Changelog](changelogs/releases/v0.8.
|
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/)
|
36
37
|
|
37
38
|
## 🎯 What Makes Kailash Different
|
38
39
|
|
@@ -51,10 +52,12 @@ Not just a toolkit - complete production-ready applications built on enterprise-
|
|
51
52
|
- **100% test pass rate** across 2,400+ tests
|
52
53
|
|
53
54
|
### 🤖 **AI-First Architecture**
|
55
|
+
- **A2A Google Protocol** for enterprise multi-agent coordination
|
54
56
|
- **Real MCP execution** by default for all AI agents
|
55
57
|
- **47+ specialized RAG nodes** for document processing
|
56
|
-
- **
|
57
|
-
- **
|
58
|
+
- **Semantic memory systems** with context-aware retrieval
|
59
|
+
- **Hybrid search algorithms** for intelligent agent discovery
|
60
|
+
- **Self-organizing agent pools** with advanced coordination patterns
|
58
61
|
|
59
62
|
## 🏗️ Project Architecture
|
60
63
|
|
@@ -152,31 +155,32 @@ app.start()
|
|
152
155
|
# - MCP: AI agents can call process_data tool
|
153
156
|
```
|
154
157
|
|
155
|
-
###
|
158
|
+
### A2A Multi-Agent Coordination
|
156
159
|
|
157
160
|
```python
|
158
161
|
from kailash.workflow.builder import WorkflowBuilder
|
159
162
|
from kailash.runtime.local import LocalRuntime
|
160
163
|
|
161
|
-
# Build
|
164
|
+
# Build A2A coordination workflow
|
162
165
|
workflow = WorkflowBuilder()
|
163
|
-
workflow.add_node("
|
164
|
-
"
|
165
|
-
"
|
166
|
+
workflow.add_node("A2ACoordinatorNode", "coordinator", {
|
167
|
+
"use_google_protocol": True,
|
168
|
+
"enable_semantic_memory": True,
|
169
|
+
"delegation_strategy": "skill_based"
|
170
|
+
})
|
171
|
+
workflow.add_node("HybridSearchNode", "discovery", {
|
172
|
+
"strategies": ["semantic", "keyword", "skill_based"],
|
173
|
+
"adaptive_optimization": True
|
166
174
|
})
|
167
|
-
workflow.add_node("
|
168
|
-
"
|
169
|
-
"
|
170
|
-
"
|
175
|
+
workflow.add_node("SemanticMemoryNode", "memory", {
|
176
|
+
"embedding_provider": "openai",
|
177
|
+
"memory_type": "long_term",
|
178
|
+
"context_window": 8192
|
171
179
|
})
|
172
180
|
|
173
|
-
#
|
174
|
-
|
175
|
-
|
176
|
-
.connect("evaluator", "processor") \
|
177
|
-
.max_iterations(50) \
|
178
|
-
.converge_when("quality > 0.95") \
|
179
|
-
.build()
|
181
|
+
# Connect for intelligent agent coordination
|
182
|
+
workflow.add_connection("coordinator", "discovery", "agent_request", "search_query")
|
183
|
+
workflow.add_connection("discovery", "memory", "agent_matches", "context")
|
180
184
|
|
181
185
|
# Execute with enterprise monitoring
|
182
186
|
runtime = LocalRuntime()
|
@@ -215,12 +219,16 @@ results, run_id = runtime.execute(workflow.build())
|
|
215
219
|
### Core Categories
|
216
220
|
- **Data Nodes**: CSVReaderNode, AsyncSQLDatabaseNode, QueryBuilderNode, QueryCacheNode
|
217
221
|
- **AI Nodes**: LLMAgentNode, IterativeLLMAgentNode, EmbeddingGeneratorNode, SelfOrganizingAgentNode
|
222
|
+
- **A2A Nodes**: A2ACoordinatorNode, HybridSearchNode, AdaptiveSearchNode, SemanticMemoryNode, StreamingAnalyticsNode
|
218
223
|
- **RAG Nodes**: 47+ specialized nodes for document processing and retrieval
|
219
224
|
- **Security Nodes**: ThreatDetectionNode, AuditLogNode, AccessControlManager
|
220
225
|
- **Monitoring Nodes**: TransactionMetricsNode, DeadlockDetectorNode, PerformanceAnomalyNode
|
221
226
|
- **Transaction Nodes**: DistributedTransactionManagerNode, SagaCoordinatorNode
|
222
227
|
|
223
228
|
### Advanced Features
|
229
|
+
- **A2A Communication**: Google Protocol-based multi-agent coordination
|
230
|
+
- **Semantic Memory**: Long-term memory management for agent interactions
|
231
|
+
- **Hybrid Search**: Multi-strategy agent discovery and matching
|
224
232
|
- **Cyclic Workflows**: CycleBuilder API with convergence detection
|
225
233
|
- **Distributed Transactions**: Automatic Saga/2PC pattern selection
|
226
234
|
- **Real-time Monitoring**: WebSocket streaming with performance metrics
|
@@ -242,7 +250,7 @@ results, run_id = runtime.execute(workflow.build())
|
|
242
250
|
|
243
251
|
## 🚀 Applications Built with Kailash
|
244
252
|
|
245
|
-
### 1. DataFlow - Zero-Config Database Platform
|
253
|
+
### 1. DataFlow - Zero-Config Database Platform (v0.3.1)
|
246
254
|
```bash
|
247
255
|
pip install kailash-dataflow
|
248
256
|
```
|
@@ -250,8 +258,9 @@ pip install kailash-dataflow
|
|
250
258
|
- **Redis caching** with enterprise-grade invalidation
|
251
259
|
- **Automatic API generation** with OpenAPI documentation
|
252
260
|
- **4 production examples** with complete deployment guides
|
261
|
+
- **Latest**: v0.3.1 - Enhanced transaction support and schema management
|
253
262
|
|
254
|
-
### 2. Nexus - Multi-Channel Platform
|
263
|
+
### 2. Nexus - Multi-Channel Platform (v1.0.3)
|
255
264
|
```bash
|
256
265
|
pip install kailash-nexus
|
257
266
|
```
|
@@ -259,6 +268,7 @@ pip install kailash-nexus
|
|
259
268
|
- **Enterprise orchestration** with multi-tenancy
|
260
269
|
- **Session management** with cross-channel synchronization
|
261
270
|
- **105 tests** with comprehensive validation
|
271
|
+
- **Latest**: v1.0.3 - Production-ready release with enhanced stability
|
262
272
|
|
263
273
|
### 3. AI Registry - Advanced RAG Platform
|
264
274
|
```bash
|
@@ -319,8 +329,8 @@ pytest tests/e2e/ --timeout=10
|
|
319
329
|
|
320
330
|
### For Users
|
321
331
|
- **[SDK Users Guide](sdk-users/)**: Complete workflow development guide
|
322
|
-
- **[Node Selection Guide](sdk-users/nodes/node-selection-guide.md)**: Smart node selection with decision trees
|
323
|
-
- **[Enterprise Patterns](sdk-users/enterprise/)**: Production deployment patterns
|
332
|
+
- **[Node Selection Guide](sdk-users/2-core-concepts/nodes/node-selection-guide.md)**: Smart node selection with decision trees
|
333
|
+
- **[Enterprise Patterns](sdk-users/5-enterprise/)**: Production deployment patterns
|
324
334
|
- **[API Documentation](https://integrum.github.io/kailash-python-sdk)**: Complete API reference
|
325
335
|
|
326
336
|
### For Contributors
|
@@ -329,9 +339,9 @@ pytest tests/e2e/ --timeout=10
|
|
329
339
|
- **[Testing Guide](tests/README.md)**: 3-tier testing strategy
|
330
340
|
|
331
341
|
### Quick References
|
332
|
-
- **[Cheatsheet](sdk-users/cheatsheet/)**: 53 copy-paste patterns
|
333
|
-
- **[Common Mistakes](sdk-users/validation/common-mistakes.md)**: Error patterns and solutions
|
334
|
-
- **[Performance Guide](sdk-users/performance/)**: Optimization patterns
|
342
|
+
- **[Cheatsheet](sdk-users/2-core-concepts/cheatsheet/)**: 53 copy-paste patterns
|
343
|
+
- **[Common Mistakes](sdk-users/2-core-concepts/validation/common-mistakes.md)**: Error patterns and solutions
|
344
|
+
- **[Performance Guide](sdk-users/5-enterprise/performance/)**: Optimization patterns
|
335
345
|
|
336
346
|
## 🚢 Production Deployment
|
337
347
|
|
@@ -398,6 +408,14 @@ See [Contributing Guide](CONTRIBUTING.md) and [sdk-contributors/CLAUDE.md](sdk-c
|
|
398
408
|
|
399
409
|
## 📈 Project Status
|
400
410
|
|
411
|
+
### ✅ v0.8.4 - A2A Google Protocol Enhancement
|
412
|
+
- **Advanced Agent Coordination**: A2ACoordinatorNode with Google Protocol patterns
|
413
|
+
- **Hybrid Search System**: Multi-strategy agent discovery and matching
|
414
|
+
- **Semantic Memory**: Long-term memory management for agent interactions
|
415
|
+
- **Real-time Analytics**: Streaming performance monitoring for A2A workflows
|
416
|
+
- **Backward Compatible**: Seamless integration with existing implementations
|
417
|
+
- **Production Ready**: Enterprise-grade multi-agent coordination patterns
|
418
|
+
|
401
419
|
### ✅ v0.8.1 - Complete App Framework
|
402
420
|
- **Complete Application Framework**: DataFlow, Nexus, AI Registry, User Management
|
403
421
|
- **PyPI Integration**: All packages available with proper extras support
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "kailash"
|
7
|
-
version = "0.8.
|
7
|
+
version = "0.8.6"
|
8
8
|
description = "Python SDK for the Kailash container-node architecture"
|
9
9
|
authors = [
|
10
10
|
{name = "Integrum", email = "info@integrum.com"}
|
@@ -123,7 +123,7 @@ select = ["E", "F"]
|
|
123
123
|
ignore = ["E203", "E501", "E722", "F401", "F841"]
|
124
124
|
|
125
125
|
[tool.ruff.lint.per-file-ignores]
|
126
|
-
"sdk-users/workflows/by-industry/finance/scripts/*.py" = ["E402"]
|
126
|
+
"sdk-users/2-core-concepts/workflows/by-industry/finance/scripts/*.py" = ["E402"]
|
127
127
|
"examples/feature_examples/workflows/cyclic/*.py" = ["E722"]
|
128
128
|
"examples/feature_examples/workflows/parallel/*.py" = ["E722"]
|
129
129
|
"scripts/refactor-pythoncode-to-functions.py" = ["E722"]
|
@@ -136,7 +136,7 @@ ignore = ["E203", "E501", "E722", "F401", "F841"]
|
|
136
136
|
# Allow late imports in performance test files
|
137
137
|
"tests/unit/performance_benchmarks/*.py" = ["E402"]
|
138
138
|
# SDK user workflows may have late imports for demos
|
139
|
-
"sdk-users/workflows/**/*.py" = ["E402", "F821"]
|
139
|
+
"sdk-users/2-core-concepts/workflows/**/*.py" = ["E402", "F821"]
|
140
140
|
# Examples may have late imports and mocks
|
141
141
|
"examples/**/*.py" = ["E402", "F821"]
|
142
142
|
# Scripts may need to modify sys.path before imports
|
@@ -13,7 +13,7 @@ with open(os.path.join(this_directory, "README.md"), encoding="utf-8") as f:
|
|
13
13
|
# Package configuration
|
14
14
|
setup(
|
15
15
|
name="kailash",
|
16
|
-
version="0.8.
|
16
|
+
version="0.8.5",
|
17
17
|
author="Integrum",
|
18
18
|
author_email="info@integrum.com",
|
19
19
|
description="Python SDK for the Kailash container-node architecture",
|
@@ -51,14 +51,14 @@ setup(
|
|
51
51
|
"pygraphviz>=1.9",
|
52
52
|
],
|
53
53
|
"dataflow": [
|
54
|
-
"kailash-dataflow>=0.1
|
54
|
+
"kailash-dataflow>=0.3.1",
|
55
55
|
],
|
56
56
|
"nexus": [
|
57
|
-
"kailash-nexus>=1.0.
|
57
|
+
"kailash-nexus>=1.0.3",
|
58
58
|
],
|
59
59
|
"all": [
|
60
|
-
"kailash-dataflow>=0.1
|
61
|
-
"kailash-nexus>=1.0.
|
60
|
+
"kailash-dataflow>=0.3.1",
|
61
|
+
"kailash-nexus>=1.0.3",
|
62
62
|
],
|
63
63
|
},
|
64
64
|
# Entry points for CLI
|
@@ -3,10 +3,10 @@
|
|
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.
|
7
|
-
|
8
|
-
|
9
|
-
Previous v0.
|
6
|
+
New in v0.8.6: Enhanced parameter validation system with 4 modes (off/warn/strict/debug),
|
7
|
+
ParameterDebugger for comprehensive flow tracing (10x faster debugging), production-ready
|
8
|
+
performance (<1ms overhead), and complete troubleshooting documentation.
|
9
|
+
Previous v0.8.5: Test infrastructure enhancement, application framework improvements.
|
10
10
|
"""
|
11
11
|
|
12
12
|
from kailash.nodes.base import Node, NodeMetadata, NodeParameter
|
@@ -26,9 +26,6 @@ try:
|
|
26
26
|
RealtimeMiddleware,
|
27
27
|
)
|
28
28
|
|
29
|
-
# Import Nexus multi-channel framework (v0.6.7+)
|
30
|
-
from kailash.nexus import NexusGateway, create_nexus
|
31
|
-
|
32
29
|
# Import new server classes (v0.6.7+)
|
33
30
|
from kailash.servers import (
|
34
31
|
DurableWorkflowServer,
|
@@ -52,7 +49,7 @@ except ImportError:
|
|
52
49
|
# For backward compatibility
|
53
50
|
WorkflowGraph = Workflow
|
54
51
|
|
55
|
-
__version__ = "0.8.
|
52
|
+
__version__ = "0.8.6"
|
56
53
|
|
57
54
|
__all__ = [
|
58
55
|
# Core workflow components
|
@@ -86,8 +83,5 @@ if _MIDDLEWARE_AVAILABLE:
|
|
86
83
|
"create_enterprise_gateway",
|
87
84
|
"create_durable_gateway",
|
88
85
|
"create_basic_gateway",
|
89
|
-
# Nexus multi-channel framework
|
90
|
-
"NexusGateway",
|
91
|
-
"create_nexus",
|
92
86
|
]
|
93
87
|
)
|
@@ -5,7 +5,7 @@ enabling unified management of API, CLI, and MCP interfaces through a common cha
|
|
5
5
|
"""
|
6
6
|
|
7
7
|
from .api_channel import APIChannel
|
8
|
-
from .base import Channel, ChannelConfig
|
8
|
+
from .base import Channel, ChannelConfig, ChannelType
|
9
9
|
from .cli_channel import CLIChannel
|
10
10
|
from .mcp_channel import MCPChannel
|
11
11
|
from .session import CrossChannelSession, SessionManager
|
@@ -13,6 +13,7 @@ from .session import CrossChannelSession, SessionManager
|
|
13
13
|
__all__ = [
|
14
14
|
"Channel",
|
15
15
|
"ChannelConfig",
|
16
|
+
"ChannelType",
|
16
17
|
"APIChannel",
|
17
18
|
"CLIChannel",
|
18
19
|
"MCPChannel",
|
@@ -84,6 +84,7 @@ class MCPChannel(Channel):
|
|
84
84
|
# MCP-specific state
|
85
85
|
self._clients: Dict[str, Dict[str, Any]] = {}
|
86
86
|
self._server_task: Optional[asyncio.Task] = None
|
87
|
+
self._mcp_server_task: Optional[asyncio.Task] = None
|
87
88
|
|
88
89
|
logger.info(f"Initialized MCP channel {self.name}")
|
89
90
|
|
@@ -202,8 +203,15 @@ class MCPChannel(Channel):
|
|
202
203
|
self.status = ChannelStatus.STARTING
|
203
204
|
self._setup_event_queue()
|
204
205
|
|
205
|
-
# Start MCP server
|
206
|
-
|
206
|
+
# Start MCP server (Core SDK uses run() method, not start())
|
207
|
+
# For async operation, we need to run it in a separate task
|
208
|
+
if hasattr(self.mcp_server, "run"):
|
209
|
+
# Core SDK MCPServer uses run() method
|
210
|
+
loop = asyncio.get_event_loop()
|
211
|
+
self._mcp_server_task = loop.run_in_executor(None, self.mcp_server.run)
|
212
|
+
else:
|
213
|
+
# Fallback to start() if available
|
214
|
+
await self.mcp_server.start()
|
207
215
|
|
208
216
|
# Start server task for handling connections
|
209
217
|
self._server_task = asyncio.create_task(self._server_loop())
|
@@ -261,9 +269,20 @@ class MCPChannel(Channel):
|
|
261
269
|
except asyncio.CancelledError:
|
262
270
|
pass
|
263
271
|
|
272
|
+
# Stop MCP server task if running
|
273
|
+
if hasattr(self, "_mcp_server_task") and self._mcp_server_task:
|
274
|
+
self._mcp_server_task.cancel()
|
275
|
+
try:
|
276
|
+
await self._mcp_server_task
|
277
|
+
except asyncio.CancelledError:
|
278
|
+
pass
|
279
|
+
|
264
280
|
# Stop MCP server
|
265
|
-
if self.mcp_server:
|
266
|
-
|
281
|
+
if self.mcp_server and hasattr(self.mcp_server, "stop"):
|
282
|
+
try:
|
283
|
+
await self.mcp_server.stop()
|
284
|
+
except Exception as e:
|
285
|
+
logger.warning(f"Error stopping MCP server: {e}")
|
267
286
|
|
268
287
|
await self._cleanup()
|
269
288
|
self.status = ChannelStatus.STOPPED
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"""Kailash SDK Command Line Interface."""
|
2
|
+
|
3
|
+
from .commands import cli as main
|
4
|
+
from .validation_audit import (
|
5
|
+
ReportFormatter,
|
6
|
+
ValidationAuditReport,
|
7
|
+
WorkflowValidationAuditor,
|
8
|
+
)
|
9
|
+
|
10
|
+
__all__ = [
|
11
|
+
"main",
|
12
|
+
"WorkflowValidationAuditor",
|
13
|
+
"ValidationAuditReport",
|
14
|
+
"ReportFormatter",
|
15
|
+
]
|