kailash 0.8.3__py3-none-any.whl → 0.8.5__py3-none-any.whl

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 (84) hide show
  1. kailash/__init__.py +1 -7
  2. kailash/cli/__init__.py +11 -1
  3. kailash/cli/validation_audit.py +570 -0
  4. kailash/core/actors/supervisor.py +1 -1
  5. kailash/core/resilience/circuit_breaker.py +71 -1
  6. kailash/core/resilience/health_monitor.py +172 -0
  7. kailash/edge/compliance.py +33 -0
  8. kailash/edge/consistency.py +609 -0
  9. kailash/edge/coordination/__init__.py +30 -0
  10. kailash/edge/coordination/global_ordering.py +355 -0
  11. kailash/edge/coordination/leader_election.py +217 -0
  12. kailash/edge/coordination/partition_detector.py +296 -0
  13. kailash/edge/coordination/raft.py +485 -0
  14. kailash/edge/discovery.py +63 -1
  15. kailash/edge/migration/__init__.py +19 -0
  16. kailash/edge/migration/edge_migrator.py +832 -0
  17. kailash/edge/monitoring/__init__.py +21 -0
  18. kailash/edge/monitoring/edge_monitor.py +736 -0
  19. kailash/edge/prediction/__init__.py +10 -0
  20. kailash/edge/prediction/predictive_warmer.py +591 -0
  21. kailash/edge/resource/__init__.py +102 -0
  22. kailash/edge/resource/cloud_integration.py +796 -0
  23. kailash/edge/resource/cost_optimizer.py +949 -0
  24. kailash/edge/resource/docker_integration.py +919 -0
  25. kailash/edge/resource/kubernetes_integration.py +893 -0
  26. kailash/edge/resource/platform_integration.py +913 -0
  27. kailash/edge/resource/predictive_scaler.py +959 -0
  28. kailash/edge/resource/resource_analyzer.py +824 -0
  29. kailash/edge/resource/resource_pools.py +610 -0
  30. kailash/integrations/dataflow_edge.py +261 -0
  31. kailash/mcp_server/registry_integration.py +1 -1
  32. kailash/monitoring/__init__.py +18 -0
  33. kailash/monitoring/alerts.py +646 -0
  34. kailash/monitoring/metrics.py +677 -0
  35. kailash/nodes/__init__.py +2 -0
  36. kailash/nodes/ai/__init__.py +17 -0
  37. kailash/nodes/ai/a2a.py +1914 -43
  38. kailash/nodes/ai/a2a_backup.py +1807 -0
  39. kailash/nodes/ai/hybrid_search.py +972 -0
  40. kailash/nodes/ai/semantic_memory.py +558 -0
  41. kailash/nodes/ai/streaming_analytics.py +947 -0
  42. kailash/nodes/base.py +545 -0
  43. kailash/nodes/edge/__init__.py +36 -0
  44. kailash/nodes/edge/base.py +240 -0
  45. kailash/nodes/edge/cloud_node.py +710 -0
  46. kailash/nodes/edge/coordination.py +239 -0
  47. kailash/nodes/edge/docker_node.py +825 -0
  48. kailash/nodes/edge/edge_data.py +582 -0
  49. kailash/nodes/edge/edge_migration_node.py +392 -0
  50. kailash/nodes/edge/edge_monitoring_node.py +421 -0
  51. kailash/nodes/edge/edge_state.py +673 -0
  52. kailash/nodes/edge/edge_warming_node.py +393 -0
  53. kailash/nodes/edge/kubernetes_node.py +652 -0
  54. kailash/nodes/edge/platform_node.py +766 -0
  55. kailash/nodes/edge/resource_analyzer_node.py +378 -0
  56. kailash/nodes/edge/resource_optimizer_node.py +501 -0
  57. kailash/nodes/edge/resource_scaler_node.py +397 -0
  58. kailash/nodes/ports.py +676 -0
  59. kailash/runtime/local.py +344 -1
  60. kailash/runtime/validation/__init__.py +20 -0
  61. kailash/runtime/validation/connection_context.py +119 -0
  62. kailash/runtime/validation/enhanced_error_formatter.py +202 -0
  63. kailash/runtime/validation/error_categorizer.py +164 -0
  64. kailash/runtime/validation/metrics.py +380 -0
  65. kailash/runtime/validation/performance.py +615 -0
  66. kailash/runtime/validation/suggestion_engine.py +212 -0
  67. kailash/testing/fixtures.py +2 -2
  68. kailash/workflow/builder.py +234 -8
  69. kailash/workflow/contracts.py +418 -0
  70. kailash/workflow/edge_infrastructure.py +369 -0
  71. kailash/workflow/migration.py +3 -3
  72. kailash/workflow/type_inference.py +669 -0
  73. {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/METADATA +44 -27
  74. {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/RECORD +78 -28
  75. kailash/nexus/__init__.py +0 -21
  76. kailash/nexus/cli/__init__.py +0 -5
  77. kailash/nexus/cli/__main__.py +0 -6
  78. kailash/nexus/cli/main.py +0 -176
  79. kailash/nexus/factory.py +0 -413
  80. kailash/nexus/gateway.py +0 -545
  81. {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/WHEEL +0 -0
  82. {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/entry_points.txt +0 -0
  83. {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/licenses/LICENSE +0 -0
  84. {kailash-0.8.3.dist-info → kailash-0.8.5.dist-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
3
+ Version: 0.8.5
4
4
  Summary: Python SDK for the Kailash container-node architecture
5
5
  Home-page: https://github.com/integrum/kailash-python-sdk
6
6
  Author: Integrum
@@ -80,6 +80,7 @@ Requires-Dist: pyotp>=2.9.0
80
80
  Requires-Dist: opentelemetry-instrumentation-fastapi>=0.55b1
81
81
  Requires-Dist: seaborn>=0.13.2
82
82
  Requires-Dist: sqlparse>=0.5.3
83
+ Requires-Dist: jsonschema>=4.24.0
83
84
  Provides-Extra: dev
84
85
  Requires-Dist: pytest>=7.0; extra == "dev"
85
86
  Requires-Dist: pytest-cov>=3.0; extra == "dev"
@@ -115,17 +116,18 @@ Dynamic: requires-python
115
116
 
116
117
  ---
117
118
 
118
- ## 🔥 Latest Release: v0.8.1 (January 17, 2025)
119
+ ## 🔥 Latest Release: v0.8.4 (January 19, 2025)
119
120
 
120
- **Complete App Framework & PyPI Integration**
121
+ **A2A Google Protocol Enhancement**
121
122
 
122
- - 🚀 **Complete App Framework**: DataFlow, Nexus, AI Registry, and User Management platforms
123
- - 📦 **PyPI Integration**: All packages available with proper extras support
124
- - 🏢 **Enterprise Ready**: Zero-config database operations and multi-channel deployment
125
- - **Performance Breakthrough**: 11x faster test execution with 100% pass rate
126
- - 🧪 **Testing Excellence**: 2,400+ tests with comprehensive Docker integration
123
+ - 🤖 **Advanced Agent Coordination**: A2ACoordinatorNode with Google Protocol best practices
124
+ - 🎯 **Intelligent Task Delegation**: Context-aware task distribution with skill-based matching
125
+ - 🔍 **Hybrid Search Capabilities**: Multi-strategy agent discovery and matching algorithms
126
+ - 🧠 **Semantic Memory System**: Long-term memory management for agent interactions
127
+ - 📊 **Real-time Analytics**: Streaming performance monitoring for A2A workflows
128
+ - ✅ **Backward Compatible**: Seamless integration with existing A2A implementations
127
129
 
128
- [Full Changelog](changelogs/releases/v0.8.1-2025-01-17.md) | [PyPI Packages](https://pypi.org/project/kailash/)
130
+ [Full Changelog](CHANGELOG.md) | [PyPI Packages](https://pypi.org/project/kailash/0.8.4/)
129
131
 
130
132
  ## 🎯 What Makes Kailash Different
131
133
 
@@ -144,10 +146,12 @@ Not just a toolkit - complete production-ready applications built on enterprise-
144
146
  - **100% test pass rate** across 2,400+ tests
145
147
 
146
148
  ### 🤖 **AI-First Architecture**
149
+ - **A2A Google Protocol** for enterprise multi-agent coordination
147
150
  - **Real MCP execution** by default for all AI agents
148
151
  - **47+ specialized RAG nodes** for document processing
149
- - **Self-organizing agent pools** with intelligent coordination
150
- - **Complete LLM integration** across all platforms
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
151
155
 
152
156
  ## 🏗️ Project Architecture
153
157
 
@@ -245,31 +249,32 @@ app.start()
245
249
  # - MCP: AI agents can call process_data tool
246
250
  ```
247
251
 
248
- ### Core SDK: Advanced Workflows
252
+ ### A2A Multi-Agent Coordination
249
253
 
250
254
  ```python
251
255
  from kailash.workflow.builder import WorkflowBuilder
252
256
  from kailash.runtime.local import LocalRuntime
253
257
 
254
- # Build enterprise workflow
258
+ # Build A2A coordination workflow
255
259
  workflow = WorkflowBuilder()
256
- workflow.add_node("LLMAgentNode", "ai_agent", {
257
- "model": "gpt-4",
258
- "use_real_mcp": True # Real MCP execution by default
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
259
268
  })
260
- workflow.add_node("AsyncSQLDatabaseNode", "database", {
261
- "connection_string": "postgresql://...",
262
- "query": "SELECT * FROM customers WHERE risk_score > $1",
263
- "parameter_types": ["DECIMAL"] # PostgreSQL type inference
269
+ workflow.add_node("SemanticMemoryNode", "memory", {
270
+ "embedding_provider": "openai",
271
+ "memory_type": "long_term",
272
+ "context_window": 8192
264
273
  })
265
274
 
266
- # Add cyclic optimization
267
- cycle = workflow.create_cycle("optimization")
268
- cycle.connect("processor", "evaluator") \
269
- .connect("evaluator", "processor") \
270
- .max_iterations(50) \
271
- .converge_when("quality > 0.95") \
272
- .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")
273
278
 
274
279
  # Execute with enterprise monitoring
275
280
  runtime = LocalRuntime()
@@ -308,12 +313,16 @@ results, run_id = runtime.execute(workflow.build())
308
313
  ### Core Categories
309
314
  - **Data Nodes**: CSVReaderNode, AsyncSQLDatabaseNode, QueryBuilderNode, QueryCacheNode
310
315
  - **AI Nodes**: LLMAgentNode, IterativeLLMAgentNode, EmbeddingGeneratorNode, SelfOrganizingAgentNode
316
+ - **A2A Nodes**: A2ACoordinatorNode, HybridSearchNode, AdaptiveSearchNode, SemanticMemoryNode, StreamingAnalyticsNode
311
317
  - **RAG Nodes**: 47+ specialized nodes for document processing and retrieval
312
318
  - **Security Nodes**: ThreatDetectionNode, AuditLogNode, AccessControlManager
313
319
  - **Monitoring Nodes**: TransactionMetricsNode, DeadlockDetectorNode, PerformanceAnomalyNode
314
320
  - **Transaction Nodes**: DistributedTransactionManagerNode, SagaCoordinatorNode
315
321
 
316
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
317
326
  - **Cyclic Workflows**: CycleBuilder API with convergence detection
318
327
  - **Distributed Transactions**: Automatic Saga/2PC pattern selection
319
328
  - **Real-time Monitoring**: WebSocket streaming with performance metrics
@@ -491,6 +500,14 @@ See [Contributing Guide](CONTRIBUTING.md) and [sdk-contributors/CLAUDE.md](sdk-c
491
500
 
492
501
  ## 📈 Project Status
493
502
 
503
+ ### ✅ v0.8.4 - A2A Google Protocol Enhancement
504
+ - **Advanced Agent Coordination**: A2ACoordinatorNode with Google Protocol patterns
505
+ - **Hybrid Search System**: Multi-strategy agent discovery and matching
506
+ - **Semantic Memory**: Long-term memory management for agent interactions
507
+ - **Real-time Analytics**: Streaming performance monitoring for A2A workflows
508
+ - **Backward Compatible**: Seamless integration with existing implementations
509
+ - **Production Ready**: Enterprise-grade multi-agent coordination patterns
510
+
494
511
  ### ✅ v0.8.1 - Complete App Framework
495
512
  - **Complete Application Framework**: DataFlow, Nexus, AI Registry, User Management
496
513
  - **PyPI Integration**: All packages available with proper extras support
@@ -1,4 +1,4 @@
1
- kailash/__init__.py,sha256=YyZQsrDNnTGLOgebSi3bdZzjuDDTWs_s1v0XjVHwz5w,2878
1
+ kailash/__init__.py,sha256=It3r8alSoZ6svH02Pn9auJ9nExU-yUUua06DCy3Ctdk,2667
2
2
  kailash/__main__.py,sha256=vr7TVE5o16V6LsTmRFKG6RDKUXHpIWYdZ6Dok2HkHnI,198
3
3
  kailash/access_control.py,sha256=MjKtkoQ2sg1Mgfe7ovGxVwhAbpJKvaepPWr8dxOueMA,26058
4
4
  kailash/access_control_abac.py,sha256=FPfa_8PuDP3AxTjdWfiH3ntwWO8NodA0py9W8SE5dno,30263
@@ -24,8 +24,9 @@ kailash/channels/cli_channel.py,sha256=C7ctIb5V4e6T1Ksu5MPfP0rKOCEciMzOFhjrM9BvR
24
24
  kailash/channels/event_router.py,sha256=matl4yttgQa3Vl1HtrAUfNvJ-kfnr4pgP8tMHSDYkSM,16632
25
25
  kailash/channels/mcp_channel.py,sha256=KZ8JtxMRUiwy0ecYWYdM6YSj7YuI50obXCRg0NdsGj8,22767
26
26
  kailash/channels/session.py,sha256=4ZEutfyQ3fhBlBjXa5e32ZL2ZqEuQKwbAk0DGu00X1A,13068
27
- kailash/cli/__init__.py,sha256=kJaqsBp3fRmagJhqA6LMwMbEa_Vkz93hIPH3W5Mn5r0,97
27
+ kailash/cli/__init__.py,sha256=TvNjX0Q-2IxdWeh6w8rkqyONuFbSleStlRF8b-Aa8Iw,302
28
28
  kailash/cli/commands.py,sha256=lv1S1uB0JQE4tiQCJIa1HCbjYDbFE9KwcK3M1jRtRU4,18168
29
+ kailash/cli/validation_audit.py,sha256=0WBzOdh1pkaqYm011bpnumyMf30blvPzq9_nsUQoGno,20308
29
30
  kailash/client/__init__.py,sha256=WNR39t4O6TDQLI14uR_MjQpLza2c6rU3YkQCXcGCiSU,293
30
31
  kailash/client/enhanced_client.py,sha256=trcDWQsON0Hphj14WozVMbfU7HKuxauknzDfoy1fTlo,9431
31
32
  kailash/config/__init__.py,sha256=9qNwtvXAVV-KkHbuL1ZbtC6yXDtowH4YoFiOP-Qbe-w,638
@@ -33,7 +34,7 @@ kailash/config/database_config.py,sha256=rdlqIP9WUzC0kvAdSjno1LMpu_bEy2v5FgFdgJy
33
34
  kailash/core/actors/__init__.py,sha256=o8CrwZRTPW5uB3UZiiFtz34n1Q-XBoKNwTz5NMTDQgA,433
34
35
  kailash/core/actors/adaptive_pool_controller.py,sha256=tque9heLsLwjrNlM1wZSAYi1RInv19Z3HTjbozc9XtY,22484
35
36
  kailash/core/actors/connection_actor.py,sha256=M8fOX1a3jvH5PUkfQyk0eBJqCk0SD9KGZCw0TXLON_o,18979
36
- kailash/core/actors/supervisor.py,sha256=7_YXm9o4O_xBs5YxsDFt7RjzaMvTbKcK-jd4KPmSt1M,11968
37
+ kailash/core/actors/supervisor.py,sha256=GaTbRRA0REHNnsn0a8NXao-aj9Eh8KkZt6H2YJm7I4w,11975
37
38
  kailash/core/ml/__init__.py,sha256=eaD-bmoxMXtwwtKWePsoX1IkcpysX0bMAGyMR7jaAqI,64
38
39
  kailash/core/ml/query_patterns.py,sha256=4wV1pBOwUiK80UTKuMXSoRgR0pojtjg2BMNoa5qWpc0,20290
39
40
  kailash/core/monitoring/__init__.py,sha256=Qua4i50JYUQcRkWHy1wGyuXGqzqsDVMmdPtud746xts,371
@@ -41,19 +42,41 @@ kailash/core/monitoring/connection_metrics.py,sha256=fvFyHOgMU5lgRB2EB7d-D_F5XER
41
42
  kailash/core/optimization/__init__.py,sha256=FY5SLLNedH0_aawLYdXHj2rsGdBaaB49QuJ_R9ctHOE,65
42
43
  kailash/core/resilience/__init__.py,sha256=nYfMU_hK0CHeK_ZZGZWM3oeI2YjcNg5Wop7bnjPt28c,364
43
44
  kailash/core/resilience/bulkhead.py,sha256=Op02MjnucieSsJ5CIPHlONEJfP36DRGKn6L9nxYOpR8,17202
44
- kailash/core/resilience/circuit_breaker.py,sha256=uL_jaY4xAhHAi1kYHe6qyVZCG0FBS08EmWYBM-5Jrew,18294
45
- kailash/core/resilience/health_monitor.py,sha256=w-Pb-hmQO3HA5-UxRA8qHv3PQR97ipwUh7eMcjnVd5E,20164
45
+ kailash/core/resilience/circuit_breaker.py,sha256=KkZ_XoS8GZpGpcw6M9qmhDEJ9xxohGrc5vRoHTzVarA,21070
46
+ kailash/core/resilience/health_monitor.py,sha256=WAVTP8rQWIaKGT_b9c9FYnWfSZxc5_nRc5dEMqyVCCU,26920
46
47
  kailash/database/__init__.py,sha256=keUIl-BhRMSR7ohW4kojaEYCzKmeb_pb4IpWqDqfnOk,686
47
48
  kailash/database/execution_pipeline.py,sha256=1Y-iVXKPoCED3dRoQvOZe1lQyff92NJ__q77NPI0CRQ,16453
48
49
  kailash/edge/__init__.py,sha256=-jhM4xaDAUCbwrq6jJjRCdlf49XDULVTcvfsUiqz_qg,447
49
- kailash/edge/compliance.py,sha256=tUiKiib7FjNtZ62ThQIRhxkehOddndTGLu-Y4He7iRQ,31951
50
- kailash/edge/discovery.py,sha256=EJqZ4t3quXxaueVHzqXwYd5_RrlCPRlSREqFxh30kP4,27549
50
+ kailash/edge/compliance.py,sha256=bm3HhtWN-5iIdKoly8jKKp7Xq0Do1VKu0yzGmyxlTOk,33138
51
+ kailash/edge/consistency.py,sha256=geAbufedRa2k6cfBV9ARGl0JeynQw0J_xz4yefxukWw,19947
52
+ kailash/edge/discovery.py,sha256=7Z3a4QA_9DA6ziaH_NeQUtQxYVZ3lZbnfegi9JUdC5w,29991
51
53
  kailash/edge/location.py,sha256=ZrG4CqN-taZFo9VDLvZ2z1lNiTHgXcZvzBJS9meXY8k,19717
54
+ kailash/edge/coordination/__init__.py,sha256=XkVuFMfH3HpDkTLuUcH4UHkWvp60DNYiMajkWv_eKio,736
55
+ kailash/edge/coordination/global_ordering.py,sha256=Je1bb3blodurs6cqX4WQJdH6JkgnoZfxdJc9ZCHtwq0,11375
56
+ kailash/edge/coordination/leader_election.py,sha256=hOEcuyf9Gk5sVf9RtseiqIjdylyEU4f4JL72b0Z6wxU,7473
57
+ kailash/edge/coordination/partition_detector.py,sha256=obS0_fgfiz8bW9v_jevjf7FcOOE6IxvfTF5s7_ecGBk,10116
58
+ kailash/edge/coordination/raft.py,sha256=m6CMUs3zn3_UmveNqrBM2mjsIy6vJw0TOQGr04FLghY,15365
59
+ kailash/edge/migration/__init__.py,sha256=FwRZ7RFygjZiU5S_c9AnOaDeSE54vTSIqycgTTP5uBU,344
60
+ kailash/edge/migration/edge_migrator.py,sha256=uw0hFD0ye1QskC4HRlpmdtywhsHpxRo_N3Mk9wD1kEc,28958
61
+ kailash/edge/monitoring/__init__.py,sha256=ySeVSysyF1v8Kn7nkoqSHdwp2_3CiAyTBZUbScpE-pg,324
62
+ kailash/edge/monitoring/edge_monitor.py,sha256=EKv9bf48Zd7o8tm5F9rB96VXlo5HDZm0vW7LxKc1yN4,25779
63
+ kailash/edge/prediction/__init__.py,sha256=Rpwznv-2RMLOoWiXbPfqdsO1tk_xU_Zvviiz46XHqYw,252
64
+ kailash/edge/prediction/predictive_warmer.py,sha256=gXq3Lr3wz-yvynLtth_unVEa_hSXDLhQbtmRFBK3QiM,21255
65
+ kailash/edge/resource/__init__.py,sha256=x-9VYfGmIIqWrFOnhdpTp-ZtbM9PL19ktpVX90kINEw,2355
66
+ kailash/edge/resource/cloud_integration.py,sha256=0zBBuWKaN5yqoBGLj5c5YcfmLwxCkjc0R3uz3BbPBNs,28348
67
+ kailash/edge/resource/cost_optimizer.py,sha256=pPp985nMp6r4MzlR0k8D5PyNEKtkV7EIKkxwfIcZXiA,32916
68
+ kailash/edge/resource/docker_integration.py,sha256=2CnhKF5P4cgwgk-r01Nr3IObJPTLvmk_Yu757Uu8vNg,30375
69
+ kailash/edge/resource/kubernetes_integration.py,sha256=g703nAN3rVQK65lcphnth_6VOZHLo6FGprUYVgc5poQ,33123
70
+ kailash/edge/resource/platform_integration.py,sha256=Rdc3bqz1MYFzPNSKKTkKwNGkl5-HzjvG0xtzwblDy1o,33522
71
+ kailash/edge/resource/predictive_scaler.py,sha256=FxoYIq1Xd6HOilWydOlxWn0jCIzKcaJqrxePw_YQH2Y,32728
72
+ kailash/edge/resource/resource_analyzer.py,sha256=tcQM2uS_b985fY_-YOOhN_DiDjjVGo1k5c1GFHHE9P8,30043
73
+ kailash/edge/resource/resource_pools.py,sha256=YlKa3d1MMCw2lOv7gz-KIkOg-uLfFbW_uy6nwo3mefU,20107
52
74
  kailash/gateway/__init__.py,sha256=zh2uCsDHi82pZ_tGJklsH_FS-Mx9V31r0hkxk48CM-g,927
53
75
  kailash/gateway/api.py,sha256=xpK8PIamsqQPpKAJwacyV7RA_Snjv2pc_0ljnnU9Oy4,9534
54
76
  kailash/gateway/enhanced_gateway.py,sha256=IlN1XV01FQrF4rGcq_z9LE4uUHAAAQoVsRNToXENen0,13399
55
77
  kailash/gateway/resource_resolver.py,sha256=IC1dceiKfjfUWToYCIBcrUapuR3LlDG6RJ4o7haLY10,7746
56
78
  kailash/gateway/security.py,sha256=kf4Quf6u7dqhs80fQQ982eHbRb4weDKG0DaYNeKntT4,7557
79
+ kailash/integrations/dataflow_edge.py,sha256=R3Is8JJZcqLNn4op7gidp1dtbT82oY5vn9tXVAWLOrg,8994
57
80
  kailash/mcp_server/__init__.py,sha256=AzrCEat5gdl9Nes8xOs7D4Wj3HpGlms3xLbOrx2diPA,8791
58
81
  kailash/mcp_server/advanced_features.py,sha256=76dmttUa0M61ReBbgexf7Igu4CXaXS-CUmFhvTDjKyI,30673
59
82
  kailash/mcp_server/ai_registry_server.py,sha256=vMNMvWLegKBVp7YAHVKgltWa2vTXKNvV-_Ni_z1argM,28973
@@ -64,7 +87,7 @@ kailash/mcp_server/discovery.py,sha256=D8vcwVkbgQCNp0_BlkGeU_dnqgIXN2g0s3_GpndlQ
64
87
  kailash/mcp_server/errors.py,sha256=_lycwudWP_AJ_KwLO5N3VCKbG1ikfaTyzA2PBF8UAYU,21181
65
88
  kailash/mcp_server/oauth.py,sha256=GFC2O2ueiTTI6V-91Huevhc3K8CxrHe22knuHfuCTqY,56493
66
89
  kailash/mcp_server/protocol.py,sha256=gXeJ-GvSf39WymfS6433SqLKBA40PdeDoBQqu7DUbJE,35129
67
- kailash/mcp_server/registry_integration.py,sha256=Iv_vg-0gFjOFBj-kqqnCD-AnnDcA35Zu67mnCoylVJQ,19787
90
+ kailash/mcp_server/registry_integration.py,sha256=B8CSLq_O1ea3cXrbVjC3bB_OFgHIP-KS9dk77mNM02I,19791
68
91
  kailash/mcp_server/server.py,sha256=5pb5eIiB-qGi8UF-nL81D3mF8t066-O1_Q94GhLVplY,67441
69
92
  kailash/mcp_server/transports.py,sha256=wl7EbImvmBxjPvvPhRW4VJc6Xp9H3_upqFKL4UCFK7o,39289
70
93
  kailash/mcp_server/servers/ai_registry.py,sha256=IdF_keUuJlMsvjLjSAykxxbm46K4qA7eCj7T-lYSrzk,10007
@@ -108,18 +131,16 @@ kailash/middleware/gateway/storage_backends.py,sha256=HJTi6zU6oBI3R3ffcm_U-Xp9qq
108
131
  kailash/middleware/mcp/__init__.py,sha256=EdZB8zOMSBEEmudRzs8ksz9QZJYWQMEx7Tm1MOwIWnI,922
109
132
  kailash/middleware/mcp/client_integration.py,sha256=dY1RmX-g5E6JzUFuWxk7viuOYIh8bMwoUSvHQMVEsYk,18265
110
133
  kailash/middleware/mcp/enhanced_server.py,sha256=RUVS7jWHn0ma4F3F23UvuFwUdu7OkSsIRNQmGtkG9I8,18547
111
- kailash/nexus/__init__.py,sha256=zaOXOHmmxsDDuyVDA7P-EWkXHLsLHcnrZPSlNQ74M1k,463
112
- kailash/nexus/factory.py,sha256=oqtPJoVvwQUdafs_h92MDpjt6xSO1vNLZHizZ1-XLks,12296
113
- kailash/nexus/gateway.py,sha256=QzvJVFVmgNI_Z4VHIRpUQ9F8_HNrhINjAiJQ1kTpqJU,19105
114
- kailash/nexus/cli/__init__.py,sha256=XbGcZSytNg5lJCOZ981prJpzwTXYJcR6_d6Fw9cXUTo,106
115
- kailash/nexus/cli/__main__.py,sha256=GCIzeLFbdtBoRwfB1r0gxME078qd1e3IIFrGHHZQfAc,117
116
- kailash/nexus/cli/main.py,sha256=2GqJP5fvP8DgPaeWzOjAG9yS0CbDWhzEl_tI38jO3VQ,5550
117
- kailash/nodes/__init__.py,sha256=0uT1nGAIZNzk_tkQo1gmEEkroE8qiVWSjDv1hpoKqQA,1009
118
- kailash/nodes/base.py,sha256=LqxnXG1hl33GY4caZiOCshagq-FfHe_nDHVAww1Dkmg,57125
134
+ kailash/monitoring/__init__.py,sha256=C5WmkNpk_mmAScqMWiCfkUbjhM5W16dsnRnc3Ial-Uc,475
135
+ kailash/monitoring/alerts.py,sha256=eKX4ooPw1EicumPuswlR_nU18UgRETWvFg8FzCW5pVU,21416
136
+ kailash/monitoring/metrics.py,sha256=SiAnL3o6K0QaJHgfAuWBa-0pTkW5zymhuPEsj4bgOgM,22022
137
+ kailash/nodes/__init__.py,sha256=p2KSo0dyUBCLClU123qpQ0tyv5S_36PTxosNyW58nyY,1031
138
+ kailash/nodes/base.py,sha256=P_u7P4ZKWBG6hSFUYCUFLAhoh_gEri3HInYAbBMZgzA,78703
119
139
  kailash/nodes/base_async.py,sha256=whxepCiVplrltfzEQuabmnGCpEV5WgfqwgxbLdCyiDk,8864
120
140
  kailash/nodes/base_cycle_aware.py,sha256=Xpze9xZzLepWeLpi9Y3tMn1dm2LVv-omr5TSQuGTtWo,13377
121
141
  kailash/nodes/base_with_acl.py,sha256=ZfrkLPgrEBcNbG0LKvtq6glDxyOYOMRw3VXX4vWX6bI,11852
122
142
  kailash/nodes/mixins.py,sha256=ncAdNQPe1sphLByeerP6G_s8mjFLt7dM4baiozzIBPA,12083
143
+ kailash/nodes/ports.py,sha256=77z9YM5SdpeR2p6W8RVuqhswIl0iaWTlN1UijUlSSps,22241
123
144
  kailash/nodes/validation.py,sha256=tuBZRZkDiEdvfeU7JaRB7v2-j1vxPYMJ1gVaJ-PKHRk,12117
124
145
  kailash/nodes/admin/__init__.py,sha256=C9_pK2w0rH6JEV_-roypeasAIyIhEFKKnH-npGBeew0,1508
125
146
  kailash/nodes/admin/audit_log.py,sha256=hM9z4oc4FfW-WyQHEIfY-Fw27iz375SamQtQHOw6zNE,41090
@@ -131,16 +152,20 @@ kailash/nodes/admin/security_event.py,sha256=SSxVHhufMBnqZmAKKDQ3Z2OUpHjY7tB3sGf
131
152
  kailash/nodes/admin/tenant_isolation.py,sha256=AKEARuUQ9-cF3DAkYFgRhshWRcooFtfahTuWe4ja02M,8282
132
153
  kailash/nodes/admin/transaction_utils.py,sha256=IAAdIiQ5Q4kTT5ul4hv1iSfoXG3CeFAkYd2xs7zxrnk,7896
133
154
  kailash/nodes/admin/user_management.py,sha256=Al9mKgTx3ASDSefZaIcPxL4zSjASI3cGdZIs33uwpvg,54707
134
- kailash/nodes/ai/__init__.py,sha256=rslxIS8jlovshiNgWqVzQjD_kfT_3h3Ct03sk-iRe6U,2202
135
- kailash/nodes/ai/a2a.py,sha256=fDSnihMFQ6MuhKSzL9ueWGAQLrKZQRkq9HqArdotf_w,70048
155
+ kailash/nodes/ai/__init__.py,sha256=1mH94Ap5Zo0sUFNNZbMQf3h_KmyS2fquCTFMPvdJLoc,2725
156
+ kailash/nodes/ai/a2a.py,sha256=g3QIeCefWpcmQ3RpuoTAnCj9Q8145ieV3NyEfGsyOno,138552
157
+ kailash/nodes/ai/a2a_backup.py,sha256=fDSnihMFQ6MuhKSzL9ueWGAQLrKZQRkq9HqArdotf_w,70048
136
158
  kailash/nodes/ai/agents.py,sha256=CRA3cdapQjpuvOniXUh6ZVWAlRxUIepVw1BROW6QzdY,20373
137
159
  kailash/nodes/ai/ai_providers.py,sha256=egfiOZzPmZ10d3wBCJ6ST4tRFrrtq0kt1VyCqxVpxas,65390
138
160
  kailash/nodes/ai/embedding_generator.py,sha256=akGCzz7zLRSziqEQCiPwL2qWhRWxuM_1RQh-YtVEddw,31879
161
+ kailash/nodes/ai/hybrid_search.py,sha256=k26uDDP_bwrIpv7Yl7PBCPvWSyQEmTlBjI1IpbgDsO4,35446
139
162
  kailash/nodes/ai/intelligent_agent_orchestrator.py,sha256=LvBqMKc64zSxFWVCjbLKKel2QwEzoTeJAEgna7rZw00,83097
140
163
  kailash/nodes/ai/iterative_llm_agent.py,sha256=T_Rtmz6E5gB0HugT2Q8FHZE9Giqy5WiBB0UCJ4PflNw,93308
141
164
  kailash/nodes/ai/llm_agent.py,sha256=NeNJZbV_VOUbULug2LASwyzLyoUO5wi58Bc9sXTubuc,90181
142
165
  kailash/nodes/ai/models.py,sha256=wsEeUTuegy87mnLtKgSTg7ggCXvC1n3MsL-iZ4qujHs,16393
143
166
  kailash/nodes/ai/self_organizing.py,sha256=B7NwKaBW8OHQBf5b0F9bSs8Wm-5BDJ9IjIkxS9h00mg,62885
167
+ kailash/nodes/ai/semantic_memory.py,sha256=ZTXIgxwMheux712cN__cNrQ3VgHaKcDyfQv_Gto7MRM,18644
168
+ kailash/nodes/ai/streaming_analytics.py,sha256=1D9wBxsp0DEw9X184TSXSCR6zvsgX7WD5jajD_MKLXY,33159
144
169
  kailash/nodes/ai/vision_utils.py,sha256=OHD9cVH_mq0WpJyQkNTj_mpipIVWfSV_bF9eA6CdyeA,4166
145
170
  kailash/nodes/alerts/__init__.py,sha256=CY3agJ7VQ4yU68BhxMCaj18EGEaDecYfLxceHHP4o9c,782
146
171
  kailash/nodes/alerts/base.py,sha256=qFU3cBF7jJNjScA0BJv2mTYCUTNQjbr4wTDEEvIGvRE,7598
@@ -193,6 +218,21 @@ kailash/nodes/data/streaming.py,sha256=XnU7VHSamdDq-lPiG6cxS2fZO-pU5KLpmaO-zPkPD
193
218
  kailash/nodes/data/vector_db.py,sha256=pwCl-3tyk_Cv_VQ8GafgodJ1yM88W1BXCIcYC56XoqU,32056
194
219
  kailash/nodes/data/workflow_connection_pool.py,sha256=o-c-gu4HRtD0i7G6eCLZuOVB4CDJMOXFuL5CbXipZtk,40284
195
220
  kailash/nodes/data/writers.py,sha256=-RPLetKhKAPXOU6YPwMkVRXF8by6ROhgICm3aUnGcFs,17537
221
+ kailash/nodes/edge/__init__.py,sha256=YDlthSttnSVuo7-PONKevCts9nVxJad92SpR0gd8Zpg,1101
222
+ kailash/nodes/edge/base.py,sha256=qee2esfLqvlDbWQoRCcDdTJ0mVCxUYS-k8Brb1SoZeQ,8458
223
+ kailash/nodes/edge/cloud_node.py,sha256=SNphcE52EadWRRcwL7ITPv_WB8WGC6ImD2zA7lKhB64,25068
224
+ kailash/nodes/edge/coordination.py,sha256=UOA6lLO7XvIHv9g63i1p9aiBeofFbnyqfw14_I0LnPo,8499
225
+ kailash/nodes/edge/docker_node.py,sha256=_JfMLCts5E-xS7bNvmA4qrAagmGRf0X3k6NMst1PRxA,29202
226
+ kailash/nodes/edge/edge_data.py,sha256=u2MFAZBqmKUhl5zoaRDKMYMq5MDY3CnPz7xAUV_yhtQ,20907
227
+ kailash/nodes/edge/edge_migration_node.py,sha256=9hchsKIDN2elk2INogS_yiQUnxGnfqcjTFR2sd3t_S8,14240
228
+ kailash/nodes/edge/edge_monitoring_node.py,sha256=eXXI37ZHI2QPZamOXqni1n8GEc7JIA7cSEm107hGH0s,14464
229
+ kailash/nodes/edge/edge_state.py,sha256=pr8_CrWoEjlpS6TRqcCeWrFPmOR-SorBPyFbmlRO1l4,23137
230
+ kailash/nodes/edge/edge_warming_node.py,sha256=JtoMTquxn43Dz9d8Wc8vVX4skQ0RlHAMKkkSzsL94VA,13975
231
+ kailash/nodes/edge/kubernetes_node.py,sha256=lH90eKqmljK7j8_Z9Q9XINUTsA6Ea9emv9VgIFSShNM,23306
232
+ kailash/nodes/edge/platform_node.py,sha256=oaZOQ5VkO-f5FRECOO9yNYzFvf0-0F4f6B4hpCNHp-U,27692
233
+ kailash/nodes/edge/resource_analyzer_node.py,sha256=ML6shjgYv-WNRZSndKs771SapPTygCPti6h9p2qEPno,13113
234
+ kailash/nodes/edge/resource_optimizer_node.py,sha256=-r6SowQQ61SMYAK34Kv0rYtYf_etcGMEkKjAgtmwdks,18210
235
+ kailash/nodes/edge/resource_scaler_node.py,sha256=hK03H-N6PUWmDZNAzTJCAbaoKfM1NgnKLV88YOjA2oU,14168
196
236
  kailash/nodes/enterprise/__init__.py,sha256=uZzOfmGbD86cbCffWQl8MzofQNP9yfI3ctOIR9p5UOE,841
197
237
  kailash/nodes/enterprise/audit_logger.py,sha256=QpJMhK8KEm_u9Gnu0a58xxaqlhACQAauSGXE4ebvhMo,11043
198
238
  kailash/nodes/enterprise/batch_processor.py,sha256=1Dy09Ix3gSsVp2I6LKlk1URekxhBQYmeBOplnlCHmgU,28220
@@ -273,7 +313,7 @@ kailash/runtime/__init__.py,sha256=CvU-qBMESYYISqFOlYlLsYJrXJu0Gqr4x6yr4Ob_Rng,2
273
313
  kailash/runtime/access_controlled.py,sha256=HtNJZylaB-2FuPsfEOfQ-4ny4HzwJfHaHNMu2xS1Nzs,17324
274
314
  kailash/runtime/async_local.py,sha256=sYNggSU0R-oo8cCvU5ayodDBqASzUhxu994ZvZxDSC0,34010
275
315
  kailash/runtime/docker.py,sha256=sZknVl1PCGfAZeyc0-exTuKlllSyjYlFIgJoiB3CRNs,23500
276
- kailash/runtime/local.py,sha256=t1FUrvdeISFZVvhgmRW916YsMGcroxSr_MVR6szS_Iw,49613
316
+ kailash/runtime/local.py,sha256=u5b7aeSlGhCZRn1wEYvZ2zWHCxZp8UEGoQWeiHbHy1w,64630
277
317
  kailash/runtime/parallel.py,sha256=mz_wPD13-YVc3Q_8HkOs4nPQPdTjnjCcnRL7ZRM70lo,21070
278
318
  kailash/runtime/parallel_cyclic.py,sha256=yANZHnePjhCPuCFbq3lFQA1K6jbCv5Of5-vIKbCsmZk,19863
279
319
  kailash/runtime/parameter_injection.py,sha256=kG4GhmarsRr5t3VDFbc2G1HSbsZJg6UmienHCE2Ru7o,14852
@@ -281,6 +321,13 @@ kailash/runtime/parameter_injector.py,sha256=4l-OOKEBzM_cQ17Zz5o24QSV9a1Zqfu3D2q
281
321
  kailash/runtime/runner.py,sha256=t_SEumtVn9uXlSzJicb50MpUu6xdqjW0uZ5b2phjVPY,3318
282
322
  kailash/runtime/secret_provider.py,sha256=wKhasHnm_Ialo7Q4KGMcmI2qVyrKLuS22ypEnVv4NcU,8757
283
323
  kailash/runtime/testing.py,sha256=hTrgGnqxwSBYoztVqnZpxzFwm0DwUnaJdChRHikgoio,19089
324
+ kailash/runtime/validation/__init__.py,sha256=SN8cQud2KC7dd3Fp8pdwir7EqHuqUIrGAVtHMj3-Azg,657
325
+ kailash/runtime/validation/connection_context.py,sha256=NAvcyew8e6F0x_sORwszZ-SR3nn7y0Yzskv3X_3AjbU,3286
326
+ kailash/runtime/validation/enhanced_error_formatter.py,sha256=tFmKbJ9pTXQd28oM9bu01sfVVmT3QIDQK1nkQjMqHfk,7642
327
+ kailash/runtime/validation/error_categorizer.py,sha256=vcfs2K8ahT1uTPK2K23I7VbEEfKcjnpV64MfEwacwgc,5280
328
+ kailash/runtime/validation/metrics.py,sha256=PENlPlVhyOgouhJKtjrgDIB5Fruw0GLGZo1bat5pup4,13178
329
+ kailash/runtime/validation/performance.py,sha256=vMa2CkA2RLaJHy-jMIPZBileTehJoRJC_6rHFZv9WDc,21130
330
+ kailash/runtime/validation/suggestion_engine.py,sha256=UlluVqGns5ibwOvMWeXxhty0jLMSvxuAFJkyv4PcXRc,10724
284
331
  kailash/servers/__init__.py,sha256=-2nkB5pIkBjc-klGJcKCuzWRAl_G7hlepvyV_Es64DI,976
285
332
  kailash/servers/durable_workflow_server.py,sha256=lMnf-rTUKrjiS9NhNo3qx2lWYC0NR7EEF-4WBUPZ9zI,16588
286
333
  kailash/servers/enterprise_workflow_server.py,sha256=HxArcgu5fQwV2KxKkf1n0Yu75zXy_tS8oxd4-1DM5UY,19785
@@ -289,7 +336,7 @@ kailash/servers/workflow_server.py,sha256=nkx8qpZ4xJD767L3M2dTj68SXv8uLUNht6tZ0v
289
336
  kailash/testing/__init__.py,sha256=4cqLSbcFz9bDY09vuK5Vpg3UtoAAa93R5tc9zIUvGAE,796
290
337
  kailash/testing/async_test_case.py,sha256=3Pdi13zT-_LduJ5Tfe7yuhz8Qz7KQpcER6G2nMe-t5A,12815
291
338
  kailash/testing/async_utils.py,sha256=gSHcArDJf98mDi--NPFpCoGmAgKHDZ0__tyKAjDjpm0,10745
292
- kailash/testing/fixtures.py,sha256=AxWk-U8o6Fp6jbagR3Mbnb8T2ApDTci4lGzuNVlD1hE,14072
339
+ kailash/testing/fixtures.py,sha256=DWB5x402ZLoRB6Jwj2t6ysRSzvdNBNC2ZYNIPmxfOXE,14067
293
340
  kailash/testing/mock_registry.py,sha256=1KsIjZh7ig4dC9Xi_FcpyAruPrQP79a3_hCxWrcZ6Zk,18389
294
341
  kailash/tracking/__init__.py,sha256=nhyecV24JuB_D-veJ3qw7h4oO8Sbdmyb6RvPS6VQktU,305
295
342
  kailash/tracking/manager.py,sha256=OxDgvuObiLLcje7-DF5DRIqi8f5clzvrlean1RrL9KE,28006
@@ -317,7 +364,8 @@ kailash/visualization/reports.py,sha256=D7kJ0flHr16d-qSEq8vnw20N8u_dgTrXtKVSXVm8
317
364
  kailash/workflow/__init__.py,sha256=DDQDE9K6RmbX6479guNLLgjiVVV-gQERRvCEJWSVlsM,1836
318
365
  kailash/workflow/async_builder.py,sha256=iv8bDJHdWAUZ77SyMo6sucd92dTdtXesdxycrSE7mM4,20613
319
366
  kailash/workflow/async_patterns.py,sha256=X0ZDXwr6UAu0WC1xnCB7-0V1-tRbKs9UI4JqaBCB6tE,22824
320
- kailash/workflow/builder.py,sha256=Ux0TiXfnwRKVhmMEDBv8bE6cDoXSjs6-3fAH9BABBQE,34859
367
+ kailash/workflow/builder.py,sha256=HcYNe_ACNnlVkEY_DHLs1Ce0XNsRI3Oag6cVhvI5Cb8,43113
368
+ kailash/workflow/contracts.py,sha256=Uch-s2SC-NYrg0n2zgljgkyFHf4bufY4OydFuIfAk7E,13442
321
369
  kailash/workflow/convergence.py,sha256=vfIDR-uNaQE-LVUEzrRtfgKPgX9gL0nLNH-nTg5ra-c,10031
322
370
  kailash/workflow/cycle_analyzer.py,sha256=BGBpgdB-g0-KRI65sVAvHV4lxfoCzMt4uKOHbw8GXT4,32596
323
371
  kailash/workflow/cycle_builder.py,sha256=uWAx8K4ZKMtFC3mWylK4gHT03xeu0xChJlhw50hVqEE,20883
@@ -327,21 +375,23 @@ kailash/workflow/cycle_exceptions.py,sha256=4_OLnbEXqIiXKzOc3uh8DzFik4wEHwl8bRZh
327
375
  kailash/workflow/cycle_profiler.py,sha256=aEWSCm0Xy15SjgLTpPooVJMzpFhtJWt4livR-3Me4N8,28547
328
376
  kailash/workflow/cycle_state.py,sha256=hzRUvciRreWfS56Cf7ZLQPit_mlPTQDoNTawh8yi-2s,10747
329
377
  kailash/workflow/cyclic_runner.py,sha256=0IlmghTrwYb3ivqP975DprP3aj45-8_Sn5Wq9tEutG0,43888
378
+ kailash/workflow/edge_infrastructure.py,sha256=lQDzs0-KdoCMqI4KAXAGbhHbwadM6t-ffJEWLlRuSNo,12448
330
379
  kailash/workflow/graph.py,sha256=zRpGLXeuwtuxFBvE7_16c_bB9yqZirM_uwtfD1_MY4g,59272
331
380
  kailash/workflow/input_handling.py,sha256=HrW--AmelYC8F18nkfmYlF_wXycA24RuNbDRjvM8rqk,6561
332
381
  kailash/workflow/mermaid_visualizer.py,sha256=UsQDvxgIAhy-Th7ZzFnbuziaTx1Cd5yUh6S_25DffoQ,22294
333
- kailash/workflow/migration.py,sha256=zsmXgbUtOZdjoOx9YoEY0-x7uOY1T-_yQo4MnZjokCQ,31487
382
+ kailash/workflow/migration.py,sha256=6WIGP5Y9kGgb0_3nLXVo8TPtuzsk66eoTSalWt7st_0,31463
334
383
  kailash/workflow/mock_registry.py,sha256=J4gyH8YdhRyhvORDVxGTya0FgDK8iAA8Nonur6p9s-o,1692
335
384
  kailash/workflow/resilience.py,sha256=Ecef4gBg-QWP369a_xfzQnVWhHryvEcO2RSFVSriLJI,8569
336
385
  kailash/workflow/runner.py,sha256=l6jb-H7DwbRlvQ3H3SuTs70rut-u7H3Gi8nybKCEjZU,10795
337
386
  kailash/workflow/safety.py,sha256=pS5GKu7UdkzFZcb16Dn-0jBxjULDU-59_M0CbUVMVyw,11298
338
387
  kailash/workflow/state.py,sha256=UTZxs5-Ona6uvBhx1__i6-RX8gB4qazkBIWE7uyRmWQ,7600
339
388
  kailash/workflow/templates.py,sha256=98EN5H4fO9b4xeczk20Hu5L8hNcAuRQNGayT6vnZYCw,48540
389
+ kailash/workflow/type_inference.py,sha256=i1F7Yd_Z3elTXrthsLpqGbOnQBIVVVEjhRpI0HrIjd0,24492
340
390
  kailash/workflow/validation.py,sha256=rWZNJYA_XAfk_og6Cxz8p1gZ3j5CylPvMTDXg2SfjgM,38574
341
391
  kailash/workflow/visualization.py,sha256=nHBW-Ai8QBMZtn2Nf3EE1_aiMGi9S6Ui_BfpA5KbJPU,23187
342
- kailash-0.8.3.dist-info/licenses/LICENSE,sha256=Axe6g7bTrJkToK9h9j2SpRUKKNaDZDCo2lQ2zPxCE6s,1065
343
- kailash-0.8.3.dist-info/METADATA,sha256=ke3WhdN0tyrq6YneptdCJH7I7SBOu7djfwWhzVDrAqw,20263
344
- kailash-0.8.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
345
- kailash-0.8.3.dist-info/entry_points.txt,sha256=M_q3b8PG5W4XbhSgESzIJjh3_4OBKtZFYFsOdkr2vO4,45
346
- kailash-0.8.3.dist-info/top_level.txt,sha256=z7GzH2mxl66498pVf5HKwo5wwfPtt9Aq95uZUpH6JV0,8
347
- kailash-0.8.3.dist-info/RECORD,,
392
+ kailash-0.8.5.dist-info/licenses/LICENSE,sha256=Axe6g7bTrJkToK9h9j2SpRUKKNaDZDCo2lQ2zPxCE6s,1065
393
+ kailash-0.8.5.dist-info/METADATA,sha256=4bM4o5TuOPX2_y6_r0t_NkVo_eGf_V8gy6ANBejZ6Zk,21442
394
+ kailash-0.8.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
395
+ kailash-0.8.5.dist-info/entry_points.txt,sha256=M_q3b8PG5W4XbhSgESzIJjh3_4OBKtZFYFsOdkr2vO4,45
396
+ kailash-0.8.5.dist-info/top_level.txt,sha256=z7GzH2mxl66498pVf5HKwo5wwfPtt9Aq95uZUpH6JV0,8
397
+ kailash-0.8.5.dist-info/RECORD,,
kailash/nexus/__init__.py DELETED
@@ -1,21 +0,0 @@
1
- """Kailash Nexus - Multi-channel workflow orchestration framework."""
2
-
3
- from .factory import (
4
- create_api_nexus,
5
- create_cli_nexus,
6
- create_development_nexus,
7
- create_mcp_nexus,
8
- create_nexus,
9
- create_production_nexus,
10
- )
11
- from .gateway import NexusGateway
12
-
13
- __all__ = [
14
- "NexusGateway",
15
- "create_nexus",
16
- "create_api_nexus",
17
- "create_cli_nexus",
18
- "create_mcp_nexus",
19
- "create_development_nexus",
20
- "create_production_nexus",
21
- ]
@@ -1,5 +0,0 @@
1
- """Nexus CLI module for command-line workflow interaction."""
2
-
3
- from .main import main
4
-
5
- __all__ = ["main"]
@@ -1,6 +0,0 @@
1
- """Entry point for Nexus CLI when run as a module."""
2
-
3
- from .main import main
4
-
5
- if __name__ == "__main__":
6
- main()
kailash/nexus/cli/main.py DELETED
@@ -1,176 +0,0 @@
1
- """Main CLI interface for Nexus workflow orchestration.
2
-
3
- This module provides command-line access to Nexus workflows running on a server.
4
- It connects to a running Nexus instance and allows listing and executing workflows.
5
- """
6
-
7
- import argparse
8
- import json
9
- import sys
10
- from typing import Any, Dict, Optional
11
-
12
- import requests
13
-
14
-
15
- class NexusCLI:
16
- """Command-line interface for Nexus workflows."""
17
-
18
- def __init__(self, base_url: str = "http://localhost:8000"):
19
- """Initialize CLI with Nexus server URL.
20
-
21
- Args:
22
- base_url: Base URL of the Nexus server
23
- """
24
- self.base_url = base_url.rstrip("/")
25
-
26
- def list_workflows(self) -> None:
27
- """List all available workflows."""
28
- try:
29
- response = requests.get(f"{self.base_url}/workflows", timeout=5)
30
- response.raise_for_status()
31
-
32
- workflows = response.json()
33
-
34
- if not workflows:
35
- print("No workflows available.")
36
- return
37
-
38
- print("Available workflows:")
39
- for workflow_name in sorted(workflows.keys()):
40
- print(f" - {workflow_name}")
41
-
42
- except requests.RequestException as e:
43
- print(f"Error connecting to Nexus server: {e}", file=sys.stderr)
44
- sys.exit(1)
45
- except json.JSONDecodeError as e:
46
- print(f"Error parsing server response: {e}", file=sys.stderr)
47
- sys.exit(1)
48
-
49
- def run_workflow(
50
- self, workflow_name: str, parameters: Optional[Dict[str, Any]] = None
51
- ) -> None:
52
- """Execute a workflow with optional parameters.
53
-
54
- Args:
55
- workflow_name: Name of the workflow to execute
56
- parameters: Optional parameters for the workflow
57
- """
58
- try:
59
- payload = {"parameters": parameters or {}}
60
-
61
- response = requests.post(
62
- f"{self.base_url}/workflows/{workflow_name}", json=payload, timeout=30
63
- )
64
- response.raise_for_status()
65
-
66
- result = response.json()
67
-
68
- # Handle enterprise workflow execution format
69
- if "outputs" in result:
70
- # Extract results from each node
71
- for node_name, node_result in result["outputs"].items():
72
- if "result" in node_result:
73
- node_output = node_result["result"]
74
- # Print meaningful output
75
- for key, value in node_output.items():
76
- print(f"{key}: {value}")
77
- else:
78
- # Handle direct result format
79
- print(json.dumps(result, indent=2))
80
-
81
- except requests.RequestException as e:
82
- print(f"Error executing workflow: {e}", file=sys.stderr)
83
- sys.exit(1)
84
- except json.JSONDecodeError as e:
85
- print(f"Error parsing execution result: {e}", file=sys.stderr)
86
- sys.exit(1)
87
-
88
- def parse_parameters(self, param_strings: list) -> Dict[str, Any]:
89
- """Parse parameter strings in key=value format.
90
-
91
- Args:
92
- param_strings: List of parameter strings in "key=value" format
93
-
94
- Returns:
95
- Dictionary of parsed parameters
96
- """
97
- parameters = {}
98
-
99
- for param_str in param_strings:
100
- if "=" not in param_str:
101
- print(
102
- f"Invalid parameter format: {param_str}. Use key=value format.",
103
- file=sys.stderr,
104
- )
105
- sys.exit(1)
106
-
107
- key, value = param_str.split("=", 1)
108
-
109
- # Try to parse as JSON for complex values, otherwise use as string
110
- try:
111
- parameters[key] = json.loads(value)
112
- except json.JSONDecodeError:
113
- parameters[key] = value
114
-
115
- return parameters
116
-
117
-
118
- def main():
119
- """Main CLI entry point."""
120
- parser = argparse.ArgumentParser(
121
- description="Nexus CLI - Command-line interface for workflow orchestration",
122
- formatter_class=argparse.RawDescriptionHelpFormatter,
123
- epilog="""
124
- Examples:
125
- python -m kailash.nexus.cli list
126
- python -m kailash.nexus.cli run my-workflow
127
- python -m kailash.nexus.cli run my-workflow --param name=value --param count=5
128
-
129
- # Connect to different server:
130
- python -m kailash.nexus.cli --url http://localhost:8001 list
131
- """,
132
- )
133
-
134
- parser.add_argument(
135
- "--url",
136
- default="http://localhost:8000",
137
- help="Base URL of the Nexus server (default: http://localhost:8000)",
138
- )
139
-
140
- subparsers = parser.add_subparsers(dest="command", help="Available commands")
141
-
142
- # List command
143
- list_parser = subparsers.add_parser("list", help="List available workflows")
144
-
145
- # Run command
146
- run_parser = subparsers.add_parser("run", help="Execute a workflow")
147
- run_parser.add_argument("workflow", help="Name of the workflow to execute")
148
- run_parser.add_argument(
149
- "--param",
150
- action="append",
151
- default=[],
152
- help="Workflow parameters in key=value format (can be used multiple times)",
153
- )
154
-
155
- args = parser.parse_args()
156
-
157
- if not args.command:
158
- parser.print_help()
159
- sys.exit(1)
160
-
161
- # Initialize CLI client
162
- cli = NexusCLI(base_url=args.url)
163
-
164
- # Execute command
165
- if args.command == "list":
166
- cli.list_workflows()
167
- elif args.command == "run":
168
- parameters = cli.parse_parameters(args.param)
169
- cli.run_workflow(args.workflow, parameters)
170
- else:
171
- parser.print_help()
172
- sys.exit(1)
173
-
174
-
175
- if __name__ == "__main__":
176
- main()