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.
- kailash/__init__.py +1 -7
- kailash/cli/__init__.py +11 -1
- kailash/cli/validation_audit.py +570 -0
- kailash/core/actors/supervisor.py +1 -1
- kailash/core/resilience/circuit_breaker.py +71 -1
- kailash/core/resilience/health_monitor.py +172 -0
- kailash/edge/compliance.py +33 -0
- kailash/edge/consistency.py +609 -0
- kailash/edge/coordination/__init__.py +30 -0
- kailash/edge/coordination/global_ordering.py +355 -0
- kailash/edge/coordination/leader_election.py +217 -0
- kailash/edge/coordination/partition_detector.py +296 -0
- kailash/edge/coordination/raft.py +485 -0
- kailash/edge/discovery.py +63 -1
- kailash/edge/migration/__init__.py +19 -0
- kailash/edge/migration/edge_migrator.py +832 -0
- kailash/edge/monitoring/__init__.py +21 -0
- kailash/edge/monitoring/edge_monitor.py +736 -0
- kailash/edge/prediction/__init__.py +10 -0
- kailash/edge/prediction/predictive_warmer.py +591 -0
- kailash/edge/resource/__init__.py +102 -0
- kailash/edge/resource/cloud_integration.py +796 -0
- kailash/edge/resource/cost_optimizer.py +949 -0
- kailash/edge/resource/docker_integration.py +919 -0
- kailash/edge/resource/kubernetes_integration.py +893 -0
- kailash/edge/resource/platform_integration.py +913 -0
- kailash/edge/resource/predictive_scaler.py +959 -0
- kailash/edge/resource/resource_analyzer.py +824 -0
- kailash/edge/resource/resource_pools.py +610 -0
- kailash/integrations/dataflow_edge.py +261 -0
- kailash/mcp_server/registry_integration.py +1 -1
- kailash/monitoring/__init__.py +18 -0
- kailash/monitoring/alerts.py +646 -0
- kailash/monitoring/metrics.py +677 -0
- kailash/nodes/__init__.py +2 -0
- kailash/nodes/ai/__init__.py +17 -0
- kailash/nodes/ai/a2a.py +1914 -43
- kailash/nodes/ai/a2a_backup.py +1807 -0
- kailash/nodes/ai/hybrid_search.py +972 -0
- kailash/nodes/ai/semantic_memory.py +558 -0
- kailash/nodes/ai/streaming_analytics.py +947 -0
- kailash/nodes/base.py +545 -0
- kailash/nodes/edge/__init__.py +36 -0
- kailash/nodes/edge/base.py +240 -0
- kailash/nodes/edge/cloud_node.py +710 -0
- kailash/nodes/edge/coordination.py +239 -0
- kailash/nodes/edge/docker_node.py +825 -0
- kailash/nodes/edge/edge_data.py +582 -0
- kailash/nodes/edge/edge_migration_node.py +392 -0
- kailash/nodes/edge/edge_monitoring_node.py +421 -0
- kailash/nodes/edge/edge_state.py +673 -0
- kailash/nodes/edge/edge_warming_node.py +393 -0
- kailash/nodes/edge/kubernetes_node.py +652 -0
- kailash/nodes/edge/platform_node.py +766 -0
- kailash/nodes/edge/resource_analyzer_node.py +378 -0
- kailash/nodes/edge/resource_optimizer_node.py +501 -0
- kailash/nodes/edge/resource_scaler_node.py +397 -0
- kailash/nodes/ports.py +676 -0
- kailash/runtime/local.py +344 -1
- kailash/runtime/validation/__init__.py +20 -0
- kailash/runtime/validation/connection_context.py +119 -0
- kailash/runtime/validation/enhanced_error_formatter.py +202 -0
- kailash/runtime/validation/error_categorizer.py +164 -0
- kailash/runtime/validation/metrics.py +380 -0
- kailash/runtime/validation/performance.py +615 -0
- kailash/runtime/validation/suggestion_engine.py +212 -0
- kailash/testing/fixtures.py +2 -2
- kailash/workflow/builder.py +234 -8
- kailash/workflow/contracts.py +418 -0
- kailash/workflow/edge_infrastructure.py +369 -0
- kailash/workflow/migration.py +3 -3
- kailash/workflow/type_inference.py +669 -0
- {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/METADATA +44 -27
- {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/RECORD +78 -28
- kailash/nexus/__init__.py +0 -21
- kailash/nexus/cli/__init__.py +0 -5
- kailash/nexus/cli/__main__.py +0 -6
- kailash/nexus/cli/main.py +0 -176
- kailash/nexus/factory.py +0 -413
- kailash/nexus/gateway.py +0 -545
- {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/WHEEL +0 -0
- {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/entry_points.txt +0 -0
- {kailash-0.8.3.dist-info → kailash-0.8.5.dist-info}/licenses/LICENSE +0 -0
- {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
|
+
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.
|
119
|
+
## 🔥 Latest Release: v0.8.4 (January 19, 2025)
|
119
120
|
|
120
|
-
**
|
121
|
+
**A2A Google Protocol Enhancement**
|
121
122
|
|
122
|
-
-
|
123
|
-
-
|
124
|
-
-
|
125
|
-
-
|
126
|
-
-
|
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](
|
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
|
-
- **
|
150
|
-
- **
|
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
|
-
###
|
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
|
258
|
+
# Build A2A coordination workflow
|
255
259
|
workflow = WorkflowBuilder()
|
256
|
-
workflow.add_node("
|
257
|
-
"
|
258
|
-
"
|
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("
|
261
|
-
"
|
262
|
-
"
|
263
|
-
"
|
269
|
+
workflow.add_node("SemanticMemoryNode", "memory", {
|
270
|
+
"embedding_provider": "openai",
|
271
|
+
"memory_type": "long_term",
|
272
|
+
"context_window": 8192
|
264
273
|
})
|
265
274
|
|
266
|
-
#
|
267
|
-
|
268
|
-
|
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=
|
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=
|
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=
|
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=
|
45
|
-
kailash/core/resilience/health_monitor.py,sha256=
|
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=
|
50
|
-
kailash/edge/
|
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=
|
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/
|
112
|
-
kailash/
|
113
|
-
kailash/
|
114
|
-
kailash/
|
115
|
-
kailash/
|
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=
|
135
|
-
kailash/nodes/ai/a2a.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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.
|
343
|
-
kailash-0.8.
|
344
|
-
kailash-0.8.
|
345
|
-
kailash-0.8.
|
346
|
-
kailash-0.8.
|
347
|
-
kailash-0.8.
|
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
|
-
]
|
kailash/nexus/cli/__init__.py
DELETED
kailash/nexus/cli/__main__.py
DELETED
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()
|